xref: /aosp_15_r20/external/coreboot/src/soc/ti/am335x/Makefile.mk (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1## SPDX-License-Identifier: GPL-2.0-only
2ifeq ($(CONFIG_SOC_TI_AM335X),y)
3bootblock-y	+= bootblock.c
4bootblock-y	+= timer.c
5bootblock-y	+= gpio.c
6bootblock-y	+= pinmux.c
7bootblock-y	+= mmc.c
8
9romstage-y	+= cbmem.c
10romstage-y	+= timer.c
11romstage-y	+= mmc.c
12romstage-y	+= sdram.c
13
14ramstage-y	+= timer.c
15ramstage-y	+= soc.c
16ramstage-y	+= mmc.c
17
18bootblock-y	+= uart.c
19romstage-y	+= uart.c
20ramstage-y	+= uart.c
21
22$(call add-class,omap-header)
23$(eval $(call create_class_compiler,omap-header,arm))
24
25omap-header-generic-ccopts += -D__COREBOOT_ARM_ARCH__=7
26
27real-target: $(obj)/MLO
28
29header_ld := $(call src-to-obj,omap-header,$(dir)/header.ld)
30
31get_header_size= \
32	$(shell echo $$(wc -c < $(objcbfs)/bootblock.bin))
33
34$(obj)/omap-header.bin: $$(omap-header-objs) $(objcbfs)/bootblock.bin
35	@printf "    CC         $(subst $(obj)/,,$(@))\n"
36	$(CC_omap-header) -nostdlib -nostartfiles -static -include $(obj)/config.h \
37		-Wl,--defsym,header_load_size=$(strip \
38			$(call get_header_size,$(obj)/coreboot.rom) \
39		) \
40		-o $@.tmp $< -T $(header_ld)
41	$(OBJCOPY_omap-header) --only-section=".header" -O binary $@.tmp $@
42
43$(obj)/MLO: $(obj)/coreboot.rom $(obj)/omap-header.bin
44	@printf "    HEADER     $(subst $(obj)/,,$(@))\n"
45	$(Q)cat $(obj)/omap-header.bin $(obj)/coreboot.rom > $@
46
47omap-header-y	+= header.c
48
49omap-header-srcs += $(CONFIG_MEMLAYOUT_LD_FILE)
50omap-header-y += header.ld
51endif
52