7 #include <soc/addressmap.h>
10 #include <soc/sdram.h>
16 static const size_t tz_size_mib = CONFIG_TRUSTZONE_CARVEOUT_SIZE_MB;
22 static int total_size = 0;
48 bom |= bom_hi << (32 - 20);
58 size_t region_size_mb;
139 (
unsigned long)end *
MiB);
168 int ignore_carveout_id)
178 if (*end_mib <= base || *base_mib >= end) {
179 *end_mib = *base_mib = 0;
186 if (*base_mib >
base)
192 size_t carveout_size;
194 if (i == ignore_carveout_id)
198 if (carveout_size == 0)
201 carveout_end = carveout_base + carveout_size;
204 if (carveout_base >= end || carveout_end <=
base)
280 gpu_base_mib = end - gpu_size_mib;
300 uintptr_t nvdec_base_mib = 0, end = 4096;
305 nvdec_base_mib = end - nvdec_size_mib;
323 tsec_base_mib = end - tsec_size_mib;
347 vpr_base_mib = end - vpr_size_mib;
void print_carveouts(void)
static const size_t tz_size_mib
void gpu_region_init(void)
static void memory_in_range(uintptr_t *base_mib, uintptr_t *end_mib, int ignore_carveout_id)
static void carveout_from_regs(uintptr_t *base_mib, size_t *size_mib, uint32_t bom, uint32_t bom_hi, uint32_t size)
static uintptr_t tz_base_mib
void memory_in_range_above_4gb(uintptr_t *base_mib, uintptr_t *end_mib)
void vpr_region_init(void)
void nvdec_region_init(void)
void carveout_range(int id, uintptr_t *base_mib, size_t *size_mib)
void memory_in_range_below_4gb(uintptr_t *base_mib, uintptr_t *end_mib)
void tsec_region_init(void)
void trustzone_region_init(void)
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
#define assert(statement)
#define DIV_ROUND_UP(x, y)
#define printk(level,...)
static int context_avp(void)
#define setbits32(addr, set)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define NVDEC_CARVEOUT_SIZE_MB
#define VPR_CARVEOUT_SIZE_MB
#define TSEC_CARVEOUT_SIZE_MB
#define GPU_CARVEOUT_SIZE_MB
uint32_t security_carveout2_size_128kb
uint32_t security_carveout1_cfg0
uint32_t video_protect_size_mb
uint32_t security_carveout2_bom
uint32_t sec_carveout_size_mb
uint32_t mts_carveout_adr_hi
uint32_t video_protect_bom_adr_hi
uint32_t security_carveout3_bom
uint32_t security_carveout1_bom_hi
uint32_t security_carveout3_cfg0
uint32_t security_carveout2_bom_hi
uint32_t security_carveout1_bom
uint32_t security_carveout4_cfg0
uint32_t video_protect_bom
uint32_t security_carveout4_bom
uint32_t security_carveout4_size_128kb
uint32_t security_carveout5_cfg0
uint32_t security_carveout3_bom_hi
uint32_t security_carveout5_bom
uint32_t mts_carveout_bom
uint32_t sec_carveout_bom
uint32_t sec_carveout_adr_hi
uint32_t security_carveout1_size_128kb
uint32_t security_carveout5_bom_hi
uint32_t security_carveout4_bom_hi
uint32_t video_protect_reg_ctrl
uint32_t mts_carveout_size_mb
uint32_t security_carveout2_cfg0
@ MC_EMEM_CFG_SIZE_MB_SHIFT
@ MC_EMEM_CFG_SIZE_MB_MASK
#define MC_VPR_WR_ACCESS_DISABLE
#define MC_SECURITY_CARVEOUT_LOCKED