From patchwork Thu Feb 28 10:59:24 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akshay Saraswat X-Patchwork-Id: 223877 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 2F7DC2C02A0 for ; Thu, 28 Feb 2013 21:40:41 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 2BF7B4A099; Thu, 28 Feb 2013 11:40:27 +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 O64bKAFhoDSj; Thu, 28 Feb 2013 11:40:26 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 0CEED4A03C; Thu, 28 Feb 2013 11:39:49 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 2E4704A029 for ; Thu, 28 Feb 2013 11:39:44 +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 xdIuq2rlbYaM for ; Thu, 28 Feb 2013 11:39:43 +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 mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by theia.denx.de (Postfix) with ESMTP id 1384D4A044 for ; Thu, 28 Feb 2013 11:39:10 +0100 (CET) Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MIX00IG9EVUNLI0@mailout2.samsung.com> for u-boot@lists.denx.de; Thu, 28 Feb 2013 19:39:08 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.123]) by epcpsbgr3.samsung.com (EPCPMTA) with SMTP id 93.8E.18793.CC33F215; Thu, 28 Feb 2013 19:39:08 +0900 (KST) X-AuditID: cbfee68f-b7f6a6d000004969-26-512f33cc1717 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 76.B8.03918.CC33F215; Thu, 28 Feb 2013 19:39:08 +0900 (KST) Received: from chrome-ubuntu.sisodomain.com ([107.108.73.106]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MIX001ILEWPCT50@mmp1.samsung.com> for u-boot@lists.denx.de; Thu, 28 Feb 2013 19:39:08 +0900 (KST) From: Akshay Saraswat To: u-boot@lists.denx.de Date: Thu, 28 Feb 2013 05:59:24 -0500 Message-id: <1362049164-10297-10-git-send-email-akshay.s@samsung.com> X-Mailer: git-send-email 1.8.0 In-reply-to: <1362049164-10297-1-git-send-email-akshay.s@samsung.com> References: <1362049164-10297-1-git-send-email-akshay.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrCLMWRmVeSWpSXmKPExsWyRsSkWveMsX6gwfmP6hZv93ayOzB6nL2z gzGAMYrLJiU1J7MstUjfLoErY+GjSWwFn/gqTvRdZWxg/M3dxcjJISFgIvGwZREjhC0mceHe ejYQW0hgKaPE81laMDVPF+5h72LkAoovYpQ4dmAKK4SzjEniTOdzsG42AR2J7Uu+s4PYIgIS Er/6r4LFmQUcJfYd+cYEYgsLeEgs3PsfrIZFQFWia9dxFhCbV8BVYv6OC2wQ2+QkPux5BFTD wcEJFH/YbQRxkIvEpZ9fwPZKCFxnk5jVeYsFYo6AxLfJh1hA6iUEZCU2HWCGGCMpcXDFDZYJ jMILGBlWMYqmFiQXFCelFxnrFSfmFpfmpesl5+duYgSG4Ol/z/p3MN49YH2IMRlo3ERmKdHk fGAI55XEGxqbmJsam5oZWVpampImrCTOK39JJlBIID2xJDU7NbUgtSi+qDQntfgQIxMHp1QD Y9IE84I97AxsW+Qif6yPcHKO/nVa2TNyz/xll3PXn7i2ooRxps0Wee42hw0/uV5lHc39YWQi +/Dg/SmL9m/5tmnCj2y3GR/CuZzzrN5IFiowxzV8v8p13fOm/cwZC6UXn55uZxHm4K2rLavE yHz6olMIh8aUNRJ211bkRx3Svee6YUl8/RVpFiWW4oxEQy3mouJEAKq1v4xXAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrEIsWRmVeSWpSXmKPExsVy+t9jAd0zxvqBBut/SVm83dvJ7sDocfbO DsYAxqgGRpuM1MSU1CKF1Lzk/JTMvHRbJe/geOd4UzMDQ11DSwtzJYW8xNxUWyUXnwBdt8wc oLFKCmWJOaVAoYDE4mIlfTtME0JD3HQtYBojdH1DguB6jAzQQMIaxoyFjyaxFXziqzjRd5Wx gfE3dxcjJ4eEgInE04V72CFsMYkL99azdTFycQgJLGKUOHZgCiuEs4xJ4kznc0aQKjYBHYnt S76DdYgISEj86r8KFmcWcJTYd+QbE4gtLOAhsXDvf7AaFgFVia5dx1lAbF4BV4n5Oy6wQWyT k/iw5xFQDQcHJ1D8YbcRSFhIwEXi0s8vrBMYeRcwMqxiFE0tSC4oTkrPNdQrTswtLs1L10vO z93ECA7xZ1I7GFc2WBxiFOBgVOLh7TDRCxRiTSwrrsw9xCjBwawkwuvCrx8oxJuSWFmVWpQf X1Sak1p8iDEZ6KiJzFKiyfnA+MsriTc0NjE3NTa1NLEwMbMkTVhJnJfx1JMAIYH0xJLU7NTU gtQimC1MHJxSDYybrszW6Y2czis9R+P4jOiLE+/ZZ51NiM7ZfazU96BQkDyn0ubbRlU/f1zg 8nrVX/smy+9L8IsNFm83L5mz22Ud2+eUBwFVS7YfmvorcVX6Fymx3aLSn4oFVnPXrNk00fnL tmnrrt8+ul1KtoZjq0C71ObmnQfOTzh5vNPwofSi/81/Ymco7P7lqMRSnJFoqMVcVJwIAGK0 FwS1AgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: prashanth.g@samsung.com Subject: [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: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de 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 Acked-by: Simon Glass --- 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; }