Initial commit
This commit is contained in:
142
package/boot/at91bootstrap/Makefile
Normal file
142
package/boot/at91bootstrap/Makefile
Normal file
@@ -0,0 +1,142 @@
|
||||
#
|
||||
# Copyright (C) 2016 Microchip Technology Inc.
|
||||
# <Sandeepsheriker.mallikarjun@microchip.com>
|
||||
#
|
||||
# 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.9.3
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/linux4sam/at91bootstrap.git
|
||||
PKG_MIRROR_HASH:=06753d673756edc9753932db00f4e5b8c1f9fa7708337c4d6ce280573efb86b4
|
||||
PKG_SOURCE_VERSION:=d96833a4b6680b237708eb4dc9f10708b9e709d8
|
||||
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
|
||||
HIDDEN:=1
|
||||
AT91BOOTSTRAP_IMAGE:=at91bootstrap.bin
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/at91sam9x5eknf_uboot
|
||||
NAME:=AT91Bootstrap for AT91SAM9X5-EK board (NandFlash)
|
||||
BUILD_SUBTARGET:=sam9x
|
||||
BUILD_DEVICES:=atmel_at91sam9x25ek atmel_at91sam9x35ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/at91sam9x5eksd_uboot
|
||||
NAME:=AT91Bootstrap for AT91SAM9X5-EK board (SDcard)
|
||||
BUILD_SUBTARGET:=sam9x
|
||||
BUILD_DEVICES:=atmel_at91sam9x25ek atmel_at91sam9x35ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_xplaineddf_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (SPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d2-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_xplaineddf_qspi_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (QSPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d2-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_xplainedsd_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (SDcard/EMMC)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d2-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d3_xplainednf_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D3 Xplained board (Nand Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d3-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d3_xplainedsd_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D3 Xplained board (SDcard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d3-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d4_xplainednf_uboot_secure
|
||||
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (Nand Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d4-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d4_xplaineddf_uboot_secure
|
||||
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (SPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d4-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d4_xplainedsd_uboot_secure
|
||||
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (SDcard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d4-xplained
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d27_som1_eksd_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (SDcard0)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d27_som1_eksd1_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (SDcard1)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d27_som1_ekqspi_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D27 SOM1 Ek (QSPI Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d27-som1-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_ptc_eknf_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 PTC EK (Nand Flash)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d2-ptc-ek
|
||||
endef
|
||||
|
||||
define AT91Bootstrap/sama5d2_ptc_eksd_uboot
|
||||
TITLE:=AT91Bootstrap for SAMA5D2 PTC EK (SDCard)
|
||||
BUILD_SUBTARGET:=sama5
|
||||
BUILD_DEVICES:=microchip_sama5d2-ptc-ek
|
||||
endef
|
||||
|
||||
AT91BOOTSTRAP_TARGETS := \
|
||||
at91sam9x5eknf_uboot \
|
||||
at91sam9x5eksd_uboot \
|
||||
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 \
|
||||
sama5d27_som1_eksd1_uboot \
|
||||
sama5d27_som1_ekqspi_uboot \
|
||||
sama5d2_ptc_eknf_uboot \
|
||||
sama5d2_ptc_eksd_uboot
|
||||
|
||||
define Build/Compile
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS)
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage/AT91Bootstrap))
|
||||
88
package/boot/at91bootstrap/at91bootstrap.mk
Normal file
88
package/boot/at91bootstrap/at91bootstrap.mk
Normal file
@@ -0,0 +1,88 @@
|
||||
|
||||
PKG_TARGETS := bin
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
export GCC_HONOUR_COPTS=s
|
||||
|
||||
define Package/at91bootstrap/install/default
|
||||
$(CP) -avL $(PKG_BUILD_DIR)/binaries/at91bootstrap.bin $(1)/
|
||||
endef
|
||||
|
||||
Package/at91bootstrap/install = $(Package/at91bootstrap/install/default)
|
||||
|
||||
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) $(HOST_CPPFLAGS)" \
|
||||
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
|
||||
$$(Package/at91bootstrap/install)
|
||||
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
|
||||
@@ -0,0 +1,38 @@
|
||||
From 59c8963d8e6a08222616d1b384e1009ba05e6b82 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Elledge <celledge@digitallumensinc.com>
|
||||
Date: Tue, 8 Jun 2021 14:01:14 -0400
|
||||
Subject: Makefile: Remove -nostartfiles from LDFLAGS
|
||||
|
||||
Binutils linker ld does not support the flag -nostartfiles.
|
||||
This is interpreted as "-n -o startfiles" which fortunately has no impact
|
||||
on the build process. Removing -nostartfiles has no impact on the build.
|
||||
|
||||
Binutils 2.36 and later ld has improved flag parsing and throws an error if
|
||||
-nostartfiles is passed as an argument. Removing the flag fixes the problem.
|
||||
|
||||
Details on the Binutils ML:
|
||||
https://sourceware.org/pipermail/binutils/2021-June/116826.html
|
||||
|
||||
In our ld command line there are explicit
|
||||
-n -o $(BINDIR)/$(BOOT_NAME).elf options,
|
||||
hence removing -nostartfiles will not alter the build.
|
||||
|
||||
Signed-off-by: Chris Elledge <celledge@digitallumensinc.com>
|
||||
Reviewed-by: Aubin Constans <aubin.constans@microchip.com>
|
||||
[eugen.hristev@microchip.com: ported to at91bootstrap4]
|
||||
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -275,7 +275,7 @@ endif
|
||||
# --cref: add cross reference to map file
|
||||
# -lc : tells the linker to tie in newlib
|
||||
# -lgcc : tells the linker to tie in newlib
|
||||
-LDFLAGS=-nostartfiles -Map=$(BINDIR)/$(BOOT_NAME).map --cref -static
|
||||
+LDFLAGS=-Map=$(BINDIR)/$(BOOT_NAME).map --cref -static
|
||||
LDFLAGS+=-T $(link_script) $(GC_SECTIONS) -Ttext $(LINK_ADDR)
|
||||
|
||||
ifneq ($(DATA_SECTION_ADDR),)
|
||||
Reference in New Issue
Block a user