Browse Source

add some basic banana pro support

Waldemar Brodkorb 9 years ago
parent
commit
8cbbd126e2

+ 78 - 0
package/u-boot-git/Makefile

@@ -0,0 +1,78 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:=		u-boot-git
+PKG_VERSION:=		d8c1d5d5fb6eafbc532982125f006e49f2c40e71
+PKG_RELEASE:=		1
+PKG_DESCR:=		portable bootloader
+PKG_SECTION:=		base/boot
+HOST_BUILDDEP:=		openssl-host
+PKG_BUILDDEP:=		u-boot-host
+PKG_URL:=		http://www.denx.de/wiki/U-Boot	
+PKG_SITES:=		git://git.denx.de/u-boot.git
+
+PKG_CFLINE_U_BOOT_GIT:=	select ADK_KERNEL_ATAGS if ADK_TARGET_ARCH_ARM
+PKG_SYSTEM_DEPENDS:=	raspberry-pi raspberry-pi2 atmel-ngw100 banana-pro
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,U_BOOT_GIT,u-boot-git,$(PKG_VERSION)-$(PKG_RELEASE)))
+$(eval $(call PKG_template,U_BOOT_GIT,u-boot-git,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+UBOOT:=			u-boot.bin
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
+CONFIG:=		rpi_defconfig
+endif
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI2),y)
+CONFIG:=		rpi_defconfig
+endif
+ifeq ($(ADK_TARGET_SYSTEM_ATMEL_NGW100),y)
+CONFIG:=		atngw100_defconfig
+endif
+ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO),y)
+CONFIG:=		Bananapro_defconfig
+UBOOT:=			u-boot-sunxi-with-spl.bin
+endif
+
+HOST_MAKE_FLAGS+=	HOSTCFLAGS="$(HOST_CPPFLAGS) $(HOST_CFLAGS)" \
+			HOSTLDFLAGS="$(HOST_LDFLAGS) -ldl"
+HOST_STYLE:=		manual
+CONFIG_STYLE:=		manual
+BUILD_STYLE:=		manual
+INSTALL_STYLE:=		manual
+
+host-build:
+	(cd $(WRKBUILD) && env $(HOST_MAKE_ENV) $(MAKE) -f $(MAKE_FILE) \
+		$(HOST_MAKE_FLAGS) sandbox_defconfig )
+	(cd $(WRKBUILD) && env $(HOST_MAKE_ENV) $(MAKE) -f $(MAKE_FILE) \
+		$(HOST_MAKE_FLAGS) tools $(MAKE_TRACE) )
+
+u-boot-git-hostinstall:
+	$(INSTALL_BIN) $(WRKBUILD)/tools/mk{,env}image \
+		$(STAGING_HOST_DIR)/usr/bin
+
+do-configure:
+	(cd $(WRKBUILD) && $(MAKE) $(CONFIG))
+
+do-build:
+	(cd $(WRKBUILD) && env CROSS_COMPILE='$(TARGET_CROSS)' \
+		GCC_HONOUR_COPTS=s $(MAKE))
+	#(cd $(WRKBUILD) && env CROSS_COMPILE='$(TARGET_CROSS)' \
+	#	GCC_HONOUR_COPTS=s $(MAKE) env)
+
+u-boot-git-install:
+	$(CP) $(WRKBUILD)/$(UBOOT) $(FW_DIR)
+	$(INSTALL_DIR) $(IDIR_U_BOOT_GIT)/etc
+	$(CP) ./files/fw_env.config $(IDIR_U_BOOT_GIT)/etc
+	$(INSTALL_DIR) $(IDIR_U_BOOT_GIT)/usr/bin
+	#$(INSTALL_BIN) $(WRKBUILD)/tools/env/fw_printenv \
+	#	$(IDIR_U_BOOT_GIT)/usr/bin
+	#(cd $(IDIR_U_BOOT_GIT)/usr/bin && ln -sf fw_printenv fw_setenv)
+	#$(INSTALL_BIN) ./files/uboot_print_env $(IDIR_U_BOOT_GIT)/usr/bin
+	#$(INSTALL_BIN) ./files/uboot_set_env $(IDIR_U_BOOT_GIT)/usr/bin
+
+include $(ADK_TOPDIR)/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk

+ 1 - 0
package/u-boot-git/files/fw_env.config

@@ -0,0 +1 @@
+/mnt/uboot.env      0x0000          0x4000

