bc3019cbd2
Provide a default Trust Zone region size of 1MiB, and correctly account for it in the AVP and the arm64 cores. The different path between the arm64 cores and the AVP is because the AVP cannot access the Trust Zone region registers. Therefore the AVP needs to account for the Trust Zone region. BUG=chrome-os-partner:30572 BRANCH=None TEST=Built and ran. Noted Trust Zone region being accounted for. Original-Change-Id: Ie0f117ec7a5ff8519c39778d3cdf88c3eee57ea5 Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/208062 Original-Reviewed-by: Tom Warren <twarren@nvidia.com> Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org> (cherry picked from commit 22f2fa05c009c58f53b99b9ebe1b6d01fdac5ba7) Signed-off-by: Marc Jones <marc.jones@se-eng.com> Change-Id: I28506b4401145d366b56126b2eddc4c3d3db7b44 Reviewed-on: http://review.coreboot.org/8639 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
95 lines
3.1 KiB
Makefile
95 lines
3.1 KiB
Makefile
bootblock-y += bootblock.c
|
|
bootblock-y += bootblock_asm.S
|
|
bootblock-y += cbfs.c
|
|
bootblock-y += timer.c
|
|
bootblock-y += clock.c
|
|
bootblock-y += spi.c
|
|
bootblock-y += i2c.c
|
|
bootblock-y += dma.c
|
|
bootblock-y += monotonic_timer.c
|
|
bootblock-y += ../tegra/gpio.c
|
|
bootblock-y += ../tegra/i2c.c
|
|
bootblock-y += ../tegra/pingroup.c
|
|
bootblock-y += ../tegra/pinmux.c
|
|
bootblock-y += ../tegra/apbmisc.c
|
|
ifeq ($(CONFIG_BOOTBLOCK_CONSOLE),y)
|
|
bootblock-$(CONFIG_DRIVERS_UART) += uart.c
|
|
endif
|
|
|
|
romstage-y += romstage_asm.S
|
|
romstage-y += addressmap.c
|
|
romstage-y += cbfs.c
|
|
romstage-y += cbmem.c
|
|
romstage-y += timer.c
|
|
romstage-y += ccplex.c
|
|
romstage-y += clock.c
|
|
romstage-y += spi.c
|
|
romstage-y += i2c.c
|
|
romstage-y += dma.c
|
|
romstage-y += monotonic_timer.c
|
|
romstage-y += romstage.c
|
|
romstage-y += power.c
|
|
romstage-y += sdram.c
|
|
romstage-y += sdram_lp0.c
|
|
romstage-y += ../tegra/gpio.c
|
|
romstage-y += ../tegra/i2c.c
|
|
romstage-y += ../tegra/pinmux.c
|
|
romstage-$(CONFIG_DRIVERS_UART) += uart.c
|
|
|
|
ramstage-y += addressmap.c
|
|
ramstage-y += cbfs.c
|
|
ramstage-y += cbmem.c
|
|
ramstage-y += timer.c
|
|
ramstage-y += clock.c
|
|
ramstage-y += spi.c
|
|
ramstage-y += i2c.c
|
|
ramstage-y += dma.c
|
|
ramstage-y += monotonic_timer.c
|
|
ramstage-y += ../tegra/gpio.c
|
|
ramstage-y += ../tegra/i2c.c
|
|
ramstage-y += ../tegra/pinmux.c
|
|
ramstage-y += ramstage.c
|
|
ramstage-$(CONFIG_DRIVERS_UART) += uart.c
|
|
|
|
CPPFLAGS_common += -Isrc/soc/nvidia/tegra132/include/
|
|
CBOOTIMAGE_OPTS = --soc tegra132
|
|
|
|
# We want to grab the bootblock right before it goes into the image and wrap
|
|
# it inside a BCT, but ideally we would do that without making special, one
|
|
# use modifications to the main ARM Makefile. We do this in two ways. First,
|
|
# we copy bootblock.elf to bootblock.raw.elf and allow the %.bin: %.elf
|
|
# template rule to turn it into bootblock.raw.bin. This makes sure whatever
|
|
# processing is supposed to happen to turn an .elf into a .bin happens.
|
|
#
|
|
# Second, we add our own rule for creating bootblock.bin from
|
|
# bootblock.raw.bin which displaces the template rule. When other rules that
|
|
# package up the image pull in bootblock.bin, it will be this wrapped version
|
|
# instead of the raw bootblock.
|
|
|
|
$(objcbfs)/bootblock.raw.elf: $(objcbfs)/bootblock.elf
|
|
cp $< $@
|
|
|
|
$(obj)/generated/bct.bin: $(obj)/generated/bct.cfg $(CBOOTIMAGE)
|
|
@printf " CBOOTIMAGE $(subst $(obj)/,,$(@))\n"
|
|
$(CBOOTIMAGE) -gbct $(CBOOTIMAGE_OPTS) $< $@
|
|
|
|
BCT_BIN = $(obj)/generated/bct.bin
|
|
BCT_WRAPPER = $(obj)/generated/bct.wrapper
|
|
MTS_DIR = $(CONFIG_MTS_DIRECTORY)
|
|
PREBOOT_MTS_FILE = $(MTS_DIR)/preboot_cr.bin
|
|
$(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin $(BCT_BIN) $(CBOOTIMAGE)
|
|
echo "Version = 1;" > $(BCT_WRAPPER)
|
|
echo "Redundancy = 1;" >> $(BCT_WRAPPER)
|
|
echo "Bctcopy = 1;" >> $(BCT_WRAPPER)
|
|
echo "Bctfile = $(BCT_BIN);" >> $(BCT_WRAPPER)
|
|
echo "MtsPreboot = $(PREBOOT_MTS_FILE),0x4000f000,0x4000f000,Complete;" >> $(BCT_WRAPPER)
|
|
echo "BootLoader = $<,$(CONFIG_BOOTBLOCK_BASE),$(CONFIG_BOOTBLOCK_BASE),Complete;" >> $(BCT_WRAPPER)
|
|
@printf " CBOOTIMAGE $(subst $(obj)/,,$(@))\n"
|
|
$(CBOOTIMAGE) $(CBOOTIMAGE_OPTS) $(BCT_WRAPPER) $@
|
|
|
|
# MTS microcode
|
|
MTS_FILE = $(MTS_DIR)/mts_cr.bin
|
|
MTS_FILE_CBFS = mts
|
|
cbfs-files-y += $(MTS_FILE_CBFS)
|
|
$(MTS_FILE_CBFS)-file := $(MTS_FILE)
|
|
$(MTS_FILE_CBFS)-type := 0x50
|