1 LOCAL_DIR := $(GET_LOCAL_DIR)
11 -I$(LOCAL_DIR)/include \
12 -I$(LOCAL_DIR)/include/platform/$(PLATFORM_SOC) \
13 -I$(LOCAL_DIR)/common \
16 -Isecure_monitor/platform/tegra/include
18 COMMON_DIR := $(LOCAL_DIR)/common
19 PLATFORM_SOC_DIR := $(LOCAL_DIR)/$(PLATFORM_SOC)
22 $(COMMON_DIR)/cpu_early_init.S \
23 $(COMMON_DIR)/fuse.c \
26 $(COMMON_DIR)/platform.c \
27 $(COMMON_DIR)/timer.c \
28 $(COMMON_DIR)/interrupts.c \
29 $(COMMON_DIR)/memory.c \
30 $(COMMON_DIR)/debug.c \
37 # The code within the monitor dir builds to a lib that's either
38 # linked into a mon.bin (when MONITOR_BIN is true) or into the
39 # secureos when it's not.
41 # Routines in the monitor dir are those that restore HW state.
42 # In particular, SOC level state is restored there, while CPU
43 # state was handled by lib/monitor or boot_secondary.S,
45 # In platform/tegra/common, there are still memory and interrupt
46 # routines, but they're only called for secureos handling
47 # (i.e. aren't part of the monitor or for restoring HW state).
49 # Add power management into the secureos build if
50 # there's not a separate monitor being built.
51 ifeq ($(MONITOR_BIN),)
54 $(COMMON_DIR)/boot_secondary.S
57 include $(PLATFORM_SOC_DIR)/rules.mk
59 # Disable all prints for release builds, only CRITICAL prints will be
60 # printed in release builds. Change the value of DEBUG in else block
61 # to 1->INFO and 2->SPEW prints in debug builds.
62 ifeq ($(TARGET_BUILD_TYPE), release)
68 # Enable storage rollback protection for desired devices.
69 ifeq ($(filter t210,$(TARGET_TEGRA_VERSION)), $(TARGET_TEGRA_VERSION))
70 WITH_ROLLBACK_PROTECTION := 1
72 WITH_ROLLBACK_PROTECTION := 0
75 # relocate image to provided physaddr via MMU
76 ARM_USE_MMU_RELOC := true
78 # enable use of CPU caching
79 ARM_USE_CPU_CACHING := true
81 DEFINES += VMEMBASE=$(VMEMBASE) \
82 VMEMSIZE=$(VMEMSIZE) \
84 WITH_CPU_EARLY_INIT=1 \
85 WITH_ROLLBACK_PROTECTION=$(WITH_ROLLBACK_PROTECTION)
87 # use a two segment memory layout, where all of the read-only sections
88 # of the binary reside in rom, and the read/write are in memory. The
89 # ROMBASE, VMEMBASE, and VMEMSIZE make variables are required to be set
90 # for the linker script to be generated properly.
93 $(BUILDDIR)/system-onesegment.ld
95 include make/module.mk