arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / arch / arm64 / boot / dts / rockchip / px30-ringneck.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2022 Theobroma Systems Design und Consulting GmbH
4  */
5
6 /dts-v1/;
7 #include "px30.dtsi"
8 #include <dt-bindings/leds/common.h>
9
10 / {
11         aliases {
12                 mmc0 = &emmc;
13                 mmc1 = &sdio;
14                 rtc0 = &rtc_twi;
15                 rtc1 = &rk809;
16         };
17
18         emmc_pwrseq: emmc-pwrseq {
19                 compatible = "mmc-pwrseq-emmc";
20                 pinctrl-0 = <&emmc_reset>;
21                 pinctrl-names = "default";
22                 reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>;
23         };
24
25         leds {
26                 compatible = "gpio-leds";
27                 pinctrl-names = "default";
28                 pinctrl-0 = <&module_led_pin>;
29                 status = "okay";
30
31                 module_led: led-0 {
32                         gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
33                         function = LED_FUNCTION_HEARTBEAT;
34                         linux,default-trigger = "heartbeat";
35                         color = <LED_COLOR_ID_AMBER>;
36                 };
37         };
38
39         vcc5v0_sys: vccsys-regulator {
40                 compatible = "regulator-fixed";
41                 regulator-name = "vcc5v0_sys";
42                 regulator-always-on;
43                 regulator-boot-on;
44                 regulator-min-microvolt = <5000000>;
45                 regulator-max-microvolt = <5000000>;
46         };
47 };
48
49 &cpu0 {
50         cpu-supply = <&vdd_arm>;
51 };
52
53 &cpu1 {
54         cpu-supply = <&vdd_arm>;
55 };
56
57 &cpu2 {
58         cpu-supply = <&vdd_arm>;
59 };
60
61 &cpu3 {
62         cpu-supply = <&vdd_arm>;
63 };
64
65 &emmc {
66         bus-width = <8>;
67         cap-mmc-highspeed;
68         mmc-hs200-1_8v;
69         supports-emmc;
70         mmc-pwrseq = <&emmc_pwrseq>;
71         non-removable;
72         vmmc-supply = <&vcc_3v3>;
73         vqmmc-supply = <&vcc_emmc>;
74
75         status = "okay";
76 };
77
78 /* On-module TI DP83825I PHY but no connector, enable in carrierboard */
79 &gmac {
80         snps,reset-gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
81         snps,reset-active-low;
82         snps,reset-delays-us = <0 50000 50000>;
83         phy-supply = <&vcc_3v3>;
84         clock_in_out = "output";
85 };
86
87 &gpio2 {
88         /*
89          * The Qseven BIOS_DISABLE signal on the PX30-µQ7 keeps the on-module
90          * eMMC powered-down initially (in fact it keeps the reset signal
91          * asserted). BIOS_DISABLE_OVERRIDE pin allows to re-enable eMMC after
92          * the SPL has been booted from SD Card.
93          */
94         bios-disable-override-hog {
95                 gpios = <RK_PB5 GPIO_ACTIVE_LOW>;
96                 output-high;
97                 line-name = "bios_disable_override";
98                 gpio-hog;
99         };
100
101         /*
102          * The BIOS_DISABLE hog is a feedback pin for the actual status of the
103          * signal, ignoring the BIOS_DISABLE_OVERRIDE logic. This usually
104          * represents the state of a switch on the baseboard.
105          */
106         bios-disable-n-hog {
107                 gpios = <RK_PC2 GPIO_ACTIVE_LOW>;
108                 line-name = "bios_disable";
109                 input;
110                 gpio-hog;
111         };
112 };
113
114 &gpu {
115         status = "okay";
116 };
117
118 &i2c0 {
119         status = "okay";
120
121         rk809: pmic@20 {
122                 compatible = "rockchip,rk809";
123                 reg = <0x20>;
124                 interrupt-parent = <&gpio0>;
125                 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
126                 pinctrl-0 = <&pmic_int>;
127                 pinctrl-names = "default";
128                 #clock-cells = <0>;
129                 clock-output-names = "xin32k";
130                 rockchip,system-power-controller;
131                 wakeup-source;
132
133                 vcc1-supply = <&vcc5v0_sys>;
134                 vcc2-supply = <&vcc5v0_sys>;
135                 vcc3-supply = <&vcc5v0_sys>;
136                 vcc4-supply = <&vcc5v0_sys>;
137                 vcc5-supply = <&vcc_3v3>;
138                 vcc6-supply = <&vcc_3v3>;
139                 vcc7-supply = <&vcc_3v3>;
140                 vcc9-supply = <&vcc5v0_sys>;
141
142                 regulators {
143                         vdd_log: DCDC_REG1 {
144                                 regulator-name = "vdd_log";
145                                 regulator-min-microvolt = <950000>;
146                                 regulator-max-microvolt = <1350000>;
147                                 regulator-ramp-delay = <6001>;
148                                 regulator-always-on;
149                                 regulator-boot-on;
150
151                                 regulator-state-mem {
152                                         regulator-on-in-suspend;
153                                         regulator-suspend-microvolt = <950000>;
154                                 };
155                         };
156
157                         vdd_arm: DCDC_REG2 {
158                                 regulator-name = "vdd_arm";
159                                 regulator-min-microvolt = <950000>;
160                                 regulator-max-microvolt = <1350000>;
161                                 regulator-ramp-delay = <6001>;
162                                 regulator-always-on;
163                                 regulator-boot-on;
164
165                                 regulator-state-mem {
166                                         regulator-off-in-suspend;
167                                         regulator-suspend-microvolt = <950000>;
168                                 };
169                         };
170
171                         vcc_ddr: DCDC_REG3 {
172                                 regulator-name = "vcc_ddr";
173                                 regulator-always-on;
174                                 regulator-boot-on;
175
176                                 regulator-state-mem {
177                                         regulator-on-in-suspend;
178                                 };
179                         };
180
181                         vcc_3v0_1v8: vcc_emmc: DCDC_REG4 {
182                                 regulator-name = "vcc_3v0_1v8";
183                                 regulator-min-microvolt = <1800000>;
184                                 regulator-max-microvolt = <3000000>;
185                                 regulator-always-on;
186                                 regulator-boot-on;
187
188                                 regulator-state-mem {
189                                         regulator-on-in-suspend;
190                                         regulator-suspend-microvolt = <3000000>;
191                                 };
192                         };
193
194                         vcc_3v3: DCDC_REG5 {
195                                 regulator-name = "vcc_3v3";
196                                 regulator-min-microvolt = <3300000>;
197                                 regulator-max-microvolt = <3300000>;
198                                 regulator-always-on;
199                                 regulator-boot-on;
200
201                                 regulator-state-mem {
202                                         regulator-on-in-suspend;
203                                         regulator-suspend-microvolt = <3300000>;
204                                 };
205                         };
206
207                         vcc_1v8: LDO_REG2 {
208                                 regulator-name = "vcc_1v8";
209                                 regulator-min-microvolt = <1800000>;
210                                 regulator-max-microvolt = <1800000>;
211                                 regulator-always-on;
212                                 regulator-boot-on;
213
214                                 regulator-state-mem {
215                                         regulator-on-in-suspend;
216                                         regulator-suspend-microvolt = <1800000>;
217                                 };
218                         };
219
220                         vcc_1v0: LDO_REG3 {
221                                 regulator-name = "vcc_1v0";
222                                 regulator-min-microvolt = <1000000>;
223                                 regulator-max-microvolt = <1000000>;
224                                 regulator-always-on;
225                                 regulator-boot-on;
226
227                                 regulator-state-mem {
228                                         regulator-on-in-suspend;
229                                         regulator-suspend-microvolt = <1000000>;
230                                 };
231                         };
232
233                         vccio_sd: LDO_REG5 {
234                                 regulator-name = "vccio_sd";
235                                 regulator-min-microvolt = <1800000>;
236                                 regulator-max-microvolt = <3300000>;
237                                 regulator-always-on;
238                                 regulator-boot-on;
239
240                                 regulator-state-mem {
241                                         regulator-on-in-suspend;
242                                         regulator-suspend-microvolt = <3300000>;
243                                 };
244                         };
245
246                         vcc_lcd: LDO_REG7 {
247                                 regulator-always-on;
248                                 regulator-boot-on;
249                                 regulator-min-microvolt = <1000000>;
250                                 regulator-max-microvolt = <1000000>;
251                                 regulator-name = "vcc_lcd";
252
253                                 regulator-state-mem {
254                                         regulator-off-in-suspend;
255                                         regulator-suspend-microvolt = <1000000>;
256                                 };
257                         };
258
259                         vcc_1v8_lcd: LDO_REG8 {
260                                 regulator-name = "vcc_1v8_lcd";
261                                 regulator-min-microvolt = <1800000>;
262                                 regulator-max-microvolt = <1800000>;
263                                 regulator-always-on;
264                                 regulator-boot-on;
265
266                                 regulator-state-mem {
267                                         regulator-on-in-suspend;
268                                         regulator-suspend-microvolt = <1800000>;
269                                 };
270                         };
271
272                         vcca_1v8: LDO_REG9 {
273                                 regulator-name = "vcca_1v8";
274                                 regulator-min-microvolt = <1800000>;
275                                 regulator-max-microvolt = <1800000>;
276                                 regulator-always-on;
277                                 regulator-boot-on;
278
279                                 regulator-state-mem {
280                                         regulator-off-in-suspend;
281                                         regulator-suspend-microvolt = <1800000>;
282                                 };
283                         };
284                 };
285         };
286 };
287
288 &i2c1 {
289         status = "okay";
290
291         /* SE05x is limited to Fast Mode */
292         clock-frequency = <400000>;
293
294         fan: fan@18 {
295                 compatible = "ti,amc6821";
296                 reg = <0x18>;
297                 #cooling-cells = <2>;
298         };
299
300         rtc_twi: rtc@6f {
301                 compatible = "isil,isl1208";
302                 reg = <0x6f>;
303         };
304 };
305
306 &i2c3 {
307         status = "okay";
308 };
309
310 &i2s0_8ch {
311         rockchip,trcm-sync-tx-only;
312
313         pinctrl-0 = <&i2s0_8ch_sclktx &i2s0_8ch_lrcktx
314                      &i2s0_8ch_sdo0 &i2s0_8ch_sdi0>;
315 };
316
317 &io_domains {
318         vccio1-supply = <&vcc_3v3>;
319         vccio2-supply = <&vccio_sd>;
320         vccio3-supply = <&vcc_3v3>;
321         vccio4-supply = <&vcc_3v3>;
322         vccio5-supply = <&vcc_3v3>;
323         vccio6-supply = <&vcc_emmc>;
324         vccio-oscgpi-supply = <&vcc_3v3>;
325
326         status = "okay";
327 };
328
329 &pinctrl {
330         emmc {
331                 emmc_reset: emmc-reset {
332                         rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
333                 };
334         };
335
336         leds {
337                 module_led_pin: module-led-pin {
338                         rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
339                 };
340         };
341
342         pmic {
343                 pmic_int: pmic-int {
344                         rockchip,pins =
345                                 <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
346                 };
347         };
348 };
349
350 &saradc {
351         vref-supply = <&vcc_1v8>;
352         status = "okay";
353 };
354
355 &sdmmc {
356         vqmmc-supply = <&vccio_sd>;
357 };
358
359 &tsadc {
360         status = "okay";
361 };
362
363 &u2phy {
364         status = "okay";
365 };
366
367 &u2phy_host {
368         status = "okay";
369 };
370
371 /* Mule UCAN */
372 &usb_host0_ehci {
373         status = "okay";
374 };
375
376 &usb_host0_ohci {
377         status = "okay";
378 };
379
380 &wdt {
381         status = "okay";
382 };