ARM: dts: imx7d-pico-pi: add OV5645 camera support

Add OV5645 camera device node and enable relevant components in the
video capture data path, so output stream can be captured, and the
camera itself can be controlled over I2C bus.

This is roughly based on descriptions found in downstream kernel tree [1],
adapted to match upstream bindings.

Link: ce8fd74abf/arch/arm/boot/dts/imx7d-pico.dtsi (L874) [1]

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
This commit is contained in:
Lech Perczak 2026-05-27 12:19:12 +02:00 committed by Frank Li
parent e6532261b1
commit 1e2aa1b07b

View File

@ -19,6 +19,13 @@ led {
};
};
reg_1p5v: regulator-1p5v {
compatible = "regulator-fixed";
regulator-name = "1P5V";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "imx7-sgtl5000";
@ -59,6 +66,33 @@ polytouch: touchscreen@38 {
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
};
camera@3c {
compatible = "ovti,ov5645";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_camera>;
clocks = <&clks IMX7D_CLKO1_ROOT_DIV>;
assigned-clocks = <&clks IMX7D_CLKO1_ROOT_DIV>;
assigned-clock-rates = <24000000>;
enable-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
vdda-supply = <&reg_2p5v>;
vdddo-supply = <&reg_vref_1v8>;
vddd-supply = <&reg_1p5v>;
port {
ov5645_to_mipi_csi2: endpoint {
remote-endpoint = <&mipi_csi2_in>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
};
&usdhc1 {
@ -93,5 +127,37 @@ MX7D_PAD_EPDC_DATA04__GPIO2_IO4 0x14
MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14
>;
};
};
&iomuxc_lpsr {
pinctrl_camera: cameragrp {
fsl,pins = <
MX7D_PAD_LPSR_GPIO1_IO04__GPIO1_IO4 0x15
MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5 0x15
MX7D_PAD_LPSR_GPIO1_IO02__CCM_CLKO1 0x7d
>;
};
};
&csi {
status = "okay";
};
&mipi_csi {
status = "okay";
ports {
port@0 {
reg = <0>;
mipi_csi2_in: endpoint {
remote-endpoint = <&ov5645_to_mipi_csi2>;
data-lanes = <1 2>;
};
};
};
};
&video_mux {
status = "okay";
};