xref: /rk3399_ARM-atf/include/drivers/amlogic/meson_console.h (revision 530ceda57288aa931d0c8ba7b3066340d587cc9b)
1 /*
2  * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef MESON_CONSOLE_H
8 #define MESON_CONSOLE_H
9 
10 #include <drivers/console.h>
11 
12 #define CONSOLE_T_MESON_BASE	CONSOLE_T_DRVDATA
13 
14 #ifndef __ASSEMBLER__
15 
16 #include <stdint.h>
17 
18 typedef struct {
19 	console_t console;
20 	uintptr_t base;
21 } console_meson_t;
22 
23 /*
24  * Initialize a new meson console instance and register it with the console
25  * framework. The |console| pointer must point to storage that will be valid
26  * for the lifetime of the console, such as a global or static local variable.
27  * Its contents will be reinitialized from scratch.
28  *
29  * NOTE: The clock is actually fixed to 24 MHz. The argument is only there in
30  * order to make this function future-proof.
31  */
32 int console_meson_register(uintptr_t baseaddr, uint32_t clock, uint32_t baud,
33 			   console_meson_t *console);
34 
35 #endif /*__ASSEMBLER__*/
36 
37 #endif /* MESON_CONSOLE_H */
38