[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20251229163101.4004478-1-Frank.Li@nxp.com>
Date: Mon, 29 Dec 2025 11:31:01 -0500
From: Frank Li <Frank.Li@....com>
To: shawnguo@...nel.org
Cc: Frank.Li@....com,
conor+dt@...nel.org,
devicetree@...r.kernel.org,
festevam@...il.com,
imx@...ts.linux.dev,
kernel@...gutronix.de,
krzk+dt@...nel.org,
linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
robh@...nel.org,
s.hauer@...gutronix.de
Subject: [PATCH v2 1/1] arm64: dts: imx8mp-evk: add camera ov5640 and related nodes
Add camera ov5640 and related nodes.
Signed-off-by: Frank Li <Frank.Li@....com>
---
change in v2
- correct regulator voltage.
---
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 80 ++++++++++++++++++++
1 file changed, 80 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index c6facb2ad9aaa..e7fe90ae59353 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -74,6 +74,27 @@ pcie0_refclk: pcie0-refclk {
clock-frequency = <100000000>;
};
+ reg_1v5: regulator-1v5 {
+ compatible = "regulator-fixed";
+ regulator-name = "1v5";
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <1500000>;
+ };
+
+ reg_1v8: regulator-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "1v8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ reg_2v8: regulator-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "2v8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
reg_audio_3v3: regulator-audio-3v3 {
compatible = "regulator-fixed";
regulator-name = "audio-3v3";
@@ -560,6 +581,30 @@ &i2c2 {
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
+ camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_csi0_pwn>, <&pinctrl_csi0_rst>, <&pinctrl_csi_mclk>;
+ clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
+ clock-names = "xclk";
+ assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
+ assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
+ assigned-clock-rates = <24000000>;
+ powerdown-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;
+ AVDD-supply = <®_2v8>;
+ DVDD-supply = <®_1v5>;
+ DOVDD-supply = <®_1v8>;
+ status = "okay";
+
+ port {
+ ov5640_mipi_0_ep: endpoint {
+ remote-endpoint = <&mipi_csi0_ep>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+
hdmi@3d {
compatible = "adi,adv7535";
reg = <0x3d>;
@@ -664,6 +709,10 @@ &i2c5 {
*/
};
+&isi_0 {
+ status = "okay";
+};
+
&lcdif1 {
status = "okay";
};
@@ -682,6 +731,19 @@ &micfil {
status = "okay";
};
+&mipi_csi_0 {
+ status = "okay";
+
+ ports {
+ port@0 {
+ mipi_csi0_ep: endpoint {
+ remote-endpoint = <&ov5640_mipi_0_ep>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
&mipi_dsi {
samsung,esc-clock-frequency = <10000000>;
status = "okay";
@@ -855,6 +917,24 @@ MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0xd6
>;
};
+ pinctrl_csi_mclk: csi_mclk_grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO15__CCM_CLKO2 0x50
+ >;
+ };
+
+ pinctrl_csi0_pwn: csi0_pwn_grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x10
+ >;
+ };
+
+ pinctrl_csi0_rst: csi0_rst_grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x10
+ >;
+ };
+
pinctrl_eqos: eqosgrp {
fsl,pins = <
MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x2
--
2.34.1
Powered by blists - more mailing lists