1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2020 Aditya Prayoga <aditya@kobol.io>
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.
10 * See https://wiki.kobol.io/helios64/intro/ for further details.
14 #include "rk3399.dtsi"
15 #include "rk3399-opp.dtsi"
18 model = "Kobol Helios64";
19 compatible = "kobol,helios64", "rockchip,rk3399";
29 avdd_0v9_s0: avdd-0v9-s0 {
30 compatible = "regulator-fixed";
31 regulator-name = "avdd_0v9_s0";
34 regulator-min-microvolt = <900000>;
35 regulator-max-microvolt = <900000>;
36 vin-supply = <&vcc1v8_sys_s3>;
39 avdd_1v8_s0: avdd-1v8-s0 {
40 compatible = "regulator-fixed";
41 regulator-name = "avdd_1v8_s0";
44 regulator-min-microvolt = <1800000>;
45 regulator-max-microvolt = <1800000>;
46 vin-supply = <&vcc3v3_sys_s3>;
50 stdout-path = "serial2:1500000n8";
53 clkin_gmac: external-gmac-clock {
54 compatible = "fixed-clock";
55 clock-frequency = <125000000>;
56 clock-output-names = "clkin_gmac";
61 /* fan connected to P7 */
62 compatible = "pwm-fan";
63 pwms = <&pwm0 0 40000 0>;
64 cooling-levels = <0 80 170 255>;
68 /* fan connected to P6 */
69 compatible = "pwm-fan";
70 pwms = <&pwm1 0 40000 0>;
71 cooling-levels = <0 80 170 255>;
75 compatible = "gpio-leds";
76 pinctrl-names = "default";
77 pinctrl-0 = <&sys_grn_led_on &sys_red_led_on>;
80 label = "helios64:green:status";
81 gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
86 label = "helios64:red:fault";
87 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
88 default-state = "keep";
92 hdd_a_power: hdd-a-power {
93 compatible = "regulator-fixed";
95 gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
96 pinctrl-0 = <&hdd_a_power_en>;
97 pinctrl-names = "default";
100 regulator-name = "hdd_a_power";
101 startup-delay-us = <2000000>;
104 hdd_b_power: hdd-b-power {
105 compatible = "regulator-fixed";
107 gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
108 pinctrl-0 = <&hdd_b_power_en>;
109 pinctrl-names = "default";
112 regulator-name = "hdd_b_power";
113 startup-delay-us = <2000000>;
116 pcie_power: pcie-power {
117 compatible = "regulator-fixed";
119 gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
120 pinctrl-0 = <&pcie_pwr>;
121 pinctrl-names = "default";
123 regulator-name = "pcie_power";
124 startup-delay-us = <10000>;
125 vin-supply = <&vcc5v0_perdev>;
128 usblan_power: usblan-power {
129 compatible = "regulator-fixed";
131 gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
132 pinctrl-names = "default";
133 pinctrl-0 = <&usb_lan_en>;
134 regulator-name = "usblan_power";
137 vin-supply = <&vcc5v0_usb>;
140 vcc1v8_sys_s0: vcc1v8-sys-s0 {
141 compatible = "regulator-fixed";
142 regulator-name = "vcc1v8_sys_s0";
145 regulator-min-microvolt = <1800000>;
146 regulator-max-microvolt = <1800000>;
147 vin-supply = <&vcc1v8_sys_s3>;
150 vcc3v0_sd: vcc3v0-sd {
151 compatible = "regulator-fixed";
153 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
154 regulator-name = "vcc3v0_sd";
156 regulator-min-microvolt = <3000000>;
157 regulator-max-microvolt = <3000000>;
158 pinctrl-names = "default";
159 pinctrl-0 = <&sdmmc0_pwr_h>;
160 vin-supply = <&vcc3v3_sys_s3>;
163 vcc3v3_sys_s3: vcc_lan: vcc3v3-sys-s3 {
164 compatible = "regulator-fixed";
165 regulator-name = "vcc3v3_sys_s3";
168 regulator-min-microvolt = <3300000>;
169 regulator-max-microvolt = <3300000>;
170 vin-supply = <&vcc5v0_sys>;
172 regulator-state-mem {
173 regulator-on-in-suspend;
177 vcc5v0_perdev: vcc5v0-perdev {
178 compatible = "regulator-fixed";
179 regulator-name = "vcc5v0_perdev";
182 regulator-min-microvolt = <5000000>;
183 regulator-max-microvolt = <5000000>;
184 vin-supply = <&vcc12v_dcin_bkup>;
187 vcc5v0_sys: vcc5v0-sys {
188 compatible = "regulator-fixed";
189 regulator-name = "vcc5v0_sys";
192 regulator-min-microvolt = <5000000>;
193 regulator-max-microvolt = <5000000>;
194 vin-supply = <&vcc12v_dcin_bkup>;
196 regulator-state-mem {
197 regulator-on-in-suspend;
201 vcc5v0_usb: vcc5v0-usb {
202 compatible = "regulator-fixed";
204 gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
205 pinctrl-names = "default";
206 pinctrl-0 = <&vcc5v0_usb_en>;
207 regulator-name = "vcc5v0_usb";
210 regulator-min-microvolt = <5000000>;
211 regulator-max-microvolt = <5000000>;
212 vin-supply = <&vcc5v0_perdev>;
215 vcc12v_dcin: vcc12v-dcin {
216 compatible = "regulator-fixed";
217 regulator-name = "vcc12v_dcin";
220 regulator-min-microvolt = <12000000>;
221 regulator-max-microvolt = <12000000>;
224 vcc12v_dcin_bkup: vcc12v-dcin-bkup {
225 compatible = "regulator-fixed";
226 regulator-name = "vcc12v_dcin_bkup";
229 regulator-min-microvolt = <12000000>;
230 regulator-max-microvolt = <12000000>;
231 vin-supply = <&vcc12v_dcin>;
236 * The system doesn't run stable with cpu freq enabled, so disallow the lower
237 * frequencies until this problem is properly understood and resolved.
258 cpu-supply = <&vdd_cpu_b>;
262 cpu-supply = <&vdd_cpu_b>;
266 cpu-supply = <&vdd_cpu_l>;
270 cpu-supply = <&vdd_cpu_l>;
274 cpu-supply = <&vdd_cpu_l>;
278 cpu-supply = <&vdd_cpu_l>;
286 assigned-clock-parents = <&clkin_gmac>;
287 assigned-clocks = <&cru SCLK_RMII_SRC>;
288 clock_in_out = "input";
290 phy-supply = <&vcc_lan>;
291 pinctrl-names = "default";
292 pinctrl-0 = <&rgmii_pins &gphy_reset>;
295 snps,reset-active-low;
296 snps,reset-delays-us = <0 10000 50000>;
297 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
302 clock-frequency = <400000>;
303 i2c-scl-rising-time-ns = <168>;
304 i2c-scl-falling-time-ns = <4>;
308 compatible = "rockchip,rk808";
310 interrupt-parent = <&gpio0>;
311 interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
312 clock-output-names = "xin32k", "rk808-clkout2";
313 pinctrl-names = "default";
314 pinctrl-0 = <&pmic_int_l>;
315 rockchip,system-power-controller;
316 vcc1-supply = <&vcc5v0_sys>;
317 vcc2-supply = <&vcc5v0_sys>;
318 vcc3-supply = <&vcc5v0_sys>;
319 vcc4-supply = <&vcc5v0_sys>;
320 vcc6-supply = <&vcc5v0_sys>;
321 vcc7-supply = <&vcc5v0_sys>;
322 vcc8-supply = <&vcc3v3_sys_s3>;
323 vcc9-supply = <&vcc5v0_sys>;
324 vcc10-supply = <&vcc5v0_sys>;
325 vcc11-supply = <&vcc5v0_sys>;
326 vcc12-supply = <&vcc3v3_sys_s3>;
327 vddio-supply = <&vcc3v0_s3>;
332 vdd_cpu_l: DCDC_REG2 {
333 regulator-name = "vdd_cpu_l";
336 regulator-min-microvolt = <750000>;
337 regulator-max-microvolt = <1350000>;
338 regulator-ramp-delay = <6001>;
340 regulator-state-mem {
341 regulator-off-in-suspend;
345 vcc1v8_sys_s3: DCDC_REG4 {
346 regulator-name = "vcc1v8_sys_s3";
349 regulator-min-microvolt = <1800000>;
350 regulator-max-microvolt = <1800000>;
352 regulator-state-mem {
353 regulator-on-in-suspend;
354 regulator-suspend-microvolt = <1800000>;
358 vcc_sdio_s0: LDO_REG4 {
359 regulator-name = "vcc_sdio_s0";
362 regulator-min-microvolt = <1800000>;
363 regulator-max-microvolt = <3000000>;
365 regulator-state-mem {
366 regulator-on-in-suspend;
367 regulator-suspend-microvolt = <3000000>;
371 vcc3v0_s3: LDO_REG8 {
372 regulator-name = "vcc3v0_s3";
375 regulator-min-microvolt = <3000000>;
376 regulator-max-microvolt = <3000000>;
378 regulator-state-mem {
379 regulator-on-in-suspend;
380 regulator-suspend-microvolt = <3000000>;
386 vdd_cpu_b: regulator@40 {
387 compatible = "silergy,syr827";
389 fcs,suspend-voltage-selector = <1>;
390 regulator-name = "vdd_cpu_b";
393 regulator-min-microvolt = <712500>;
394 regulator-max-microvolt = <1500000>;
395 regulator-ramp-delay = <1000>;
396 vin-supply = <&vcc5v0_sys>;
398 regulator-state-mem {
399 regulator-off-in-suspend;
405 clock-frequency = <400000>;
406 i2c-scl-rising-time-ns = <160>;
407 i2c-scl-falling-time-ns = <30>;
411 compatible = "national,lm75";
417 audio-supply = <&vcc1v8_sys_s0>;
418 bt656-supply = <&vcc1v8_sys_s0>;
419 gpio1830-supply = <&vcc3v0_s3>;
420 sdmmc-supply = <&vcc_sdio_s0>;
429 ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
430 max-link-speed = <2>;
432 pinctrl-names = "default";
435 vpcie12v-supply = <&vcc12v_dcin>;
436 vpcie3v3-supply = <&pcie_power>;
437 vpcie1v8-supply = <&avdd_1v8_s0>;
438 vpcie0v9-supply = <&avdd_0v9_s0>;
443 gphy_reset: gphy-reset {
444 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
449 sys_grn_led_on: sys-grn-led-on {
450 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
453 sys_red_led_on: sys-red-led-on {
454 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>;
461 <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
466 pmic_int_l: pmic-int-l {
467 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
472 hdd_a_power_en: hdd-a-power-en {
473 rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
476 hdd_b_power_en: hdd-b-power-en {
477 rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
480 vcc5v0_usb_en: vcc5v0-usb-en {
481 rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
484 usb_lan_en: usb-lan-en {
485 rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
490 sdmmc0_pwr_h: sdmmc0-pwr-h {
491 rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
497 pmu1830-supply = <&vcc3v0_s3>;
515 vqmmc-supply = <&vcc1v8_sys_s0>;
522 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
524 pinctrl-names = "default";
525 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
526 vmmc-supply = <&vcc3v0_sd>;
527 vqmmc-supply = <&vcc_sdio_s0>;
535 compatible = "jedec,spi-nor";
537 spi-max-frequency = <25000000>;
553 /* phy for &usbdrd_dwc3_1 */
558 /* tshut mode 0:CRU 1:GPIO */
559 rockchip,hw-tshut-mode = <1>;
560 /* tshut polarity 0:LOW 1:HIGH */
561 rockchip,hw-tshut-polarity = <1>;
569 /* phy for &usbdrd_dwc3_1 */
570 phy-supply = <&vcc5v0_usb>;
585 #address-cells = <1>;
589 compatible = "usb2109,0815";
591 #address-cells = <1>;
596 #trigger-source-cells = <0>;
601 #trigger-source-cells = <0>;
606 #trigger-source-cells = <0>;
610 compatible = "usbbda,8156";
612 #address-cells = <2>;
615 interface@0 { /* interface 0 of configuration 1 */
616 compatible = "usbbda,8156.config1.0";