xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588-edgeble-neu6a-common.dtsi (revision 9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2023 Edgeble AI Technologies Pvt. Ltd.
4 */
5
6#include <dt-bindings/gpio/gpio.h>
7#include <dt-bindings/leds/common.h>
8
9/ {
10	aliases {
11		mmc0 = &sdhci;
12	};
13
14	gpio-leds {
15		compatible = "gpio-leds";
16
17		led_user: led-0 {
18			color = <LED_COLOR_ID_GREEN>;
19			function = LED_FUNCTION_HEARTBEAT;
20			gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>;
21			linux,default-trigger = "heartbeat";
22			pinctrl-names = "default";
23			pinctrl-0 = <&led_user_en>;
24		};
25	};
26
27	vcc12v_dcin: regulator-vcc12v-dcin {
28		compatible = "regulator-fixed";
29		regulator-name = "vcc12v_dcin";
30		regulator-always-on;
31		regulator-boot-on;
32		regulator-min-microvolt = <12000000>;
33		regulator-max-microvolt = <12000000>;
34	};
35
36	vcc5v0_sys: regulator-vcc5v0-sys {
37		compatible = "regulator-fixed";
38		regulator-name = "vcc5v0_sys";
39		regulator-always-on;
40		regulator-boot-on;
41		regulator-min-microvolt = <5000000>;
42		regulator-max-microvolt = <5000000>;
43		vin-supply = <&vcc12v_dcin>;
44	};
45
46	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
47		compatible = "regulator-fixed";
48		regulator-name = "vcc_1v1_nldo_s3";
49		regulator-always-on;
50		regulator-boot-on;
51		regulator-min-microvolt = <1100000>;
52		regulator-max-microvolt = <1100000>;
53		vin-supply = <&vcc5v0_sys>;
54	};
55};
56
57&cpu_b0 {
58	cpu-supply = <&vdd_cpu_big0_s0>;
59};
60
61&cpu_b1 {
62	cpu-supply = <&vdd_cpu_big0_s0>;
63};
64
65&cpu_b2 {
66	cpu-supply = <&vdd_cpu_big1_s0>;
67};
68
69&cpu_b3 {
70	cpu-supply = <&vdd_cpu_big1_s0>;
71};
72
73&cpu_l0 {
74	cpu-supply = <&vdd_cpu_lit_s0>;
75};
76
77&cpu_l1 {
78	cpu-supply = <&vdd_cpu_lit_s0>;
79};
80
81&cpu_l2 {
82	cpu-supply = <&vdd_cpu_lit_s0>;
83};
84
85&cpu_l3 {
86	cpu-supply = <&vdd_cpu_lit_s0>;
87};
88
89&i2c0 {
90	pinctrl-names = "default";
91	pinctrl-0 = <&i2c0m2_xfer>;
92	status = "okay";
93
94	vdd_cpu_big0_s0: regulator@42 {
95		compatible = "rockchip,rk8602";
96		reg = <0x42>;
97		fcs,suspend-voltage-selector = <1>;
98		regulator-name = "vdd_cpu_big0_s0";
99		regulator-always-on;
100		regulator-boot-on;
101		regulator-min-microvolt = <550000>;
102		regulator-max-microvolt = <1050000>;
103		regulator-ramp-delay = <2300>;
104		vin-supply = <&vcc5v0_sys>;
105
106		regulator-state-mem {
107			regulator-off-in-suspend;
108		};
109	};
110
111	vdd_cpu_big1_s0: regulator@43 {
112		compatible = "rockchip,rk8603", "rockchip,rk8602";
113		reg = <0x43>;
114		fcs,suspend-voltage-selector = <1>;
115		regulator-name = "vdd_cpu_big1_s0";
116		regulator-always-on;
117		regulator-boot-on;
118		regulator-min-microvolt = <550000>;
119		regulator-max-microvolt = <1050000>;
120		regulator-ramp-delay = <2300>;
121		vin-supply = <&vcc5v0_sys>;
122
123		regulator-state-mem {
124			regulator-off-in-suspend;
125		};
126	};
127};
128
129&pd_gpu {
130	domain-supply = <&vdd_gpu_s0>;
131};
132
133&pinctrl {
134	leds {
135		led_user_en: led_user_en {
136			rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
137		};
138	};
139};
140
141&sdhci {
142	bus-width = <8>;
143	no-sdio;
144	no-sd;
145	non-removable;
146	mmc-hs400-1_8v;
147	mmc-hs400-enhanced-strobe;
148	status = "okay";
149};
150
151&spi2 {
152	status = "okay";
153	assigned-clocks = <&cru CLK_SPI2>;
154	assigned-clock-rates = <200000000>;
155	num-cs = <1>;
156	pinctrl-names = "default";
157	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
158
159	pmic@0 {
160		compatible = "rockchip,rk806";
161		spi-max-frequency = <1000000>;
162		reg = <0x0>;
163		interrupt-parent = <&gpio0>;
164		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
165		pinctrl-names = "default";
166		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
167			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
168
169		system-power-controller;
170
171		vcc1-supply = <&vcc5v0_sys>;
172		vcc2-supply = <&vcc5v0_sys>;
173		vcc3-supply = <&vcc5v0_sys>;
174		vcc4-supply = <&vcc5v0_sys>;
175		vcc5-supply = <&vcc5v0_sys>;
176		vcc6-supply = <&vcc5v0_sys>;
177		vcc7-supply = <&vcc5v0_sys>;
178		vcc8-supply = <&vcc5v0_sys>;
179		vcc9-supply = <&vcc5v0_sys>;
180		vcc10-supply = <&vcc5v0_sys>;
181		vcc11-supply = <&vcc_2v0_pldo_s3>;
182		vcc12-supply = <&vcc5v0_sys>;
183		vcc13-supply = <&vcc_1v1_nldo_s3>;
184		vcc14-supply = <&vcc_1v1_nldo_s3>;
185		vcca-supply = <&vcc5v0_sys>;
186
187		gpio-controller;
188		#gpio-cells = <2>;
189
190		rk806_dvs1_null: dvs1-null-pins {
191			pins = "gpio_pwrctrl1";
192			function = "pin_fun0";
193		};
194
195		rk806_dvs2_null: dvs2-null-pins {
196			pins = "gpio_pwrctrl2";
197			function = "pin_fun0";
198		};
199
200		rk806_dvs3_null: dvs3-null-pins {
201			pins = "gpio_pwrctrl3";
202			function = "pin_fun0";
203		};
204
205		regulators {
206			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
207				regulator-name = "vdd_gpu_s0";
208				regulator-boot-on;
209				regulator-min-microvolt = <550000>;
210				regulator-max-microvolt = <950000>;
211				regulator-ramp-delay = <12500>;
212				regulator-enable-ramp-delay = <400>;
213
214				regulator-state-mem {
215					regulator-off-in-suspend;
216				};
217			};
218
219			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
220				regulator-name = "vdd_cpu_lit_s0";
221				regulator-always-on;
222				regulator-boot-on;
223				regulator-min-microvolt = <550000>;
224				regulator-max-microvolt = <950000>;
225				regulator-ramp-delay = <12500>;
226
227				regulator-state-mem {
228					regulator-off-in-suspend;
229				};
230			};
231
232			vdd_log_s0: dcdc-reg3 {
233				regulator-name = "vdd_log_s0";
234				regulator-always-on;
235				regulator-boot-on;
236				regulator-min-microvolt = <675000>;
237				regulator-max-microvolt = <750000>;
238				regulator-ramp-delay = <12500>;
239
240				regulator-state-mem {
241					regulator-off-in-suspend;
242					regulator-suspend-microvolt = <750000>;
243				};
244			};
245
246			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
247				regulator-name = "vdd_vdenc_s0";
248				regulator-always-on;
249				regulator-boot-on;
250				regulator-min-microvolt = <550000>;
251				regulator-max-microvolt = <950000>;
252				regulator-ramp-delay = <12500>;
253
254				regulator-state-mem {
255					regulator-off-in-suspend;
256				};
257			};
258
259			vdd_ddr_s0: dcdc-reg5 {
260				regulator-name = "vdd_ddr_s0";
261				regulator-always-on;
262				regulator-boot-on;
263				regulator-min-microvolt = <675000>;
264				regulator-max-microvolt = <900000>;
265				regulator-ramp-delay = <12500>;
266
267				regulator-state-mem {
268					regulator-off-in-suspend;
269					regulator-suspend-microvolt = <850000>;
270				};
271			};
272
273			vdd2_ddr_s3: dcdc-reg6 {
274				regulator-name = "vdd2_ddr_s3";
275				regulator-always-on;
276				regulator-boot-on;
277
278				regulator-state-mem {
279					regulator-on-in-suspend;
280				};
281			};
282
283			vcc_2v0_pldo_s3: dcdc-reg7 {
284				regulator-name = "vdd_2v0_pldo_s3";
285				regulator-always-on;
286				regulator-boot-on;
287				regulator-min-microvolt = <2000000>;
288				regulator-max-microvolt = <2000000>;
289				regulator-ramp-delay = <12500>;
290
291				regulator-state-mem {
292					regulator-on-in-suspend;
293					regulator-suspend-microvolt = <2000000>;
294				};
295			};
296
297			vcc_3v3_s3: dcdc-reg8 {
298				regulator-name = "vcc_3v3_s3";
299				regulator-always-on;
300				regulator-boot-on;
301				regulator-min-microvolt = <3300000>;
302				regulator-max-microvolt = <3300000>;
303
304				regulator-state-mem {
305					regulator-on-in-suspend;
306					regulator-suspend-microvolt = <3300000>;
307				};
308			};
309
310			vddq_ddr_s0: dcdc-reg9 {
311				regulator-name = "vddq_ddr_s0";
312				regulator-always-on;
313				regulator-boot-on;
314
315				regulator-state-mem {
316					regulator-off-in-suspend;
317				};
318			};
319
320			vcc_1v8_s3: dcdc-reg10 {
321				regulator-name = "vcc_1v8_s3";
322				regulator-always-on;
323				regulator-boot-on;
324				regulator-min-microvolt = <1800000>;
325				regulator-max-microvolt = <1800000>;
326
327				regulator-state-mem {
328					regulator-on-in-suspend;
329					regulator-suspend-microvolt = <1800000>;
330				};
331			};
332
333			avcc_1v8_s0: pldo-reg1 {
334				regulator-name = "avcc_1v8_s0";
335				regulator-always-on;
336				regulator-boot-on;
337				regulator-min-microvolt = <1800000>;
338				regulator-max-microvolt = <1800000>;
339
340				regulator-state-mem {
341					regulator-off-in-suspend;
342				};
343			};
344
345			vcc_1v8_s0: pldo-reg2 {
346				regulator-name = "vcc_1v8_s0";
347				regulator-always-on;
348				regulator-boot-on;
349				regulator-min-microvolt = <1800000>;
350				regulator-max-microvolt = <1800000>;
351
352				regulator-state-mem {
353					regulator-off-in-suspend;
354					regulator-suspend-microvolt = <1800000>;
355				};
356			};
357
358			avdd_1v2_s0: pldo-reg3 {
359				regulator-name = "avdd_1v2_s0";
360				regulator-always-on;
361				regulator-boot-on;
362				regulator-min-microvolt = <1200000>;
363				regulator-max-microvolt = <1200000>;
364
365				regulator-state-mem {
366					regulator-off-in-suspend;
367				};
368			};
369
370			vcc_3v3_s0: pldo-reg4 {
371				regulator-name = "vcc_3v3_s0";
372				regulator-always-on;
373				regulator-boot-on;
374				regulator-min-microvolt = <3300000>;
375				regulator-max-microvolt = <3300000>;
376				regulator-ramp-delay = <12500>;
377
378				regulator-state-mem {
379					regulator-off-in-suspend;
380				};
381			};
382
383			vccio_sd_s0: pldo-reg5 {
384				regulator-name = "vccio_sd_s0";
385				regulator-always-on;
386				regulator-boot-on;
387				regulator-min-microvolt = <1800000>;
388				regulator-max-microvolt = <3300000>;
389				regulator-ramp-delay = <12500>;
390
391				regulator-state-mem {
392					regulator-off-in-suspend;
393				};
394			};
395
396			pldo6_s3: pldo-reg6 {
397				regulator-name = "pldo6_s3";
398				regulator-always-on;
399				regulator-boot-on;
400				regulator-min-microvolt = <1800000>;
401				regulator-max-microvolt = <1800000>;
402
403				regulator-state-mem {
404					regulator-on-in-suspend;
405					regulator-suspend-microvolt = <1800000>;
406				};
407			};
408
409			vdd_0v75_s3: nldo-reg1 {
410				regulator-name = "vdd_0v75_s3";
411				regulator-always-on;
412				regulator-boot-on;
413				regulator-min-microvolt = <750000>;
414				regulator-max-microvolt = <750000>;
415
416				regulator-state-mem {
417					regulator-on-in-suspend;
418					regulator-suspend-microvolt = <750000>;
419				};
420			};
421
422			vdd_ddr_pll_s0: nldo-reg2 {
423				regulator-name = "vdd_ddr_pll_s0";
424				regulator-always-on;
425				regulator-boot-on;
426				regulator-min-microvolt = <850000>;
427				regulator-max-microvolt = <850000>;
428
429				regulator-state-mem {
430					regulator-off-in-suspend;
431					regulator-suspend-microvolt = <850000>;
432				};
433			};
434
435			avdd_0v75_s0: nldo-reg3 {
436				regulator-name = "avdd_0v75_s0";
437				regulator-always-on;
438				regulator-boot-on;
439				regulator-min-microvolt = <750000>;
440				regulator-max-microvolt = <750000>;
441
442				regulator-state-mem {
443					regulator-off-in-suspend;
444				};
445			};
446
447			vdd_0v85_s0: nldo-reg4 {
448				regulator-name = "vdd_0v85_s0";
449				regulator-always-on;
450				regulator-boot-on;
451				regulator-min-microvolt = <850000>;
452				regulator-max-microvolt = <850000>;
453
454				regulator-state-mem {
455					regulator-off-in-suspend;
456				};
457			};
458
459			vdd_0v75_s0: nldo-reg5 {
460				regulator-name = "vdd_0v75_s0";
461				regulator-always-on;
462				regulator-boot-on;
463				regulator-min-microvolt = <750000>;
464				regulator-max-microvolt = <750000>;
465
466				regulator-state-mem {
467					regulator-off-in-suspend;
468				};
469			};
470		};
471	};
472};
473
474&tsadc {
475	status = "okay";
476};
477