xref: /rk3399_ARM-atf/plat/xilinx/common/include/plat_console.h (revision cca2b86597c288c165cf66ab1c116e0d64ed2cd6)
139234622SPrasad Kummari /*
239234622SPrasad Kummari  * Copyright (c) 2023, Advanced Micro Devices, Inc. All rights reserved.
339234622SPrasad Kummari  *
439234622SPrasad Kummari  * SPDX-License-Identifier: BSD-3-Clause
539234622SPrasad Kummari  */
639234622SPrasad Kummari 
739234622SPrasad Kummari #ifndef PLAT_DT_UART_H
839234622SPrasad Kummari #define PLAT_DT_UART_H
939234622SPrasad Kummari 
1039234622SPrasad Kummari #define DT_UART_DCC_COMPAT	"arm,dcc"
11d2e00eeaSMaheedhar Bollapalli #define DT_UART_CAD_COMPAT	"xlnx,zynqmp-uart"
12d2e00eeaSMaheedhar Bollapalli #define DT_UART_PL011_COMPAT	"arm,pl011"
1339234622SPrasad Kummari 
144557ab69SPrasad Kummari /* Default console type is either CADENCE0 or CADENCE1 or PL011_0 or PL011_1
154557ab69SPrasad Kummari  * Debug console type is DCC
16d2e00eeaSMaheedhar Bollapalli  */
17*cca2b865SMichal Simek #define CONSOLE_NONE	0
18*cca2b865SMichal Simek #define CONSOLE_CDNS	1
19*cca2b865SMichal Simek #define CONSOLE_PL011   2
20*cca2b865SMichal Simek #define CONSOLE_DCC	3
21d2e00eeaSMaheedhar Bollapalli 
22d2e00eeaSMaheedhar Bollapalli typedef struct console_hd {
23d2e00eeaSMaheedhar Bollapalli 	uint32_t clk;
24d2e00eeaSMaheedhar Bollapalli 	uint32_t baud_rate;
25d2e00eeaSMaheedhar Bollapalli 	uintptr_t base;
26d2e00eeaSMaheedhar Bollapalli 	uint32_t console_scope;
27d2e00eeaSMaheedhar Bollapalli 	uint8_t console_type;
28d2e00eeaSMaheedhar Bollapalli } console_holder;
294557ab69SPrasad Kummari 
3039234622SPrasad Kummari typedef struct dt_uart_info_s {
3139234622SPrasad Kummari 	char compatible[30];
3239234622SPrasad Kummari 	uintptr_t base;
3339234622SPrasad Kummari 	uint32_t baud_rate;
34d2e00eeaSMaheedhar Bollapalli 	uint8_t console_type;
3539234622SPrasad Kummari } dt_uart_info_t;
3639234622SPrasad Kummari 
3739234622SPrasad Kummari void setup_console(void);
3839234622SPrasad Kummari 
3939234622SPrasad Kummari #endif /* PLAT_DT_UART_H */
40