summaryrefslogtreecommitdiff
path: root/arch/arm64
diff options
context:
space:
mode:
authorGuoniu.zhou <guoniu.zhou@nxp.com>2019-09-24 14:01:56 +0800
committerDong Aisheng <aisheng.dong@nxp.com>2019-11-25 16:07:57 +0800
commita22e26b75ab0af2a8435e959b439ff73f6bebd77 (patch)
tree4de90d54108ca93e7189cd1ef3e7a5783d4dd4ac /arch/arm64
parent83fc74ac28129f533578f215a592b85a2a0b1780 (diff)
arm64: dts: imx8qm: Change OV10635 as default camera
Change OV10635 as default camera for IMX8QM platform and OV5640 as optional choice. For OV10635, IMX8QM support eight sensors. For OV5640, IMX8QM support two. Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r--arch/arm64/boot/dts/freescale/Makefile2
-rw-r--r--arch/arm64/boot/dts/freescale/imx8qm-mek-max9286.dts110
-rw-r--r--arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640.dts154
-rwxr-xr-xarch/arm64/boot/dts/freescale/imx8qm-mek.dts121
4 files changed, 243 insertions, 144 deletions
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 50e17190cdbf..6b8c7f628ffa 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -33,7 +33,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mq-pico-pi.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk-hdmi.dtb imx8mq-evk-dp.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-zii-ultra-rmb3.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-zii-ultra-zest.dtb
-dtb-$(CONFIG_ARCH_MXC) += imx8qm-mek.dtb imx8qm-mek-max9286.dtb \
+dtb-$(CONFIG_ARCH_MXC) += imx8qm-mek.dtb imx8qm-mek-ov5640.dtb \
imx8qm-mek-enet2-tja1100.dtb imx8qm-mek-rpmsg.dtb \
imx8qm-mek-hdmi.dtb imx8qm-mek-dsp.dtb \
imx8qm-lpddr4-val.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek-max9286.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek-max9286.dts
deleted file mode 100644
index 9f133068331f..000000000000
--- a/arch/arm64/boot/dts/freescale/imx8qm-mek-max9286.dts
+++ /dev/null
@@ -1,110 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-// Copyright NXP 2019
-
-#include "imx8qm-mek.dts"
-
-&isi_0 {
- status = "okay";
-};
-
-&isi_1 {
- status = "okay";
-};
-
-&isi_2 {
- status = "okay";
-};
-
-&isi_3 {
- status = "okay";
-};
-
-&isi_4 {
- status = "okay";
-};
-
-&isi_5 {
- status = "okay";
-};
-
-&isi_6 {
- status = "okay";
-};
-
-&isi_7 {
- status = "okay";
-};
-
-&mipi_csi_0 {
- virtual-channel;
-
- /* Camera 0 MIPI CSI-2 (CSIS0) */
- port@0 {
- reg = <0>;
- mipi_csi0_ep: endpoint {
- remote-endpoint = <&max9286_0_ep>;
- data-lanes = <1 2 3 4>;
- };
- };
-};
-
-&mipi_csi_1 {
- virtual-channel;
-
- /* Camera 0 MIPI CSI-2 (CSIS0) */
- port@1 {
- reg = <1>;
- mipi_csi1_ep: endpoint {
- remote-endpoint = <&max9286_1_ep>;
- data-lanes = <1 2 3 4>;
- };
- };
-};
-
-&i2c_mipi_csi0 {
- max9286_mipi@6a {
- compatible = "maxim,max9286_mipi";
- reg = <0x6a>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_mipi_csi0>;
- clocks = <&clk_dummy>;
- clock-names = "capture_mclk";
- mclk = <27000000>;
- mclk_source = <0>;
- pwn-gpios = <&lsio_gpio1 27 GPIO_ACTIVE_HIGH>;
- virtual-channel;
- status = "okay";
- port {
- max9286_0_ep: endpoint {
- remote-endpoint = <&mipi_csi0_ep>;
- data-lanes = <1 2 3 4>;
- };
- };
- };
-
- /delete-node/ov5640_mipi@3c;
-};
-
-&i2c_mipi_csi1 {
- max9286_mipi@6a {
- compatible = "maxim,max9286_mipi";
- reg = <0x6a>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_mipi_csi1>;
- clocks = <&clk_dummy>;
- clock-names = "capture_mclk";
- mclk = <27000000>;
- mclk_source = <0>;
- pwn-gpios = <&lsio_gpio1 30 GPIO_ACTIVE_HIGH>;
- virtual-channel;
- status = "okay";
- port {
- max9286_1_ep: endpoint {
- remote-endpoint = <&mipi_csi1_ep>;
- data-lanes = <1 2 3 4>;
- };
- };
- };
-
- /delete-node/ov5640_mipi@3c;
-};
diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640.dts
new file mode 100644
index 000000000000..e58913258af8
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-ov5640.dts
@@ -0,0 +1,154 @@
+// SPDX-License-Identifier: GPL-2.0+
+// Copyright NXP 2019
+
+#include "imx8qm-mek.dts"
+
+&isi_0 {
+ status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
+
+ m2m_device {
+ status = "okay";
+ };
+};
+
+&isi_1 {
+ status = "disabled";
+
+ cap_device {
+ status = "disabled";
+ };
+};
+
+&isi_2 {
+ status = "disabled";
+
+ cap_device {
+ status = "disabled";
+ };
+};
+
+&isi_3 {
+ status = "disabled";
+
+ cap_device {
+ status = "disabled";
+ };
+};
+
+&isi_4 {
+ status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
+};
+
+&isi_5 {
+ status = "disabled";
+
+ cap_device {
+ status = "disabled";
+ };
+};
+
+&isi_6 {
+ status = "disabled";
+
+ cap_device {
+ status = "disabled";
+ };
+};
+
+&isi_7 {
+ status = "disabled";
+
+ cap_device {
+ status = "disabled";
+ };
+};
+
+&mipi_csi_0 {
+ /delete-property/virtual-channel;
+
+ /* Camera 0 MIPI CSI-2 (CSIS0) */
+ port@0 {
+ reg = <0>;
+ mipi_csi0_ep: endpoint {
+ remote-endpoint = <&ov5640_mipi_0_ep>;
+ data-lanes = <1 2>;
+ bus-type = <4>;
+ };
+ };
+};
+
+&mipi_csi_1 {
+ /delete-property/virtual-channel;
+
+ /* Camera 1 MIPI CSI-2 (CSIS0) */
+ port@1 {
+ reg = <1>;
+ mipi_csi1_ep: endpoint {
+ remote-endpoint = <&ov5640_mipi_1_ep>;
+ data-lanes = <1 2>;
+ bus-type = <4>;
+ };
+ };
+};
+
+&i2c_mipi_csi0 {
+ ov5640_mipi_0: ov5640_mipi@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mipi_csi0>;
+ clocks = <&xtal24m>;
+ clock-names = "xclk";
+ csi_id = <0>;
+ powerdown-gpios = <&lsio_gpio1 28 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&lsio_gpio1 27 GPIO_ACTIVE_LOW>;
+ mclk = <24000000>;
+ mclk_source = <0>;
+ mipi_csi;
+ status = "okay";
+ port {
+ ov5640_mipi_0_ep: endpoint {
+ remote-endpoint = <&mipi_csi0_ep>;
+ data-lanes = <1 2>;
+ clocks-lanes = <0>;
+ };
+ };
+ };
+
+ /delete-node/max9286_mipi@6a;
+};
+
+&i2c_mipi_csi1 {
+ ov5640_mipi_1: ov5640_mipi@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mipi_csi1>;
+ clocks = <&xtal24m>;
+ clock-names = "xclk";
+ csi_id = <0>;
+ powerdown-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&lsio_gpio1 30 GPIO_ACTIVE_LOW>;
+ mclk = <24000000>;
+ mclk_source = <0>;
+ mipi_csi;
+ status = "okay";
+ port {
+ ov5640_mipi_1_ep: endpoint {
+ remote-endpoint = <&mipi_csi1_ep>;
+ data-lanes = <1 2>;
+ clocks-lanes = <0>;
+ };
+ };
+ };
+
+ /delete-node/max9286_mipi@6a;
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
index 5f5388762e56..a70da7279cf2 100755
--- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
+++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts
@@ -769,10 +769,70 @@
&isi_0 {
status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
+
+ m2m_device {
+ status = "okay";
+ };
+};
+
+&isi_1 {
+ status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
+};
+
+&isi_2 {
+ status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
+};
+
+&isi_3 {
+ status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
};
&isi_4 {
status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
+};
+
+&isi_5 {
+ status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
+};
+
+&isi_6 {
+ status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
+};
+
+&isi_7 {
+ status = "okay";
+
+ cap_device {
+ status = "okay";
+ };
};
&irqsteer_csi0 {
@@ -786,15 +846,15 @@
&mipi_csi_0 {
#address-cells = <1>;
#size-cells = <0>;
+ virtual-channel;
status = "okay";
/* Camera 0 MIPI CSI-2 (CSIS0) */
port@0 {
reg = <0>;
mipi_csi0_ep: endpoint {
- remote-endpoint = <&ov5640_mipi_0_ep>;
- data-lanes = <1 2>;
- bus-type = <4>;
+ remote-endpoint = <&max9286_0_ep>;
+ data-lanes = <1 2 3 4>;
};
};
};
@@ -802,15 +862,15 @@
&mipi_csi_1 {
#address-cells = <1>;
#size-cells = <0>;
+ virtual-channel;
status = "okay";
- /* Camera 0 MIPI CSI-2 (CSIS0) */
+ /* Camera 1 MIPI CSI-2 (CSIS1) */
port@1 {
reg = <1>;
mipi_csi1_ep: endpoint {
- remote-endpoint = <&ov5640_mipi_1_ep>;
- data-lanes = <1 2>;
- bus-type = <4>;
+ remote-endpoint = <&max9286_1_ep>;
+ data-lanes = <1 2 3 4>;
};
};
};
@@ -823,25 +883,22 @@
clock-frequency = <100000>;
status = "okay";
- ov5640_mipi_0: ov5640_mipi@3c {
- compatible = "ovti,ov5640";
- reg = <0x3c>;
+ max9286_mipi@6a {
+ compatible = "maxim,max9286_mipi";
+ reg = <0x6a>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mipi_csi0>;
- clocks = <&xtal24m>;
- clock-names = "xclk";
- csi_id = <0>;
- powerdown-gpios = <&lsio_gpio1 28 GPIO_ACTIVE_HIGH>;
- reset-gpios = <&lsio_gpio1 27 GPIO_ACTIVE_LOW>;
- mclk = <24000000>;
+ clocks = <&clk_dummy>;
+ clock-names = "capture_mclk";
+ mclk = <27000000>;
mclk_source = <0>;
- mipi_csi;
+ pwn-gpios = <&lsio_gpio1 27 GPIO_ACTIVE_HIGH>;
+ virtual-channel;
status = "okay";
port {
- ov5640_mipi_0_ep: endpoint {
+ max9286_0_ep: endpoint {
remote-endpoint = <&mipi_csi0_ep>;
- data-lanes = <1 2>;
- clocks-lanes = <0>;
+ data-lanes = <1 2 3 4>;
};
};
};
@@ -855,28 +912,26 @@
clock-frequency = <100000>;
status = "okay";
- ov5640_mipi_1: ov5640_mipi@3c {
- compatible = "ovti,ov5640";
- reg = <0x3c>;
+ max9286_mipi@6a {
+ compatible = "maxim,max9286_mipi";
+ reg = <0x6a>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mipi_csi1>;
- clocks = <&xtal24m>;
- clock-names = "xclk";
- csi_id = <0>;
- powerdown-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>;
- reset-gpios = <&lsio_gpio1 30 GPIO_ACTIVE_LOW>;
- mclk = <24000000>;
+ clocks = <&clk_dummy>;
+ clock-names = "capture_mclk";
+ mclk = <27000000>;
mclk_source = <0>;
- mipi_csi;
+ pwn-gpios = <&lsio_gpio1 30 GPIO_ACTIVE_HIGH>;
+ virtual-channel;
status = "okay";
port {
- ov5640_mipi_1_ep: endpoint {
+ max9286_1_ep: endpoint {
remote-endpoint = <&mipi_csi1_ep>;
- data-lanes = <1 2>;
- clocks-lanes = <0>;
+ data-lanes = <1 2 3 4>;
};
};
};
+
};
&iomuxc {