Skip to content
  • Alper Nebi Yasak's avatar
    pwm: Add a driver for Chrome OS EC PWM · 1b9ee288
    Alper Nebi Yasak authored and Anatolij Gustschin's avatar Anatolij Gustschin committed
    
    
    This PWM is used in rk3399-gru-bob and rk3399-gru-kevin to control
    the display brightness. We can only change the duty cycle, so on
    set_config() we just try to match the duty cycle that dividing duty_ns
    by period_ns gives us. To disable, we set the duty cycle to zero while
    keeping the old value for when we want to re-enable it.
    
    The cros_ec_set_pwm_duty() function is taken from Depthcharge's
    cros_ec_set_bl_pwm_duty() but modified to use the generic pwm type.
    The driver itself is very loosely based on rk_pwm.c for the general pwm
    driver structure.
    
    The devicetree binding file is from Linux, before it was converted to
    YAML at 5df5a577a6b4 ("dt-bindings: pwm: Convert google,cros-ec-pwm.txt
    to YAML format") in their repo.
    
    Signed-off-by: default avatarAlper Nebi Yasak <alpernebiyasak@gmail.com>
    Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    1b9ee288