OMAP3: serial: Fix uart4 handling for 3630
authorGovindraj.R <govindraj.raja@ti.com>
Mon, 27 Sep 2010 14:50:41 +0000 (20:20 +0530)
committerKevin Hilman <khilman@deeprootsystems.com>
Wed, 29 Sep 2010 19:43:02 +0000 (12:43 -0700)
This patch makes the following:
 - Adds missing wakeup padding register handling.
 - Fixes a hardcode to use PER module ONLY on UART3.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-omap2/serial.c

index 72b5c98963909c940ece8cf913fa9a212e61bef4..0bcc9df0c0343d8307e2b2b7dc7622f6480dc3a5 100644 (file)
@@ -487,7 +487,7 @@ static void omap_uart_idle_init(struct omap_uart_state *uart)
        omap_uart_smart_idle_enable(uart, 0);
 
        if (cpu_is_omap34xx()) {
-               u32 mod = (uart->num == 2) ? OMAP3430_PER_MOD : CORE_MOD;
+               u32 mod = (uart->num > 1) ? OMAP3430_PER_MOD : CORE_MOD;
                u32 wk_mask = 0;
                u32 padconf = 0;
 
@@ -506,6 +506,10 @@ static void omap_uart_idle_init(struct omap_uart_state *uart)
                        wk_mask = OMAP3430_ST_UART3_MASK;
                        padconf = 0x19e;
                        break;
+               case 3:
+                       wk_mask = OMAP3630_ST_UART4_MASK;
+                       padconf = 0x0d2;
+                       break;
                }
                uart->wk_mask = wk_mask;
                uart->padconf = padconf;