xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8qm-mek-ov5640-csi1.dtso (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*833e5d42SEmmanuel Vadot/*
3*833e5d42SEmmanuel Vadot * Copyright 2025 NXP
4*833e5d42SEmmanuel Vadot */
5*833e5d42SEmmanuel Vadot
6*833e5d42SEmmanuel Vadot/dts-v1/;
7*833e5d42SEmmanuel Vadot/plugin/;
8*833e5d42SEmmanuel Vadot
9*833e5d42SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10*833e5d42SEmmanuel Vadot#include <dt-bindings/media/video-interfaces.h>
11*833e5d42SEmmanuel Vadot
12*833e5d42SEmmanuel Vadot&i2c_mipi_csi1 {
13*833e5d42SEmmanuel Vadot	#address-cells = <1>;
14*833e5d42SEmmanuel Vadot	#size-cells = <0>;
15*833e5d42SEmmanuel Vadot	clock-frequency = <100000>;
16*833e5d42SEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c_mipi_csi1>;
17*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
18*833e5d42SEmmanuel Vadot	status = "okay";
19*833e5d42SEmmanuel Vadot
20*833e5d42SEmmanuel Vadot	ov5640_mipi_1: camera@3c {
21*833e5d42SEmmanuel Vadot		compatible = "ovti,ov5640";
22*833e5d42SEmmanuel Vadot		reg = <0x3c>;
23*833e5d42SEmmanuel Vadot		clocks = <&xtal24m>;
24*833e5d42SEmmanuel Vadot		clock-names = "xclk";
25*833e5d42SEmmanuel Vadot		pinctrl-0 = <&pinctrl_mipi_csi1>;
26*833e5d42SEmmanuel Vadot		pinctrl-names = "default";
27*833e5d42SEmmanuel Vadot		powerdown-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>;
28*833e5d42SEmmanuel Vadot		reset-gpios = <&lsio_gpio1 30 GPIO_ACTIVE_LOW>;
29*833e5d42SEmmanuel Vadot		AVDD-supply = <&reg_2v8>;
30*833e5d42SEmmanuel Vadot		DVDD-supply = <&reg_1v5>;
31*833e5d42SEmmanuel Vadot		DOVDD-supply = <&reg_1v8>;
32*833e5d42SEmmanuel Vadot
33*833e5d42SEmmanuel Vadot		port {
34*833e5d42SEmmanuel Vadot			ov5640_mipi_1_ep: endpoint {
35*833e5d42SEmmanuel Vadot				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
36*833e5d42SEmmanuel Vadot				data-lanes = <1 2>;
37*833e5d42SEmmanuel Vadot				remote-endpoint = <&mipi_csi1_in>;
38*833e5d42SEmmanuel Vadot			};
39*833e5d42SEmmanuel Vadot		};
40*833e5d42SEmmanuel Vadot	};
41*833e5d42SEmmanuel Vadot};
42*833e5d42SEmmanuel Vadot
43*833e5d42SEmmanuel Vadot&irqsteer_csi1 {
44*833e5d42SEmmanuel Vadot	status = "okay";
45*833e5d42SEmmanuel Vadot};
46*833e5d42SEmmanuel Vadot
47*833e5d42SEmmanuel Vadot&isi {
48*833e5d42SEmmanuel Vadot	status = "okay";
49*833e5d42SEmmanuel Vadot};
50*833e5d42SEmmanuel Vadot
51*833e5d42SEmmanuel Vadot&mipi_csi_1 {
52*833e5d42SEmmanuel Vadot	status = "okay";
53*833e5d42SEmmanuel Vadot
54*833e5d42SEmmanuel Vadot	ports {
55*833e5d42SEmmanuel Vadot		port@0 {
56*833e5d42SEmmanuel Vadot			mipi_csi1_in: endpoint {
57*833e5d42SEmmanuel Vadot				data-lanes = <1 2>;
58*833e5d42SEmmanuel Vadot				remote-endpoint = <&ov5640_mipi_1_ep>;
59*833e5d42SEmmanuel Vadot			};
60*833e5d42SEmmanuel Vadot		};
61*833e5d42SEmmanuel Vadot	};
62*833e5d42SEmmanuel Vadot};
63