• Sandipan Patra's avatar
    pwm: tegra: Support dynamic clock frequency configuration · 1d7796bd
    Sandipan Patra authored
    Added support for dynamic clock freq configuration in PWM kernel driver.
    Earlier the PWM driver used to cache boot time clock rate by PWM clock
    parent during probe. Hence dynamically changing PWM frequency was not
    possible for all the possible ranges. With this change, dynamic
    calculation is enabled and it is able to set the requested period from
    sysfs knob provided the value is supported by clock source.
    
    Changes mainly have 2 parts:
      - Tegra186 and later chips [1]
      - Tegra210 and prior chips [2]
    
    For [1] - Changes implemented to set pwm period dynamically and also
              checks added to allow only if requested period(ns) is below or
              equals to higher range.
    
    For [2] - Only checks if the requested period(ns) is below or equals to
              higher range defined by max clock limit. The limitation in
              Tegra210 or prior chips are due to the reason of having only
              one PWM controller supporting multiple channels. But later
              chips have multiple PWM controller instances each having
              single channel support.
    Signed-off-by: default avatarSandipan Patra <spatra@nvidia.com>
    Reviewed-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
    1d7796bd
pwm-tegra.c 9.87 KB