17ed6bc96SGeert Uytterhoeven// SPDX-License-Identifier: GPL-2.0 27ed6bc96SGeert Uytterhoeven/* 37ed6bc96SGeert Uytterhoeven * Device Tree Source for the Falcon CSI/DSI sub-board 47ed6bc96SGeert Uytterhoeven * 57ed6bc96SGeert Uytterhoeven * Copyright (C) 2021 Glider bv 67ed6bc96SGeert Uytterhoeven */ 77ed6bc96SGeert Uytterhoeven 8*741f99c7SNiklas Söderlund#include <dt-bindings/media/video-interfaces.h> 9*741f99c7SNiklas Söderlund 1028325213SNiklas Söderlund&csi40 { 1128325213SNiklas Söderlund status = "okay"; 1228325213SNiklas Söderlund 1328325213SNiklas Söderlund ports { 1428325213SNiklas Söderlund #address-cells = <1>; 1528325213SNiklas Söderlund #size-cells = <0>; 1628325213SNiklas Söderlund 1728325213SNiklas Söderlund port@0 { 1828325213SNiklas Söderlund reg = <0>; 1928325213SNiklas Söderlund 2028325213SNiklas Söderlund csi40_in: endpoint { 2128325213SNiklas Söderlund clock-lanes = <0>; 2228325213SNiklas Söderlund data-lanes = <1 2 3 4>; 2328325213SNiklas Söderlund remote-endpoint = <&max96712_out0>; 2428325213SNiklas Söderlund }; 2528325213SNiklas Söderlund }; 2628325213SNiklas Söderlund }; 2728325213SNiklas Söderlund}; 2828325213SNiklas Söderlund 2928325213SNiklas Söderlund&csi42 { 3028325213SNiklas Söderlund status = "okay"; 3128325213SNiklas Söderlund 3228325213SNiklas Söderlund ports { 3328325213SNiklas Söderlund #address-cells = <1>; 3428325213SNiklas Söderlund #size-cells = <0>; 3528325213SNiklas Söderlund 3628325213SNiklas Söderlund port@0 { 3728325213SNiklas Söderlund reg = <0>; 3828325213SNiklas Söderlund 3928325213SNiklas Söderlund csi42_in: endpoint { 4028325213SNiklas Söderlund clock-lanes = <0>; 4128325213SNiklas Söderlund data-lanes = <1 2 3 4>; 4228325213SNiklas Söderlund remote-endpoint = <&max96712_out1>; 4328325213SNiklas Söderlund }; 4428325213SNiklas Söderlund }; 4528325213SNiklas Söderlund }; 4628325213SNiklas Söderlund}; 4728325213SNiklas Söderlund 4828325213SNiklas Söderlund&csi43 { 4928325213SNiklas Söderlund status = "okay"; 5028325213SNiklas Söderlund 5128325213SNiklas Söderlund ports { 5228325213SNiklas Söderlund #address-cells = <1>; 5328325213SNiklas Söderlund #size-cells = <0>; 5428325213SNiklas Söderlund 5528325213SNiklas Söderlund port@0 { 5628325213SNiklas Söderlund reg = <0>; 5728325213SNiklas Söderlund 5828325213SNiklas Söderlund csi43_in: endpoint { 5928325213SNiklas Söderlund clock-lanes = <0>; 6028325213SNiklas Söderlund data-lanes = <1 2 3 4>; 6128325213SNiklas Söderlund remote-endpoint = <&max96712_out2>; 6228325213SNiklas Söderlund }; 6328325213SNiklas Söderlund }; 6428325213SNiklas Söderlund }; 6528325213SNiklas Söderlund}; 6628325213SNiklas Söderlund 677ed6bc96SGeert Uytterhoeven&i2c0 { 68706f5cb3SNiklas Söderlund pca9654_a: gpio@21 { 69706f5cb3SNiklas Söderlund compatible = "onnn,pca9654"; 70706f5cb3SNiklas Söderlund reg = <0x21>; 71706f5cb3SNiklas Söderlund gpio-controller; 72706f5cb3SNiklas Söderlund #gpio-cells = <2>; 73706f5cb3SNiklas Söderlund }; 74706f5cb3SNiklas Söderlund 75706f5cb3SNiklas Söderlund pca9654_b: gpio@22 { 76706f5cb3SNiklas Söderlund compatible = "onnn,pca9654"; 77706f5cb3SNiklas Söderlund reg = <0x22>; 78706f5cb3SNiklas Söderlund gpio-controller; 79706f5cb3SNiklas Söderlund #gpio-cells = <2>; 80706f5cb3SNiklas Söderlund }; 81706f5cb3SNiklas Söderlund 82706f5cb3SNiklas Söderlund pca9654_c: gpio@23 { 83706f5cb3SNiklas Söderlund compatible = "onnn,pca9654"; 84706f5cb3SNiklas Söderlund reg = <0x23>; 85706f5cb3SNiklas Söderlund gpio-controller; 86706f5cb3SNiklas Söderlund #gpio-cells = <2>; 87706f5cb3SNiklas Söderlund }; 88706f5cb3SNiklas Söderlund 897ed6bc96SGeert Uytterhoeven eeprom@52 { 907ed6bc96SGeert Uytterhoeven compatible = "rohm,br24g01", "atmel,24c01"; 917ed6bc96SGeert Uytterhoeven label = "csi-dsi-sub-board-id"; 927ed6bc96SGeert Uytterhoeven reg = <0x52>; 937ed6bc96SGeert Uytterhoeven pagesize = <8>; 947ed6bc96SGeert Uytterhoeven }; 957ed6bc96SGeert Uytterhoeven}; 9628325213SNiklas Söderlund 9728325213SNiklas Söderlund&i2c1 { 9828325213SNiklas Söderlund gmsl0: gmsl-deserializer@49 { 9928325213SNiklas Söderlund compatible = "maxim,max96712"; 10028325213SNiklas Söderlund reg = <0x49>; 10128325213SNiklas Söderlund enable-gpios = <&pca9654_a 0 GPIO_ACTIVE_HIGH>; 10228325213SNiklas Söderlund 10328325213SNiklas Söderlund ports { 10428325213SNiklas Söderlund #address-cells = <1>; 10528325213SNiklas Söderlund #size-cells = <0>; 10628325213SNiklas Söderlund 10728325213SNiklas Söderlund port@4 { 10828325213SNiklas Söderlund reg = <4>; 10928325213SNiklas Söderlund max96712_out0: endpoint { 110*741f99c7SNiklas Söderlund bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 11128325213SNiklas Söderlund clock-lanes = <0>; 11228325213SNiklas Söderlund data-lanes = <1 2 3 4>; 11328325213SNiklas Söderlund remote-endpoint = <&csi40_in>; 11428325213SNiklas Söderlund }; 11528325213SNiklas Söderlund }; 11628325213SNiklas Söderlund }; 11728325213SNiklas Söderlund }; 11828325213SNiklas Söderlund 11928325213SNiklas Söderlund gmsl1: gmsl-deserializer@4b { 12028325213SNiklas Söderlund compatible = "maxim,max96712"; 12128325213SNiklas Söderlund reg = <0x4b>; 12228325213SNiklas Söderlund enable-gpios = <&pca9654_b 0 GPIO_ACTIVE_HIGH>; 12328325213SNiklas Söderlund 12428325213SNiklas Söderlund ports { 12528325213SNiklas Söderlund #address-cells = <1>; 12628325213SNiklas Söderlund #size-cells = <0>; 12728325213SNiklas Söderlund 12828325213SNiklas Söderlund port@4 { 12928325213SNiklas Söderlund reg = <4>; 13028325213SNiklas Söderlund max96712_out1: endpoint { 131*741f99c7SNiklas Söderlund bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 13228325213SNiklas Söderlund clock-lanes = <0>; 13328325213SNiklas Söderlund data-lanes = <1 2 3 4>; 13428325213SNiklas Söderlund lane-polarities = <0 0 0 0 1>; 13528325213SNiklas Söderlund remote-endpoint = <&csi42_in>; 13628325213SNiklas Söderlund }; 13728325213SNiklas Söderlund }; 13828325213SNiklas Söderlund }; 13928325213SNiklas Söderlund }; 14028325213SNiklas Söderlund 14128325213SNiklas Söderlund gmsl2: gmsl-deserializer@6b { 14228325213SNiklas Söderlund compatible = "maxim,max96712"; 14328325213SNiklas Söderlund reg = <0x6b>; 14428325213SNiklas Söderlund enable-gpios = <&pca9654_c 0 GPIO_ACTIVE_HIGH>; 14528325213SNiklas Söderlund 14628325213SNiklas Söderlund ports { 14728325213SNiklas Söderlund #address-cells = <1>; 14828325213SNiklas Söderlund #size-cells = <0>; 14928325213SNiklas Söderlund 15028325213SNiklas Söderlund port@4 { 15128325213SNiklas Söderlund reg = <4>; 15228325213SNiklas Söderlund max96712_out2: endpoint { 153*741f99c7SNiklas Söderlund bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>; 15428325213SNiklas Söderlund clock-lanes = <0>; 15528325213SNiklas Söderlund data-lanes = <1 2 3 4>; 15628325213SNiklas Söderlund lane-polarities = <0 0 0 0 1>; 15728325213SNiklas Söderlund remote-endpoint = <&csi43_in>; 15828325213SNiklas Söderlund }; 15928325213SNiklas Söderlund }; 16028325213SNiklas Söderlund }; 16128325213SNiklas Söderlund }; 16228325213SNiklas Söderlund}; 16328325213SNiklas Söderlund 16428325213SNiklas Söderlund&isp0 { 16528325213SNiklas Söderlund status = "okay"; 16628325213SNiklas Söderlund}; 16728325213SNiklas Söderlund 16828325213SNiklas Söderlund&isp2 { 16928325213SNiklas Söderlund status = "okay"; 17028325213SNiklas Söderlund}; 17128325213SNiklas Söderlund 17228325213SNiklas Söderlund&isp3 { 17328325213SNiklas Söderlund status = "okay"; 17428325213SNiklas Söderlund}; 17528325213SNiklas Söderlund 17628325213SNiklas Söderlund&vin00 { 17728325213SNiklas Söderlund status = "okay"; 17828325213SNiklas Söderlund}; 17928325213SNiklas Söderlund 18028325213SNiklas Söderlund&vin01 { 18128325213SNiklas Söderlund status = "okay"; 18228325213SNiklas Söderlund}; 18328325213SNiklas Söderlund 18428325213SNiklas Söderlund&vin02 { 18528325213SNiklas Söderlund status = "okay"; 18628325213SNiklas Söderlund}; 18728325213SNiklas Söderlund 18828325213SNiklas Söderlund&vin03 { 18928325213SNiklas Söderlund status = "okay"; 19028325213SNiklas Söderlund}; 19128325213SNiklas Söderlund 19228325213SNiklas Söderlund&vin04 { 19328325213SNiklas Söderlund status = "okay"; 19428325213SNiklas Söderlund}; 19528325213SNiklas Söderlund 19628325213SNiklas Söderlund&vin05 { 19728325213SNiklas Söderlund status = "okay"; 19828325213SNiklas Söderlund}; 19928325213SNiklas Söderlund 20028325213SNiklas Söderlund&vin06 { 20128325213SNiklas Söderlund status = "okay"; 20228325213SNiklas Söderlund}; 20328325213SNiklas Söderlund 20428325213SNiklas Söderlund&vin07 { 20528325213SNiklas Söderlund status = "okay"; 20628325213SNiklas Söderlund}; 20728325213SNiklas Söderlund 20828325213SNiklas Söderlund&vin16 { 20928325213SNiklas Söderlund status = "okay"; 21028325213SNiklas Söderlund}; 21128325213SNiklas Söderlund 21228325213SNiklas Söderlund&vin17 { 21328325213SNiklas Söderlund status = "okay"; 21428325213SNiklas Söderlund}; 21528325213SNiklas Söderlund 21628325213SNiklas Söderlund&vin18 { 21728325213SNiklas Söderlund status = "okay"; 21828325213SNiklas Söderlund}; 21928325213SNiklas Söderlund 22028325213SNiklas Söderlund&vin19 { 22128325213SNiklas Söderlund status = "okay"; 22228325213SNiklas Söderlund}; 22328325213SNiklas Söderlund 22428325213SNiklas Söderlund&vin20 { 22528325213SNiklas Söderlund status = "okay"; 22628325213SNiklas Söderlund}; 22728325213SNiklas Söderlund 22828325213SNiklas Söderlund&vin21 { 22928325213SNiklas Söderlund status = "okay"; 23028325213SNiklas Söderlund}; 23128325213SNiklas Söderlund 23228325213SNiklas Söderlund&vin22 { 23328325213SNiklas Söderlund status = "okay"; 23428325213SNiklas Söderlund}; 23528325213SNiklas Söderlund 23628325213SNiklas Söderlund&vin23 { 23728325213SNiklas Söderlund status = "okay"; 23828325213SNiklas Söderlund}; 23928325213SNiklas Söderlund 24028325213SNiklas Söderlund&vin24 { 24128325213SNiklas Söderlund status = "okay"; 24228325213SNiklas Söderlund}; 24328325213SNiklas Söderlund 24428325213SNiklas Söderlund&vin25 { 24528325213SNiklas Söderlund status = "okay"; 24628325213SNiklas Söderlund}; 24728325213SNiklas Söderlund 24828325213SNiklas Söderlund&vin26 { 24928325213SNiklas Söderlund status = "okay"; 25028325213SNiklas Söderlund}; 25128325213SNiklas Söderlund 25228325213SNiklas Söderlund&vin27 { 25328325213SNiklas Söderlund status = "okay"; 25428325213SNiklas Söderlund}; 25528325213SNiklas Söderlund 25628325213SNiklas Söderlund&vin28 { 25728325213SNiklas Söderlund status = "okay"; 25828325213SNiklas Söderlund}; 25928325213SNiklas Söderlund 26028325213SNiklas Söderlund&vin29 { 26128325213SNiklas Söderlund status = "okay"; 26228325213SNiklas Söderlund}; 26328325213SNiklas Söderlund 26428325213SNiklas Söderlund&vin30 { 26528325213SNiklas Söderlund status = "okay"; 26628325213SNiklas Söderlund}; 26728325213SNiklas Söderlund 26828325213SNiklas Söderlund&vin31 { 26928325213SNiklas Söderlund status = "okay"; 27028325213SNiklas Söderlund}; 271