[oe-commits] org.oe.dev linux-omap2 git: add DPLL patches for beagleboard

koen commit oe at amethyst.openembedded.net
Tue Jun 24 19:52:53 UTC 2008


linux-omap2 git: add DPLL patches for beagleboard

Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: b17e85be6490338fbc06d2ddf191cc651822a42d
ViewMTN: http://monotone.openembedded.org/revision/info/b17e85be6490338fbc06d2ddf191cc651822a42d
Files:
1
packages/linux/linux-omap2-git/beagleboard/omap3-dppl-divider.patch
packages/linux/linux-omap2-git/beagleboard/omap3-jitter.patch
packages/linux/linux-omap2_git.bb
Diffs:

#
# mt diff -r36b676b8174372eefaf2ade65d38c53dc94ee8ec -rb17e85be6490338fbc06d2ddf191cc651822a42d
#
#
#
# add_file "packages/linux/linux-omap2-git/beagleboard/omap3-dppl-divider.patch"
#  content [93505918a5a074787c2debecff3786d41e9f3a20]
# 
# add_file "packages/linux/linux-omap2-git/beagleboard/omap3-jitter.patch"
#  content [3c2c05f78f6e5f8af7aff998632bf3324b62de39]
# 
# patch "packages/linux/linux-omap2_git.bb"
#  from [523d37a82d26a1544739d1391287ce6a95385299]
#    to [c5bedfacc57570fe043dfe40dad87e1a42afba5f]
#
============================================================
--- packages/linux/linux-omap2-git/beagleboard/omap3-dppl-divider.patch	93505918a5a074787c2debecff3786d41e9f3a20
+++ packages/linux/linux-omap2-git/beagleboard/omap3-dppl-divider.patch	93505918a5a074787c2debecff3786d41e9f3a20
@@ -0,0 +1,114 @@
+From linux-omap-owner at vger.kernel.org Tue Jun 24 09:24:30 2008
+Received: from localhost
+	([127.0.0.1] helo=dominion ident=koen)
+	by dominion.dominion.void with esmtp (Exim 4.63)
+	(envelope-from <linux-omap-owner at vger.kernel.org>)
+	id 1KB2tB-0005XT-FQ
+	for koen at localhost; Tue, 24 Jun 2008 09:24:30 +0200
+Received: from xs.service.utwente.nl [130.89.5.250]
+	by dominion with POP3 (fetchmail-6.3.6)
+	for <koen at localhost> (single-drop); Tue, 24 Jun 2008 09:24:29 +0200 (CEST)
+Received: from mail.service.utwente.nl ([130.89.5.254]) by exchange.service.utwente.nl with Microsoft SMTPSVC(6.0.3790.3959);
+	 Tue, 24 Jun 2008 09:13:04 +0200
+Received: from mx.utwente.nl ([130.89.2.13]) by mail.service.utwente.nl with Microsoft SMTPSVC(6.0.3790.3959);
+	 Tue, 24 Jun 2008 09:13:03 +0200
+Received: from vger.kernel.org (vger.kernel.org [209.132.176.167])
+          by mx.utwente.nl (8.12.10/SuSE Linux 0.7) with ESMTP id m5O7CcD7008917
+          for <k.kooi at student.utwente.nl>; Tue, 24 Jun 2008 09:12:38 +0200
+Received: (majordomo at vger.kernel.org) by vger.kernel.org via listexpand
+	id S1751623AbYFXHMh (ORCPT <rfc822;k.kooi at student.utwente.nl>);
+	Tue, 24 Jun 2008 03:12:37 -0400
+Received: (majordomo at vger.kernel.org) by vger.kernel.org id S1751670AbYFXHMh
+	(ORCPT <rfc822;linux-omap-outgoing>);
+	Tue, 24 Jun 2008 03:12:37 -0400
+Received: from utopia.booyaka.com ([72.9.107.138]:47392 "EHLO
+	utopia.booyaka.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+	with ESMTP id S1751623AbYFXHMg (ORCPT
+	<rfc822;linux-omap at vger.kernel.org>); Tue, 24 Jun 2008 03:12:36 -0400
+Received: (qmail 1797 invoked by uid 526); 24 Jun 2008 07:12:35 -0000
+Date: 	Tue, 24 Jun 2008 01:12:35 -0600 (MDT)
+From: Paul Walmsley <paul at pwsan.com>
+To: linux-omap at vger.kernel.org
+Subject: [PATCH] OMAP3 clock: DPLL{1,2}_FCLK clksel can divide by 4
+Message-ID: <alpine.DEB.1.00.0806240111320.9741 at utopia.booyaka.com>
+User-Agent: Alpine 1.00 (DEB 882 2007-12-20)
+MIME-Version: 1.0
+Content-Type: TEXT/PLAIN; charset=US-ASCII
+Sender: linux-omap-owner at vger.kernel.org
+Precedence: bulk
+List-ID: <linux-omap.vger.kernel.org>
+X-Mailing-List: 	linux-omap at vger.kernel.org
+X-UTwente-MailScanner-Information: Scanned by MailScanner. Contact servicedesk at icts.utwente.nl for more information.
+X-UTwente-MailScanner: Found to be clean
+X-UTwente-MailScanner-From: linux-omap-owner at vger.kernel.org
+X-Spam-Status: No
+X-OriginalArrivalTime: 24 Jun 2008 07:13:04.0264 (UTC) FILETIME=[BE950880:01C8D5C9]
+
+
+OMAP34xx ES2 TRM Delta G to H states that the divider for DPLL1_FCLK and 
+DPLL2_FCLK can divide by 4 in addition to dividing by 1 and 2. Encode this 
+into the OMAP3 clock framework.
+
+Signed-off-by: Paul Walmsley <paul at pwsan.com>
+---
+
+ arch/arm/mach-omap2/clock34xx.h |   20 ++++++++++++++++----
+ 1 files changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
+index b4dceea..9605744 100644
+--- a/arch/arm/mach-omap2/clock34xx.h
++++ b/arch/arm/mach-omap2/clock34xx.h
+@@ -1029,8 +1029,15 @@ static struct clk corex2_fck = {
+ 
+ /* DPLL power domain clock controls */
+ 
+-static const struct clksel div2_core_clksel[] = {
+-	{ .parent = &core_ck, .rates = div2_rates },
++static const struct clksel_rate div4_rates[] = {
++	{ .div = 1, .val = 1, .flags = RATE_IN_343X | DEFAULT_RATE },
++	{ .div = 2, .val = 2, .flags = RATE_IN_343X },
++	{ .div = 4, .val = 4, .flags = RATE_IN_343X },
++	{ .div = 0 }
++};
++
++static const struct clksel div4_core_clksel[] = {
++	{ .parent = &core_ck, .rates = div4_rates },
+ 	{ .parent = NULL }
+ };
+ 
+@@ -1044,7 +1051,7 @@ static struct clk dpll1_fck = {
+ 	.init		= &omap2_init_clksel_parent,
+ 	.clksel_reg	= _OMAP34XX_CM_REGADDR(MPU_MOD, OMAP3430_CM_CLKSEL1_PLL),
+ 	.clksel_mask	= OMAP3430_MPU_CLK_SRC_MASK,
+-	.clksel		= div2_core_clksel,
++	.clksel		= div4_core_clksel,
+ 	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+ 				PARENT_CONTROLS_CLOCK,
+ 	.recalc		= &omap2_clksel_recalc,
+@@ -1119,7 +1126,7 @@ static struct clk dpll2_fck = {
+ 	.init		= &omap2_init_clksel_parent,
+ 	.clksel_reg	= _OMAP34XX_CM_REGADDR(OMAP3430_IVA2_MOD, OMAP3430_CM_CLKSEL1_PLL),
+ 	.clksel_mask	= OMAP3430_IVA2_CLK_SRC_MASK,
+-	.clksel		= div2_core_clksel,
++	.clksel		= div4_core_clksel,
+ 	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+ 				PARENT_CONTROLS_CLOCK,
+ 	.recalc		= &omap2_clksel_recalc,
+@@ -1155,6 +1162,11 @@ static struct clk iva2_ck = {
+ 
+ /* Common interface clocks */
+ 
++static const struct clksel div2_core_clksel[] = {
++	{ .parent = &core_ck, .rates = div2_rates },
++	{ .parent = NULL }
++};
++
+ static struct clk l3_ick = {
+ 	.name		= "l3_ick",
+ 	.parent		= &core_ck,
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo at vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
+
============================================================
--- packages/linux/linux-omap2-git/beagleboard/omap3-jitter.patch	3c2c05f78f6e5f8af7aff998632bf3324b62de39
+++ packages/linux/linux-omap2-git/beagleboard/omap3-jitter.patch	3c2c05f78f6e5f8af7aff998632bf3324b62de39
@@ -0,0 +1,95 @@
+From linux-omap-owner at vger.kernel.org Tue Jun 24 09:24:30 2008
+Received: from localhost
+	([127.0.0.1] helo=dominion ident=koen)
+	by dominion.dominion.void with esmtp (Exim 4.63)
+	(envelope-from <linux-omap-owner at vger.kernel.org>)
+	id 1KB2tC-0005XT-Mj
+	for koen at localhost; Tue, 24 Jun 2008 09:24:30 +0200
+Received: from xs.service.utwente.nl [130.89.5.250]
+	by dominion with POP3 (fetchmail-6.3.6)
+	for <koen at localhost> (single-drop); Tue, 24 Jun 2008 09:24:30 +0200 (CEST)
+Received: from mail.service.utwente.nl ([130.89.5.253]) by exchange.service.utwente.nl with Microsoft SMTPSVC(6.0.3790.3959);
+	 Tue, 24 Jun 2008 09:20:48 +0200
+Received: from smtp.utwente.nl ([130.89.2.8]) by mail.service.utwente.nl with Microsoft SMTPSVC(6.0.3790.3959);
+	 Tue, 24 Jun 2008 09:20:47 +0200
+Received: from vger.kernel.org (vger.kernel.org [209.132.176.167])
+          by smtp.utwente.nl (8.12.10/SuSE Linux 0.7) with ESMTP id m5O7BPWU031214
+          for <k.kooi at student.utwente.nl>; Tue, 24 Jun 2008 09:11:25 +0200
+Received: (majordomo at vger.kernel.org) by vger.kernel.org via listexpand
+	id S1751128AbYFXHLY (ORCPT <rfc822;k.kooi at student.utwente.nl>);
+	Tue, 24 Jun 2008 03:11:24 -0400
+Received: (majordomo at vger.kernel.org) by vger.kernel.org id S1751405AbYFXHLX
+	(ORCPT <rfc822;linux-omap-outgoing>);
+	Tue, 24 Jun 2008 03:11:23 -0400
+Received: from utopia.booyaka.com ([72.9.107.138]:44580 "EHLO
+	utopia.booyaka.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+	with ESMTP id S1751128AbYFXHLX (ORCPT
+	<rfc822;linux-omap at vger.kernel.org>); Tue, 24 Jun 2008 03:11:23 -0400
+Received: (qmail 1744 invoked by uid 526); 24 Jun 2008 07:11:21 -0000
+Date: 	Tue, 24 Jun 2008 01:11:21 -0600 (MDT)
+From: Paul Walmsley <paul at pwsan.com>
+To: linux-omap at vger.kernel.org
+Subject: [PATCH] OMAP3 clock: fix DPLL jitter correction and rate
+ programming
+Message-ID: <alpine.DEB.1.00.0806240109440.9741 at utopia.booyaka.com>
+User-Agent: Alpine 1.00 (DEB 882 2007-12-20)
+MIME-Version: 1.0
+Content-Type: TEXT/PLAIN; charset=US-ASCII
+Sender: linux-omap-owner at vger.kernel.org
+Precedence: bulk
+List-ID: <linux-omap.vger.kernel.org>
+X-Mailing-List: 	linux-omap at vger.kernel.org
+X-UTwente-MailScanner-Information: Scanned by MailScanner. Contact servicedesk at icts.utwente.nl for more information.
+X-UTwente-MailScanner: Found to be clean
+X-UTwente-MailScanner-From: linux-omap-owner at vger.kernel.org
+X-Spam-Status: No
+X-OriginalArrivalTime: 24 Jun 2008 07:20:48.0265 (UTC) FILETIME=[D325F790:01C8D5CA]
+
+
+Fix DPLL jitter correction programming.  Previously, 
+omap3_noncore_dpll_program() stored the FREQSEL jitter correction 
+parameter to the wrong register.  This caused jitter correction to be set 
+incorrectly and also caused the DPLL divider to be programmed incorrectly.
+
+Also, fix DPLL divider programming.  An off-by-one error existed in 
+omap3_noncore_dpll_program(), causing DPLLs to be programmed with a higher 
+divider than intended.
+
+Signed-off-by: Paul Walmsley <paul at pwsan.com>
+---
+
+ arch/arm/mach-omap2/clock34xx.c |   13 ++++++++-----
+ 1 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
+index 408b51a..8fdf8f3 100644
+--- a/arch/arm/mach-omap2/clock34xx.c
++++ b/arch/arm/mach-omap2/clock34xx.c
+@@ -346,14 +346,17 @@ static int omap3_noncore_dpll_program(struct clk *clk, u16 m, u8 n, u16 freqsel)
+ 	/* 3430 ES2 TRM: 4.7.6.9 DPLL Programming Sequence */
+ 	_omap3_noncore_dpll_bypass(clk);
+ 
++	/* Set jitter correction */
++	v = __raw_readl(dd->control_reg);
++	v &= ~dd->freqsel_mask;
++	v |= freqsel << __ffs(dd->freqsel_mask);
++	__raw_writel(v, dd->control_reg);
++
++	/* Set DPLL multiplier, divider */
+ 	v = __raw_readl(dd->mult_div1_reg);
+ 	v &= ~(dd->mult_mask | dd->div1_mask);
+-
+-	/* Set mult (M), div1 (N), freqsel */
+ 	v |= m << __ffs(dd->mult_mask);
+-	v |= n << __ffs(dd->div1_mask);
+-	v |= freqsel << __ffs(dd->freqsel_mask);
+-
++	v |= (n - 1) << __ffs(dd->div1_mask);
+ 	__raw_writel(v, dd->mult_div1_reg);
+ 
+ 	/* We let the clock framework set the other output dividers later */
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo at vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
+
============================================================
--- packages/linux/linux-omap2_git.bb	523d37a82d26a1544739d1391287ce6a95385299
+++ packages/linux/linux-omap2_git.bb	c5bedfacc57570fe043dfe40dad87e1a42afba5f
@@ -5,7 +5,7 @@ PV = "2.6.25+2.6.26-rc7+${PR}+git${SRCRE
 SRCREV = "6604ac6c8a14d583a463159f3a1601427dab7e05"
 
 PV = "2.6.25+2.6.26-rc7+${PR}+git${SRCREV}"
-PR = "r29"
+PR = "r30"
 
 
 SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=git \
@@ -20,6 +20,8 @@ SRC_URI_append_beagleboard = " file://no
            file://fix-dispc-clocks.patch;patch=1 \
            file://soc.patch;patch=1 \
            file://16bpp.patch;patch=1 \
+           file://omap3-dppl-divider.patch;patch=1 \
+           file://omap3-jitter.patch;patch=1 \
 "
 
 SRC_URI_append_omap3evm = " file://no-harry-potter.diff;patch=1 \






More information about the Openembedded-commits mailing list