serial: ns16550: centralize identification of uart variants
PATCH 2/4 serial: ns16550: centralize identification of uart variants
Signed-off-by Matthijs van Duin <[email protected]>
--- drivers/serial/ns16550.c | 8 ++++---- include/ns16550.h | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-)
drivers/serial/ns16550.c +4 -4
@@ -36,7 +36,7 @@ DECLARE_GLOBAL_DATA_PTR;#endif #endif /* !CONFIG_DM_SERIAL */ -#if defined(CONFIG_SOC_KEYSTONE ) || defined(CONFIG_SOC_DA8XX ) +#ifdef CONFIG_NS16550_C6X #define UART_REG_VAL_PWREMU_MGMT_UART_DISABLE 0#define UART_REG_VAL_PWREMU_MGMT_UART_ENABLE ((1 << 14) | (1 << 13) | (1 << 0))#undef UART_MCRVAL
@@ -174,18 +174,18 @@ void NS16550_init(NS16550_t com_port, int baud_divisor) ;serial_out (CONFIG_SYS_NS16550_IER , &com_port->ier); -#if defined(CONFIG_ARCH_OMAP2PLUS ) +#ifdef CONFIG_NS16550_OMAP serial_out (0x7 , &com_port->mdr1);/* mode select reset TL16C750*/ #endif serial_out (UART_MCRVAL , &com_port->mcr);serial_out (ns16550_getfcr (com_port), &com_port->fcr);if (baud_divisor !=-1 )NS16550_setbrg (com_port, baud_divisor); -#if defined(CONFIG_ARCH_OMAP2PLUS ) +#ifdef CONFIG_NS16550_OMAP /* /16 is proper to hit 115200 with 48MHz */ serial_out (0 , &com_port->mdr1);#endif -#if defined(CONFIG_SOC_KEYSTONE ) || defined(CONFIG_SOC_DA8XX ) +#ifdef CONFIG_NS16550_C6X serial_out (UART_REG_VAL_PWREMU_MGMT_UART_ENABLE , &com_port->pwr_mgmt);#endif }
include/ns16550.h +9 -2
@@ -45,6 +45,13 @@ unsigned char postpad_##x[-CONFIG_SYS_NS16550_REG_SIZE - 1];#endif +/* Identify major NS16550 variants */ +#if defined(CONFIG_SOC_KEYSTONE ) || defined(CONFIG_SOC_DA8XX ) +#define CONFIG_NS16550_C6X 1 +#elif defined(CONFIG_ARCH_OMAP2PLUS ) +#define CONFIG_NS16550_OMAP 1 +#endif +/** * struct ns16550_platdata - information about a NS16550 port *
@@ -71,14 +78,14 @@ struct NS16550 {UART_REG (lsr);/* 5 */ UART_REG (msr);/* 6 */ UART_REG (spr);/* 7 */ -#if defined(CONFIG_SOC_KEYSTONE ) || defined(CONFIG_SOC_DA8XX ) +#if defined(CONFIG_NS16550_C6X )UART_REG (reg8);/* 8 */ UART_REG (reg9);/* 9 */ UART_REG (revid1);/* A */ UART_REG (revid2);/* B */ UART_REG (pwr_mgmt);/* C */ UART_REG (mdr1);/* D */ -#else +#elif defined(CONFIG_NS16550_OMAP )UART_REG (mdr1);/* 8 */ UART_REG (reg9);/* 9 */ UART_REG (regA);/* A */
Signature · 1 line
2.11.0