1// SPDX-License-Identifier: (GPL-2.0-only OR MIT) 2// Copyright (c) 2017-2019 Arm Ltd. 3 4/dts-v1/; 5#include "rk3328.dtsi" 6 7/ { 8 model = "Beelink A1"; 9 compatible = "azw,beelink-a1", "rockchip,rk3328"; 10 11 aliases { 12 ethernet0 = &gmac2io; 13 mmc0 = &sdmmc; 14 mmc1 = &emmc; 15 }; 16 17 /* 18 * UART pins, as viewed with bottom of case removed: 19 * 20 * Front 21 * /------- 22 * L / o <- Gnd 23 * e / o <-- Rx 24 * f / o <--- Tx 25 * t / o <---- +3.3v 26 * | 27 */ 28 chosen { 29 stdout-path = "serial2:1500000n8"; 30 }; 31 32 gmac_clkin: external-gmac-clock { 33 compatible = "fixed-clock"; 34 clock-frequency = <125000000>; 35 clock-output-names = "gmac_clkin"; 36 #clock-cells = <0>; 37 }; 38 39 vcc_host_5v: regulator-usb3-current-switch { 40 compatible = "regulator-fixed"; 41 enable-active-high; 42 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 43 pinctrl-names = "default"; 44 pinctrl-0 = <&usb30_host_drv>; 45 regulator-name = "vcc_host_5v"; 46 vin-supply = <&vcc_sys>; 47 }; 48 49 vcc_sys: regulator-vcc-sys { 50 compatible = "regulator-fixed"; 51 regulator-name = "vcc_sys"; 52 regulator-min-microvolt = <5000000>; 53 regulator-max-microvolt = <5000000>; 54 }; 55 56 ir-receiver { 57 compatible = "gpio-ir-receiver"; 58 gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>; 59 linux,rc-map-name = "rc-beelink-gs1"; 60 }; 61}; 62 63&analog_sound { 64 simple-audio-card,name = "Analog A/V"; 65 status = "okay"; 66}; 67 68&codec { 69 mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>; 70 status = "okay"; 71}; 72 73&cpu0 { 74 cpu-supply = <&vdd_arm>; 75}; 76 77&cpu1 { 78 cpu-supply = <&vdd_arm>; 79}; 80 81&cpu2 { 82 cpu-supply = <&vdd_arm>; 83}; 84 85&cpu3 { 86 cpu-supply = <&vdd_arm>; 87}; 88 89&emmc { 90 bus-width = <8>; 91 cap-mmc-highspeed; 92 mmc-ddr-1_8v; 93 mmc-hs200-1_8v; 94 no-sd; 95 no-sdio; 96 non-removable; 97 pinctrl-names = "default"; 98 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 99 vmmc-supply = <&vcc_io>; 100 vqmmc-supply = <&vcc18_emmc>; 101 status = "okay"; 102}; 103 104&gmac2io { 105 assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; 106 assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>; 107 clock_in_out = "input"; 108 phy-handle = <&rtl8211f>; 109 phy-mode = "rgmii"; 110 phy-supply = <&vcc_io>; 111 pinctrl-names = "default"; 112 pinctrl-0 = <&rgmiim1_pins>; 113 snps,aal; 114 snps,pbl = <0x4>; 115 tx_delay = <0x26>; 116 rx_delay = <0x11>; 117 status = "okay"; 118 119 mdio { 120 compatible = "snps,dwmac-mdio"; 121 #address-cells = <1>; 122 #size-cells = <0>; 123 124 rtl8211f: ethernet-phy@0 { 125 reg = <0>; 126 reset-assert-us = <10000>; 127 reset-deassert-us = <30000>; 128 reset-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_LOW>; 129 }; 130 }; 131}; 132 133&gpu { 134 mali-supply = <&vdd_logic>; 135}; 136 137&hdmi { 138 status = "okay"; 139}; 140 141&hdmiphy { 142 status = "okay"; 143}; 144 145&hdmi_sound { 146 status = "okay"; 147}; 148 149&i2c1 { 150 clock-frequency = <1000000>; 151 i2c-scl-falling-time-ns = <5>; 152 i2c-scl-rising-time-ns = <83>; 153 status = "okay"; 154 155 pmic@18 { 156 compatible = "rockchip,rk805"; 157 reg = <0x18>; 158 interrupt-parent = <&gpio2>; 159 interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>; 160 pinctrl-names = "default"; 161 pinctrl-0 = <&pmic_int_l>; 162 system-power-controller; 163 wakeup-source; 164 #clock-cells = <0>; 165 166 vcc1-supply = <&vcc_sys>; 167 vcc2-supply = <&vcc_sys>; 168 vcc3-supply = <&vcc_sys>; 169 vcc4-supply = <&vcc_sys>; 170 vcc5-supply = <&vcc_io>; 171 vcc6-supply = <&vcc_io>; 172 173 regulators { 174 vdd_logic: DCDC_REG1 { 175 regulator-name = "vdd_logic"; 176 regulator-min-microvolt = <700000>; 177 regulator-max-microvolt = <1350000>; 178 regulator-always-on; 179 regulator-boot-on; 180 regulator-state-mem { 181 regulator-on-in-suspend; 182 regulator-suspend-microvolt = <1000000>; 183 }; 184 }; 185 186 vdd_arm: DCDC_REG2 { 187 regulator-name = "vdd_arm"; 188 regulator-min-microvolt = <700000>; 189 regulator-max-microvolt = <1350000>; 190 regulator-always-on; 191 regulator-boot-on; 192 regulator-state-mem { 193 regulator-on-in-suspend; 194 regulator-suspend-microvolt = <950000>; 195 }; 196 }; 197 198 vcc_ddr: DCDC_REG3 { 199 regulator-name = "vcc_ddr"; 200 regulator-always-on; 201 regulator-boot-on; 202 regulator-state-mem { 203 regulator-on-in-suspend; 204 }; 205 }; 206 207 vcc_io: DCDC_REG4 { 208 regulator-name = "vcc_io"; 209 regulator-min-microvolt = <3300000>; 210 regulator-max-microvolt = <3300000>; 211 regulator-always-on; 212 regulator-boot-on; 213 regulator-state-mem { 214 regulator-on-in-suspend; 215 regulator-suspend-microvolt = <3300000>; 216 }; 217 }; 218 219 vdd_18: LDO_REG1 { 220 regulator-name = "vdd_18"; 221 regulator-min-microvolt = <1800000>; 222 regulator-max-microvolt = <1800000>; 223 regulator-always-on; 224 regulator-boot-on; 225 regulator-state-mem { 226 regulator-on-in-suspend; 227 regulator-suspend-microvolt = <1800000>; 228 }; 229 }; 230 231 vcc18_emmc: LDO_REG2 { 232 regulator-name = "vcc_18emmc"; 233 regulator-min-microvolt = <1800000>; 234 regulator-max-microvolt = <1800000>; 235 regulator-always-on; 236 regulator-boot-on; 237 regulator-state-mem { 238 regulator-on-in-suspend; 239 regulator-suspend-microvolt = <1800000>; 240 }; 241 }; 242 243 vdd_11: LDO_REG3 { 244 regulator-name = "vdd_11"; 245 regulator-min-microvolt = <1100000>; 246 regulator-max-microvolt = <1100000>; 247 regulator-always-on; 248 regulator-boot-on; 249 regulator-state-mem { 250 regulator-on-in-suspend; 251 regulator-suspend-microvolt = <1100000>; 252 }; 253 }; 254 }; 255 }; 256}; 257 258&i2s0 { 259 status = "okay"; 260}; 261 262&i2s1 { 263 status = "okay"; 264}; 265 266&io_domains { 267 vccio1-supply = <&vcc_io>; 268 vccio2-supply = <&vcc18_emmc>; 269 vccio3-supply = <&vcc_io>; 270 vccio4-supply = <&vdd_18>; 271 vccio5-supply = <&vcc_io>; 272 vccio6-supply = <&vdd_18>; 273 pmuio-supply = <&vcc_io>; 274 status = "okay"; 275}; 276 277&pinctrl { 278 pmic { 279 pmic_int_l: pmic-int-l { 280 rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; 281 }; 282 }; 283 284 usb3 { 285 usb30_host_drv: usb30-host-drv { 286 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 287 }; 288 }; 289 290 wifi { 291 bt_dis: bt-dis { 292 rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_output_low>; 293 }; 294 295 bt_wake_host: bt-wake-host { 296 rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>; 297 }; 298 299 chip_en: chip-en { 300 rockchip,pins = <2 RK_PC3 RK_FUNC_GPIO &pcfg_output_low>; 301 }; 302 303 host_wake_bt: host-wake-bt { 304 rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_output_high>; 305 }; 306 307 wl_dis: wl-dis { 308 rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_output_low>; 309 }; 310 311 wl_wake_host: wl-wake-host { 312 rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 313 }; 314 }; 315}; 316 317&sdmmc { 318 bus-width = <4>; 319 cap-mmc-highspeed; 320 cap-sd-highspeed; 321 disable-wp; 322 pinctrl-names = "default"; 323 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>; 324 vmmc-supply = <&vcc_io>; 325 vqmmc-supply = <&vcc_io>; 326 status = "okay"; 327}; 328 329&tsadc { 330 rockchip,hw-tshut-mode = <0>; 331 rockchip,hw-tshut-polarity = <0>; 332 status = "okay"; 333}; 334 335&uart2 { 336 status = "okay"; 337}; 338 339&u2phy { 340 status = "okay"; 341}; 342 343&u2phy_host { 344 status = "okay"; 345}; 346 347&u2phy_otg { 348 status = "okay"; 349}; 350 351&usb20_otg { 352 dr_mode = "host"; 353 status = "okay"; 354}; 355 356&usb_host0_ehci { 357 pinctrl-names = "default"; 358 pinctrl-0 = <&bt_dis &bt_wake_host &chip_en &host_wake_bt &wl_dis &wl_wake_host>; 359 status = "okay"; 360}; 361 362&vop { 363 status = "okay"; 364}; 365 366&vop_mmu { 367 status = "okay"; 368}; 369