diff options
Diffstat (limited to 'arch/arm64/boot/dts/freescale')
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>; + }; + }; +}; |