1b0174c39SJagan Teki/* 2b0174c39SJagan Teki * Copyright (C) 2017 Jagan Teki <jteki@openedev.com> 3b0174c39SJagan Teki * 4b0174c39SJagan Teki * This file is dual-licensed: you can use it either under the terms 5b0174c39SJagan Teki * of the GPL or the X11 license, at your option. Note that this dual 6b0174c39SJagan Teki * licensing only applies to this file, and not this project as a 7b0174c39SJagan Teki * whole. 8b0174c39SJagan Teki * 9b0174c39SJagan Teki * a) This file is free software; you can redistribute it and/or 10b0174c39SJagan Teki * modify it under the terms of the GNU General Public License as 11b0174c39SJagan Teki * published by the Free Software Foundation; either version 2 of the 12b0174c39SJagan Teki * License, or (at your option) any later version. 13b0174c39SJagan Teki * 14b0174c39SJagan Teki * This file is distributed in the hope that it will be useful, 15b0174c39SJagan Teki * but WITHOUT ANY WARRANTY; without even the implied warranty of 16b0174c39SJagan Teki * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17b0174c39SJagan Teki * GNU General Public License for more details. 18b0174c39SJagan Teki * 19b0174c39SJagan Teki * Or, alternatively, 20b0174c39SJagan Teki * 21b0174c39SJagan Teki * b) Permission is hereby granted, free of charge, to any person 22b0174c39SJagan Teki * obtaining a copy of this software and associated documentation 23b0174c39SJagan Teki * files (the "Software"), to deal in the Software without 24b0174c39SJagan Teki * restriction, including without limitation the rights to use, 25b0174c39SJagan Teki * copy, modify, merge, publish, distribute, sublicense, and/or 26b0174c39SJagan Teki * sell copies of the Software, and to permit persons to whom the 27b0174c39SJagan Teki * Software is furnished to do so, subject to the following 28b0174c39SJagan Teki * conditions: 29b0174c39SJagan Teki * 30b0174c39SJagan Teki * The above copyright notice and this permission notice shall be 31b0174c39SJagan Teki * included in all copies or substantial portions of the Software. 32b0174c39SJagan Teki * 33b0174c39SJagan Teki * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34b0174c39SJagan Teki * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35b0174c39SJagan Teki * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36b0174c39SJagan Teki * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37b0174c39SJagan Teki * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38b0174c39SJagan Teki * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39b0174c39SJagan Teki * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40b0174c39SJagan Teki * OTHER DEALINGS IN THE SOFTWARE. 41b0174c39SJagan Teki */ 42b0174c39SJagan Teki 43b0174c39SJagan Teki#include "sun8i-h3-nanopi.dtsi" 44b0174c39SJagan Teki 45b0174c39SJagan Teki/ { 46b0174c39SJagan Teki model = "FriendlyArm NanoPi M1 Plus"; 47b0174c39SJagan Teki compatible = "friendlyarm,nanopi-m1-plus", "allwinner,sun8i-h3"; 48*2d0c3d6bSAndre Przywara 49*2d0c3d6bSAndre Przywara aliases { 50*2d0c3d6bSAndre Przywara serial1 = &uart3; 51*2d0c3d6bSAndre Przywara ethernet0 = &emac; 52*2d0c3d6bSAndre Przywara ethernet1 = &sdio_wifi; 53*2d0c3d6bSAndre Przywara }; 54*2d0c3d6bSAndre Przywara 55*2d0c3d6bSAndre Przywara reg_gmac_3v3: gmac-3v3 { 56*2d0c3d6bSAndre Przywara compatible = "regulator-fixed"; 57*2d0c3d6bSAndre Przywara regulator-name = "gmac-3v3"; 58*2d0c3d6bSAndre Przywara regulator-min-microvolt = <3300000>; 59*2d0c3d6bSAndre Przywara regulator-max-microvolt = <3300000>; 60*2d0c3d6bSAndre Przywara startup-delay-us = <100000>; 61*2d0c3d6bSAndre Przywara enable-active-high; 62*2d0c3d6bSAndre Przywara gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; 63*2d0c3d6bSAndre Przywara }; 64*2d0c3d6bSAndre Przywara 65*2d0c3d6bSAndre Przywara wifi_pwrseq: wifi_pwrseq { 66*2d0c3d6bSAndre Przywara compatible = "mmc-pwrseq-simple"; 67*2d0c3d6bSAndre Przywara pinctrl-names = "default"; 68*2d0c3d6bSAndre Przywara reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ 69*2d0c3d6bSAndre Przywara }; 70b0174c39SJagan Teki}; 71b0174c39SJagan Teki 72b0174c39SJagan Teki&ehci1 { 73b0174c39SJagan Teki status = "okay"; 74b0174c39SJagan Teki}; 75b0174c39SJagan Teki 76b0174c39SJagan Teki&ehci2 { 77b0174c39SJagan Teki status = "okay"; 78b0174c39SJagan Teki}; 79b0174c39SJagan Teki 80*2d0c3d6bSAndre Przywara&emac { 81*2d0c3d6bSAndre Przywara pinctrl-names = "default"; 82*2d0c3d6bSAndre Przywara pinctrl-0 = <&emac_rgmii_pins>; 83*2d0c3d6bSAndre Przywara phy-supply = <®_gmac_3v3>; 84*2d0c3d6bSAndre Przywara phy-handle = <&ext_rgmii_phy>; 85*2d0c3d6bSAndre Przywara phy-mode = "rgmii"; 86*2d0c3d6bSAndre Przywara 87*2d0c3d6bSAndre Przywara status = "okay"; 88*2d0c3d6bSAndre Przywara}; 89*2d0c3d6bSAndre Przywara 90*2d0c3d6bSAndre Przywara&external_mdio { 91*2d0c3d6bSAndre Przywara ext_rgmii_phy: ethernet-phy@1 { 92*2d0c3d6bSAndre Przywara compatible = "ethernet-phy-ieee802.3-c22"; 93*2d0c3d6bSAndre Przywara reg = <7>; 94*2d0c3d6bSAndre Przywara }; 95*2d0c3d6bSAndre Przywara}; 96*2d0c3d6bSAndre Przywara 97*2d0c3d6bSAndre Przywara&ir { 98*2d0c3d6bSAndre Przywara pinctrl-names = "default"; 99*2d0c3d6bSAndre Przywara pinctrl-0 = <&ir_pins_a>; 100*2d0c3d6bSAndre Przywara status = "okay"; 101*2d0c3d6bSAndre Przywara}; 102*2d0c3d6bSAndre Przywara 103*2d0c3d6bSAndre Przywara&mmc1 { 104*2d0c3d6bSAndre Przywara vmmc-supply = <®_vcc3v3>; 105*2d0c3d6bSAndre Przywara vqmmc-supply = <®_vcc3v3>; 106*2d0c3d6bSAndre Przywara mmc-pwrseq = <&wifi_pwrseq>; 107*2d0c3d6bSAndre Przywara bus-width = <4>; 108*2d0c3d6bSAndre Przywara non-removable; 109*2d0c3d6bSAndre Przywara status = "okay"; 110*2d0c3d6bSAndre Przywara 111*2d0c3d6bSAndre Przywara sdio_wifi: sdio_wifi@1 { 112*2d0c3d6bSAndre Przywara reg = <1>; 113*2d0c3d6bSAndre Przywara compatible = "brcm,bcm4329-fmac"; 114*2d0c3d6bSAndre Przywara interrupt-parent = <&pio>; 115*2d0c3d6bSAndre Przywara interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */ 116*2d0c3d6bSAndre Przywara interrupt-names = "host-wake"; 117*2d0c3d6bSAndre Przywara }; 118*2d0c3d6bSAndre Przywara}; 119*2d0c3d6bSAndre Przywara 120*2d0c3d6bSAndre Przywara&mmc2 { 121*2d0c3d6bSAndre Przywara pinctrl-names = "default"; 122*2d0c3d6bSAndre Przywara pinctrl-0 = <&mmc2_8bit_pins>; 123*2d0c3d6bSAndre Przywara vmmc-supply = <®_vcc3v3>; 124*2d0c3d6bSAndre Przywara vqmmc-supply = <®_vcc3v3>; 125*2d0c3d6bSAndre Przywara bus-width = <8>; 126*2d0c3d6bSAndre Przywara non-removable; 127*2d0c3d6bSAndre Przywara status = "okay"; 128*2d0c3d6bSAndre Przywara}; 129*2d0c3d6bSAndre Przywara 130b0174c39SJagan Teki&ohci1 { 131b0174c39SJagan Teki status = "okay"; 132b0174c39SJagan Teki}; 133b0174c39SJagan Teki 134b0174c39SJagan Teki&ohci2 { 135b0174c39SJagan Teki status = "okay"; 136b0174c39SJagan Teki}; 137*2d0c3d6bSAndre Przywara 138*2d0c3d6bSAndre Przywara&uart3 { 139*2d0c3d6bSAndre Przywara pinctrl-names = "default"; 140*2d0c3d6bSAndre Przywara pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>; 141*2d0c3d6bSAndre Przywara status = "okay"; 142*2d0c3d6bSAndre Przywara}; 143