1. 01 4月, 2013 3 次提交
    • G
      Exynos: Tidy up the pwm_config function in the exynos pwm driver · 92809eee
      Gabe Black 提交于
      Some small fixes in the exynos pwm driver:
      
      1. NS_IN_HZ is non-sensical since these are not compatible units. This
      constant actually describes the number of nanoseconds in a second. Renamed it
      to NS_IN_SEC. Also dropped the unnecessary parenthesis.
      2. The variable "period" is not used to hold a period, it's used to hold a
      frequency. Renamed it to "frequency".
      3. tcmp is an unsigned value, so (tcmp < 0) will never be true and the if
      which checks that condition will never execute. Also, there should be no
      problem if the pwm never switches, so there's no reason to subtract one from
      tcmp and therefore no reason to compare it against zero. Removed both ifs. If
      they weren't removed, tcmp should be a signed value.
      4. Add a check for a 0 period.
      
      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: NGabe Black <gabeblack@google.com>
      Signed-off-by: NAkshay Saraswat <akshay.s@samsung.com>
      Acked-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NMinkyu Kang <mk7.kang@samsung.com>
      92809eee
    • G
      Exynos: pwm: Fix two bugs in the exynos pwm configuration code · c059f274
      Gabe Black 提交于
      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: NGabe Black <gabeblack@google.com>
      Signed-off-by: NAkshay Saraswat <akshay.s@samsung.com>
      Acked-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NMinkyu Kang <mk7.kang@samsung.com>
      c059f274
    • S
      Exynos: Change get_timer() to work correctly · 3d00c0cb
      Simon Glass 提交于
      At present get_timer() does not return sane values. It should count up
      smoothly in milliscond intervals.
      
      We can change the PWM to count down at 1MHz, providing a resolution
      of 1us and a range of about an hour between required get_timer() calls.
      
      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
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NAkshay Saraswat <akshay.s@samsung.com>
      Acked-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NMinkyu Kang <mk7.kang@samsung.com>
      3d00c0cb
  2. 01 9月, 2012 1 次提交
  3. 17 11月, 2011 1 次提交
  4. 28 3月, 2011 1 次提交