Skip to content

Commit 6bf71cb

Browse files
lgl88911MaureenHelm
authored andcommitted
boards: mm_swiftio: add camera support
Add camera support, use OV7725 CMOS sensor. Signed-off-by: Frank Li <[email protected]>
1 parent 8ce3834 commit 6bf71cb

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed

boards/arm/mm_swiftio/mm_swiftio.dts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,21 @@
9595

9696
&lpi2c3 {
9797
status = "okay";
98+
99+
ov7725@21 {
100+
compatible = "ovti,ov7725";
101+
reg = <0x21>;
102+
label = "OV7725";
103+
status = "okay";
104+
105+
reset-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
106+
107+
port {
108+
ov7725_ep_out: endpoint {
109+
remote-endpoint = <&csi_ep_in>;
110+
};
111+
};
112+
};
98113
};
99114

100115
&lpspi3 {
@@ -155,3 +170,14 @@
155170
status = "okay";
156171
cd-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
157172
};
173+
174+
&csi {
175+
status = "okay";
176+
sensor-label = "OV7725";
177+
178+
port {
179+
csi_ep_in: endpoint {
180+
remote-endpoint = <&ov7725_ep_out>;
181+
};
182+
};
183+
};

boards/arm/mm_swiftio/pinmux.c

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,44 @@ static int mm_swiftio_init(const struct device *dev)
192192
imxrt_usdhc_pinmux_cb_register(mm_swiftio_usdhc_pinmux);
193193
#endif
194194

195+
#if DT_NODE_HAS_STATUS(DT_NODELABEL(csi), okay) && CONFIG_VIDEO
196+
IOMUXC_SetPinMux(
197+
IOMUXC_GPIO_AD_B1_04_CSI_PIXCLK,
198+
0U);
199+
IOMUXC_SetPinMux(
200+
IOMUXC_GPIO_AD_B1_05_CSI_MCLK,
201+
0U);
202+
IOMUXC_SetPinMux(
203+
IOMUXC_GPIO_AD_B0_14_CSI_VSYNC,
204+
0U);
205+
IOMUXC_SetPinMux(
206+
IOMUXC_GPIO_AD_B0_15_CSI_HSYNC,
207+
0U);
208+
IOMUXC_SetPinMux(
209+
IOMUXC_GPIO_AD_B1_08_CSI_DATA09,
210+
0U);
211+
IOMUXC_SetPinMux(
212+
IOMUXC_GPIO_AD_B1_09_CSI_DATA08,
213+
0U);
214+
IOMUXC_SetPinMux(
215+
IOMUXC_GPIO_AD_B1_10_CSI_DATA07,
216+
0U);
217+
IOMUXC_SetPinMux(
218+
IOMUXC_GPIO_AD_B1_11_CSI_DATA06,
219+
0U);
220+
IOMUXC_SetPinMux(
221+
IOMUXC_GPIO_AD_B1_12_CSI_DATA05,
222+
0U);
223+
IOMUXC_SetPinMux(
224+
IOMUXC_GPIO_AD_B1_13_CSI_DATA04,
225+
0U);
226+
IOMUXC_SetPinMux(
227+
IOMUXC_GPIO_AD_B1_14_CSI_DATA03,
228+
0U);
229+
IOMUXC_SetPinMux(
230+
IOMUXC_GPIO_AD_B1_15_CSI_DATA02,
231+
0U);
232+
#endif
195233
return 0;
196234
}
197235

0 commit comments

Comments
 (0)