| // SPDX-License-Identifier: GPL-2.0+ | |
| #include <debug_uart.h> | |
| #include <asm/sbi.h> | |
| #ifdef CONFIG_SBI_V01 | |
| static inline void _debug_uart_init(void) | |
| { | |
| } | |
| static inline void _debug_uart_putc(int c) | |
| { | |
| if (CONFIG_IS_ENABLED(RISCV_SMODE)) | |
| sbi_console_putchar(c); | |
| } | |
| #else | |
| static int sbi_dbcn_available __section(".data"); | |
| static inline void _debug_uart_init(void) | |
| { | |
| if (CONFIG_IS_ENABLED(RISCV_SMODE)) | |
| sbi_dbcn_available = sbi_probe_extension(SBI_EXT_DBCN); | |
| } | |
| static inline void _debug_uart_putc(int ch) | |
| { | |
| if (CONFIG_IS_ENABLED(RISCV_SMODE) && sbi_dbcn_available) | |
| sbi_dbcn_write_byte(ch); | |
| } | |
| #endif | |
| DEBUG_UART_FUNCS |