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