[U-Boot] [PATCH v4] sunxi: add support for Banana Pi M2 Zero board

From: Jun Nie jun.nie@linaro.org
Banana Pi M2 Zero is a board by Sinovoip with Allwinner H2+ SoC, 16-bit 512MiB DDR3 memory, a MicroSD slot, two MicroUSB ports (one OTG and one powering-only) and a miniHDMI port.
Signed-off-by: Icenowy Zheng icenowy@aosc.io Signed-off-by: Jun Nie jun.nie@linaro.org --- Changes in v4: - Fixed MMC card detect on product batch boards. - Synced the device tree from the same commit with other H3/H2+ DTs.
arch/arm/dts/Makefile | 1 + .../dts/sun8i-h2-plus-bananapi-m2-zero.dts | 121 ++++++++++++++++++ board/sunxi/MAINTAINERS | 5 + configs/bananapi_m2_zero_defconfig | 13 ++ 4 files changed, 140 insertions(+) create mode 100644 arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts create mode 100644 configs/bananapi_m2_zero_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 0de6234eec..c2de60e031 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -365,6 +365,7 @@ dtb-$(CONFIG_MACH_SUN8I_A83T) += \ sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-tbs-a711.dts dtb-$(CONFIG_MACH_SUN8I_H3) += \ + sun8i-h2-plus-bananapi-m2-zero.dtb \ sun8i-h2-plus-libretech-all-h3-cc.dtb \ sun8i-h2-plus-orangepi-r1.dtb \ sun8i-h2-plus-orangepi-zero.dtb \ diff --git a/arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts new file mode 100644 index 0000000000..7d01f93226 --- /dev/null +++ b/arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts @@ -0,0 +1,121 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2017 Icenowy Zheng icenowy@aosc.io + * + * Based on sun8i-h3-bananapi-m2-plus.dts, which is: + * Copyright (C) 2016 Chen-Yu Tsai wens@csie.org + */ + +/dts-v1/; +#include "sun8i-h3.dtsi" +#include "sunxi-common-regulators.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + model = "Banana Pi BPI-M2-Zero"; + compatible = "sinovoip,bpi-m2-zero", "allwinner,sun8i-h2-plus"; + + aliases { + serial0 = &uart0; + serial1 = &uart1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + + pwr_led { + label = "bananapi-m2-zero:red:pwr"; + gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */ + default-state = "on"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; + + sw4 { + label = "power"; + linux,code = <BTN_0>; + gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; + }; + }; + + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + pinctrl-names = "default"; + reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ + }; +}; + +&ehci0 { + status = "okay"; +}; + +&mmc0 { + vmmc-supply = <®_vcc3v3>; + bus-width = <4>; + /* + * On the production batch of this board the card detect GPIO is + * high active (card inserted), although on the early samples it's + * low active. + */ + cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ + status = "okay"; +}; + +&mmc1 { + vmmc-supply = <®_vcc3v3>; + vqmmc-supply = <®_vcc3v3>; + mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + status = "okay"; + + brcmf: wifi@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + interrupt-parent = <&pio>; + interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */ + interrupt-names = "host-wake"; + }; +}; + +&ohci0 { + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins_a>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; + status = "okay"; +}; + +&usb_otg { + dr_mode = "otg"; + status = "okay"; +}; + +&usbphy { + usb0_id_det-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ + /* + * There're two micro-USB connectors, one is power-only and another is + * OTG. The Vbus of these two connectors are connected together, so + * the external USB device will be powered just by the power input + * from the power-only USB port. + */ + status = "okay"; +}; diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS index 2f95976445..390b119003 100644 --- a/board/sunxi/MAINTAINERS +++ b/board/sunxi/MAINTAINERS @@ -402,6 +402,11 @@ M: Icenowy Zheng icenowy@aosc.io S: Maintained F: configs/Sinovoip_BPI_M2_Plus_defconfig
+SINOVOIP BPI M2 ZERO BOARD +M: Icenowy Zheng icenowy@aosc.io +S: Maintained +F: configs/Sinovoip_BPI_M2_Zero_defconfig + SINOVOIP BPI M3 A83T BOARD M: VishnuPatekar vishnupatekar0510@gmail.com S: Maintained diff --git a/configs/bananapi_m2_zero_defconfig b/configs/bananapi_m2_zero_defconfig new file mode 100644 index 0000000000..91302eb49c --- /dev/null +++ b/configs/bananapi_m2_zero_defconfig @@ -0,0 +1,13 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_SPL=y +CONFIG_MACH_SUN8I_H3=y +CONFIG_DRAM_CLK=408 +CONFIG_DRAM_ZQ=3881979 +CONFIG_DRAM_ODT_EN=y +CONFIG_MMC0_CD_PIN="" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_SPL_DOS_PARTITION is not set +# CONFIG_SPL_EFI_PARTITION is not set +CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-bananapi-m2-zero"

