From: Minkyu Kang <mk7.kang@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 9/9 v2] Exynos: pwm: Use generic api to get pwm clk freq
Date: Thu, 28 Mar 2013 14:52:50 +0900 [thread overview]
Message-ID: <5153DAB2.9060400@samsung.com> (raw)
In-Reply-To: <1362049164-10297-10-git-send-email-akshay.s@samsung.com>
On 28/02/13 19:59, Akshay Saraswat wrote:
> Use generic api to get the pwm clock frequency
>
> 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: Padmavathi Venna <padma.v@samsung.com>
> Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
> ---
> Changes since v1:
> - Restored get_pwm_clk call in case of non-exynos5 cpu.
>
> arch/arm/cpu/armv7/s5p-common/pwm.c | 17 ++++++++++++++---
> 1 file changed, 14 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..f5e9a95 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,10 @@ 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();
> + if (cpu_is_exynos5())
> + tin_parent_rate = clock_get_periph_rate(PERIPH_ID_PWM0);
> + else
> + tin_parent_rate = get_pwm_clk();
>
> for (div = 2; div <= 16; div *= 2) {
> if ((tin_parent_rate / (div << 16)) < freq)
> @@ -165,8 +169,15 @@ 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;
> +
> + if (cpu_is_exynos5()) {
> + timer_rate_hz = clock_get_periph_rate(PERIPH_ID_PWM0)
> + / ((prescaler + 1) * (1 << div));
> + } else {
> + timer_rate_hz = get_pwm_clk() /
> + ((prescaler + 1) * (1 << div));
> + }
>
> ticks_per_period = timer_rate_hz / pwm_hz;
> }
>
How about this?
diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c
index 956427c..a6051b0 100644
--- a/arch/arm/cpu/armv7/exynos/clock.c
+++ b/arch/arm/cpu/armv7/exynos/clock.c
@@ -1210,7 +1210,7 @@ unsigned long get_i2c_clk(void)
unsigned long get_pwm_clk(void)
{
if (cpu_is_exynos5())
- return exynos5_get_pwm_clk();
+ return clock_get_periph_rate(PERIPH_ID_PWM0);
else {
if (proid_is_exynos4412())
return exynos4x12_get_pwm_clk();
When we implement generic clock function for exynos4 then,
we can use clock_get_periph_rate instead of get_pwm_clk.
Thanks,
Minkyu Kang.
prev parent reply other threads:[~2013-03-28 5:52 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5153DAB2.9060400@samsung.com \
--to=mk7.kang@samsung.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.