1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Device Tree Source for the Falcon CSI/DSI sub-board 4 * 5 * Copyright (C) 2021 Glider bv 6 */ 7 8#include <dt-bindings/media/video-interfaces.h> 9 10&csi40 { 11 status = "okay"; 12 13 ports { 14 #address-cells = <1>; 15 #size-cells = <0>; 16 17 port@0 { 18 reg = <0>; 19 20 csi40_in: endpoint { 21 clock-lanes = <0>; 22 data-lanes = <1 2 3 4>; 23 remote-endpoint = <&max96712_out0>; 24 }; 25 }; 26 }; 27}; 28 29&csi42 { 30 status = "okay"; 31 32 ports { 33 #address-cells = <1>; 34 #size-cells = <0>; 35 36 port@0 { 37 reg = <0>; 38 39 csi42_in: endpoint { 40 clock-lanes = <0>; 41 data-lanes = <1 2 3 4>; 42 remote-endpoint = <&max96712_out1>; 43 }; 44 }; 45 }; 46}; 47 48&csi43 { 49 status = "okay"; 50 51 ports { 52 #address-cells = <1>; 53 #size-cells = <0>; 54 55 port@0 { 56 reg = <0>; 57 58 csi43_in: endpoint { 59 clock-lanes = <0>; 60 data-lanes = <1 2 3 4>; 61 remote-endpoint = <&max96712_out2>; 62 }; 63 }; 64 }; 65}; 66 67&i2c0 { 68 pca9654_a: gpio@21 { 69 compatible = "onnn,pca9654"; 70 reg = <0x21>; 71 gpio-controller; 72 #gpio-cells = <2>; 73 }; 74 75 pca9654_b: gpio@22 { 76 compatible = "onnn,pca9654"; 77 reg = <0x22>; 78 gpio-controller; 79 #gpio-cells = <2>; 80 }; 81 82 pca9654_c: gpio@23 { 83 compatible = "onnn,pca9654"; 84 reg = <0x23>; 85 gpio-controller; 86 #gpio-cells = <2>; 87 }; 88 89 eeprom@52 { 90 compatible = "rohm,br24g01", "atmel,24c01"; 91 label = "csi-dsi-sub-board-id"; 92 reg = <0x52>; 93 pagesize = <8>; 94 }; 95}; 96 97&i2c1 { 98 gmsl0: gmsl-deserializer@49 { 99 compatible = "maxim,max96712"; 100 reg = <0x49>; 101 enable-gpios = <&pca9654_a 0 GPIO_ACTIVE_HIGH>; 102 103 ports { 104 #address-cells = <1>; 105 #size-cells = <0>; 106 107 port@4 { 108 reg = <4>; 109 max96712_out0: endpoint { 110 bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 111 clock-lanes = <0>; 112 data-lanes = <1 2 3 4>; 113 remote-endpoint = <&csi40_in>; 114 }; 115 }; 116 }; 117 }; 118 119 gmsl1: gmsl-deserializer@4b { 120 compatible = "maxim,max96712"; 121 reg = <0x4b>; 122 enable-gpios = <&pca9654_b 0 GPIO_ACTIVE_HIGH>; 123 124 ports { 125 #address-cells = <1>; 126 #size-cells = <0>; 127 128 port@4 { 129 reg = <4>; 130 max96712_out1: endpoint { 131 bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 132 clock-lanes = <0>; 133 data-lanes = <1 2 3 4>; 134 lane-polarities = <0 0 0 0 1>; 135 remote-endpoint = <&csi42_in>; 136 }; 137 }; 138 }; 139 }; 140 141 gmsl2: gmsl-deserializer@6b { 142 compatible = "maxim,max96712"; 143 reg = <0x6b>; 144 enable-gpios = <&pca9654_c 0 GPIO_ACTIVE_HIGH>; 145 146 ports { 147 #address-cells = <1>; 148 #size-cells = <0>; 149 150 port@4 { 151 reg = <4>; 152 max96712_out2: endpoint { 153 bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 154 clock-lanes = <0>; 155 data-lanes = <1 2 3 4>; 156 lane-polarities = <0 0 0 0 1>; 157 remote-endpoint = <&csi43_in>; 158 }; 159 }; 160 }; 161 }; 162}; 163 164&isp0 { 165 status = "okay"; 166}; 167 168&isp2 { 169 status = "okay"; 170}; 171 172&isp3 { 173 status = "okay"; 174}; 175 176&vin00 { 177 status = "okay"; 178}; 179 180&vin01 { 181 status = "okay"; 182}; 183 184&vin02 { 185 status = "okay"; 186}; 187 188&vin03 { 189 status = "okay"; 190}; 191 192&vin04 { 193 status = "okay"; 194}; 195 196&vin05 { 197 status = "okay"; 198}; 199 200&vin06 { 201 status = "okay"; 202}; 203 204&vin07 { 205 status = "okay"; 206}; 207 208&vin16 { 209 status = "okay"; 210}; 211 212&vin17 { 213 status = "okay"; 214}; 215 216&vin18 { 217 status = "okay"; 218}; 219 220&vin19 { 221 status = "okay"; 222}; 223 224&vin20 { 225 status = "okay"; 226}; 227 228&vin21 { 229 status = "okay"; 230}; 231 232&vin22 { 233 status = "okay"; 234}; 235 236&vin23 { 237 status = "okay"; 238}; 239 240&vin24 { 241 status = "okay"; 242}; 243 244&vin25 { 245 status = "okay"; 246}; 247 248&vin26 { 249 status = "okay"; 250}; 251 252&vin27 { 253 status = "okay"; 254}; 255 256&vin28 { 257 status = "okay"; 258}; 259 260&vin29 { 261 status = "okay"; 262}; 263 264&vin30 { 265 status = "okay"; 266}; 267 268&vin31 { 269 status = "okay"; 270}; 271