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 aliases { 22 mmc0 = &sdmmc; 23 mmc1 = &sdhci; 24 }; 25 26 avdd_1v8_s0: avdd-1v8-s0 { 27 compatible = "regulator-fixed"; 28 regulator-name = "avdd_1v8_s0"; 29 regulator-always-on; 30 regulator-boot-on; 31 regulator-min-microvolt = <1800000>; 32 regulator-max-microvolt = <1800000>; 33 vin-supply = <&vcc3v3_sys_s3>; 34 }; 35 36 clkin_gmac: external-gmac-clock { 37 compatible = "fixed-clock"; 38 clock-frequency = <125000000>; 39 clock-output-names = "clkin_gmac"; 40 #clock-cells = <0>; 41 }; 42 43 leds { 44 compatible = "gpio-leds"; 45 pinctrl-names = "default"; 46 pinctrl-0 = <&sys_grn_led_on &sys_red_led_on>; 47 48 led-0 { 49 label = "helios64:green:status"; 50 gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 51 default-state = "on"; 52 }; 53 54 led-1 { 55 label = "helios64:red:fault"; 56 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 57 default-state = "keep"; 58 }; 59 }; 60 61 vcc1v8_sys_s0: vcc1v8-sys-s0 { 62 compatible = "regulator-fixed"; 63 regulator-name = "vcc1v8_sys_s0"; 64 regulator-always-on; 65 regulator-boot-on; 66 regulator-min-microvolt = <1800000>; 67 regulator-max-microvolt = <1800000>; 68 vin-supply = <&vcc1v8_sys_s3>; 69 }; 70 71 vcc3v0_sd: vcc3v0-sd { 72 compatible = "regulator-fixed"; 73 enable-active-high; 74 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 75 regulator-name = "vcc3v0_sd"; 76 regulator-boot-on; 77 regulator-min-microvolt = <3000000>; 78 regulator-max-microvolt = <3000000>; 79 pinctrl-names = "default"; 80 pinctrl-0 = <&sdmmc0_pwr_h>; 81 vin-supply = <&vcc3v3_sys_s3>; 82 }; 83 84 vcc3v3_sys_s3: vcc_lan: vcc3v3-sys-s3 { 85 compatible = "regulator-fixed"; 86 regulator-name = "vcc3v3_sys_s3"; 87 regulator-always-on; 88 regulator-boot-on; 89 regulator-min-microvolt = <3300000>; 90 regulator-max-microvolt = <3300000>; 91 vin-supply = <&vcc5v0_sys>; 92 93 regulator-state-mem { 94 regulator-on-in-suspend; 95 }; 96 }; 97 98 vcc5v0_sys: vcc5v0-sys { 99 compatible = "regulator-fixed"; 100 regulator-name = "vcc5v0_sys"; 101 regulator-always-on; 102 regulator-boot-on; 103 regulator-min-microvolt = <5000000>; 104 regulator-max-microvolt = <5000000>; 105 vin-supply = <&vcc12v_dcin_bkup>; 106 107 regulator-state-mem { 108 regulator-on-in-suspend; 109 }; 110 }; 111 112 vcc12v_dcin: vcc12v-dcin { 113 compatible = "regulator-fixed"; 114 regulator-name = "vcc12v_dcin"; 115 regulator-always-on; 116 regulator-boot-on; 117 regulator-min-microvolt = <12000000>; 118 regulator-max-microvolt = <12000000>; 119 }; 120 121 vcc12v_dcin_bkup: vcc12v-dcin-bkup { 122 compatible = "regulator-fixed"; 123 regulator-name = "vcc12v_dcin_bkup"; 124 regulator-always-on; 125 regulator-boot-on; 126 regulator-min-microvolt = <12000000>; 127 regulator-max-microvolt = <12000000>; 128 vin-supply = <&vcc12v_dcin>; 129 }; 130}; 131 132/* 133 * The system doesn't run stable with cpu freq enabled, so disallow the lower 134 * frequencies until this problem is properly understood and resolved. 135 */ 136&cluster0_opp { 137 /delete-node/ opp00; 138 /delete-node/ opp01; 139 /delete-node/ opp02; 140 /delete-node/ opp03; 141 /delete-node/ opp04; 142}; 143 144&cluster1_opp { 145 /delete-node/ opp00; 146 /delete-node/ opp01; 147 /delete-node/ opp02; 148 /delete-node/ opp03; 149 /delete-node/ opp04; 150 /delete-node/ opp05; 151 /delete-node/ opp06; 152}; 153 154&cpu_b0 { 155 cpu-supply = <&vdd_cpu_b>; 156}; 157 158&cpu_b1 { 159 cpu-supply = <&vdd_cpu_b>; 160}; 161 162&cpu_l0 { 163 cpu-supply = <&vdd_cpu_l>; 164}; 165 166&cpu_l1 { 167 cpu-supply = <&vdd_cpu_l>; 168}; 169 170&cpu_l2 { 171 cpu-supply = <&vdd_cpu_l>; 172}; 173 174&cpu_l3 { 175 cpu-supply = <&vdd_cpu_l>; 176}; 177 178&emmc_phy { 179 status = "okay"; 180}; 181 182&gmac { 183 assigned-clock-parents = <&clkin_gmac>; 184 assigned-clocks = <&cru SCLK_RMII_SRC>; 185 clock_in_out = "input"; 186 phy-mode = "rgmii"; 187 phy-supply = <&vcc_lan>; 188 pinctrl-names = "default"; 189 pinctrl-0 = <&rgmii_pins &gphy_reset>; 190 rx_delay = <0x20>; 191 tx_delay = <0x28>; 192 snps,reset-active-low; 193 snps,reset-delays-us = <0 10000 50000>; 194 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 195 status = "okay"; 196}; 197 198&i2c0 { 199 clock-frequency = <400000>; 200 i2c-scl-rising-time-ns = <168>; 201 i2c-scl-falling-time-ns = <4>; 202 status = "okay"; 203 204 rk808: pmic@1b { 205 compatible = "rockchip,rk808"; 206 reg = <0x1b>; 207 interrupt-parent = <&gpio0>; 208 interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 209 clock-output-names = "xin32k", "rk808-clkout2"; 210 pinctrl-names = "default"; 211 pinctrl-0 = <&pmic_int_l>; 212 vcc1-supply = <&vcc5v0_sys>; 213 vcc2-supply = <&vcc5v0_sys>; 214 vcc3-supply = <&vcc5v0_sys>; 215 vcc4-supply = <&vcc5v0_sys>; 216 vcc6-supply = <&vcc5v0_sys>; 217 vcc7-supply = <&vcc5v0_sys>; 218 vcc8-supply = <&vcc3v3_sys_s3>; 219 vcc9-supply = <&vcc5v0_sys>; 220 vcc10-supply = <&vcc5v0_sys>; 221 vcc11-supply = <&vcc5v0_sys>; 222 vcc12-supply = <&vcc3v3_sys_s3>; 223 vddio-supply = <&vcc3v0_s3>; 224 wakeup-source; 225 #clock-cells = <1>; 226 227 regulators { 228 vdd_cpu_l: DCDC_REG2 { 229 regulator-name = "vdd_cpu_l"; 230 regulator-always-on; 231 regulator-boot-on; 232 regulator-min-microvolt = <750000>; 233 regulator-max-microvolt = <1350000>; 234 regulator-ramp-delay = <6001>; 235 236 regulator-state-mem { 237 regulator-off-in-suspend; 238 }; 239 }; 240 241 vcc1v8_sys_s3: DCDC_REG4 { 242 regulator-name = "vcc1v8_sys_s3"; 243 regulator-always-on; 244 regulator-boot-on; 245 regulator-min-microvolt = <1800000>; 246 regulator-max-microvolt = <1800000>; 247 248 regulator-state-mem { 249 regulator-on-in-suspend; 250 regulator-suspend-microvolt = <1800000>; 251 }; 252 }; 253 254 vcc_sdio_s0: LDO_REG4 { 255 regulator-name = "vcc_sdio_s0"; 256 regulator-always-on; 257 regulator-boot-on; 258 regulator-min-microvolt = <1800000>; 259 regulator-max-microvolt = <3000000>; 260 261 regulator-state-mem { 262 regulator-on-in-suspend; 263 regulator-suspend-microvolt = <3000000>; 264 }; 265 }; 266 267 vcc3v0_s3: LDO_REG8 { 268 regulator-name = "vcc3v0_s3"; 269 regulator-always-on; 270 regulator-boot-on; 271 regulator-min-microvolt = <3000000>; 272 regulator-max-microvolt = <3000000>; 273 274 regulator-state-mem { 275 regulator-on-in-suspend; 276 regulator-suspend-microvolt = <3000000>; 277 }; 278 }; 279 }; 280 }; 281 282 vdd_cpu_b: regulator@40 { 283 compatible = "silergy,syr827"; 284 reg = <0x40>; 285 fcs,suspend-voltage-selector = <1>; 286 regulator-name = "vdd_cpu_b"; 287 regulator-always-on; 288 regulator-boot-on; 289 regulator-min-microvolt = <712500>; 290 regulator-max-microvolt = <1500000>; 291 regulator-ramp-delay = <1000>; 292 vin-supply = <&vcc5v0_sys>; 293 294 regulator-state-mem { 295 regulator-off-in-suspend; 296 }; 297 }; 298}; 299 300&i2c2 { 301 clock-frequency = <400000>; 302 i2c-scl-rising-time-ns = <160>; 303 i2c-scl-falling-time-ns = <30>; 304 status = "okay"; 305 306 temp@4c { 307 compatible = "national,lm75"; 308 reg = <0x4c>; 309 }; 310}; 311 312&io_domains { 313 audio-supply = <&vcc1v8_sys_s0>; 314 bt656-supply = <&vcc1v8_sys_s0>; 315 gpio1830-supply = <&vcc3v0_s3>; 316 sdmmc-supply = <&vcc_sdio_s0>; 317 status = "okay"; 318}; 319 320&pinctrl { 321 gmac { 322 gphy_reset: gphy-reset { 323 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>; 324 }; 325 }; 326 327 leds { 328 sys_grn_led_on: sys-grn-led-on { 329 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>; 330 }; 331 332 sys_red_led_on: sys-red-led-on { 333 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>; 334 }; 335 }; 336 337 pmic { 338 pmic_int_l: pmic-int-l { 339 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 340 }; 341 }; 342 343 vcc3v0-sd { 344 sdmmc0_pwr_h: sdmmc0-pwr-h { 345 rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 346 }; 347 }; 348}; 349 350&pmu_io_domains { 351 pmu1830-supply = <&vcc3v0_s3>; 352 status = "okay"; 353}; 354 355&sdhci { 356 bus-width = <8>; 357 mmc-hs200-1_8v; 358 non-removable; 359 vqmmc-supply = <&vcc1v8_sys_s0>; 360 status = "okay"; 361}; 362 363&sdmmc { 364 bus-width = <4>; 365 cap-sd-highspeed; 366 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 367 disable-wp; 368 pinctrl-names = "default"; 369 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 370 vmmc-supply = <&vcc3v0_sd>; 371 vqmmc-supply = <&vcc_sdio_s0>; 372 status = "okay"; 373}; 374 375&uart2 { 376 status = "okay"; 377}; 378