arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / arch / arm64 / boot / dts / renesas / ulcb-kf.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the Kingfisher (ULCB extension) board
4  *
5  * Copyright (C) 2017 Renesas Electronics Corp.
6  * Copyright (C) 2017 Cogent Embedded, Inc.
7  */
8
9 / {
10         aliases {
11                 serial1 = &hscif0;
12                 serial2 = &scif1;
13                 serial3 = &hscif1;
14                 mmc2 = &sdhi3;
15         };
16
17         clksndsel: clksndsel {
18                 #clock-cells = <0>;
19                 compatible = "gpio-mux-clock";
20                 clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
21                 select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
22         };
23
24         hdmi1-out {
25                 compatible = "hdmi-connector";
26                 type = "a";
27
28                 port {
29                         hdmi1_con: endpoint {
30                                 remote-endpoint = <&adv7513_out>;
31                         };
32                 };
33         };
34
35         accel_3v3: regulator-acc-3v3 {
36                 compatible = "regulator-fixed";
37                 regulator-name = "accel-3v3";
38                 regulator-min-microvolt = <3300000>;
39                 regulator-max-microvolt = <3300000>;
40         };
41
42         hdmi_1v8: regulator-hdmi-1v8 {
43                 compatible = "regulator-fixed";
44                 regulator-name = "hdmi-1v8";
45                 regulator-min-microvolt = <1800000>;
46                 regulator-max-microvolt = <1800000>;
47         };
48
49         hdmi_3v3: regulator-hdmi-3v3 {
50                 compatible = "regulator-fixed";
51                 regulator-name = "hdmi-3v3";
52                 regulator-min-microvolt = <3300000>;
53                 regulator-max-microvolt = <3300000>;
54         };
55
56         snd_3p3v: regulator-snd_3p3v {
57                 compatible = "regulator-fixed";
58                 regulator-name = "snd-3.3v";
59                 regulator-min-microvolt = <3300000>;
60                 regulator-max-microvolt = <3300000>;
61         };
62
63         snd_vcc5v: regulator-snd_vcc5v {
64                 compatible = "regulator-fixed";
65                 regulator-name = "snd-vcc5v";
66                 regulator-min-microvolt = <5000000>;
67                 regulator-max-microvolt = <5000000>;
68         };
69
70         wlan_en: regulator-wlan_en {
71                 compatible = "regulator-fixed";
72                 regulator-name = "wlan-en-regulator";
73
74                 regulator-min-microvolt = <3300000>;
75                 regulator-max-microvolt = <3300000>;
76
77                 gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
78                 startup-delay-us = <70000>;
79                 enable-active-high;
80         };
81 };
82
83 &can0 {
84         pinctrl-0 = <&can0_pins>;
85         pinctrl-names = "default";
86         status = "okay";
87 };
88
89 &can1 {
90         pinctrl-0 = <&can1_pins>;
91         pinctrl-names = "default";
92         status = "okay";
93 };
94
95 &du {
96         ports {
97                 port@0 {
98                         du_out_rgb: endpoint {
99                                 remote-endpoint = <&adv7513_in>;
100                         };
101                 };
102         };
103 };
104
105 &ehci0 {
106         dr_mode = "otg";
107         status = "okay";
108 };
109
110 &hscif0 {
111         pinctrl-0 = <&hscif0_pins>;
112         pinctrl-names = "default";
113         uart-has-rtscts;
114
115         status = "okay";
116 };
117
118 &hscif1 {
119         pinctrl-0 = <&hscif1_pins>;
120         pinctrl-names = "default";
121         uart-has-rtscts;
122
123         status = "okay";
124 };
125
126 &hsusb {
127         dr_mode = "otg";
128         status = "okay";
129 };
130
131 &i2c2 {
132         i2cmux2: i2c-mux@71 {
133                 compatible = "nxp,pca9548";
134                 #address-cells = <1>;
135                 #size-cells = <0>;
136                 reg = <0x71>;
137                 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
138
139                 /* HDMIoSDA, HDMIoSCL */
140                 i2c@4 {
141                         #address-cells = <1>;
142                         #size-cells = <0>;
143                         reg = <4>;
144
145                         hdmi@3d {
146                                 compatible = "adi,adv7513";
147                                 reg = <0x3d>;
148
149                                 pinctrl-0 = <&hdmi1_pins>;
150                                 pinctrl-names = "default";
151
152                                 interrupt-parent = <&gpio2>;
153                                 interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
154
155                                 clocks = <&cs2000>;
156                                 clock-names = "cec";
157
158                                 pd-gpios = <&gpio_exp_75 5 GPIO_ACTIVE_LOW>;
159
160                                 avdd-supply = <&hdmi_1v8>;
161                                 dvdd-supply = <&hdmi_1v8>;
162                                 pvdd-supply = <&hdmi_1v8>;
163                                 dvdd-3v-supply = <&hdmi_3v3>;
164                                 bgvdd-supply = <&hdmi_1v8>;
165
166                                 adi,input-depth = <8>;
167                                 adi,input-colorspace = "rgb";
168                                 adi,input-clock = "1x";
169
170                                 ports {
171                                         #address-cells = <1>;
172                                         #size-cells = <0>;
173
174                                         port@0 {
175                                                 reg = <0>;
176                                                 adv7513_in: endpoint {
177                                                         remote-endpoint = <&du_out_rgb>;
178                                                 };
179                                         };
180
181                                         port@1 {
182                                                 reg = <1>;
183                                                 adv7513_out: endpoint {
184                                                         remote-endpoint = <&hdmi1_con>;
185                                                 };
186                                         };
187                                 };
188                         };
189                 };
190
191                 /* Audio_SDA, Audio_SCL */
192                 i2c@7 {
193                         #address-cells = <1>;
194                         #size-cells = <0>;
195                         reg = <7>;
196
197                         accelerometer@1d {
198                                 compatible = "st,lsm9ds0-imu";
199                                 reg = <0x1d>;
200
201                                 vdd-supply = <&accel_3v3>;
202                                 vddio-supply = <&accel_3v3>;
203                         };
204
205                         pcm3168a: audio-codec@44 {
206                                 #sound-dai-cells = <0>;
207                                 compatible = "ti,pcm3168a";
208                                 reg = <0x44>;
209                                 clocks = <&clksndsel>;
210                                 clock-names = "scki";
211
212                                 VDD1-supply = <&snd_3p3v>;
213                                 VDD2-supply = <&snd_3p3v>;
214                                 VCCAD1-supply = <&snd_vcc5v>;
215                                 VCCAD2-supply = <&snd_vcc5v>;
216                                 VCCDA1-supply = <&snd_vcc5v>;
217                                 VCCDA2-supply = <&snd_vcc5v>;
218                         };
219
220                         gyroscope@6b {
221                                 compatible = "st,lsm9ds0-gyro";
222                                 reg = <0x6b>;
223
224                                 vdd-supply = <&accel_3v3>;
225                                 vddio-supply = <&accel_3v3>;
226                         };
227                 };
228         };
229
230         /* U11 */
231         gpio_exp_74: gpio@74 {
232                 compatible = "ti,tca9539";
233                 reg = <0x74>;
234                 gpio-controller;
235                 #gpio-cells = <2>;
236                 interrupt-controller;
237                 interrupt-parent = <&gpio6>;
238                 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
239
240                 audio-out-off-hog {
241                         gpio-hog;
242                         gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
243                         output-high;
244                         line-name = "Audio_Out_OFF";
245                 };
246
247                 hub-pwen-hog {
248                         gpio-hog;
249                         gpios = <6 GPIO_ACTIVE_HIGH>;
250                         output-high;
251                         line-name = "HUB pwen";
252                 };
253
254                 hub-rst-hog {
255                         gpio-hog;
256                         gpios = <7 GPIO_ACTIVE_HIGH>;
257                         output-high;
258                         line-name = "HUB rst";
259                 };
260
261                 otg-extlpn-hog {
262                         gpio-hog;
263                         gpios = <9 GPIO_ACTIVE_HIGH>;
264                         output-high;
265                         line-name = "OTG EXTLPn";
266                 };
267
268                 otg-offvbusn-hog {
269                         gpio-hog;
270                         gpios = <8 GPIO_ACTIVE_HIGH>;
271                         output-low;
272                         line-name = "OTG OFFVBUSn";
273                 };
274
275                 sd-wifi-mux-hog {
276                         gpio-hog;
277                         gpios = <5 GPIO_ACTIVE_HIGH>;
278                         output-low;     /* Connect WL1837 */
279                         line-name = "SD WiFi mux";
280                 };
281
282                 snd-rst-hog {
283                         gpio-hog;
284                         gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
285                         output-high;
286                         line-name = "SND_RST";
287                 };
288         };
289
290         /* U5 */
291         gpio_exp_75: gpio@75 {
292                 compatible = "ti,tca9539";
293                 reg = <0x75>;
294                 gpio-controller;
295                 #gpio-cells = <2>;
296                 interrupt-controller;
297                 interrupt-parent = <&gpio6>;
298                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
299         };
300 };
301
302 &i2c4 {
303         i2cmux4: i2c-mux@71 {
304                 compatible = "nxp,pca9548";
305                 #address-cells = <1>;
306                 #size-cells = <0>;
307                 reg = <0x71>;
308                 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
309         };
310
311         gpio_exp_76: gpio@76 {
312                 compatible = "ti,tca9539";
313                 reg = <0x76>;
314                 gpio-controller;
315                 #gpio-cells = <2>;
316                 interrupt-controller;
317                 interrupt-parent = <&gpio7>;
318                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
319         };
320
321         gpio_exp_77: gpio@77 {
322                 compatible = "ti,tca9539";
323                 reg = <0x77>;
324                 gpio-controller;
325                 #gpio-cells = <2>;
326                 interrupt-controller;
327                 interrupt-parent = <&gpio5>;
328                 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
329         };
330 };
331
332 &ohci0 {
333         dr_mode = "otg";
334         status = "okay";
335 };
336
337 &pcie_bus_clk {
338         clock-frequency = <100000000>;
339 };
340
341 &pciec0 {
342         status = "okay";
343 };
344
345 &pciec1 {
346         status = "okay";
347 };
348
349 &pfc {
350         can0_pins: can0 {
351                 groups = "can0_data_a";
352                 function = "can0";
353         };
354
355         can1_pins: can1 {
356                 groups = "can1_data";
357                 function = "can1";
358         };
359
360         hdmi1_pins: hdmi1 {
361                 adv7513-interrupt {
362                         pins = "GP_2_14";
363                         bias-pull-up;
364                 };
365
366                 du {
367                         groups = "du_rgb888", "du_sync", "du_clk_out_0",
368                                  "du_disp";
369                         function = "du";
370                 };
371         };
372
373         hscif0_pins: hscif0 {
374                 groups = "hscif0_data", "hscif0_ctrl";
375                 function = "hscif0";
376         };
377
378         hscif1_pins: hscif1 {
379                 groups = "hscif1_data_a", "hscif1_ctrl_a";
380                 function = "hscif1";
381         };
382
383         scif1_pins: scif1 {
384                 groups = "scif1_data_b";
385                 function = "scif1";
386         };
387
388         sdhi3_pins: sdhi3 {
389                 groups = "sdhi3_data4", "sdhi3_ctrl";
390                 function = "sdhi3";
391                 power-source = <3300>;
392         };
393
394         sound_pcm_pins: sound-pcm {
395                 groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
396                 function = "ssi";
397         };
398
399         usb0_pins: usb0 {
400                 groups = "usb0";
401                 function = "usb0";
402         };
403 };
404
405 &rcar_sound {
406         pinctrl-0 = <&sound_pins
407                      &sound_clk_pins
408                      &sound_pcm_pins>;
409 };
410
411 &scif1 {
412         pinctrl-0 = <&scif1_pins>;
413         pinctrl-names = "default";
414
415         status = "okay";
416 };
417
418 &sdhi3 {
419         pinctrl-0 = <&sdhi3_pins>;
420         pinctrl-names = "default";
421
422         vmmc-supply = <&wlan_en>;
423         vqmmc-supply = <&wlan_en>;
424         bus-width = <4>;
425         no-1-8-v;
426         non-removable;
427         cap-power-off-card;
428         keep-power-in-suspend;
429         max-frequency = <26000000>;
430         status = "okay";
431
432         #address-cells = <1>;
433         #size-cells = <0>;
434         wlcore: wlcore@2 {
435                 compatible = "ti,wl1837";
436                 reg = <2>;
437                 interrupt-parent = <&gpio1>;
438                 interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
439         };
440 };
441
442 &ssi4 {
443         shared-pin;
444 };
445
446 &usb2_phy0 {
447         pinctrl-0 = <&usb0_pins>;
448         pinctrl-names = "default";
449
450         status = "okay";
451 };
452
453 &xhci0 {
454         status = "okay";
455 };
456
457 /*
458  * For sound-test.
459  *
460  * We can switch Audio Card for testing
461  * see also ulcb.dtsi
462  *
463  * #include "ulcb-kf-simple-audio-card.dtsi"
464  * #include "ulcb-kf-simple-audio-card-mix+split.dtsi"
465  * #include "ulcb-kf-audio-graph-card.dtsi"
466  * #include "ulcb-kf-audio-graph-card-mix+split.dtsi"
467  * #include "ulcb-kf-audio-graph-card2-mix+split.dtsi"
468  */
469 #include "ulcb-kf-audio-graph-card2.dtsi"