summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/u-boot-git/Makefile78
-rw-r--r--package/u-boot-git/files/fw_env.config1
-rwxr-xr-xpackage/u-boot-git/files/uboot_print_env5
-rwxr-xr-xpackage/u-boot-git/files/uboot_set_env5
-rwxr-xr-xscripts/install.sh7
-rw-r--r--target/arm/Makefile6
-rw-r--r--target/arm/kernel/banana-pro7
-rw-r--r--target/arm/systems/banana-pro19
-rw-r--r--target/config/Config.in.kernel2
9 files changed, 127 insertions, 3 deletions
diff --git a/package/u-boot-git/Makefile b/package/u-boot-git/Makefile
new file mode 100644
index 000000000..d5f22ba97
--- /dev/null
+++ b/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
diff --git a/package/u-boot-git/files/fw_env.config b/package/u-boot-git/files/fw_env.config
new file mode 100644
index 000000000..5571d60e0
--- /dev/null
+++ b/package/u-boot-git/files/fw_env.config
@@ -0,0 +1 @@
+/mnt/uboot.env 0x0000 0x4000
diff --git a/package/u-boot-git/files/uboot_print_env b/package/u-boot-git/files/uboot_print_env
new file mode 100755
index 000000000..7231e1a47
--- /dev/null
+++ b/package/u-boot-git/files/uboot_print_env
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+mount -r /dev/mmcblk0p1 /mnt
+fw_printenv "$@"
+umount /mnt
diff --git a/package/u-boot-git/files/uboot_set_env b/package/u-boot-git/files/uboot_set_env
new file mode 100755
index 000000000..7b5a33ccc
--- /dev/null
+++ b/package/u-boot-git/files/uboot_set_env
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+mount /dev/mmcblk0p1 /mnt
+fw_setenv "$@"
+umount /mnt
diff --git a/scripts/install.sh b/scripts/install.sh
index 7df634213..6d27c4854 100755
--- a/scripts/install.sh
+++ b/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
;;
}
diff --git a/target/arm/Makefile b/target/arm/Makefile
index 93777af2c..6b2a8ee79 100644
--- a/target/arm/Makefile
+++ b/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"
diff --git a/target/arm/kernel/banana-pro b/target/arm/kernel/banana-pro
new file mode 100644
index 000000000..c06104359
--- /dev/null
+++ b/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
diff --git a/target/arm/systems/banana-pro b/target/arm/systems/banana-pro
new file mode 100644
index 000000000..d4e687a92
--- /dev/null
+++ b/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
diff --git a/target/config/Config.in.kernel b/target/config/Config.in.kernel
index 8e96264d0..0495a75ef 100644
--- a/target/config/Config.in.kernel
+++ b/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