procd: make mDNS TXT record parsing more solid
[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:=21.08
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-21.08
17 PKG_MIRROR_HASH:=893f2d28a77dcc9d4413a619b4719ca5f1f4dc78dd824a8488e7d543e66bcf95
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 HOSTCCFLAGS="$(HOST_CFLAGS)"
30 $(MAKE) -C \
31 $(HOST_BUILD_DIR)/tools/nxp \
32 CFLAGS="$(HOST_CFLAGS)"
33 endef
34
35 define Host/Install
36 $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/fiptool-layerscape
37 $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/nxp/create_pbl $(STAGING_DIR_HOST)/bin/tfa-create-pbl
38 $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/nxp/byte_swap $(STAGING_DIR_HOST)/bin/tfa-byte-swap
39 endef
40
41 define Package/tfa-generic
42 SECTION:=boot
43 CATEGORY:=Boot Loaders
44 DEPENDS:=@TARGET_layerscape_armv8_64b +layerscape-rcw +u-boot-fsl_$(subst tfa-,,$(1))
45 VARIANT:=$(subst tfa-,,$(1))
46 endef
47
48 define Package/tfa-ls1012a-frdm
49 $(Package/tfa-generic)
50 TITLE:=NXP LS1012AFRDM Trusted Firmware
51 PLAT:=ls1012afrdm
52 BOOT_MODE:=qspi
53 endef
54
55 define Package/tfa-ls1012a-rdb
56 $(Package/tfa-generic)
57 TITLE:=NXP LS1012ARDB Trusted Firmware
58 PLAT:=ls1012ardb
59 BOOT_MODE:=qspi
60 endef
61
62 define Package/tfa-ls1012a-frwy-sdboot
63 $(Package/tfa-generic)
64 TITLE:=NXP LS1012AFRWY Trusted Firmware
65 PLAT:=ls1012afrwy
66 BOOT_MODE:=qspi
67 endef
68
69 define Package/tfa-ls1043a-rdb
70 $(Package/tfa-generic)
71 TITLE:=NXP LS1043ARDB Trusted Firmware
72 PLAT:=ls1043ardb
73 BOOT_MODE:=nor
74 endef
75
76 define Package/tfa-ls1043a-rdb-sdboot
77 $(Package/tfa-generic)
78 TITLE:=NXP LS1043ARDB SD Boot Trusted Firmware
79 PLAT:=ls1043ardb
80 BOOT_MODE:=sd
81 endef
82
83 define Package/tfa-ls1046a-frwy
84 $(Package/tfa-generic)
85 TITLE:=NXP LS1046AFRWY Trusted Firmware
86 PLAT:=ls1046afrwy
87 BOOT_MODE:=qspi
88 endef
89
90 define Package/tfa-ls1046a-frwy-sdboot
91 $(Package/tfa-generic)
92 TITLE:=NXP LS1046AFRWY SD Boot Trusted Firmware
93 PLAT:=ls1046afrwy
94 BOOT_MODE:=sd
95 endef
96
97 define Package/tfa-ls1046a-rdb
98 $(Package/tfa-generic)
99 TITLE:=NXP LS1046ARDB Trusted Firmware
100 PLAT:=ls1046ardb
101 BOOT_MODE:=qspi
102 endef
103
104 define Package/tfa-ls1046a-rdb-sdboot
105 $(Package/tfa-generic)
106 TITLE:=NXP LS1046ARDB SD Boot Trusted Firmware
107 PLAT:=ls1046ardb
108 BOOT_MODE:=sd
109 endef
110
111 define Package/tfa-ls1088a-rdb
112 $(Package/tfa-generic)
113 TITLE:=NXP LS1088ARDB Trusted Firmware
114 PLAT:=ls1088ardb
115 BOOT_MODE:=qspi
116 endef
117
118 define Package/tfa-ls1088a-rdb-sdboot
119 $(Package/tfa-generic)
120 TITLE:=NXP LS1088ARDB SD Boot Trusted Firmware
121 PLAT:=ls1088ardb
122 BOOT_MODE:=sd
123 endef
124
125 define Package/tfa-ls2088a-rdb
126 $(Package/tfa-generic)
127 TITLE:=NXP LS2088ARDB Trusted Firmware
128 PLAT:=ls2088ardb
129 BOOT_MODE:=nor
130 endef
131
132 define Package/tfa-lx2160a-rdb
133 $(Package/tfa-generic)
134 TITLE:=NXP LX2160ARDB Trusted Firmware
135 PLAT:=lx2160ardb
136 BOOT_MODE:=flexspi_nor
137 endef
138
139 define Package/tfa-lx2160a-rdb-sdboot
140 $(Package/tfa-generic)
141 TITLE:=NXP LX2160ARDB SD Boot Trusted Firmware
142 PLAT:=lx2160ardb
143 BOOT_MODE:=sd
144 endef
145
146 define Build/InstallDev
147 $(INSTALL_DIR) $(STAGING_DIR_IMAGE)
148 $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2_$(BOOT_MODE).pbl \
149 $(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-bl2.pbl
150 $(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/fip.bin \
151 $(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-fip.bin
152 endef
153
154 define Build/Compile
155 $(eval $(Package/tfa-$(BUILD_VARIANT))) \
156 $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) \
157 fip pbl PLAT=$(PLAT) BOOT_MODE=$(BOOT_MODE) \
158 RCW=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-rcw.bin \
159 BL33=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-uboot.bin \
160 FIPTOOL=$(STAGING_DIR_HOST)/bin/fiptool-layerscape \
161 CREATE_PBL=$(STAGING_DIR_HOST)/bin/tfa-create-pbl \
162 BYTE_SWAP=$(STAGING_DIR_HOST)/bin/tfa-byte-swap
163 endef
164
165 TFAS := \
166 ls1012a-frdm \
167 ls1012a-rdb \
168 ls1012a-frwy-sdboot \
169 ls1043a-rdb \
170 ls1043a-rdb-sdboot \
171 ls1046a-frwy \
172 ls1046a-frwy-sdboot \
173 ls1046a-rdb \
174 ls1046a-rdb-sdboot \
175 ls1088a-rdb \
176 ls1088a-rdb-sdboot \
177 ls2088a-rdb \
178 lx2160a-rdb \
179 lx2160a-rdb-sdboot
180
181 $(eval $(call HostBuild))
182 $(foreach tfa,$(TFAS), \
183 $(eval $(call BuildPackage,tfa-$(tfa))) \
184 )