diff options
author | Oliver Brown <oliver.brown@freescale.com> | 2013-09-08 12:37:14 -0400 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2014-04-16 09:05:33 -0400 |
commit | 4822395b9a83844f99d636fb4bd97cb535a285c2 (patch) | |
tree | 1cf5ea44cf5604d1d13292e354a583f6bdfe37f2 /arch | |
parent | 6d4bb464ce8a19603d860b4f6b0775856e203d66 (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.c | 30 |
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 | ||
171 | static 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 | ||