Commit e2c16156 authored by Steve Longerbeam's avatar Steve Longerbeam Committed by Shawn Guo

ARM: dts: imx53-smd: Add OV5642 video capture support

Add video capture support from the OV5642 to IPU CSI0 on
the i.MX53 SMD.
Signed-off-by: default avatarSteve Longerbeam <slongerbeam@gmail.com>
[fabio: remove unnecessary 'regulator-always-on' from camera regulators]
Signed-off-by: default avatarFabio Estevam <festevam@gmail.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent e5ad3230
...@@ -185,6 +185,31 @@ MX53_PAD_KEY_COL3__I2C2_SCL 0xc0000000 ...@@ -185,6 +185,31 @@ MX53_PAD_KEY_COL3__I2C2_SCL 0xc0000000
>; >;
}; };
pinctrl_ipu_csi0: ipucsi0grp {
fsl,pins = <
MX53_PAD_CSI0_DAT12__IPU_CSI0_D_12 0x1c4
MX53_PAD_CSI0_DAT13__IPU_CSI0_D_13 0x1c4
MX53_PAD_CSI0_DAT14__IPU_CSI0_D_14 0x1c4
MX53_PAD_CSI0_DAT15__IPU_CSI0_D_15 0x1c4
MX53_PAD_CSI0_DAT16__IPU_CSI0_D_16 0x1c4
MX53_PAD_CSI0_DAT17__IPU_CSI0_D_17 0x1c4
MX53_PAD_CSI0_DAT18__IPU_CSI0_D_18 0x1c4
MX53_PAD_CSI0_DAT19__IPU_CSI0_D_19 0x1c4
MX53_PAD_CSI0_PIXCLK__IPU_CSI0_PIXCLK 0x1e4
MX53_PAD_CSI0_VSYNC__IPU_CSI0_VSYNC 0x1e4
MX53_PAD_CSI0_MCLK__IPU_CSI0_HSYNC 0x1e4
MX53_PAD_CSI0_DATA_EN__IPU_CSI0_DATA_EN 0x1e4
>;
};
pinctrl_ov5642: ov5642grp {
fsl,pins = <
MX53_PAD_NANDF_WP_B__GPIO6_9 0x1e4
MX53_PAD_NANDF_RB0__GPIO6_10 0x1e4
MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x1c4
>;
};
pinctrl_uart1: uart1grp { pinctrl_uart1: uart1grp {
fsl,pins = < fsl,pins = <
MX53_PAD_CSI0_DAT10__UART1_TXD_MUX 0x1e4 MX53_PAD_CSI0_DAT10__UART1_TXD_MUX 0x1e4
...@@ -256,11 +281,47 @@ accelerometer: mma8450@1c { ...@@ -256,11 +281,47 @@ accelerometer: mma8450@1c {
camera: ov5642@3c { camera: ov5642@3c {
compatible = "ovti,ov5642"; compatible = "ovti,ov5642";
reg = <0x3c>; reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ov5642>;
assigned-clocks = <&clks IMX5_CLK_SSI_EXT1_SEL>,
<&clks IMX5_CLK_SSI_EXT1_COM_SEL>;
assigned-clock-parents = <&clks IMX5_CLK_PLL2_SW>,
<&clks IMX5_CLK_SSI_EXT1_PODF>;
assigned-clock-rates = <0>, <24000000>;
clocks = <&clks IMX5_CLK_SSI_EXT1_GATE>;
clock-names = "xclk";
DVDD-supply = <&ldo9_reg>;
AVDD-supply = <&ldo7_reg>;
reset-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>;
powerdown-gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>;
port {
ov5642_to_ipu_csi0: endpoint {
remote-endpoint = <&ipu_csi0_from_parallel_sensor>;
bus-width = <8>;
hsync-active = <1>;
vsync-active = <1>;
};
};
}; };
pmic: dialog@48 { pmic: dialog@48 {
compatible = "dlg,da9053", "dlg,da9052"; compatible = "dlg,da9053", "dlg,da9052";
reg = <0x48>; reg = <0x48>;
interrupt-parent = <&gpio7>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
regulators {
ldo7_reg: ldo7 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
};
ldo9_reg: ldo9 {
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3650000>;
};
};
}; };
}; };
...@@ -271,3 +332,15 @@ &fec { ...@@ -271,3 +332,15 @@ &fec {
phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>; phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
status = "okay"; status = "okay";
}; };
&ipu_csi0_from_parallel_sensor {
remote-endpoint = <&ov5642_to_ipu_csi0>;
data-shift = <12>; /* Lines 19:12 used */
hsync-active = <1>;
vsync-active = <1>;
};
&ipu_csi0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu_csi0>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment