178c84f46SGeert Uytterhoeven// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 278c84f46SGeert Uytterhoeven/* 378c84f46SGeert Uytterhoeven * Device Tree Source for the R-Car V4H White Hawk CSI/DSI sub-board 478c84f46SGeert Uytterhoeven * 578c84f46SGeert Uytterhoeven * Copyright (C) 2022 Glider bv 678c84f46SGeert Uytterhoeven */ 778c84f46SGeert Uytterhoeven 8*4077043bSNiklas Söderlund#include <dt-bindings/media/video-interfaces.h> 9*4077043bSNiklas Söderlund 10*4077043bSNiklas Söderlund&csi40 { 11*4077043bSNiklas Söderlund status = "okay"; 12*4077043bSNiklas Söderlund 13*4077043bSNiklas Söderlund ports { 14*4077043bSNiklas Söderlund #address-cells = <1>; 15*4077043bSNiklas Söderlund #size-cells = <0>; 16*4077043bSNiklas Söderlund 17*4077043bSNiklas Söderlund port@0 { 18*4077043bSNiklas Söderlund reg = <0>; 19*4077043bSNiklas Söderlund 20*4077043bSNiklas Söderlund csi40_in: endpoint { 21*4077043bSNiklas Söderlund bus-type = <MEDIA_BUS_TYPE_CSI2_CPHY>; 22*4077043bSNiklas Söderlund clock-lanes = <0>; 23*4077043bSNiklas Söderlund data-lanes = <1 2 3>; 24*4077043bSNiklas Söderlund remote-endpoint = <&max96712_out0>; 25*4077043bSNiklas Söderlund }; 26*4077043bSNiklas Söderlund }; 27*4077043bSNiklas Söderlund }; 28*4077043bSNiklas Söderlund}; 29*4077043bSNiklas Söderlund 30*4077043bSNiklas Söderlund&csi41 { 31*4077043bSNiklas Söderlund status = "okay"; 32*4077043bSNiklas Söderlund 33*4077043bSNiklas Söderlund ports { 34*4077043bSNiklas Söderlund #address-cells = <1>; 35*4077043bSNiklas Söderlund #size-cells = <0>; 36*4077043bSNiklas Söderlund 37*4077043bSNiklas Söderlund port@0 { 38*4077043bSNiklas Söderlund reg = <0>; 39*4077043bSNiklas Söderlund 40*4077043bSNiklas Söderlund csi41_in: endpoint { 41*4077043bSNiklas Söderlund bus-type = <MEDIA_BUS_TYPE_CSI2_CPHY>; 42*4077043bSNiklas Söderlund clock-lanes = <0>; 43*4077043bSNiklas Söderlund data-lanes = <1 2 3>; 44*4077043bSNiklas Söderlund remote-endpoint = <&max96712_out1>; 45*4077043bSNiklas Söderlund }; 46*4077043bSNiklas Söderlund }; 47*4077043bSNiklas Söderlund }; 48*4077043bSNiklas Söderlund}; 49*4077043bSNiklas Söderlund 5078c84f46SGeert Uytterhoeven&i2c0 { 51*4077043bSNiklas Söderlund pca9654_a: gpio@21 { 52*4077043bSNiklas Söderlund compatible = "onnn,pca9654"; 53*4077043bSNiklas Söderlund reg = <0x21>; 54*4077043bSNiklas Söderlund gpio-controller; 55*4077043bSNiklas Söderlund #gpio-cells = <2>; 56*4077043bSNiklas Söderlund }; 57*4077043bSNiklas Söderlund 58*4077043bSNiklas Söderlund pca9654_b: gpio@22 { 59*4077043bSNiklas Söderlund compatible = "onnn,pca9654"; 60*4077043bSNiklas Söderlund reg = <0x22>; 61*4077043bSNiklas Söderlund gpio-controller; 62*4077043bSNiklas Söderlund #gpio-cells = <2>; 63*4077043bSNiklas Söderlund }; 64*4077043bSNiklas Söderlund 6578c84f46SGeert Uytterhoeven eeprom@52 { 6678c84f46SGeert Uytterhoeven compatible = "rohm,br24g01", "atmel,24c01"; 6778c84f46SGeert Uytterhoeven label = "csi-dsi-sub-board-id"; 6878c84f46SGeert Uytterhoeven reg = <0x52>; 6978c84f46SGeert Uytterhoeven pagesize = <8>; 7078c84f46SGeert Uytterhoeven }; 7178c84f46SGeert Uytterhoeven}; 72*4077043bSNiklas Söderlund 73*4077043bSNiklas Söderlund&i2c1 { 74*4077043bSNiklas Söderlund gmsl0: gmsl-deserializer@49 { 75*4077043bSNiklas Söderlund compatible = "maxim,max96712"; 76*4077043bSNiklas Söderlund reg = <0x49>; 77*4077043bSNiklas Söderlund enable-gpios = <&pca9654_a 0 GPIO_ACTIVE_HIGH>; 78*4077043bSNiklas Söderlund 79*4077043bSNiklas Söderlund ports { 80*4077043bSNiklas Söderlund #address-cells = <1>; 81*4077043bSNiklas Söderlund #size-cells = <0>; 82*4077043bSNiklas Söderlund 83*4077043bSNiklas Söderlund port@4 { 84*4077043bSNiklas Söderlund reg = <4>; 85*4077043bSNiklas Söderlund max96712_out0: endpoint { 86*4077043bSNiklas Söderlund bus-type = <MEDIA_BUS_TYPE_CSI2_CPHY>; 87*4077043bSNiklas Söderlund clock-lanes = <0>; 88*4077043bSNiklas Söderlund data-lanes = <1 2 3>; 89*4077043bSNiklas Söderlund remote-endpoint = <&csi40_in>; 90*4077043bSNiklas Söderlund }; 91*4077043bSNiklas Söderlund }; 92*4077043bSNiklas Söderlund }; 93*4077043bSNiklas Söderlund }; 94*4077043bSNiklas Söderlund 95*4077043bSNiklas Söderlund gmsl1: gmsl-deserializer@4b { 96*4077043bSNiklas Söderlund compatible = "maxim,max96712"; 97*4077043bSNiklas Söderlund reg = <0x4b>; 98*4077043bSNiklas Söderlund enable-gpios = <&pca9654_b 0 GPIO_ACTIVE_HIGH>; 99*4077043bSNiklas Söderlund 100*4077043bSNiklas Söderlund ports { 101*4077043bSNiklas Söderlund #address-cells = <1>; 102*4077043bSNiklas Söderlund #size-cells = <0>; 103*4077043bSNiklas Söderlund 104*4077043bSNiklas Söderlund port@4 { 105*4077043bSNiklas Söderlund reg = <4>; 106*4077043bSNiklas Söderlund max96712_out1: endpoint { 107*4077043bSNiklas Söderlund bus-type = <MEDIA_BUS_TYPE_CSI2_CPHY>; 108*4077043bSNiklas Söderlund clock-lanes = <0>; 109*4077043bSNiklas Söderlund data-lanes = <1 2 3>; 110*4077043bSNiklas Söderlund remote-endpoint = <&csi41_in>; 111*4077043bSNiklas Söderlund }; 112*4077043bSNiklas Söderlund }; 113*4077043bSNiklas Söderlund }; 114*4077043bSNiklas Söderlund }; 115*4077043bSNiklas Söderlund}; 116*4077043bSNiklas Söderlund 117*4077043bSNiklas Söderlund&isp0 { 118*4077043bSNiklas Söderlund status = "okay"; 119*4077043bSNiklas Söderlund}; 120*4077043bSNiklas Söderlund 121*4077043bSNiklas Söderlund&isp1 { 122*4077043bSNiklas Söderlund status = "okay"; 123*4077043bSNiklas Söderlund}; 124*4077043bSNiklas Söderlund 125*4077043bSNiklas Söderlund&vin00 { 126*4077043bSNiklas Söderlund status = "okay"; 127*4077043bSNiklas Söderlund}; 128*4077043bSNiklas Söderlund 129*4077043bSNiklas Söderlund&vin01 { 130*4077043bSNiklas Söderlund status = "okay"; 131*4077043bSNiklas Söderlund}; 132*4077043bSNiklas Söderlund 133*4077043bSNiklas Söderlund&vin02 { 134*4077043bSNiklas Söderlund status = "okay"; 135*4077043bSNiklas Söderlund}; 136*4077043bSNiklas Söderlund 137*4077043bSNiklas Söderlund&vin03 { 138*4077043bSNiklas Söderlund status = "okay"; 139*4077043bSNiklas Söderlund}; 140*4077043bSNiklas Söderlund 141*4077043bSNiklas Söderlund&vin04 { 142*4077043bSNiklas Söderlund status = "okay"; 143*4077043bSNiklas Söderlund}; 144*4077043bSNiklas Söderlund 145*4077043bSNiklas Söderlund&vin05 { 146*4077043bSNiklas Söderlund status = "okay"; 147*4077043bSNiklas Söderlund}; 148*4077043bSNiklas Söderlund 149*4077043bSNiklas Söderlund&vin06 { 150*4077043bSNiklas Söderlund status = "okay"; 151*4077043bSNiklas Söderlund}; 152*4077043bSNiklas Söderlund 153*4077043bSNiklas Söderlund&vin07 { 154*4077043bSNiklas Söderlund status = "okay"; 155*4077043bSNiklas Söderlund}; 156*4077043bSNiklas Söderlund 157*4077043bSNiklas Söderlund&vin08 { 158*4077043bSNiklas Söderlund status = "okay"; 159*4077043bSNiklas Söderlund}; 160*4077043bSNiklas Söderlund 161*4077043bSNiklas Söderlund&vin09 { 162*4077043bSNiklas Söderlund status = "okay"; 163*4077043bSNiklas Söderlund}; 164*4077043bSNiklas Söderlund 165*4077043bSNiklas Söderlund&vin10 { 166*4077043bSNiklas Söderlund status = "okay"; 167*4077043bSNiklas Söderlund}; 168*4077043bSNiklas Söderlund 169*4077043bSNiklas Söderlund&vin11 { 170*4077043bSNiklas Söderlund status = "okay"; 171*4077043bSNiklas Söderlund}; 172*4077043bSNiklas Söderlund 173*4077043bSNiklas Söderlund&vin12 { 174*4077043bSNiklas Söderlund status = "okay"; 175*4077043bSNiklas Söderlund}; 176*4077043bSNiklas Söderlund 177*4077043bSNiklas Söderlund&vin13 { 178*4077043bSNiklas Söderlund status = "okay"; 179*4077043bSNiklas Söderlund}; 180*4077043bSNiklas Söderlund 181*4077043bSNiklas Söderlund&vin14 { 182*4077043bSNiklas Söderlund status = "okay"; 183*4077043bSNiklas Söderlund}; 184*4077043bSNiklas Söderlund 185*4077043bSNiklas Söderlund&vin15 { 186*4077043bSNiklas Söderlund status = "okay"; 187*4077043bSNiklas Söderlund}; 188