From patchwork Thu Mar 28 05:52:50 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Minkyu Kang X-Patchwork-Id: 231907 X-Patchwork-Delegate: promsoft@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id BE1CD2C00B1 for ; Thu, 28 Mar 2013 16:53:21 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id E18864A098; Thu, 28 Mar 2013 06:53:15 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wi1NkMOfgGEY; Thu, 28 Mar 2013 06:53:15 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 7A7144A0F1; Thu, 28 Mar 2013 06:53:05 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 642ED4A097 for ; Thu, 28 Mar 2013 06:53:02 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6vOHOFvudxsu for ; Thu, 28 Mar 2013 06:52:59 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by theia.denx.de (Postfix) with ESMTP id 8CF764A096 for ; Thu, 28 Mar 2013 06:52:49 +0100 (CET) Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MKC005XZWBYLRP0@mailout4.samsung.com> for u-boot@lists.denx.de; Thu, 28 Mar 2013 14:52:46 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.41]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 22.06.02019.EAAD3515; Thu, 28 Mar 2013 14:52:46 +0900 (KST) X-AuditID: cbfee690-b7f656d0000007e3-fe-5153daae6e10 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id A6.04.13494.EAAD3515; Thu, 28 Mar 2013 14:52:46 +0900 (KST) Received: from [10.89.53.200] by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MKC00MW8WBXPR40@mmp2.samsung.com>; Thu, 28 Mar 2013 14:52:45 +0900 (KST) Message-id: <5153DAB2.9060400@samsung.com> Date: Thu, 28 Mar 2013 14:52:50 +0900 From: Minkyu Kang Organization: SAMSUNG ELECTRONICS User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130221 Thunderbird/17.0.3 MIME-version: 1.0 To: Akshay Saraswat References: <1362049164-10297-1-git-send-email-akshay.s@samsung.com> <1362049164-10297-10-git-send-email-akshay.s@samsung.com> In-reply-to: <1362049164-10297-10-git-send-email-akshay.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrJIsWRmVeSWpSXmKPExsVy+t8zTd11t4IDDab16Vic+vOY0WLV4Q3s Fm/3drI7MHucvbOD0aNvyyrGAKYoLpuU1JzMstQifbsEroxJbVPYCi6JVny7fYC9gfGzQBcj J4eEgInE7rYWNghbTOLCvfVANheHkMAyRokZHTOYuhg5wIrunnWCiE9nlNiy5yA7hPOKUeJR YzszSDevgJbE0Qf7WEFsFgFViaUbJ4NNZRPQkHg6bTsjiM0voCgxo/UFWFxUIExi9vWzUL2C Ej8m32MBsUWA5hzYsRQszixgKPFw1mQmEFtYIFzi1PNJrBCLGxglpqyaCdbAKeAmsaillxWi QUdif+s0NghbXmLzmrfMIA0SAsvYJdq2PWSGuE5A4tvkQywQr8lKbDrADPG+pMTBFTdYJjCK z0Jy0ywkY2chGbuAkXkVo2hqQXJBcVJ6kYlecWJucWleul5yfu4mRkg0TdjBeO+A9SHGZKCV E5mlRJPzgdGYVxJvaGxmZGFqYmpsZG5pRpqwkjiveot1oJBAemJJanZqakFqUXxRaU5q8SFG Jg5OqQbGldd5OY4wM+7//Mpr0qMjc3q2BNdppPhfv77cv9V58ZpZTTMyF75afuzzt5PbTnV2 l75ZqbD1kgPP//xbU/VWihb9nb7aVoOfvdYhlsF5zrbfrh2HPhRVforqPuZvEt8/89Dqq9O+ B5YzLJbZdWrSU9X1kpw3an0Wr8ufMtfzurlZul6OxnnLTCWW4oxEQy3mouJEAPC36A68AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpjleLIzCtJLcpLzFFi42I5/e+xoO66W8GBBh9WCFic+vOY0WLV4Q3s Fm/3drI7MHucvbOD0aNvyyrGAKaoBkabjNTElNQihdS85PyUzLx0WyXv4HjneFMzA0NdQ0sL cyWFvMTcVFslF58AXbfMHKAtSgpliTmlQKGAxOJiJX07TBNCQ9x0LWAaI3R9Q4LgeowM0EDC OsaMSW1T2AouiVZ8u32AvYHxs0AXIweHhICJxN2zTl2MnECmmMSFe+vZuhi5OIQEpjNKbNlz kB3CecUo8aixnRmkildAS+Log32sIDaLgKrE0o2T2UBsNgENiafTtjOC2PwCihIzWl+AxUUF wiRmXz8L1Sso8WPyPRYQWwRozoEdS8HizAKGEg9nTWYCsYUFwiVOPZ/ECrG4gVFiyqqZYA2c Am4Si1p6WSEadCT2t05jg7DlJTavecs8gVFwFpIds5CUzUJStoCReRWjaGpBckFxUnqukV5x Ym5xaV66XnJ+7iZGcKw+k97BuKrB4hCjAAejEg9vhUBwoBBrYllxZe4hRgkOZiUR3kOdQCHe lMTKqtSi/Pii0pzU4kOMycDgmMgsJZqcD0wjeSXxhsYmZkaWRmbGJubGxqQJK4nzHmy1DhQS SE8sSc1OTS1ILYLZwsTBKdXAaLfBVuZ9UNb+9hO/CvcFZbLOVVxf+2N+X6CwmveUxJJrXjYz d3tLdfzJ14+pbD5xfEmUpWOgo5VdpmaaWPA3n0X52V+8pA3WNjC8FJPnErJ88qXSN6iPo6BQ ZKOQXaFlg9yT9MuKxi5vjM8Xyes1fvCc5GWxmtnds1Gm53WcQJF5X1DgeiWW4oxEQy3mouJE AF5uZ3UZAwAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: u-boot@lists.denx.de, prashanth.g@samsung.com Subject: Re: [U-Boot] [PATCH 9/9 v2] Exynos: pwm: Use generic api to get pwm clk freq X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de 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 > Signed-off-by: Akshay Saraswat > --- > 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 > #include > #include > +#include > > 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? When we implement generic clock function for exynos4 then, we can use clock_get_periph_rate instead of get_pwm_clk. Thanks, Minkyu Kang. 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();