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