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