blob: 9f212ec80847aa5f95b592e8df08f570fe3e0360 [file] [log] [blame]
Prasad Kummarib72494e2023-09-19 22:15:05 +05301/*
2 * Copyright (c) 2023, Advanced Micro Devices, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef PLAT_DT_UART_H
8#define PLAT_DT_UART_H
9
10#define DT_UART_DCC_COMPAT "arm,dcc"
Maheedhar Bollapalli6775ec42024-03-19 22:19:28 +053011#define DT_UART_CAD_COMPAT "xlnx,zynqmp-uart"
12#define DT_UART_PL011_COMPAT "arm,pl011"
Prasad Kummarib72494e2023-09-19 22:15:05 +053013
Maheedhar Bollapalli6775ec42024-03-19 22:19:28 +053014/* Default console type is either CADENCE0 or CADENCE1 or PL011_0 or PL011_1
Prasad Kummari80232f72024-03-14 15:19:10 +053015 * Debug console type is DCC
Maheedhar Bollapalli6775ec42024-03-19 22:19:28 +053016 */
17#define CONSOLE_CDNS 0
18#define CONSOLE_PL011 1
19#define CONSOLE_DCC 2
20
21typedef struct console_hd {
22 uint8_t console_state;
23 uint32_t clk;
24 uint32_t baud_rate;
25 uintptr_t base;
26 uint32_t console_scope;
27 uint8_t console_type;
28} console_holder;
Prasad Kummari80232f72024-03-14 15:19:10 +053029
Prasad Kummarib72494e2023-09-19 22:15:05 +053030typedef struct dt_uart_info_s {
31 char compatible[30];
32 uintptr_t base;
33 uint32_t baud_rate;
34 int32_t status;
Maheedhar Bollapalli6775ec42024-03-19 22:19:28 +053035 uint8_t console_type;
Prasad Kummarib72494e2023-09-19 22:15:05 +053036} dt_uart_info_t;
37
38void setup_console(void);
39
Prasad Kummari80232f72024-03-14 15:19:10 +053040#if defined(CONSOLE_RUNTIME)
41void console_runtime_init(void);
42#endif
43
Prasad Kummarib72494e2023-09-19 22:15:05 +053044#endif /* PLAT_DT_UART_H */