summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2021-04-07 16:24:12 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2021-04-07 16:39:54 +0200
commit99ca11738f99cd54c6685ea172773d04956da1b4 (patch)
tree45b1f8381b0506ae9301d58f2ce5773902b2a067
parentffc4fcbf04b03c328a786b0bb6812f565109f8fd (diff)
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 <marcel.ziswiler@toradex.com>
-rw-r--r--overlays/Makefile1
-rw-r--r--overlays/apalis-imx8x_ov5640_overlay.dts90
2 files changed, 91 insertions, 0 deletions
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 <dt-bindings/gpio/gpio.h>
+
+/ {
+ compatible = "toradex,apalis-imx8x";
+};
+
+/* Apalis I2C3 (CAM) */
+&i2c3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ ov5640_mipi@3c {
+ AVDD-supply = <&reg_module_3v3>;
+ compatible = "ovti,ov5640";
+ clocks = <&xtal24m>;
+ clock-names = "xclk";
+ csi_id = <0>;
+ DOVDD-supply = <&reg_module_3v3>;
+ DVDD-supply = <&reg_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 MIPI_VCx Output>
+ * 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>;
+ };
+ };
+};