xref: /aosp_15_r20/external/coreboot/src/soc/qualcomm/ipq806x/Makefile.mk (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1## SPDX-License-Identifier: GPL-2.0-only
2
3ifeq ($(CONFIG_SOC_QC_IPQ806X),y)
4
5bootblock-y += clock.c
6bootblock-y += gpio.c
7bootblock-$(CONFIG_SPI_FLASH) += spi.c
8bootblock-y += timer.c
9bootblock-y += uart.c
10
11verstage-y += clock.c
12verstage-y += gpio.c
13verstage-y += gsbi.c
14verstage-y += i2c.c
15verstage-y += qup.c
16verstage-y += spi.c
17verstage-y += timer.c
18verstage-y += uart.c
19
20romstage-y += clock.c
21romstage-y += blobs_init.c
22romstage-y += gpio.c
23romstage-$(CONFIG_SPI_FLASH) += spi.c
24romstage-y += timer.c
25romstage-y += uart.c
26romstage-y += cbmem.c
27romstage-y += i2c.c
28romstage-y += gsbi.c
29romstage-y += qup.c
30
31ramstage-y += blobs_init.c
32ramstage-y += clock.c
33ramstage-y += gpio.c
34ramstage-y += lcc.c
35ramstage-y += soc.c
36ramstage-$(CONFIG_SPI_FLASH) += spi.c
37ramstage-y += timer.c
38ramstage-y += uart.c  # Want the UART always ready for the kernels' earlyprintk
39ramstage-y += usb.c
40ramstage-y += tz_wrapper.S
41ramstage-y += gsbi.c
42ramstage-y += i2c.c
43ramstage-y += qup.c
44ramstage-y += spi.c
45
46ifeq ($(CONFIG_USE_BLOBS),y)
47
48# Add MBN header to allow SBL3 to start coreboot bootblock
49$(objcbfs)/bootblock.mbn: $(objcbfs)/bootblock.raw.bin
50	@printf "    ADD MBN    $(subst $(obj)/,,$(@))\n"
51	./util/qualcomm/ipqheader.py $(call loadaddr,bootblock) $< $@.tmp
52	@mv $@.tmp $@
53
54# Create a complete bootblock which will start up the system
55$(objcbfs)/bootblock.bin: $(call strip_quotes,$(CONFIG_SBL_BLOB)) \
56			   $(objcbfs)/bootblock.mbn
57	@printf "    MBNCAT     $(subst $(obj)/,,$(@))\n"
58	@util/qualcomm/mbncat.py -o $@.tmp $^
59	@mv $@.tmp $@
60
61endif
62
63CPPFLAGS_common += -Isrc/soc/qualcomm/ipq806x/include
64
65# List of binary blobs coreboot needs in CBFS to be able to boot up this SOC
66mbn-files := cdt.mbn  ddr.mbn  rpm.mbn tz.mbn
67
68# Location of the binary blobs
69mbn-root := 3rdparty/blobs/cpu/qualcomm/ipq806x
70
71# Create make variables to aid cbfs-files-handler in processing the blobs (add
72# them all as raw binaries at the root level).
73$(foreach f,$(mbn-files),$(eval cbfs-files-y += $(f))\
74	  $(eval $(f)-file := $(mbn-root)/$(f))\
75	  $(eval $(f)-type := raw))
76
77endif
78