From 5903b6ce9b0fc2d5695d976d715c4e5b79b98b0a Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Tue, 7 Jul 2020 19:22:54 +0200 Subject: arm64: dts: apalis-imx8qm: add ar0521 device trees Temporarily add device trees for the e-con Systems e-CAM50_CUIMX8. Once we have working device tree overlays for this we may drop those again. These are the albeit heavily modified device tree parts from the following patch we got from Yogaesh on May 8, 2020: Related-to: ELB-2793 Signed-off-by: Marcel Ziswiler --- arch/arm64/boot/dts/freescale/Makefile | 5 +- .../freescale/fsl-imx8qm-apalis-eval-ar0521.dts | 76 +++++++++++++++++++++ .../fsl-imx8qm-apalis-ixora-v1.1-ar0521.dts | 78 ++++++++++++++++++++++ .../fsl-imx8qm-apalis-v1.1-eval-ar0521.dts | 76 +++++++++++++++++++++ 4 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-eval-ar0521.dts create mode 100644 arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-ixora-v1.1-ar0521.dts create mode 100644 arch/arm64/boot/dts/freescale/fsl-imx8qm-apalis-v1.1-eval-ar0521.dts 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>; + }; + }; +}; -- cgit v1.2.3