On Sat, Oct 27, 2018 at 01:11:00PM +0800, Icenowy Zheng wrote:
From: Jun Nie jun.nie@linaro.org
Banana Pi M2 Zero is a board by Sinovoip with Allwinner H2+ SoC, 16-bit 512MiB DDR3 memory, a MicroSD slot, two MicroUSB ports (one OTG and one powering-only) and a miniHDMI port.
Signed-off-by: Icenowy Zheng icenowy@aosc.io Signed-off-by: Jun Nie jun.nie@linaro.org
Ideally, your SoB should be the second one.
Otherwise, Acked-by: Maxime Ripard maxime.ripard@bootlin.com
Thanks! Maxime

On Sat, Oct 27, 2018 at 10:41 AM Icenowy Zheng icenowy@aosc.io wrote:
From: Jun Nie jun.nie@linaro.org
Banana Pi M2 Zero is a board by Sinovoip with Allwinner H2+ SoC, 16-bit 512MiB DDR3 memory, a MicroSD slot, two MicroUSB ports (one OTG and one powering-only) and a miniHDMI port.
Signed-off-by: Icenowy Zheng icenowy@aosc.io Signed-off-by: Jun Nie jun.nie@linaro.org
Changes in v4:
- Fixed MMC card detect on product batch boards.
- Synced the device tree from the same commit with other H3/H2+ DTs.
arch/arm/dts/Makefile | 1 + .../dts/sun8i-h2-plus-bananapi-m2-zero.dts | 121 ++++++++++++++++++ board/sunxi/MAINTAINERS | 5 + configs/bananapi_m2_zero_defconfig | 13 ++ 4 files changed, 140 insertions(+) create mode 100644 arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts create mode 100644 configs/bananapi_m2_zero_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 0de6234eec..c2de60e031 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -365,6 +365,7 @@ dtb-$(CONFIG_MACH_SUN8I_A83T) += \ sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-tbs-a711.dts dtb-$(CONFIG_MACH_SUN8I_H3) += \
sun8i-h2-plus-bananapi-m2-zero.dtb \ sun8i-h2-plus-libretech-all-h3-cc.dtb \ sun8i-h2-plus-orangepi-r1.dtb \ sun8i-h2-plus-orangepi-zero.dtb \
[snip]
+SINOVOIP BPI M2 ZERO BOARD
Can be "BANANAPI M2 ZERO"
+M: Icenowy Zheng icenowy@aosc.io +S: Maintained +F: configs/Sinovoip_BPI_M2_Zero_defconfig
configs/bananapi_m2_zero_defconfig
SINOVOIP BPI M3 A83T BOARD M: VishnuPatekar vishnupatekar0510@gmail.com S: Maintained diff --git a/configs/bananapi_m2_zero_defconfig b/configs/bananapi_m2_zero_defconfig new file mode 100644 index 0000000000..91302eb49c --- /dev/null +++ b/configs/bananapi_m2_zero_defconfig @@ -0,0 +1,13 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_SPL=y +CONFIG_MACH_SUN8I_H3=y +CONFIG_DRAM_CLK=408 +CONFIG_DRAM_ZQ=3881979 +CONFIG_DRAM_ODT_EN=y +CONFIG_MMC0_CD_PIN=""
I don't think this would need, it's PF6 by default for H3

