1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3/dts-v1/; 4 5#include "rk3288.dtsi" 6 7/ { 8 model = "Rockchip RK3288 Fennec Board"; 9 compatible = "rockchip,rk3288-fennec", "rockchip,rk3288"; 10 11 memory@0 { 12 reg = <0x0 0x0 0x0 0x80000000>; 13 device_type = "memory"; 14 }; 15 16 ext_gmac: external-gmac-clock { 17 compatible = "fixed-clock"; 18 #clock-cells = <0>; 19 clock-frequency = <125000000>; 20 clock-output-names = "ext_gmac"; 21 }; 22 23 vcc_sys: vsys-regulator { 24 compatible = "regulator-fixed"; 25 regulator-name = "vcc_sys"; 26 regulator-min-microvolt = <5000000>; 27 regulator-max-microvolt = <5000000>; 28 regulator-always-on; 29 regulator-boot-on; 30 }; 31}; 32 33&cpu0 { 34 cpu0-supply = <&vdd_cpu>; 35}; 36 37&emmc { 38 bus-width = <8>; 39 cap-mmc-highspeed; 40 disable-wp; 41 non-removable; 42 pinctrl-names = "default"; 43 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; 44 status = "okay"; 45}; 46 47&gmac { 48 assigned-clocks = <&cru SCLK_MAC>; 49 assigned-clock-parents = <&ext_gmac>; 50 clock_in_out = "input"; 51 pinctrl-names = "default"; 52 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 53 phy-supply = <&vcc_lan>; 54 phy-mode = "rgmii"; 55 snps,reset-active-low; 56 snps,reset-delays-us = <0 10000 1000000>; 57 snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 58 tx_delay = <0x30>; 59 rx_delay = <0x10>; 60 status = "okay"; 61}; 62 63&gpu { 64 mali-supply = <&vdd_gpu>; 65 status = "okay"; 66}; 67 68&hdmi { 69 status = "okay"; 70}; 71 72&i2c0 { 73 status = "okay"; 74 clock-frequency = <400000>; 75 76 rk808: pmic@1b { 77 compatible = "rockchip,rk808"; 78 reg = <0x1b>; 79 interrupt-parent = <&gpio0>; 80 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 81 #clock-cells = <1>; 82 clock-output-names = "xin32k", "rk808-clkout2"; 83 pinctrl-names = "default"; 84 pinctrl-0 = <&pmic_int &global_pwroff>; 85 rockchip,system-power-controller; 86 wakeup-source; 87 88 vcc1-supply = <&vcc_sys>; 89 vcc2-supply = <&vcc_sys>; 90 vcc3-supply = <&vcc_sys>; 91 vcc4-supply = <&vcc_sys>; 92 vcc6-supply = <&vcc_sys>; 93 vcc7-supply = <&vcc_sys>; 94 vcc8-supply = <&vcc_io>; 95 vcc9-supply = <&vcc_io>; 96 vcc10-supply = <&vcc_io>; 97 vcc11-supply = <&vcc_io>; 98 vcc12-supply = <&vcc_io>; 99 vddio-supply = <&vcc_io>; 100 101 regulators { 102 vdd_cpu: DCDC_REG1 { 103 regulator-always-on; 104 regulator-boot-on; 105 regulator-min-microvolt = <750000>; 106 regulator-max-microvolt = <1350000>; 107 regulator-name = "vdd_arm"; 108 regulator-state-mem { 109 regulator-off-in-suspend; 110 }; 111 }; 112 113 vdd_gpu: DCDC_REG2 { 114 regulator-always-on; 115 regulator-boot-on; 116 regulator-min-microvolt = <850000>; 117 regulator-max-microvolt = <1250000>; 118 regulator-name = "vdd_gpu"; 119 regulator-state-mem { 120 regulator-on-in-suspend; 121 regulator-suspend-microvolt = <1000000>; 122 }; 123 }; 124 125 vcc_ddr: DCDC_REG3 { 126 regulator-always-on; 127 regulator-boot-on; 128 regulator-name = "vcc_ddr"; 129 regulator-state-mem { 130 regulator-on-in-suspend; 131 }; 132 }; 133 134 vcc_io: DCDC_REG4 { 135 regulator-always-on; 136 regulator-boot-on; 137 regulator-min-microvolt = <3300000>; 138 regulator-max-microvolt = <3300000>; 139 regulator-name = "vcc_io"; 140 regulator-state-mem { 141 regulator-on-in-suspend; 142 regulator-suspend-microvolt = <3300000>; 143 }; 144 }; 145 146 vccio_pmu: LDO_REG1 { 147 regulator-always-on; 148 regulator-boot-on; 149 regulator-min-microvolt = <3300000>; 150 regulator-max-microvolt = <3300000>; 151 regulator-name = "vccio_pmu"; 152 regulator-state-mem { 153 regulator-on-in-suspend; 154 regulator-suspend-microvolt = <3300000>; 155 }; 156 }; 157 158 vcca_33: LDO_REG2 { 159 regulator-always-on; 160 regulator-boot-on; 161 regulator-min-microvolt = <3300000>; 162 regulator-max-microvolt = <3300000>; 163 regulator-name = "vcca_33"; 164 regulator-state-mem { 165 regulator-off-in-suspend; 166 }; 167 }; 168 169 vdd_10: LDO_REG3 { 170 regulator-always-on; 171 regulator-boot-on; 172 regulator-min-microvolt = <1000000>; 173 regulator-max-microvolt = <1000000>; 174 regulator-name = "vdd_10"; 175 regulator-state-mem { 176 regulator-on-in-suspend; 177 regulator-suspend-microvolt = <1000000>; 178 }; 179 }; 180 181 vcc_wl: LDO_REG4 { 182 regulator-always-on; 183 regulator-boot-on; 184 regulator-min-microvolt = <1800000>; 185 regulator-max-microvolt = <1800000>; 186 regulator-name = "vcc_wl"; 187 regulator-state-mem { 188 regulator-on-in-suspend; 189 regulator-suspend-microvolt = <1800000>; 190 }; 191 }; 192 193 vccio_sd: LDO_REG5 { 194 regulator-always-on; 195 regulator-boot-on; 196 regulator-min-microvolt = <1800000>; 197 regulator-max-microvolt = <3300000>; 198 regulator-name = "vccio_sd"; 199 regulator-state-mem { 200 regulator-on-in-suspend; 201 regulator-suspend-microvolt = <3300000>; 202 }; 203 }; 204 205 vdd10_lcd: LDO_REG6 { 206 regulator-always-on; 207 regulator-boot-on; 208 regulator-min-microvolt = <1000000>; 209 regulator-max-microvolt = <1000000>; 210 regulator-name = "vdd10_lcd"; 211 regulator-state-mem { 212 regulator-on-in-suspend; 213 regulator-suspend-microvolt = <1000000>; 214 }; 215 }; 216 217 vcc_18: LDO_REG7 { 218 regulator-always-on; 219 regulator-boot-on; 220 regulator-min-microvolt = <1800000>; 221 regulator-max-microvolt = <1800000>; 222 regulator-name = "vcc_18"; 223 regulator-state-mem { 224 regulator-on-in-suspend; 225 regulator-suspend-microvolt = <1800000>; 226 }; 227 }; 228 229 vcc18_lcd: LDO_REG8 { 230 regulator-always-on; 231 regulator-boot-on; 232 regulator-min-microvolt = <1800000>; 233 regulator-max-microvolt = <1800000>; 234 regulator-name = "vcc18_lcd"; 235 regulator-state-mem { 236 regulator-on-in-suspend; 237 regulator-suspend-microvolt = <1800000>; 238 }; 239 }; 240 241 vcc_sd: SWITCH_REG1 { 242 regulator-always-on; 243 regulator-boot-on; 244 regulator-name = "vcc_sd"; 245 regulator-state-mem { 246 regulator-on-in-suspend; 247 }; 248 }; 249 250 vcc_lan: SWITCH_REG2 { 251 regulator-always-on; 252 regulator-boot-on; 253 regulator-name = "vcc_lan"; 254 regulator-state-mem { 255 regulator-on-in-suspend; 256 }; 257 }; 258 }; 259 }; 260}; 261 262&pinctrl { 263 pcfg_output_high: pcfg-output-high { 264 output-high; 265 }; 266 267 pcfg_output_low: pcfg-output-low { 268 output-low; 269 }; 270 271 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 272 drive-strength = <8>; 273 }; 274 275 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 276 bias-pull-up; 277 drive-strength = <8>; 278 }; 279 280 gmac { 281 phy_int: phy-int { 282 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>; 283 }; 284 285 phy_pmeb: phy-pmeb { 286 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>; 287 }; 288 289 phy_rst: phy-rst { 290 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 291 }; 292 }; 293 294 pmic { 295 pmic_int: pmic-int { 296 rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; 297 }; 298 }; 299 300 usbphy { 301 host_drv: host-drv { 302 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 303 }; 304 }; 305}; 306 307&uart2 { 308 status = "okay"; 309}; 310 311&usbphy { 312 pinctrl-names = "default"; 313 pinctrl-0 = <&host_drv>; 314 vbus_drv-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 315 status = "okay"; 316}; 317 318&usb_host0_ehci { 319 status = "okay"; 320}; 321 322&usb_host1 { 323 status = "okay"; 324}; 325 326&usb_otg { 327 status = "okay"; 328}; 329 330&usb_hsic { 331 status = "okay"; 332}; 333 334&vopb { 335 status = "okay"; 336}; 337 338&vopb_mmu { 339 status = "okay"; 340}; 341 342&vopl { 343 status = "okay"; 344}; 345 346&vopl_mmu { 347 status = "okay"; 348}; 349