blob: 0ab95d40debf9217f14aff2de5777e995792d1f1 [file] [log] [blame]
Furquan Shaikh732b83e2014-06-09 13:20:04 -07001bootblock-y += bootblock.c
2bootblock-y += bootblock_asm.S
Furquan Shaikh4208e0c2014-04-28 16:43:07 -07003bootblock-y += cbfs.c
4bootblock-y += timer.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -07005bootblock-y += clock.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -07006bootblock-y += spi.c
7bootblock-y += i2c.c
8bootblock-y += dma.c
9bootblock-y += monotonic_timer.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070010bootblock-y += ../tegra/gpio.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070011bootblock-y += ../tegra/i2c.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070012bootblock-y += ../tegra/pingroup.c
13bootblock-y += ../tegra/pinmux.c
14bootblock-y += ../tegra/apbmisc.c
15ifeq ($(CONFIG_BOOTBLOCK_CONSOLE),y)
16bootblock-$(CONFIG_DRIVERS_UART) += uart.c
17endif
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070018
Furquan Shaikhe5d014c2014-07-07 11:45:15 -070019romstage-y += romstage_asm.S
Aaron Durbineeacf742014-07-10 15:05:13 -050020romstage-y += addressmap.c
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070021romstage-y += cbfs.c
22romstage-y += cbmem.c
23romstage-y += timer.c
Aaron Durbin3aca2cd2014-06-30 16:37:13 -050024romstage-y += ccplex.c
Furquan Shaikh29c1afc2014-06-24 15:24:22 -070025romstage-y += clock.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070026romstage-y += spi.c
27romstage-y += i2c.c
28romstage-y += dma.c
29romstage-y += monotonic_timer.c
Aaron Durbin1ac4e592014-06-27 16:43:59 -050030romstage-y += romstage.c
Aaron Durbin5626d8f2014-07-10 12:50:27 -050031romstage-y += power.c
Furquan Shaikh650d11c2014-06-26 14:24:42 -070032romstage-y += sdram.c
33romstage-y += sdram_lp0.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070034romstage-y += ../tegra/gpio.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070035romstage-y += ../tegra/i2c.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070036romstage-y += ../tegra/pinmux.c
37romstage-$(CONFIG_DRIVERS_UART) += uart.c
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070038
Aaron Durbineeacf742014-07-10 15:05:13 -050039ramstage-y += addressmap.c
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070040ramstage-y += cbfs.c
41ramstage-y += cbmem.c
42ramstage-y += timer.c
Furquan Shaikh29c1afc2014-06-24 15:24:22 -070043ramstage-y += clock.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070044ramstage-y += spi.c
45ramstage-y += i2c.c
46ramstage-y += dma.c
47ramstage-y += monotonic_timer.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070048ramstage-y += ../tegra/gpio.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070049ramstage-y += ../tegra/i2c.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070050ramstage-y += ../tegra/pinmux.c
Aaron Durbinbc3019c2014-07-15 10:53:29 -050051ramstage-y += ramstage.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070052ramstage-$(CONFIG_DRIVERS_UART) += uart.c
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070053
54CPPFLAGS_common += -Isrc/soc/nvidia/tegra132/include/
Aaron Durbindf324f52014-06-20 14:58:05 -050055CBOOTIMAGE_OPTS = --soc tegra132
Furquan Shaikhf0990da2014-06-09 13:26:38 -070056
57# We want to grab the bootblock right before it goes into the image and wrap
58# it inside a BCT, but ideally we would do that without making special, one
59# use modifications to the main ARM Makefile. We do this in two ways. First,
60# we copy bootblock.elf to bootblock.raw.elf and allow the %.bin: %.elf
61# template rule to turn it into bootblock.raw.bin. This makes sure whatever
62# processing is supposed to happen to turn an .elf into a .bin happens.
63#
64# Second, we add our own rule for creating bootblock.bin from
65# bootblock.raw.bin which displaces the template rule. When other rules that
66# package up the image pull in bootblock.bin, it will be this wrapped version
67# instead of the raw bootblock.
68
69$(objcbfs)/bootblock.raw.elf: $(objcbfs)/bootblock.elf
70 cp $< $@
71
Patrick Georgid6e40a52015-02-17 11:11:12 +010072$(obj)/generated/bct.bin: $(obj)/generated/bct.cfg $(CBOOTIMAGE)
Furquan Shaikhf0990da2014-06-09 13:26:38 -070073 @printf " CBOOTIMAGE $(subst $(obj)/,,$(@))\n"
Aaron Durbindf324f52014-06-20 14:58:05 -050074 $(CBOOTIMAGE) -gbct $(CBOOTIMAGE_OPTS) $< $@
Furquan Shaikhf0990da2014-06-09 13:26:38 -070075
76BCT_BIN = $(obj)/generated/bct.bin
77BCT_WRAPPER = $(obj)/generated/bct.wrapper
Aaron Durbinc13fc152014-07-14 19:13:07 -050078MTS_DIR = $(CONFIG_MTS_DIRECTORY)
79PREBOOT_MTS_FILE = $(MTS_DIR)/preboot_cr.bin
Patrick Georgid6e40a52015-02-17 11:11:12 +010080$(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin $(BCT_BIN) $(CBOOTIMAGE)
Furquan Shaikhf0990da2014-06-09 13:26:38 -070081 echo "Version = 1;" > $(BCT_WRAPPER)
82 echo "Redundancy = 1;" >> $(BCT_WRAPPER)
Aaron Durbindf324f52014-06-20 14:58:05 -050083 echo "Bctcopy = 1;" >> $(BCT_WRAPPER)
Furquan Shaikhf0990da2014-06-09 13:26:38 -070084 echo "Bctfile = $(BCT_BIN);" >> $(BCT_WRAPPER)
Aaron Durbindf324f52014-06-20 14:58:05 -050085 echo "MtsPreboot = $(PREBOOT_MTS_FILE),0x4000f000,0x4000f000,Complete;" >> $(BCT_WRAPPER)
Furquan Shaikhf0990da2014-06-09 13:26:38 -070086 echo "BootLoader = $<,$(CONFIG_BOOTBLOCK_BASE),$(CONFIG_BOOTBLOCK_BASE),Complete;" >> $(BCT_WRAPPER)
87 @printf " CBOOTIMAGE $(subst $(obj)/,,$(@))\n"
Aaron Durbindf324f52014-06-20 14:58:05 -050088 $(CBOOTIMAGE) $(CBOOTIMAGE_OPTS) $(BCT_WRAPPER) $@
Aaron Durbinc13fc152014-07-14 19:13:07 -050089
90# MTS microcode
91MTS_FILE = $(MTS_DIR)/mts_cr.bin
92MTS_FILE_CBFS = mts
93cbfs-files-y += $(MTS_FILE_CBFS)
94$(MTS_FILE_CBFS)-file := $(MTS_FILE)
95$(MTS_FILE_CBFS)-type := 0x50