From 5b6ebeec9c99f8d6a539d3b15e5dfb827891174a Mon Sep 17 00:00:00 2001
From: Ambroise Vincent <ambroise.vincent@arm.com>
Date: Thu, 4 Apr 2019 09:13:28 +0100
Subject: [PATCH] Remove MULTI_CONSOLE_API flag and references to it

The new API becomes the default one.

Change-Id: Ic1d602da3dff4f4ebbcc158b885295c902a24fec
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
---
 Makefile                                    |  2 --
 drivers/arm/pl011/aarch32/pl011_console.S   | 11 ------
 drivers/arm/pl011/aarch64/pl011_console.S   | 11 ------
 drivers/cadence/uart/aarch64/cdns_console.S | 11 ------
 drivers/console/aarch64/skeleton_console.S  |  2 --
 drivers/console/multi_console.c             |  4 ---
 drivers/ti/uart/aarch64/16550_console.S     | 11 ------
 include/drivers/console.h                   |  7 ----
 make_helpers/defaults.mk                    |  4 ---
 plat/allwinner/common/allwinner-common.mk   |  2 --
 plat/arm/board/fvp_ve/platform.mk           |  2 --
 plat/arm/common/arm_bl31_setup.c            |  4 ---
 plat/arm/common/arm_common.mk               |  3 --
 plat/arm/common/arm_console.c               | 23 ------------
 plat/arm/common/tsp/arm_tsp_setup.c         |  7 ----
 plat/common/aarch32/crash_console_helpers.S | 24 -------------
 plat/common/aarch32/plat_sp_min_common.c    |  4 ---
 plat/common/aarch64/crash_console_helpers.S |  4 ---
 plat/common/aarch64/plat_common.c           |  4 ---
 plat/hisilicon/hikey/platform.mk            |  1 -
 plat/hisilicon/hikey960/platform.mk         |  1 -
 plat/hisilicon/poplar/platform.mk           |  1 -
 plat/imx/imx7/warp7/platform.mk             |  3 --
 plat/imx/imx8m/imx8mm/platform.mk           |  1 -
 plat/imx/imx8m/imx8mq/platform.mk           |  1 -
 plat/imx/imx8qm/platform.mk                 |  1 -
 plat/imx/imx8qx/platform.mk                 |  1 -
 plat/intel/soc/stratix10/platform.mk        |  1 -
 plat/layerscape/board/ls1043/platform.mk    |  3 --
 plat/layerscape/common/aarch64/ls_console.S | 11 ------
 plat/layerscape/common/aarch64/ls_helpers.S | 40 ---------------------
 plat/marvell/common/marvell_common.mk       |  2 --
 plat/meson/gxbb/platform.mk                 |  7 ----
 plat/meson/gxl/platform.mk                  |  7 ----
 plat/qemu/platform.mk                       |  6 ----
 plat/qemu/qemu_console.c                    |  8 -----
 plat/rockchip/rk3328/platform.mk            |  2 --
 plat/rockchip/rk3368/platform.mk            |  2 --
 plat/rockchip/rk3399/platform.mk            |  2 --
 plat/rpi3/platform.mk                       |  7 ----
 plat/socionext/synquacer/platform.mk        |  1 -
 plat/st/stm32mp1/platform.mk                |  1 -
 plat/ti/k3/common/plat_common.mk            |  1 -
 plat/xilinx/versal/platform.mk              |  1 -
 44 files changed, 252 deletions(-)

diff --git a/Makefile b/Makefile
index d2e7b5829..471cf5982 100644
--- a/Makefile
+++ b/Makefile
@@ -647,7 +647,6 @@ $(eval $(call assert_boolean,GENERATE_COT))
 $(eval $(call assert_boolean,GICV2_G0_FOR_EL3))
 $(eval $(call assert_boolean,HANDLE_EA_EL3_FIRST))
 $(eval $(call assert_boolean,HW_ASSISTED_COHERENCY))
-$(eval $(call assert_boolean,MULTI_CONSOLE_API))
 $(eval $(call assert_boolean,NS_TIMER_SWITCH))
 $(eval $(call assert_boolean,OVERRIDE_LIBC))
 $(eval $(call assert_boolean,PL011_GENERIC_UART))
@@ -702,7 +701,6 @@ $(eval $(call add_define,GICV2_G0_FOR_EL3))
 $(eval $(call add_define,HANDLE_EA_EL3_FIRST))
 $(eval $(call add_define,HW_ASSISTED_COHERENCY))
 $(eval $(call add_define,LOG_LEVEL))
-$(eval $(call add_define,MULTI_CONSOLE_API))
 $(eval $(call add_define,NS_TIMER_SWITCH))
 $(eval $(call add_define,PL011_GENERIC_UART))
 $(eval $(call add_define,PLAT_${PLAT}))
diff --git a/drivers/arm/pl011/aarch32/pl011_console.S b/drivers/arm/pl011/aarch32/pl011_console.S
index b85d2e776..e1e346c2f 100644
--- a/drivers/arm/pl011/aarch32/pl011_console.S
+++ b/drivers/arm/pl011/aarch32/pl011_console.S
@@ -86,7 +86,6 @@ core_init_fail:
 	bx	lr
 endfunc console_pl011_core_init
 
