mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +00:00
debug_uart: Support board-specific UART initialisation
Some boards need to set things up before the debug UART can be used. On these boards a call to debug_uart_init() is insufficient. When this option is enabled, the function board_debug_uart_init() will be called when debug_uart_init() is called. You can put any code here that is needed to set up the UART ready for use, such as set pin multiplexing or enable clocks. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
97b0597302
commit
0e977bc145
2 changed files with 25 additions and 0 deletions
|
@ -109,6 +109,17 @@ config DEBUG_UART_SHIFT
|
||||||
value. Use this value to specify the shift to use, where 0=byte
|
value. Use this value to specify the shift to use, where 0=byte
|
||||||
registers, 2=32-bit word registers, etc.
|
registers, 2=32-bit word registers, etc.
|
||||||
|
|
||||||
|
config DEBUG_UART_BOARD_INIT
|
||||||
|
bool "Enable board-specific debug UART init"
|
||||||
|
depends on DEBUG_UART
|
||||||
|
help
|
||||||
|
Some boards need to set things up before the debug UART can be used.
|
||||||
|
On these boards a call to debug_uart_init() is insufficient. When
|
||||||
|
this option is enabled, the function board_debug_uart_init() will
|
||||||
|
be called when debug_uart_init() is called. You can put any code
|
||||||
|
here that is needed to set up the UART ready for use, such as set
|
||||||
|
pin multiplexing or enable clocks.
|
||||||
|
|
||||||
config ROCKCHIP_SERIAL
|
config ROCKCHIP_SERIAL
|
||||||
bool "Rockchip on-chip UART support"
|
bool "Rockchip on-chip UART support"
|
||||||
depends on ARCH_ROCKCHIP && DM_SERIAL
|
depends on ARCH_ROCKCHIP && DM_SERIAL
|
||||||
|
|
|
@ -42,6 +42,11 @@
|
||||||
* - Define _debug_uart_putc() as static inline (avoiding stack usage)
|
* - Define _debug_uart_putc() as static inline (avoiding stack usage)
|
||||||
* - Immediately afterwards, add DEBUG_UART_FUNCS to define the rest of the
|
* - Immediately afterwards, add DEBUG_UART_FUNCS to define the rest of the
|
||||||
* functionality (printch(), etc.)
|
* functionality (printch(), etc.)
|
||||||
|
*
|
||||||
|
* If your board needs additional init for the UART to work, enable
|
||||||
|
* CONFIG_DEBUG_UART_BOARD_INIT and write a function called
|
||||||
|
* board_debug_uart_init() to perform that init. When debug_uart_init() is
|
||||||
|
* called, the init will happen automatically.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -57,6 +62,14 @@
|
||||||
*/
|
*/
|
||||||
void debug_uart_init(void);
|
void debug_uart_init(void);
|
||||||
|
|
||||||
|
#ifdef CONFIG_DEBUG_UART_BOARD_INIT
|
||||||
|
void board_debug_uart_init(void);
|
||||||
|
#else
|
||||||
|
static inline void board_debug_uart_init(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* printch() - Output a character to the debug UART
|
* printch() - Output a character to the debug UART
|
||||||
*
|
*
|
||||||
|
@ -136,6 +149,7 @@ void printhex8(uint value);
|
||||||
\
|
\
|
||||||
void debug_uart_init(void) \
|
void debug_uart_init(void) \
|
||||||
{ \
|
{ \
|
||||||
|
board_debug_uart_init(); \
|
||||||
_debug_uart_init(); \
|
_debug_uart_init(); \
|
||||||
} \
|
} \
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue