diff --git a/arch/arm/src/kinetis/kinetis_config.h b/arch/arm/src/kinetis/kinetis_config.h index bb134ed5f87..846b06c0e33 100644 --- a/arch/arm/src/kinetis/kinetis_config.h +++ b/arch/arm/src/kinetis/kinetis_config.h @@ -203,6 +203,31 @@ # endif #endif +/* Which version of up_putc() should be built? + * + * --------------------+-------------------+-----------------+------------------ + * HAVE_UART_DEVICE && HAVE_UART_DEVICE HAVE_LPUART_DEVICE + * HAVE_LPUART_DEVICE (only) (only) + * --------------------+-------------------+-----------------+------------------ + * HAVE_UART_CONSOLE kinetis_serial kinetis_serial (impossible) + * HAVE_LPUART_CONSOLE kinetis_lpserial (impossible) kinetis_lpserial + * No serial console kinetis_serial kinetis_serial kinetis_lpserial + * --------------------+-------------------+-----------------+------------------ + */ + +#undef HAVE_UART_PUTC +#undef HAVE_LPUART_PUTC + +#if defined(HAVE_LPUART_CONSOLE) +# define HAVE_LPUART_PUTC 1 +#elif defined(HAVE_UART_CONSOLE) +# define HAVE_UART_PUTC 1 +#elif define(HAVE_UART_DEVICE) +# define HAVE_UART_PUTC 1 +#elif define(HAVE_LPUART_DEVICE) +# define HAVE_LPUART_PUTC 1 +#endif + /* Check UART flow control (Not yet supported) */ # undef CONFIG_UART0_FLOWCONTROL diff --git a/arch/arm/src/kinetis/kinetis_lpserial.c b/arch/arm/src/kinetis/kinetis_lpserial.c index 5297a7378fa..d75d530cf4b 100644 --- a/arch/arm/src/kinetis/kinetis_lpserial.c +++ b/arch/arm/src/kinetis/kinetis_lpserial.c @@ -853,6 +853,7 @@ void up_serialinit(void) * ****************************************************************************/ +#ifdef HAVE_LPUART_PUTC int up_putc(int ch) { #ifdef HAVE_LPUART_CONSOLE @@ -875,6 +876,7 @@ int up_putc(int ch) #endif return ch; } +#endif #else /* USE_SERIALDRIVER */ @@ -886,6 +888,7 @@ int up_putc(int ch) * ****************************************************************************/ +#ifdef HAVE_LPUART_PUTC int up_putc(int ch) { #ifdef HAVE_LPUART_CONSOLE @@ -902,5 +905,6 @@ int up_putc(int ch) #endif return ch; } +#endif #endif /* USE_SERIALDRIVER */ diff --git a/arch/arm/src/kinetis/kinetis_serial.c b/arch/arm/src/kinetis/kinetis_serial.c index b6d0c369cf7..c7ffc5a8479 100644 --- a/arch/arm/src/kinetis/kinetis_serial.c +++ b/arch/arm/src/kinetis/kinetis_serial.c @@ -1315,6 +1315,7 @@ void up_serialinit(void) * ****************************************************************************/ +#ifndef HAVE_UART_PUTC int up_putc(int ch) { #ifdef HAVE_UART_CONSOLE @@ -1337,6 +1338,7 @@ int up_putc(int ch) #endif return ch; } +#endif #else /* USE_SERIALDRIVER */ @@ -1348,6 +1350,7 @@ int up_putc(int ch) * ****************************************************************************/ +#ifndef HAVE_UART_PUTC int up_putc(int ch) { #ifdef HAVE_UART_CONSOLE @@ -1364,6 +1367,7 @@ int up_putc(int ch) #endif return ch; } +#endif #endif /* USE_SERIALDRIVER */