-#if MULTI_CONSOLE_API
 	.globl console_pl011_register
 
 	/* -------------------------------------------------------
@@ -122,16 +121,6 @@ func console_pl011_register
 register_fail:
 	pop	{r4, pc}
 endfunc console_pl011_register
-#else
-	.globl console_core_init
-	.globl console_core_putc
-	.globl console_core_getc
-	.globl console_core_flush
-	.equ console_core_init, console_pl011_core_init
-	.equ console_core_putc, console_pl011_core_putc
-	.equ console_core_getc, console_pl011_core_getc
-	.equ console_core_flush, console_pl011_core_flush
-#endif
 
 	/* --------------------------------------------------------
 	 * int console_core_putc(int c, uintptr_t base_addr)
diff --git a/drivers/arm/pl011/aarch64/pl011_console.S b/drivers/arm/pl011/aarch64/pl011_console.S
index c772a9ec3..04de99fbc 100644
--- a/drivers/arm/pl011/aarch64/pl011_console.S
+++ b/drivers/arm/pl011/aarch64/pl011_console.S
@@ -75,7 +75,6 @@ core_init_fail:
 	ret
 endfunc console_pl011_core_init
 
-#if MULTI_CONSOLE_API
 	.globl console_pl011_register
 
 	/* -----------------------------------------------
@@ -109,16 +108,6 @@ func console_pl011_register
 register_fail:
 	ret	x7
 endfunc console_pl011_register
-#else
-	.globl console_core_init
-	.globl console_core_putc
-	.globl console_core_getc
-	.globl console_core_flush
-	.equ console_core_init,console_pl011_core_init
-	.equ console_core_putc,console_pl011_core_putc
-	.equ console_core_getc,console_pl011_core_getc
-	.equ console_core_flush,console_pl011_core_flush
-#endif
 
 	/* --------------------------------------------------------
 	 * int console_pl011_core_putc(int c, uintptr_t base_addr)
diff --git a/drivers/cadence/uart/aarch64/cdns_console.S b/drivers/cadence/uart/aarch64/cdns_console.S
index 8b3837997..ecd0c478d 100644
--- a/drivers/cadence/uart/aarch64/cdns_console.S
+++ b/drivers/cadence/uart/aarch64/cdns_console.S
@@ -51,7 +51,6 @@ core_init_fail:
 	ret
 endfunc console_cdns_core_init
 
-#if MULTI_CONSOLE_API
 	.globl console_cdns_register
 
 	/* -----------------------------------------------
@@ -85,16 +84,6 @@ func console_cdns_register
 register_fail:
 	ret	x7
 endfunc console_cdns_register
-#else
-	.globl console_core_init
-	.globl console_core_putc
-	.globl console_core_getc
-	.globl console_core_flush
-	.equ console_core_init,console_cdns_core_init
-	.equ console_core_putc,console_cdns_core_putc
-	.equ console_core_getc,console_cdns_core_getc
-	.equ console_core_flush,console_cdns_core_flush
-#endif
 
 	/* --------------------------------------------------------
 	 * int console_cdns_core_putc(int c, uintptr_t base_addr)
diff --git a/drivers/console/aarch64/skeleton_console.S b/drivers/console/aarch64/skeleton_console.S
index 1ba219678..c695ddec4 100644
--- a/drivers/console/aarch64/skeleton_console.S
+++ b/drivers/console/aarch64/skeleton_console.S
@@ -22,8 +22,6 @@
 	 * any function may always clobber the intra-procedure-call registers
 	 * X16 and X17, but may never depend on them retaining their values
 	 * across any function call.)
-	 * Platforms using drivers based on this template need to enable
-	 * MULTI_CONSOLE_API := 1 in their platform.mk.
 	 */
 
 	.globl	console_xxx_register
diff --git a/drivers/console/multi_console.c b/drivers/console/multi_console.c
index 1ec81c3c6..d9eba7f02 100644
--- a/drivers/console/multi_console.c
+++ b/drivers/console/multi_console.c
@@ -4,8 +4,6 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#if MULTI_CONSOLE_API
-
 #include <assert.h>
 
 #include <drivers/console.h>
@@ -121,5 +119,3 @@ int console_flush(void)
 
 	return err;
 }
-
-#endif	/* MULTI_CONSOLE_API */
diff --git a/drivers/ti/uart/aarch64/16550_console.S b/drivers/ti/uart/aarch64/16550_console.S
index 55db5031e..dab46e8c5 100644
--- a/drivers/ti/uart/aarch64/16550_console.S
+++ b/drivers/ti/uart/aarch64/16550_console.S
@@ -83,7 +83,6 @@ init_fail:
 	ret
 endfunc console_16550_core_init
 
