diff options
Diffstat (limited to 'overlays/toradex-smarc-imx8mp_csi0-ov5640-27mhz_overlay.dts')
-rw-r--r-- | overlays/toradex-smarc-imx8mp_csi0-ov5640-27mhz_overlay.dts | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/overlays/toradex-smarc-imx8mp_csi0-ov5640-27mhz_overlay.dts b/overlays/toradex-smarc-imx8mp_csi0-ov5640-27mhz_overlay.dts new file mode 100644 index 0000000..89f60a9 --- /dev/null +++ b/overlays/toradex-smarc-imx8mp_csi0-ov5640-27mhz_overlay.dts @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright (C) 2025 Toradex + * + * CSI Camera Module OV5640 with 27MHz Oscillator overlay for SMARC CSI0 + * + * https://developer.toradex.com/hardware/accessories/cameras/csi-camera-module-5mp-ov5640-arducam + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> + +/ { + compatible = "toradex,smarc-imx8mp"; +}; + +&{/} { + clk_csi_0_ov5640: ov5640-csi-0-clock { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <27000000>; + }; + + regulator_camera_csi_0: regulator-camera-csi-0 { + compatible = "regulator-fixed"; + /* SMARC GPIO0 as CAM0_PWR# - Camera Connector 24 */ + gpios = <&som_gpio_expander 0 GPIO_ACTIVE_LOW>; + enable-active-high; + regulator-name = "V_CSI"; + startup-delay-us = <5000>; + }; +}; + +/* SMARC I2C_CAM0 */ +&i2c3 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + camera@3c { + compatible = "ovti,ov5640"; + reg = <0x3c>; + clocks = <&clk_csi_0_ov5640>; + clock-names = "xclk"; + /* SMARC GPIO2 as CAM0_RST# - Camera Connector 11 */ + reset-gpios = <&som_gpio_expander 2 GPIO_ACTIVE_LOW>; + AVDD-supply = <®ulator_camera_csi_0>; + DVDD-supply = <®ulator_camera_csi_0>; + DOVDD-supply = <®ulator_camera_csi_0>; + PVDD-supply = <®ulator_camera_csi_0>; + + port { + ov5640_cam0_ep: endpoint { + remote-endpoint = <&mipi_csi_1_ep>; + clock-lanes = <0>; + data-lanes = <1 2>; + }; + }; + }; +}; + +&isi_0 { + status = "okay"; +}; + +/* SMARC CSI0 */ +&mipi_csi_1 { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mipi_csi_1_ep: endpoint { + remote-endpoint = <&ov5640_cam0_ep>; + data-lanes = <1 2>; + }; + }; + }; +}; |