diff options
author | Marek Vasut <marek.vasut+renesas@gmail.com> | 2019-05-18 19:29:16 +0200 |
---|---|---|
committer | Marek Vasut <marek.vasut+renesas@gmail.com> | 2019-06-14 00:16:55 +0200 |
commit | 018358fc37861f0c5a8c764eb7e897ecce474520 (patch) | |
tree | 74c0f8ce6fa1cd77c78d34d1161358c9e582d0cf /plat/renesas | |
parent | e1368771bae5566f63ce5467df480baa6c135b39 (diff) | |
download | trusted-firmware-a-018358fc37861f0c5a8c764eb7e897ecce474520.tar.gz |
rcar_gen3: console: Convert to multi-console API
Convert the R-Car Gen3 platform and both SCIF and Log drivers
to multi-console API.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Change-Id: I18556973937d150b60453f9150d54ee612571e35
Diffstat (limited to 'plat/renesas')
-rw-r--r-- | plat/renesas/rcar/aarch64/plat_helpers.S | 15 | ||||
-rw-r--r-- | plat/renesas/rcar/bl2_plat_setup.c | 5 | ||||
-rw-r--r-- | plat/renesas/rcar/bl31_plat_setup.c | 6 | ||||
-rw-r--r-- | plat/renesas/rcar/include/rcar_private.h | 7 | ||||
-rw-r--r-- | plat/renesas/rcar/platform.mk | 3 | ||||
-rw-r--r-- | plat/renesas/rcar/rcar_common.c | 35 |
6 files changed, 56 insertions, 15 deletions
diff --git a/plat/renesas/rcar/aarch64/plat_helpers.S b/plat/renesas/rcar/aarch64/plat_helpers.S index ae0d675d35..61dd622871 100644 --- a/plat/renesas/rcar/aarch64/plat_helpers.S +++ b/plat/renesas/rcar/aarch64/plat_helpers.S @@ -1,6 +1,6 @@ /* * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. - * Copyright (c) 2015-2018, Renesas Electronics Corporation. All rights reserved. + * Copyright (c) 2015-2019, Renesas Electronics Corporation. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -20,7 +20,7 @@ .globl plat_crash_console_init .globl plat_crash_console_putc - .globl plat_crash_console_flush + .globl plat_crash_console_flush .globl plat_invalidate_icache .globl plat_report_exception .globl plat_secondary_reset @@ -28,6 +28,10 @@ .globl plat_my_core_pos .extern rcar_log_init + .extern console_rcar_init + .extern console_rcar_putc + .extern console_rcar_flush + #if IMAGE_BL2 #define INT_ID_MASK (0x3ff) .extern bl2_interrupt_error_type @@ -258,7 +262,7 @@ func plat_crash_console_init mov sp, x2 str x1, [sp, #-16]! str x30, [sp, #-16]! - bl console_core_init + bl console_rcar_init ldr x30, [sp], #16 ldr x1, [sp], #16 mov sp, x1 @@ -280,7 +284,7 @@ func plat_crash_console_putc str x3, [sp, #-16]! str x4, [sp, #-16]! str x5, [sp, #-16]! - bl console_core_putc + bl console_rcar_putc ldr x5, [sp], #16 ldr x4, [sp], #16 ldr x3, [sp], #16 @@ -292,11 +296,10 @@ endfunc plat_crash_console_putc /* --------------------------------------------- * int plat_crash_console_flush() - * * --------------------------------------------- */ func plat_crash_console_flush - b console_flush + b console_rcar_flush endfunc plat_crash_console_flush /* -------------------------------------------------------------------- diff --git a/plat/renesas/rcar/bl2_plat_setup.c b/plat/renesas/rcar/bl2_plat_setup.c index a21d6ab61c..3c9b56f4ec 100644 --- a/plat/renesas/rcar/bl2_plat_setup.c +++ b/plat/renesas/rcar/bl2_plat_setup.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, Renesas Electronics Corporation. All rights reserved. + * Copyright (c) 2018-2019, Renesas Electronics Corporation. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -686,8 +686,7 @@ void bl2_el3_early_platform_setup(u_register_t arg1, u_register_t arg2, if (boot_cpu == MODEMR_BOOT_CPU_CA57 || boot_cpu == MODEMR_BOOT_CPU_CA53) { rcar_pfc_init(); - /* console configuration (platform specific) done in driver */ - console_init(0, 0, 0); + rcar_console_boot_init(); } plat_rcar_gic_driver_init(); diff --git a/plat/renesas/rcar/bl31_plat_setup.c b/plat/renesas/rcar/bl31_plat_setup.c index add3e34f69..4fff233e75 100644 --- a/plat/renesas/rcar/bl31_plat_setup.c +++ b/plat/renesas/rcar/bl31_plat_setup.c @@ -1,6 +1,6 @@ /* * Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved. - * Copyright (c) 2015-2017, Renesas Electronics Corporation. All rights reserved. + * Copyright (c) 2015-2019, Renesas Electronics Corporation. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -79,9 +79,7 @@ struct entry_point_info *bl31_plat_get_next_image_ep_info(uint32_t type) void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, u_register_t arg2, u_register_t arg3) { - /* dummy config: the actual console configuration (platform specific) - is done in the driver (scif.c) */ - console_init(1, 0, 0); + rcar_console_runtime_init(); NOTICE("BL3-1 : Rev.%s\n", version_of_renesas); diff --git a/plat/renesas/rcar/include/rcar_private.h b/plat/renesas/rcar/include/rcar_private.h index def327605c..a76c0238b4 100644 --- a/plat/renesas/rcar/include/rcar_private.h +++ b/plat/renesas/rcar/include/rcar_private.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2018, Renesas Electronics Corporation. All rights reserved. + * Copyright (c) 2015-2019, Renesas Electronics Corporation. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -99,4 +99,9 @@ void plat_cci_init(void); void mstpcr_write(uint32_t mstpcr, uint32_t mstpsr, uint32_t target_bit); void cpg_write(uintptr_t regadr, uint32_t regval); +void rcar_console_boot_init(void); +void rcar_console_boot_end(void); +void rcar_console_runtime_init(void); +void rcar_console_runtime_end(void); + #endif /* RCAR_PRIVATE_H */ diff --git a/plat/renesas/rcar/platform.mk b/plat/renesas/rcar/platform.mk index 85cbe0701b..3b3ca1995d 100644 --- a/plat/renesas/rcar/platform.mk +++ b/plat/renesas/rcar/platform.mk @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, Renesas Electronics Corporation. All rights reserved. +# Copyright (c) 2018-2019, Renesas Electronics Corporation. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -12,6 +12,7 @@ RESET_TO_BL31 := 1 GENERATE_COT := 1 BL2_AT_EL3 := 1 ENABLE_SVE_FOR_NS := 0 +MULTI_CONSOLE_API := 1 CRASH_REPORTING := 1 HANDLE_EA_EL3_FIRST := 1 diff --git a/plat/renesas/rcar/rcar_common.c b/plat/renesas/rcar/rcar_common.c index b83df8b26f..d24d71af3b 100644 --- a/plat/renesas/rcar/rcar_common.c +++ b/plat/renesas/rcar/rcar_common.c @@ -67,3 +67,38 @@ void plat_ea_handler(unsigned int ea_reason, uint64_t syndrome, void *cookie, panic(); } + +#include <drivers/renesas/rcar/console/console.h> + +static console_rcar_t rcar_boot_console; +static console_rcar_t rcar_runtime_console; + +void rcar_console_boot_init(void) +{ + int ret; + + ret = console_rcar_register(0, 0, 0, &rcar_boot_console); + if (!ret) + panic(); + + console_set_scope(&rcar_boot_console.console, CONSOLE_FLAG_BOOT); +} + +void rcar_console_boot_end(void) +{ +} + +void rcar_console_runtime_init(void) +{ + int ret; + + ret = console_rcar_register(1, 0, 0, &rcar_runtime_console); + if (!ret) + panic(); + + console_set_scope(&rcar_boot_console.console, CONSOLE_FLAG_RUNTIME); +} + +void rcar_console_runtime_end(void) +{ +} |