-#if MULTI_CONSOLE_API
 	.globl console_16550_register
 
 	/* -----------------------------------------------
@@ -117,16 +116,6 @@ func console_16550_register
 register_fail:
 	ret	x7
 endfunc console_16550_register
-#else
-	.globl console_core_init
-	.globl console_core_putc
-	.globl console_core_getc
-	.globl console_core_flush
-	.equ console_core_init,console_16550_core_init
-	.equ console_core_putc,console_16550_core_putc
-	.equ console_core_getc,console_16550_core_getc
-	.equ console_core_flush,console_16550_core_flush
-#endif
 
 	/* --------------------------------------------------------
 	 * int console_16550_core_putc(int c, uintptr_t base_addr)
diff --git a/include/drivers/console.h b/include/drivers/console.h
index 4f26ccef2..f31de9549 100644
--- a/include/drivers/console.h
+++ b/include/drivers/console.h
@@ -75,13 +75,6 @@ int console_getc(void);
 /* Flush all consoles registered for the current state. */
 int console_flush(void);
 
-#if !MULTI_CONSOLE_API
-/* REMOVED on AArch64 -- use console_<driver>_register() instead! */
-int console_init(uintptr_t base_addr,
-		 unsigned int uart_clk, unsigned int baud_rate);
-void console_uninit(void);
-#endif
-
 #endif /* __ASSEMBLY__ */
 
 #endif /* CONSOLE_H */
diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk
index 1d3a7265b..f63e46f39 100644
--- a/make_helpers/defaults.mk
+++ b/make_helpers/defaults.mk
@@ -136,10 +136,6 @@ HW_ASSISTED_COHERENCY		:= 0
 # Set the default algorithm for the generation of Trusted Board Boot keys
 KEY_ALG				:= rsa
 
-# Enable use of the console API allowing multiple consoles to be registered
-# at the same time.
-MULTI_CONSOLE_API		:= 1
-
 # NS timer register save and restore
 NS_TIMER_SWITCH			:= 0
 
diff --git a/plat/allwinner/common/allwinner-common.mk b/plat/allwinner/common/allwinner-common.mk
index 585079b75..6866bd65a 100644
--- a/plat/allwinner/common/allwinner-common.mk
+++ b/plat/allwinner/common/allwinner-common.mk
@@ -49,8 +49,6 @@ ERRATA_A53_835769		:=	1
 ERRATA_A53_843419		:=	1
 ERRATA_A53_855873		:=	1
 
-MULTI_CONSOLE_API		:=	1
-
 # The reset vector can be changed for each CPU.
 PROGRAMMABLE_RESET_ADDRESS	:=	1
 
diff --git a/plat/arm/board/fvp_ve/platform.mk b/plat/arm/board/fvp_ve/platform.mk
index f9ced2cc3..f85452dac 100644
--- a/plat/arm/board/fvp_ve/platform.mk
+++ b/plat/arm/board/fvp_ve/platform.mk
@@ -106,8 +106,6 @@ endif
 $(eval $(call assert_boolean,ARM_XLAT_TABLES_LIB_V1))
 $(eval $(call add_define,ARM_XLAT_TABLES_LIB_V1))
 
-MULTI_CONSOLE_API		:=	1
-
 ifeq (${ARM_XLAT_TABLES_LIB_V1}, 1)
 	# Only use nonlpae version of xlatv1 otherwise use xlat v2
 	PLAT_BL_COMMON_SOURCES	+=	lib/xlat_tables/${ARCH}/nonlpae_tables.c
diff --git a/plat/arm/common/arm_bl31_setup.c b/plat/arm/common/arm_bl31_setup.c
index 8e1a26300..ab90f46a8 100644
--- a/plat/arm/common/arm_bl31_setup.c
+++ b/plat/arm/common/arm_bl31_setup.c
@@ -240,11 +240,7 @@ void arm_bl31_platform_setup(void)
  ******************************************************************************/
 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();
diff --git a/plat/arm/common/arm_common.mk b/plat/arm/common/arm_common.mk
index c3d9e030c..10b6e5122 100644
--- a/plat/arm/common/arm_common.mk
+++ b/plat/arm/common/arm_common.mk
@@ -125,9 +125,6 @@ ENABLE_PMF			:=	1
 # mapping the former as executable and the latter as execute-never.
 SEPARATE_CODE_AND_RODATA	:=	1
 
-# Use the multi console API, which is only available for AArch64 for now
-MULTI_CONSOLE_API		:=	1
-
 # Disable ARM Cryptocell by default
 ARM_CRYPTOCELL_INTEG		:=	0
 $(eval $(call assert_boolean,ARM_CRYPTOCELL_INTEG))
