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