19da1c032SUwe Kleine-König// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 29da1c032SUwe Kleine-König/* 39da1c032SUwe Kleine-König * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 49da1c032SUwe Kleine-König * Copyright (c) 2024 Uwe Kleine-König 59da1c032SUwe Kleine-König */ 69da1c032SUwe Kleine-König 79da1c032SUwe Kleine-König/dts-v1/; 89da1c032SUwe Kleine-König 99b682d31SHeiko Stuebner#include <dt-bindings/input/input.h> 10ea91aabfSHeiko Stuebner#include <dt-bindings/leds/common.h> 119da1c032SUwe Kleine-König#include <dt-bindings/gpio/gpio.h> 129da1c032SUwe Kleine-König#include "rk3568.dtsi" 139da1c032SUwe Kleine-König 149da1c032SUwe Kleine-König/ { 159da1c032SUwe Kleine-König model = "Qnap TS-433-4G NAS System 4-Bay"; 169da1c032SUwe Kleine-König compatible = "qnap,ts433", "rockchip,rk3568"; 17e0ec6d48SHeiko Stuebner 18dadd4256SHeiko Stuebner aliases { 19dadd4256SHeiko Stuebner ethernet0 = &gmac0; 20dadd4256SHeiko Stuebner mmc0 = &sdhci; 21dadd4256SHeiko Stuebner rtc0 = &rtc_rv8263; 22dadd4256SHeiko Stuebner }; 23dadd4256SHeiko Stuebner 24e1cb5d8aSHeiko Stuebner chosen { 25e1cb5d8aSHeiko Stuebner stdout-path = "serial2:115200n8"; 26e1cb5d8aSHeiko Stuebner }; 27e1cb5d8aSHeiko Stuebner 289b682d31SHeiko Stuebner keys { 299b682d31SHeiko Stuebner compatible = "gpio-keys"; 309b682d31SHeiko Stuebner pinctrl-0 = <©_button_pin>, <&reset_button_pin>; 319b682d31SHeiko Stuebner pinctrl-names = "default"; 329b682d31SHeiko Stuebner 339b682d31SHeiko Stuebner key-copy { 349b682d31SHeiko Stuebner label = "copy"; 359b682d31SHeiko Stuebner gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; 369b682d31SHeiko Stuebner linux,code = <KEY_COPY>; 379b682d31SHeiko Stuebner }; 389b682d31SHeiko Stuebner 399b682d31SHeiko Stuebner key-reset { 409b682d31SHeiko Stuebner label = "reset"; 419b682d31SHeiko Stuebner gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>; 429b682d31SHeiko Stuebner linux,code = <KEY_RESTART>; 439b682d31SHeiko Stuebner }; 449b682d31SHeiko Stuebner }; 459b682d31SHeiko Stuebner 46ea91aabfSHeiko Stuebner leds { 47ea91aabfSHeiko Stuebner compatible = "gpio-leds"; 48ea91aabfSHeiko Stuebner 49ea91aabfSHeiko Stuebner led-0 { 50ea91aabfSHeiko Stuebner color = <LED_COLOR_ID_GREEN>; 51ea91aabfSHeiko Stuebner function = LED_FUNCTION_DISK; 52ea91aabfSHeiko Stuebner gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>; 5328876859SHeiko Stuebner label = "hdd1:green:disk"; 54ea91aabfSHeiko Stuebner linux,default-trigger = "disk-activity"; 55ea91aabfSHeiko Stuebner pinctrl-names = "default"; 56ea91aabfSHeiko Stuebner pinctrl-0 = <&hdd1_led_pin>; 57ea91aabfSHeiko Stuebner }; 58ea91aabfSHeiko Stuebner 59ea91aabfSHeiko Stuebner led-1 { 60ea91aabfSHeiko Stuebner color = <LED_COLOR_ID_GREEN>; 61ea91aabfSHeiko Stuebner function = LED_FUNCTION_DISK; 62ea91aabfSHeiko Stuebner gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>; 6328876859SHeiko Stuebner label = "hdd2:green:disk"; 64ea91aabfSHeiko Stuebner linux,default-trigger = "disk-activity"; 65ea91aabfSHeiko Stuebner pinctrl-names = "default"; 66ea91aabfSHeiko Stuebner pinctrl-0 = <&hdd2_led_pin>; 67ea91aabfSHeiko Stuebner }; 68ea91aabfSHeiko Stuebner 69ea91aabfSHeiko Stuebner led-2 { 70ea91aabfSHeiko Stuebner color = <LED_COLOR_ID_GREEN>; 71ea91aabfSHeiko Stuebner function = LED_FUNCTION_DISK; 72ea91aabfSHeiko Stuebner gpios = <&gpio1 RK_PD7 GPIO_ACTIVE_LOW>; 7328876859SHeiko Stuebner label = "hdd3:green:disk"; 74ea91aabfSHeiko Stuebner linux,default-trigger = "disk-activity"; 75ea91aabfSHeiko Stuebner pinctrl-names = "default"; 76ea91aabfSHeiko Stuebner pinctrl-0 = <&hdd3_led_pin>; 77ea91aabfSHeiko Stuebner }; 78ea91aabfSHeiko Stuebner 79ea91aabfSHeiko Stuebner led-3 { 80ea91aabfSHeiko Stuebner color = <LED_COLOR_ID_GREEN>; 81ea91aabfSHeiko Stuebner function = LED_FUNCTION_DISK; 82ea91aabfSHeiko Stuebner gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>; 8328876859SHeiko Stuebner label = "hdd4:green:disk"; 84ea91aabfSHeiko Stuebner linux,default-trigger = "disk-activity"; 85ea91aabfSHeiko Stuebner pinctrl-names = "default"; 86ea91aabfSHeiko Stuebner pinctrl-0 = <&hdd4_led_pin>; 87ea91aabfSHeiko Stuebner }; 88ea91aabfSHeiko Stuebner }; 89ea91aabfSHeiko Stuebner 90e0ec6d48SHeiko Stuebner dc_12v: regulator-dc-12v { 91e0ec6d48SHeiko Stuebner compatible = "regulator-fixed"; 92e0ec6d48SHeiko Stuebner regulator-name = "dc_12v"; 93e0ec6d48SHeiko Stuebner regulator-always-on; 94e0ec6d48SHeiko Stuebner regulator-boot-on; 95e0ec6d48SHeiko Stuebner regulator-min-microvolt = <12000000>; 96e0ec6d48SHeiko Stuebner regulator-max-microvolt = <12000000>; 97e0ec6d48SHeiko Stuebner }; 98e0ec6d48SHeiko Stuebner 99e0ec6d48SHeiko Stuebner vcc3v3_pcie: regulator-vcc3v3-pcie { 100e0ec6d48SHeiko Stuebner compatible = "regulator-fixed"; 101e0ec6d48SHeiko Stuebner regulator-name = "vcc3v3_pcie"; 102e0ec6d48SHeiko Stuebner regulator-min-microvolt = <3300000>; 103e0ec6d48SHeiko Stuebner regulator-max-microvolt = <3300000>; 104e0ec6d48SHeiko Stuebner enable-active-high; 105e0ec6d48SHeiko Stuebner gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; 106e0ec6d48SHeiko Stuebner vin-supply = <&dc_12v>; 107e0ec6d48SHeiko Stuebner }; 108d992203fSHeiko Stuebner 109ee078c7dSHeiko Stuebner vcc3v3_sys: regulator-vcc3v3-sys { 110ee078c7dSHeiko Stuebner compatible = "regulator-fixed"; 111ee078c7dSHeiko Stuebner regulator-name = "vcc3v3_sys"; 112ee078c7dSHeiko Stuebner regulator-always-on; 113ee078c7dSHeiko Stuebner regulator-boot-on; 114ee078c7dSHeiko Stuebner regulator-min-microvolt = <3300000>; 115ee078c7dSHeiko Stuebner regulator-max-microvolt = <3300000>; 116ee078c7dSHeiko Stuebner vin-supply = <&dc_12v>; 117ee078c7dSHeiko Stuebner }; 118ee078c7dSHeiko Stuebner 119d992203fSHeiko Stuebner vcc5v0_host: regulator-vcc5v0-host { 120d992203fSHeiko Stuebner compatible = "regulator-fixed"; 121d992203fSHeiko Stuebner enable-active-high; 122d992203fSHeiko Stuebner pinctrl-names = "default"; 123d992203fSHeiko Stuebner pinctrl-0 = <&vcc5v0_host_en>; 124d992203fSHeiko Stuebner gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 125d992203fSHeiko Stuebner regulator-name = "vcc5v0_host"; 126d992203fSHeiko Stuebner regulator-always-on; 127d992203fSHeiko Stuebner regulator-boot-on; 128d992203fSHeiko Stuebner regulator-min-microvolt = <5000000>; 129d992203fSHeiko Stuebner regulator-max-microvolt = <5000000>; 130d992203fSHeiko Stuebner vin-supply = <&vcc5v0_usb>; 131d992203fSHeiko Stuebner }; 132d992203fSHeiko Stuebner 133d992203fSHeiko Stuebner vcc5v0_otg: regulator-vcc5v0-otg { 134d992203fSHeiko Stuebner compatible = "regulator-fixed"; 135d992203fSHeiko Stuebner enable-active-high; 136d992203fSHeiko Stuebner gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 137d992203fSHeiko Stuebner pinctrl-names = "default"; 138d992203fSHeiko Stuebner pinctrl-0 = <&vcc5v0_otg_en>; 139d992203fSHeiko Stuebner regulator-name = "vcc5v0_otg"; 140d992203fSHeiko Stuebner regulator-always-on; 141d992203fSHeiko Stuebner regulator-boot-on; 142d992203fSHeiko Stuebner regulator-min-microvolt = <5000000>; 143d992203fSHeiko Stuebner regulator-max-microvolt = <5000000>; 144d992203fSHeiko Stuebner vin-supply = <&vcc5v0_usb>; 145d992203fSHeiko Stuebner }; 146d992203fSHeiko Stuebner 14799b36ba9SHeiko Stuebner vcc5v0_sys: regulator-vcc5v0-sys { 14899b36ba9SHeiko Stuebner compatible = "regulator-fixed"; 14999b36ba9SHeiko Stuebner regulator-name = "vcc5v0_sys"; 15099b36ba9SHeiko Stuebner regulator-always-on; 15199b36ba9SHeiko Stuebner regulator-boot-on; 15299b36ba9SHeiko Stuebner regulator-min-microvolt = <5000000>; 15399b36ba9SHeiko Stuebner regulator-max-microvolt = <5000000>; 15499b36ba9SHeiko Stuebner vin-supply = <&dc_12v>; 15599b36ba9SHeiko Stuebner }; 15699b36ba9SHeiko Stuebner 157d992203fSHeiko Stuebner vcc5v0_usb: regulator-vcc5v0-usb { 158d992203fSHeiko Stuebner compatible = "regulator-fixed"; 159d992203fSHeiko Stuebner regulator-name = "vcc5v0_usb"; 160d992203fSHeiko Stuebner regulator-always-on; 161d992203fSHeiko Stuebner regulator-boot-on; 162d992203fSHeiko Stuebner regulator-min-microvolt = <5000000>; 163d992203fSHeiko Stuebner regulator-max-microvolt = <5000000>; 164d992203fSHeiko Stuebner vin-supply = <&dc_12v>; 165d992203fSHeiko Stuebner }; 166d992203fSHeiko Stuebner}; 167d992203fSHeiko Stuebner 168d992203fSHeiko Stuebner/* connected to usb_host0_xhci */ 169d992203fSHeiko Stuebner&combphy0 { 170d992203fSHeiko Stuebner status = "okay"; 1719da1c032SUwe Kleine-König}; 1729da1c032SUwe Kleine-König 173673c1353SHeiko Stuebner/* connected to sata1 */ 174673c1353SHeiko Stuebner&combphy1 { 175673c1353SHeiko Stuebner status = "okay"; 176673c1353SHeiko Stuebner}; 177673c1353SHeiko Stuebner 178673c1353SHeiko Stuebner/* connected to sata2 */ 179673c1353SHeiko Stuebner&combphy2 { 180673c1353SHeiko Stuebner status = "okay"; 181673c1353SHeiko Stuebner}; 182673c1353SHeiko Stuebner 18399b36ba9SHeiko Stuebner&cpu0 { 18499b36ba9SHeiko Stuebner cpu-supply = <&vdd_cpu>; 18599b36ba9SHeiko Stuebner}; 18699b36ba9SHeiko Stuebner 18799b36ba9SHeiko Stuebner&cpu1 { 18899b36ba9SHeiko Stuebner cpu-supply = <&vdd_cpu>; 18999b36ba9SHeiko Stuebner}; 19099b36ba9SHeiko Stuebner 19199b36ba9SHeiko Stuebner&cpu2 { 19299b36ba9SHeiko Stuebner cpu-supply = <&vdd_cpu>; 19399b36ba9SHeiko Stuebner}; 19499b36ba9SHeiko Stuebner 19599b36ba9SHeiko Stuebner&cpu3 { 19699b36ba9SHeiko Stuebner cpu-supply = <&vdd_cpu>; 19799b36ba9SHeiko Stuebner}; 19899b36ba9SHeiko Stuebner 1999da1c032SUwe Kleine-König&gmac0 { 2009da1c032SUwe Kleine-König assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; 2019da1c032SUwe Kleine-König assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>; 2029da1c032SUwe Kleine-König assigned-clock-rates = <0>, <125000000>; 2039da1c032SUwe Kleine-König clock_in_out = "output"; 2049da1c032SUwe Kleine-König phy-handle = <&rgmii_phy0>; 205e8d45544SUwe Kleine-König phy-mode = "rgmii-id"; 2069da1c032SUwe Kleine-König pinctrl-names = "default"; 2079da1c032SUwe Kleine-König pinctrl-0 = <&gmac0_miim 2089da1c032SUwe Kleine-König &gmac0_tx_bus2 2099da1c032SUwe Kleine-König &gmac0_rx_bus2 2109da1c032SUwe Kleine-König &gmac0_rgmii_clk 2119da1c032SUwe Kleine-König &gmac0_rgmii_bus>; 2129da1c032SUwe Kleine-König status = "okay"; 2139da1c032SUwe Kleine-König}; 2149da1c032SUwe Kleine-König 2159130eb62SHeiko Stuebner&gpu { 2169130eb62SHeiko Stuebner mali-supply = <&vdd_gpu>; 2179130eb62SHeiko Stuebner status = "okay"; 2189130eb62SHeiko Stuebner}; 2199130eb62SHeiko Stuebner 2209da1c032SUwe Kleine-König&i2c0 { 22199b36ba9SHeiko Stuebner status = "okay"; 22299b36ba9SHeiko Stuebner 2239da1c032SUwe Kleine-König pmic@20 { 2249da1c032SUwe Kleine-König compatible = "rockchip,rk809"; 2259da1c032SUwe Kleine-König reg = <0x20>; 2269da1c032SUwe Kleine-König interrupt-parent = <&gpio0>; 227ee078c7dSHeiko Stuebner interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 228ee078c7dSHeiko Stuebner #clock-cells = <1>; 229ee078c7dSHeiko Stuebner pinctrl-names = "default"; 230ee078c7dSHeiko Stuebner pinctrl-0 = <&pmic_int_l>; 231ee078c7dSHeiko Stuebner system-power-controller; 232ee078c7dSHeiko Stuebner vcc1-supply = <&vcc3v3_sys>; 233ee078c7dSHeiko Stuebner vcc2-supply = <&vcc3v3_sys>; 234ee078c7dSHeiko Stuebner vcc3-supply = <&vcc3v3_sys>; 235ee078c7dSHeiko Stuebner vcc4-supply = <&vcc3v3_sys>; 236ee078c7dSHeiko Stuebner vcc5-supply = <&vcc3v3_sys>; 237ee078c7dSHeiko Stuebner vcc6-supply = <&vcc3v3_sys>; 238ee078c7dSHeiko Stuebner vcc7-supply = <&vcc3v3_sys>; 239ee078c7dSHeiko Stuebner vcc8-supply = <&vcc3v3_sys>; 240ee078c7dSHeiko Stuebner vcc9-supply = <&vcc3v3_sys>; 241ee078c7dSHeiko Stuebner wakeup-source; 242ee078c7dSHeiko Stuebner 243ee078c7dSHeiko Stuebner regulators { 244ee078c7dSHeiko Stuebner vdd_logic: DCDC_REG1 { 245ee078c7dSHeiko Stuebner regulator-name = "vdd_logic"; 246ee078c7dSHeiko Stuebner regulator-always-on; 247ee078c7dSHeiko Stuebner regulator-boot-on; 248ee078c7dSHeiko Stuebner regulator-initial-mode = <0x2>; 249ee078c7dSHeiko Stuebner regulator-min-microvolt = <500000>; 250ee078c7dSHeiko Stuebner regulator-max-microvolt = <1350000>; 251ee078c7dSHeiko Stuebner regulator-ramp-delay = <6001>; 252ee078c7dSHeiko Stuebner 253ee078c7dSHeiko Stuebner regulator-state-mem { 254ee078c7dSHeiko Stuebner regulator-off-in-suspend; 255ee078c7dSHeiko Stuebner }; 256ee078c7dSHeiko Stuebner }; 257ee078c7dSHeiko Stuebner 258ee078c7dSHeiko Stuebner vdd_gpu: DCDC_REG2 { 259ee078c7dSHeiko Stuebner regulator-name = "vdd_gpu"; 260ee078c7dSHeiko Stuebner regulator-always-on; 261ee078c7dSHeiko Stuebner regulator-initial-mode = <0x2>; 262ee078c7dSHeiko Stuebner regulator-min-microvolt = <500000>; 263ee078c7dSHeiko Stuebner regulator-max-microvolt = <1350000>; 264ee078c7dSHeiko Stuebner regulator-ramp-delay = <6001>; 265ee078c7dSHeiko Stuebner 266ee078c7dSHeiko Stuebner regulator-state-mem { 267ee078c7dSHeiko Stuebner regulator-off-in-suspend; 268ee078c7dSHeiko Stuebner }; 269ee078c7dSHeiko Stuebner }; 270ee078c7dSHeiko Stuebner 271ee078c7dSHeiko Stuebner vcc_ddr: DCDC_REG3 { 272ee078c7dSHeiko Stuebner regulator-name = "vcc_ddr"; 273ee078c7dSHeiko Stuebner regulator-always-on; 274ee078c7dSHeiko Stuebner regulator-boot-on; 275ee078c7dSHeiko Stuebner regulator-initial-mode = <0x2>; 276ee078c7dSHeiko Stuebner 277ee078c7dSHeiko Stuebner regulator-state-mem { 278ee078c7dSHeiko Stuebner regulator-on-in-suspend; 279ee078c7dSHeiko Stuebner }; 280ee078c7dSHeiko Stuebner }; 281ee078c7dSHeiko Stuebner 282ee078c7dSHeiko Stuebner vdd_npu: DCDC_REG4 { 283ee078c7dSHeiko Stuebner regulator-name = "vdd_npu"; 284ee078c7dSHeiko Stuebner regulator-initial-mode = <0x2>; 285ee078c7dSHeiko Stuebner regulator-min-microvolt = <500000>; 286ee078c7dSHeiko Stuebner regulator-max-microvolt = <1350000>; 287ee078c7dSHeiko Stuebner regulator-ramp-delay = <6001>; 288ee078c7dSHeiko Stuebner 289ee078c7dSHeiko Stuebner regulator-state-mem { 290ee078c7dSHeiko Stuebner regulator-off-in-suspend; 291ee078c7dSHeiko Stuebner }; 292ee078c7dSHeiko Stuebner }; 293ee078c7dSHeiko Stuebner 294ee078c7dSHeiko Stuebner vcc_1v8: DCDC_REG5 { 295ee078c7dSHeiko Stuebner regulator-name = "vcc_1v8"; 296ee078c7dSHeiko Stuebner regulator-always-on; 297ee078c7dSHeiko Stuebner regulator-boot-on; 298ee078c7dSHeiko Stuebner regulator-min-microvolt = <1800000>; 299ee078c7dSHeiko Stuebner regulator-max-microvolt = <1800000>; 300ee078c7dSHeiko Stuebner 301ee078c7dSHeiko Stuebner regulator-state-mem { 302ee078c7dSHeiko Stuebner regulator-off-in-suspend; 303ee078c7dSHeiko Stuebner }; 304ee078c7dSHeiko Stuebner }; 305ee078c7dSHeiko Stuebner 306ee078c7dSHeiko Stuebner vdda0v9_image: LDO_REG1 { 307ee078c7dSHeiko Stuebner regulator-name = "vdda0v9_image"; 308ee078c7dSHeiko Stuebner regulator-always-on; 309ee078c7dSHeiko Stuebner regulator-min-microvolt = <900000>; 310ee078c7dSHeiko Stuebner regulator-max-microvolt = <900000>; 311ee078c7dSHeiko Stuebner 312ee078c7dSHeiko Stuebner regulator-state-mem { 313ee078c7dSHeiko Stuebner regulator-off-in-suspend; 314ee078c7dSHeiko Stuebner }; 315ee078c7dSHeiko Stuebner }; 316ee078c7dSHeiko Stuebner 317ee078c7dSHeiko Stuebner vdda_0v9: LDO_REG2 { 318ee078c7dSHeiko Stuebner regulator-name = "vdda_0v9"; 319ee078c7dSHeiko Stuebner regulator-always-on; 320ee078c7dSHeiko Stuebner regulator-boot-on; 321ee078c7dSHeiko Stuebner regulator-min-microvolt = <900000>; 322ee078c7dSHeiko Stuebner regulator-max-microvolt = <900000>; 323ee078c7dSHeiko Stuebner 324ee078c7dSHeiko Stuebner regulator-state-mem { 325ee078c7dSHeiko Stuebner regulator-off-in-suspend; 326ee078c7dSHeiko Stuebner }; 327ee078c7dSHeiko Stuebner }; 328ee078c7dSHeiko Stuebner 329ee078c7dSHeiko Stuebner vdda0v9_pmu: LDO_REG3 { 330ee078c7dSHeiko Stuebner regulator-name = "vdda0v9_pmu"; 331ee078c7dSHeiko Stuebner regulator-always-on; 332ee078c7dSHeiko Stuebner regulator-boot-on; 333ee078c7dSHeiko Stuebner regulator-min-microvolt = <900000>; 334ee078c7dSHeiko Stuebner regulator-max-microvolt = <900000>; 335ee078c7dSHeiko Stuebner 336ee078c7dSHeiko Stuebner regulator-state-mem { 337ee078c7dSHeiko Stuebner regulator-on-in-suspend; 338ee078c7dSHeiko Stuebner regulator-suspend-microvolt = <900000>; 339ee078c7dSHeiko Stuebner }; 340ee078c7dSHeiko Stuebner }; 341ee078c7dSHeiko Stuebner 342ee078c7dSHeiko Stuebner vccio_acodec: LDO_REG4 { 343ee078c7dSHeiko Stuebner regulator-name = "vccio_acodec"; 344ee078c7dSHeiko Stuebner regulator-always-on; 345ee078c7dSHeiko Stuebner regulator-boot-on; 346ee078c7dSHeiko Stuebner regulator-min-microvolt = <3300000>; 347ee078c7dSHeiko Stuebner regulator-max-microvolt = <3300000>; 348ee078c7dSHeiko Stuebner 349ee078c7dSHeiko Stuebner regulator-state-mem { 350ee078c7dSHeiko Stuebner regulator-off-in-suspend; 351ee078c7dSHeiko Stuebner }; 352ee078c7dSHeiko Stuebner }; 353ee078c7dSHeiko Stuebner 354ee078c7dSHeiko Stuebner vccio_sd: LDO_REG5 { 355ee078c7dSHeiko Stuebner regulator-name = "vccio_sd"; 356ee078c7dSHeiko Stuebner regulator-min-microvolt = <1800000>; 357ee078c7dSHeiko Stuebner regulator-max-microvolt = <3300000>; 358ee078c7dSHeiko Stuebner 359ee078c7dSHeiko Stuebner regulator-state-mem { 360ee078c7dSHeiko Stuebner regulator-off-in-suspend; 361ee078c7dSHeiko Stuebner }; 362ee078c7dSHeiko Stuebner }; 363ee078c7dSHeiko Stuebner 364ee078c7dSHeiko Stuebner vcc3v3_pmu: LDO_REG6 { 365ee078c7dSHeiko Stuebner regulator-name = "vcc3v3_pmu"; 366ee078c7dSHeiko Stuebner regulator-always-on; 367ee078c7dSHeiko Stuebner regulator-boot-on; 368ee078c7dSHeiko Stuebner regulator-min-microvolt = <3300000>; 369ee078c7dSHeiko Stuebner regulator-max-microvolt = <3300000>; 370ee078c7dSHeiko Stuebner 371ee078c7dSHeiko Stuebner regulator-state-mem { 372ee078c7dSHeiko Stuebner regulator-on-in-suspend; 373ee078c7dSHeiko Stuebner regulator-suspend-microvolt = <3300000>; 374ee078c7dSHeiko Stuebner }; 375ee078c7dSHeiko Stuebner }; 376ee078c7dSHeiko Stuebner 377ee078c7dSHeiko Stuebner vcca_1v8: LDO_REG7 { 378ee078c7dSHeiko Stuebner regulator-name = "vcca_1v8"; 379ee078c7dSHeiko Stuebner regulator-always-on; 380ee078c7dSHeiko Stuebner regulator-boot-on; 381ee078c7dSHeiko Stuebner regulator-min-microvolt = <1800000>; 382ee078c7dSHeiko Stuebner regulator-max-microvolt = <1800000>; 383ee078c7dSHeiko Stuebner 384ee078c7dSHeiko Stuebner regulator-state-mem { 385ee078c7dSHeiko Stuebner regulator-off-in-suspend; 386ee078c7dSHeiko Stuebner }; 387ee078c7dSHeiko Stuebner }; 388ee078c7dSHeiko Stuebner 389ee078c7dSHeiko Stuebner vcca1v8_pmu: LDO_REG8 { 390ee078c7dSHeiko Stuebner regulator-name = "vcca1v8_pmu"; 391ee078c7dSHeiko Stuebner regulator-always-on; 392ee078c7dSHeiko Stuebner regulator-boot-on; 393ee078c7dSHeiko Stuebner regulator-min-microvolt = <1800000>; 394ee078c7dSHeiko Stuebner regulator-max-microvolt = <1800000>; 395ee078c7dSHeiko Stuebner 396ee078c7dSHeiko Stuebner regulator-state-mem { 397ee078c7dSHeiko Stuebner regulator-on-in-suspend; 398ee078c7dSHeiko Stuebner regulator-suspend-microvolt = <1800000>; 399ee078c7dSHeiko Stuebner }; 400ee078c7dSHeiko Stuebner }; 401ee078c7dSHeiko Stuebner 402ee078c7dSHeiko Stuebner vcca1v8_image: LDO_REG9 { 403ee078c7dSHeiko Stuebner regulator-name = "vcca1v8_image"; 404ee078c7dSHeiko Stuebner regulator-always-on; 405ee078c7dSHeiko Stuebner regulator-min-microvolt = <1800000>; 406ee078c7dSHeiko Stuebner regulator-max-microvolt = <1800000>; 407ee078c7dSHeiko Stuebner 408ee078c7dSHeiko Stuebner regulator-state-mem { 409ee078c7dSHeiko Stuebner regulator-off-in-suspend; 410ee078c7dSHeiko Stuebner }; 411ee078c7dSHeiko Stuebner }; 412ee078c7dSHeiko Stuebner 413ee078c7dSHeiko Stuebner vcc_3v3: SWITCH_REG1 { 414ee078c7dSHeiko Stuebner regulator-name = "vcc_3v3"; 415ee078c7dSHeiko Stuebner regulator-always-on; 416ee078c7dSHeiko Stuebner regulator-boot-on; 417ee078c7dSHeiko Stuebner 418ee078c7dSHeiko Stuebner regulator-state-mem { 419ee078c7dSHeiko Stuebner regulator-off-in-suspend; 420ee078c7dSHeiko Stuebner }; 421ee078c7dSHeiko Stuebner }; 422ee078c7dSHeiko Stuebner 423ee078c7dSHeiko Stuebner vcc3v3_sd: SWITCH_REG2 { 424ee078c7dSHeiko Stuebner regulator-name = "vcc3v3_sd"; 425ee078c7dSHeiko Stuebner /* 426ee078c7dSHeiko Stuebner * turning this off, breaks access to both 427ee078c7dSHeiko Stuebner * PCIe controllers, refclk generator perhaps 428ee078c7dSHeiko Stuebner */ 429ee078c7dSHeiko Stuebner regulator-always-on; 430ee078c7dSHeiko Stuebner regulator-boot-on; 431ee078c7dSHeiko Stuebner 432ee078c7dSHeiko Stuebner regulator-state-mem { 433ee078c7dSHeiko Stuebner regulator-off-in-suspend; 434ee078c7dSHeiko Stuebner }; 435ee078c7dSHeiko Stuebner }; 436ee078c7dSHeiko Stuebner }; 4379da1c032SUwe Kleine-König }; 43899b36ba9SHeiko Stuebner 43999b36ba9SHeiko Stuebner vdd_cpu: regulator@40 { 44099b36ba9SHeiko Stuebner compatible = "silergy,syr827"; 44199b36ba9SHeiko Stuebner reg = <0x40>; 44299b36ba9SHeiko Stuebner fcs,suspend-voltage-selector = <1>; 44399b36ba9SHeiko Stuebner regulator-name = "vdd_cpu"; 44499b36ba9SHeiko Stuebner regulator-always-on; 44599b36ba9SHeiko Stuebner regulator-boot-on; 44699b36ba9SHeiko Stuebner regulator-min-microvolt = <712500>; 44799b36ba9SHeiko Stuebner regulator-max-microvolt = <1390000>; 44899b36ba9SHeiko Stuebner regulator-ramp-delay = <2300>; 44999b36ba9SHeiko Stuebner vin-supply = <&vcc5v0_sys>; 45099b36ba9SHeiko Stuebner }; 4519da1c032SUwe Kleine-König}; 4529da1c032SUwe Kleine-König 4539da1c032SUwe Kleine-König&i2c1 { 4549da1c032SUwe Kleine-König status = "okay"; 4559da1c032SUwe Kleine-König 456dadd4256SHeiko Stuebner rtc_rv8263: rtc@51 { 4579da1c032SUwe Kleine-König compatible = "microcrystal,rv8263"; 4589da1c032SUwe Kleine-König reg = <0x51>; 4599da1c032SUwe Kleine-König wakeup-source; 4609da1c032SUwe Kleine-König }; 461da6f4130SHeiko Stuebner 462da6f4130SHeiko Stuebner /* eeprom for vital-product-data on the mainboard */ 463da6f4130SHeiko Stuebner eeprom@54 { 464da6f4130SHeiko Stuebner compatible = "giantec,gt24c04a", "atmel,24c04"; 465da6f4130SHeiko Stuebner reg = <0x54>; 466da6f4130SHeiko Stuebner label = "VPD_MB"; 467da6f4130SHeiko Stuebner num-addresses = <2>; 468da6f4130SHeiko Stuebner pagesize = <16>; 469da6f4130SHeiko Stuebner read-only; 470da6f4130SHeiko Stuebner }; 471da6f4130SHeiko Stuebner 472da6f4130SHeiko Stuebner /* eeprom for vital-product-data on the backplane */ 473da6f4130SHeiko Stuebner eeprom@56 { 474da6f4130SHeiko Stuebner compatible = "giantec,gt24c04a", "atmel,24c04"; 475da6f4130SHeiko Stuebner reg = <0x56>; 476da6f4130SHeiko Stuebner label = "VPD_BP"; 477da6f4130SHeiko Stuebner num-addresses = <2>; 478da6f4130SHeiko Stuebner pagesize = <16>; 479da6f4130SHeiko Stuebner read-only; 480da6f4130SHeiko Stuebner }; 4819da1c032SUwe Kleine-König}; 4829da1c032SUwe Kleine-König 4839da1c032SUwe Kleine-König&mdio0 { 484831263a4SUwe Kleine-König rgmii_phy0: ethernet-phy@3 { 485831263a4SUwe Kleine-König /* Motorcomm YT8521 phy */ 4869da1c032SUwe Kleine-König compatible = "ethernet-phy-ieee802.3-c22"; 487831263a4SUwe Kleine-König reg = <0x3>; 488*d01e09a9SUwe Kleine-König pinctrl-0 = <ð_phy0_reset_pin>; 489*d01e09a9SUwe Kleine-König pinctrl-names = "default"; 490*d01e09a9SUwe Kleine-König reset-assert-us = <10000>; 491*d01e09a9SUwe Kleine-König reset-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; 4929da1c032SUwe Kleine-König }; 4939da1c032SUwe Kleine-König}; 4949da1c032SUwe Kleine-König 495e09a1f00SHeiko Stuebner/* 496e09a1f00SHeiko Stuebner * The MCU can provide system temperature too, but only by polling and of 497e09a1f00SHeiko Stuebner * course also cannot set trip points. So attach to the cpu thermal-zone 498e09a1f00SHeiko Stuebner * instead to control the fan. 499e09a1f00SHeiko Stuebner */ 500e09a1f00SHeiko Stuebner&cpu_thermal { 501e09a1f00SHeiko Stuebner trips { 502e09a1f00SHeiko Stuebner case_fan0: case-fan0 { 503e09a1f00SHeiko Stuebner hysteresis = <2000>; 504e09a1f00SHeiko Stuebner temperature = <35000>; 505e09a1f00SHeiko Stuebner type = "active"; 506e09a1f00SHeiko Stuebner }; 507e09a1f00SHeiko Stuebner 508e09a1f00SHeiko Stuebner case_fan1: case-fan1 { 509e09a1f00SHeiko Stuebner hysteresis = <2000>; 510e09a1f00SHeiko Stuebner temperature = <45000>; 511e09a1f00SHeiko Stuebner type = "active"; 512e09a1f00SHeiko Stuebner }; 513e09a1f00SHeiko Stuebner 514e09a1f00SHeiko Stuebner case_fan2: case-fan2 { 515e09a1f00SHeiko Stuebner hysteresis = <2000>; 516e09a1f00SHeiko Stuebner temperature = <65000>; 517e09a1f00SHeiko Stuebner type = "active"; 518e09a1f00SHeiko Stuebner }; 519e09a1f00SHeiko Stuebner }; 520e09a1f00SHeiko Stuebner 521e09a1f00SHeiko Stuebner cooling-maps { 522e09a1f00SHeiko Stuebner /* 523e09a1f00SHeiko Stuebner * Always provide some air movement, due to small case 524e09a1f00SHeiko Stuebner * full of harddrives. 525e09a1f00SHeiko Stuebner */ 526e09a1f00SHeiko Stuebner map1 { 527e09a1f00SHeiko Stuebner cooling-device = <&fan THERMAL_NO_LIMIT 1>; 528e09a1f00SHeiko Stuebner trip = <&case_fan0>; 529e09a1f00SHeiko Stuebner }; 530e09a1f00SHeiko Stuebner 531e09a1f00SHeiko Stuebner map2 { 532e09a1f00SHeiko Stuebner cooling-device = <&fan 2 3>; 533e09a1f00SHeiko Stuebner trip = <&case_fan1>; 534e09a1f00SHeiko Stuebner }; 535e09a1f00SHeiko Stuebner 536e09a1f00SHeiko Stuebner map3 { 537e09a1f00SHeiko Stuebner cooling-device = <&fan 4 THERMAL_NO_LIMIT>; 538e09a1f00SHeiko Stuebner trip = <&case_fan2>; 539e09a1f00SHeiko Stuebner }; 540e09a1f00SHeiko Stuebner }; 541e09a1f00SHeiko Stuebner}; 542e09a1f00SHeiko Stuebner 5439da1c032SUwe Kleine-König&pcie30phy { 5440f5f87a1SHeiko Stuebner data-lanes = <1 2>; 5459da1c032SUwe Kleine-König status = "okay"; 5469da1c032SUwe Kleine-König}; 5479da1c032SUwe Kleine-König 548e0ec6d48SHeiko Stuebner/* Connected to a JMicron AHCI SATA controller */ 5499da1c032SUwe Kleine-König&pcie3x1 { 5509da1c032SUwe Kleine-König reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; 551e0ec6d48SHeiko Stuebner vpcie3v3-supply = <&vcc3v3_pcie>; 5529da1c032SUwe Kleine-König status = "okay"; 5539da1c032SUwe Kleine-König}; 5549da1c032SUwe Kleine-König 5550f5f87a1SHeiko Stuebner/* Connected to the 2.5G NIC for the upper network jack */ 5560f5f87a1SHeiko Stuebner&pcie3x2 { 5570f5f87a1SHeiko Stuebner num-lanes = <1>; 5580f5f87a1SHeiko Stuebner reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 5590f5f87a1SHeiko Stuebner vpcie3v3-supply = <&vcc3v3_pcie>; 5600f5f87a1SHeiko Stuebner status = "okay"; 5610f5f87a1SHeiko Stuebner}; 5620f5f87a1SHeiko Stuebner 563d992203fSHeiko Stuebner&pinctrl { 564*d01e09a9SUwe Kleine-König gmac0 { 565*d01e09a9SUwe Kleine-König eth_phy0_reset_pin: eth-phy0-reset-pin { 566*d01e09a9SUwe Kleine-König rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; 567*d01e09a9SUwe Kleine-König }; 568*d01e09a9SUwe Kleine-König }; 569*d01e09a9SUwe Kleine-König 5709b682d31SHeiko Stuebner keys { 5719b682d31SHeiko Stuebner copy_button_pin: copy-button-pin { 5729b682d31SHeiko Stuebner rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>; 5739b682d31SHeiko Stuebner }; 5749b682d31SHeiko Stuebner 5759b682d31SHeiko Stuebner reset_button_pin: reset-button-pin { 5769b682d31SHeiko Stuebner rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 5779b682d31SHeiko Stuebner }; 5789b682d31SHeiko Stuebner }; 5799b682d31SHeiko Stuebner 580ea91aabfSHeiko Stuebner leds { 581ea91aabfSHeiko Stuebner hdd1_led_pin: hdd1-led-pin { 582ea91aabfSHeiko Stuebner rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 583ea91aabfSHeiko Stuebner }; 584ea91aabfSHeiko Stuebner 585ea91aabfSHeiko Stuebner hdd2_led_pin: hdd2-led-pin { 586ea91aabfSHeiko Stuebner rockchip,pins = <1 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 587ea91aabfSHeiko Stuebner }; 588ea91aabfSHeiko Stuebner 589ea91aabfSHeiko Stuebner hdd3_led_pin: hdd3-led-pin { 590ea91aabfSHeiko Stuebner rockchip,pins = <1 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>; 591ea91aabfSHeiko Stuebner }; 592ea91aabfSHeiko Stuebner 593ea91aabfSHeiko Stuebner hdd4_led_pin: hdd4_led-pin { 594ea91aabfSHeiko Stuebner rockchip,pins = <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 595ea91aabfSHeiko Stuebner }; 596ea91aabfSHeiko Stuebner }; 597ea91aabfSHeiko Stuebner 598ee078c7dSHeiko Stuebner pmic { 599ee078c7dSHeiko Stuebner pmic_int_l: pmic-int-l { 600ee078c7dSHeiko Stuebner rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 601ee078c7dSHeiko Stuebner }; 602ee078c7dSHeiko Stuebner }; 603ee078c7dSHeiko Stuebner 604d992203fSHeiko Stuebner usb { 605d992203fSHeiko Stuebner vcc5v0_host_en: vcc5v0-host-en { 606d992203fSHeiko Stuebner rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 607d992203fSHeiko Stuebner }; 608d992203fSHeiko Stuebner 609d992203fSHeiko Stuebner vcc5v0_otg_en: vcc5v0-otg-en { 610d992203fSHeiko Stuebner rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 611d992203fSHeiko Stuebner }; 612d992203fSHeiko Stuebner }; 613d992203fSHeiko Stuebner}; 614d992203fSHeiko Stuebner 61564b7f16fSHeiko Stuebner&pmu_io_domains { 61664b7f16fSHeiko Stuebner vccio4-supply = <&vcc_1v8>; 61764b7f16fSHeiko Stuebner vccio6-supply = <&vcc_1v8>; 61840cc4257SHeiko Stuebner status = "okay"; 61964b7f16fSHeiko Stuebner}; 62064b7f16fSHeiko Stuebner 621673c1353SHeiko Stuebner&sata1 { 622673c1353SHeiko Stuebner status = "okay"; 623673c1353SHeiko Stuebner}; 624673c1353SHeiko Stuebner 625673c1353SHeiko Stuebner&sata2 { 626673c1353SHeiko Stuebner status = "okay"; 627673c1353SHeiko Stuebner}; 628673c1353SHeiko Stuebner 6299da1c032SUwe Kleine-König&sdhci { 6309da1c032SUwe Kleine-König bus-width = <8>; 6319da1c032SUwe Kleine-König max-frequency = <200000000>; 6329da1c032SUwe Kleine-König non-removable; 6337fc027e8SUwe Kleine-König pinctrl-names = "default"; 6347fc027e8SUwe Kleine-König pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 6359da1c032SUwe Kleine-König status = "okay"; 6369da1c032SUwe Kleine-König}; 6379da1c032SUwe Kleine-König 6382dfdddd9SHeiko Stuebner&tsadc { 6392dfdddd9SHeiko Stuebner rockchip,hw-tshut-mode = <1>; 6402dfdddd9SHeiko Stuebner rockchip,hw-tshut-polarity = <0>; 6412dfdddd9SHeiko Stuebner status = "okay"; 6422dfdddd9SHeiko Stuebner}; 6432dfdddd9SHeiko Stuebner 6449da1c032SUwe Kleine-König/* 64507ef8be4SHeiko Stuebner * Connected to an MCU, that provides access to more LEDs, 64607ef8be4SHeiko Stuebner * buzzer, fan control and more. 64707ef8be4SHeiko Stuebner */ 64807ef8be4SHeiko Stuebner&uart0 { 64907ef8be4SHeiko Stuebner status = "okay"; 650e09a1f00SHeiko Stuebner 651e09a1f00SHeiko Stuebner mcu { 652e09a1f00SHeiko Stuebner compatible = "qnap,ts433-mcu"; 653e09a1f00SHeiko Stuebner 654e09a1f00SHeiko Stuebner fan: fan-0 { 655e09a1f00SHeiko Stuebner #cooling-cells = <2>; 656e09a1f00SHeiko Stuebner cooling-levels = <0 64 89 128 166 204 221 238>; 657e09a1f00SHeiko Stuebner }; 658e09a1f00SHeiko Stuebner }; 65907ef8be4SHeiko Stuebner}; 66007ef8be4SHeiko Stuebner 66107ef8be4SHeiko Stuebner/* 662c5a48ffbSUwe Kleine-König * Pins available on CN3 connector at TTL voltage level (3V3). 6639da1c032SUwe Kleine-König * ,_ _. 6649da1c032SUwe Kleine-König * |1234| 1=TX 2=VCC 6659da1c032SUwe Kleine-König * `----' 3=RX 4=GND 6669da1c032SUwe Kleine-König */ 6679da1c032SUwe Kleine-König&uart2 { 6689da1c032SUwe Kleine-König status = "okay"; 6699da1c032SUwe Kleine-König}; 670d992203fSHeiko Stuebner 671d992203fSHeiko Stuebner&usb2phy0 { 672d992203fSHeiko Stuebner status = "okay"; 673d992203fSHeiko Stuebner}; 674d992203fSHeiko Stuebner 675d992203fSHeiko Stuebner/* connected to usb_host0_xhci */ 676d992203fSHeiko Stuebner&usb2phy0_otg { 677d992203fSHeiko Stuebner phy-supply = <&vcc5v0_otg>; 678d992203fSHeiko Stuebner status = "okay"; 679d992203fSHeiko Stuebner}; 680d992203fSHeiko Stuebner 681d992203fSHeiko Stuebner&usb2phy1 { 682d992203fSHeiko Stuebner status = "okay"; 683d992203fSHeiko Stuebner}; 684d992203fSHeiko Stuebner 685d992203fSHeiko Stuebner/* connected to usb_host1_ehci/ohci */ 686d992203fSHeiko Stuebner&usb2phy1_host { 687d992203fSHeiko Stuebner phy-supply = <&vcc5v0_host>; 688d992203fSHeiko Stuebner status = "okay"; 689d992203fSHeiko Stuebner}; 690d992203fSHeiko Stuebner 691d992203fSHeiko Stuebner/* connected to usb_host0_ehci/ohci */ 692d992203fSHeiko Stuebner&usb2phy1_otg { 693d992203fSHeiko Stuebner phy-supply = <&vcc5v0_host>; 694d992203fSHeiko Stuebner status = "okay"; 695d992203fSHeiko Stuebner}; 696d992203fSHeiko Stuebner 697d992203fSHeiko Stuebner/* right port backside */ 698d992203fSHeiko Stuebner&usb_host0_ehci { 699d992203fSHeiko Stuebner status = "okay"; 700d992203fSHeiko Stuebner}; 701d992203fSHeiko Stuebner 702d992203fSHeiko Stuebner&usb_host0_ohci { 703d992203fSHeiko Stuebner status = "okay"; 704d992203fSHeiko Stuebner}; 705d992203fSHeiko Stuebner 706d992203fSHeiko Stuebner/* front port */ 707d992203fSHeiko Stuebner&usb_host0_xhci { 708d992203fSHeiko Stuebner dr_mode = "host"; 709d992203fSHeiko Stuebner status = "okay"; 710d992203fSHeiko Stuebner}; 711d992203fSHeiko Stuebner 712d992203fSHeiko Stuebner/* left port backside */ 713d992203fSHeiko Stuebner&usb_host1_ehci { 714d992203fSHeiko Stuebner status = "okay"; 715d992203fSHeiko Stuebner}; 716d992203fSHeiko Stuebner 717d992203fSHeiko Stuebner&usb_host1_ohci { 718d992203fSHeiko Stuebner status = "okay"; 719d992203fSHeiko Stuebner}; 720