1f3c6526dSDragan Simic// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2f3c6526dSDragan Simic/* 3f3c6526dSDragan Simic * Based on rk3328-nanopi-r2s.dts, which is: 4f3c6526dSDragan Simic * Copyright (c) 2020 David Bauer <mail@david-bauer.net> 5f3c6526dSDragan Simic */ 6f3c6526dSDragan Simic 7f3c6526dSDragan Simic/dts-v1/; 8f3c6526dSDragan Simic 9f3c6526dSDragan Simic#include <dt-bindings/gpio/gpio.h> 10f3c6526dSDragan Simic#include <dt-bindings/leds/common.h> 11f3c6526dSDragan Simic#include "rk3328.dtsi" 12f3c6526dSDragan Simic 13f3c6526dSDragan Simic/ { 14f3c6526dSDragan Simic aliases { 15f3c6526dSDragan Simic ethernet0 = &gmac2io; 16f3c6526dSDragan Simic ethernet1 = &rtl8153; 17f3c6526dSDragan Simic mmc0 = &sdmmc; 18f3c6526dSDragan Simic }; 19f3c6526dSDragan Simic 20f3c6526dSDragan Simic chosen { 21f3c6526dSDragan Simic stdout-path = "serial2:1500000n8"; 22f3c6526dSDragan Simic }; 23f3c6526dSDragan Simic 24f3c6526dSDragan Simic gmac_clk: gmac-clock { 25f3c6526dSDragan Simic compatible = "fixed-clock"; 26f3c6526dSDragan Simic clock-frequency = <125000000>; 27f3c6526dSDragan Simic clock-output-names = "gmac_clkin"; 28f3c6526dSDragan Simic #clock-cells = <0>; 29f3c6526dSDragan Simic }; 30f3c6526dSDragan Simic 31f3c6526dSDragan Simic leds { 32f3c6526dSDragan Simic compatible = "gpio-leds"; 33f3c6526dSDragan Simic pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>; 34f3c6526dSDragan Simic pinctrl-names = "default"; 35f3c6526dSDragan Simic 36f3c6526dSDragan Simic led-0 { 37f3c6526dSDragan Simic function = LED_FUNCTION_LAN; 38f3c6526dSDragan Simic color = <LED_COLOR_ID_GREEN>; 39f3c6526dSDragan Simic gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>; 40f3c6526dSDragan Simic }; 41f3c6526dSDragan Simic 42f3c6526dSDragan Simic led-1 { 43f3c6526dSDragan Simic function = LED_FUNCTION_STATUS; 44f3c6526dSDragan Simic color = <LED_COLOR_ID_RED>; 45f3c6526dSDragan Simic gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; 46f3c6526dSDragan Simic linux,default-trigger = "heartbeat"; 47f3c6526dSDragan Simic }; 48f3c6526dSDragan Simic 49f3c6526dSDragan Simic led-2 { 50f3c6526dSDragan Simic function = LED_FUNCTION_WAN; 51f3c6526dSDragan Simic color = <LED_COLOR_ID_GREEN>; 52f3c6526dSDragan Simic gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>; 53f3c6526dSDragan Simic }; 54f3c6526dSDragan Simic }; 55f3c6526dSDragan Simic 56*5c96e633SJohan Jonker vcc_sd: regulator-sdmmc { 57f3c6526dSDragan Simic compatible = "regulator-fixed"; 58f3c6526dSDragan Simic gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>; 59f3c6526dSDragan Simic pinctrl-0 = <&sdmmc0m1_pin>; 60f3c6526dSDragan Simic pinctrl-names = "default"; 61f3c6526dSDragan Simic regulator-name = "vcc_sd"; 62f3c6526dSDragan Simic regulator-boot-on; 63f3c6526dSDragan Simic vin-supply = <&vcc_io>; 64f3c6526dSDragan Simic }; 65f3c6526dSDragan Simic 66*5c96e633SJohan Jonker vcc_sys: regulator-vcc-sys { 67f3c6526dSDragan Simic compatible = "regulator-fixed"; 68f3c6526dSDragan Simic regulator-name = "vcc_sys"; 69f3c6526dSDragan Simic regulator-always-on; 70f3c6526dSDragan Simic regulator-boot-on; 71f3c6526dSDragan Simic regulator-min-microvolt = <5000000>; 72f3c6526dSDragan Simic regulator-max-microvolt = <5000000>; 73f3c6526dSDragan Simic }; 74f3c6526dSDragan Simic 75*5c96e633SJohan Jonker vdd_5v_lan: regulator-vdd-5v-lan { 76f3c6526dSDragan Simic compatible = "regulator-fixed"; 77f3c6526dSDragan Simic enable-active-high; 78f3c6526dSDragan Simic gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>; 79f3c6526dSDragan Simic pinctrl-0 = <&lan_vdd_pin>; 80f3c6526dSDragan Simic pinctrl-names = "default"; 81f3c6526dSDragan Simic regulator-name = "vdd_5v_lan"; 82f3c6526dSDragan Simic regulator-always-on; 83f3c6526dSDragan Simic regulator-boot-on; 84f3c6526dSDragan Simic vin-supply = <&vcc_sys>; 85f3c6526dSDragan Simic }; 86f3c6526dSDragan Simic}; 87f3c6526dSDragan Simic 88f3c6526dSDragan Simic&cpu0 { 89f3c6526dSDragan Simic cpu-supply = <&vdd_arm>; 90f3c6526dSDragan Simic}; 91f3c6526dSDragan Simic 92f3c6526dSDragan Simic&cpu1 { 93f3c6526dSDragan Simic cpu-supply = <&vdd_arm>; 94f3c6526dSDragan Simic}; 95f3c6526dSDragan Simic 96f3c6526dSDragan Simic&cpu2 { 97f3c6526dSDragan Simic cpu-supply = <&vdd_arm>; 98f3c6526dSDragan Simic}; 99f3c6526dSDragan Simic 100f3c6526dSDragan Simic&cpu3 { 101f3c6526dSDragan Simic cpu-supply = <&vdd_arm>; 102f3c6526dSDragan Simic}; 103f3c6526dSDragan Simic 104f3c6526dSDragan Simic&display_subsystem { 105f3c6526dSDragan Simic status = "disabled"; 106f3c6526dSDragan Simic}; 107f3c6526dSDragan Simic 108f3c6526dSDragan Simic&gmac2io { 109f3c6526dSDragan Simic assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; 110f3c6526dSDragan Simic assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; 111f3c6526dSDragan Simic clock_in_out = "input"; 112f3c6526dSDragan Simic phy-supply = <&vcc_io>; 113f3c6526dSDragan Simic pinctrl-0 = <&rgmiim1_pins>; 114f3c6526dSDragan Simic pinctrl-names = "default"; 115f3c6526dSDragan Simic 116f3c6526dSDragan Simic mdio { 117f3c6526dSDragan Simic compatible = "snps,dwmac-mdio"; 118f3c6526dSDragan Simic #address-cells = <1>; 119f3c6526dSDragan Simic #size-cells = <0>; 120f3c6526dSDragan Simic }; 121f3c6526dSDragan Simic}; 122f3c6526dSDragan Simic 123f3c6526dSDragan Simic&i2c1 { 124f3c6526dSDragan Simic status = "okay"; 125f3c6526dSDragan Simic 126f3c6526dSDragan Simic rk805: pmic@18 { 127f3c6526dSDragan Simic compatible = "rockchip,rk805"; 128f3c6526dSDragan Simic reg = <0x18>; 129f3c6526dSDragan Simic interrupt-parent = <&gpio1>; 130f3c6526dSDragan Simic interrupts = <24 IRQ_TYPE_LEVEL_LOW>; 131f3c6526dSDragan Simic #clock-cells = <1>; 132f3c6526dSDragan Simic clock-output-names = "xin32k", "rk805-clkout2"; 133f3c6526dSDragan Simic gpio-controller; 134f3c6526dSDragan Simic #gpio-cells = <2>; 135f3c6526dSDragan Simic pinctrl-0 = <&pmic_int_l>; 136f3c6526dSDragan Simic pinctrl-names = "default"; 137f3c6526dSDragan Simic system-power-controller; 138f3c6526dSDragan Simic wakeup-source; 139f3c6526dSDragan Simic 140f3c6526dSDragan Simic vcc1-supply = <&vcc_sys>; 141f3c6526dSDragan Simic vcc2-supply = <&vcc_sys>; 142f3c6526dSDragan Simic vcc3-supply = <&vcc_sys>; 143f3c6526dSDragan Simic vcc4-supply = <&vcc_sys>; 144f3c6526dSDragan Simic vcc5-supply = <&vcc_io>; 145f3c6526dSDragan Simic vcc6-supply = <&vcc_sys>; 146f3c6526dSDragan Simic 147f3c6526dSDragan Simic regulators { 148f3c6526dSDragan Simic vdd_log: DCDC_REG1 { 149f3c6526dSDragan Simic regulator-name = "vdd_log"; 150f3c6526dSDragan Simic regulator-always-on; 151f3c6526dSDragan Simic regulator-boot-on; 152f3c6526dSDragan Simic regulator-min-microvolt = <712500>; 153f3c6526dSDragan Simic regulator-max-microvolt = <1450000>; 154f3c6526dSDragan Simic regulator-ramp-delay = <12500>; 155f3c6526dSDragan Simic 156f3c6526dSDragan Simic regulator-state-mem { 157f3c6526dSDragan Simic regulator-on-in-suspend; 158f3c6526dSDragan Simic regulator-suspend-microvolt = <1000000>; 159f3c6526dSDragan Simic }; 160f3c6526dSDragan Simic }; 161f3c6526dSDragan Simic 162f3c6526dSDragan Simic vdd_arm: DCDC_REG2 { 163f3c6526dSDragan Simic regulator-name = "vdd_arm"; 164f3c6526dSDragan Simic regulator-always-on; 165f3c6526dSDragan Simic regulator-boot-on; 166f3c6526dSDragan Simic regulator-min-microvolt = <712500>; 167f3c6526dSDragan Simic regulator-max-microvolt = <1450000>; 168f3c6526dSDragan Simic regulator-ramp-delay = <12500>; 169f3c6526dSDragan Simic 170f3c6526dSDragan Simic regulator-state-mem { 171f3c6526dSDragan Simic regulator-on-in-suspend; 172f3c6526dSDragan Simic regulator-suspend-microvolt = <950000>; 173f3c6526dSDragan Simic }; 174f3c6526dSDragan Simic }; 175f3c6526dSDragan Simic 176f3c6526dSDragan Simic vcc_ddr: DCDC_REG3 { 177f3c6526dSDragan Simic regulator-name = "vcc_ddr"; 178f3c6526dSDragan Simic regulator-always-on; 179f3c6526dSDragan Simic regulator-boot-on; 180f3c6526dSDragan Simic 181f3c6526dSDragan Simic regulator-state-mem { 182f3c6526dSDragan Simic regulator-on-in-suspend; 183f3c6526dSDragan Simic }; 184f3c6526dSDragan Simic }; 185f3c6526dSDragan Simic 186f3c6526dSDragan Simic vcc_io: DCDC_REG4 { 187f3c6526dSDragan Simic regulator-name = "vcc_io"; 188f3c6526dSDragan Simic regulator-always-on; 189f3c6526dSDragan Simic regulator-boot-on; 190f3c6526dSDragan Simic regulator-min-microvolt = <3300000>; 191f3c6526dSDragan Simic regulator-max-microvolt = <3300000>; 192f3c6526dSDragan Simic 193f3c6526dSDragan Simic regulator-state-mem { 194f3c6526dSDragan Simic regulator-on-in-suspend; 195f3c6526dSDragan Simic regulator-suspend-microvolt = <3300000>; 196f3c6526dSDragan Simic }; 197f3c6526dSDragan Simic }; 198f3c6526dSDragan Simic 199f3c6526dSDragan Simic vcc_18: LDO_REG1 { 200f3c6526dSDragan Simic regulator-name = "vcc_18"; 201f3c6526dSDragan Simic regulator-always-on; 202f3c6526dSDragan Simic regulator-boot-on; 203f3c6526dSDragan Simic regulator-min-microvolt = <1800000>; 204f3c6526dSDragan Simic regulator-max-microvolt = <1800000>; 205f3c6526dSDragan Simic 206f3c6526dSDragan Simic regulator-state-mem { 207f3c6526dSDragan Simic regulator-on-in-suspend; 208f3c6526dSDragan Simic regulator-suspend-microvolt = <1800000>; 209f3c6526dSDragan Simic }; 210f3c6526dSDragan Simic }; 211f3c6526dSDragan Simic 212f3c6526dSDragan Simic vcc18_emmc: LDO_REG2 { 213f3c6526dSDragan Simic regulator-name = "vcc18_emmc"; 214f3c6526dSDragan Simic regulator-always-on; 215f3c6526dSDragan Simic regulator-boot-on; 216f3c6526dSDragan Simic regulator-min-microvolt = <1800000>; 217f3c6526dSDragan Simic regulator-max-microvolt = <1800000>; 218f3c6526dSDragan Simic 219f3c6526dSDragan Simic regulator-state-mem { 220f3c6526dSDragan Simic regulator-on-in-suspend; 221f3c6526dSDragan Simic regulator-suspend-microvolt = <1800000>; 222f3c6526dSDragan Simic }; 223f3c6526dSDragan Simic }; 224f3c6526dSDragan Simic 225f3c6526dSDragan Simic vdd_10: LDO_REG3 { 226f3c6526dSDragan Simic regulator-name = "vdd_10"; 227f3c6526dSDragan Simic regulator-always-on; 228f3c6526dSDragan Simic regulator-boot-on; 229f3c6526dSDragan Simic regulator-min-microvolt = <1000000>; 230f3c6526dSDragan Simic regulator-max-microvolt = <1000000>; 231f3c6526dSDragan Simic 232f3c6526dSDragan Simic regulator-state-mem { 233f3c6526dSDragan Simic regulator-on-in-suspend; 234f3c6526dSDragan Simic regulator-suspend-microvolt = <1000000>; 235f3c6526dSDragan Simic }; 236f3c6526dSDragan Simic }; 237f3c6526dSDragan Simic }; 238f3c6526dSDragan Simic }; 239f3c6526dSDragan Simic}; 240f3c6526dSDragan Simic 241f3c6526dSDragan Simic&io_domains { 242f3c6526dSDragan Simic pmuio-supply = <&vcc_io>; 243f3c6526dSDragan Simic vccio1-supply = <&vcc_io>; 244f3c6526dSDragan Simic vccio2-supply = <&vcc18_emmc>; 245f3c6526dSDragan Simic vccio3-supply = <&vcc_io>; 246f3c6526dSDragan Simic vccio4-supply = <&vcc_io>; 247f3c6526dSDragan Simic vccio5-supply = <&vcc_io>; 248f3c6526dSDragan Simic vccio6-supply = <&vcc_io>; 249f3c6526dSDragan Simic status = "okay"; 250f3c6526dSDragan Simic}; 251f3c6526dSDragan Simic 252f3c6526dSDragan Simic&pinctrl { 253f3c6526dSDragan Simic gmac2io { 254f3c6526dSDragan Simic eth_phy_reset_pin: eth-phy-reset-pin { 255f3c6526dSDragan Simic rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 256f3c6526dSDragan Simic }; 257f3c6526dSDragan Simic }; 258f3c6526dSDragan Simic 259f3c6526dSDragan Simic leds { 260f3c6526dSDragan Simic lan_led_pin: lan-led-pin { 261f3c6526dSDragan Simic rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 262f3c6526dSDragan Simic }; 263f3c6526dSDragan Simic 264f3c6526dSDragan Simic sys_led_pin: sys-led-pin { 265f3c6526dSDragan Simic rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 266f3c6526dSDragan Simic }; 267f3c6526dSDragan Simic 268f3c6526dSDragan Simic wan_led_pin: wan-led-pin { 269f3c6526dSDragan Simic rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 270f3c6526dSDragan Simic }; 271f3c6526dSDragan Simic }; 272f3c6526dSDragan Simic 273f3c6526dSDragan Simic lan { 274f3c6526dSDragan Simic lan_vdd_pin: lan-vdd-pin { 275f3c6526dSDragan Simic rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 276f3c6526dSDragan Simic }; 277f3c6526dSDragan Simic }; 278f3c6526dSDragan Simic 279f3c6526dSDragan Simic pmic { 280f3c6526dSDragan Simic pmic_int_l: pmic-int-l { 281f3c6526dSDragan Simic rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; 282f3c6526dSDragan Simic }; 283f3c6526dSDragan Simic }; 284f3c6526dSDragan Simic}; 285f3c6526dSDragan Simic 286f3c6526dSDragan Simic&pwm2 { 287f3c6526dSDragan Simic status = "okay"; 288f3c6526dSDragan Simic}; 289f3c6526dSDragan Simic 290f3c6526dSDragan Simic&sdmmc { 291f3c6526dSDragan Simic bus-width = <4>; 292f3c6526dSDragan Simic cap-sd-highspeed; 293f3c6526dSDragan Simic disable-wp; 294f3c6526dSDragan Simic pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>; 295f3c6526dSDragan Simic pinctrl-names = "default"; 296f3c6526dSDragan Simic vmmc-supply = <&vcc_sd>; 297f3c6526dSDragan Simic status = "okay"; 298f3c6526dSDragan Simic}; 299f3c6526dSDragan Simic 300f3c6526dSDragan Simic&spi0 { 301f3c6526dSDragan Simic status = "okay"; 302f3c6526dSDragan Simic 303f3c6526dSDragan Simic flash@0 { 304f3c6526dSDragan Simic compatible = "jedec,spi-nor"; 305f3c6526dSDragan Simic reg = <0>; 306f3c6526dSDragan Simic spi-max-frequency = <50000000>; 307f3c6526dSDragan Simic }; 308f3c6526dSDragan Simic}; 309f3c6526dSDragan Simic 310f3c6526dSDragan Simic&tsadc { 311f3c6526dSDragan Simic rockchip,hw-tshut-mode = <0>; 312f3c6526dSDragan Simic rockchip,hw-tshut-polarity = <0>; 313f3c6526dSDragan Simic status = "okay"; 314f3c6526dSDragan Simic}; 315f3c6526dSDragan Simic 316f3c6526dSDragan Simic&u2phy { 317f3c6526dSDragan Simic status = "okay"; 318f3c6526dSDragan Simic}; 319f3c6526dSDragan Simic 320f3c6526dSDragan Simic&u2phy_host { 321f3c6526dSDragan Simic status = "okay"; 322f3c6526dSDragan Simic}; 323f3c6526dSDragan Simic 324f3c6526dSDragan Simic&u2phy_otg { 325f3c6526dSDragan Simic status = "okay"; 326f3c6526dSDragan Simic}; 327f3c6526dSDragan Simic 328f3c6526dSDragan Simic&uart2 { 329f3c6526dSDragan Simic status = "okay"; 330f3c6526dSDragan Simic}; 331f3c6526dSDragan Simic 332f3c6526dSDragan Simic&usb20_otg { 333f3c6526dSDragan Simic dr_mode = "host"; 334f3c6526dSDragan Simic status = "okay"; 335f3c6526dSDragan Simic}; 336f3c6526dSDragan Simic 337f3c6526dSDragan Simic&usbdrd3 { 338f3c6526dSDragan Simic dr_mode = "host"; 339f3c6526dSDragan Simic status = "okay"; 340f3c6526dSDragan Simic #address-cells = <1>; 341f3c6526dSDragan Simic #size-cells = <0>; 342f3c6526dSDragan Simic 343f3c6526dSDragan Simic /* Second port is for USB 3.0 */ 344f3c6526dSDragan Simic rtl8153: device@2 { 345f3c6526dSDragan Simic compatible = "usbbda,8153"; 346f3c6526dSDragan Simic reg = <2>; 347f3c6526dSDragan Simic }; 348f3c6526dSDragan Simic}; 349f3c6526dSDragan Simic 350f3c6526dSDragan Simic&usb_host0_ehci { 351f3c6526dSDragan Simic status = "okay"; 352f3c6526dSDragan Simic}; 353f3c6526dSDragan Simic 354f3c6526dSDragan Simic&usb_host0_ohci { 355f3c6526dSDragan Simic status = "okay"; 356f3c6526dSDragan Simic}; 357