summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaiane Angolini <daiane.angolini@freescale.com>2013-06-27 10:38:22 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2013-07-02 12:14:37 -0300
commitda13ed0a4b965f69174dca218dce687f7ce0010d (patch)
treed6cc7b38cf04e48b2bdcd653b4541c3bf516fd18
parent80ad7aea0a82e092b02fdb1c8045ed4680dd7060 (diff)
downloadmeta-fsl-arm-da13ed0a4b965f69174dca218dce687f7ce0010d.tar.gz
linux-imx (3.0.35): Add fix pll4 set_rate callback
This patch has been send by Alexander Smirnov to meta-freescale mailing list and is still not applied in Freescale GIT server. Apply it here as a interim solution. Change-Id: I44cf01f8461e91ec13ed3b9d045f8ea484988876 Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
-rw-r--r--recipes-kernel/linux/linux-imx/arm-mach-mx6-fix-pll4-set_rate-callback.patch44
-rw-r--r--recipes-kernel/linux/linux-imx_3.0.35.bb1
2 files changed, 45 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-imx/arm-mach-mx6-fix-pll4-set_rate-callback.patch b/recipes-kernel/linux/linux-imx/arm-mach-mx6-fix-pll4-set_rate-callback.patch
new file mode 100644
index 0000000..a3197fb
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx/arm-mach-mx6-fix-pll4-set_rate-callback.patch
@@ -0,0 +1,44 @@
1From patchwork Wed May 29 12:23:55 2013
2Content-Type: text/plain; charset="utf-8"
3MIME-Version: 1.0
4Content-Transfer-Encoding: 7bit
5Subject: arm/mach-mx6: fix pll4 set_rate callback
6Date: Wed, 29 May 2013 12:23:55 -0000
7From: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
8X-Patchwork-Id: 50693
9Message-Id: <1369830235-8476-2-git-send-email-alex.bluesman.smirnov@gmail.com>
10To: meta-freescale@yoctoproject.org
11Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
12
13There is single method to set clock-rate for both audio and video pll-s
14in i.MX6q clock system implementation. That's possible due to they have
15similar set of registers with a different bases. But there is also one
16common register: CCM_ANALOG_MISC2, which contains post-dividers.
17
18In current implementation, independently of whether audio or video clock
19is going to be set, the mask 0xc0000000 is applied to MISC2 register.
20This means, that if the audio clock rate is changed, the video clock
21post-dividers possibly will be corrupted.
22
23This patch fixes the issue described above.
24
25Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
26
27---
28arch/arm/mach-mx6/clock.c | 3 ++-
29 1 files changed, 2 insertions(+), 1 deletions(-)
30
31diff --git a/arch/arm/mach-mx6/clock.c b/arch/arm/mach-mx6/clock.c
32index 8c590b7..8706c32 100644
33--- a/arch/arm/mach-mx6/clock.c
34+++ b/arch/arm/mach-mx6/clock.c
35@@ -1023,7 +1023,8 @@ static int _clk_audio_video_set_rate(struct clk *clk, unsigned long rate)
36 __raw_writel(mfn, pllbase + PLL_NUM_DIV_OFFSET);
37 __raw_writel(mfd, pllbase + PLL_DENOM_DIV_OFFSET);
38
39- if (rev >= IMX_CHIP_REVISION_1_1) {
40+ if ((rev >= IMX_CHIP_REVISION_1_1) &&
41+ (pllbase == PLL5_VIDEO_BASE_ADDR)) {
42 reg = __raw_readl(ANA_MISC2_BASE_ADDR)
43 & ~ANADIG_ANA_MISC2_CONTROL3_MASK;
44 reg |= control3 << ANADIG_ANA_MISC2_CONTROL3_OFFSET;
diff --git a/recipes-kernel/linux/linux-imx_3.0.35.bb b/recipes-kernel/linux/linux-imx_3.0.35.bb
index ce4bac3..6ee2247 100644
--- a/recipes-kernel/linux/linux-imx_3.0.35.bb
+++ b/recipes-kernel/linux/linux-imx_3.0.35.bb
@@ -10,3 +10,4 @@ COMPATIBLE_MACHINE = "(mx6)"
10# Revision of 4.0.0 branch 10# Revision of 4.0.0 branch
11SRCREV = "572fd62b7e2d70ef83e2ca8fe9895fe6f1531f8a" 11SRCREV = "572fd62b7e2d70ef83e2ca8fe9895fe6f1531f8a"
12LOCALVERSION = "-4.0.0+yocto" 12LOCALVERSION = "-4.0.0+yocto"
13SRC_URI += "file://arm-mach-mx6-fix-pll4-set_rate-callback.patch"