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>; << 165 163 166 vcc1-supply = <&vcc_sys>; 164 vcc1-supply = <&vcc_sys>; 167 vcc2-supply = <&vcc_sys>; 165 vcc2-supply = <&vcc_sys>; 168 vcc3-supply = <&vcc_sys>; 166 vcc3-supply = <&vcc_sys>; 169 vcc4-supply = <&vcc_sys>; 167 vcc4-supply = <&vcc_sys>; 170 vcc5-supply = <&vcc_io>; 168 vcc5-supply = <&vcc_io>; 171 vcc6-supply = <&vcc_io>; 169 vcc6-supply = <&vcc_io>; 172 170 173 regulators { 171 regulators { 174 vdd_logic: DCDC_REG1 { 172 vdd_logic: DCDC_REG1 { 175 regulator-name 173 regulator-name = "vdd_logic"; 176 regulator-min- 174 regulator-min-microvolt = <700000>; 177 regulator-max- 175 regulator-max-microvolt = <1350000>; 178 regulator-alwa 176 regulator-always-on; 179 regulator-boot 177 regulator-boot-on; 180 regulator-stat 178 regulator-state-mem { 181 regula 179 regulator-on-in-suspend; 182 regula 180 regulator-suspend-microvolt = <1000000>; 183 }; 181 }; 184 }; 182 }; 185 183 186 vdd_arm: DCDC_REG2 { 184 vdd_arm: DCDC_REG2 { 187 regulator-name 185 regulator-name = "vdd_arm"; 188 regulator-min- 186 regulator-min-microvolt = <700000>; 189 regulator-max- 187 regulator-max-microvolt = <1350000>; 190 regulator-alwa 188 regulator-always-on; 191 regulator-boot 189 regulator-boot-on; 192 regulator-stat 190 regulator-state-mem { 193 regula 191 regulator-on-in-suspend; 194 regula 192 regulator-suspend-microvolt = <950000>; 195 }; 193 }; 196 }; 194 }; 197 195 198 vcc_ddr: DCDC_REG3 { 196 vcc_ddr: DCDC_REG3 { 199 regulator-name 197 regulator-name = "vcc_ddr"; 200 regulator-alwa 198 regulator-always-on; 201 regulator-boot 199 regulator-boot-on; 202 regulator-stat 200 regulator-state-mem { 203 regula 201 regulator-on-in-suspend; 204 }; 202 }; 205 }; 203 }; 206 204 207 vcc_io: DCDC_REG4 { 205 vcc_io: DCDC_REG4 { 208 regulator-name 206 regulator-name = "vcc_io"; 209 regulator-min- 207 regulator-min-microvolt = <3300000>; 210 regulator-max- 208 regulator-max-microvolt = <3300000>; 211 regulator-alwa 209 regulator-always-on; 212 regulator-boot 210 regulator-boot-on; 213 regulator-stat 211 regulator-state-mem { 214 regula 212 regulator-on-in-suspend; 215 regula 213 regulator-suspend-microvolt = <3300000>; 216 }; 214 }; 217 }; 215 }; 218 216 219 vdd_18: LDO_REG1 { 217 vdd_18: LDO_REG1 { 220 regulator-name 218 regulator-name = "vdd_18"; 221 regulator-min- 219 regulator-min-microvolt = <1800000>; 222 regulator-max- 220 regulator-max-microvolt = <1800000>; 223 regulator-alwa 221 regulator-always-on; 224 regulator-boot 222 regulator-boot-on; 225 regulator-stat 223 regulator-state-mem { 226 regula 224 regulator-on-in-suspend; 227 regula 225 regulator-suspend-microvolt = <1800000>; 228 }; 226 }; 229 }; 227 }; 230 228 231 vcc18_emmc: LDO_REG2 { 229 vcc18_emmc: LDO_REG2 { 232 regulator-name 230 regulator-name = "vcc_18emmc"; 233 regulator-min- 231 regulator-min-microvolt = <1800000>; 234 regulator-max- 232 regulator-max-microvolt = <1800000>; 235 regulator-alwa 233 regulator-always-on; 236 regulator-boot 234 regulator-boot-on; 237 regulator-stat 235 regulator-state-mem { 238 regula 236 regulator-on-in-suspend; 239 regula 237 regulator-suspend-microvolt = <1800000>; 240 }; 238 }; 241 }; 239 }; 242 240 243 vdd_11: LDO_REG3 { 241 vdd_11: LDO_REG3 { 244 regulator-name 242 regulator-name = "vdd_11"; 245 regulator-min- 243 regulator-min-microvolt = <1100000>; 246 regulator-max- 244 regulator-max-microvolt = <1100000>; 247 regulator-alwa 245 regulator-always-on; 248 regulator-boot 246 regulator-boot-on; 249 regulator-stat 247 regulator-state-mem { 250 regula 248 regulator-on-in-suspend; 251 regula 249 regulator-suspend-microvolt = <1100000>; 252 }; 250 }; 253 }; 251 }; 254 }; 252 }; 255 }; 253 }; 256 }; 254 }; 257 255 258 &i2s0 { 256 &i2s0 { 259 status = "okay"; 257 status = "okay"; 260 }; 258 }; 261 259 262 &i2s1 { 260 &i2s1 { 263 status = "okay"; 261 status = "okay"; 264 }; 262 }; 265 263 266 &io_domains { 264 &io_domains { 267 vccio1-supply = <&vcc_io>; 265 vccio1-supply = <&vcc_io>; 268 vccio2-supply = <&vcc18_emmc>; 266 vccio2-supply = <&vcc18_emmc>; 269 vccio3-supply = <&vcc_io>; 267 vccio3-supply = <&vcc_io>; 270 vccio4-supply = <&vdd_18>; 268 vccio4-supply = <&vdd_18>; 271 vccio5-supply = <&vcc_io>; 269 vccio5-supply = <&vcc_io>; 272 vccio6-supply = <&vdd_18>; 270 vccio6-supply = <&vdd_18>; 273 pmuio-supply = <&vcc_io>; 271 pmuio-supply = <&vcc_io>; 274 status = "okay"; 272 status = "okay"; 275 }; 273 }; 276 274 277 &pinctrl { 275 &pinctrl { 278 pmic { 276 pmic { 279 pmic_int_l: pmic-int-l { 277 pmic_int_l: pmic-int-l { 280 rockchip,pins = <2 RK_ 278 rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; 281 }; 279 }; 282 }; 280 }; 283 281 284 usb3 { 282 usb3 { 285 usb30_host_drv: usb30-host-drv 283 usb30_host_drv: usb30-host-drv { 286 rockchip,pins = <0 RK_ 284 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 287 }; 285 }; 288 }; 286 }; 289 287 290 wifi { 288 wifi { 291 bt_dis: bt-dis { 289 bt_dis: bt-dis { 292 rockchip,pins = <2 RK_ 290 rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_output_low>; 293 }; 291 }; 294 292 295 bt_wake_host: bt-wake-host { 293 bt_wake_host: bt-wake-host { 296 rockchip,pins = <2 RK_ 294 rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>; 297 }; 295 }; 298 296 299 chip_en: chip-en { 297 chip_en: chip-en { 300 rockchip,pins = <2 RK_ 298 rockchip,pins = <2 RK_PC3 RK_FUNC_GPIO &pcfg_output_low>; 301 }; 299 }; 302 300 303 host_wake_bt: host-wake-bt { 301 host_wake_bt: host-wake-bt { 304 rockchip,pins = <2 RK_ 302 rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_output_high>; 305 }; 303 }; 306 304 307 wl_dis: wl-dis { 305 wl_dis: wl-dis { 308 rockchip,pins = <3 RK_ 306 rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_output_low>; 309 }; 307 }; 310 308 311 wl_wake_host: wl-wake-host { 309 wl_wake_host: wl-wake-host { 312 rockchip,pins = <3 RK_ 310 rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 313 }; 311 }; 314 }; 312 }; 315 }; 313 }; 316 314 317 &sdmmc { 315 &sdmmc { 318 bus-width = <4>; 316 bus-width = <4>; 319 cap-mmc-highspeed; 317 cap-mmc-highspeed; 320 cap-sd-highspeed; 318 cap-sd-highspeed; 321 disable-wp; 319 disable-wp; 322 pinctrl-names = "default"; 320 pinctrl-names = "default"; 323 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd & 321 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>; 324 vmmc-supply = <&vcc_io>; 322 vmmc-supply = <&vcc_io>; 325 vqmmc-supply = <&vcc_io>; 323 vqmmc-supply = <&vcc_io>; 326 status = "okay"; 324 status = "okay"; 327 }; 325 }; 328 326 329 &tsadc { 327 &tsadc { 330 rockchip,hw-tshut-mode = <0>; 328 rockchip,hw-tshut-mode = <0>; 331 rockchip,hw-tshut-polarity = <0>; 329 rockchip,hw-tshut-polarity = <0>; 332 status = "okay"; 330 status = "okay"; 333 }; 331 }; 334 332 335 &uart2 { 333 &uart2 { 336 status = "okay"; 334 status = "okay"; 337 }; 335 }; 338 336 339 &u2phy { 337 &u2phy { 340 status = "okay"; 338 status = "okay"; 341 }; 339 }; 342 340 343 &u2phy_host { 341 &u2phy_host { 344 status = "okay"; 342 status = "okay"; 345 }; 343 }; 346 344 347 &u2phy_otg { 345 &u2phy_otg { 348 status = "okay"; 346 status = "okay"; 349 }; 347 }; 350 348 351 &usb20_otg { 349 &usb20_otg { 352 dr_mode = "host"; 350 dr_mode = "host"; 353 status = "okay"; 351 status = "okay"; 354 }; 352 }; 355 353 356 &usb_host0_ehci { 354 &usb_host0_ehci { 357 pinctrl-names = "default"; 355 pinctrl-names = "default"; 358 pinctrl-0 = <&bt_dis &bt_wake_host &ch 356 pinctrl-0 = <&bt_dis &bt_wake_host &chip_en &host_wake_bt &wl_dis &wl_wake_host>; 359 status = "okay"; 357 status = "okay"; 360 }; 358 }; 361 359 362 &vop { 360 &vop { 363 status = "okay"; 361 status = "okay"; 364 }; 362 }; 365 363 366 &vop_mmu { 364 &vop_mmu { 367 status = "okay"; 365 status = "okay"; 368 }; 366 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.