diff options
author | Govindraj.R <govindraj.raja@ti.com> | 2010-09-27 10:50:25 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-09-29 15:43:00 -0400 |
commit | e586368904b737b4888927e4c869a25966e5cd05 (patch) | |
tree | aa432e91badece35f181bbcbfd93e89f58ede87f /arch/arm/mach-omap2/pm34xx.c | |
parent | a0edcdbe5295b7912e92ff88dd8f46646710735b (diff) |
OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs
To standarize among other uarts (1 to 3), we shall now:
- Enable uart4 autodile bit.
- Enable uart4 wakeup in PER.
- Allow uart4 to wakeup the MPU.
Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm34xx.c')
-rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index d2b940c7215d..043faaa3f3dc 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c | |||
@@ -676,6 +676,14 @@ static void __init omap3_d2d_idle(void) | |||
676 | 676 | ||
677 | static void __init prcm_setup_regs(void) | 677 | static void __init prcm_setup_regs(void) |
678 | { | 678 | { |
679 | u32 omap3630_auto_uart4_mask = cpu_is_omap3630() ? | ||
680 | OMAP3630_AUTO_UART4_MASK : 0; | ||
681 | u32 omap3630_en_uart4_mask = cpu_is_omap3630() ? | ||
682 | OMAP3630_EN_UART4_MASK : 0; | ||
683 | u32 omap3630_grpsel_uart4_mask = cpu_is_omap3630() ? | ||
684 | OMAP3630_GRPSEL_UART4_MASK : 0; | ||
685 | |||
686 | |||
679 | /* XXX Reset all wkdeps. This should be done when initializing | 687 | /* XXX Reset all wkdeps. This should be done when initializing |
680 | * powerdomains */ | 688 | * powerdomains */ |
681 | prm_write_mod_reg(0, OMAP3430_IVA2_MOD, PM_WKDEP); | 689 | prm_write_mod_reg(0, OMAP3430_IVA2_MOD, PM_WKDEP); |
@@ -762,6 +770,7 @@ static void __init prcm_setup_regs(void) | |||
762 | CM_AUTOIDLE); | 770 | CM_AUTOIDLE); |
763 | 771 | ||
764 | cm_write_mod_reg( | 772 | cm_write_mod_reg( |
773 | omap3630_auto_uart4_mask | | ||
765 | OMAP3430_AUTO_GPIO6_MASK | | 774 | OMAP3430_AUTO_GPIO6_MASK | |
766 | OMAP3430_AUTO_GPIO5_MASK | | 775 | OMAP3430_AUTO_GPIO5_MASK | |
767 | OMAP3430_AUTO_GPIO4_MASK | | 776 | OMAP3430_AUTO_GPIO4_MASK | |
@@ -838,14 +847,16 @@ static void __init prcm_setup_regs(void) | |||
838 | OMAP3430_DSS_MOD, PM_WKEN); | 847 | OMAP3430_DSS_MOD, PM_WKEN); |
839 | 848 | ||
840 | /* Enable wakeups in PER */ | 849 | /* Enable wakeups in PER */ |
841 | prm_write_mod_reg(OMAP3430_EN_GPIO2_MASK | OMAP3430_EN_GPIO3_MASK | | 850 | prm_write_mod_reg(omap3630_en_uart4_mask | |
851 | OMAP3430_EN_GPIO2_MASK | OMAP3430_EN_GPIO3_MASK | | ||
842 | OMAP3430_EN_GPIO4_MASK | OMAP3430_EN_GPIO5_MASK | | 852 | OMAP3430_EN_GPIO4_MASK | OMAP3430_EN_GPIO5_MASK | |
843 | OMAP3430_EN_GPIO6_MASK | OMAP3430_EN_UART3_MASK | | 853 | OMAP3430_EN_GPIO6_MASK | OMAP3430_EN_UART3_MASK | |
844 | OMAP3430_EN_MCBSP2_MASK | OMAP3430_EN_MCBSP3_MASK | | 854 | OMAP3430_EN_MCBSP2_MASK | OMAP3430_EN_MCBSP3_MASK | |
845 | OMAP3430_EN_MCBSP4_MASK, | 855 | OMAP3430_EN_MCBSP4_MASK, |
846 | OMAP3430_PER_MOD, PM_WKEN); | 856 | OMAP3430_PER_MOD, PM_WKEN); |
847 | /* and allow them to wake up MPU */ | 857 | /* and allow them to wake up MPU */ |
848 | prm_write_mod_reg(OMAP3430_GRPSEL_GPIO2_MASK | | 858 | prm_write_mod_reg(omap3630_grpsel_uart4_mask | |
859 | OMAP3430_GRPSEL_GPIO2_MASK | | ||
849 | OMAP3430_GRPSEL_GPIO3_MASK | | 860 | OMAP3430_GRPSEL_GPIO3_MASK | |
850 | OMAP3430_GRPSEL_GPIO4_MASK | | 861 | OMAP3430_GRPSEL_GPIO4_MASK | |
851 | OMAP3430_GRPSEL_GPIO5_MASK | | 862 | OMAP3430_GRPSEL_GPIO5_MASK | |