~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/allwinner/sun8i-h2-plus-bananapi-m2-zero.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 /*
  3  * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
  4  *
  5  * Based on sun8i-h3-bananapi-m2-plus.dts, which is:
  6  *   Copyright (C) 2016 Chen-Yu Tsai <wens@csie.org>
  7  */
  8 
  9 /dts-v1/;
 10 #include "sun8i-h3.dtsi"
 11 #include "sunxi-common-regulators.dtsi"
 12 
 13 #include <dt-bindings/gpio/gpio.h>
 14 #include <dt-bindings/input/input.h>
 15 
 16 / {
 17         model = "Banana Pi BPI-M2-Zero";
 18         compatible = "sinovoip,bpi-m2-zero", "allwinner,sun8i-h2-plus";
 19 
 20         aliases {
 21                 serial0 = &uart0;
 22                 serial1 = &uart1;
 23         };
 24 
 25         chosen {
 26                 stdout-path = "serial0:115200n8";
 27         };
 28 
 29         connector {
 30                 compatible = "hdmi-connector";
 31                 type = "c";
 32 
 33                 port {
 34                         hdmi_con_in: endpoint {
 35                                 remote-endpoint = <&hdmi_out_con>;
 36                         };
 37                 };
 38         };
 39 
 40         leds {
 41                 compatible = "gpio-leds";
 42 
 43                 pwr_led {
 44                         label = "bananapi-m2-zero:red:pwr";
 45                         gpios = <&r_pio 0 10 GPIO_ACTIVE_LOW>; /* PL10 */
 46                         default-state = "on";
 47                 };
 48         };
 49 
 50         gpio-keys {
 51                 compatible = "gpio-keys";
 52 
 53                 switch-4 {
 54                         label = "power";
 55                         linux,code = <KEY_POWER>;
 56                         gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
 57                         wakeup-source;
 58                 };
 59         };
 60 
 61         reg_vdd_cpux: vdd-cpux-regulator {
 62                 compatible = "regulator-gpio";
 63                 regulator-name = "vdd-cpux";
 64                 regulator-type = "voltage";
 65                 regulator-boot-on;
 66                 regulator-always-on;
 67                 regulator-min-microvolt = <1100000>;
 68                 regulator-max-microvolt = <1300000>;
 69                 regulator-ramp-delay = <50>; /* 4ms */
 70 
 71                 gpios = <&r_pio 0 1 GPIO_ACTIVE_HIGH>; /* PL1 */
 72                 enable-active-high;
 73                 gpios-states = <0x1>;
 74                 states = <1100000 0>, <1300000 1>;
 75         };
 76 
 77         reg_vcc_dram: vcc-dram {
 78                 compatible = "regulator-fixed";
 79                 regulator-name = "vcc-dram";
 80                 regulator-min-microvolt = <1500000>;
 81                 regulator-max-microvolt = <1500000>;
 82                 regulator-always-on;
 83                 regulator-boot-on;
 84                 enable-active-high;
 85                 gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */
 86                 vin-supply = <&reg_vcc5v0>;
 87         };
 88 
 89         reg_vcc1v2: vcc1v2 {
 90                 compatible = "regulator-fixed";
 91                 regulator-name = "vcc1v2";
 92                 regulator-min-microvolt = <1200000>;
 93                 regulator-max-microvolt = <1200000>;
 94                 regulator-always-on;
 95                 regulator-boot-on;
 96                 enable-active-high;
 97                 gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
 98                 vin-supply = <&reg_vcc5v0>;
 99         };
100 
101         poweroff {
102                 compatible = "regulator-poweroff";
103                 cpu-supply = <&reg_vcc1v2>;
104         };
105 
106         wifi_pwrseq: pwrseq {
107                 compatible = "mmc-pwrseq-simple";
108                 reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
109                 clocks = <&rtc CLK_OSC32K_FANOUT>;
110                 clock-names = "ext_clock";
111         };
112 };
113 
114 &cpu0 {
115         cpu-supply = <&reg_vdd_cpux>;
116 };
117 
118 &de {
119         status = "okay";
120 };
121 
122 &ehci0 {
123         status = "okay";
124 };
125 
126 &hdmi {
127         status = "okay";
128 };
129 
130 &hdmi_out {
131         hdmi_out_con: endpoint {
132                 remote-endpoint = <&hdmi_con_in>;
133         };
134 };
135 
136 &mmc0 {
137         vmmc-supply = <&reg_vcc3v3>;
138         bus-width = <4>;
139         /*
140          * On the production batch of this board the card detect GPIO is
141          * high active (card inserted), although on the early samples it's
142          * low active.
143          */
144         cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
145         status = "okay";
146 };
147 
148 &mmc1 {
149         vmmc-supply = <&reg_vcc3v3>;
150         vqmmc-supply = <&reg_vcc3v3>;
151         mmc-pwrseq = <&wifi_pwrseq>;
152         bus-width = <4>;
153         non-removable;
154         status = "okay";
155 
156         brcmf: wifi@1 {
157                 reg = <1>;
158                 compatible = "brcm,bcm4329-fmac";
159                 interrupt-parent = <&pio>;
160                 interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
161                 interrupt-names = "host-wake";
162         };
163 };
164 
165 &ohci0 {
166         status = "okay";
167 };
168 
169 &uart0 {
170         pinctrl-names = "default";
171         pinctrl-0 = <&uart0_pa_pins>;
172         status = "okay";
173 };
174 
175 &uart1 {
176         pinctrl-names = "default";
177         pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
178         uart-has-rtscts;
179         status = "okay";
180 
181         bluetooth {
182                 compatible = "brcm,bcm43438-bt";
183                 max-speed = <1500000>;
184                 clocks = <&rtc CLK_OSC32K_FANOUT>;
185                 clock-names = "lpo";
186                 vbat-supply = <&reg_vcc3v3>;
187                 vddio-supply = <&reg_vcc3v3>;
188                 device-wakeup-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */
189                 host-wakeup-gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
190                 shutdown-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
191         };
192 
193 };
194 
195 &pio {
196         gpio-line-names =
197                 /* PA */
198                 "CON2-P13", "CON2-P11", "CON2-P22", "CON2-P15",
199                         "CON3-P03", "CON3-P02", "CON2-P07", "CON2-P29",
200                 "CON2-P31", "CON2-P33", "CON2-P35", "CON2-P05",
201                         "CON2-P03", "CON2-P08", "CON2-P10", "CON2-P16",
202                 "CON2-P12", "CON2-P37", "CON2-P28", "CON2-P27",
203                         "CON2-P40", "CON2-P38", "", "",
204                 "", "", "", "", "", "", "", "",
205 
206                 /* PB */
207                 "", "", "", "", "", "", "", "",
208                 "", "", "", "", "", "", "", "",
209                 "", "", "", "", "", "", "", "",
210                 "", "", "", "", "", "", "", "",
211 
212                 /* PC */
213                 "CON2-P19", "CON2-P21", "CON2-P23", "CON2-P24",
214                         "CON2-P18", "", "", "CON2-P26",
215                 "", "", "", "", "", "", "", "",
216                 "", "", "", "", "", "", "", "",
217                 "", "", "", "", "", "", "", "",
218 
219                 /* PD */
220                 "", "", "", "", "", "", "", "",
221                 "", "", "", "", "", "", "CSI-PWR-EN", "",
222                 "", "", "", "", "", "", "", "",
223                 "", "", "", "", "", "", "", "",
224 
225                 /* PE */
226                 "CN3-P17", "CN3-P13", "CN3-P09", "CN3-P07",
227                         "CN3-P19", "CN3-P21", "CN3-P22", "CN3-P20",
228                 "CN3-P18", "CN3-P16", "CN3-P14", "CN3-P12",
229                         "CN3-P05", "CN3-P03", "CN3-P06", "CN3-P08",
230                 "", "", "", "", "", "", "", "",
231                 "", "", "", "", "", "", "", "",
232 
233                 /* PF */
234                 "SDC0-D1", "SDC0-D0", "SDC0-CLK", "SDC0-CMD", "SDC0-D3",
235                         "SDC0-D2", "SDC0-DET", "",
236                 "", "", "", "", "", "", "", "",
237                 "", "", "", "", "", "", "", "",
238                 "", "", "", "", "", "", "", "",
239 
240                 /* PG */
241                 "WL-SDIO-CLK", "WL-SDIO-CMD", "WL-SDIO-D0", "WL-SDIO-D1",
242                         "WL-SDIO-D2", "WL-SDIO-D3", "BT-UART-TX", "BT-UART-RX",
243                 "BT-UART-RTS", "BT-UART-CTS", "WL-WAKE-AP", "BT-WAKE-AP",
244                         "BT-RST-N", "AP-WAKE-BT", "", "",
245                 "", "", "", "", "", "", "", "",
246                 "", "", "", "", "", "", "", "";
247 };
248 
249 &r_pio {
250         gpio-line-names =
251                 /* PL */
252                 "", "CPUX-SET", "CON2-P32", "POWER-KEY", "CON2-P36",
253                         "VCC-IO-EN", "USB0-ID", "WL-PWR-EN",
254                 "PWR-STB", "PWR-DRAM", "PWR-LED", "IR-RX", "", "", "", "",
255                 "", "", "", "", "", "", "", "",
256                 "", "", "", "", "", "", "", "";
257 };
258 
259 &usb_otg {
260         dr_mode = "otg";
261         status = "okay";
262 };
263 
264 &usbphy {
265         usb0_id_det-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
266         /*
267          * There're two micro-USB connectors, one is power-only and another is
268          * OTG. The Vbus of these two connectors are connected together, so
269          * the external USB device will be powered just by the power input
270          * from the power-only USB port.
271          */
272         status = "okay";
273 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php