summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2020-12-23 12:47:23 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2020-12-23 12:51:03 +0100
commit4dba13df902f36cf45bcdb055d0602336bbd79b7 (patch)
treeb63f86dbe3659af342b2023cf62a70d30ec227c8
parentfc942a3e14bfa8352d85a843ba0c15eea0e01a21 (diff)
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 <marcel.ziswiler@toradex.com>
-rw-r--r--overlays/Makefile1
-rw-r--r--overlays/apalis-imx8_ov5640-2_overlay.dts81
2 files changed, 82 insertions, 0 deletions
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 <dt-bindings/clock/imx8-clock.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ 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";
+};