Skip to content
Snippets Groups Projects
  • Gabe Black's avatar
    c059f274
    Exynos: pwm: Fix two bugs in the exynos pwm configuration code · c059f274
    Gabe Black authored
    
    First, the "div" value was being used incorrectly to compute the frequency of
    the PWM timer. The value passed in is a constant which reflects the value
    that would be found in a configuration register, 0 to 4. That should
    correspond to a scaling factor of 1, 2, 4, 8, or 16, 1 << div, but div + 1 was
    being used instead.
    
    Second, the reset value of the timers were being calculated to give an overall
    frequency, thrown out, and set to a maximum value. This was done so that PWM 4
    could be used as the system clock by counting down from a high value, but it
    was applied indiscriminantly. It should at most be applied only to PWM 4.
    
    This change also takes the opportunity to tidy up the pwm_init function.
    
    Test with command "sf probe 1:0; time sf read 40008000 0 1000".
    Try with different numbers of bytes and see that sane values are obtained
    Build and boot U-boot with this patch, backlight works properly.
    
    Signed-off-by: default avatarGabe Black <gabeblack@google.com>
    Signed-off-by: default avatarAkshay Saraswat <akshay.s@samsung.com>
    Acked-by: default avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarMinkyu Kang <mk7.kang@samsung.com>
    c059f274
    History
    Exynos: pwm: Fix two bugs in the exynos pwm configuration code
    Gabe Black authored
    
    First, the "div" value was being used incorrectly to compute the frequency of
    the PWM timer. The value passed in is a constant which reflects the value
    that would be found in a configuration register, 0 to 4. That should
    correspond to a scaling factor of 1, 2, 4, 8, or 16, 1 << div, but div + 1 was
    being used instead.
    
    Second, the reset value of the timers were being calculated to give an overall
    frequency, thrown out, and set to a maximum value. This was done so that PWM 4
    could be used as the system clock by counting down from a high value, but it
    was applied indiscriminantly. It should at most be applied only to PWM 4.
    
    This change also takes the opportunity to tidy up the pwm_init function.
    
    Test with command "sf probe 1:0; time sf read 40008000 0 1000".
    Try with different numbers of bytes and see that sane values are obtained
    Build and boot U-boot with this patch, backlight works properly.
    
    Signed-off-by: default avatarGabe Black <gabeblack@google.com>
    Signed-off-by: default avatarAkshay Saraswat <akshay.s@samsung.com>
    Acked-by: default avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarMinkyu Kang <mk7.kang@samsung.com>