|
@@ -169,9 +169,9 @@ static inline void serial_write_reg(struct omap_uart_state *uart, int offset,
|
|
|
|
|
|
static inline void __init omap_uart_reset(struct omap_uart_state *uart)
|
|
|
{
|
|
|
- serial_write_reg(uart, UART_OMAP_MDR1, 0x07);
|
|
|
+ serial_write_reg(uart, UART_OMAP_MDR1, UART_OMAP_MDR1_DISABLE);
|
|
|
serial_write_reg(uart, UART_OMAP_SCR, 0x08);
|
|
|
- serial_write_reg(uart, UART_OMAP_MDR1, 0x00);
|
|
|
+ serial_write_reg(uart, UART_OMAP_MDR1, UART_OMAP_MDR1_16X_MODE);
|
|
|
}
|
|
|
|
|
|
#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3)
|
|
@@ -247,9 +247,10 @@ static void omap_uart_restore_context(struct omap_uart_state *uart)
|
|
|
uart->context_valid = 0;
|
|
|
|
|
|
if (uart->errata & UART_ERRATA_i202_MDR1_ACCESS)
|
|
|
- omap_uart_mdr1_errataset(uart, 0x07, 0xA0);
|
|
|
+ omap_uart_mdr1_errataset(uart, UART_OMAP_MDR1_DISABLE, 0xA0);
|
|
|
else
|
|
|
- serial_write_reg(uart, UART_OMAP_MDR1, 0x7);
|
|
|
+ serial_write_reg(uart, UART_OMAP_MDR1, UART_OMAP_MDR1_DISABLE);
|
|
|
+
|
|
|
serial_write_reg(uart, UART_LCR, 0xBF); /* Config B mode */
|
|
|
efr = serial_read_reg(uart, UART_EFR);
|
|
|
serial_write_reg(uart, UART_EFR, UART_EFR_ECB);
|
|
@@ -268,11 +269,13 @@ static void omap_uart_restore_context(struct omap_uart_state *uart)
|
|
|
serial_write_reg(uart, UART_OMAP_SCR, uart->scr);
|
|
|
serial_write_reg(uart, UART_OMAP_WER, uart->wer);
|
|
|
serial_write_reg(uart, UART_OMAP_SYSC, uart->sysc);
|
|
|
+
|
|
|
if (uart->errata & UART_ERRATA_i202_MDR1_ACCESS)
|
|
|
- omap_uart_mdr1_errataset(uart, 0x00, 0xA1);
|
|
|
+ omap_uart_mdr1_errataset(uart, UART_OMAP_MDR1_16X_MODE, 0xA1);
|
|
|
else
|
|
|
/* UART 16x mode */
|
|
|
- serial_write_reg(uart, UART_OMAP_MDR1, 0x00);
|
|
|
+ serial_write_reg(uart, UART_OMAP_MDR1,
|
|
|
+ UART_OMAP_MDR1_16X_MODE);
|
|
|
}
|
|
|
#else
|
|
|
static inline void omap_uart_save_context(struct omap_uart_state *uart) {}
|