public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/9 v2] Fix and Re-organise PWM Timer
@ 2013-02-28 10:59 Akshay Saraswat
  2013-02-28 10:59 ` [U-Boot] [PATCH 1/9 v2] Exynos: Change get_timer() to work correctly Akshay Saraswat
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: Akshay Saraswat @ 2013-02-28 10:59 UTC (permalink / raw)
  To: u-boot

This patch set tries to fix few bugs in timer and re-organises PWM
clock code.

Changes since v1:
        - Patch-1: Added "Acked-by: Simon Glass".
        - Patch-2: Added "Acked-by: Simon Glass".
        - Patch-3: Added "Acked-by: Simon Glass".
        - Patch-4: Added "Acked-by: Simon Glass".
        - Patch-5: Added "Acked-by: Simon Glass".
        - Patch-6: None.
        - Patch-7: Fixed few nits.
        - Patch-8: Added "Acked-by: Simon Glass".
	- Patch-9: Restored get_pwm_clk call in case of non-exynos5 cpu.

Akshay Saraswat (9):
  Exynos: Change get_timer() to work correctly
  Exynos: Add timer_get_us function
  Exynos: pwm: Fix two bugs in the exynos pwm configuration code
  Exynos: Avoid a divide by zero by specifying a non-zero period for
    pwm 4
  Exynos: Tidy up the pwm_config function in the exynos pwm driver
  Exynos: Add peripherial id for pwm
  Exynos: clock: Add generic api to get the clk freq
  Exynos: clock: Correct pwm source clk selection
  Exynos: pwm: Use generic api to get pwm clk freq

 arch/arm/cpu/armv7/exynos/clock.c         | 138 ++++++++++++++++++++++++++++++
 arch/arm/cpu/armv7/s5p-common/pwm.c       |  57 +++++++-----
 arch/arm/cpu/armv7/s5p-common/timer.c     | 117 ++++++++++++-------------
 arch/arm/include/asm/arch-exynos/clk.h    |  17 ++++
 arch/arm/include/asm/arch-exynos/periph.h |   5 ++
 board/samsung/smdk5250/setup.h            |   2 +-
 6 files changed, 249 insertions(+), 87 deletions(-)

-- 
1.8.0

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 4/9 v2] Exynos: Avoid a divide by zero by specifying a non-zero period for pwm 4
@ 2013-03-28 14:29 Akshay Saraswat
  0 siblings, 0 replies; 18+ messages in thread
From: Akshay Saraswat @ 2013-03-28 14:29 UTC (permalink / raw)
  To: u-boot

Minkyu,

Thanks for comments.
Please find my reply below the comment.

>On 28/02/13 19:59, Akshay Saraswat wrote:
>> The pwm_config function in the exynos pwm driver divides by its period
>> period parameter. A function was calling pwm_config with a 0ns period and a
>> 0ns duty cycle. That doesn't actually make any sense physically, and results
>> in a divide by zero in the driver. This change changes the paremters to be a
>
>typo.
>paremters -> parameter
>
>> 100000ns period and duty cycle.
>> 
>> 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: Gabe Black <gabeblack@google.com>
>> Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
>> Acked-by: Simon Glass <sjg@chromium.org>
>> ---
>> Changes since v1:
>>         - Added "Acked-by: Simon Glass".
>> 
>>  arch/arm/cpu/armv7/s5p-common/timer.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/arch/arm/cpu/armv7/s5p-common/timer.c b/arch/arm/cpu/armv7/s5p-common/timer.c
>> index de61405..6a0fa58 100644
>> --- a/arch/arm/cpu/armv7/s5p-common/timer.c
>> +++ b/arch/arm/cpu/armv7/s5p-common/timer.c
>> @@ -58,7 +58,7 @@ int timer_init(void)
>>  {
>>  	/* PWM Timer 4 */
>>  	pwm_init(4, MUX_DIV_4, 0);
>> -	pwm_config(4, 0, 0);
>> +	pwm_config(4, 100000, 100000);
>
>0 is a numerator.
>I think.. it doesn't matter.

In file pwm.c line 98 we are doing:
 frequency = NS_IN_SEC / period_ns;

what we are passing in this call are the values of duty_ns and period_ns.
So, there are places where divide by zero may occur.
I think we should keep it to be on a safer side.

>
>>  	pwm_enable(4);
>>  
>>  	/* Use this as the current monotonic time in us */
>> 
>
>Thanks,
>Minkyu Kang.
>

Regards,
Akshay Saraswat

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2013-03-28 14:29 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-28 10:59 [U-Boot] [PATCH 0/9 v2] Fix and Re-organise PWM Timer Akshay Saraswat
2013-02-28 10:59 ` [U-Boot] [PATCH 1/9 v2] Exynos: Change get_timer() to work correctly Akshay Saraswat
2013-03-28  5:52   ` Minkyu Kang
2013-02-28 10:59 ` [U-Boot] [PATCH 2/9 v2] Exynos: Add timer_get_us function Akshay Saraswat
2013-02-28 10:59 ` [U-Boot] [PATCH 3/9 v2] Exynos: pwm: Fix two bugs in the exynos pwm configuration code Akshay Saraswat
2013-03-28  5:53   ` Minkyu Kang
2013-02-28 10:59 ` [U-Boot] [PATCH 4/9 v2] Exynos: Avoid a divide by zero by specifying a non-zero period for pwm 4 Akshay Saraswat
2013-03-28  5:53   ` Minkyu Kang
2013-02-28 10:59 ` [U-Boot] [PATCH 5/9 v2] Exynos: Tidy up the pwm_config function in the exynos pwm driver Akshay Saraswat
2013-02-28 10:59 ` [U-Boot] [PATCH 6/9 v2] Exynos: Add peripherial id for pwm Akshay Saraswat
2013-02-28 10:59 ` [U-Boot] [PATCH 7/9 v2] Exynos: clock: Add generic api to get the clk freq Akshay Saraswat
2013-02-28 13:37   ` Simon Glass
2013-03-28  5:52   ` Minkyu Kang
2013-02-28 10:59 ` [U-Boot] [PATCH 8/9 v2] Exynos: clock: Correct pwm source clk selection Akshay Saraswat
2013-02-28 10:59 ` [U-Boot] [PATCH 9/9 v2] Exynos: pwm: Use generic api to get pwm clk freq Akshay Saraswat
2013-02-28 13:40   ` Simon Glass
2013-03-28  5:52   ` Minkyu Kang
  -- strict thread matches above, loose matches on Subject: below --
2013-03-28 14:29 [U-Boot] [PATCH 4/9 v2] Exynos: Avoid a divide by zero by specifying a non-zero period for pwm 4 Akshay Saraswat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox