blob: 617376d5984afbfd5bb14a06a96e711e99052a96 [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
Aaron Durbin401b3b62014-07-31 14:54:12 -050010bootblock-y += padconfig.c
Aaron Durbin44e5e4c2014-08-05 13:30:38 -050011bootblock-y += reset.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070012bootblock-y += ../tegra/gpio.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070013bootblock-y += ../tegra/i2c.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070014bootblock-y += ../tegra/pingroup.c
15bootblock-y += ../tegra/pinmux.c
16bootblock-y += ../tegra/apbmisc.c
17ifeq ($(CONFIG_BOOTBLOCK_CONSOLE),y)
18bootblock-$(CONFIG_DRIVERS_UART) += uart.c
19endif
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070020
Furquan Shaikhe5d014c2014-07-07 11:45:15 -070021romstage-y += romstage_asm.S
Aaron Durbineeacf742014-07-10 15:05:13 -050022romstage-y += addressmap.c
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070023romstage-y += cbfs.c
24romstage-y += cbmem.c
25romstage-y += timer.c
Aaron Durbin3aca2cd2014-06-30 16:37:13 -050026romstage-y += ccplex.c
Furquan Shaikh29c1afc2014-06-24 15:24:22 -070027romstage-y += clock.c
Aaron Durbin44e5e4c2014-08-05 13:30:38 -050028romstage-y += reset.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070029romstage-y += spi.c
30romstage-y += i2c.c
31romstage-y += dma.c
32romstage-y += monotonic_timer.c
Aaron Durbin401b3b62014-07-31 14:54:12 -050033romstage-y += padconfig.c
Aaron Durbin1ac4e592014-06-27 16:43:59 -050034romstage-y += romstage.c
Aaron Durbin5626d8f2014-07-10 12:50:27 -050035romstage-y += power.c
Furquan Shaikh650d11c2014-06-26 14:24:42 -070036romstage-y += sdram.c
37romstage-y += sdram_lp0.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070038romstage-y += ../tegra/gpio.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070039romstage-y += ../tegra/i2c.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070040romstage-y += ../tegra/pinmux.c
41romstage-$(CONFIG_DRIVERS_UART) += uart.c
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070042
Aaron Durbineeacf742014-07-10 15:05:13 -050043ramstage-y += addressmap.c
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070044ramstage-y += cbfs.c
45ramstage-y += cbmem.c
46ramstage-y += timer.c
Furquan Shaikh29c1afc2014-06-24 15:24:22 -070047ramstage-y += clock.c
Tom Warren25258852014-07-15 10:34:19 -070048ramstage-y += soc.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070049ramstage-y += spi.c
50ramstage-y += i2c.c
51ramstage-y += dma.c
52ramstage-y += monotonic_timer.c
Aaron Durbin401b3b62014-07-31 14:54:12 -050053ramstage-y += padconfig.c
Aaron Durbin44e5e4c2014-08-05 13:30:38 -050054ramstage-y += reset.c
Aaron Durbinbf534182014-08-04 11:40:45 -050055ramstage-y += ../tegra/apbmisc.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070056ramstage-y += ../tegra/gpio.c
Furquan Shaikh84bbab92014-06-24 17:38:03 -070057ramstage-y += ../tegra/i2c.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070058ramstage-y += ../tegra/pinmux.c
Aaron Durbinbc3019c2014-07-15 10:53:29 -050059ramstage-y += ramstage.c
Furquan Shaikhda9b9f32014-07-17 11:42:35 -070060ramstage-y += mmu_operations.c
Furquan Shaikh732b83e2014-06-09 13:20:04 -070061ramstage-$(CONFIG_DRIVERS_UART) += uart.c
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070062
Furquan Shaikh6ad6e3d2014-07-23 14:32:05 -070063modules_arm-y += monotonic_timer.c
64VBOOT_STUB_DEPS += $(obj)/soc/nvidia/tegra132/monotonic_timer.rmodules_arm.o
65
Furquan Shaikh4208e0c2014-04-28 16:43:07 -070066CPPFLAGS_common += -Isrc/soc/nvidia/tegra132/include/
Aaron Durbindf324f52014-06-20 14:58:05 -050067CBOOTIMAGE_OPTS = --soc tegra132
Furquan Shaikhf0990da2014-06-09 13:26:38 -070068
69# We want to grab the bootblock right before it goes into the image and wrap
70# it inside a BCT, but ideally we would do that without making special, one
71# use modifications to the main ARM Makefile. We do this in two ways. First,
72# we copy bootblock.elf to bootblock.raw.elf and allow the %.bin: %.elf
73# template rule to turn it into bootblock.raw.bin. This makes sure whatever
74# processing is supposed to happen to turn an .elf into a .bin happens.
75#
76# Second, we add our own rule for creating bootblock.bin from
77# bootblock.raw.bin which displaces the template rule. When other rules that
78# package up the image pull in bootblock.bin, it will be this wrapped version
79# instead of the raw bootblock.
80
81$(objcbfs)/bootblock.raw.elf: $(objcbfs)/bootblock.elf
82 cp $< $@
83
Patrick Georgid6e40a52015-02-17 11:11:12 +010084$(obj)/generated/bct.bin: $(obj)/generated/bct.cfg $(CBOOTIMAGE)
Furquan Shaikhf0990da2014-06-09 13:26:38 -070085 @printf " CBOOTIMAGE $(subst $(obj)/,,$(@))\n"
Aaron Durbindf324f52014-06-20 14:58:05 -050086 $(CBOOTIMAGE) -gbct $(CBOOTIMAGE_OPTS) $< $@
Furquan Shaikhf0990da2014-06-09 13:26:38 -070087
88BCT_BIN = $(obj)/generated/bct.bin
89BCT_WRAPPER = $(obj)/generated/bct.wrapper
Aaron Durbinc13fc152014-07-14 19:13:07 -050090MTS_DIR = $(CONFIG_MTS_DIRECTORY)
91PREBOOT_MTS_FILE = $(MTS_DIR)/preboot_cr.bin
Patrick Georgid6e40a52015-02-17 11:11:12 +010092$(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin $(BCT_BIN) $(CBOOTIMAGE)
Furquan Shaikhf0990da2014-06-09 13:26:38 -070093 echo "Version = 1;" > $(BCT_WRAPPER)
94 echo "Redundancy = 1;" >> $(BCT_WRAPPER)
Aaron Durbindf324f52014-06-20 14:58:05 -050095 echo "Bctcopy = 1;" >> $(BCT_WRAPPER)
Furquan Shaikhf0990da2014-06-09 13:26:38 -070096 echo "Bctfile = $(BCT_BIN);" >> $(BCT_WRAPPER)
Aaron Durbindf324f52014-06-20 14:58:05 -050097 echo "MtsPreboot = $(PREBOOT_MTS_FILE),0x4000f000,0x4000f000,Complete;" >> $(BCT_WRAPPER)
Furquan Shaikhf0990da2014-06-09 13:26:38 -070098 echo "BootLoader = $<,$(CONFIG_BOOTBLOCK_BASE),$(CONFIG_BOOTBLOCK_BASE),Complete;" >> $(BCT_WRAPPER)
99 @printf " CBOOTIMAGE $(subst $(obj)/,,$(@))\n"
Aaron Durbindf324f52014-06-20 14:58:05 -0500100 $(CBOOTIMAGE) $(CBOOTIMAGE_OPTS) $(BCT_WRAPPER) $@
Aaron Durbinc13fc152014-07-14 19:13:07 -0500101
102# MTS microcode
103MTS_FILE = $(MTS_DIR)/mts_cr.bin
104MTS_FILE_CBFS = mts
105cbfs-files-y += $(MTS_FILE_CBFS)
106$(MTS_FILE_CBFS)-file := $(MTS_FILE)
107$(MTS_FILE_CBFS)-type := 0x50