diff --git a/plat/arm/common/arm_console.c b/plat/arm/common/arm_console.c
index 580b2ee01..123811d71 100644
--- a/plat/arm/common/arm_console.c
+++ b/plat/arm/common/arm_console.c
@@ -16,15 +16,12 @@
 /*******************************************************************************
  * 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 __init 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,
@@ -39,28 +36,17 @@ void __init arm_console_boot_init(void)
 	}
 
 	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)
 {
 	(void)console_flush();
-
-#if MULTI_CONSOLE_API
 	(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_RUN_UART_BASE,
 					PLAT_ARM_RUN_UART_CLK_IN_HZ,
 					ARM_CONSOLE_BAUDRATE,
@@ -69,18 +55,9 @@ void arm_console_runtime_init(void)
 		panic();
 
 	console_set_scope(&arm_runtime_console.console, CONSOLE_FLAG_RUNTIME);
-#else
-	(void)console_init(PLAT_ARM_RUN_UART_BASE,
-			   PLAT_ARM_RUN_UART_CLK_IN_HZ,
-			   ARM_CONSOLE_BAUDRATE);
-#endif /* MULTI_CONSOLE_API */
 }
 
 void arm_console_runtime_end(void)
 {
 	(void)console_flush();
-
-#if !MULTI_CONSOLE_API
-	console_uninit();
-#endif /* !MULTI_CONSOLE_API */
 }
diff --git a/plat/arm/common/tsp/arm_tsp_setup.c b/plat/arm/common/tsp/arm_tsp_setup.c
index a3dfa1e1d..aefdf89c7 100644
--- a/plat/arm/common/tsp/arm_tsp_setup.c
+++ b/plat/arm/common/tsp/arm_tsp_setup.c
@@ -28,13 +28,10 @@
 /*******************************************************************************
  * 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
@@ -48,10 +45,6 @@ void arm_tsp_early_platform_setup(void)
 
 	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)
diff --git a/plat/common/aarch32/crash_console_helpers.S b/plat/common/aarch32/crash_console_helpers.S
index c9ad12cc4..ea04f56b2 100644
--- a/plat/common/aarch32/crash_console_helpers.S
+++ b/plat/common/aarch32/crash_console_helpers.S
@@ -16,8 +16,6 @@
 	.globl	plat_crash_console_putc
 	.globl	plat_crash_console_flush
 
-#if MULTI_CONSOLE_API
-
 	/* -----------------------------------------------------
 	 * int plat_crash_console_init(void)
 	 * Use normal console by default. Switch it to crash
@@ -68,25 +66,3 @@ endfunc plat_crash_console_putc
 func plat_crash_console_flush
 	b	console_flush
 endfunc plat_crash_console_flush
-
-#else	/* MULTI_CONSOLE_API */
-
-	/* -----------------------------------------------------
-	 * In the old API these are all no-op stubs that need to
-	 * be overridden by the platform to be useful.
-	 * -----------------------------------------------------
-	 */
-func plat_crash_console_init
-	mov	r0, #0
-	bx	lr
-endfunc plat_crash_console_init
-
-func plat_crash_console_putc
-	bx	lr
-endfunc plat_crash_console_putc
-
-func plat_crash_console_flush
-	bx	lr
-endfunc plat_crash_console_flush
-
-#endif
diff --git a/plat/common/aarch32/plat_sp_min_common.c b/plat/common/aarch32/plat_sp_min_common.c
index 3bc84b1ad..949358738 100644
--- a/plat/common/aarch32/plat_sp_min_common.c
+++ b/plat/common/aarch32/plat_sp_min_common.c
@@ -21,9 +21,5 @@ void sp_min_plat_runtime_setup(void)
 	 * Finish the use of console driver in SP_MIN so that any runtime logs
 	 * from SP_MIN will be suppressed.
 	 */
-#if MULTI_CONSOLE_API
 	console_switch_state(CONSOLE_FLAG_RUNTIME);
-#else
-	console_uninit();
-#endif
 }
diff --git a/plat/common/aarch64/crash_console_helpers.S b/plat/common/aarch64/crash_console_helpers.S
index 491a99d36..2a48baf0a 100644
--- a/plat/common/aarch64/crash_console_helpers.S
+++ b/plat/common/aarch64/crash_console_helpers.S
@@ -16,10 +16,6 @@
 	.globl	plat_crash_console_putc
 	.globl	plat_crash_console_flush
 
