You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/package/boot/tfa-layerscape/Makefile

152 lines
3.8 KiB
Makefile

#
# Copyright 2019 NXP
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=tfa-layerscape
PKG_VERSION:=LSDK-20.04
PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/atf
PKG_SOURCE_VERSION:=4a82c939a0211196e2b80a495f966383803753bb
PKG_MIRROR_HASH:=31c264551ce800b646d7dcc5baa62cfbb4c8fa3299a93931c7ef71dc3e88380d
PKG_BUILD_DEPENDS:=tfa-layerscape/host
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
HOST_CFLAGS += -Wall -Werror -pedantic -std=c99
define Host/Compile
$(MAKE) -C \
$(HOST_BUILD_DIR)/tools/fiptool \
CFLAGS="$(HOST_CFLAGS)" \
LDFLAGS="$(HOST_LDFLAGS)"
$(MAKE) -C \
$(HOST_BUILD_DIR)/plat/nxp/tools \
CFLAGS="$(HOST_CFLAGS)"
endef
define Host/Install
$(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/tfa-fiptool
$(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/create_pbl $(STAGING_DIR_HOST)/bin/tfa-create-pbl
$(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/byte_swap $(STAGING_DIR_HOST)/bin/tfa-byte-swap
endef
define Package/tfa-generic
SECTION:=boot
CATEGORY:=Boot Loaders
DEPENDS:=@TARGET_layerscape_armv8_64b +layerscape-rcw +u-boot-fsl_$(subst tfa-,,$(1))
VARIANT:=$(subst tfa-,,$(1))
endef
define Package/tfa-ls1012a-frdm
$(Package/tfa-generic)
layerscape: resurrect support for FRDM-LS1012A Re-add support for NXP FRDM-LS1012A, which mimics the flash layout of the rest boards supported by LSDK. 0x000000000000-0x000000100000 : "bl2" 0x000000100000-0x000000500000 : "fip" 0x000000500000-0x000000600000 : "u-boot-env" 0x000000600000-0x000000a00000 : "reserved-1" 0x000000a00000-0x000000d00000 : "pfe" 0x000000d00000-0x000000f00000 : "reserved-2" 0x000000f00000-0x000001000000 : "dtb" 0x000001000000-0x000002000000 : "kernel" 0x000002000000-0x000004000000 : "ubifs" Specification SoC: LS1012A single core 800MHz RAM: 512 MB DDR3 Flash: 64 MB QSPI NOR Ethernet: 2x 10/100/1000 Mbps Connectors: µUSB 3.0 OTG µUSB 2.0 (debugging & power input) 2x 3.5mm jack for microphone & headphone (SGTL5000) Arduino Shield expansion with I2C, SPI, UART, and GPIO JTAG LEDS: 3x (non-configurable) Buttons: 1x (reset, non-configurable) Be advised that erasing or writing 64MB flash takes some time to finish. Do not reset the board until all operations end with success, otherwise You'll need external tools to re-program the flash chip. Installation Follow the QSPI programing procedure for LS1012AFRWY board in target/linux/layerscape/README, point 3.3. Don't forget about updating U-Boot environment with MAC addresses of ethernet interfaces, variable 'ethaddr' for eth0 and 'eth1addr' for eth1. As the LSDK images do not support sysupgrade, nor do changes in this commit, it's planed in upcoming submissions. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
4 years ago
TITLE:=NXP LS1012AFRDM Trusted Firmware
PLAT:=ls1012afrdm
BOOT_MODE:=qspi
endef
define Package/tfa-ls1012a-rdb
$(Package/tfa-generic)
TITLE:=NXP LS1012ARDB Trusted Firmware
PLAT:=ls1012ardb
BOOT_MODE:=qspi
endef
define Package/tfa-ls1012a-frwy-sdboot
$(Package/tfa-generic)
TITLE:=NXP LS1012AFRWY Trusted Firmware
PLAT:=ls1012afrwy
BOOT_MODE:=qspi
endef
define Package/tfa-ls1043a-rdb
$(Package/tfa-generic)
TITLE:=NXP LS1043ARDB Trusted Firmware
PLAT:=ls1043ardb
BOOT_MODE:=nor
endef
define Package/tfa-ls1043a-rdb-sdboot
$(Package/tfa-generic)
TITLE:=NXP LS1043ARDB SD Boot Trusted Firmware
PLAT:=ls1043ardb
BOOT_MODE:=sd
endef
define Package/tfa-ls1046a-rdb
$(Package/tfa-generic)
TITLE:=NXP LS1046ARDB Trusted Firmware
PLAT:=ls1046ardb
BOOT_MODE:=qspi
endef
define Package/tfa-ls1046a-rdb-sdboot
$(Package/tfa-generic)
TITLE:=NXP LS1046ARDB SD Boot Trusted Firmware
PLAT:=ls1046ardb
BOOT_MODE:=sd
endef
define Package/tfa-ls1088a-rdb
$(Package/tfa-generic)
TITLE:=NXP LS1088ARDB Trusted Firmware
PLAT:=ls1088ardb
BOOT_MODE:=qspi
endef
define Package/tfa-ls1088a-rdb-sdboot
$(Package/tfa-generic)
TITLE:=NXP LS1088ARDB SD Boot Trusted Firmware
PLAT:=ls1088ardb
BOOT_MODE:=sd
endef
define Package/tfa-ls2088a-rdb
$(Package/tfa-generic)
TITLE:=NXP LS2088ARDB Trusted Firmware
PLAT:=ls2088ardb
BOOT_MODE:=nor
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2_$(BOOT_MODE).pbl \
$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-bl2.pbl
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/fip.bin \
$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-fip.bin
endef
define Build/Compile
$(eval $(Package/tfa-$(BUILD_VARIANT))) \
$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) \
fip pbl PLAT=$(PLAT) BOOT_MODE=$(BOOT_MODE) \
RCW=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-rcw.bin \
BL33=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-uboot.bin \
FIPTOOL=$(STAGING_DIR_HOST)/bin/tfa-fiptool \
CREATE_PBL=$(STAGING_DIR_HOST)/bin/tfa-create-pbl \
BYTE_SWAP=$(STAGING_DIR_HOST)/bin/tfa-byte-swap
endef
TFAS := \
ls1012a-frdm \
ls1012a-rdb \
ls1012a-frwy-sdboot \
ls1043a-rdb \
ls1043a-rdb-sdboot \
ls1046a-rdb \
ls1046a-rdb-sdboot \
ls1088a-rdb \
ls1088a-rdb-sdboot \
ls2088a-rdb
$(eval $(call HostBuild))
$(foreach tfa,$(TFAS), \
$(eval $(call BuildPackage,tfa-$(tfa))) \
)