summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/boot/dts/freescale/Makefile5
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-eval-ar0521.dts76
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-ixora-v1.1-ar0521.dts78
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-v1.1-eval-ar0521.dts76
4 files changed, 234 insertions, 1 deletions
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 77f08d0f55a2..6b7032feaa11 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -59,8 +59,11 @@ dtb-$(CONFIG_ARCH_FSL_IMX8QM) += fsl-imx8qm-lpddr4-arm2.dtb \
fsl-imx8qp-lpddr4-arm2.dtb \
fsl-imx8qm-lpddr4-arm2-dp-dig-pll.dtb \
fsl-imx8qm-apalis-eval.dtb \
+ fsl-imx8qm-apalis-eval-ar0521.dtb \
fsl-imx8qm-apalis-v1.1-eval.dtb \
- fsl-imx8qm-apalis-ixora-v1.1.dtb
+ fsl-imx8qm-apalis-v1.1-eval-ar0521.dtb \
+ fsl-imx8qm-apalis-ixora-v1.1.dtb \
+ fsl-imx8qm-apalis-ixora-v1.1-ar0521.dtb
dtb-$(CONFIG_ARCH_FSL_IMX8QXP) += fsl-imx8qxp-lpddr4-arm2.dtb \
fsl-imx8qxp-mek.dtb \
fsl-imx8qxp-mek-rpmsg.dtb \
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-eval-ar0521.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-eval-ar0521.dts
new file mode 100644
index 000000000000..b63f9aa70421
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-eval-ar0521.dts
@@ -0,0 +1,76 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2020 Toradex
+ */
+
+/dts-v1/;
+
+#include "fsl-imx8qm-apalis.dtsi"
+#include "fsl-imx8qm-apalis-eval.dtsi"
+
+/ {
+ model = "Toradex Apalis iMX8QM/QP on Apalis Evaluation Board + e-con Systems AR0521 Camera";
+ compatible = "toradex,apalis-imx8qm-eval-ar0521", "toradex,apalis-imx8qm-eval",
+ "toradex,apalis-imx8qm", "fsl,imx8qm";
+};
+
+/*
+ * Disable OV5640 and enable AR0521.
+ */
+&ov5640_mipi {
+ status = "disabled";
+};
+
+&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_cam1_gpios>, <&pinctrl_dap1_gpios>,
+ <&pinctrl_esai0_gpios>, <&pinctrl_fec2_gpios>,
+ <&pinctrl_gpio2>, <&pinctrl_gpio4>,
+ <&pinctrl_gpio_usbh_oc_n>, <&pinctrl_lpuart1ctrl>,
+ <&pinctrl_lvds0_i2c0_gpio>, <&pinctrl_lvds1_i2c0_gpios>,
+ <&pinctrl_mipi_dsi_0_1_en>, <&pinctrl_mipi_dsi1_gpios>,
+ <&pinctrl_mlb_gpios>, <&pinctrl_qspi1a_gpios>,
+ <&pinctrl_sata1_act>, <&pinctrl_sim0_gpios>,
+ <&pinctrl_usdhc1_gpios>;
+};
+
+&i2c3 {
+ status = "okay";
+
+ ar0521_mipi: ar0521_mipi@42 {
+ compatible = "ar0521";
+ clocks = <&clk IMX8QM_24MHZ>;
+ clock-names = "csi_mclk";
+ csi_id = <1>;
+ mclk = <24000000>;
+ mclk_source = <0>;
+ mipi_csi;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio3>;
+ pwn-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; /* Apalis GPIO3 */
+ reg = <0x42>;
+ rst-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; /* Apalis GPIO1 */
+ status = "okay";
+
+ port {
+ ar0521_ep_1: endpoint {
+ remote-endpoint = <&mipi_csi1_ep>;
+ };
+ };
+ };
+};
+
+&mipi_csi_1 {
+ /delete-property/virtual-channel;
+ status = "okay";
+
+ /* Camera 0 MIPI CSI-2 (CSIS1) */
+ port@1 {
+ reg = <1>;
+
+ mipi_csi1_ep: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&ar0521_ep_1>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-ixora-v1.1-ar0521.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-ixora-v1.1-ar0521.dts
new file mode 100644
index 000000000000..bcbb930e8831
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-ixora-v1.1-ar0521.dts
@@ -0,0 +1,78 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2020 Toradex
+ */
+
+/dts-v1/;
+
+#include "fsl-imx8qm-apalis.dtsi"
+#include "fsl-imx8qm-apalis-ixora-v1.1.dtsi"
+
+/ {
+ model = "Toradex Apalis iMX8QM/QP on Apalis Ixora Board V1.1 + e-con Systems AR0521 Camera";
+ compatible = "toradex,apalis-imx8qm-ixora-v1.1-ar0521", "toradex,apalis-imx8qm-ixora-v1.1",
+ "toradex,apalis-imx8qm-ixora", "toradex,apalis-imx8qm", "fsl,imx8qm";
+};
+
+/*
+ * Disable OV5640 and enable AR0521.
+ */
+&ov5640_mipi {
+ status = "disabled";
+};
+
+&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_cam1_gpios>, <&pinctrl_dap1_gpios>,
+ <&pinctrl_esai0_gpios>, <&pinctrl_fec2_gpios>,
+ <&pinctrl_gpio2>, <&pinctrl_gpio4>,
+ <&pinctrl_gpio_usbh_oc_n>, <&pinctrl_lpuart1ctrl>,
+ <&pinctrl_lvds0_i2c0_gpio>, <&pinctrl_lvds1_i2c0_gpios>,
+ <&pinctrl_mipi_dsi_0_1_en>, <&pinctrl_mipi_dsi1_gpios>,
+ <&pinctrl_mlb_gpios>, <&pinctrl_qspi1a_gpios>,
+ <&pinctrl_sata1_act>, <&pinctrl_sim0_gpios>,
+ <&pinctrl_usdhc1_gpios>;
+};
+
+&i2c3 {
+ status = "okay";
+
+ ar0521_mipi: ar0521_mipi@42 {
+ compatible = "ar0521";
+ clocks = <&clk IMX8QM_24MHZ>;
+ clock-names = "csi_mclk";
+ csi_id = <1>;
+ mclk = <24000000>;
+ mclk_source = <0>;
+ mipi_csi;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio3>;
+ pwn-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; /* Apalis GPIO3 */
+ reg = <0x42>;
+ rst-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; /* Apalis GPIO1 */
+ status = "okay";
+ camera_mipi_lanes = <4>;
+
+ port {
+ ar0521_ep: endpoint {
+ remote-endpoint = <&mipi_csi1_ep>;
+ };
+ };
+ };
+};
+
+&mipi_csi_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ /delete-property/virtual-channel;
+
+ /* Camera 0 MIPI CSI-2 (CSIS1) */
+ port@1 {
+ reg = <1>;
+
+ mipi_csi1_ep: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&ar0521_ep>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-v1.1-eval-ar0521.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-v1.1-eval-ar0521.dts
new file mode 100644
index 000000000000..7ec3e9d35121
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-v1.1-eval-ar0521.dts
@@ -0,0 +1,76 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+/*
+ * Copyright 2020 Toradex
+ */
+
+/dts-v1/;
+
+#include "fsl-imx8qm-apalis-v1.1.dtsi"
+#include "fsl-imx8qm-apalis-eval.dtsi"
+
+/ {
+ model = "Toradex Apalis iMX8QM/QP V1.1 on Apalis Eval Board + e-con Systems AR0521 Camera";
+ compatible = "toradex,apalis-imx8qm-v1.1-eval-ar0521", "toradex,apalis-imx8qm-v1.1-eval",
+ "toradex,apalis-imx8qm", "fsl,imx8qm";
+};
+
+/*
+ * Disable OV5640 and enable AR0521.
+ */
+&ov5640_mipi {
+ status = "disabled";
+};
+
+&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_cam1_gpios>, <&pinctrl_dap1_gpios>,
+ <&pinctrl_esai0_gpios>, <&pinctrl_fec2_gpios>,
+ <&pinctrl_gpio2>, <&pinctrl_gpio4>,
+ <&pinctrl_gpio_usbh_oc_n>, <&pinctrl_lpuart1ctrl>,
+ <&pinctrl_lvds0_i2c0_gpio>, <&pinctrl_lvds1_i2c0_gpios>,
+ <&pinctrl_mipi_dsi_0_1_en>, <&pinctrl_mipi_dsi1_gpios>,
+ <&pinctrl_mlb_gpios>, <&pinctrl_qspi1a_gpios>,
+ <&pinctrl_sata1_act>, <&pinctrl_sim0_gpios>,
+ <&pinctrl_usdhc1_gpios>;
+};
+
+&i2c3 {
+ status = "okay";
+
+ ar0521_mipi: ar0521_mipi@42 {
+ compatible = "ar0521";
+ clocks = <&clk IMX8QM_24MHZ>;
+ clock-names = "csi_mclk";
+ csi_id = <1>;
+ mclk = <24000000>;
+ mclk_source = <0>;
+ mipi_csi;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio3>;
+ pwn-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; /* Apalis GPIO3 */
+ reg = <0x42>;
+ rst-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; /* Apalis GPIO1 */
+ status = "okay";
+
+ port {
+ ar0521_ep_1: endpoint {
+ remote-endpoint = <&mipi_csi1_ep>;
+ };
+ };
+ };
+};
+
+&mipi_csi_1 {
+ /delete-property/virtual-channel;
+ status = "okay";
+
+ /* Camera 0 MIPI CSI-2 (CSIS1) */
+ port@1 {
+ reg = <1>;
+
+ mipi_csi1_ep: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&ar0521_ep_1>;
+ };
+ };
+};