From 81ec10015181bcf19a190ae4bea94bb1ac8d1da6 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Wed, 31 Dec 2014 11:30:26 +0100
Subject: [PATCH] sun7i: Add new Bananapro board / defconfig

Add support for the new Bananapro A20 development board from lemaker.org.
This board features 1G RAM, 2 USB A receptacles, 1 micro USB receptacle for
OTG, 1 micro USB receptacle for power, HDMI, sata, Gbit ethernet, ir receiver,
3.5 mm jack for a/v out, on board microphone, 40 gpio pins and sdio wifi.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
---
 board/sunxi/Kconfig         | 4 ++++
 board/sunxi/MAINTAINERS     | 1 +
 board/sunxi/Makefile        | 1 +
 board/sunxi/gmac.c          | 2 +-
 configs/Bananapro_defconfig | 9 +++++++++
 5 files changed, 16 insertions(+), 1 deletion(-)
 create mode 100644 configs/Bananapro_defconfig

diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
index 8d3016272a..80dc3f96ba 100644
--- a/board/sunxi/Kconfig
+++ b/board/sunxi/Kconfig
@@ -96,6 +96,10 @@ config TARGET_BANANAPI
 	bool "BANANAPI"
 	depends on MACH_SUN7I
 
+config TARGET_BANANAPRO
+	bool "BANANAPRO"
+	depends on MACH_SUN7I
+
 config TARGET_COLOMBUS
 	bool "COLOMBUS"
 	depends on MACH_SUN6I
diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
index c45b8616c1..d926d2e469 100644
--- a/board/sunxi/MAINTAINERS
+++ b/board/sunxi/MAINTAINERS
@@ -23,6 +23,7 @@ F:	configs/Mele_M9_defconfig
 F:	include/configs/sun7i.h
 F:	configs/A20-OLinuXino_MICRO_defconfig
 F:	configs/Bananapi_defconfig
+F:	configs/Bananapro_defconfig
 F:	configs/i12-tvbox_defconfig
 F:	configs/Linksprite_pcDuino3_defconfig
 F:	configs/Linksprite_pcDuino3_fdt_defconfig
diff --git a/board/sunxi/Makefile b/board/sunxi/Makefile
index 97aff10e07..8ca01f670a 100644
--- a/board/sunxi/Makefile
+++ b/board/sunxi/Makefile
@@ -22,6 +22,7 @@ obj-$(CONFIG_TARGET_A20_OLINUXINO_M)	+= dram_sun7i_384_1024_iow16.o
 obj-$(CONFIG_TARGET_AUXTEK_T004)	+= dram_a10s_olinuxino_m.o
 obj-$(CONFIG_TARGET_BA10_TV_BOX)	+= dram_sun4i_384_1024_iow8.o
 obj-$(CONFIG_TARGET_BANANAPI)		+= dram_bananapi.o
+obj-$(CONFIG_TARGET_BANANAPRO)		+= dram_bananapi.o
 obj-$(CONFIG_TARGET_CUBIEBOARD)		+= dram_cubieboard.o
 obj-$(CONFIG_TARGET_CUBIEBOARD2)	+= dram_cubieboard2.o
 obj-$(CONFIG_TARGET_CUBIETRUCK)		+= dram_cubietruck.o
diff --git a/board/sunxi/gmac.c b/board/sunxi/gmac.c
index 571bc9e0ab..4e4615e12f 100644
--- a/board/sunxi/gmac.c
+++ b/board/sunxi/gmac.c
@@ -34,7 +34,7 @@ int sunxi_gmac_initialize(bd_t *bis)
 	 * need to set bits 10-12 GTXDC "GMAC Transmit Clock Delay Chain"
 	 * of the GMAC clk register to 3.
 	 */
-#ifdef CONFIG_TARGET_BANANAPI
+#if defined CONFIG_TARGET_BANANAPI || defined CONFIG_TARGET_BANANAPRO
 	setbits_le32(&ccm->gmac_clk_cfg, 0x3 << 10);
 #endif
 
diff --git a/configs/Bananapro_defconfig b/configs/Bananapro_defconfig
new file mode 100644
index 0000000000..7f9ce13e20
--- /dev/null
+++ b/configs/Bananapro_defconfig
@@ -0,0 +1,9 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
+CONFIG_FDTFILE="sun7i-a20-bananapro.dtb"
+CONFIG_USB1_VBUS_PIN="PH0"
+CONFIG_USB2_VBUS_PIN="PH1"
++S:CONFIG_ARM=y
++S:CONFIG_ARCH_SUNXI=y
++S:CONFIG_MACH_SUN7I=y
++S:CONFIG_TARGET_BANANAPRO=y
-- 
2.39.5