xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/rz-smarc-cru-csi-ov5645.dtsi (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1*fac71e4eSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*fac71e4eSEmmanuel Vadot/*
3*fac71e4eSEmmanuel Vadot * Common Device Tree for the RZ/G2L SMARC EVK (and alike EVKs) with
4*fac71e4eSEmmanuel Vadot * OV5645 camera connected to CSI and CRU enabled.
5*fac71e4eSEmmanuel Vadot *
6*fac71e4eSEmmanuel Vadot * Copyright (C) 2023 Renesas Electronics Corp.
7*fac71e4eSEmmanuel Vadot */
8*fac71e4eSEmmanuel Vadot
9*fac71e4eSEmmanuel Vadot&{/} {
10*fac71e4eSEmmanuel Vadot	ov5645_vdddo_1v8: 1p8v {
11*fac71e4eSEmmanuel Vadot		compatible = "regulator-fixed";
12*fac71e4eSEmmanuel Vadot		regulator-name = "camera_vdddo";
13*fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
14*fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
15*fac71e4eSEmmanuel Vadot		regulator-always-on;
16*fac71e4eSEmmanuel Vadot	};
17*fac71e4eSEmmanuel Vadot
18*fac71e4eSEmmanuel Vadot	ov5645_vdda_2v8: 2p8v {
19*fac71e4eSEmmanuel Vadot		compatible = "regulator-fixed";
20*fac71e4eSEmmanuel Vadot		regulator-name = "camera_vdda";
21*fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
22*fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
23*fac71e4eSEmmanuel Vadot		regulator-always-on;
24*fac71e4eSEmmanuel Vadot	};
25*fac71e4eSEmmanuel Vadot
26*fac71e4eSEmmanuel Vadot	ov5645_vddd_1v5: 1p5v {
27*fac71e4eSEmmanuel Vadot		compatible = "regulator-fixed";
28*fac71e4eSEmmanuel Vadot		regulator-name = "camera_vddd";
29*fac71e4eSEmmanuel Vadot		regulator-min-microvolt = <1500000>;
30*fac71e4eSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
31*fac71e4eSEmmanuel Vadot		regulator-always-on;
32*fac71e4eSEmmanuel Vadot	};
33*fac71e4eSEmmanuel Vadot
34*fac71e4eSEmmanuel Vadot	ov5645_fixed_clk: osc25250-clk {
35*fac71e4eSEmmanuel Vadot		compatible = "fixed-clock";
36*fac71e4eSEmmanuel Vadot		#clock-cells = <0>;
37*fac71e4eSEmmanuel Vadot		clock-frequency = <24000000>;
38*fac71e4eSEmmanuel Vadot	};
39*fac71e4eSEmmanuel Vadot};
40*fac71e4eSEmmanuel Vadot
41*fac71e4eSEmmanuel Vadot&cru {
42*fac71e4eSEmmanuel Vadot	status = "okay";
43*fac71e4eSEmmanuel Vadot};
44*fac71e4eSEmmanuel Vadot
45*fac71e4eSEmmanuel Vadot&csi2 {
46*fac71e4eSEmmanuel Vadot	status = "okay";
47*fac71e4eSEmmanuel Vadot
48*fac71e4eSEmmanuel Vadot	ports {
49*fac71e4eSEmmanuel Vadot		port@0 {
50*fac71e4eSEmmanuel Vadot			csi2_in: endpoint {
51*fac71e4eSEmmanuel Vadot				clock-lanes = <0>;
52*fac71e4eSEmmanuel Vadot				data-lanes = <1 2>;
53*fac71e4eSEmmanuel Vadot				remote-endpoint = <&ov5645_ep>;
54*fac71e4eSEmmanuel Vadot			};
55*fac71e4eSEmmanuel Vadot		};
56*fac71e4eSEmmanuel Vadot	};
57*fac71e4eSEmmanuel Vadot};
58*fac71e4eSEmmanuel Vadot
59*fac71e4eSEmmanuel Vadot&OV5645_PARENT_I2C {
60*fac71e4eSEmmanuel Vadot	#address-cells = <1>;
61*fac71e4eSEmmanuel Vadot	#size-cells = <0>;
62*fac71e4eSEmmanuel Vadot
63*fac71e4eSEmmanuel Vadot	ov5645: camera@3c {
64*fac71e4eSEmmanuel Vadot		compatible = "ovti,ov5645";
65*fac71e4eSEmmanuel Vadot		reg = <0x3c>;
66*fac71e4eSEmmanuel Vadot		clocks = <&ov5645_fixed_clk>;
67*fac71e4eSEmmanuel Vadot		clock-frequency = <24000000>;
68*fac71e4eSEmmanuel Vadot		vdddo-supply = <&ov5645_vdddo_1v8>;
69*fac71e4eSEmmanuel Vadot		vdda-supply = <&ov5645_vdda_2v8>;
70*fac71e4eSEmmanuel Vadot		vddd-supply = <&ov5645_vddd_1v5>;
71*fac71e4eSEmmanuel Vadot
72*fac71e4eSEmmanuel Vadot		port {
73*fac71e4eSEmmanuel Vadot			ov5645_ep: endpoint {
74*fac71e4eSEmmanuel Vadot				clock-lanes = <0>;
75*fac71e4eSEmmanuel Vadot				data-lanes = <1 2>;
76*fac71e4eSEmmanuel Vadot				remote-endpoint = <&csi2_in>;
77*fac71e4eSEmmanuel Vadot			};
78*fac71e4eSEmmanuel Vadot		};
79*fac71e4eSEmmanuel Vadot	};
80*fac71e4eSEmmanuel Vadot};
81