-#if !MULTI_CONSOLE_API
-#error "This crash console implementation only works with the MULTI_CONSOLE_API!"
-#endif
-
 	/*
 	 * Spinlock to syncronize access to crash_console_triggered. We cannot
 	 * acquire spinlocks when the cache is disabled, so in some cases (like
diff --git a/plat/common/aarch64/plat_common.c b/plat/common/aarch64/plat_common.c
index 1424c7894..f8d312952 100644
--- a/plat/common/aarch64/plat_common.c
+++ b/plat/common/aarch64/plat_common.c
@@ -30,11 +30,7 @@
 
 void bl31_plat_runtime_setup(void)
 {
-#if MULTI_CONSOLE_API
 	console_switch_state(CONSOLE_FLAG_RUNTIME);
-#else
-	console_uninit();
-#endif
 }
 
 /*
diff --git a/plat/hisilicon/hikey/platform.mk b/plat/hisilicon/hikey/platform.mk
index 99887eeef..7fd897cda 100644
--- a/plat/hisilicon/hikey/platform.mk
+++ b/plat/hisilicon/hikey/platform.mk
@@ -20,7 +20,6 @@ endif
 
 CONSOLE_BASE			:=	PL011_UART3_BASE
 CRASH_CONSOLE_BASE		:=	PL011_UART3_BASE
-MULTI_CONSOLE_API		:=	1
 PLAT_PARTITION_MAX_ENTRIES	:=	12
 PLAT_PL061_MAX_GPIOS		:=	160
 COLD_BOOT_SINGLE_CPU		:=	1
diff --git a/plat/hisilicon/hikey960/platform.mk b/plat/hisilicon/hikey960/platform.mk
index 8ff303fdc..4f2c3c699 100644
--- a/plat/hisilicon/hikey960/platform.mk
+++ b/plat/hisilicon/hikey960/platform.mk
@@ -17,7 +17,6 @@ else
   $(error "Currently unsupported HIKEY960_TSP_RAM_LOCATION value")
 endif
 
-MULTI_CONSOLE_API		:=	1
 CRASH_CONSOLE_BASE		:=	PL011_UART6_BASE
 COLD_BOOT_SINGLE_CPU		:=	1
 PLAT_PL061_MAX_GPIOS		:=	176
diff --git a/plat/hisilicon/poplar/platform.mk b/plat/hisilicon/poplar/platform.mk
index a1535a4d4..b5d986760 100644
--- a/plat/hisilicon/poplar/platform.mk
+++ b/plat/hisilicon/poplar/platform.mk
@@ -46,7 +46,6 @@ ERRATA_A53_855873		:= 1
 ERRATA_A53_835769		:= 1
 ERRATA_A53_843419		:= 1
 ENABLE_SVE_FOR_NS		:= 0
-MULTI_CONSOLE_API		:= 1
 WORKAROUND_CVE_2017_5715	:= 0
 
 PLAT_PL061_MAX_GPIOS 		:= 104
diff --git a/plat/imx/imx7/warp7/platform.mk b/plat/imx/imx7/warp7/platform.mk
index 6cd7566e9..d26676826 100644
--- a/plat/imx/imx7/warp7/platform.mk
+++ b/plat/imx/imx7/warp7/platform.mk
@@ -119,9 +119,6 @@ SEPARATE_CODE_AND_RODATA	:= 1
 # Use Coherent memory
 USE_COHERENT_MEM		:= 1
 
-# Use multi console API
-MULTI_CONSOLE_API               := 1
-
 # PLAT_WARP7_UART
 PLAT_WARP7_UART			:=1
 $(eval $(call add_define,PLAT_WARP7_UART))
diff --git a/plat/imx/imx8m/imx8mm/platform.mk b/plat/imx/imx8m/imx8mm/platform.mk
index bd1c05839..a3d249a65 100644
--- a/plat/imx/imx8m/imx8mm/platform.mk
+++ b/plat/imx/imx8m/imx8mm/platform.mk
@@ -39,7 +39,6 @@ BL31_SOURCES		+=	plat/imx/common/imx8_helpers.S			\
 USE_COHERENT_MEM	:=	1
 RESET_TO_BL31		:=	1
 A53_DISABLE_NON_TEMPORAL_HINT := 0
-MULTI_CONSOLE_API	:=	1
 
 ERRATA_A53_835769	:=	1
 ERRATA_A53_843419	:=	1
diff --git a/plat/imx/imx8m/imx8mq/platform.mk b/plat/imx/imx8m/imx8mq/platform.mk
index c6bec6f3c..d6879bf74 100644
--- a/plat/imx/imx8m/imx8mq/platform.mk
+++ b/plat/imx/imx8m/imx8mq/platform.mk
@@ -39,7 +39,6 @@ BL31_SOURCES		+=	plat/imx/common/imx8_helpers.S			\
 USE_COHERENT_MEM	:=	1
 RESET_TO_BL31		:=	1
 A53_DISABLE_NON_TEMPORAL_HINT := 0
-MULTI_CONSOLE_API	:=	1
 
 ERRATA_A53_835769	:=	1
 ERRATA_A53_843419	:=	1
diff --git a/plat/imx/imx8qm/platform.mk b/plat/imx/imx8qm/platform.mk
index ed6108d8d..3a772e51a 100644
--- a/plat/imx/imx8qm/platform.mk
+++ b/plat/imx/imx8qm/platform.mk
@@ -36,7 +36,6 @@ include plat/imx/common/sci/sci_api.mk
 USE_COHERENT_MEM	:=	1
 RESET_TO_BL31		:=	1
 A53_DISABLE_NON_TEMPORAL_HINT := 0
-MULTI_CONSOLE_API	:=	1
 ERRATA_A72_859971	:=	1
 
 ERRATA_A53_835769	:=	1
diff --git a/plat/imx/imx8qx/platform.mk b/plat/imx/imx8qx/platform.mk
index eeb1f34ed..d5629d124 100644
--- a/plat/imx/imx8qx/platform.mk
+++ b/plat/imx/imx8qx/platform.mk
@@ -33,4 +33,3 @@ include plat/imx/common/sci/sci_api.mk
 
 USE_COHERENT_MEM	:=	1
 RESET_TO_BL31		:=	1
-MULTI_CONSOLE_API	:=	1
diff --git a/plat/intel/soc/stratix10/platform.mk b/plat/intel/soc/stratix10/platform.mk
index fdd6e45b0..fd91e58ad 100644
--- a/plat/intel/soc/stratix10/platform.mk
+++ b/plat/intel/soc/stratix10/platform.mk
@@ -67,5 +67,4 @@ BL31_SOURCES	+=	drivers/arm/cci/cci.c				\
 
 PROGRAMMABLE_RESET_ADDRESS	:= 0
 BL2_AT_EL3			:= 1
-MULTI_CONSOLE_API		:= 1
 USE_COHERENT_MEM		:= 1
diff --git a/plat/layerscape/board/ls1043/platform.mk b/plat/layerscape/board/ls1043/platform.mk
index 2e0e59bd5..d716c61e2 100644
--- a/plat/layerscape/board/ls1043/platform.mk
+++ b/plat/layerscape/board/ls1043/platform.mk
@@ -56,9 +56,6 @@ BL31_SOURCES			+=	plat/layerscape/board/ls1043/ls1043_bl31_setup.c		\
 					${LS1043_INTERCONNECT_SOURCES}			\
 					${LS1043_SECURITY_SOURCES}
 
-# Disable the PSCI platform compatibility layer
-MULTI_CONSOLE_API		:=	1
-
 # Enable workarounds for selected Cortex-A53 erratas.
 ERRATA_A53_855873		:=	1
 
diff --git a/plat/layerscape/common/aarch64/ls_console.S b/plat/layerscape/common/aarch64/ls_console.S
index a3c270dcd..f8948b4ab 100644
--- a/plat/layerscape/common/aarch64/ls_console.S
+++ b/plat/layerscape/common/aarch64/ls_console.S
@@ -78,7 +78,6 @@ init_fail:
 	ret
 endfunc console_ls_16550_core_init
 
-#if MULTI_CONSOLE_API
 	.globl console_ls_16550_register
 
 	/* -----------------------------------------------
@@ -111,16 +110,6 @@ func console_ls_16550_register
 register_fail:
 	ret	x7
 endfunc console_ls_16550_register
-#else
-	.globl console_core_init
-	.globl console_core_putc
-	.globl console_core_getc
-	.globl console_core_flush
-	.equ console_core_init,console_ls_16550_core_init
-	.equ console_core_putc,console_ls_16550_core_putc
-	.equ console_core_getc,console_ls_16550_core_getc
-	.equ console_core_flush,console_ls_16550_core_flush
-#endif
 
 	/* --------------------------------------------------------
 	 * int console_ls_16550_core_putc(int c, uintptr_t base_addr)
diff --git a/plat/layerscape/common/aarch64/ls_helpers.S b/plat/layerscape/common/aarch64/ls_helpers.S
index bbddd0b51..5aa549777 100644
--- a/plat/layerscape/common/aarch64/ls_helpers.S
+++ b/plat/layerscape/common/aarch64/ls_helpers.S
@@ -49,7 +49,6 @@ endfunc plat_ls_calc_core_pos
 	 * ---------------------------------------------
 	 */
 
