Commit 99b603e7143ab7ba8460000675eb46382f1afdc7

Authored by Mikhail Kshevetskiy
Committed by Albert ARIBAUD
1 parent 680866a502

serial/ns16550: ns16550 has a different register layout on SOC_DA8XX

also fix NS16550_init() as we need 16x divider

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
Acked-by: Christian Riesch <christian.riesch@omicron.at>
Tested-by: Christian Riesch <christian.riesch@omicron.at>
Acked-by: Sughosh Ganu <urwithsughosh@gmail.com>
Tested-by: Sughosh Ganu <urwithsughosh@gmail.com>

Showing 2 changed files with 10 additions and 1 deletions Side-by-side Diff

drivers/serial/ns16550.c
... ... @@ -52,7 +52,7 @@
52 52 serial_out((baud_divisor >> 8) & 0xff, &com_port->dlm);
53 53 serial_out(UART_LCRVAL, &com_port->lcr);
54 54 #if (defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)) || \
55   - defined(CONFIG_AM33XX)
  55 + defined(CONFIG_AM33XX) || defined(CONFIG_SOC_DA8XX)
56 56  
57 57 #if defined(CONFIG_APTIX)
58 58 /* /13 mode so Aptix 6MHz can hit 115200 */
... ... @@ -46,6 +46,14 @@
46 46 UART_REG(lsr); /* 5 */
47 47 UART_REG(msr); /* 6 */
48 48 UART_REG(spr); /* 7 */
  49 +#ifdef CONFIG_SOC_DA8XX
  50 + UART_REG(reg8); /* 8 */
  51 + UART_REG(reg9); /* 9 */
  52 + UART_REG(revid1); /* A */
  53 + UART_REG(revid2); /* B */
  54 + UART_REG(pwr_mgmt); /* C */
  55 + UART_REG(mdr1); /* D */
  56 +#else
49 57 UART_REG(mdr1); /* 8 */
50 58 UART_REG(reg9); /* 9 */
51 59 UART_REG(regA); /* A */
... ... @@ -58,6 +66,7 @@
58 66 UART_REG(ssr); /* 11*/
59 67 UART_REG(reg12); /* 12*/
60 68 UART_REG(osc_12m_sel); /* 13*/
  69 +#endif
61 70 };
62 71  
63 72 #define thr rbr