summaryrefslogtreecommitdiff
path: root/overlays/verdin-imx8mp_ov5640_overlay.dts
diff options
context:
space:
mode:
Diffstat (limited to 'overlays/verdin-imx8mp_ov5640_overlay.dts')
-rw-r--r--overlays/verdin-imx8mp_ov5640_overlay.dts84
1 files changed, 84 insertions, 0 deletions
diff --git a/overlays/verdin-imx8mp_ov5640_overlay.dts b/overlays/verdin-imx8mp_ov5640_overlay.dts
new file mode 100644
index 0000000..5f6bfcb
--- /dev/null
+++ b/overlays/verdin-imx8mp_ov5640_overlay.dts
@@ -0,0 +1,84 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2024 Toradex
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/imx8mp-clock.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ compatible = "toradex,verdin-imx8mp";
+};
+
+&{/} {
+ clk_camera_verdin_csi: camera-verdin-csi-clock {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ };
+
+ regulator_camera: regulator-camera {
+ compatible = "regulator-fixed";
+ /* Verdin GPIO_8_CSI - Camera Connector 24 */
+ gpio = <&gpio4 1 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-name = "V_CSI";
+ startup-delay-us = <5000>;
+ };
+};
+
+/* Verdin I2C_4_CSI */
+&i2c3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio5>, <&pinctrl_gpio6>;
+ clocks = <&clk_camera_verdin_csi>;
+ clock-names = "xclk";
+ AVDD-supply = <&regulator_camera>;
+ DOVDD-supply = <&regulator_camera>;
+ DVDD-supply = <&regulator_camera>;
+ /* Verdin GPIO6 - Camera Connector 22 */
+ powerdown-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ /* Verdin GPIO5 - Camera Connector 11 */
+ reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
+
+ port {
+ ov5640_to_mipi_csi_0: endpoint {
+ remote-endpoint = <&mipi_csi_0_in>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&isi_0 {
+ status = "okay";
+};
+
+&mipi_csi_0 {
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ mipi_csi_0_in: endpoint {
+ remote-endpoint = <&ov5640_to_mipi_csi_0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};