-#if MULTI_CONSOLE_API
 	/* -----------------------------------------------------
 	 * int plat_crash_console_init(void)
 	 * Use normal console by default. Switch it to crash
@@ -101,45 +100,6 @@ func plat_crash_console_flush
 	b	console_flush
 endfunc plat_crash_console_flush
 
-#else	/* MULTI_CONSOLE_API */
-
-	/* -----------------------------------------------------
-	 * In the old API these are all no-op stubs that need to
-	 * be overridden by the platform to be useful.
-	 * -----------------------------------------------------
-	 */
-func plat_crash_console_init
-	mov_imm	x0, PLAT_LS1043_UART_BASE
-	mov_imm	x1, PLAT_LS1043_UART_CLOCK
-	mov_imm	x2, PLAT_LS1043_UART_BAUDRATE
-	b	console_core_init
-endfunc plat_crash_console_init
-
-	/* ---------------------------------------------
-	 * int plat_crash_console_putc(int c)
-	 * Function to print a character on the crash
-	 * console without a C Runtime.
-	 * Clobber list : x1, x2
-	 * ---------------------------------------------
-	 */
-func plat_crash_console_putc
-	mov_imm	x1, PLAT_LS1043_UART_BASE
-	b	console_core_putc
-endfunc plat_crash_console_putc
-
-	/* ---------------------------------------------
-	 * int plat_crash_console_flush()
-	 * Function to force a write of all buffered
-	 * data that hasn't been output.
-	 * Out : return -1 on error else return 0.
-	 * Clobber list : r0 - r1
-	 * ---------------------------------------------
-	 */
-func plat_crash_console_flush
-	mov_imm	x1, PLAT_LS1043_UART_BASE
-	b	console_core_flush
-endfunc plat_crash_console_flush
-#endif
 	/* ---------------------------------------------------------------------
 	 * We don't need to carry out any memory initialization on LS
 	 * platforms. The Secure SRAM is accessible straight away.
diff --git a/plat/marvell/common/marvell_common.mk b/plat/marvell/common/marvell_common.mk
index a12826195..5c8e804f2 100644
--- a/plat/marvell/common/marvell_common.mk
+++ b/plat/marvell/common/marvell_common.mk
@@ -11,8 +11,6 @@ include $(MARVELL_PLAT_BASE)/marvell.mk
 
 VERSION_STRING			+=(Marvell-${SUBVERSION})
 
-MULTI_CONSOLE_API		:= 1
-
 SEPARATE_CODE_AND_RODATA	:= 1
 
 # flag to switch from PLL to ARO
diff --git a/plat/meson/gxbb/platform.mk b/plat/meson/gxbb/platform.mk
index 9669bf959..9e65040b9 100644
--- a/plat/meson/gxbb/platform.mk
+++ b/plat/meson/gxbb/platform.mk
@@ -57,16 +57,9 @@ SEPARATE_CODE_AND_RODATA	:= 1
 # Use Coherent memory
 USE_COHERENT_MEM		:= 1
 
-# Use multi console API
-MULTI_CONSOLE_API		:= 1
-
 # Verify build config
 # -------------------
 
-ifneq (${MULTI_CONSOLE_API}, 1)
-  $(error Error: gxbb needs MULTI_CONSOLE_API=1)
-endif
-
 ifneq (${RESET_TO_BL31}, 0)
   $(error Error: gxbb needs RESET_TO_BL31=0)
 endif
diff --git a/plat/meson/gxl/platform.mk b/plat/meson/gxl/platform.mk
index ea4aead72..a788e9639 100644
--- a/plat/meson/gxl/platform.mk
+++ b/plat/meson/gxl/platform.mk
@@ -62,16 +62,9 @@ SEPARATE_CODE_AND_RODATA	:= 1
 # Use Coherent memory
 USE_COHERENT_MEM		:= 1
 
-# Use multi console API
-MULTI_CONSOLE_API		:= 1
-
 # Verify build config
 # -------------------
 
-ifneq (${MULTI_CONSOLE_API}, 1)
-  $(error Error: gxl needs MULTI_CONSOLE_API=1)
-endif
-
 ifneq (${RESET_TO_BL31}, 0)
   $(error Error: gxl needs RESET_TO_BL31=0)
 endif
diff --git a/plat/qemu/platform.mk b/plat/qemu/platform.mk
index f086ddc6c..85d83eaa7 100644
--- a/plat/qemu/platform.mk
+++ b/plat/qemu/platform.mk
@@ -151,12 +151,6 @@ ifneq ($(ENABLE_STACK_PROTECTOR), 0)
 	PLAT_BL_COMMON_SOURCES += plat/qemu/qemu_stack_protector.c
 endif
 
-# Use MULTI_CONSOLE_API by default only on AArch64
-# as it is not yet supported on AArch32
-ifeq ($(ARCH),aarch64)
-MULTI_CONSOLE_API	:= 1
-endif
-
 BL32_RAM_LOCATION	:=	tdram
 ifeq (${BL32_RAM_LOCATION}, tsram)
   BL32_RAM_LOCATION_ID = SEC_SRAM_ID
diff --git a/plat/qemu/qemu_console.c b/plat/qemu/qemu_console.c
index 759f997dc..fec182892 100644
--- a/plat/qemu/qemu_console.c
+++ b/plat/qemu/qemu_console.c
@@ -9,23 +9,15 @@
 #include <drivers/console.h>
 #include <drivers/arm/pl011.h>
 
-#if MULTI_CONSOLE_API
 static console_pl011_t console;
-#endif /* MULTI_CONSOLE_API */
 
 void qemu_console_init(void)
 {
-#if MULTI_CONSOLE_API
 	(void)console_pl011_register(PLAT_QEMU_BOOT_UART_BASE,
 			       PLAT_QEMU_BOOT_UART_CLK_IN_HZ,
 			       PLAT_QEMU_CONSOLE_BAUDRATE, &console);
 
 	console_set_scope(&console.console, CONSOLE_FLAG_BOOT |
 			  CONSOLE_FLAG_RUNTIME);
-#else
-	console_init(PLAT_QEMU_BOOT_UART_BASE,
-		     PLAT_QEMU_BOOT_UART_CLK_IN_HZ,
-		     PLAT_QEMU_CONSOLE_BAUDRATE);
-#endif /* MULTI_CONSOLE_API */
 }
 
