|
@@ -81,8 +81,28 @@ void __init imx50_init_early(void)
|
|
|
mxc_arch_reset_init(MX50_IO_ADDRESS(MX50_WDOG_BASE_ADDR));
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * The MIPI HSC unit has been removed from the i.MX51 Reference Manual by
|
|
|
+ * the Freescale marketing division. However this did not remove the
|
|
|
+ * hardware from the chip which still needs to be configured for proper
|
|
|
+ * IPU support.
|
|
|
+ */
|
|
|
+static void __init imx51_ipu_mipi_setup(void)
|
|
|
+{
|
|
|
+ void __iomem *hsc_addr;
|
|
|
+ hsc_addr = MX51_IO_ADDRESS(MX51_MIPI_HSC_BASE_ADDR);
|
|
|
+
|
|
|
+ /* setup MIPI module to legacy mode */
|
|
|
+ __raw_writel(0xf00, hsc_addr);
|
|
|
+
|
|
|
+ /* CSI mode: reserved; DI control mode: legacy (from Freescale BSP) */
|
|
|
+ __raw_writel(__raw_readl(hsc_addr + 0x800) | 0x30ff,
|
|
|
+ hsc_addr + 0x800);
|
|
|
+}
|
|
|
+
|
|
|
void __init imx51_init_early(void)
|
|
|
{
|
|
|
+ imx51_ipu_mipi_setup();
|
|
|
mxc_set_cpu_type(MXC_CPU_MX51);
|
|
|
mxc_iomux_v3_init(MX51_IO_ADDRESS(MX51_IOMUXC_BASE_ADDR));
|
|
|
mxc_arch_reset_init(MX51_IO_ADDRESS(MX51_WDOG1_BASE_ADDR));
|