1724ba675SRob Herring/* 2724ba675SRob Herring * Copyright 2015 Hans de Goede <hdegoede@redhat.com> 3724ba675SRob Herring * 4724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms 5724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual 6724ba675SRob Herring * licensing only applies to this file, and not this project as a 7724ba675SRob Herring * whole. 8724ba675SRob Herring * 9724ba675SRob Herring * a) This library is free software; you can redistribute it and/or 10724ba675SRob Herring * modify it under the terms of the GNU General Public License as 11724ba675SRob Herring * published by the Free Software Foundation; either version 2 of the 12724ba675SRob Herring * License, or (at your option) any later version. 13724ba675SRob Herring * 14724ba675SRob Herring * This library is distributed in the hope that it will be useful, 15724ba675SRob Herring * but WITHOUT ANY WARRANTY; without even the implied warranty of 16724ba675SRob Herring * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17724ba675SRob Herring * GNU General Public License for more details. 18724ba675SRob Herring * 19724ba675SRob Herring * Or, alternatively, 20724ba675SRob Herring * 21724ba675SRob Herring * b) Permission is hereby granted, free of charge, to any person 22724ba675SRob Herring * obtaining a copy of this software and associated documentation 23724ba675SRob Herring * files (the "Software"), to deal in the Software without 24724ba675SRob Herring * restriction, including without limitation the rights to use, 25724ba675SRob Herring * copy, modify, merge, publish, distribute, sublicense, and/or 26724ba675SRob Herring * sell copies of the Software, and to permit persons to whom the 27724ba675SRob Herring * Software is furnished to do so, subject to the following 28724ba675SRob Herring * conditions: 29724ba675SRob Herring * 30724ba675SRob Herring * The above copyright notice and this permission notice shall be 31724ba675SRob Herring * included in all copies or substantial portions of the Software. 32724ba675SRob Herring * 33724ba675SRob Herring * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34724ba675SRob Herring * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35724ba675SRob Herring * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36724ba675SRob Herring * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37724ba675SRob Herring * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38724ba675SRob Herring * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39724ba675SRob Herring * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40724ba675SRob Herring * OTHER DEALINGS IN THE SOFTWARE. 41724ba675SRob Herring */ 42724ba675SRob Herring 43724ba675SRob Herring/dts-v1/; 44724ba675SRob Herring#include "sun6i-a31s.dtsi" 45724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 46724ba675SRob Herring 47724ba675SRob Herring/ { 48724ba675SRob Herring model = "Sinovoip BPI-M2"; 49724ba675SRob Herring compatible = "sinovoip,bpi-m2", "allwinner,sun6i-a31s"; 50724ba675SRob Herring 51724ba675SRob Herring aliases { 52724ba675SRob Herring serial0 = &uart0; 53724ba675SRob Herring }; 54724ba675SRob Herring 55724ba675SRob Herring chosen { 56724ba675SRob Herring stdout-path = "serial0:115200n8"; 57724ba675SRob Herring }; 58724ba675SRob Herring 59724ba675SRob Herring leds { 60724ba675SRob Herring compatible = "gpio-leds"; 61724ba675SRob Herring 62724ba675SRob Herring led-0 { 63724ba675SRob Herring label = "bpi-m2:blue:usr"; 64724ba675SRob Herring gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */ 65724ba675SRob Herring }; 66724ba675SRob Herring 67724ba675SRob Herring led-1 { 68724ba675SRob Herring label = "bpi-m2:green:usr"; 69724ba675SRob Herring gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>; /* PG10 */ 70724ba675SRob Herring }; 71724ba675SRob Herring 72724ba675SRob Herring led-2 { 73724ba675SRob Herring label = "bpi-m2:red:usr"; 74724ba675SRob Herring gpios = <&pio 6 5 GPIO_ACTIVE_HIGH>; /* PG5 */ 75724ba675SRob Herring }; 76724ba675SRob Herring }; 77724ba675SRob Herring 78*0f47ef3fSKrzysztof Kozlowski mmc2_pwrseq: pwrseq { 79724ba675SRob Herring compatible = "mmc-pwrseq-simple"; 80724ba675SRob Herring reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 WIFI_EN */ 81724ba675SRob Herring }; 82724ba675SRob Herring}; 83724ba675SRob Herring 84724ba675SRob Herring&cpu0 { 85724ba675SRob Herring cpu-supply = <®_dcdc3>; 86724ba675SRob Herring}; 87724ba675SRob Herring 88724ba675SRob Herring&ehci0 { 89724ba675SRob Herring status = "okay"; 90724ba675SRob Herring}; 91724ba675SRob Herring 92724ba675SRob Herring&gmac { 93724ba675SRob Herring pinctrl-names = "default"; 94724ba675SRob Herring pinctrl-0 = <&gmac_rgmii_pins>; 95724ba675SRob Herring phy-handle = <&phy1>; 96724ba675SRob Herring phy-mode = "rgmii"; 97724ba675SRob Herring phy-supply = <®_dldo1>; 98724ba675SRob Herring status = "okay"; 99724ba675SRob Herring}; 100724ba675SRob Herring 101724ba675SRob Herring&ir { 102724ba675SRob Herring pinctrl-names = "default"; 103724ba675SRob Herring pinctrl-0 = <&s_ir_rx_pin>; 104724ba675SRob Herring status = "okay"; 105724ba675SRob Herring}; 106724ba675SRob Herring 107724ba675SRob Herring&mdio { 108724ba675SRob Herring phy1: ethernet-phy@1 { 109724ba675SRob Herring reg = <1>; 110724ba675SRob Herring reset-gpios = <&pio 0 21 GPIO_ACTIVE_LOW>; /* PA21 */ 111724ba675SRob Herring reset-assert-us = <10000>; 112724ba675SRob Herring reset-deassert-us = <30000>; 113724ba675SRob Herring }; 114724ba675SRob Herring}; 115724ba675SRob Herring 116724ba675SRob Herring&mmc0 { 117724ba675SRob Herring vmmc-supply = <®_dcdc1>; 118724ba675SRob Herring bus-width = <4>; 119724ba675SRob Herring cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */ 120724ba675SRob Herring status = "okay"; 121724ba675SRob Herring}; 122724ba675SRob Herring 123724ba675SRob Herring&mmc2 { 124724ba675SRob Herring pinctrl-names = "default"; 125724ba675SRob Herring pinctrl-0 = <&mmc2_4bit_pins>; 126724ba675SRob Herring vmmc-supply = <®_aldo1>; 127724ba675SRob Herring mmc-pwrseq = <&mmc2_pwrseq>; 128724ba675SRob Herring bus-width = <4>; 129724ba675SRob Herring non-removable; 130724ba675SRob Herring status = "okay"; 131724ba675SRob Herring 132724ba675SRob Herring brcmf: wifi@1 { 133724ba675SRob Herring reg = <1>; 134724ba675SRob Herring compatible = "brcm,bcm4329-fmac"; 135724ba675SRob Herring interrupt-parent = <&r_pio>; 136724ba675SRob Herring interrupts = <0 5 IRQ_TYPE_LEVEL_LOW>; /* PL5 */ 137724ba675SRob Herring interrupt-names = "host-wake"; 138724ba675SRob Herring }; 139724ba675SRob Herring}; 140724ba675SRob Herring 141724ba675SRob Herring&ohci0 { 142724ba675SRob Herring status = "okay"; 143724ba675SRob Herring}; 144724ba675SRob Herring 145724ba675SRob Herring&p2wi { 146724ba675SRob Herring status = "okay"; 147724ba675SRob Herring 148724ba675SRob Herring axp22x: pmic@68 { 149724ba675SRob Herring compatible = "x-powers,axp221"; 150724ba675SRob Herring reg = <0x68>; 151724ba675SRob Herring interrupt-parent = <&r_intc>; 152724ba675SRob Herring interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>; 153724ba675SRob Herring eldoin-supply = <®_dcdc1>; 154724ba675SRob Herring x-powers,drive-vbus-en; 155724ba675SRob Herring }; 156724ba675SRob Herring}; 157724ba675SRob Herring 158724ba675SRob Herring#include "axp22x.dtsi" 159724ba675SRob Herring 160724ba675SRob Herring®_aldo1 { 161724ba675SRob Herring regulator-min-microvolt = <3300000>; 162724ba675SRob Herring regulator-max-microvolt = <3300000>; 163724ba675SRob Herring regulator-name = "vcc-wifi"; 164724ba675SRob Herring}; 165724ba675SRob Herring 166724ba675SRob Herring®_aldo2 { 167724ba675SRob Herring regulator-always-on; 168724ba675SRob Herring regulator-min-microvolt = <2500000>; 169724ba675SRob Herring regulator-max-microvolt = <2500000>; 170724ba675SRob Herring regulator-name = "vcc-gmac"; 171724ba675SRob Herring}; 172724ba675SRob Herring 173724ba675SRob Herring®_aldo3 { 174724ba675SRob Herring regulator-always-on; 175724ba675SRob Herring regulator-min-microvolt = <3000000>; 176724ba675SRob Herring regulator-max-microvolt = <3000000>; 177724ba675SRob Herring regulator-name = "avcc"; 178724ba675SRob Herring}; 179724ba675SRob Herring 180724ba675SRob Herring®_dc5ldo { 181724ba675SRob Herring regulator-always-on; 182724ba675SRob Herring regulator-min-microvolt = <700000>; 183724ba675SRob Herring regulator-max-microvolt = <1320000>; 184724ba675SRob Herring regulator-name = "vdd-cpus"; 185724ba675SRob Herring}; 186724ba675SRob Herring 187724ba675SRob Herring®_dcdc1 { 188724ba675SRob Herring regulator-always-on; 189724ba675SRob Herring regulator-min-microvolt = <3000000>; 190724ba675SRob Herring regulator-max-microvolt = <3000000>; 191724ba675SRob Herring regulator-name = "vdd-3v0"; 192724ba675SRob Herring}; 193724ba675SRob Herring 194724ba675SRob Herring®_dcdc2 { 195724ba675SRob Herring regulator-min-microvolt = <700000>; 196724ba675SRob Herring regulator-max-microvolt = <1320000>; 197724ba675SRob Herring regulator-name = "vdd-gpu"; 198724ba675SRob Herring}; 199724ba675SRob Herring 200724ba675SRob Herring®_dcdc3 { 201724ba675SRob Herring regulator-always-on; 202724ba675SRob Herring regulator-min-microvolt = <700000>; 203724ba675SRob Herring regulator-max-microvolt = <1320000>; 204724ba675SRob Herring regulator-name = "vdd-cpu"; 205724ba675SRob Herring}; 206724ba675SRob Herring 207724ba675SRob Herring®_dcdc4 { 208724ba675SRob Herring regulator-always-on; 209724ba675SRob Herring regulator-min-microvolt = <700000>; 210724ba675SRob Herring regulator-max-microvolt = <1320000>; 211724ba675SRob Herring regulator-name = "vdd-sys-dll"; 212724ba675SRob Herring}; 213724ba675SRob Herring 214724ba675SRob Herring®_dcdc5 { 215724ba675SRob Herring regulator-always-on; 216724ba675SRob Herring regulator-min-microvolt = <1500000>; 217724ba675SRob Herring regulator-max-microvolt = <1500000>; 218724ba675SRob Herring regulator-name = "vcc-dram"; 219724ba675SRob Herring}; 220724ba675SRob Herring 221724ba675SRob Herring®_dldo1 { 222724ba675SRob Herring regulator-min-microvolt = <3000000>; 223724ba675SRob Herring regulator-max-microvolt = <3000000>; 224724ba675SRob Herring regulator-name = "vcc-mac"; 225724ba675SRob Herring}; 226724ba675SRob Herring 227724ba675SRob Herring®_dldo2 { 228724ba675SRob Herring regulator-min-microvolt = <2800000>; 229724ba675SRob Herring regulator-max-microvolt = <2800000>; 230724ba675SRob Herring regulator-name = "avdd-csi"; 231724ba675SRob Herring}; 232724ba675SRob Herring 233724ba675SRob Herring®_dldo3 { 234724ba675SRob Herring regulator-always-on; 235724ba675SRob Herring regulator-min-microvolt = <3300000>; 236724ba675SRob Herring regulator-max-microvolt = <3300000>; 237724ba675SRob Herring regulator-name = "vcc-pb"; 238724ba675SRob Herring}; 239724ba675SRob Herring 240724ba675SRob Herring®_eldo1 { 241724ba675SRob Herring regulator-min-microvolt = <1800000>; 242724ba675SRob Herring regulator-max-microvolt = <1800000>; 243724ba675SRob Herring regulator-name = "vdd-csi"; 244724ba675SRob Herring status = "okay"; 245724ba675SRob Herring}; 246724ba675SRob Herring 247724ba675SRob Herring®_ldo_io1 { 248724ba675SRob Herring regulator-always-on; 249724ba675SRob Herring regulator-min-microvolt = <1800000>; 250724ba675SRob Herring regulator-max-microvolt = <1800000>; 251724ba675SRob Herring regulator-name = "vcc-pm-cpus"; 252724ba675SRob Herring status = "okay"; 253724ba675SRob Herring}; 254724ba675SRob Herring 255724ba675SRob Herring&uart0 { 256724ba675SRob Herring pinctrl-names = "default"; 257724ba675SRob Herring pinctrl-0 = <&uart0_ph_pins>; 258724ba675SRob Herring status = "okay"; 259724ba675SRob Herring}; 260724ba675SRob Herring 261724ba675SRob Herring&usbphy { 262724ba675SRob Herring status = "okay"; 263724ba675SRob Herring}; 264724ba675SRob Herring 265724ba675SRob Herring&pio { 266724ba675SRob Herring gpio-line-names = 267724ba675SRob Herring /* PA */ 268724ba675SRob Herring "ETXD0", "ETXD1", "ETXD2", "ETXD3", "SDC0-DET", "", "", 269724ba675SRob Herring "", "ETXCLK", "ETXEN", "EGTXCLK", "ERXD0", "ERXD1", 270724ba675SRob Herring "ERXD2", "ERXD3", "", "", "", "", "ERXDV", "ERXCK", 271724ba675SRob Herring "ETXERR", "ERXERR", "ECOL", "ECRS", "ECLKIN", "EMDC", 272724ba675SRob Herring "EMDIO", "", "", "", "", 273724ba675SRob Herring 274724ba675SRob Herring /* PB */ 275724ba675SRob Herring "CN7-P29", "CN7-P31", "CN7-P33", "CN7-P35", "CN7-P37", 276724ba675SRob Herring "CN7-P28", "CN7-P27", "CN7-P32", "", "", "", "", "", "", 277724ba675SRob Herring "", "", "", "", "", "", "", "", "", "", "", "", "", "", 278724ba675SRob Herring "", "", "", "", 279724ba675SRob Herring 280724ba675SRob Herring /* PC */ 281724ba675SRob Herring "", "", "", "", "", "", "WL-SDIO-CMD", "WL-SDIO-CLK", 282724ba675SRob Herring "WL-SDIO-D0", "WL-SDIO-D2", "WL-SDIO-D2", "WL-SDIO-D3", 283724ba675SRob Herring "", "", "", "", "", "", "", "", "", "", "", "", "", "", 284724ba675SRob Herring "", "USB-DRV", "", "", "", "", 285724ba675SRob Herring 286724ba675SRob Herring /* PD */ 287724ba675SRob Herring "CN9-P09", "CN9-P11", "CN9-P13", "CN9-P15", "CN9-P17", 288724ba675SRob Herring "CN9-P19", "CN9-P21", "CN9-P23", "CN9-P25", "CN9-P27", 289724ba675SRob Herring "CN9-P29", "CN9-P31", "CN9-P33", "CN9-P35", "CN9-P37", 290724ba675SRob Herring "CN9-P39", "CN9-P40", "CN9-P38", "CN9-P36", "CN9-P34", 291724ba675SRob Herring "CN9-P32", "CN9-P30", "CN9-P28", "CN9-P26", "CN9-P22", 292724ba675SRob Herring "CN9-P14", "CN9-P18", "CN9-P16", "", "", "", "", 293724ba675SRob Herring 294724ba675SRob Herring /* PE */ 295724ba675SRob Herring "CN6-P20", "CN6-P24", "CN6-P30", "CN6-P28", "CN7-P08", 296724ba675SRob Herring "CN7-P10", "CN7-P36", "CN7-P38", "CN6-P17", "CN6-P19", 297724ba675SRob Herring "CN6-P21", "CN6-P23", "CN6-P25", "CN6-P27", "CN6-P29", 298724ba675SRob Herring "CN6-P31", "", "", "", "", "", "", "", "", "", "", "", 299724ba675SRob Herring "", "", "", "", "", 300724ba675SRob Herring 301724ba675SRob Herring /* PF */ 302724ba675SRob Herring "SDC0-D1", "SDC0-D0", "SDC0-CLK", "SDC0-CMD", "SDC0-D3", 303724ba675SRob Herring "SDC0-D2", "", "", "", "", "", "", "", "", "", "", "", 304724ba675SRob Herring "", "", "", "", "", "", "", "", "", "", "", "", "", "", 305724ba675SRob Herring "", 306724ba675SRob Herring 307724ba675SRob Herring /* PG */ 308724ba675SRob Herring "CN9-P06", "CN9-P08", "CN9-P20", "CN9-P12", "CN9-P07", 309724ba675SRob Herring "LED-PWR", "CN7-P13", "CN7-P11", "CN7-P22", "CN7-P15", 310724ba675SRob Herring "LED-G", "LED-B", "CN7-P26", "CN7-P24", "CN7-P23", 311724ba675SRob Herring "CN7-P19", "CN7-P21", "HCEC", "CN6-P22", "", "", "", "", 312724ba675SRob Herring "", "", "", "", "", "", "", "", "", 313724ba675SRob Herring 314724ba675SRob Herring /* PH */ 315724ba675SRob Herring "", "", "", "", "", "", "", "", "", "CN7-P07", 316724ba675SRob Herring "CN7-P12", "CN7-P16", "CN7-P18", "CN9-P10", "CN6-P16", 317724ba675SRob Herring "CN6-P14", "CN9-P04", "CN9-P02", "CN7-P05", "CN7-P03", 318724ba675SRob Herring "CN8-P03", "CN8-P02", "", "", "CN6-P34", "CN6-P32", 319724ba675SRob Herring "CN6-P26", "CN6-P18", "", "", "", ""; 320724ba675SRob Herring}; 321724ba675SRob Herring 322724ba675SRob Herring&r_pio { 323724ba675SRob Herring gpio-line-names = 324724ba675SRob Herring /* PL */ 325724ba675SRob Herring "PMU-SCK", "PMU-SDA", "VBAT-EN", "", "IR-RX", 326724ba675SRob Herring "WL-WAKE-HOST", "BT-WAKE_HOST", "BT-ENABLE", 327724ba675SRob Herring "WL-PMU-EN", "", "", "", "", "", "", "", "", "", "", "", 328724ba675SRob Herring "", "", "", "", "", "", "", "", "", "", "", "", 329724ba675SRob Herring 330724ba675SRob Herring /* PM */ 331724ba675SRob Herring "CN6-P12", "CN6-P35", "CN7-P40", "", "", "", "", "", "", 332724ba675SRob Herring "", "", "", "", "", "", "", "", "", "", "", "", "", "", 333724ba675SRob Herring "", "", "", "", "", "", "", "", ""; 334724ba675SRob Herring}; 335