+ 5 - 0
package/u-boot-git/files/uboot_print_env

@@ -0,0 +1,5 @@
+#!/bin/sh
+
+mount -r /dev/mmcblk0p1 /mnt
+fw_printenv "$@"
+umount /mnt

+ 5 - 0
package/u-boot-git/files/uboot_set_env

@@ -0,0 +1,5 @@
+#!/bin/sh
+
+mount /dev/mmcblk0p1 /mnt
+fw_setenv "$@"
+umount /mnt

+ 5 - 2
scripts/install.sh

@@ -142,7 +142,7 @@ tgt=$2
 src=$3
 
 case $target {
-(raspberry-pi|raspberry-pi2|solidrun-imx6|default) ;;
+(banana-pro|raspberry-pi|raspberry-pi2|solidrun-imx6|default) ;;
 (*)
 	print -u2 "Unknown target '$target', exiting"
 	exit 1 ;;
@@ -499,6 +499,9 @@ dd if="$T/firsttrack" of="$tgt" > /dev/null 2>&1
 fwdir=$(dirname "$src")
 
 case $target {
+(banana-pro)
+	dd if="$fwdir/u-boot-sunxi-with-spl.bin" of="$tgt" bs=1024 seek=8 > /dev/null 2>&1
+	;;
 (solidrun-imx6)
 	dd if="$fwdir/SPL" of="$tgt" bs=1024 seek=1 > /dev/null 2>&1
 	dd if="$fwdir/u-boot.img" of="$tgt" bs=1024 seek=42 > /dev/null 2>&1
@@ -523,7 +526,7 @@ if (( datafssz )); then
 	(raspberry-pi|raspberry-pi2)
 		echo "/dev/mmcblk0p3	/data	ext4	rw	0	0" >> "$R"/etc/fstab 
 	;;
-	(solidrun-imx6)
+	(banana-pro|solidrun-imx6)
 		echo "/dev/mmcblk0p2	/data	ext4	rw	0	0" >> "$R"/etc/fstab
 	;;
 	}

+ 6 - 0
target/arm/Makefile

@@ -55,6 +55,12 @@ ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI2),y)
 	@echo "Use following command to install with a writable data partition"
 	@echo "sudo ./scripts/install.sh -d 256 raspberry-pi2 /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
 endif
+ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO),y)
+	@echo "Use following command to install it on SD card:"
+	@echo "sudo ./scripts/install.sh banana-pro /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+	@echo "Use following command to install with a writable data partition"
+	@echo "sudo ./scripts/install.sh -d 256 banana-pro /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
+endif
 ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y)
 ifeq ($(ADK_APPLIANCE_KODI),y)
 	@echo "Use following command to install with a writable data partition"

+ 7 - 0
target/arm/kernel/banana-pro

@@ -0,0 +1,7 @@
+CONFIG_ARM=y
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_SUN7I=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_SUNXI=y

+ 19 - 0
target/arm/systems/banana-pro

@@ -0,0 +1,19 @@
+config ADK_TARGET_SYSTEM_BANANA_PRO
+	bool "Banana Pro"
+	select ADK_CPU_CORTEX_A7
+	select ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_WITH_NEON
+	select ADK_TARGET_WITH_VGA
+	select ADK_TARGET_WITH_SERIAL
+	select ADK_TARGET_WITH_CPU_FREQ
+	select ADK_TARGET_WITH_USB
+	select ADK_TARGET_WITH_INPUT
+	select ADK_TARGET_WITH_SD
+	select ADK_TARGET_WITH_I2C
+	select ADK_TARGET_WITH_SPI
+	select ADK_TARGET_WITH_SMP
+	select ADK_TARGET_WITH_ROOT_RW
+	select ADK_TARGET_KERNEL_ZIMAGE
+	select ADK_PACKAGE_U_BOOT_GIT
+	help
+	  Banana Pro

+ 1 - 1
target/config/Config.in.kernel

@@ -74,4 +74,4 @@ config ADK_TARGET_KERNEL_MINICONFIG
 	default "atmel-ngw100" if ADK_TARGET_SYSTEM_ATMEL_NGW100
 	default "apple-macmini" if ADK_TARGET_SYSTEM_APPLE_MACMINI
 	default "sun-voyager" if ADK_TARGET_SYSTEM_SUN_VOYAGER
-
+	default "banana-pro" if ADK_TARGET_SYSTEM_BANANA_PRO