aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorOliver Brown <oliver.brown@freescale.com>2013-09-08 12:37:14 -0400
committerNitin Garg <nitin.garg@freescale.com>2014-04-16 09:05:33 -0400
commit4822395b9a83844f99d636fb4bd97cb535a285c2 (patch)
tree1cf5ea44cf5604d1d13292e354a583f6bdfe37f2 /arch
parent6d4bb464ce8a19603d860b4f6b0775856e203d66 (diff)
ENGR00278683-1 [iMX6DLQ]: Add IOMUX configuration for IPU1 CSI0
Add IOMUX configuration for IPU1 CSI0 for SabreSD and SabreAuto. This enables parallel CSI port required for OV564x on SabreSD and ADV7180 on SabreAuto. Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/mach-imx6q.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index fac290ae49ff..e92ee05b98a8 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -168,6 +168,35 @@ static void __init imx6q_1588_init(void)
168 168
169} 169}
170 170
171static void __init imx6q_csi_mux_init(void)
172{
173 /*
174 * MX6Q SabreSD board:
175 * IPU1 CSI0 connects to parallel interface.
176 * Set GPR1 bit 19 to 0x1.
177 *
178 * MX6DL SabreSD board:
179 * IPU1 CSI0 connects to parallel interface.
180 * Set GPR13 bit 0-2 to 0x4.
181 * IPU1 CSI1 connects to MIPI CSI2 virtual channel 1.
182 * Set GPR13 bit 3-5 to 0x1.
183 */
184 struct regmap *gpr;
185
186 gpr = syscon_regmap_lookup_by_compatible("fsl,imx6q-iomuxc-gpr");
187 if (!IS_ERR(gpr)) {
188 if (of_machine_is_compatible("fsl,imx6q-sabresd") ||
189 of_machine_is_compatible("fsl,imx6q-sabreauto"))
190 regmap_update_bits(gpr, IOMUXC_GPR1, 1 << 19, 1 << 19);
191 else if (of_machine_is_compatible("fsl,imx6dl-sabresd") ||
192 of_machine_is_compatible("fsl,imx6dl-sabreauto"))
193 regmap_update_bits(gpr, IOMUXC_GPR13, 0x3F, 0x0C);
194 } else {
195 pr_err("%s(): failed to find fsl,imx6q-iomux-gpr regmap\n",
196 __func__);
197 }
198}
199
171/* 200/*
172 * Disable Hannstar LVDS panel CABC function. 201 * Disable Hannstar LVDS panel CABC function.
173 * This function turns the panel's backlight density automatically 202 * This function turns the panel's backlight density automatically
@@ -215,6 +244,7 @@ static void __init imx6q_init_machine(void)
215 imx_anatop_init(); 244 imx_anatop_init();
216 imx6_pm_init(); 245 imx6_pm_init();
217 imx6q_1588_init(); 246 imx6q_1588_init();
247 imx6q_csi_mux_init();
218 imx6q_lvds_cabc_init(); 248 imx6q_lvds_cabc_init();
219} 249}
220 250