diff --git a/plat/ti/k3/common/k3_bl31_setup.c b/plat/ti/k3/common/k3_bl31_setup.c index 78fb696..b4ec374 100644 --- a/plat/ti/k3/common/k3_bl31_setup.c +++ b/plat/ti/k3/common/k3_bl31_setup.c @@ -21,10 +21,9 @@ /* Table of regions to map using the MMU */ const mmap_region_t plat_k3_mmap[] = { - MAP_REGION_FLAT(SHARED_RAM_BASE, SHARED_RAM_SIZE, MT_DEVICE | MT_RW | MT_SECURE), - MAP_REGION_FLAT(K3_USART_BASE_ADDRESS, K3_USART_SIZE, MT_DEVICE | MT_RW | MT_SECURE), - MAP_REGION_FLAT(K3_GIC_BASE, K3_GIC_SIZE, MT_DEVICE | MT_RW | MT_SECURE), - MAP_REGION_FLAT(SEC_PROXY_RT_BASE, SEC_PROXY_RT_SIZE, MT_DEVICE | MT_RW | MT_SECURE), + MAP_REGION_FLAT(K3_USART_BASE, K3_USART_SIZE, MT_DEVICE | MT_RW | MT_SECURE), + MAP_REGION_FLAT(K3_GIC_BASE, K3_GIC_SIZE, MT_DEVICE | MT_RW | MT_SECURE), + MAP_REGION_FLAT(SEC_PROXY_RT_BASE, SEC_PROXY_RT_SIZE, MT_DEVICE | MT_RW | MT_SECURE), MAP_REGION_FLAT(SEC_PROXY_SCFG_BASE, SEC_PROXY_SCFG_SIZE, MT_DEVICE | MT_RW | MT_SECURE), MAP_REGION_FLAT(SEC_PROXY_DATA_BASE, SEC_PROXY_DATA_SIZE, MT_DEVICE | MT_RW | MT_SECURE), { /* sentinel */ } @@ -100,13 +99,10 @@ void bl31_plat_arch_setup(void) { const mmap_region_t bl_regions[] = { - MAP_REGION_FLAT(BL31_BASE, BL31_END - BL31_BASE, - MT_MEMORY | MT_RW | MT_SECURE), - MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE, - MT_CODE | MT_SECURE), - MAP_REGION_FLAT(BL_RO_DATA_BASE, BL_RO_DATA_END - BL_RO_DATA_END, - MT_RO_DATA | MT_SECURE), - {0} + MAP_REGION_FLAT(BL31_START, BL31_END - BL31_START, MT_MEMORY | MT_RW | MT_SECURE), + MAP_REGION_FLAT(BL_CODE_BASE, BL_CODE_END - BL_CODE_BASE, MT_CODE | MT_RO | MT_SECURE), + MAP_REGION_FLAT(BL_RO_DATA_BASE, BL_RO_DATA_END - BL_RO_DATA_END, MT_RO_DATA | MT_RO | MT_SECURE), + { /* sentinel */ } }; setup_page_tables(bl_regions, plat_k3_mmap); diff --git a/plat/ti/k3/common/k3_console.c b/plat/ti/k3/common/k3_console.c index 31c9632..ba0ddac 100644 --- a/plat/ti/k3/common/k3_console.c +++ b/plat/ti/k3/common/k3_console.c @@ -16,6 +16,6 @@ static console_16550_t console; /* Initialize the console to provide early debug support */ - console_16550_register(K3_USART_BASE_ADDRESS, K3_USART_CLK_SPEED, + console_16550_register(K3_USART_BASE, K3_USART_CLK_SPEED, K3_USART_BAUD, &console); } diff --git a/plat/ti/k3/common/plat_common.mk b/plat/ti/k3/common/plat_common.mk index c91a035..29fcafd 100644 --- a/plat/ti/k3/common/plat_common.mk +++ b/plat/ti/k3/common/plat_common.mk @@ -22,6 +22,9 @@ ERRATA_A53_843419 := 1 ERRATA_A53_855873 := 1 +# Split out RO data into a non-executable section +SEPARATE_CODE_AND_RODATA := 1 + # Leave the caches enabled on core powerdown path TI_AM65X_WORKAROUND := 1 $(eval $(call add_define,TI_AM65X_WORKAROUND)) diff --git a/plat/ti/k3/include/platform_def.h b/plat/ti/k3/include/platform_def.h index f1511c1..68fdae7 100644 --- a/plat/ti/k3/include/platform_def.h +++ b/plat/ti/k3/include/platform_def.h @@ -74,20 +74,14 @@ /* * ARM-TF lives in SRAM, partition it here - */ - -#define SHARED_RAM_BASE BL31_LIMIT -#define SHARED_RAM_SIZE 0x00001000 - -/* + * * BL3-1 specific defines. * - * Put BL3-1 at the base of the Trusted SRAM, before SHARED_RAM. + * Put BL3-1 at the base of the Trusted SRAM. */ #define BL31_BASE SEC_SRAM_BASE -#define BL31_SIZE (SEC_SRAM_SIZE - SHARED_RAM_SIZE) +#define BL31_SIZE SEC_SRAM_SIZE #define BL31_LIMIT (BL31_BASE + BL31_SIZE) -#define BL31_PROGBITS_LIMIT BL31_LIMIT /* * Defines the maximum number of translation tables that are allocated by the @@ -125,8 +119,8 @@ #define CACHE_WRITEBACK_GRANULE (1 << CACHE_WRITEBACK_SHIFT) /* Platform default console definitions */ -#ifndef K3_USART_BASE_ADDRESS -#define K3_USART_BASE_ADDRESS 0x02800000 +#ifndef K3_USART_BASE +#define K3_USART_BASE 0x02800000 #endif /* USART has a default size for address space */ @@ -137,7 +131,7 @@ #endif /* Crash console defaults */ -#define CRASH_CONSOLE_BASE K3_USART_BASE_ADDRESS +#define CRASH_CONSOLE_BASE K3_USART_BASE #define CRASH_CONSOLE_CLK K3_USART_CLK_SPEED #define CRASH_CONSOLE_BAUD_RATE K3_USART_BAUD