1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2020 Aditya Prayoga <aditya@kobol.io> 4 */ 5 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 */ 12 13/dts-v1/; 14#include "rk3399.dtsi" 15#include "rk3399-opp.dtsi" 16 17/ { 18 model = "Kobol Helios64"; 19 compatible = "kobol,helios64", "rockchip,rk3399"; 20 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 }; 30 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 }; 37 38 leds { 39 compatible = "gpio-leds"; 40 pinctrl-names = "default"; 41 pinctrl-0 = <&sys_grn_led_on &sys_red_led_on>; 42 43 led-0 { 44 label = "helios64:green:status"; 45 gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 46 default-state = "on"; 47 }; 48 49 led-1 { 50 label = "helios64:red:fault"; 51 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 52 default-state = "keep"; 53 }; 54 }; 55 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 }; 65 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 }; 78 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>; 87 88 regulator-state-mem { 89 regulator-on-in-suspend; 90 }; 91 }; 92 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>; 101 102 regulator-state-mem { 103 regulator-on-in-suspend; 104 }; 105 }; 106 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 }; 115 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 }; 125}; 126 127/* 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; 137}; 138 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; 147}; 148 149&cpu_b0 { 150 cpu-supply = <&vdd_cpu_b>; 151}; 152 153&cpu_b1 { 154 cpu-supply = <&vdd_cpu_b>; 155}; 156 157&cpu_l0 { 158 cpu-supply = <&vdd_cpu_l>; 159}; 160 161&cpu_l1 { 162 cpu-supply = <&vdd_cpu_l>; 163}; 164 165&cpu_l2 { 166 cpu-supply = <&vdd_cpu_l>; 167}; 168 169&cpu_l3 { 170 cpu-supply = <&vdd_cpu_l>; 171}; 172 173&emmc_phy { 174 status = "okay"; 175}; 176 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"; 191}; 192 193&i2c0 { 194 clock-frequency = <400000>; 195 i2c-scl-rising-time-ns = <168>; 196 i2c-scl-falling-time-ns = <4>; 197 status = "okay"; 198 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>; 221 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>; 230 231 regulator-state-mem { 232 regulator-off-in-suspend; 233 }; 234 }; 235 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>; 242 243 regulator-state-mem { 244 regulator-on-in-suspend; 245 regulator-suspend-microvolt = <1800000>; 246 }; 247 }; 248 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>; 255 256 regulator-state-mem { 257 regulator-on-in-suspend; 258 regulator-suspend-microvolt = <3000000>; 259 }; 260 }; 261 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>; 268 269 regulator-state-mem { 270 regulator-on-in-suspend; 271 regulator-suspend-microvolt = <3000000>; 272 }; 273 }; 274 }; 275 }; 276 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>; 288 289 regulator-state-mem { 290 regulator-off-in-suspend; 291 }; 292 }; 293}; 294 295&i2c2 { 296 clock-frequency = <400000>; 297 i2c-scl-rising-time-ns = <160>; 298 i2c-scl-falling-time-ns = <30>; 299 status = "okay"; 300 301 temp@4c { 302 compatible = "national,lm75"; 303 reg = <0x4c>; 304 }; 305}; 306 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"; 313}; 314 315&pinctrl { 316 gmac { 317 gphy_reset: gphy-reset { 318 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>; 319 }; 320 }; 321 322 leds { 323 sys_grn_led_on: sys-grn-led-on { 324 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>; 325 }; 326 327 sys_red_led_on: sys-red-led-on { 328 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>; 329 }; 330 }; 331 332 pmic { 333 pmic_int_l: pmic-int-l { 334 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 335 }; 336 }; 337 338 vcc3v0-sd { 339 sdmmc0_pwr_h: sdmmc0-pwr-h { 340 rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 341 }; 342 }; 343}; 344 345&pmu_io_domains { 346 pmu1830-supply = <&vcc3v0_s3>; 347 status = "okay"; 348}; 349 350&sdhci { 351 bus-width = <8>; 352 mmc-hs200-1_8v; 353 non-removable; 354 vqmmc-supply = <&vcc1v8_sys_s0>; 355 status = "okay"; 356}; 357 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"; 368}; 369 370&uart2 { 371 status = "okay"; 372}; 373