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