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