1b4b8f2c9SClément Péron// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cabbaed7SClément Péron// Copyright (C) 2017 Antony Antony <antony@phenome.org> 3cabbaed7SClément Péron// Copyright (C) 2016 ARM Ltd. 4d7341305SAntony Antony 5d7341305SAntony Antony/dts-v1/; 6d7341305SAntony Antony#include "sun50i-h5.dtsi" 7d7341305SAntony Antony 8d7341305SAntony Antony#include <dt-bindings/gpio/gpio.h> 9d7341305SAntony Antony#include <dt-bindings/input/input.h> 10d7341305SAntony Antony#include <dt-bindings/pinctrl/sun4i-a10.h> 11d7341305SAntony Antony 12d7341305SAntony Antony/ { 13d7341305SAntony Antony model = "FriendlyARM NanoPi NEO Plus2"; 14d7341305SAntony Antony compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5"; 15d7341305SAntony Antony 16d7341305SAntony Antony aliases { 1727d7f929SAntony Antony ethernet0 = &emac; 18d7341305SAntony Antony serial0 = &uart0; 19d7341305SAntony Antony }; 20d7341305SAntony Antony 21d7341305SAntony Antony chosen { 22d7341305SAntony Antony stdout-path = "serial0:115200n8"; 23d7341305SAntony Antony }; 24d7341305SAntony Antony 25d7341305SAntony Antony leds { 26d7341305SAntony Antony compatible = "gpio-leds"; 27d7341305SAntony Antony 28*e299e6ddSMaxime Ripard led-0 { 29d7341305SAntony Antony label = "nanopi:green:pwr"; 30d7341305SAntony Antony gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 31d7341305SAntony Antony default-state = "on"; 32d7341305SAntony Antony }; 33d7341305SAntony Antony 34*e299e6ddSMaxime Ripard led-1 { 35d7341305SAntony Antony label = "nanopi:red:status"; 36d7341305SAntony Antony gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; 37d7341305SAntony Antony }; 38d7341305SAntony Antony }; 39d7341305SAntony Antony 40d7341305SAntony Antony reg_gmac_3v3: gmac-3v3 { 41d7341305SAntony Antony compatible = "regulator-fixed"; 42d7341305SAntony Antony regulator-name = "gmac-3v3"; 43d7341305SAntony Antony regulator-min-microvolt = <3300000>; 44d7341305SAntony Antony regulator-max-microvolt = <3300000>; 45d7341305SAntony Antony startup-delay-us = <100000>; 46d7341305SAntony Antony enable-active-high; 47d7341305SAntony Antony gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 48d7341305SAntony Antony }; 49d7341305SAntony Antony 50d7341305SAntony Antony reg_vcc3v3: vcc3v3 { 51d7341305SAntony Antony compatible = "regulator-fixed"; 52d7341305SAntony Antony regulator-name = "vcc3v3"; 53d7341305SAntony Antony regulator-min-microvolt = <3300000>; 54d7341305SAntony Antony regulator-max-microvolt = <3300000>; 55d7341305SAntony Antony }; 56d7341305SAntony Antony 57d7341305SAntony Antony vdd_cpux: gpio-regulator { 58d7341305SAntony Antony compatible = "regulator-gpio"; 59d7341305SAntony Antony regulator-name = "vdd-cpux"; 60d7341305SAntony Antony regulator-type = "voltage"; 61d7341305SAntony Antony regulator-boot-on; 62d7341305SAntony Antony regulator-always-on; 63d7341305SAntony Antony regulator-min-microvolt = <1100000>; 64d7341305SAntony Antony regulator-max-microvolt = <1300000>; 65d7341305SAntony Antony regulator-ramp-delay = <50>; /* 4ms */ 66d7341305SAntony Antony gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; 67d7341305SAntony Antony gpios-states = <0x1>; 689fbbbb7bSMaxime Ripard states = <1100000 0>, <1300000 1>; 69d7341305SAntony Antony }; 70d7341305SAntony Antony 71d7341305SAntony Antony wifi_pwrseq: wifi_pwrseq { 72d7341305SAntony Antony compatible = "mmc-pwrseq-simple"; 73d7341305SAntony Antony reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ 74d7341305SAntony Antony post-power-on-delay-ms = <200>; 75d7341305SAntony Antony }; 76d7341305SAntony Antony}; 77d7341305SAntony Antony 78d7341305SAntony Antony&codec { 79d7341305SAntony Antony allwinner,audio-routing = 80d7341305SAntony Antony "Line Out", "LINEOUT", 81d7341305SAntony Antony "MIC1", "Mic", 82d7341305SAntony Antony "Mic", "MBIAS"; 83d7341305SAntony Antony status = "okay"; 84d7341305SAntony Antony}; 85d7341305SAntony Antony 86d7341305SAntony Antony&ehci0 { 87d7341305SAntony Antony status = "okay"; 88d7341305SAntony Antony}; 89d7341305SAntony Antony 90d7341305SAntony Antony&ehci3 { 91d7341305SAntony Antony status = "okay"; 92d7341305SAntony Antony}; 93d7341305SAntony Antony 9427d7f929SAntony Antony&emac { 9527d7f929SAntony Antony pinctrl-names = "default"; 9627d7f929SAntony Antony pinctrl-0 = <&emac_rgmii_pins>; 9727d7f929SAntony Antony phy-supply = <®_gmac_3v3>; 9827d7f929SAntony Antony phy-handle = <&ext_rgmii_phy>; 99d0c6707cSHeinrich Schuchardt phy-mode = "rgmii-id"; 10027d7f929SAntony Antony status = "okay"; 10127d7f929SAntony Antony}; 10227d7f929SAntony Antony 10327d7f929SAntony Antony&external_mdio { 10427d7f929SAntony Antony ext_rgmii_phy: ethernet-phy@7 { 10527d7f929SAntony Antony compatible = "ethernet-phy-ieee802.3-c22"; 10627d7f929SAntony Antony reg = <7>; 10727d7f929SAntony Antony }; 10827d7f929SAntony Antony}; 10927d7f929SAntony Antony 110d7341305SAntony Antony&mmc0 { 111d7341305SAntony Antony vmmc-supply = <®_vcc3v3>; 112d7341305SAntony Antony bus-width = <4>; 113d7341305SAntony Antony cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 114d7341305SAntony Antony status = "okay"; 115d7341305SAntony Antony}; 116d7341305SAntony Antony 117d7341305SAntony Antony&mmc1 { 118d7341305SAntony Antony vmmc-supply = <®_vcc3v3>; 119d7341305SAntony Antony vqmmc-supply = <®_vcc3v3>; 120d7341305SAntony Antony mmc-pwrseq = <&wifi_pwrseq>; 121d7341305SAntony Antony bus-width = <4>; 122d7341305SAntony Antony non-removable; 123d7341305SAntony Antony status = "okay"; 124d7341305SAntony Antony 125d7341305SAntony Antony brcmf: wifi@1 { 126d7341305SAntony Antony reg = <1>; 127d7341305SAntony Antony compatible = "brcm,bcm4329-fmac"; 128d7341305SAntony Antony }; 129d7341305SAntony Antony}; 130d7341305SAntony Antony 131d7341305SAntony Antony&mmc2 { 132d7341305SAntony Antony pinctrl-names = "default"; 133d7341305SAntony Antony pinctrl-0 = <&mmc2_8bit_pins>; 134d7341305SAntony Antony vmmc-supply = <®_vcc3v3>; 135d7341305SAntony Antony bus-width = <8>; 136d7341305SAntony Antony non-removable; 137d7341305SAntony Antony cap-mmc-hw-reset; 138d7341305SAntony Antony status = "okay"; 139d7341305SAntony Antony}; 140d7341305SAntony Antony 141d7341305SAntony Antony&ohci0 { 142d7341305SAntony Antony status = "okay"; 143d7341305SAntony Antony}; 144d7341305SAntony Antony 145d7341305SAntony Antony&ohci3 { 146d7341305SAntony Antony status = "okay"; 147d7341305SAntony Antony}; 148d7341305SAntony Antony 149d7341305SAntony Antony&uart0 { 150d7341305SAntony Antony pinctrl-names = "default"; 151a4dc7919SMaxime Ripard pinctrl-0 = <&uart0_pa_pins>; 152d7341305SAntony Antony status = "okay"; 153d7341305SAntony Antony}; 154d7341305SAntony Antony 155d7341305SAntony Antony&usb_otg { 156d7341305SAntony Antony dr_mode = "host"; 157d7341305SAntony Antony status = "okay"; 158d7341305SAntony Antony}; 159d7341305SAntony Antony 160d7341305SAntony Antony&usbphy { 161d7341305SAntony Antony /* USB Type-A ports' VBUS is always on */ 162d7341305SAntony Antony status = "okay"; 163d7341305SAntony Antony}; 164