于 2018年10月30日 GMT+08:00 下午2:27:43, Jagan Teki jagan@amarulasolutions.com 写到:
On Sat, Oct 27, 2018 at 10:41 AM Icenowy Zheng icenowy@aosc.io wrote:
From: Jun Nie jun.nie@linaro.org
Banana Pi M2 Zero is a board by Sinovoip with Allwinner H2+ SoC,
16-bit
512MiB DDR3 memory, a MicroSD slot, two MicroUSB ports (one OTG and
one
powering-only) and a miniHDMI port.
Signed-off-by: Icenowy Zheng icenowy@aosc.io Signed-off-by: Jun Nie jun.nie@linaro.org
Changes in v4:
- Fixed MMC card detect on product batch boards.
- Synced the device tree from the same commit with other H3/H2+ DTs.
arch/arm/dts/Makefile | 1 + .../dts/sun8i-h2-plus-bananapi-m2-zero.dts | 121
++++++++++++++++++
board/sunxi/MAINTAINERS | 5 + configs/bananapi_m2_zero_defconfig | 13 ++ 4 files changed, 140 insertions(+) create mode 100644 arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts create mode 100644 configs/bananapi_m2_zero_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 0de6234eec..c2de60e031 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -365,6 +365,7 @@ dtb-$(CONFIG_MACH_SUN8I_A83T) += \ sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-tbs-a711.dts dtb-$(CONFIG_MACH_SUN8I_H3) += \
sun8i-h2-plus-bananapi-m2-zero.dtb \ sun8i-h2-plus-libretech-all-h3-cc.dtb \ sun8i-h2-plus-orangepi-r1.dtb \ sun8i-h2-plus-orangepi-zero.dtb \
[snip]
+SINOVOIP BPI M2 ZERO BOARD
Can be "BANANAPI M2 ZERO"
+M: Icenowy Zheng icenowy@aosc.io +S: Maintained +F: configs/Sinovoip_BPI_M2_Zero_defconfig
configs/bananapi_m2_zero_defconfig
SINOVOIP BPI M3 A83T BOARD M: VishnuPatekar vishnupatekar0510@gmail.com S: Maintained diff --git a/configs/bananapi_m2_zero_defconfig
b/configs/bananapi_m2_zero_defconfig
new file mode 100644 index 0000000000..91302eb49c --- /dev/null +++ b/configs/bananapi_m2_zero_defconfig @@ -0,0 +1,13 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_SPL=y +CONFIG_MACH_SUN8I_H3=y +CONFIG_DRAM_CLK=408 +CONFIG_DRAM_ZQ=3881979 +CONFIG_DRAM_ODT_EN=y +CONFIG_MMC0_CD_PIN=""
I don't think this would need, it's PF6 by default for H3
This board has inverted CD pin, which is not supported by U-Boot.
So CD is disabled.

