aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot
diff options
context:
space:
mode:
authorLuka Perkov <luka@openwrt.org>2016-05-10 22:52:00 +0000
committerLuka Perkov <luka@openwrt.org>2016-06-19 19:35:42 +0200
commit9ccd1da444ff320abf069322b6063d7d041cdd20 (patch)
tree6e4bf314ba8e2ae7ffd68f166a46977aad676ec8 /package/boot
parentc3d9ae93fd2cfb51ae3e843487edad81545afca4 (diff)
downloadmaster-187ad058-9ccd1da444ff320abf069322b6063d7d041cdd20.tar.gz
master-187ad058-9ccd1da444ff320abf069322b6063d7d041cdd20.tar.bz2
master-187ad058-9ccd1da444ff320abf069322b6063d7d041cdd20.zip
target: socfpga: Add Altera SoCFPGA support
This patch adds support for the Altera SoCFPGA target. Both generic target and Terasic SoCkit boards are supported. Signed-off-by: Marek Vasut <marex@denx.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@49367 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/boot')
-rw-r--r--package/boot/uboot-socfpga/Makefile97
-rw-r--r--package/boot/uboot-socfpga/patches/0001-arm-socfpga-Drop-space-after-loadaddr-in-extra-env.patch101
-rw-r--r--package/boot/uboot-socfpga/patches/0002-arm-socfpga-Tweak-SoCkit-default-env-for-OpenWRT.patch65
3 files changed, 263 insertions, 0 deletions
diff --git a/package/boot/uboot-socfpga/Makefile b/package/boot/uboot-socfpga/Makefile
new file mode 100644
index 0000000000..42fcb43af6
--- /dev/null
+++ b/package/boot/uboot-socfpga/Makefile
@@ -0,0 +1,97 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=u-boot
+PKG_VERSION:=2016.03
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:= \
+ http://mirror2.openwrt.org/sources \
+ ftp://ftp.denx.de/pub/u-boot
+PKG_MD5SUM:=973c1d896be751321cc3aafa564f64b2
+
+PKG_LICENSE:=GPL-2.0 GPL-2.0+
+PKG_LICENSE_FILES:=Licenses/README
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define uboot/Default
+ TITLE:=
+ CONFIG:=
+ IMAGE:=
+endef
+
+define uboot/socfpga_cyclone5_sockit
+ TITLE := U-Boot for Terasic SoCkit board
+ CONFIG := socfpga_sockit
+ IMAGE := u-boot-with-spl.sfp
+endef
+
+UBOOTS := \
+ socfpga_cyclone5_sockit
+
+define Package/uboot/template
+define Package/uboot-socfpga-$(1)
+ SECTION:=boot
+ CATEGORY:=Boot Loaders
+ DEPENDS:=@TARGET_socfpga
+ TITLE:=$(2)
+ URL:=http://www.denx.de/wiki/U-Boot
+ VARIANT:=$(1)
+ MAINTAINER:=Marek Vasut <marex@denx.de>
+endef
+endef
+
+define BuildUBootPackage
+ $(eval $(uboot/Default))
+ $(eval $(uboot/$(1)))
+ $(call Package/uboot/template,$(1),$(TITLE))
+endef
+
+ifdef BUILD_VARIANT
+$(eval $(call uboot/$(BUILD_VARIANT)))
+UBOOT_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT))
+UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_VARIANT)-u-boot.bin)
+endif
+
+define Build/Configure
+ +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(UBOOT_CONFIG)_config
+endef
+
+define Build/Compile
+ +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) $(IMAGE)
+endef
+
+define Package/uboot/install/default
+ $(INSTALL_DIR) $(BIN_DIR)/uboot-$(BOARD)-$(1)
+ $(CP) $(PKG_BUILD_DIR)/u-boot.bin \
+ $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.bin
+ $(CP) $(PKG_BUILD_DIR)/spl/u-boot-spl.bin \
+ $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot-spl.bin
+ $(CP) $(PKG_BUILD_DIR)/u-boot-with-spl.sfp \
+ $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot-with-spl.sfp
+endef
+
+define Package/uboot/install/template
+define Package/uboot-socfpga-$(1)/install
+ $(call Package/uboot/install/default,$(2))
+endef
+endef
+
+$(foreach u,$(UBOOTS), \
+ $(eval $(call Package/uboot/install/template,$(u),$(u))) \
+)
+
+$(foreach u,$(UBOOTS), \
+ $(eval $(call BuildUBootPackage,$(u))) \
+ $(eval $(call BuildPackage,uboot-socfpga-$(u))) \
+)
diff --git a/package/boot/uboot-socfpga/patches/0001-arm-socfpga-Drop-space-after-loadaddr-in-extra-env.patch b/package/boot/uboot-socfpga/patches/0001-arm-socfpga-Drop-space-after-loadaddr-in-extra-env.patch
new file mode 100644
index 0000000000..261afef827
--- /dev/null
+++ b/package/boot/uboot-socfpga/patches/0001-arm-socfpga-Drop-space-after-loadaddr-in-extra-env.patch
@@ -0,0 +1,101 @@
+From 04a4c90fee75c95130af1e40880c0927d56b0b61 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Sun, 3 Apr 2016 19:11:12 +0200
+Subject: [PATCH 1/2] arm: socfpga: Drop space after 'loadaddr=' in extra env
+
+There is an incorrect space after loadaddr= in the extra environment,
+so drop it.
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
+Cc: Chin Liang See <clsee@altera.com>
+---
+ include/configs/socfpga_arria5_socdk.h | 2 +-
+ include/configs/socfpga_cyclone5_socdk.h | 2 +-
+ include/configs/socfpga_de0_nano_soc.h | 2 +-
+ include/configs/socfpga_sockit.h | 2 +-
+ include/configs/socfpga_socrates.h | 2 +-
+ include/configs/socfpga_sr1500.h | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/include/configs/socfpga_arria5_socdk.h b/include/configs/socfpga_arria5_socdk.h
+index a0161bc..153f9f8 100644
+--- a/include/configs/socfpga_arria5_socdk.h
++++ b/include/configs/socfpga_arria5_socdk.h
+@@ -56,7 +56,7 @@
+ /* Extra Environment */
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+ "verify=n\0" \
+- "loadaddr= " __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
++ "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+ "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
+ "bootm ${loadaddr} - ${fdt_addr}\0" \
+ "bootimage=zImage\0" \
+diff --git a/include/configs/socfpga_cyclone5_socdk.h b/include/configs/socfpga_cyclone5_socdk.h
+index c4c4ecb..d7c339e 100644
+--- a/include/configs/socfpga_cyclone5_socdk.h
++++ b/include/configs/socfpga_cyclone5_socdk.h
+@@ -56,7 +56,7 @@
+ /* Extra Environment */
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+ "verify=n\0" \
+- "loadaddr= " __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
++ "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+ "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
+ "bootm ${loadaddr} - ${fdt_addr}\0" \
+ "bootimage=zImage\0" \
+diff --git a/include/configs/socfpga_de0_nano_soc.h b/include/configs/socfpga_de0_nano_soc.h
+index cbc7396..314b9bf 100644
+--- a/include/configs/socfpga_de0_nano_soc.h
++++ b/include/configs/socfpga_de0_nano_soc.h
+@@ -51,7 +51,7 @@
+
+ /* Extra Environment */
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "loadaddr= " __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
++ "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+ "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
+ "bootm ${loadaddr} - ${fdt_addr}\0" \
+ "bootimage=zImage\0" \
+diff --git a/include/configs/socfpga_sockit.h b/include/configs/socfpga_sockit.h
+index 95e7ba6..07cfcbf 100644
+--- a/include/configs/socfpga_sockit.h
++++ b/include/configs/socfpga_sockit.h
+@@ -52,7 +52,7 @@
+ /* Extra Environment */
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+ "verify=n\0" \
+- "loadaddr= " __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
++ "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+ "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
+ "bootm ${loadaddr} - ${fdt_addr}\0" \
+ "bootimage=zImage\0" \
+diff --git a/include/configs/socfpga_socrates.h b/include/configs/socfpga_socrates.h
+index c32a40a..02ea0c5 100644
+--- a/include/configs/socfpga_socrates.h
++++ b/include/configs/socfpga_socrates.h
+@@ -52,7 +52,7 @@
+ /* Extra Environment */
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+ "verify=n\0" \
+- "loadaddr= " __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
++ "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+ "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
+ "bootm ${loadaddr} - ${fdt_addr}\0" \
+ "bootimage=zImage\0" \
+diff --git a/include/configs/socfpga_sr1500.h b/include/configs/socfpga_sr1500.h
+index 6414eeb..e43b5cf 100644
+--- a/include/configs/socfpga_sr1500.h
++++ b/include/configs/socfpga_sr1500.h
+@@ -55,7 +55,7 @@
+
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+ "verify=n\0" \
+- "loadaddr= " __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
++ "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+ "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
+ "bootm ${loadaddr} - ${fdt_addr}\0" \
+ "bootimage=zImage\0" \
+--
+2.8.0.rc3
+
diff --git a/package/boot/uboot-socfpga/patches/0002-arm-socfpga-Tweak-SoCkit-default-env-for-OpenWRT.patch b/package/boot/uboot-socfpga/patches/0002-arm-socfpga-Tweak-SoCkit-default-env-for-OpenWRT.patch
new file mode 100644
index 0000000000..64ffea25b6
--- /dev/null
+++ b/package/boot/uboot-socfpga/patches/0002-arm-socfpga-Tweak-SoCkit-default-env-for-OpenWRT.patch
@@ -0,0 +1,65 @@
+From 3a0e4875b00e9e487b0081116a81ed17cfd5143f Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Sun, 3 Apr 2016 19:27:23 +0200
+Subject: [PATCH 2/2] arm: socfpga: Tweak SoCkit default env for OpenWRT
+
+Tweak the default environment on SoCFPGA SoCkit to match OpenWRT.
+This means switching to fitImage, which is already available, but
+not used by the environment and weeding out completely dysfunctional
+pieces of the environment.
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ include/configs/socfpga_sockit.h | 20 ++++++--------------
+ 1 file changed, 6 insertions(+), 14 deletions(-)
+
+diff --git a/include/configs/socfpga_sockit.h b/include/configs/socfpga_sockit.h
+index 07cfcbf..5a90105 100644
+--- a/include/configs/socfpga_sockit.h
++++ b/include/configs/socfpga_sockit.h
+@@ -35,7 +35,7 @@
+
+ /* Booting Linux */
+ #define CONFIG_BOOTDELAY 3
+-#define CONFIG_BOOTFILE "fitImage"
++#define CONFIG_BOOTFILE "openwrt-socfpga-socfpga_cyclone5_sockit-fit-uImage.itb"
+ #define CONFIG_BOOTARGS "console=ttyS0," __stringify(CONFIG_BAUDRATE)
+ #define CONFIG_BOOTCOMMAND "run mmcload; run mmcboot"
+ #define CONFIG_LOADADDR 0x01000000
+@@ -51,28 +51,20 @@
+
+ /* Extra Environment */
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "verify=n\0" \
+ "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+ "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
+- "bootm ${loadaddr} - ${fdt_addr}\0" \
+- "bootimage=zImage\0" \
+- "fdt_addr=100\0" \
+- "fdtimage=socfpga.dtb\0" \
+- "bootm ${loadaddr} - ${fdt_addr}\0" \
++ "bootm ${loadaddr}\0" \
+ "mmcroot=/dev/mmcblk0p2\0" \
+ "mmcboot=setenv bootargs " CONFIG_BOOTARGS \
+ " root=${mmcroot} rw rootwait;" \
+- "bootz ${loadaddr} - ${fdt_addr}\0" \
+- "mmcload=mmc rescan;" \
+- "load mmc 0:1 ${loadaddr} ${bootimage};" \
+- "load mmc 0:1 ${fdt_addr} ${fdtimage}\0" \
++ "bootm ${loadaddr}\0" \
++ "mmcload=mmc rescan && load mmc 0:2 ${loadaddr} /boot/${bootfile}\0" \
+ "qspiload=sf probe && mtdparts default && run ubiload\0" \
+ "qspiboot=setenv bootargs " CONFIG_BOOTARGS \
+ " ubi.mtd=1,64 root=ubi0:rootfs rw rootfstype=ubifs;"\
+- "bootz ${loadaddr} - ${fdt_addr}\0" \
++ "bootz ${loadaddr}\0" \
+ "ubiload=ubi part UBI && ubifsmount ubi0 && " \
+- "ubifsload ${loadaddr} /boot/${bootimage} && " \
+- "ubifsload ${fdt_addr} /boot/${fdtimage}\0"
++ "ubifsload ${loadaddr} /boot/${bootfile}\0"
+
+ /* The rest of the configuration is shared */
+ #include <configs/socfpga_common.h>
+--
+2.8.0.rc3
+