WIP FPC-III support
[linux/fpc-iii.git] / arch / arm64 / boot / dts / rockchip / rk3399-kobol-helios64.dts
blob2a561be724b229711cee1dc539803fc2c2d317ff
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2020 Aditya Prayoga <aditya@kobol.io>
4  */
6 /*
7  * The Kobol Helios64 is a board designed to operate as a NAS and optionally
8  * ships with an enclosing that can host five 2.5" hard disks.
9  *
10  * See https://wiki.kobol.io/helios64/intro/ for further details.
11  */
13 /dts-v1/;
14 #include "rk3399.dtsi"
15 #include "rk3399-opp.dtsi"
17 / {
18         model = "Kobol Helios64";
19         compatible = "kobol,helios64", "rockchip,rk3399";
21         avdd_1v8_s0: avdd-1v8-s0 {
22                 compatible = "regulator-fixed";
23                 regulator-name = "avdd_1v8_s0";
24                 regulator-always-on;
25                 regulator-boot-on;
26                 regulator-min-microvolt = <1800000>;
27                 regulator-max-microvolt = <1800000>;
28                 vin-supply = <&vcc3v3_sys_s3>;
29         };
31         clkin_gmac: external-gmac-clock {
32                 compatible = "fixed-clock";
33                 clock-frequency = <125000000>;
34                 clock-output-names = "clkin_gmac";
35                 #clock-cells = <0>;
36         };
38         leds {
39                 compatible = "gpio-leds";
40                 pinctrl-names = "default";
41                 pinctrl-0 = <&sys_grn_led_on &sys_red_led_on>;
43                 led-0 {
44                         label = "helios64:green:status";
45                         gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
46                         default-state = "on";
47                 };
49                 led-1 {
50                         label = "helios64:red:fault";
51                         gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
52                         default-state = "keep";
53                 };
54         };
56         vcc1v8_sys_s0: vcc1v8-sys-s0 {
57                 compatible = "regulator-fixed";
58                 regulator-name = "vcc1v8_sys_s0";
59                 regulator-always-on;
60                 regulator-boot-on;
61                 regulator-min-microvolt = <1800000>;
62                 regulator-max-microvolt = <1800000>;
63                 vin-supply = <&vcc1v8_sys_s3>;
64         };
66         vcc3v0_sd: vcc3v0-sd {
67                 compatible = "regulator-fixed";
68                 enable-active-high;
69                 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
70                 regulator-name = "vcc3v0_sd";
71                 regulator-boot-on;
72                 regulator-min-microvolt = <3000000>;
73                 regulator-max-microvolt = <3000000>;
74                 pinctrl-names = "default";
75                 pinctrl-0 = <&sdmmc0_pwr_h>;
76                 vin-supply = <&vcc3v3_sys_s3>;
77         };
79         vcc3v3_sys_s3: vcc_lan: vcc3v3-sys-s3 {
80                 compatible = "regulator-fixed";
81                 regulator-name = "vcc3v3_sys_s3";
82                 regulator-always-on;
83                 regulator-boot-on;
84                 regulator-min-microvolt = <3300000>;
85                 regulator-max-microvolt = <3300000>;
86                 vin-supply = <&vcc5v0_sys>;
88                 regulator-state-mem {
89                         regulator-on-in-suspend;
90                 };
91         };
93         vcc5v0_sys: vcc5v0-sys {
94                 compatible = "regulator-fixed";
95                 regulator-name = "vcc5v0_sys";
96                 regulator-always-on;
97                 regulator-boot-on;
98                 regulator-min-microvolt = <5000000>;
99                 regulator-max-microvolt = <5000000>;
100                 vin-supply = <&vcc12v_dcin_bkup>;
102                 regulator-state-mem {
103                         regulator-on-in-suspend;
104                 };
105         };
107         vcc12v_dcin: vcc12v-dcin {
108                 compatible = "regulator-fixed";
109                 regulator-name = "vcc12v_dcin";
110                 regulator-always-on;
111                 regulator-boot-on;
112                 regulator-min-microvolt = <12000000>;
113                 regulator-max-microvolt = <12000000>;
114         };
116         vcc12v_dcin_bkup: vcc12v-dcin-bkup {
117                 compatible = "regulator-fixed";
118                 regulator-name = "vcc12v_dcin_bkup";
119                 regulator-always-on;
120                 regulator-boot-on;
121                 regulator-min-microvolt = <12000000>;
122                 regulator-max-microvolt = <12000000>;
123                 vin-supply = <&vcc12v_dcin>;
124         };
128  * The system doesn't run stable with cpu freq enabled, so disallow the lower
129  * frequencies until this problem is properly understood and resolved.
130  */
131 &cluster0_opp {
132         /delete-node/ opp00;
133         /delete-node/ opp01;
134         /delete-node/ opp02;
135         /delete-node/ opp03;
136         /delete-node/ opp04;
139 &cluster1_opp {
140         /delete-node/ opp00;
141         /delete-node/ opp01;
142         /delete-node/ opp02;
143         /delete-node/ opp03;
144         /delete-node/ opp04;
145         /delete-node/ opp05;
146         /delete-node/ opp06;
149 &cpu_b0 {
150         cpu-supply = <&vdd_cpu_b>;
153 &cpu_b1 {
154         cpu-supply = <&vdd_cpu_b>;
157 &cpu_l0 {
158         cpu-supply = <&vdd_cpu_l>;
161 &cpu_l1 {
162         cpu-supply = <&vdd_cpu_l>;
165 &cpu_l2 {
166         cpu-supply = <&vdd_cpu_l>;
169 &cpu_l3 {
170         cpu-supply = <&vdd_cpu_l>;
173 &emmc_phy {
174         status = "okay";
177 &gmac {
178         assigned-clock-parents = <&clkin_gmac>;
179         assigned-clocks = <&cru SCLK_RMII_SRC>;
180         clock_in_out = "input";
181         phy-mode = "rgmii";
182         phy-supply = <&vcc_lan>;
183         pinctrl-names = "default";
184         pinctrl-0 = <&rgmii_pins &gphy_reset>;
185         rx_delay = <0x20>;
186         tx_delay = <0x28>;
187         snps,reset-active-low;
188         snps,reset-delays-us = <0 10000 50000>;
189         snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
190         status = "okay";
193 &i2c0 {
194         clock-frequency = <400000>;
195         i2c-scl-rising-time-ns = <168>;
196         i2c-scl-falling-time-ns = <4>;
197         status = "okay";
199         rk808: pmic@1b {
200                 compatible = "rockchip,rk808";
201                 reg = <0x1b>;
202                 interrupt-parent = <&gpio0>;
203                 interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
204                 clock-output-names = "xin32k", "rk808-clkout2";
205                 pinctrl-names = "default";
206                 pinctrl-0 = <&pmic_int_l>;
207                 vcc1-supply = <&vcc5v0_sys>;
208                 vcc2-supply = <&vcc5v0_sys>;
209                 vcc3-supply = <&vcc5v0_sys>;
210                 vcc4-supply = <&vcc5v0_sys>;
211                 vcc6-supply = <&vcc5v0_sys>;
212                 vcc7-supply = <&vcc5v0_sys>;
213                 vcc8-supply = <&vcc3v3_sys_s3>;
214                 vcc9-supply = <&vcc5v0_sys>;
215                 vcc10-supply = <&vcc5v0_sys>;
216                 vcc11-supply = <&vcc5v0_sys>;
217                 vcc12-supply = <&vcc3v3_sys_s3>;
218                 vddio-supply = <&vcc3v0_s3>;
219                 wakeup-source;
220                 #clock-cells = <1>;
222                 regulators {
223                         vdd_cpu_l: DCDC_REG2 {
224                                 regulator-name = "vdd_cpu_l";
225                                 regulator-always-on;
226                                 regulator-boot-on;
227                                 regulator-min-microvolt = <750000>;
228                                 regulator-max-microvolt = <1350000>;
229                                 regulator-ramp-delay = <6001>;
231                                 regulator-state-mem {
232                                         regulator-off-in-suspend;
233                                 };
234                         };
236                         vcc1v8_sys_s3: DCDC_REG4 {
237                                 regulator-name = "vcc1v8_sys_s3";
238                                 regulator-always-on;
239                                 regulator-boot-on;
240                                 regulator-min-microvolt = <1800000>;
241                                 regulator-max-microvolt = <1800000>;
243                                 regulator-state-mem {
244                                         regulator-on-in-suspend;
245                                         regulator-suspend-microvolt = <1800000>;
246                                 };
247                         };
249                         vcc_sdio_s0: LDO_REG4 {
250                                 regulator-name = "vcc_sdio_s0";
251                                 regulator-always-on;
252                                 regulator-boot-on;
253                                 regulator-min-microvolt = <1800000>;
254                                 regulator-max-microvolt = <3000000>;
256                                 regulator-state-mem {
257                                         regulator-on-in-suspend;
258                                         regulator-suspend-microvolt = <3000000>;
259                                 };
260                         };
262                         vcc3v0_s3: LDO_REG8 {
263                                 regulator-name = "vcc3v0_s3";
264                                 regulator-always-on;
265                                 regulator-boot-on;
266                                 regulator-min-microvolt = <3000000>;
267                                 regulator-max-microvolt = <3000000>;
269                                 regulator-state-mem {
270                                         regulator-on-in-suspend;
271                                         regulator-suspend-microvolt = <3000000>;
272                                 };
273                         };
274                 };
275         };
277         vdd_cpu_b: regulator@40 {
278                 compatible = "silergy,syr827";
279                 reg = <0x40>;
280                 fcs,suspend-voltage-selector = <1>;
281                 regulator-name = "vdd_cpu_b";
282                 regulator-always-on;
283                 regulator-boot-on;
284                 regulator-min-microvolt = <712500>;
285                 regulator-max-microvolt = <1500000>;
286                 regulator-ramp-delay = <1000>;
287                 vin-supply = <&vcc5v0_sys>;
289                 regulator-state-mem {
290                         regulator-off-in-suspend;
291                 };
292         };
295 &i2c2 {
296         clock-frequency = <400000>;
297         i2c-scl-rising-time-ns = <160>;
298         i2c-scl-falling-time-ns = <30>;
299         status = "okay";
301         temp@4c {
302                 compatible = "national,lm75";
303                 reg = <0x4c>;
304         };
307 &io_domains {
308         audio-supply = <&vcc1v8_sys_s0>;
309         bt656-supply = <&vcc1v8_sys_s0>;
310         gpio1830-supply = <&vcc3v0_s3>;
311         sdmmc-supply = <&vcc_sdio_s0>;
312         status = "okay";
315 &pinctrl {
316         gmac {
317                 gphy_reset: gphy-reset {
318                         rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
319                 };
320         };
322         leds {
323                 sys_grn_led_on: sys-grn-led-on {
324                         rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
325                 };
327                 sys_red_led_on: sys-red-led-on {
328                         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>;
329                 };
330         };
332         pmic {
333                 pmic_int_l: pmic-int-l {
334                         rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
335                 };
336         };
338         vcc3v0-sd {
339                 sdmmc0_pwr_h: sdmmc0-pwr-h {
340                         rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
341                 };
342         };
345 &pmu_io_domains {
346         pmu1830-supply = <&vcc3v0_s3>;
347         status = "okay";
350 &sdhci {
351         bus-width = <8>;
352         mmc-hs200-1_8v;
353         non-removable;
354         vqmmc-supply = <&vcc1v8_sys_s0>;
355         status = "okay";
358 &sdmmc {
359         bus-width = <4>;
360         cap-sd-highspeed;
361         cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
362         disable-wp;
363         pinctrl-names = "default";
364         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
365         vmmc-supply = <&vcc3v0_sd>;
366         vqmmc-supply = <&vcc_sdio_s0>;
367         status = "okay";
370 &uart2 {
371         status = "okay";