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