From 99ca11738f99cd54c6685ea172773d04956da1b4 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Wed, 7 Apr 2021 16:24:12 +0200 Subject: overlays: apalis-imx8x_ov5640_overlay: csi camera module 5mp ov5640 Add device tree overlay for CSI Camera Module 5MP OV5640 previously orderable at Toradex. Related-to: ELB-3883 Signed-off-by: Marcel Ziswiler --- overlays/Makefile | 1 + overlays/apalis-imx8x_ov5640_overlay.dts | 90 ++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 overlays/apalis-imx8x_ov5640_overlay.dts diff --git a/overlays/Makefile b/overlays/Makefile index 6c1d4bd..0b043bc 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -36,6 +36,7 @@ dtb-y += apalis-imx8x_ad7879_overlay.dtbo dtb-y += apalis-imx8x_atmel-mxt_overlay.dtbo dtb-y += apalis-imx8x_dsihdmi_overlay.dtbo dtb-y += apalis-imx8x_lvds_overlay.dtbo +dtb-y += apalis-imx8x_ov5640_overlay.dtbo dtb-y += apalis-imx8x_parallel-rgb_overlay.dtbo dtb-y += colibri-imx6_atmel-mxt-adapter_overlay.dtbo dtb-y += colibri-imx6_atmel-mxt-connector_overlay.dtbo diff --git a/overlays/apalis-imx8x_ov5640_overlay.dts b/overlays/apalis-imx8x_ov5640_overlay.dts new file mode 100644 index 0000000..4245241 --- /dev/null +++ b/overlays/apalis-imx8x_ov5640_overlay.dts @@ -0,0 +1,90 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// CSI Camera Module 5MP OV5640 previously orderable at Toradex. + +/dts-v1/; +/plugin/; + +#include + +/ { + compatible = "toradex,apalis-imx8x"; +}; + +/* Apalis I2C3 (CAM) */ +&i2c3 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + ov5640_mipi@3c { + AVDD-supply = <®_module_3v3>; + compatible = "ovti,ov5640"; + clocks = <&xtal24m>; + clock-names = "xclk"; + csi_id = <0>; + DOVDD-supply = <®_module_3v3>; + DVDD-supply = <®_module_3v3>; + mclk = <24000000>; + mclk_source = <0>; + mipi_csi; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio2>; + powerdown-gpios = <&lsio_gpio3 22 GPIO_ACTIVE_HIGH>; /* Apalis GPIO2 */ + reg = <0x3c>; + reset-gpios = <&lsio_gpio3 21 GPIO_ACTIVE_LOW>; /* Apalis GPIO1 */ + status = "okay"; + + port { + ov5640_mipi_ep: endpoint { + clock-lanes = <0>; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi0_ep>; + }; + }; + }; +}; + +&irqsteer_csi0 { + status = "okay"; +}; + +&isi_0 { + /** + * interface = + * Input: 0-DC0, 1-DC1, 2-MIPI CSI0, 3-MIPI CSI1, 4-HDMI, 5-MEM, INPUT: 6-PARALLEL CSI + * MIPI_VCx: 0-VC0, 1-VC1, 2-VC2, 3-VC3, MIPI CSI only + * Output: 0-DC0, 1-DC1, 2-MEM + */ + interface = <2 0 2>; + status = "okay"; + + cap_device { + status = "okay"; + }; + + m2m_device { + status = "okay"; + }; +}; + +&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_ep>; + }; + }; +}; -- cgit v1.2.3