summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
diff options
context:
space:
mode:
authorFabio Estevam <festevam@denx.de>2023-07-15 20:02:09 -0300
committerShawn Guo <shawnguo@kernel.org>2023-07-19 15:04:49 +0800
commit5aafda608f7399fa64c520f0a184bd2226fe8db7 (patch)
tree86d3b2c32ee766748d4d1248342c1311b9c305f6 /arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
parente8abdd58a19885c5adb5759cbed939b34889f0e6 (diff)
downloadlwn-5aafda608f7399fa64c520f0a184bd2226fe8db7.tar.gz
lwn-5aafda608f7399fa64c520f0a184bd2226fe8db7.zip
arm64: dts: imx8mn-evk: Add camera support
Add support for the OV5640 camera. Tested with the following commands: media-ctl -l "'ov5640 2-003c':0 -> 'csis-32e30000.mipi-csi':0 [1]" media-ctl -V "'ov5640 2-003c':0 [fmt:UYVY8_1X16/640x480 field:none]" media-ctl -V "'crossbar':0 [fmt:UYVY8_1X16/640x480 field:none]" media-ctl -V "'mxc_isi.0':0 [fmt:UYVY8_1X16/640x480 field:none]" v4l2-ctl --device /dev/video0 --set-fmt-video=width=640,height=480,pixelformat=YUYV v4l2-ctl --stream-mmap -d /dev/video0; gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! waylandsink Signed-off-by: Fabio Estevam <festevam@denx.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi')
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi47
1 files changed, 47 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
index 0643113eb6e0..0e60995a5727 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
@@ -259,6 +259,45 @@
gpio-controller;
#gpio-cells = <2>;
};
+
+ camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_camera>;
+ clocks = <&clk IMX8MN_CLK_CLKO1>;
+ clock-names = "xclk";
+ assigned-clocks = <&clk IMX8MN_CLK_CLKO1>;
+ assigned-clock-parents = <&clk IMX8MN_CLK_24M>;
+ assigned-clock-rates = <24000000>;
+ powerdown-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+
+ port {
+ ov5640_to_mipi_csi2: endpoint {
+ remote-endpoint = <&imx8mn_mipi_csi_in>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&isi {
+ status = "okay";
+};
+
+&mipi_csi {
+ status = "okay";
+
+ ports {
+ port@0 {
+ imx8mn_mipi_csi_in: endpoint {
+ remote-endpoint = <&ov5640_to_mipi_csi2>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
};
&lcdif {
@@ -393,6 +432,14 @@
};
&iomuxc {
+ pinctrl_camera: cameragrp {
+ fsl,pins = <
+ MX8MN_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x19
+ MX8MN_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x19
+ MX8MN_IOMUXC_GPIO1_IO14_CCMSRCGPCMIX_CLKO1 0x59
+ >;
+ };
+
pinctrl_fec1: fec1grp {
fsl,pins = <
MX8MN_IOMUXC_ENET_MDC_ENET1_MDC 0x3