diff options
-rw-r--r-- | package/u-boot-git/Makefile | 78 | ||||
-rw-r--r-- | package/u-boot-git/files/fw_env.config | 1 | ||||
-rwxr-xr-x | package/u-boot-git/files/uboot_print_env | 5 | ||||
-rwxr-xr-x | package/u-boot-git/files/uboot_set_env | 5 | ||||
-rwxr-xr-x | scripts/install.sh | 7 | ||||
-rw-r--r-- | target/arm/Makefile | 6 | ||||
-rw-r--r-- | target/arm/kernel/banana-pro | 7 | ||||
-rw-r--r-- | target/arm/systems/banana-pro | 19 | ||||
-rw-r--r-- | target/config/Config.in.kernel | 2 |
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 |