xref: /linux/scripts/dtc/include-prefixes/arm/allwinner/sun6i-a31s-sinovoip-bpi-m2.dts (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
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 = <&reg_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 = <&reg_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 = <&reg_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 = <&reg_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 = <&reg_dcdc1>;
154724ba675SRob Herring		x-powers,drive-vbus-en;
155724ba675SRob Herring	};
156724ba675SRob Herring};
157724ba675SRob Herring
158724ba675SRob Herring#include "axp22x.dtsi"
159724ba675SRob Herring
160724ba675SRob Herring&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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