From patchwork Tue Jun 19 06:45:12 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Birje X-Patchwork-Id: 165662 X-Patchwork-Delegate: hs@denx.de 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 E5D9DB7003 for ; Tue, 19 Jun 2012 16:41:17 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C0224280C7; Tue, 19 Jun 2012 08:41:10 +0200 (CEST) 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 6+B8ykCQUUKd; Tue, 19 Jun 2012 08:41:10 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C61EE280A8; Tue, 19 Jun 2012 08:41:01 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1571B2809F for ; Tue, 19 Jun 2012 08:41:00 +0200 (CEST) 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 RKtrhUqK6TRp for ; Tue, 19 Jun 2012 08:40:59 +0200 (CEST) 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 mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by theia.denx.de (Postfix) with ESMTP id BF6D82809D for ; Tue, 19 Jun 2012 08:40:57 +0200 (CEST) Received: from epcpsbgm1.samsung.com (mailout1.samsung.com [203.254.224.24]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0M5U00M9XQEDLQ00@mailout1.samsung.com> for u-boot@lists.denx.de; Tue, 19 Jun 2012 15:40:53 +0900 (KST) X-AuditID: cbfee61a-b7f9f6d0000016a8-94-4fe01ef5ef1c Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 99.F5.05800.5FE10EF4; Tue, 19 Jun 2012 15:40:53 +0900 (KST) Received: from rajeshwari-linux.sisodomain.com ([107.108.215.115]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0M5U00BUEQJL3P50@mmp2.samsung.com> for u-boot@lists.denx.de; Tue, 19 Jun 2012 15:40:53 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Date: Tue, 19 Jun 2012 12:15:12 +0530 Message-id: <1340088319-10072-2-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1340088319-10072-1-git-send-email-rajeshwari.s@samsung.com> References: <1340088319-10072-1-git-send-email-rajeshwari.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrEJMWRmVeSWpSXmKPExsVy+t9jQd2vcg/8DWa1G1m83dvJ7sDocfbO DsYAxigum5TUnMyy1CJ9uwSujLa240wFF4Uqlj+MbWDcxN/FyMkhIWAiMW/1HWYIW0ziwr31 bF2MXBxCAtMZJZq/9LBAOKuYJF5dPsoOUsUmYCSx9eQ0RhBbREBC4lf/VTCbWWAKo8Su1aEg tjBQzaF5e8DiLAKqEmuvfADbwCvgIdF77CETxDYFiWNTv7KC2JwCnhKbPiwEiwsB1ex5cZ59 AiPvAkaGVYyiqQXJBcVJ6bmGesWJucWleel6yfm5mxjBPn8mtYNxZYPFIUYBDkYlHt6DwFAQ Yk0sK67MPcQowcGsJMK76v99fyHelMTKqtSi/Pii0pzU4kOM0hwsSuK8TdYX/IUE0hNLUrNT UwtSi2CyTBycUg2M0lM11WP85q6TL2rr89m9uD3USu+F/2GRo88vN95dJBvxxSOr5VVsdPoC hmq/UwqO7U3RkyaInb/KcuoeW5nVjvAbAfqsZ5auPWwVfFrw1dO/BZqC/hWVPEFn/XfMW9d2 wuOK6YmJnT4pjyQWl8yXy964yvab4sLJP2t31K254rtp1vYJkxkPKLEUZyQaajEXFScCAK6g Wv/1AQAA X-TM-AS-MML: No Cc: patches@linaro.org, alim.akhtar@samsung.com, hs@denx.de Subject: [U-Boot] [PATCH 1/8 V3] EXYNOS: CLK: Add i2c clock 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 This adds i2c clock information for EXYNOS5. Signed-off-by: Alim Akhtar Signed-off-by: Doug Anderson Signed-off-by: Rajeshwari Shinde Acked-by: Simon Glass --- changes in V2: - Incorporated comments from Simon Glass which are removed extra braces around (readl(&clk->div_top1)) >> 24 and gave a tab space for return statement. Changes in V3: - None arch/arm/cpu/armv7/exynos/clock.c | 33 ++++++++++++++++++++++++++++++++ arch/arm/include/asm/arch-exynos/clk.h | 1 + 2 files changed, 34 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c index 330bd75..a80928b 100644 --- a/arch/arm/cpu/armv7/exynos/clock.c +++ b/arch/arm/cpu/armv7/exynos/clock.c @@ -578,6 +578,29 @@ void exynos4_set_mipi_clk(void) writel(cfg, &clk->div_lcd0); } +/* + * I2C + * + * exynos5: obtaining the I2C clock + */ +static unsigned long exynos5_get_i2c_clk(void) +{ + struct exynos5_clock *clk = + (struct exynos5_clock *)samsung_get_base_clock(); + unsigned long aclk_66, aclk_66_pre, sclk; + unsigned int ratio; + + sclk = get_pll_clk(MPLL); + + ratio = (readl(&clk->div_top1)) >> 24; + ratio &= (0x7); + aclk_66_pre = sclk/(ratio+1); + ratio = readl(&clk->div_top0); + ratio &= (0x7); + aclk_66 = aclk_66_pre/(ratio+1); + return aclk_66; +} + unsigned long get_pll_clk(int pllreg) { if (cpu_is_exynos5()) @@ -594,6 +617,16 @@ unsigned long get_arm_clk(void) return exynos4_get_arm_clk(); } +unsigned long get_i2c_clk(void) +{ + if (cpu_is_exynos5()) { + return exynos5_get_i2c_clk(); + } else { + debug("I2C clock is not set for this CPU\n"); + return 0; + } +} + unsigned long get_pwm_clk(void) { if (cpu_is_exynos5()) diff --git a/arch/arm/include/asm/arch-exynos/clk.h b/arch/arm/include/asm/arch-exynos/clk.h index 637fb4b..72dc655 100644 --- a/arch/arm/include/asm/arch-exynos/clk.h +++ b/arch/arm/include/asm/arch-exynos/clk.h @@ -30,6 +30,7 @@ unsigned long get_pll_clk(int pllreg); unsigned long get_arm_clk(void); +unsigned long get_i2c_clk(void); unsigned long get_pwm_clk(void); unsigned long get_uart_clk(int dev_index); void set_mmc_clk(int dev_index, unsigned int div);