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