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 leds { 30 compatible = "gpio-leds"; 31 pinctrl-names = "default"; 32 33 pwr_led { 34 label = "bananapi-m2-zero:red:pwr"; 35 gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ 36 default-state = "on"; 37 }; 38 }; 39 40 gpio_keys { 41 compatible = "gpio-keys"; 42 pinctrl-names = "default"; 43 44 sw4 { 45 label = "power"; 46 linux,code = <BTN_0>; 47 gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 48 }; 49 }; 50 51 wifi_pwrseq: wifi_pwrseq { 52 compatible = "mmc-pwrseq-simple"; 53 pinctrl-names = "default"; 54 reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ 55 }; 56}; 57 58&ehci0 { 59 status = "okay"; 60}; 61 62&mmc0 { 63 vmmc-supply = <®_vcc3v3>; 64 bus-width = <4>; 65 /* 66 * On the production batch of this board the card detect GPIO is 67 * high active (card inserted), although on the early samples it's 68 * low active. 69 */ 70 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 71 status = "okay"; 72}; 73 74&mmc1 { 75 vmmc-supply = <®_vcc3v3>; 76 vqmmc-supply = <®_vcc3v3>; 77 mmc-pwrseq = <&wifi_pwrseq>; 78 bus-width = <4>; 79 non-removable; 80 status = "okay"; 81 82 brcmf: wifi@1 { 83 reg = <1>; 84 compatible = "brcm,bcm4329-fmac"; 85 interrupt-parent = <&pio>; 86 interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */ 87 interrupt-names = "host-wake"; 88 }; 89}; 90 91&ohci0 { 92 status = "okay"; 93}; 94 95&uart0 { 96 pinctrl-names = "default"; 97 pinctrl-0 = <&uart0_pins_a>; 98 status = "okay"; 99}; 100 101&uart1 { 102 pinctrl-names = "default"; 103 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; 104 status = "okay"; 105}; 106 107&usb_otg { 108 dr_mode = "otg"; 109 status = "okay"; 110}; 111 112&usbphy { 113 usb0_id_det-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ 114 /* 115 * There're two micro-USB connectors, one is power-only and another is 116 * OTG. The Vbus of these two connectors are connected together, so 117 * the external USB device will be powered just by the power input 118 * from the power-only USB port. 119 */ 120 status = "okay"; 121}; 122