From 9ccd1da444ff320abf069322b6063d7d041cdd20 Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Tue, 10 May 2016 22:52:00 +0000 Subject: 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@49367 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/boot/uboot-socfpga/Makefile | 97 ++++++++++++++++++++ ...ga-Drop-space-after-loadaddr-in-extra-env.patch | 101 +++++++++++++++++++++ ...fpga-Tweak-SoCkit-default-env-for-OpenWRT.patch | 65 +++++++++++++ 3 files changed, 263 insertions(+) create mode 100644 package/boot/uboot-socfpga/Makefile create mode 100644 package/boot/uboot-socfpga/patches/0001-arm-socfpga-Drop-space-after-loadaddr-in-extra-env.patch create mode 100644 package/boot/uboot-socfpga/patches/0002-arm-socfpga-Tweak-SoCkit-default-env-for-OpenWRT.patch (limited to 'package/boot') 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 +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 +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 +Cc: Dinh Nguyen +Cc: Chin Liang See +--- + 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 +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 +--- + 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 +-- +2.8.0.rc3 + -- cgit v1.2.3