diff options
-rw-r--r-- | include/drivers/console.h | 6 | ||||
-rw-r--r-- | include/plat/arm/board/common/board_arm_def.h | 6 | ||||
-rw-r--r-- | include/plat/arm/common/plat_arm.h | 6 | ||||
-rw-r--r-- | plat/arm/common/aarch64/arm_helpers.S | 12 | ||||
-rw-r--r-- | plat/arm/common/arm_bl1_setup.c | 4 | ||||
-rw-r--r-- | plat/arm/common/arm_bl2_el3_setup.c | 6 | ||||
-rw-r--r-- | plat/arm/common/arm_bl2_setup.c | 4 | ||||
-rw-r--r-- | plat/arm/common/arm_bl2u_setup.c | 5 | ||||
-rw-r--r-- | plat/arm/common/arm_bl31_setup.c | 13 | ||||
-rw-r--r-- | plat/arm/common/arm_common.mk | 8 | ||||
-rw-r--r-- | plat/arm/common/arm_console.c | 85 | ||||
-rw-r--r-- | plat/arm/common/arm_pm.c | 13 | ||||
-rw-r--r-- | plat/arm/common/tsp/arm_tsp_setup.c | 20 |
13 files changed, 33 insertions, 155 deletions
diff --git a/include/drivers/console.h b/include/drivers/console.h index 422492a7..0855170e 100644 --- a/include/drivers/console.h +++ b/include/drivers/console.h @@ -16,9 +16,9 @@ #define CONSOLE_T_FLUSH (U(4) * REGSZ) #define CONSOLE_T_DRVDATA (U(5) * REGSZ) -#define CONSOLE_FLAG_BOOT (U(1) << 0) -#define CONSOLE_FLAG_RUNTIME (U(1) << 1) -#define CONSOLE_FLAG_CRASH (U(1) << 2) +#define CONSOLE_FLAG_BOOT BIT(0) +#define CONSOLE_FLAG_RUNTIME BIT(1) +#define CONSOLE_FLAG_CRASH BIT(2) /* Bits 3 to 7 reserved for additional scopes in future expansion. */ #define CONSOLE_FLAG_SCOPE_MASK ((U(1) << 8) - 1) /* Bits 8 to 31 reserved for non-scope use in future expansion. */ diff --git a/include/plat/arm/board/common/board_arm_def.h b/include/plat/arm/board/common/board_arm_def.h index cfd29224..845f1403 100644 --- a/include/plat/arm/board/common/board_arm_def.h +++ b/include/plat/arm/board/common/board_arm_def.h @@ -94,11 +94,7 @@ * PLAT_ARM_MAX_BL31_SIZE is calculated using the current BL31 debug size plus a * little space for growth. */ -#if ENABLE_SPM -# define PLAT_ARM_MAX_BL31_SIZE 0x21000 -#else -# define PLAT_ARM_MAX_BL31_SIZE 0x20000 -#endif +#define PLAT_ARM_MAX_BL31_SIZE 0x20000 #ifdef AARCH32 /* diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h index 95b2a5a3..612a63a8 100644 --- a/include/plat/arm/common/plat_arm.h +++ b/include/plat/arm/common/plat_arm.h @@ -153,12 +153,6 @@ struct tzc_dmc500_driver_data; void arm_tzc_dmc500_setup(struct tzc_dmc500_driver_data *plat_driver_data, const arm_tzc_regions_info_t *tzc_regions); -/* Console utility functions */ -void arm_console_boot_init(void); -void arm_console_boot_end(void); -void arm_console_runtime_init(void); -void arm_console_runtime_end(void); - /* Systimer utility function */ void arm_configure_sys_timer(void); diff --git a/plat/arm/common/aarch64/arm_helpers.S b/plat/arm/common/aarch64/arm_helpers.S index 752929db..760a53af 100644 --- a/plat/arm/common/aarch64/arm_helpers.S +++ b/plat/arm/common/aarch64/arm_helpers.S @@ -8,9 +8,9 @@ .weak plat_arm_calc_core_pos .weak plat_my_core_pos - .weak plat_crash_console_init - .weak plat_crash_console_putc - .weak plat_crash_console_flush + .globl plat_crash_console_init + .globl plat_crash_console_putc + .globl plat_crash_console_flush .globl platform_mem_init @@ -50,7 +50,7 @@ func plat_crash_console_init mov_imm x0, PLAT_ARM_CRASH_UART_BASE mov_imm x1, PLAT_ARM_CRASH_UART_CLK_IN_HZ mov_imm x2, ARM_CONSOLE_BAUDRATE - b console_pl011_core_init + b console_core_init endfunc plat_crash_console_init /* --------------------------------------------- @@ -62,7 +62,7 @@ endfunc plat_crash_console_init */ func plat_crash_console_putc mov_imm x1, PLAT_ARM_CRASH_UART_BASE - b console_pl011_core_putc + b console_core_putc endfunc plat_crash_console_putc /* --------------------------------------------- @@ -75,7 +75,7 @@ endfunc plat_crash_console_putc */ func plat_crash_console_flush mov_imm x0, PLAT_ARM_CRASH_UART_BASE - b console_pl011_core_flush + b console_core_flush endfunc plat_crash_console_flush /* --------------------------------------------------------------------- diff --git a/plat/arm/common/arm_bl1_setup.c b/plat/arm/common/arm_bl1_setup.c index e5e73041..379e87df 100644 --- a/plat/arm/common/arm_bl1_setup.c +++ b/plat/arm/common/arm_bl1_setup.c @@ -9,6 +9,7 @@ #include <arm_xlat_tables.h> #include <bl1.h> #include <bl_common.h> +#include <console.h> #include <plat_arm.h> #include <platform.h> #include <platform_def.h> @@ -44,7 +45,8 @@ void arm_bl1_early_platform_setup(void) #endif /* Initialize the console to provide early debug support */ - arm_console_boot_init(); + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); /* Allow BL1 to see the whole Trusted RAM */ bl1_tzram_layout.total_base = ARM_BL_RAM_BASE; diff --git a/plat/arm/common/arm_bl2_el3_setup.c b/plat/arm/common/arm_bl2_el3_setup.c index e7247c63..e70d115e 100644 --- a/plat/arm/common/arm_bl2_el3_setup.c +++ b/plat/arm/common/arm_bl2_el3_setup.c @@ -1,8 +1,9 @@ /* - * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ +#include <console.h> #include <generic_delay_timer.h> #include <plat_arm.h> #include <platform.h> @@ -20,7 +21,8 @@ static meminfo_t bl2_el3_tzram_layout; void arm_bl2_el3_early_platform_setup(void) { /* Initialize the console to provide early debug support */ - arm_console_boot_init(); + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); /* * Allow BL2 to see the whole Trusted RAM. This is determined diff --git a/plat/arm/common/arm_bl2_setup.c b/plat/arm/common/arm_bl2_setup.c index 753da65a..dc7cd680 100644 --- a/plat/arm/common/arm_bl2_setup.c +++ b/plat/arm/common/arm_bl2_setup.c @@ -8,6 +8,7 @@ #include <arm_def.h> #include <assert.h> #include <bl_common.h> +#include <console.h> #include <debug.h> #include <desc_image_load.h> #include <generic_delay_timer.h> @@ -183,7 +184,8 @@ struct entry_point_info *bl2_plat_get_bl31_ep_info(void) void arm_bl2_early_platform_setup(uintptr_t tb_fw_config, meminfo_t *mem_layout) { /* Initialize the console to provide early debug support */ - arm_console_boot_init(); + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); /* Setup the BL2 memory layout */ bl2_tzram_layout = *mem_layout; diff --git a/plat/arm/common/arm_bl2u_setup.c b/plat/arm/common/arm_bl2u_setup.c index cd691e5c..3b8e4aa4 100644 --- a/plat/arm/common/arm_bl2u_setup.c +++ b/plat/arm/common/arm_bl2u_setup.c @@ -7,6 +7,7 @@ #include <arch_helpers.h> #include <arm_def.h> #include <bl_common.h> +#include <console.h> #include <generic_delay_timer.h> #include <plat_arm.h> #include <platform_def.h> @@ -35,8 +36,8 @@ void bl2u_platform_setup(void) void arm_bl2u_early_platform_setup(meminfo_t *mem_layout, void *plat_info) { /* Initialize the console to provide early debug support */ - arm_console_boot_init(); - + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); generic_delay_timer_init(); } diff --git a/plat/arm/common/arm_bl31_setup.c b/plat/arm/common/arm_bl31_setup.c index 4a727145..3c70f9de 100644 --- a/plat/arm/common/arm_bl31_setup.c +++ b/plat/arm/common/arm_bl31_setup.c @@ -72,7 +72,8 @@ void arm_bl31_early_platform_setup(bl31_params_t *from_bl2, uintptr_t soc_fw_con #endif { /* Initialize the console to provide early debug support */ - arm_console_boot_init(); + console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); #if RESET_TO_BL31 /* There are no parameters from BL2 if BL31 is a reset vector */ @@ -225,18 +226,12 @@ void arm_bl31_platform_setup(void) /******************************************************************************* * Perform any BL31 platform runtime setup prior to BL31 exit common to ARM * standard platforms - * Perform BL31 platform setup ******************************************************************************/ void arm_bl31_plat_runtime_setup(void) { -#if MULTI_CONSOLE_API - console_switch_state(CONSOLE_FLAG_RUNTIME); -#else - console_uninit(); -#endif - /* Initialize the runtime console */ - arm_console_runtime_init(); + console_init(PLAT_ARM_BL31_RUN_UART_BASE, PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); } void bl31_platform_setup(void) diff --git a/plat/arm/common/arm_common.mk b/plat/arm/common/arm_common.mk index b1aa4280..015e454a 100644 --- a/plat/arm/common/arm_common.mk +++ b/plat/arm/common/arm_common.mk @@ -104,11 +104,6 @@ SEPARATE_CODE_AND_RODATA := 1 # Enable new version of image loading on ARM platforms LOAD_IMAGE_V2 := 1 -# Use the multi console API, which is only available for AArch64 for now -ifeq (${ARCH}, aarch64) - MULTI_CONSOLE_API := 1 -endif - # Use generic OID definition (tbbr_oid.h) USE_TBBR_DEFS := 1 @@ -125,8 +120,7 @@ PLAT_INCLUDES += -Iinclude/plat/arm/common/aarch64 endif PLAT_BL_COMMON_SOURCES += plat/arm/common/${ARCH}/arm_helpers.S \ - plat/arm/common/arm_common.c \ - plat/arm/common/arm_console.c + plat/arm/common/arm_common.c ifeq (${ARM_XLAT_TABLES_LIB_V1}, 1) PLAT_BL_COMMON_SOURCES += lib/xlat_tables/xlat_tables_common.c \ diff --git a/plat/arm/common/arm_console.c b/plat/arm/common/arm_console.c deleted file mode 100644 index 20b8f87e..00000000 --- a/plat/arm/common/arm_console.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ -#include <assert.h> -#include <console.h> -#include <debug.h> -#include <pl011.h> -#include <plat_arm.h> -#include <platform_def.h> - -/******************************************************************************* - * Functions that set up the console - ******************************************************************************/ -#if MULTI_CONSOLE_API -static console_pl011_t arm_boot_console; -static console_pl011_t arm_runtime_console; -#endif - -/* Initialize the console to provide early debug support */ -void arm_console_boot_init(void) -{ -#if MULTI_CONSOLE_API - int rc = console_pl011_register(PLAT_ARM_BOOT_UART_BASE, - PLAT_ARM_BOOT_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE, - &arm_boot_console); - if (rc == 0) { - /* - * The crash console doesn't use the multi console API, it uses - * the core console functions directly. It is safe to call panic - * and let it print debug information. - */ - panic(); - } - - console_set_scope(&arm_boot_console.console, CONSOLE_FLAG_BOOT); -#else - (void)console_init(PLAT_ARM_BOOT_UART_BASE, - PLAT_ARM_BOOT_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE); -#endif /* MULTI_CONSOLE_API */ -} - -void arm_console_boot_end(void) -{ -#if MULTI_CONSOLE_API - (void)console_flush(); - - (void)console_unregister(&arm_boot_console.console); -#else - console_uninit(); -#endif /* MULTI_CONSOLE_API */ -} - -/* Initialize the runtime console */ -void arm_console_runtime_init(void) -{ -#if MULTI_CONSOLE_API - int rc = console_pl011_register(PLAT_ARM_BL31_RUN_UART_BASE, - PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE, - &arm_runtime_console); - if (rc == 0) - panic(); - - console_set_scope(&arm_runtime_console.console, CONSOLE_FLAG_RUNTIME); -#else - (void)console_init(PLAT_ARM_BL31_RUN_UART_BASE, - PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE); -#endif /* MULTI_CONSOLE_API */ -} - -void arm_console_runtime_end(void) -{ -#if MULTI_CONSOLE_API - (void)console_flush(); - - (void)console_unregister(&arm_runtime_console.console); -#else - console_uninit(); -#endif /* MULTI_CONSOLE_API */ -} diff --git a/plat/arm/common/arm_pm.c b/plat/arm/common/arm_pm.c index 4632099e..44ac5b5d 100644 --- a/plat/arm/common/arm_pm.c +++ b/plat/arm/common/arm_pm.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -8,6 +8,7 @@ #include <arm_def.h> #include <arm_gic.h> #include <assert.h> +#include <console.h> #include <errno.h> #include <plat_arm.h> #include <platform.h> @@ -159,12 +160,6 @@ void arm_system_pwr_domain_save(void) plat_arm_gic_save(); /* - * Unregister console now so that it is not registered for a second - * time during resume. - */ - arm_console_runtime_end(); - - /* * All the other peripheral which are configured by ARM TF are * re-initialized on resume from system suspend. Hence we * don't save their state here. @@ -179,8 +174,8 @@ void arm_system_pwr_domain_save(void) *****************************************************************************/ void arm_system_pwr_domain_resume(void) { - /* Initialize the console */ - arm_console_runtime_init(); + console_init(PLAT_ARM_BL31_RUN_UART_BASE, PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ, + ARM_CONSOLE_BAUDRATE); /* Assert system power domain is available on the platform */ assert(PLAT_MAX_PWR_LVL >= ARM_PWR_LVL2); diff --git a/plat/arm/common/tsp/arm_tsp_setup.c b/plat/arm/common/tsp/arm_tsp_setup.c index 16125ad4..abeaea0b 100644 --- a/plat/arm/common/tsp/arm_tsp_setup.c +++ b/plat/arm/common/tsp/arm_tsp_setup.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -7,8 +7,6 @@ #include <arm_def.h> #include <bl_common.h> #include <console.h> -#include <debug.h> -#include <pl011.h> #include <plat_arm.h> #include <platform_def.h> #include <platform_tsp.h> @@ -24,30 +22,14 @@ /******************************************************************************* * Initialize the UART ******************************************************************************/ -#if MULTI_CONSOLE_API -static console_pl011_t arm_tsp_runtime_console; -#endif - void arm_tsp_early_platform_setup(void) { -#if MULTI_CONSOLE_API /* * Initialize a different console than already in use to display * messages from TSP */ - int rc = console_pl011_register(PLAT_ARM_TSP_UART_BASE, - PLAT_ARM_TSP_UART_CLK_IN_HZ, - ARM_CONSOLE_BAUDRATE, - &arm_tsp_runtime_console); - if (rc == 0) - panic(); - - console_set_scope(&arm_tsp_runtime_console.console, - CONSOLE_FLAG_BOOT | CONSOLE_FLAG_RUNTIME); -#else console_init(PLAT_ARM_TSP_UART_BASE, PLAT_ARM_TSP_UART_CLK_IN_HZ, ARM_CONSOLE_BAUDRATE); -#endif /* MULTI_CONSOLE_API */ } void tsp_early_platform_setup(void) |