Banana Pi designs the BPi M2 Berry board to be software compatible with BPi M2 Ultra, so it's based on M2 Ultra with some function cuts, including: - 2048MiB DRAM -> 1024MiB (this should be proceed by the bootloader); - dropped a LED; - dropped eMMC; - dropped USB2 and connect USB1 to a 4-port HUB. Thus we can make the M2 Berry device tree based on the M2 Ultra, rather than write one from scratch. Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx> --- .../boot/dts/sun8i-v40-bananapi-m2-berry.dts | 141 +++--------------- 1 file changed, 24 insertions(+), 117 deletions(-) diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts index 35859d8f3267..b740c659e623 100644 --- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts +++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts @@ -40,143 +40,50 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -/dts-v1/; -#include "sun8i-r40.dtsi" - -#include <dt-bindings/gpio/gpio.h> +#include "sun8i-r40-bananapi-m2-ultra.dts" / { model = "Banana Pi M2 Berry"; compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40"; - aliases { - serial0 = &uart0; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - leds { - compatible = "gpio-leds"; - - pwr-led { - label = "bananapi:red:pwr"; - gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; - default-state = "on"; - }; - - user-led { - label = "bananapi:green:user"; - gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; - }; - }; - - reg_vcc5v0: vcc5v0 { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>; /* PH23 */ - enable-active-high; - }; - - wifi_pwrseq: wifi_pwrseq { - compatible = "mmc-pwrseq-simple"; - reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */ + /* M2 Berry dropped blue LED due to size */ + /delete-node/ user-led-blue; }; }; &ehci1 { /* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */ - status = "okay"; -}; - -&i2c0 { - status = "okay"; - - axp22x: pmic@68 { - compatible = "x-powers,axp221"; - reg = <0x34>; - interrupt-parent = <&nmi_intc>; - interrupts = <0 IRQ_TYPE_LEVEL_LOW>; - }; -}; - -#include "axp22x.dtsi" - -®_aldo3 { - regulator-always-on; - regulator-min-microvolt = <2700000>; - regulator-max-microvolt = <3300000>; - regulator-name = "avcc"; -}; - -®_dcdc1 { - regulator-always-on; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - regulator-name = "vcc-3v0"; -}; - -®_dcdc2 { - regulator-always-on; - regulator-min-microvolt = <1000000>; - regulator-max-microvolt = <1300000>; - regulator-name = "vdd-cpu"; -}; - -®_dcdc3 { - regulator-always-on; - regulator-min-microvolt = <1000000>; - regulator-max-microvolt = <1300000>; - regulator-name = "vdd-sys"; -}; - -®_dcdc5 { - regulator-always-on; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <1500000>; - regulator-name = "vcc-dram"; -}; - -®_dldo1 { - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - regulator-name = "vcc-wifi-io"; }; -®_dldo2 { - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-name = "vcc-wifi"; +&ehci2 { + /* + * M2 Berry dropped wiring out USB2, due to all USB port is + * from a hub at USB1. + */ + status = "disabled"; }; -&mmc0 { - vmmc-supply = <®_dcdc1>; - bus-width = <4>; - cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ - status = "okay"; +&mmc2 { + /* M2 Berry has no eMMC */ + status = "disabled"; }; -&mmc1 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc1_pg_pins>; - vmmc-supply = <®_dldo2>; - vqmmc-supply = <®_dldo1>; - mmc-pwrseq = <&wifi_pwrseq>; - bus-width = <4>; - non-removable; - status = "okay"; +&ohci1 { + /* + * M2 Berry have a Hub connected to the USB1 pins, so no USB1.1 device + * can be directly connected to the USB1 port, thus the OHCI controller + * can be disabled. + */ + status = "disabled"; }; -&uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_pb_pins>; - status = "okay"; +&ohci2 { + /* See comments at &ehci2 */ + status = "disabled"; }; &usbphy { - usb1_vbus-supply = <®_vcc5v0>; - status = "okay"; + /* See comments at &ehci2 */ + /delete-property/ usb2_vbus-supply; }; -- 2.18.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html