Commit e5863689 authored by Govindraj.R's avatar Govindraj.R Committed by Kevin Hilman

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: default avatarSergio Aguirre <saaguirre@ti.com>
Signed-off-by: default avatarGovindraj.R <govindraj.raja@ti.com>
Acked-by: default avatarPaul Walmsley <paul@pwsan.com>
Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
parent a0edcdbe
...@@ -649,6 +649,8 @@ ...@@ -649,6 +649,8 @@
#define OMAP3430_ST_MCBSP2_MASK (1 << 0) #define OMAP3430_ST_MCBSP2_MASK (1 << 0)
/* CM_AUTOIDLE_PER */ /* CM_AUTOIDLE_PER */
#define OMAP3630_AUTO_UART4_MASK (1 << 18)
#define OMAP3630_AUTO_UART4_SHIFT 18
#define OMAP3430_AUTO_GPIO6_MASK (1 << 17) #define OMAP3430_AUTO_GPIO6_MASK (1 << 17)
#define OMAP3430_AUTO_GPIO6_SHIFT 17 #define OMAP3430_AUTO_GPIO6_SHIFT 17
#define OMAP3430_AUTO_GPIO5_MASK (1 << 16) #define OMAP3430_AUTO_GPIO5_MASK (1 << 16)
......
...@@ -676,6 +676,14 @@ static void __init omap3_d2d_idle(void) ...@@ -676,6 +676,14 @@ static void __init omap3_d2d_idle(void)
static void __init prcm_setup_regs(void) static void __init prcm_setup_regs(void)
{ {
u32 omap3630_auto_uart4_mask = cpu_is_omap3630() ?
OMAP3630_AUTO_UART4_MASK : 0;
u32 omap3630_en_uart4_mask = cpu_is_omap3630() ?
OMAP3630_EN_UART4_MASK : 0;
u32 omap3630_grpsel_uart4_mask = cpu_is_omap3630() ?
OMAP3630_GRPSEL_UART4_MASK : 0;
/* XXX Reset all wkdeps. This should be done when initializing /* XXX Reset all wkdeps. This should be done when initializing
* powerdomains */ * powerdomains */
prm_write_mod_reg(0, OMAP3430_IVA2_MOD, PM_WKDEP); prm_write_mod_reg(0, OMAP3430_IVA2_MOD, PM_WKDEP);
...@@ -762,6 +770,7 @@ static void __init prcm_setup_regs(void) ...@@ -762,6 +770,7 @@ static void __init prcm_setup_regs(void)
CM_AUTOIDLE); CM_AUTOIDLE);
cm_write_mod_reg( cm_write_mod_reg(
omap3630_auto_uart4_mask |
OMAP3430_AUTO_GPIO6_MASK | OMAP3430_AUTO_GPIO6_MASK |
OMAP3430_AUTO_GPIO5_MASK | OMAP3430_AUTO_GPIO5_MASK |
OMAP3430_AUTO_GPIO4_MASK | OMAP3430_AUTO_GPIO4_MASK |
...@@ -838,14 +847,16 @@ static void __init prcm_setup_regs(void) ...@@ -838,14 +847,16 @@ static void __init prcm_setup_regs(void)
OMAP3430_DSS_MOD, PM_WKEN); OMAP3430_DSS_MOD, PM_WKEN);
/* Enable wakeups in PER */ /* Enable wakeups in PER */
prm_write_mod_reg(OMAP3430_EN_GPIO2_MASK | OMAP3430_EN_GPIO3_MASK | prm_write_mod_reg(omap3630_en_uart4_mask |
OMAP3430_EN_GPIO2_MASK | OMAP3430_EN_GPIO3_MASK |
OMAP3430_EN_GPIO4_MASK | OMAP3430_EN_GPIO5_MASK | OMAP3430_EN_GPIO4_MASK | OMAP3430_EN_GPIO5_MASK |
OMAP3430_EN_GPIO6_MASK | OMAP3430_EN_UART3_MASK | OMAP3430_EN_GPIO6_MASK | OMAP3430_EN_UART3_MASK |
OMAP3430_EN_MCBSP2_MASK | OMAP3430_EN_MCBSP3_MASK | OMAP3430_EN_MCBSP2_MASK | OMAP3430_EN_MCBSP3_MASK |
OMAP3430_EN_MCBSP4_MASK, OMAP3430_EN_MCBSP4_MASK,
OMAP3430_PER_MOD, PM_WKEN); OMAP3430_PER_MOD, PM_WKEN);
/* and allow them to wake up MPU */ /* and allow them to wake up MPU */
prm_write_mod_reg(OMAP3430_GRPSEL_GPIO2_MASK | prm_write_mod_reg(omap3630_grpsel_uart4_mask |
OMAP3430_GRPSEL_GPIO2_MASK |
OMAP3430_GRPSEL_GPIO3_MASK | OMAP3430_GRPSEL_GPIO3_MASK |
OMAP3430_GRPSEL_GPIO4_MASK | OMAP3430_GRPSEL_GPIO4_MASK |
OMAP3430_GRPSEL_GPIO5_MASK | OMAP3430_GRPSEL_GPIO5_MASK |
......
...@@ -425,6 +425,8 @@ ...@@ -425,6 +425,8 @@
#define OMAP3430_EN_MCBSP2_SHIFT 0 #define OMAP3430_EN_MCBSP2_SHIFT 0
/* CM_IDLEST_PER, PM_WKST_PER shared bits */ /* CM_IDLEST_PER, PM_WKST_PER shared bits */
#define OMAP3630_ST_UART4_SHIFT 18
#define OMAP3630_ST_UART4_MASK (1 << 18)
#define OMAP3430_ST_GPIO6_SHIFT 17 #define OMAP3430_ST_GPIO6_SHIFT 17
#define OMAP3430_ST_GPIO6_MASK (1 << 17) #define OMAP3430_ST_GPIO6_MASK (1 << 17)
#define OMAP3430_ST_GPIO5_SHIFT 16 #define OMAP3430_ST_GPIO5_SHIFT 16
......
...@@ -122,6 +122,7 @@ ...@@ -122,6 +122,7 @@
#define OMAP3430_MEMRETSTATE_MASK (1 << 8) #define OMAP3430_MEMRETSTATE_MASK (1 << 8)
/* PM_MPUGRPSEL_PER, PM_IVA2GRPSEL_PER shared bits */ /* PM_MPUGRPSEL_PER, PM_IVA2GRPSEL_PER shared bits */
#define OMAP3630_GRPSEL_UART4_MASK (1 << 18)
#define OMAP3430_GRPSEL_GPIO6_MASK (1 << 17) #define OMAP3430_GRPSEL_GPIO6_MASK (1 << 17)
#define OMAP3430_GRPSEL_GPIO5_MASK (1 << 16) #define OMAP3430_GRPSEL_GPIO5_MASK (1 << 16)
#define OMAP3430_GRPSEL_GPIO4_MASK (1 << 15) #define OMAP3430_GRPSEL_GPIO4_MASK (1 << 15)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment