From 670448a002ddbc79cc370647b8d30b3b8e9025d6 Mon Sep 17 00:00:00 2001 From: Sandeep Sheriker Mallikarjun Date: Wed, 13 Sep 2017 11:51:23 -0700 Subject: [PATCH] at91bootstrap: New package at91bootstrap at91bootstrap is a second-level bootloader for Microchip(Atmel AT91) SoCs. It provides a set of algorithms to manage the hardware initialization and to download the main application or a third-level bootloader(i.e. uboot) from specified boot media to main memory and execute it. Signed-off-by: Sandeep Sheriker Mallikarjun --- package/boot/at91bootstrap/Makefile | 93 +++++++++++++++++++++ package/boot/at91bootstrap/at91bootstrap.mk | 80 ++++++++++++++++++ 2 files changed, 173 insertions(+) create mode 100644 package/boot/at91bootstrap/Makefile create mode 100644 package/boot/at91bootstrap/at91bootstrap.mk diff --git a/package/boot/at91bootstrap/Makefile b/package/boot/at91bootstrap/Makefile new file mode 100644 index 0000000000..ae60fad445 --- /dev/null +++ b/package/boot/at91bootstrap/Makefile @@ -0,0 +1,93 @@ +# +# Copyright (C) 2016 Microchip Technology Inc. +# +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=at91bootstrap +PKG_VERSION:=v3.8.8 +PKG_RELEASE:= + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/linux4sam/at91bootstrap.git +PKG_SOURCE_VERSION:=3d33a4e0707c61007a5278f6620453502f7500db + +PKG_BUILD_DIR = \ + $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) + +include at91bootstrap.mk +include $(INCLUDE_DIR)/package.mk + +define AT91Bootstrap/Default + BUILD_TARGET:=at91 + AT91BOOTSTRAP_IMAGE:=at91bootstrap.bin +endef + +define at91bootstrap/sama5d2_xplaineddf_uboot + TITLE:=AT91Bootstrap for the SAMA5D3 Xplained board (SPI Flash) + BUILD_SUBTARGET:=sama5 + BUILD_DEVICES:=at91-sama5d3_xplained +endef + +define at91bootstrap/sama5d2_xplaineddf_qspi_uboot + TITLE:=AT91Bootstrap for the SAMA5D2 Xplained board (QSPI Flash) + BUILD_SUBTARGET:=sama5 + BUILD_DEVICES:=at91-sama5d2_xplained +endef + +define at91bootstrap/sama5d2_xplainedsd_uboot + TITLE:=AT91Bootstrap for the SAMA5D2 Xplained board (SDcard/EMMC) + BUILD_SUBTARGET:=sama5 + BUILD_DEVICES:=at91-sama5d2_xplained +endef + +define at91bootstrap/sama5d3_xplainednf_uboot + TITLE:=AT91Bootstrap for the SAMA5D3 Xplained board (Nand Flash) + BUILD_SUBTARGET:=sama5 + BUILD_DEVICES:=at91-sama5d3_xplained +endef + +define at91bootstrap/sama5d3_xplainedsd_uboot + TITLE:=AT91Bootstrap for the SAMA5D3 Xplained board (SDcard) + BUILD_SUBTARGET:=sama5 + BUILD_DEVICES:=at91-sama5d3_xplained +endef + +define at91bootstrap/sama5d4_xplainednf_uboot + TITLE:=AT91Bootstrap for the SAMA5D4 Xplained board (Nand Flash) + BUILD_SUBTARGET:=sama5 + BUILD_DEVICES:=at91-sama5d4_xplained +endef + +define at91bootstrap/sama5d4_xplaineddf_uboot_secure + TITLE:=AT91Bootstrap for the SAMA5D4 Xplained board (SPI Flash) + BUILD_SUBTARGET:=sama5 + BUILD_DEVICES:=at91-sama5d4_xplained +endef + +define at91bootstrap/sama5d4_xplainedsd_uboot_secure + TITLE:=AT91Bootstrap for the SAMA5D4 Xplained board (SDcard) + BUILD_SUBTARGET:=sama5 + BUILD_DEVICES:=at91-sama5d4_xplained +endef + +AT91BOOTSTRAP_TARGETS := \ + sama5d2_xplaineddf_uboot \ + sama5d2_xplaineddf_qspi_uboot \ + sama5d2_xplainedsd_uboot \ + sama5d3_xplainednf_uboot \ + sama5d3_xplainedsd_uboot \ + sama5d4_xplainednf_uboot_secure \ + sama5d4_xplaineddf_uboot_secure \ + sama5d4_xplainedsd_uboot_secure + +define Build/Compile + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ + CROSS_COMPILE=$(TARGET_CROSS) +endef + +$(eval $(call BuildPackage/AT91Bootstrap)) diff --git a/package/boot/at91bootstrap/at91bootstrap.mk b/package/boot/at91bootstrap/at91bootstrap.mk new file mode 100644 index 0000000000..732d643aa6 --- /dev/null +++ b/package/boot/at91bootstrap/at91bootstrap.mk @@ -0,0 +1,80 @@ + +export GCC_HONOUR_COPTS=s + +define AT91Bootstrap/Init + BUILD_TARGET:= + BUILD_SUBTARGET:= + BUILD_DEVICES:= + NAME:= + DEPENDS:= + HIDDEN:= + DEFAULT:= + VARIANT:=$(1) + AT91BOOTSTRAP_CONFIG:=$(1) +endef + +TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET)) + +AT91BOOTSTRAP_MAKE_FLAGS = \ + HOSTCC="$(HOSTCC)" \ + HOSTCFLAGS='$(HOST_CFLAGS) $$$$(HOSTCPPFLAGS)' \ + HOSTLDFLAGS="" + +define Build/AT91Bootstrap/Target + $(eval $(call AT91Bootstrap/Init,$(1))) + $(eval $(call AT91Bootstrap/Default,$(1))) + $(eval $(call AT91Bootstrap/$(1),$(1))) + + define Package/at91bootstrap-$(1) + SECTION:=boot + CATEGORY:=Boot Loaders + TITLE:= .$(NAME) + VARIANT:=$(VARIANT) + DEPENDS:=@!IN_SDK $(DEPENDS) + HIDDEN:=$(HIDDEN) + ifneq ($(BUILD_TARGET),) + DEPENDS += @$(TARGET_DEP) + ifneq ($(BUILD_DEVICES),) + DEFAULT := y if ($(TARGET_DEP)_Default \ + $(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \ + $(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%, \ + $(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES))) + endif + endif + $(if $(DEFAULT),DEFAULT:=$(DEFAULT)) + URL:=https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap + endef + + define Package/at91bootstrap-$(1)/install + $(CP) $(PKG_BUILD_DIR)/binaries/*uboot*.bin \ + $(BIN_DIR)/at91bootstrap-$(1).bin + endef +endef + +define Build/Configure/AT91Bootstrap + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ + $(AT91BOOTSTRAP_CONFIG)_defconfig +endef + + +define Build/Compile/AT91Bootstrap + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + $(AT91BOOTSTRAP_MAKE_FLAGS) +endef + +define BuildPackage/AT91Bootstrap/Defaults + Build/Configure/Default = $$$$(Build/Configure/AT91Bootstrap) + Build/Compile/Default = $$$$(Build/Compile/AT91Bootstrap) +endef + +define BuildPackage/AT91Bootstrap + $(eval $(call BuildPackage/AT91Bootstrap/Defaults)) + $(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \ + $(eval $(call Build/AT91Bootstrap/Target,$(type))) + ) + $(eval $(call Build/DefaultTargets)) + $(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \ + $(call BuildPackage,at91bootstrap-$(type)) + ) +endef -- 2.25.1