diff --git a/plat/rockchip/rk3328/platform.mk b/plat/rockchip/rk3328/platform.mk
index 3e7033049..fa207aa50 100644
--- a/plat/rockchip/rk3328/platform.mk
+++ b/plat/rockchip/rk3328/platform.mk
@@ -51,8 +51,6 @@ BL31_SOURCES		+=	${RK_GIC_SOURCES}				\
 				${RK_PLAT_SOC}/drivers/pmu/pmu.c		\
 				${RK_PLAT_SOC}/drivers/soc/soc.c
 
-MULTI_CONSOLE_API	:=	1
-
 include lib/coreboot/coreboot.mk
 include lib/libfdt/libfdt.mk
 
diff --git a/plat/rockchip/rk3368/platform.mk b/plat/rockchip/rk3368/platform.mk
index 51368dea9..f8878f1db 100644
--- a/plat/rockchip/rk3368/platform.mk
+++ b/plat/rockchip/rk3368/platform.mk
@@ -50,8 +50,6 @@ BL31_SOURCES		+=	${RK_GIC_SOURCES}				\
 				${RK_PLAT_SOC}/drivers/soc/soc.c		\
 				${RK_PLAT_SOC}/drivers/ddr/ddr_rk3368.c		\
 
-MULTI_CONSOLE_API	:=	1
-
 include lib/coreboot/coreboot.mk
 include lib/libfdt/libfdt.mk
 
diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk
index f917f61ba..1d81d7e9f 100644
--- a/plat/rockchip/rk3399/platform.mk
+++ b/plat/rockchip/rk3399/platform.mk
@@ -67,8 +67,6 @@ BL31_SOURCES	+=	${RK_GIC_SOURCES}				\
 			${RK_PLAT_SOC}/drivers/dram/dram_spec_timing.c	\
 			${RK_PLAT_SOC}/drivers/dram/suspend.c
 
-MULTI_CONSOLE_API	:=	1
-
 include lib/coreboot/coreboot.mk
 include lib/libfdt/libfdt.mk
 
diff --git a/plat/rpi3/platform.mk b/plat/rpi3/platform.mk
index ca638d591..f238cd61d 100644
--- a/plat/rpi3/platform.mk
+++ b/plat/rpi3/platform.mk
@@ -102,9 +102,6 @@ SEPARATE_CODE_AND_RODATA	:= 1
 # Use Coherent memory
 USE_COHERENT_MEM		:= 1
 
-# Use multi console API
-MULTI_CONSOLE_API		:= 1
-
 # Platform build flags
 # --------------------
 
@@ -152,10 +149,6 @@ ifneq (${RPI3_DIRECT_LINUX_BOOT}, 0)
   endif
 endif
 
-ifneq (${MULTI_CONSOLE_API}, 1)
-  $(error Error: rpi3 needs MULTI_CONSOLE_API=1)
-endif
-
 ifneq (${RESET_TO_BL31}, 0)
   $(error Error: rpi3 needs RESET_TO_BL31=0)
 endif
diff --git a/plat/socionext/synquacer/platform.mk b/plat/socionext/synquacer/platform.mk
index f5e72cb64..fe1448ff1 100644
--- a/plat/socionext/synquacer/platform.mk
+++ b/plat/socionext/synquacer/platform.mk
@@ -5,7 +5,6 @@
 #
 
 override RESET_TO_BL31			:= 1
-override MULTI_CONSOLE_API		:= 1
 override PROGRAMMABLE_RESET_ADDRESS	:= 1
 override USE_COHERENT_MEM		:= 1
 override SEPARATE_CODE_AND_RODATA	:= 1
diff --git a/plat/st/stm32mp1/platform.mk b/plat/st/stm32mp1/platform.mk
index f6bf9f3f4..0ea7bbb8e 100644
--- a/plat/st/stm32mp1/platform.mk
+++ b/plat/st/stm32mp1/platform.mk
@@ -8,7 +8,6 @@ ARM_CORTEX_A7		:=	yes
 ARM_WITH_NEON		:=	yes
 BL2_AT_EL3		:=	1
 USE_COHERENT_MEM	:=	0
-MULTI_CONSOLE_API	:=	1
 
 STM32_TF_VERSION	?=	0
 
diff --git a/plat/ti/k3/common/plat_common.mk b/plat/ti/k3/common/plat_common.mk
index 83e9c62a0..f154a9600 100644
--- a/plat/ti/k3/common/plat_common.mk
+++ b/plat/ti/k3/common/plat_common.mk
@@ -28,7 +28,6 @@ ERRATA_A72_859971	:=	1
 # Split out RO data into a non-executable section
 SEPARATE_CODE_AND_RODATA :=    1
 
-MULTI_CONSOLE_API	:=	1
 TI_16550_MDR_QUIRK	:=	1
 $(eval $(call add_define,TI_16550_MDR_QUIRK))
 
diff --git a/plat/xilinx/versal/platform.mk b/plat/xilinx/versal/platform.mk
index 1532d9285..1c56364c8 100644
--- a/plat/xilinx/versal/platform.mk
+++ b/plat/xilinx/versal/platform.mk
@@ -8,7 +8,6 @@ A53_DISABLE_NON_TEMPORAL_HINT := 0
 SEPARATE_CODE_AND_RODATA := 1
 override RESET_TO_BL31 := 1
 PL011_GENERIC_UART := 1
-MULTI_CONSOLE_API := 1
 
 ifdef VERSAL_ATF_MEM_BASE
     $(eval $(call add_define,VERSAL_ATF_MEM_BASE))
-- 
GitLab