diff options
author | Andre Przywara <andre.przywara@arm.com> | 2020-01-25 00:58:35 +0000 |
---|---|---|
committer | Andre Przywara <andre.przywara@arm.com> | 2020-02-25 09:34:38 +0000 |
commit | 489e298744fa668bd46661237f81cd9ba05e3b4e (patch) | |
tree | 8725e9acf5f96d728d56d56273576e79de18dbc2 | |
parent | ac71344e9eca1f7d1e0ce4a67aca776470639b1c (diff) | |
download | arm-trusted-firmware-489e298744fa668bd46661237f81cd9ba05e3b4e.tar.gz |
meson: Use generic console_t data structure
Since now the generic console_t structure holds the UART base address as
well, let's use that generic location and drop the UART driver specific
data structure at all.
Change-Id: I07a07677153d3671ced776671e4f107824d3df16
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
-rw-r--r-- | drivers/amlogic/console/aarch64/meson_console.S | 18 | ||||
-rw-r--r-- | include/drivers/amlogic/meson_console.h | 9 | ||||
-rw-r--r-- | plat/amlogic/common/aml_console.c | 4 |
3 files changed, 12 insertions, 19 deletions
diff --git a/drivers/amlogic/console/aarch64/meson_console.S b/drivers/amlogic/console/aarch64/meson_console.S index e645cbab8..39c2545e7 100644 --- a/drivers/amlogic/console/aarch64/meson_console.S +++ b/drivers/amlogic/console/aarch64/meson_console.S @@ -46,14 +46,14 @@ /* ----------------------------------------------- * int console_meson_register(uintptr_t base, * uint32_t clk, uint32_t baud, - * console_meson_t *console); + * console_t *console); * Function to initialize and register a new MESON * console. Storage passed in for the console struct * *must* be persistent (i.e. not from the stack). * In: x0 - UART register base address * w1 - UART clock in Hz * w2 - Baud rate - * x3 - pointer to empty console_meson_t struct + * x3 - pointer to empty console_t struct * Out: return 1 on success, 0 on error * Clobber list : x0, x1, x2, x6, x7, x14 * ----------------------------------------------- @@ -62,7 +62,7 @@ func console_meson_register mov x7, x30 mov x6, x3 cbz x6, register_fail - str x0, [x6, #CONSOLE_T_MESON_BASE] + str x0, [x6, #CONSOLE_T_BASE] bl console_meson_init cbz x0, register_fail @@ -128,7 +128,7 @@ init_fail: endfunc console_meson_init /* -------------------------------------------------------- - * int console_meson_putc(int c, console_meson_t *console) + * int console_meson_putc(int c, console_t *console) * Function to output a character over the console. It * returns the character printed on success or -1 on error. * In : w0 - character to be printed @@ -142,7 +142,7 @@ func console_meson_putc cmp x1, #0 ASM_ASSERT(ne) #endif /* ENABLE_ASSERTIONS */ - ldr x1, [x1, #CONSOLE_T_MESON_BASE] + ldr x1, [x1, #CONSOLE_T_BASE] b console_meson_core_putc endfunc console_meson_putc @@ -179,7 +179,7 @@ func console_meson_core_putc endfunc console_meson_core_putc /* --------------------------------------------- - * int console_meson_getc(console_meson_t *console) + * int console_meson_getc(console_t *console) * Function to get a character from the console. * It returns the character grabbed on success * or -1 if no character is available. @@ -193,7 +193,7 @@ func console_meson_getc cmp x0, #0 ASM_ASSERT(ne) #endif /* ENABLE_ASSERTIONS */ - ldr x0, [x0, #CONSOLE_T_MESON_BASE] + ldr x0, [x0, #CONSOLE_T_BASE] b console_meson_core_getc endfunc console_meson_getc @@ -224,7 +224,7 @@ func console_meson_core_getc endfunc console_meson_core_getc /* --------------------------------------------- - * int console_meson_flush(console_meson_t *console) + * int console_meson_flush(console_t *console) * Function to force a write of all buffered * data that hasn't been output. * In : x0 - pointer to console_t structure @@ -237,7 +237,7 @@ func console_meson_flush cmp x0, #0 ASM_ASSERT(ne) #endif /* ENABLE_ASSERTIONS */ - ldr x0, [x0, #CONSOLE_T_MESON_BASE] + ldr x0, [x0, #CONSOLE_T_BASE] b console_meson_core_flush endfunc console_meson_flush diff --git a/include/drivers/amlogic/meson_console.h b/include/drivers/amlogic/meson_console.h index 70e3b0bd4..8d52d794b 100644 --- a/include/drivers/amlogic/meson_console.h +++ b/include/drivers/amlogic/meson_console.h @@ -9,17 +9,10 @@ #include <drivers/console.h> -#define CONSOLE_T_MESON_BASE CONSOLE_T_DRVDATA - #ifndef __ASSEMBLER__ #include <stdint.h> -typedef struct { - console_t console; - uintptr_t base; -} console_meson_t; - /* * Initialize a new meson console instance and register it with the console * framework. The |console| pointer must point to storage that will be valid @@ -30,7 +23,7 @@ typedef struct { * order to make this function future-proof. */ int console_meson_register(uintptr_t baseaddr, uint32_t clock, uint32_t baud, - console_meson_t *console); + console_t *console); #endif /*__ASSEMBLER__*/ diff --git a/plat/amlogic/common/aml_console.c b/plat/amlogic/common/aml_console.c index 352279b6c..e21d707a0 100644 --- a/plat/amlogic/common/aml_console.c +++ b/plat/amlogic/common/aml_console.c @@ -11,7 +11,7 @@ /******************************************************************************* * Function that sets up the console ******************************************************************************/ -static console_meson_t aml_console; +static console_t aml_console; void aml_console_init(void) { @@ -28,6 +28,6 @@ void aml_console_init(void) panic(); } - console_set_scope(&aml_console.console, + console_set_scope(&aml_console, CONSOLE_FLAG_BOOT | CONSOLE_FLAG_RUNTIME); } |