0001 // SPDX-License-Identifier: (GPL-2.0-only OR MIT)
0002 // Copyright (c) 2017-2019 Arm Ltd.
0003
0004 /dts-v1/;
0005 #include "rk3328.dtsi"
0006
0007 / {
0008 model = "Beelink A1";
0009 compatible = "azw,beelink-a1", "rockchip,rk3328";
0010
0011 aliases {
0012 mmc0 = &sdmmc;
0013 mmc1 = &emmc;
0014 };
0015
0016 /*
0017 * UART pins, as viewed with bottom of case removed:
0018 *
0019 * Front
0020 * /-------
0021 * L / o <- Gnd
0022 * e / o <-- Rx
0023 * f / o <--- Tx
0024 * t / o <---- +3.3v
0025 * |
0026 */
0027 chosen {
0028 stdout-path = "serial2:1500000n8";
0029 };
0030
0031 gmac_clkin: external-gmac-clock {
0032 compatible = "fixed-clock";
0033 clock-frequency = <125000000>;
0034 clock-output-names = "gmac_clkin";
0035 #clock-cells = <0>;
0036 };
0037
0038 vcc_host_5v: usb3-current-switch {
0039 compatible = "regulator-fixed";
0040 enable-active-high;
0041 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
0042 pinctrl-names = "default";
0043 pinctrl-0 = <&usb30_host_drv>;
0044 regulator-name = "vcc_host_5v";
0045 vin-supply = <&vcc_sys>;
0046 };
0047
0048 vcc_sys: vcc-sys {
0049 compatible = "regulator-fixed";
0050 regulator-name = "vcc_sys";
0051 regulator-min-microvolt = <5000000>;
0052 regulator-max-microvolt = <5000000>;
0053 };
0054
0055 ir-receiver {
0056 compatible = "gpio-ir-receiver";
0057 gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
0058 linux,rc-map-name = "rc-beelink-gs1";
0059 };
0060 };
0061
0062 &analog_sound {
0063 simple-audio-card,name = "Analog A/V";
0064 status = "okay";
0065 };
0066
0067 &codec {
0068 mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
0069 status = "okay";
0070 };
0071
0072 &cpu0 {
0073 cpu-supply = <&vdd_arm>;
0074 };
0075
0076 &cpu1 {
0077 cpu-supply = <&vdd_arm>;
0078 };
0079
0080 &cpu2 {
0081 cpu-supply = <&vdd_arm>;
0082 };
0083
0084 &cpu3 {
0085 cpu-supply = <&vdd_arm>;
0086 };
0087
0088 &emmc {
0089 bus-width = <8>;
0090 cap-mmc-highspeed;
0091 mmc-ddr-1_8v;
0092 mmc-hs200-1_8v;
0093 no-sd;
0094 no-sdio;
0095 non-removable;
0096 pinctrl-names = "default";
0097 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
0098 vmmc-supply = <&vcc_io>;
0099 vqmmc-supply = <&vcc18_emmc>;
0100 status = "okay";
0101 };
0102
0103 &gmac2io {
0104 assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
0105 assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
0106 clock_in_out = "input";
0107 phy-handle = <&rtl8211f>;
0108 phy-mode = "rgmii";
0109 phy-supply = <&vcc_io>;
0110 pinctrl-names = "default";
0111 pinctrl-0 = <&rgmiim1_pins>;
0112 snps,aal;
0113 snps,pbl = <0x4>;
0114 tx_delay = <0x26>;
0115 rx_delay = <0x11>;
0116 status = "okay";
0117
0118 mdio {
0119 compatible = "snps,dwmac-mdio";
0120 #address-cells = <1>;
0121 #size-cells = <0>;
0122
0123 rtl8211f: ethernet-phy@0 {
0124 reg = <0>;
0125 reset-assert-us = <10000>;
0126 reset-deassert-us = <30000>;
0127 reset-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_LOW>;
0128 };
0129 };
0130 };
0131
0132 &gpu {
0133 mali-supply = <&vdd_logic>;
0134 };
0135
0136 &hdmi {
0137 status = "okay";
0138 };
0139
0140 &hdmiphy {
0141 status = "okay";
0142 };
0143
0144 &hdmi_sound {
0145 status = "okay";
0146 };
0147
0148 &i2c1 {
0149 clock-frequency = <1000000>;
0150 i2c-scl-falling-time-ns = <5>;
0151 i2c-scl-rising-time-ns = <83>;
0152 status = "okay";
0153
0154 pmic@18 {
0155 compatible = "rockchip,rk805";
0156 reg = <0x18>;
0157 interrupt-parent = <&gpio2>;
0158 interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
0159 pinctrl-names = "default";
0160 pinctrl-0 = <&pmic_int_l>;
0161 rockchip,system-power-controller;
0162 wakeup-source;
0163 #clock-cells = <0>;
0164
0165 vcc1-supply = <&vcc_sys>;
0166 vcc2-supply = <&vcc_sys>;
0167 vcc3-supply = <&vcc_sys>;
0168 vcc4-supply = <&vcc_sys>;
0169 vcc5-supply = <&vcc_io>;
0170 vcc6-supply = <&vcc_io>;
0171
0172 regulators {
0173 vdd_logic: DCDC_REG1 {
0174 regulator-name = "vdd_logic";
0175 regulator-min-microvolt = <700000>;
0176 regulator-max-microvolt = <1350000>;
0177 regulator-always-on;
0178 regulator-boot-on;
0179 regulator-state-mem {
0180 regulator-on-in-suspend;
0181 regulator-suspend-microvolt = <1000000>;
0182 };
0183 };
0184
0185 vdd_arm: DCDC_REG2 {
0186 regulator-name = "vdd_arm";
0187 regulator-min-microvolt = <700000>;
0188 regulator-max-microvolt = <1350000>;
0189 regulator-always-on;
0190 regulator-boot-on;
0191 regulator-state-mem {
0192 regulator-on-in-suspend;
0193 regulator-suspend-microvolt = <950000>;
0194 };
0195 };
0196
0197 vcc_ddr: DCDC_REG3 {
0198 regulator-name = "vcc_ddr";
0199 regulator-always-on;
0200 regulator-boot-on;
0201 regulator-state-mem {
0202 regulator-on-in-suspend;
0203 };
0204 };
0205
0206 vcc_io: DCDC_REG4 {
0207 regulator-name = "vcc_io";
0208 regulator-min-microvolt = <3300000>;
0209 regulator-max-microvolt = <3300000>;
0210 regulator-always-on;
0211 regulator-boot-on;
0212 regulator-state-mem {
0213 regulator-on-in-suspend;
0214 regulator-suspend-microvolt = <3300000>;
0215 };
0216 };
0217
0218 vdd_18: LDO_REG1 {
0219 regulator-name = "vdd_18";
0220 regulator-min-microvolt = <1800000>;
0221 regulator-max-microvolt = <1800000>;
0222 regulator-always-on;
0223 regulator-boot-on;
0224 regulator-state-mem {
0225 regulator-on-in-suspend;
0226 regulator-suspend-microvolt = <1800000>;
0227 };
0228 };
0229
0230 vcc18_emmc: LDO_REG2 {
0231 regulator-name = "vcc_18emmc";
0232 regulator-min-microvolt = <1800000>;
0233 regulator-max-microvolt = <1800000>;
0234 regulator-always-on;
0235 regulator-boot-on;
0236 regulator-state-mem {
0237 regulator-on-in-suspend;
0238 regulator-suspend-microvolt = <1800000>;
0239 };
0240 };
0241
0242 vdd_11: LDO_REG3 {
0243 regulator-name = "vdd_11";
0244 regulator-min-microvolt = <1100000>;
0245 regulator-max-microvolt = <1100000>;
0246 regulator-always-on;
0247 regulator-boot-on;
0248 regulator-state-mem {
0249 regulator-on-in-suspend;
0250 regulator-suspend-microvolt = <1100000>;
0251 };
0252 };
0253 };
0254 };
0255 };
0256
0257 &i2s0 {
0258 status = "okay";
0259 };
0260
0261 &i2s1 {
0262 status = "okay";
0263 };
0264
0265 &io_domains {
0266 vccio1-supply = <&vcc_io>;
0267 vccio2-supply = <&vcc18_emmc>;
0268 vccio3-supply = <&vcc_io>;
0269 vccio4-supply = <&vdd_18>;
0270 vccio5-supply = <&vcc_io>;
0271 vccio6-supply = <&vdd_18>;
0272 pmuio-supply = <&vcc_io>;
0273 status = "okay";
0274 };
0275
0276 &pinctrl {
0277 pmic {
0278 pmic_int_l: pmic-int-l {
0279 rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
0280 };
0281 };
0282
0283 usb3 {
0284 usb30_host_drv: usb30-host-drv {
0285 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
0286 };
0287 };
0288
0289 wifi {
0290 bt_dis: bt-dis {
0291 rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_output_low>;
0292 };
0293
0294 bt_wake_host: bt-wake-host {
0295 rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
0296 };
0297
0298 chip_en: chip-en {
0299 rockchip,pins = <2 RK_PC3 RK_FUNC_GPIO &pcfg_output_low>;
0300 };
0301
0302 host_wake_bt: host-wake-bt {
0303 rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_output_high>;
0304 };
0305
0306 wl_dis: wl-dis {
0307 rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_output_low>;
0308 };
0309
0310 wl_wake_host: wl-wake-host {
0311 rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
0312 };
0313 };
0314 };
0315
0316 &sdmmc {
0317 bus-width = <4>;
0318 cap-mmc-highspeed;
0319 cap-sd-highspeed;
0320 disable-wp;
0321 pinctrl-names = "default";
0322 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
0323 vmmc-supply = <&vcc_io>;
0324 vqmmc-supply = <&vcc_io>;
0325 status = "okay";
0326 };
0327
0328 &tsadc {
0329 rockchip,hw-tshut-mode = <0>;
0330 rockchip,hw-tshut-polarity = <0>;
0331 status = "okay";
0332 };
0333
0334 &uart2 {
0335 status = "okay";
0336 };
0337
0338 &u2phy {
0339 status = "okay";
0340 };
0341
0342 &u2phy_host {
0343 status = "okay";
0344 };
0345
0346 &u2phy_otg {
0347 status = "okay";
0348 };
0349
0350 &usb20_otg {
0351 dr_mode = "host";
0352 status = "okay";
0353 };
0354
0355 &usb_host0_ehci {
0356 pinctrl-names = "default";
0357 pinctrl-0 = <&bt_dis &bt_wake_host &chip_en &host_wake_bt &wl_dis &wl_wake_host>;
0358 status = "okay";
0359 };
0360
0361 &vop {
0362 status = "okay";
0363 };
0364
0365 &vop_mmu {
0366 status = "okay";
0367 };