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