On Tue, Oct 30, 2018 at 11:57 AM Jagan Teki jagan@amarulasolutions.com wrote:
On Sat, Oct 27, 2018 at 10:41 AM Icenowy Zheng icenowy@aosc.io wrote:
From: Jun Nie jun.nie@linaro.org
Banana Pi M2 Zero is a board by Sinovoip with Allwinner H2+ SoC, 16-bit 512MiB DDR3 memory, a MicroSD slot, two MicroUSB ports (one OTG and one powering-only) and a miniHDMI port.
Signed-off-by: Icenowy Zheng icenowy@aosc.io Signed-off-by: Jun Nie jun.nie@linaro.org
Changes in v4:
- Fixed MMC card detect on product batch boards.
- Synced the device tree from the same commit with other H3/H2+ DTs.
arch/arm/dts/Makefile | 1 + .../dts/sun8i-h2-plus-bananapi-m2-zero.dts | 121 ++++++++++++++++++ board/sunxi/MAINTAINERS | 5 + configs/bananapi_m2_zero_defconfig | 13 ++ 4 files changed, 140 insertions(+) create mode 100644 arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts create mode 100644 configs/bananapi_m2_zero_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 0de6234eec..c2de60e031 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -365,6 +365,7 @@ dtb-$(CONFIG_MACH_SUN8I_A83T) += \ sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-tbs-a711.dts dtb-$(CONFIG_MACH_SUN8I_H3) += \
sun8i-h2-plus-bananapi-m2-zero.dtb \ sun8i-h2-plus-libretech-all-h3-cc.dtb \ sun8i-h2-plus-orangepi-r1.dtb \ sun8i-h2-plus-orangepi-zero.dtb \
[snip]
+SINOVOIP BPI M2 ZERO BOARD
Can be "BANANAPI M2 ZERO"
+M: Icenowy Zheng icenowy@aosc.io +S: Maintained +F: configs/Sinovoip_BPI_M2_Zero_defconfig
configs/bananapi_m2_zero_defconfig
If agree? will do above changes while applying?

于 2018年10月31日 GMT+08:00 下午2:12:34, Jagan Teki jagan@amarulasolutions.com 写到:
On Tue, Oct 30, 2018 at 11:57 AM Jagan Teki jagan@amarulasolutions.com wrote:
On Sat, Oct 27, 2018 at 10:41 AM Icenowy Zheng icenowy@aosc.io
wrote:
From: Jun Nie jun.nie@linaro.org
Banana Pi M2 Zero is a board by Sinovoip with Allwinner H2+ SoC,
16-bit
512MiB DDR3 memory, a MicroSD slot, two MicroUSB ports (one OTG and
one
powering-only) and a miniHDMI port.
Signed-off-by: Icenowy Zheng icenowy@aosc.io Signed-off-by: Jun Nie jun.nie@linaro.org
Changes in v4:
- Fixed MMC card detect on product batch boards.
- Synced the device tree from the same commit with other H3/H2+
DTs.
arch/arm/dts/Makefile | 1 + .../dts/sun8i-h2-plus-bananapi-m2-zero.dts | 121
++++++++++++++++++
board/sunxi/MAINTAINERS | 5 + configs/bananapi_m2_zero_defconfig | 13 ++ 4 files changed, 140 insertions(+) create mode 100644 arch/arm/dts/sun8i-h2-plus-bananapi-m2-zero.dts create mode 100644 configs/bananapi_m2_zero_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 0de6234eec..c2de60e031 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -365,6 +365,7 @@ dtb-$(CONFIG_MACH_SUN8I_A83T) += \ sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-tbs-a711.dts dtb-$(CONFIG_MACH_SUN8I_H3) += \
sun8i-h2-plus-bananapi-m2-zero.dtb \ sun8i-h2-plus-libretech-all-h3-cc.dtb \ sun8i-h2-plus-orangepi-r1.dtb \ sun8i-h2-plus-orangepi-zero.dtb \
[snip]
+SINOVOIP BPI M2 ZERO BOARD
Can be "BANANAPI M2 ZERO"
+M: Icenowy Zheng icenowy@aosc.io +S: Maintained +F: configs/Sinovoip_BPI_M2_Zero_defconfig
configs/bananapi_m2_zero_defconfig
If agree? will do above changes while applying?
Okay, thanks.

On Sat, Oct 27, 2018 at 10:41 AM Icenowy Zheng icenowy@aosc.io wrote:
From: Jun Nie jun.nie@linaro.org
Banana Pi M2 Zero is a board by Sinovoip with Allwinner H2+ SoC, 16-bit 512MiB DDR3 memory, a MicroSD slot, two MicroUSB ports (one OTG and one powering-only) and a miniHDMI port.
Signed-off-by: Icenowy Zheng icenowy@aosc.io Signed-off-by: Jun Nie jun.nie@linaro.org
Applied to u-boot-sunxi/master
participants (3)
-
Icenowy Zheng
-
Jagan Teki
-
Maxime Ripard