xref: /linux/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk-camera-j1-imx462.dtso (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1*de6a859cSNiklas Söderlund// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*de6a859cSNiklas Söderlund/*
3*de6a859cSNiklas Söderlund * Device Tree Overlay for an IMX462 camera sensor on connector J1 on R-Car V4H
4*de6a859cSNiklas Söderlund * ES3.0 Sparrow Hawk board.
5*de6a859cSNiklas Söderlund *
6*de6a859cSNiklas Söderlund * Copyright 2025 Renesas Electronics Corp.
7*de6a859cSNiklas Söderlund * Copyright 2025 Niklas Söderlund <niklas.soderlund@ragnatech.se>
8*de6a859cSNiklas Söderlund */
9*de6a859cSNiklas Söderlund
10*de6a859cSNiklas Söderlund/dts-v1/;
11*de6a859cSNiklas Söderlund/plugin/;
12*de6a859cSNiklas Söderlund
13*de6a859cSNiklas Söderlund#include <dt-bindings/gpio/gpio.h>
14*de6a859cSNiklas Söderlund#include <dt-bindings/media/video-interfaces.h>
15*de6a859cSNiklas Söderlund
16*de6a859cSNiklas Söderlund&{/} {
17*de6a859cSNiklas Söderlund	clk_cam_j1: clk-cam-j1 {
18*de6a859cSNiklas Söderlund		compatible = "fixed-clock";
19*de6a859cSNiklas Söderlund		#clock-cells = <0>;
20*de6a859cSNiklas Söderlund		clock-frequency = <37125000>;
21*de6a859cSNiklas Söderlund	};
22*de6a859cSNiklas Söderlund
23*de6a859cSNiklas Söderlund	/* Page 29 / CSI_IF_CN / J1 */
24*de6a859cSNiklas Söderlund	reg_cam_j1: reg-cam-j1 {
25*de6a859cSNiklas Söderlund		compatible = "regulator-fixed";
26*de6a859cSNiklas Söderlund		regulator-name = "cam-J1";
27*de6a859cSNiklas Söderlund		enable-active-high;
28*de6a859cSNiklas Söderlund		gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
29*de6a859cSNiklas Söderlund	};
30*de6a859cSNiklas Söderlund};
31*de6a859cSNiklas Söderlund
32*de6a859cSNiklas Söderlund&i2c1 {
33*de6a859cSNiklas Söderlund	#address-cells = <1>;
34*de6a859cSNiklas Söderlund	#size-cells = <0>;
35*de6a859cSNiklas Söderlund	status = "okay";
36*de6a859cSNiklas Söderlund
37*de6a859cSNiklas Söderlund	cam@1a {
38*de6a859cSNiklas Söderlund		compatible = "sony,imx462lqr";
39*de6a859cSNiklas Söderlund		reg = <0x1a>;
40*de6a859cSNiklas Söderlund
41*de6a859cSNiklas Söderlund		clocks = <&clk_cam_j1>;
42*de6a859cSNiklas Söderlund		clock-names = "xclk";
43*de6a859cSNiklas Söderlund		clock-frequency = <37125000>;
44*de6a859cSNiklas Söderlund
45*de6a859cSNiklas Söderlund		vdddo-supply = <&reg_cam_j1>;
46*de6a859cSNiklas Söderlund		vdda-supply = <&reg_cam_j1>;
47*de6a859cSNiklas Söderlund		vddd-supply = <&reg_cam_j1>;
48*de6a859cSNiklas Söderlund
49*de6a859cSNiklas Söderlund		orientation = <2>;
50*de6a859cSNiklas Söderlund		rotation = <0>;
51*de6a859cSNiklas Söderlund
52*de6a859cSNiklas Söderlund		port {
53*de6a859cSNiklas Söderlund			imx462_j1_out: endpoint {
54*de6a859cSNiklas Söderlund				link-frequencies = /bits/ 64 <222750000 148500000>;
55*de6a859cSNiklas Söderlund				data-lanes = <1 2 3 4>;
56*de6a859cSNiklas Söderlund				remote-endpoint = <&csi40_in>;
57*de6a859cSNiklas Söderlund			};
58*de6a859cSNiklas Söderlund		};
59*de6a859cSNiklas Söderlund	};
60*de6a859cSNiklas Söderlund};
61*de6a859cSNiklas Söderlund
62*de6a859cSNiklas Söderlund/* Page 29 / CSI_IF_CN */
63*de6a859cSNiklas Söderlund&csi40 {
64*de6a859cSNiklas Söderlund	status = "okay";
65*de6a859cSNiklas Söderlund
66*de6a859cSNiklas Söderlund	ports {
67*de6a859cSNiklas Söderlund		#address-cells = <1>;
68*de6a859cSNiklas Söderlund		#size-cells = <0>;
69*de6a859cSNiklas Söderlund
70*de6a859cSNiklas Söderlund		port@0 {
71*de6a859cSNiklas Söderlund			reg = <0>;
72*de6a859cSNiklas Söderlund
73*de6a859cSNiklas Söderlund			csi40_in: endpoint {
74*de6a859cSNiklas Söderlund				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
75*de6a859cSNiklas Söderlund				clock-lanes = <0>;
76*de6a859cSNiklas Söderlund				data-lanes = <1 2 3 4>;
77*de6a859cSNiklas Söderlund				remote-endpoint = <&imx462_j1_out>;
78*de6a859cSNiklas Söderlund			};
79*de6a859cSNiklas Söderlund		};
80*de6a859cSNiklas Söderlund	};
81*de6a859cSNiklas Söderlund};
82*de6a859cSNiklas Söderlund
83*de6a859cSNiklas Söderlund&isp0 {
84*de6a859cSNiklas Söderlund	status = "okay";
85*de6a859cSNiklas Söderlund};
86*de6a859cSNiklas Söderlund
87*de6a859cSNiklas Söderlund&vin00 {
88*de6a859cSNiklas Söderlund	status = "okay";
89*de6a859cSNiklas Söderlund};
90*de6a859cSNiklas Söderlund
91*de6a859cSNiklas Söderlund&vin01 {
92*de6a859cSNiklas Söderlund	status = "okay";
93*de6a859cSNiklas Söderlund};
94*de6a859cSNiklas Söderlund
95*de6a859cSNiklas Söderlund&vin02 {
96*de6a859cSNiklas Söderlund	status = "okay";
97*de6a859cSNiklas Söderlund};
98*de6a859cSNiklas Söderlund
99*de6a859cSNiklas Söderlund&vin03 {
100*de6a859cSNiklas Söderlund	status = "okay";
101*de6a859cSNiklas Söderlund};
102*de6a859cSNiklas Söderlund
103*de6a859cSNiklas Söderlund&vin04 {
104*de6a859cSNiklas Söderlund	status = "okay";
105*de6a859cSNiklas Söderlund};
106*de6a859cSNiklas Söderlund
107*de6a859cSNiklas Söderlund&vin05 {
108*de6a859cSNiklas Söderlund	status = "okay";
109*de6a859cSNiklas Söderlund};
110*de6a859cSNiklas Söderlund
111*de6a859cSNiklas Söderlund&vin06 {
112*de6a859cSNiklas Söderlund	status = "okay";
113*de6a859cSNiklas Söderlund};
114*de6a859cSNiklas Söderlund
115*de6a859cSNiklas Söderlund&vin07 {
116*de6a859cSNiklas Söderlund	status = "okay";
117*de6a859cSNiklas Söderlund};
118