From 4dba13df902f36cf45bcdb055d0602336bbd79b7 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Wed, 23 Dec 2020 12:47:23 +0100 Subject: overlays: apalis-imx8_ov5640-2_overlay: 2nd csi camera module 5mp ov5640 Add device tree overlay for a 2nd CSI Camera Module 5MP OV5640 formerly orderable at Toradex connected to the Apalis iMX8 TS Mezzanine's X4 aka MIPI CSI-2, CSI_3 (QUAD LANE) with JP3 and JP4 in position 2-3. Related to: PMS-387 Signed-off-by: Marcel Ziswiler --- overlays/Makefile | 1 + overlays/apalis-imx8_ov5640-2_overlay.dts | 81 +++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 overlays/apalis-imx8_ov5640-2_overlay.dts diff --git a/overlays/Makefile b/overlays/Makefile index 85709bc..3e3254b 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -28,6 +28,7 @@ dtb-y += apalis-imx6_vga_overlay.dtbo dtb-y += apalis-imx8_atmel-mxt_overlay.dtbo dtb-y += apalis-imx8_lvds_overlay.dtbo dtb-y += apalis-imx8_ov5640_overlay.dtbo +dtb-y += apalis-imx8_ov5640-2_overlay.dtbo dtb-y += apalis-imx8x_ad7879_overlay.dtbo dtb-y += apalis-imx8x_atmel-mxt_overlay.dtbo dtb-y += apalis-imx8x_lvds_overlay.dtbo diff --git a/overlays/apalis-imx8_ov5640-2_overlay.dts b/overlays/apalis-imx8_ov5640-2_overlay.dts new file mode 100644 index 0000000..c271ce3 --- /dev/null +++ b/overlays/apalis-imx8_ov5640-2_overlay.dts @@ -0,0 +1,81 @@ +// CSI Camera Module 5MP OV5640 orderable at Toradex. + +/dts-v1/; +/plugin/; + +#include +#include + +/ { + compatible = "toradex,apalis-imx8"; +}; + +/* Apalis I2C1 (Apalis iMX8 TS Mezzanine JP3 and JP4 in position 2-3) */ +&i2c2 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + ov5640_mipi@3c { + compatible = "ovti,ov5640"; + clocks = <&xtal24m>; + clock-names = "xclk"; + csi_id = <0>; + mclk = <24000000>; + mclk_source = <0>; + mipi_csi; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_keys>, <&pinctrl_lpspi0>; + powerdown-gpios = <&lsio_gpio2 20 GPIO_ACTIVE_HIGH>; /* Apalis WAKE1_MICO (MXM3 pin 37) */ + reg = <0x3c>; + reset-gpios = <&lsio_gpio3 5 GPIO_ACTIVE_LOW>; /* Apalis SPI1_CS (MXM3 pin 227) */ + status = "okay"; + + port { + ov5640_mipi_0_ep: endpoint { + clocks-lanes = <0>; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi0_ep>; + }; + }; + }; +}; + +&isi_0 { + status = "okay"; + + cap_device { + status = "okay"; + }; + + m2m_device { + status = "okay"; + }; +}; + +/* Disable Apalis SPI1 as Apalis SPI1_CS is used as reset GPIO */ +&lpspi0 { + status = "disabled"; +}; + +&mipi_csi_0 { + #address-cells = <1>; + #size-cells = <0>; + /delete-property/virtual-channel; + status = "okay"; + + /* Camera 0 MIPI CSI-2 (CSIS0) */ + port@0 { + reg = <0>; + mipi_csi0_ep: endpoint { + bus-type = <4>; + data-lanes = <1 2>; + remote-endpoint = <&ov5640_mipi_0_ep>; + }; + }; +}; + +/* Disable wake-up key as Apalis WAKE1_MICO is used as power-down GPIO */ +&wakeup_key{ + status = "disabled"; +}; -- cgit v1.2.3