12b1a3321SJagan Teki/* 22b1a3321SJagan Teki * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io> 32b1a3321SJagan Teki * 42b1a3321SJagan Teki * This file is dual-licensed: you can use it either under the terms 52b1a3321SJagan Teki * of the GPL or the X11 license, at your option. Note that this dual 62b1a3321SJagan Teki * licensing only applies to this file, and not this project as a 72b1a3321SJagan Teki * whole. 82b1a3321SJagan Teki * 9*1caeae37SAndre Przywara * a) This file is free software; you can redistribute it and/or 102b1a3321SJagan Teki * modify it under the terms of the GNU General Public License as 112b1a3321SJagan Teki * published by the Free Software Foundation; either version 2 of the 122b1a3321SJagan Teki * License, or (at your option) any later version. 132b1a3321SJagan Teki * 14*1caeae37SAndre Przywara * This file is distributed in the hope that it will be useful, 152b1a3321SJagan Teki * but WITHOUT ANY WARRANTY; without even the implied warranty of 162b1a3321SJagan Teki * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 172b1a3321SJagan Teki * GNU General Public License for more details. 182b1a3321SJagan Teki * 192b1a3321SJagan Teki * Or, alternatively, 202b1a3321SJagan Teki * 212b1a3321SJagan Teki * b) Permission is hereby granted, free of charge, to any person 222b1a3321SJagan Teki * obtaining a copy of this software and associated documentation 232b1a3321SJagan Teki * files (the "Software"), to deal in the Software without 242b1a3321SJagan Teki * restriction, including without limitation the rights to use, 252b1a3321SJagan Teki * copy, modify, merge, publish, distribute, sublicense, and/or 262b1a3321SJagan Teki * sell copies of the Software, and to permit persons to whom the 272b1a3321SJagan Teki * Software is furnished to do so, subject to the following 282b1a3321SJagan Teki * conditions: 292b1a3321SJagan Teki * 302b1a3321SJagan Teki * The above copyright notice and this permission notice shall be 312b1a3321SJagan Teki * included in all copies or substantial portions of the Software. 322b1a3321SJagan Teki * 332b1a3321SJagan Teki * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 342b1a3321SJagan Teki * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 352b1a3321SJagan Teki * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 362b1a3321SJagan Teki * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 372b1a3321SJagan Teki * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 382b1a3321SJagan Teki * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 392b1a3321SJagan Teki * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 402b1a3321SJagan Teki * OTHER DEALINGS IN THE SOFTWARE. 412b1a3321SJagan Teki */ 422b1a3321SJagan Teki 432b1a3321SJagan Teki/dts-v1/; 442b1a3321SJagan Teki#include "sun50i-h5.dtsi" 452b1a3321SJagan Teki 462b1a3321SJagan Teki#include <dt-bindings/gpio/gpio.h> 472b1a3321SJagan Teki 482b1a3321SJagan Teki/ { 492b1a3321SJagan Teki model = "FriendlyARM NanoPi NEO 2"; 502b1a3321SJagan Teki compatible = "friendlyarm,nanopi-neo2", "allwinner,sun50i-h5"; 512b1a3321SJagan Teki 522b1a3321SJagan Teki aliases { 53*1caeae37SAndre Przywara ethernet0 = &emac; 542b1a3321SJagan Teki serial0 = &uart0; 552b1a3321SJagan Teki }; 562b1a3321SJagan Teki 572b1a3321SJagan Teki chosen { 582b1a3321SJagan Teki stdout-path = "serial0:115200n8"; 592b1a3321SJagan Teki }; 602b1a3321SJagan Teki 61*1caeae37SAndre Przywara leds { 62*1caeae37SAndre Przywara compatible = "gpio-leds"; 63*1caeae37SAndre Przywara 64*1caeae37SAndre Przywara pwr { 65*1caeae37SAndre Przywara label = "nanopi:green:pwr"; 66*1caeae37SAndre Przywara gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; 67*1caeae37SAndre Przywara default-state = "on"; 68*1caeae37SAndre Przywara }; 69*1caeae37SAndre Przywara 70*1caeae37SAndre Przywara status { 71*1caeae37SAndre Przywara label = "nanopi:blue:status"; 72*1caeae37SAndre Przywara gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; 73*1caeae37SAndre Przywara }; 74*1caeae37SAndre Przywara }; 75*1caeae37SAndre Przywara 76*1caeae37SAndre Przywara reg_gmac_3v3: gmac-3v3 { 77*1caeae37SAndre Przywara compatible = "regulator-fixed"; 78*1caeae37SAndre Przywara regulator-name = "gmac-3v3"; 79*1caeae37SAndre Przywara regulator-min-microvolt = <3300000>; 80*1caeae37SAndre Przywara regulator-max-microvolt = <3300000>; 81*1caeae37SAndre Przywara startup-delay-us = <100000>; 82*1caeae37SAndre Przywara enable-active-high; 83*1caeae37SAndre Przywara gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 84*1caeae37SAndre Przywara }; 85*1caeae37SAndre Przywara 862b1a3321SJagan Teki reg_vcc3v3: vcc3v3 { 872b1a3321SJagan Teki compatible = "regulator-fixed"; 882b1a3321SJagan Teki regulator-name = "vcc3v3"; 892b1a3321SJagan Teki regulator-min-microvolt = <3300000>; 902b1a3321SJagan Teki regulator-max-microvolt = <3300000>; 912b1a3321SJagan Teki }; 92*1caeae37SAndre Przywara 93*1caeae37SAndre Przywara reg_usb0_vbus: usb0-vbus { 94*1caeae37SAndre Przywara compatible = "regulator-fixed"; 95*1caeae37SAndre Przywara regulator-name = "usb0-vbus"; 96*1caeae37SAndre Przywara regulator-min-microvolt = <5000000>; 97*1caeae37SAndre Przywara regulator-max-microvolt = <5000000>; 98*1caeae37SAndre Przywara enable-active-high; 99*1caeae37SAndre Przywara gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ 100*1caeae37SAndre Przywara status = "okay"; 101*1caeae37SAndre Przywara }; 102*1caeae37SAndre Przywara}; 103*1caeae37SAndre Przywara 104*1caeae37SAndre Przywara&ehci0 { 105*1caeae37SAndre Przywara status = "okay"; 106*1caeae37SAndre Przywara}; 107*1caeae37SAndre Przywara 108*1caeae37SAndre Przywara&ehci3 { 109*1caeae37SAndre Przywara status = "okay"; 110*1caeae37SAndre Przywara}; 111*1caeae37SAndre Przywara 112*1caeae37SAndre Przywara&emac { 113*1caeae37SAndre Przywara pinctrl-names = "default"; 114*1caeae37SAndre Przywara pinctrl-0 = <&emac_rgmii_pins>; 115*1caeae37SAndre Przywara phy-supply = <®_gmac_3v3>; 116*1caeae37SAndre Przywara phy-handle = <&ext_rgmii_phy>; 117*1caeae37SAndre Przywara phy-mode = "rgmii"; 118*1caeae37SAndre Przywara status = "okay"; 119*1caeae37SAndre Przywara}; 120*1caeae37SAndre Przywara 121*1caeae37SAndre Przywara&external_mdio { 122*1caeae37SAndre Przywara ext_rgmii_phy: ethernet-phy@7 { 123*1caeae37SAndre Przywara compatible = "ethernet-phy-ieee802.3-c22"; 124*1caeae37SAndre Przywara reg = <7>; 125*1caeae37SAndre Przywara }; 1262b1a3321SJagan Teki}; 1272b1a3321SJagan Teki 1282b1a3321SJagan Teki&mmc0 { 1292b1a3321SJagan Teki vmmc-supply = <®_vcc3v3>; 1302b1a3321SJagan Teki bus-width = <4>; 1312b1a3321SJagan Teki cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 1322b1a3321SJagan Teki status = "okay"; 1332b1a3321SJagan Teki}; 1342b1a3321SJagan Teki 135*1caeae37SAndre Przywara&ohci0 { 136*1caeae37SAndre Przywara status = "okay"; 137*1caeae37SAndre Przywara}; 138*1caeae37SAndre Przywara 139*1caeae37SAndre Przywara&ohci3 { 140*1caeae37SAndre Przywara status = "okay"; 141*1caeae37SAndre Przywara}; 142*1caeae37SAndre Przywara 1432b1a3321SJagan Teki&uart0 { 1442b1a3321SJagan Teki pinctrl-names = "default"; 1452b1a3321SJagan Teki pinctrl-0 = <&uart0_pins_a>; 1462b1a3321SJagan Teki status = "okay"; 1472b1a3321SJagan Teki}; 148*1caeae37SAndre Przywara 149*1caeae37SAndre Przywara&usb_otg { 150*1caeae37SAndre Przywara dr_mode = "otg"; 151*1caeae37SAndre Przywara status = "okay"; 152*1caeae37SAndre Przywara}; 153*1caeae37SAndre Przywara 154*1caeae37SAndre Przywara&usbphy { 155*1caeae37SAndre Przywara /* USB Type-A port's VBUS is always on */ 156*1caeae37SAndre Przywara usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ 157*1caeae37SAndre Przywara usb0_vbus-supply = <®_usb0_vbus>; 158*1caeae37SAndre Przywara status = "okay"; 159*1caeae37SAndre Przywara}; 160