diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2020-07-07 19:22:54 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2020-07-09 18:28:31 +0200 |
commit | 5903b6ce9b0fc2d5695d976d715c4e5b79b98b0a (patch) | |
tree | 38c97b8c6fa81b010c76c75dd74c6ca2c040190c /arch | |
parent | 950b5c0df30dec8d140b99b8782404d0ebb0dbc0 (diff) |
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
<yogaesh@e-consystems.com> on May 8, 2020:
Related-to: ELB-2793
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Diffstat (limited to 'arch')
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>; + }; + }; +}; |