6f0e1758850b58a25b37db5e98d167e9de3c4d9b
[openwrt/openwrt.git] / package / boot / tfa-layerscape / Makefile
1 #
2 # Copyright 2019 NXP
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=tfa-layerscape
11 PKG_VERSION:=LSDK-20.12
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE_PROTO:=git
15 PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/atf
16 PKG_SOURCE_VERSION:=LSDK-20.12
17 PKG_MIRROR_HASH:=8e3a0bd33c00657beeb2df88a881b1831aeb790751cacd4c4fdf33ffa01e956e
18 PKG_BUILD_DEPENDS:=tfa-layerscape/host
19
20 include $(INCLUDE_DIR)/host-build.mk
21 include $(INCLUDE_DIR)/package.mk
22
23 HOST_CFLAGS += -Wall -Werror -pedantic -std=c99
24 define Host/Compile
25 $(MAKE) -C \
26 $(HOST_BUILD_DIR)/tools/fiptool \
27 CFLAGS="$(HOST_CFLAGS)" \
28 LDFLAGS="$(HOST_LDFLAGS)"
29 $(MAKE) -C \
30 $(HOST_BUILD_DIR)/plat/nxp/tools \
31 CFLAGS="$(HOST_CFLAGS)"
32 endef
33
34 define Host/Install
35 $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/fiptool-layerscape
36 $(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/create_pbl $(STAGING_DIR_HOST)/bin/tfa-create-pbl
37 $(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/byte_swap $(STAGING_DIR_HOST)/bin/tfa-byte-swap
38 endef
39
40 define Package/tfa-generic
41 SECTION:=boot
42 CATEGORY:=Boot Loaders
43 DEPENDS:=@TARGET_layerscape_armv8_64b +layerscape-rcw +u-boot-fsl_$(subst tfa-,,$(1))
44 VARIANT:=$(subst tfa-,,$(1))
45 endef
46
47 define Package/tfa-ls1012a-frdm
48 $(Package/tfa-generic)
49 TITLE:=NXP LS1012AFRDM Trusted Firmware
50 PLAT:=ls1012afrdm
51 BOOT_MODE:=qspi
52 endef
53
54 define Package/tfa-ls1012a-rdb
55 $(Package/tfa-generic)
56 TITLE:=NXP LS1012ARDB Trusted Firmware
57 PLAT:=ls1012ardb
58 BOOT_MODE:=qspi
59 endef
60
61 define Package/tfa-ls1012a-frwy-sdboot
62 $(Package/tfa-generic)
63 TITLE:=NXP LS1012AFRWY Trusted Firmware
64 PLAT:=ls1012afrwy
65 BOOT_MODE:=qspi
66 endef
67
68 define Package/tfa-ls1043a-rdb
69 $(Package/tfa-generic)
70 TITLE:=NXP LS1043ARDB Trusted Firmware
71 PLAT:=ls1043ardb
72 BOOT_MODE:=nor
73 endef
74
75 define Package/tfa-ls1043a-rdb-sdboot
76 $(Package/tfa-generic)
77 TITLE:=NXP LS1043ARDB SD Boot Trusted Firmware
78 PLAT:=ls1043ardb
79 BOOT_MODE:=sd
80 endef
81
82 define Package/tfa-ls1046a-frwy
83 $(Package/tfa-generic)
84 TITLE:=NXP LS1046AFRWY Trusted Firmware
85 PLAT:=ls1046afrwy
86 BOOT_MODE:=qspi
87 endef
88
89 define Package/tfa-ls1046a-frwy-sdboot
90 $(Package/tfa-generic)
91 TITLE:=NXP LS1046AFRWY SD Boot Trusted Firmware
92 PLAT:=ls1046afrwy
93 BOOT_MODE:=sd
94 endef
95
96 define Package/tfa-ls1046a-rdb
97 $(Package/tfa-generic)
98 TITLE:=NXP LS1046ARDB Trusted Firmware
99 PLAT:=ls1046ardb
100 BOOT_MODE:=qspi
101 endef
102
103 define Package/tfa-ls1046a-rdb-sdboot
104 $(Package/tfa-generic)
105 TITLE:=NXP LS1046ARDB SD Boot Trusted Firmware
106 PLAT:=ls1046ardb
107 BOOT_MODE:=sd
108 endef
109
110 define Package/tfa-ls1088a-rdb
111 $(Package/tfa-generic)
112 TITLE:=NXP LS1088ARDB Trusted Firmware
113 PLAT:=ls1088ardb
114 BOOT_MODE:=qspi
115 endef
116
117 define Package/tfa-ls1088a-rdb-sdboot
118 $(Package/tfa-generic)
119 TITLE:=NXP LS1088ARDB SD Boot Trusted Firmware
120 PLAT:=ls1088ardb
121 BOOT_MODE:=sd
122 endef
123
124 define Package/tfa-ls2088a-rdb
125 $(Package/tfa-generic)
126 TITLE:=NXP LS2088ARDB Trusted Firmware
127 PLAT:=ls2088ardb
128 BOOT_MODE:=nor
129 endef
130
131 define Package/tfa-lx2160a-rdb
132 $(Package/tfa-generic)
133 TITLE:=NXP LX2160ARDB Trusted Firmware
134 PLAT:=lx2160ardb
135 BOOT_MODE:=flexspi_nor
136 endef
137
138 define Package/tfa-lx2160a-rdb-sdboot
139 $(Package/tfa-generic)
140 TITLE:=NXP LX2160ARDB SD Boot Trusted Firmware
141 PLAT:=lx2160ardb
142 BOOT_MODE:=sd
143 endef
144
145 define Build/InstallDev
146 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
147 $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2_$(BOOT_MODE).pbl \
148 $(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-bl2.pbl
149 $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/fip.bin \
150 $(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-fip.bin
151 endef
152
153 define Build/Compile
154 $(eval $(Package/tfa-$(BUILD_VARIANT))) \
155 $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) \
156 fip pbl PLAT=$(PLAT) BOOT_MODE=$(BOOT_MODE) \
157 RCW=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-rcw.bin \
158 BL33=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-uboot.bin \
159 FIPTOOL=$(STAGING_DIR_HOST)/bin/fiptool-layerscape \
160 CREATE_PBL=$(STAGING_DIR_HOST)/bin/tfa-create-pbl \
161 BYTE_SWAP=$(STAGING_DIR_HOST)/bin/tfa-byte-swap
162 endef
163
164 TFAS := \
165 ls1012a-frdm \
166 ls1012a-rdb \
167 ls1012a-frwy-sdboot \
168 ls1043a-rdb \
169 ls1043a-rdb-sdboot \
170 ls1046a-frwy \
171 ls1046a-frwy-sdboot \
172 ls1046a-rdb \
173 ls1046a-rdb-sdboot \
174 ls1088a-rdb \
175 ls1088a-rdb-sdboot \
176 ls2088a-rdb \
177 lx2160a-rdb \
178 lx2160a-rdb-sdboot
179
180 $(eval $(call HostBuild))
181 $(foreach tfa,$(TFAS), \
182 $(eval $(call BuildPackage,tfa-$(tfa))) \
183 )