[U-Boot] [PATCH 9/9] Exynos: pwm: Use generic api to get pwm clk freq

2013-02-27 Thread Akshay Saraswat
Use generic api to get the pwm clock frequency

TEST=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: Padmavathi Venna padm...@samsung.com
Signed-off-by: Akshay Saraswat aksha...@samsung.com
---
 arch/arm/cpu/armv7/s5p-common/pwm.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/cpu/armv7/s5p-common/pwm.c 
b/arch/arm/cpu/armv7/s5p-common/pwm.c
index 6f401b8..06e0351 100644
--- a/arch/arm/cpu/armv7/s5p-common/pwm.c
+++ b/arch/arm/cpu/armv7/s5p-common/pwm.c
@@ -28,6 +28,7 @@
 #include asm/io.h
 #include asm/arch/pwm.h
 #include asm/arch/clk.h
+#include asm/arch/periph.h
 
 int pwm_enable(int pwm_id)
 {
@@ -60,7 +61,7 @@ static unsigned long pwm_calc_tin(int pwm_id, unsigned long 
freq)
unsigned long tin_parent_rate;
unsigned int div;
 
-   tin_parent_rate = get_pwm_clk();
+   tin_parent_rate = clock_get_periph_rate(PERIPH_ID_PWM0);
 
for (div = 2; div = 16; div *= 2) {
if ((tin_parent_rate / (div  16))  freq)
@@ -165,8 +166,8 @@ int pwm_init(int pwm_id, int div, int invert)
ticks_per_period = -1UL;
} else {
const unsigned long pwm_hz = 1000;
-   unsigned long timer_rate_hz = get_pwm_clk() /
-   ((prescaler + 1) * (1  div));
+   unsigned long timer_rate_hz = clock_get_periph_rate(
+   PERIPH_ID_PWM0) / ((prescaler + 1) * (1  div));
 
ticks_per_period = timer_rate_hz / pwm_hz;
}
-- 
1.8.0

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 9/9] Exynos: pwm: Use generic api to get pwm clk freq

2013-02-27 Thread Simon Glass
On Wed, Feb 27, 2013 at 2:02 AM, Akshay Saraswat aksha...@samsung.com wrote:
 Use generic api to get the pwm clock frequency

 TEST=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: Padmavathi Venna padm...@samsung.com
 Signed-off-by: Akshay Saraswat aksha...@samsung.com

Acked-by: Simon Glass s...@chromium.org

 ---
  arch/arm/cpu/armv7/s5p-common/pwm.c | 7 ---
  1 file changed, 4 insertions(+), 3 deletions(-)

 diff --git a/arch/arm/cpu/armv7/s5p-common/pwm.c 
 b/arch/arm/cpu/armv7/s5p-common/pwm.c
 index 6f401b8..06e0351 100644
 --- a/arch/arm/cpu/armv7/s5p-common/pwm.c
 +++ b/arch/arm/cpu/armv7/s5p-common/pwm.c
 @@ -28,6 +28,7 @@
  #include asm/io.h
  #include asm/arch/pwm.h
  #include asm/arch/clk.h
 +#include asm/arch/periph.h

  int pwm_enable(int pwm_id)
  {
 @@ -60,7 +61,7 @@ static unsigned long pwm_calc_tin(int pwm_id, unsigned long 
 freq)
 unsigned long tin_parent_rate;
 unsigned int div;

 -   tin_parent_rate = get_pwm_clk();
 +   tin_parent_rate = clock_get_periph_rate(PERIPH_ID_PWM0);

 for (div = 2; div = 16; div *= 2) {
 if ((tin_parent_rate / (div  16))  freq)
 @@ -165,8 +166,8 @@ int pwm_init(int pwm_id, int div, int invert)
 ticks_per_period = -1UL;
 } else {
 const unsigned long pwm_hz = 1000;
 -   unsigned long timer_rate_hz = get_pwm_clk() /
 -   ((prescaler + 1) * (1  div));
 +   unsigned long timer_rate_hz = clock_get_periph_rate(
 +   PERIPH_ID_PWM0) / ((prescaler + 1) * (1  div));

 ticks_per_period = timer_rate_hz / pwm_hz;
 }
 --
 1.8.0

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 9/9] Exynos: pwm: Use generic api to get pwm clk freq

2013-02-27 Thread Rajeshwari Birje
Hi Akshay

On Wed, Feb 27, 2013 at 3:32 PM, Akshay Saraswat aksha...@samsung.com wrote:
 Use generic api to get the pwm clock frequency

 TEST=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: Padmavathi Venna padm...@samsung.com
 Signed-off-by: Akshay Saraswat aksha...@samsung.com
 ---
  arch/arm/cpu/armv7/s5p-common/pwm.c | 7 ---
  1 file changed, 4 insertions(+), 3 deletions(-)

 diff --git a/arch/arm/cpu/armv7/s5p-common/pwm.c 
 b/arch/arm/cpu/armv7/s5p-common/pwm.c
 index 6f401b8..06e0351 100644
 --- a/arch/arm/cpu/armv7/s5p-common/pwm.c
 +++ b/arch/arm/cpu/armv7/s5p-common/pwm.c
 @@ -28,6 +28,7 @@
  #include asm/io.h
  #include asm/arch/pwm.h
  #include asm/arch/clk.h
 +#include asm/arch/periph.h

  int pwm_enable(int pwm_id)
  {
 @@ -60,7 +61,7 @@ static unsigned long pwm_calc_tin(int pwm_id, unsigned long 
 freq)
 unsigned long tin_parent_rate;
 unsigned int div;

 -   tin_parent_rate = get_pwm_clk();
 +   tin_parent_rate = clock_get_periph_rate(PERIPH_ID_PWM0);
Kindly check if it works for other S5P soc as  clock_get_periph_rate
is only defined for EXYNOS5.

 for (div = 2; div = 16; div *= 2) {
 if ((tin_parent_rate / (div  16))  freq)
 @@ -165,8 +166,8 @@ int pwm_init(int pwm_id, int div, int invert)
 ticks_per_period = -1UL;
 } else {
 const unsigned long pwm_hz = 1000;
 -   unsigned long timer_rate_hz = get_pwm_clk() /
 -   ((prescaler + 1) * (1  div));
 +   unsigned long timer_rate_hz = clock_get_periph_rate(
 +   PERIPH_ID_PWM0) / ((prescaler + 1) * (1  div));

 ticks_per_period = timer_rate_hz / pwm_hz;
 }
 --
 1.8.0

 ___
 U-Boot mailing list
 U-Boot@lists.denx.de
 http://lists.denx.de/mailman/listinfo/u-boot



-- 
Regards,
Rajeshwari Shinde
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot