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