diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2010-10-20 19:19:03 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-10-22 14:09:32 -0400 |
commit | cb74f0223fcf9b2db8f57d9ee5fa4738c066f3c6 (patch) | |
tree | b07e4ad0b0a18e8e59afa705d18e9597c0a1beb7 | |
parent | 2a12400eed8be0d5790108cba3908a71d6bb9cae (diff) |
omap: UART: fix wakeup registers for OMAP24xx UART2
On OMAP24xx, UART2 WKEN and WKST registers are in PM_WKEN2_CORE and
PM_WKST2_CORE respecitvely. Fix the OMAP2 register init to use the
correct registers on OMAP24xx.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/serial.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index ba8a5cc8eae8..becf0e38ef7e 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -515,14 +515,8 @@ static void omap_uart_idle_init(struct omap_uart_state *uart) | |||
515 | uart->padconf = padconf; | 515 | uart->padconf = padconf; |
516 | } else if (cpu_is_omap24xx()) { | 516 | } else if (cpu_is_omap24xx()) { |
517 | u32 wk_mask = 0; | 517 | u32 wk_mask = 0; |
518 | u32 wk_en = PM_WKEN1, wk_st = PM_WKST1; | ||
518 | 519 | ||
519 | if (cpu_is_omap2430()) { | ||
520 | uart->wk_en = OMAP2430_PRM_REGADDR(CORE_MOD, PM_WKEN1); | ||
521 | uart->wk_st = OMAP2430_PRM_REGADDR(CORE_MOD, PM_WKST1); | ||
522 | } else if (cpu_is_omap2420()) { | ||
523 | uart->wk_en = OMAP2420_PRM_REGADDR(CORE_MOD, PM_WKEN1); | ||
524 | uart->wk_st = OMAP2420_PRM_REGADDR(CORE_MOD, PM_WKST1); | ||
525 | } | ||
526 | switch (uart->num) { | 520 | switch (uart->num) { |
527 | case 0: | 521 | case 0: |
528 | wk_mask = OMAP24XX_ST_UART1_MASK; | 522 | wk_mask = OMAP24XX_ST_UART1_MASK; |
@@ -531,10 +525,19 @@ static void omap_uart_idle_init(struct omap_uart_state *uart) | |||
531 | wk_mask = OMAP24XX_ST_UART2_MASK; | 525 | wk_mask = OMAP24XX_ST_UART2_MASK; |
532 | break; | 526 | break; |
533 | case 2: | 527 | case 2: |
528 | wk_en = OMAP24XX_PM_WKEN2; | ||
529 | wk_st = OMAP24XX_PM_WKST2; | ||
534 | wk_mask = OMAP24XX_ST_UART3_MASK; | 530 | wk_mask = OMAP24XX_ST_UART3_MASK; |
535 | break; | 531 | break; |
536 | } | 532 | } |
537 | uart->wk_mask = wk_mask; | 533 | uart->wk_mask = wk_mask; |
534 | if (cpu_is_omap2430()) { | ||
535 | uart->wk_en = OMAP2430_PRM_REGADDR(CORE_MOD, wk_en); | ||
536 | uart->wk_st = OMAP2430_PRM_REGADDR(CORE_MOD, wk_st); | ||
537 | } else if (cpu_is_omap2420()) { | ||
538 | uart->wk_en = OMAP2420_PRM_REGADDR(CORE_MOD, wk_en); | ||
539 | uart->wk_st = OMAP2420_PRM_REGADDR(CORE_MOD, wk_st); | ||
540 | } | ||
538 | } else { | 541 | } else { |
539 | uart->wk_en = NULL; | 542 | uart->wk_en = NULL; |
540 | uart->wk_st = NULL; | 543 | uart->wk_st = NULL; |