1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3/dts-v1/; 4 5#include <dt-bindings/input/input.h> 6#include <dt-bindings/leds/common.h> 7#include <dt-bindings/pwm/pwm.h> 8#include "rk3528.dtsi" 9 10/ { 11 model = "HINLINK H28K"; 12 compatible = "hinlink,h28k", "rockchip,rk3528"; 13 14 aliases { 15 ethernet0 = &gmac1; 16 mmc0 = &sdhci; 17 mmc1 = &sdmmc; 18 serial0 = &uart0; 19 }; 20 21 chosen { 22 stdout-path = "serial0:1500000n8"; 23 }; 24 25 keys { 26 compatible = "adc-keys"; 27 io-channels = <&saradc 0>; 28 io-channel-names = "buttons"; 29 keyup-threshold-microvolt = <1800000>; 30 poll-interval = <100>; 31 32 button-boot { 33 label = "BOOT"; 34 linux,code = <KEY_SETUP>; 35 press-threshold-microvolt = <0>; 36 }; 37 }; 38 39 leds { 40 compatible = "gpio-leds"; 41 pinctrl-names = "default"; 42 pinctrl-0 = <&lan_led>, <&wan_led>, <&work_led>; 43 44 led-0 { 45 color = <LED_COLOR_ID_AMBER>; 46 function = LED_FUNCTION_LAN; 47 gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_LOW>; 48 linux,default-trigger = "netdev"; 49 }; 50 51 led-1 { 52 color = <LED_COLOR_ID_BLUE>; 53 function = LED_FUNCTION_WAN; 54 gpios = <&gpio4 RK_PC0 GPIO_ACTIVE_LOW>; 55 linux,default-trigger = "netdev"; 56 }; 57 58 led-2 { 59 color = <LED_COLOR_ID_GREEN>; 60 function = LED_FUNCTION_STATUS; 61 gpios = <&gpio4 RK_PB7 GPIO_ACTIVE_LOW>; 62 linux,default-trigger = "default-on"; 63 }; 64 }; 65 66 vdd_0v9: regulator-0v9-vdd { 67 compatible = "regulator-fixed"; 68 regulator-name = "vdd_0v9"; 69 regulator-always-on; 70 regulator-boot-on; 71 regulator-min-microvolt = <900000>; 72 regulator-max-microvolt = <900000>; 73 vin-supply = <&vcc5v0_sys>; 74 }; 75 76 vcc_ddr: regulator-1v1-vcc-ddr { 77 compatible = "regulator-fixed"; 78 regulator-name = "vcc_ddr"; 79 regulator-always-on; 80 regulator-boot-on; 81 regulator-min-microvolt = <1100000>; 82 regulator-max-microvolt = <1100000>; 83 vin-supply = <&vcc5v0_sys>; 84 }; 85 86 vcc_1v8: regulator-1v8-vcc { 87 compatible = "regulator-fixed"; 88 regulator-name = "vcc_1v8"; 89 regulator-always-on; 90 regulator-boot-on; 91 regulator-min-microvolt = <1800000>; 92 regulator-max-microvolt = <1800000>; 93 vin-supply = <&vcc_3v3>; 94 }; 95 96 vcc_3v3: regulator-3v3-vcc { 97 compatible = "regulator-fixed"; 98 regulator-name = "vcc_3v3"; 99 regulator-always-on; 100 regulator-boot-on; 101 regulator-min-microvolt = <3300000>; 102 regulator-max-microvolt = <3300000>; 103 vin-supply = <&vcc5v0_sys>; 104 }; 105 106 vcc3v3_sd: regulator-3v3-vcc-sd { 107 compatible = "regulator-fixed"; 108 gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; 109 pinctrl-names = "default"; 110 pinctrl-0 = <&sdmmc_pwren_l>; 111 regulator-name = "vcc3v3_sd"; 112 regulator-min-microvolt = <3300000>; 113 regulator-max-microvolt = <3300000>; 114 vin-supply = <&vcc_3v3>; 115 }; 116 117 vcc5v0_sys: regulator-5v0-vcc-sys { 118 compatible = "regulator-fixed"; 119 regulator-name = "vcc5v0_sys"; 120 regulator-always-on; 121 regulator-boot-on; 122 regulator-min-microvolt = <5000000>; 123 regulator-max-microvolt = <5000000>; 124 }; 125 126 vccio_sd: regulator-vccio-sd { 127 compatible = "regulator-gpio"; 128 gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 129 pinctrl-names = "default"; 130 pinctrl-0 = <&sdmmc_vol_ctrl_h>; 131 regulator-name = "vccio_sd"; 132 regulator-min-microvolt = <1800000>; 133 regulator-max-microvolt = <3300000>; 134 states = <1800000 0x0>, <3300000 0x1>; 135 vin-supply = <&vcc5v0_sys>; 136 }; 137 138 vdd_arm: regulator-vdd-arm { 139 compatible = "pwm-regulator"; 140 pwms = <&pwm1 0 5000 PWM_POLARITY_INVERTED>; 141 pwm-supply = <&vcc5v0_sys>; 142 regulator-name = "vdd_arm"; 143 regulator-always-on; 144 regulator-boot-on; 145 regulator-min-microvolt = <746000>; 146 regulator-max-microvolt = <1201000>; 147 regulator-settling-time-up-us = <250>; 148 }; 149 150 vdd_logic: regulator-vdd-logic { 151 compatible = "pwm-regulator"; 152 pwms = <&pwm2 0 5000 PWM_POLARITY_INVERTED>; 153 pwm-supply = <&vcc5v0_sys>; 154 regulator-name = "vdd_logic"; 155 regulator-always-on; 156 regulator-boot-on; 157 regulator-min-microvolt = <705000>; 158 regulator-max-microvolt = <1006000>; 159 regulator-settling-time-up-us = <250>; 160 }; 161}; 162 163&combphy { 164 status = "okay"; 165}; 166 167&cpu0 { 168 cpu-supply = <&vdd_arm>; 169}; 170 171&cpu1 { 172 cpu-supply = <&vdd_arm>; 173}; 174 175&cpu2 { 176 cpu-supply = <&vdd_arm>; 177}; 178 179&cpu3 { 180 cpu-supply = <&vdd_arm>; 181}; 182 183&gmac1 { 184 clock_in_out = "output"; 185 phy-handle = <&rgmii_phy>; 186 phy-mode = "rgmii-id"; 187 phy-supply = <&vcc_3v3>; 188 pinctrl-names = "default"; 189 pinctrl-0 = <&rgmii_miim>, 190 <&rgmii_tx_bus2>, 191 <&rgmii_rx_bus2>, 192 <&rgmii_rgmii_clk>, 193 <&rgmii_rgmii_bus>; 194 status = "okay"; 195}; 196 197&gpu { 198 mali-supply = <&vdd_logic>; 199 status = "okay"; 200}; 201 202&mdio1 { 203 rgmii_phy: ethernet-phy@1 { 204 compatible = "ethernet-phy-ieee802.3-c22"; 205 reg = <0x1>; 206 pinctrl-names = "default"; 207 pinctrl-0 = <&gmac1_rstn_l>; 208 reset-assert-us = <20000>; 209 reset-deassert-us = <100000>; 210 reset-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; 211 }; 212}; 213 214&pcie { 215 pinctrl-names = "default"; 216 pinctrl-0 = <&rtl8111hs_isolateb_l>; 217 reset-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 218 vpcie3v3-supply = <&vcc_3v3>; 219 status = "okay"; 220}; 221 222&pinctrl { 223 gmac { 224 gmac1_rstn_l: gmac1-rstn-l { 225 rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 226 }; 227 }; 228 229 leds { 230 lan_led: lan-led { 231 rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 232 }; 233 234 wan_led: wan-led { 235 rockchip,pins = <4 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 236 }; 237 238 work_led: work-led { 239 rockchip,pins = <4 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 240 }; 241 }; 242 243 pcie { 244 rtl8111hs_isolateb_l: rtl8111hs-isolateb-l { 245 rockchip,pins = <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; 246 }; 247 }; 248 249 sdmmc { 250 sdmmc_pwren_l: sdmmc-pwren-l { 251 rockchip,pins = <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 252 }; 253 254 sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h { 255 rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 256 }; 257 }; 258}; 259 260&pwm1 { 261 pinctrl-names = "default"; 262 pinctrl-0 = <&pwm1m0_pins>; 263 status = "okay"; 264}; 265 266&pwm2 { 267 pinctrl-names = "default"; 268 pinctrl-0 = <&pwm2m0_pins>; 269 status = "okay"; 270}; 271 272&saradc { 273 vref-supply = <&vcc_1v8>; 274 status = "okay"; 275}; 276 277&sdhci { 278 bus-width = <8>; 279 cap-mmc-highspeed; 280 mmc-hs200-1_8v; 281 non-removable; 282 vmmc-supply = <&vcc_3v3>; 283 vqmmc-supply = <&vcc_1v8>; 284 status = "okay"; 285}; 286 287&sdmmc { 288 bus-width = <4>; 289 cap-sd-highspeed; 290 disable-wp; 291 sd-uhs-sdr104; 292 vmmc-supply = <&vcc3v3_sd>; 293 vqmmc-supply = <&vccio_sd>; 294 status = "okay"; 295}; 296 297&uart0 { 298 pinctrl-names = "default"; 299 pinctrl-0 = <&uart0m0_xfer>; 300 status = "okay"; 301}; 302 303&usb2phy { 304 status = "okay"; 305}; 306 307&usb2phy_host { 308 phy-supply = <&vcc5v0_sys>; 309 status = "okay"; 310}; 311 312&usb_host0_ehci { 313 status = "okay"; 314}; 315 316&usb_host0_ohci { 317 status = "okay"; 318}; 319