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