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