Skip to contentSkip to conversation

linux-imx: add clock patch for revision T0 1.0 of i.MX6Q

PATCH New Gary Bisson 1 participant 1 message Dec 4, 2014 Arm i.MX and Layerscape

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 linux-imx: add clock patch for revision T0 1.0 of i.MX6Q

The post dividers do not work on i.MX6Q rev T0 1.0 so they must be fixed to 1. As the table index was wrong, a divider a of 4 could still be requested which implied the clock not to be set properly. This is the root cause of the HDMI not working at high resolution on rev T0 1.0 of the SoC, giving the following error:
mxc_sdc_fb fb.27: timeout when waiting for flip irq

---
This patch has been tested with a Sabrelite rev D (5-9-12).

Same as what has been applied on 3.10.17 earlier:
https://lists.yoctoproject.org/pipermail/meta-freescale/2014-December/011804.html

---
 ...6q-fix-video-divider-for-revision-1.0-of-.patch | 35 ++++++++++++++++++++++
 recipes-kernel/linux/linux-imx_3.10.31.bb          |  2 ++
 2 files changed, 37 insertions(+)
 create mode 100644 recipes-kernel/linux/linux-imx-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch
recipes-kernel/linux/linux-imx-3.10.31/0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch new file +35 -0
new file mode 100644
index 0000000..820ce68
@@ -0,0 +1,35 @@
+From 0e981452d7130513e796c1c3d7348905c0d00dce Mon Sep 17 00:00:00 2001
+From: Gary Bisson <[email protected]>
+Date: Tue, 2 Dec 2014 22:11:14 -0800
+Subject: [PATCH] ARM: clk-imx6q: fix video divider for revision 1.0 of i.MX6q
+
+As post dividers do not work on i.MX6Q revision 1.0 they must be fixed
+to 1. As the table index was wrong, a divider a of 4 could still be
+requested which implied the clock not to be set properly. This is the
+root cause of the HDMI not working at high resolution on T1.0 version of
+the SoC, giving the following error:
+mxc_sdc_fb fb.27: timeout when waiting for flip irq
+
+Upstream-Status: Pending
+
+Signed-off-by: Gary Bisson <[email protected]>
+---
+ arch/arm/mach-imx/clk-imx6q.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
+index 25734ed..34e1616f 100644
+--- a/arch/arm/mach-imx/clk-imx6q.c
++++ b/arch/arm/mach-imx/clk-imx6q.c
+@@ -312,7 +312,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
+ 		post_div_table[1].div = 1;
+ 		post_div_table[2].div = 1;
+ 		video_div_table[1].div = 1;
+-		video_div_table[2].div = 1;
++		video_div_table[3].div = 1;
+ 	};
+ 
+ 	/*                   type                               name         parent_name  base     div_mask */
+-- 
+2.1.3
+
recipes-kernel/linux/linux-imx_3.10.31.bb +2 -0
index 10ad2f0..8084096 100644
@@ -14,4 +14,6 @@ SRCBRANCH = "imx_3.10.31_1.1.0_beta"
 SRCREV = "94a7e472c47b800c001c0a5d17bb2f14a13e1980"
 LOCALVERSION = "-1.1.0_beta"
 
+SRC_URI += "file://0001-ARM-clk-imx6q-fix-video-divider-for-revision-1.0-of-.patch"
+
 COMPATIBLE_MACHINE = "(mx6)"
Signature · 1 line
2.1.3