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