1 // SPDX-License-Identifier: GPL-2.0+ 2 3 #include <debug_uart.h> 4 #include <asm/sbi.h> 5 6 #ifdef CONFIG_SBI_V01 7 _debug_uart_init(void)8static inline void _debug_uart_init(void) 9 { 10 } 11 _debug_uart_putc(int c)12static inline void _debug_uart_putc(int c) 13 { 14 if (CONFIG_IS_ENABLED(RISCV_SMODE)) 15 sbi_console_putchar(c); 16 } 17 18 #else 19 20 static int sbi_dbcn_available __section(".data"); 21 _debug_uart_init(void)22static inline void _debug_uart_init(void) 23 { 24 if (CONFIG_IS_ENABLED(RISCV_SMODE)) 25 sbi_dbcn_available = sbi_probe_extension(SBI_EXT_DBCN); 26 } 27 _debug_uart_putc(int ch)28static inline void _debug_uart_putc(int ch) 29 { 30 if (CONFIG_IS_ENABLED(RISCV_SMODE) && sbi_dbcn_available) 31 sbi_dbcn_write_byte(ch); 32 } 33 34 #endif 35 36 DEBUG_UART_FUNCS 37