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