| // 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 |