1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2// Copyright (C) 2017 Antony Antony <antony@phenome.org> 3// Copyright (C) 2016 ARM Ltd. 4 5/dts-v1/; 6#include "sun50i-h5.dtsi" 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/input/input.h> 10#include <dt-bindings/pinctrl/sun4i-a10.h> 11 12/ { 13 model = "FriendlyARM NanoPi NEO Plus2"; 14 compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5"; 15 16 aliases { 17 ethernet0 = &emac; 18 serial0 = &uart0; 19 }; 20 21 chosen { 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 leds { 26 compatible = "gpio-leds"; 27 28 led-0 { 29 label = "nanopi:green:pwr"; 30 gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 31 default-state = "on"; 32 }; 33 34 led-1 { 35 label = "nanopi:red:status"; 36 gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; 37 }; 38 }; 39 40 reg_gmac_3v3: gmac-3v3 { 41 compatible = "regulator-fixed"; 42 regulator-name = "gmac-3v3"; 43 regulator-min-microvolt = <3300000>; 44 regulator-max-microvolt = <3300000>; 45 startup-delay-us = <100000>; 46 enable-active-high; 47 gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 48 vin-supply = <®_vcc3v3>; 49 }; 50 51 reg_gmac_2v5: gmac-2v5 { 52 /* 2V5 supply for GMAC PHY IO */ 53 compatible = "regulator-fixed"; 54 regulator-name = "gmac-2v5"; 55 regulator-min-microvolt = <2500000>; 56 regulator-max-microvolt = <2500000>; 57 regulator-always-on; 58 vin-supply = <®_vcc3v3>; 59 }; 60 61 reg_vcc5v: regulator-vcc5v { 62 /* board 5V supply from micro USB or pin headers */ 63 compatible = "regulator-fixed"; 64 regulator-name = "vcc-5v"; 65 regulator-min-microvolt = <5000000>; 66 regulator-max-microvolt = <5000000>; 67 regulator-always-on; 68 }; 69 70 reg_vcc3v3: vcc3v3 { 71 /* board 3V3 supply by SY8089A */ 72 compatible = "regulator-fixed"; 73 regulator-name = "vcc3v3"; 74 regulator-min-microvolt = <3300000>; 75 regulator-max-microvolt = <3300000>; 76 regulator-always-on; 77 vin-supply = <®_vcc5v>; 78 }; 79 80 vdd_cpux: gpio-regulator { 81 /* cpu voltage regulator MP2143DJ */ 82 compatible = "regulator-gpio"; 83 regulator-name = "vdd-cpux"; 84 regulator-type = "voltage"; 85 regulator-boot-on; 86 regulator-always-on; 87 regulator-min-microvolt = <1100000>; 88 regulator-max-microvolt = <1300000>; 89 regulator-ramp-delay = <50>; /* 4ms */ 90 gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; 91 gpios-states = <0x1>; 92 states = <1100000 0>, <1300000 1>; 93 vin-supply = <®_vcc5v>; 94 }; 95 96 wifi_pwrseq: pwrseq { 97 compatible = "mmc-pwrseq-simple"; 98 reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ 99 post-power-on-delay-ms = <200>; 100 }; 101}; 102 103&codec { 104 allwinner,audio-routing = 105 "Line Out", "LINEOUT", 106 "MIC1", "Mic", 107 "Mic", "MBIAS"; 108 status = "okay"; 109}; 110 111&ehci0 { 112 status = "okay"; 113}; 114 115&ehci3 { 116 status = "okay"; 117}; 118 119&emac { 120 pinctrl-names = "default"; 121 pinctrl-0 = <&emac_rgmii_pins>; 122 phy-supply = <®_gmac_3v3>; 123 phy-handle = <&ext_rgmii_phy>; 124 phy-mode = "rgmii-id"; 125 status = "okay"; 126}; 127 128&external_mdio { 129 ext_rgmii_phy: ethernet-phy@7 { 130 compatible = "ethernet-phy-ieee802.3-c22"; 131 reg = <7>; 132 }; 133}; 134 135&mmc0 { 136 vmmc-supply = <®_vcc3v3>; 137 bus-width = <4>; 138 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 139 disable-wp; 140 status = "okay"; 141}; 142 143&mmc1 { 144 vmmc-supply = <®_vcc3v3>; 145 vqmmc-supply = <®_vcc3v3>; 146 mmc-pwrseq = <&wifi_pwrseq>; 147 bus-width = <4>; 148 non-removable; 149 status = "okay"; 150 151 brcmf: wifi@1 { 152 reg = <1>; 153 compatible = "brcm,bcm4329-fmac"; 154 }; 155}; 156 157&mmc2 { 158 pinctrl-names = "default"; 159 pinctrl-0 = <&mmc2_8bit_pins>; 160 vmmc-supply = <®_vcc3v3>; 161 bus-width = <8>; 162 non-removable; 163 cap-mmc-hw-reset; 164 status = "okay"; 165}; 166 167&ohci0 { 168 status = "okay"; 169}; 170 171&ohci3 { 172 status = "okay"; 173}; 174 175&pio { 176 vcc-pa-supply = <®_vcc3v3>; 177 vcc-pc-supply = <®_vcc3v3>; 178 vcc-pd-supply = <®_gmac_2v5>; 179 vcc-pf-supply = <®_vcc3v3>; 180 vcc-pg-supply = <®_vcc3v3>; 181}; 182 183&r_pio { 184 vcc-pl-supply = <®_vcc3v3>; 185}; 186 187&uart0 { 188 pinctrl-names = "default"; 189 pinctrl-0 = <&uart0_pa_pins>; 190 status = "okay"; 191}; 192 193&usb_otg { 194 dr_mode = "host"; 195 status = "okay"; 196}; 197 198&usbphy { 199 /* USB Type-A ports' VBUS is always on */ 200 status = "okay"; 201}; 202