OMAP4 powerdomains have a consistent register layout
and so far the pwrstctrl and pwrstst offsets were
hardcoded in the lowlevel APIs.

AM335x powerdomains don't have a consistent register
layout and hence the offsets used in the lowlevel APIs
need to be removed. As part of the AM335x work two additional
fields pwrstctrl_offs and pwrstst_offs were introduced in
the pwrdomain data structure. To enable consolidation of
AM335x and OMAP4 lowlevel APIs add in the appropriate
offsets to the OMAP4 pwrdomains.

Signed-off-by: Vaibhav Bedia <vaibhav.be...@ti.com>
---
 arch/arm/mach-omap2/powerdomains44xx_data.c | 32 +++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/arch/arm/mach-omap2/powerdomains44xx_data.c 
b/arch/arm/mach-omap2/powerdomains44xx_data.c
index 704664c..ed53787 100644
--- a/arch/arm/mach-omap2/powerdomains44xx_data.c
+++ b/arch/arm/mach-omap2/powerdomains44xx_data.c
@@ -36,6 +36,8 @@ static struct powerdomain core_44xx_pwrdm = {
        .voltdm           = { .name = "core" },
        .prcm_offs        = OMAP4430_PRM_CORE_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF_RET,
        .banks            = 5,
@@ -62,6 +64,8 @@ static struct powerdomain gfx_44xx_pwrdm = {
        .voltdm           = { .name = "core" },
        .prcm_offs        = OMAP4430_PRM_GFX_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_ON,
        .banks            = 1,
        .pwrsts_mem_ret = {
@@ -79,6 +83,8 @@ static struct powerdomain abe_44xx_pwrdm = {
        .voltdm           = { .name = "iva" },
        .prcm_offs        = OMAP4430_PRM_ABE_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF,
        .banks            = 2,
@@ -99,6 +105,8 @@ static struct powerdomain dss_44xx_pwrdm = {
        .voltdm           = { .name = "core" },
        .prcm_offs        = OMAP4430_PRM_DSS_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF,
        .banks            = 1,
@@ -117,6 +125,8 @@ static struct powerdomain tesla_44xx_pwrdm = {
        .voltdm           = { .name = "iva" },
        .prcm_offs        = OMAP4430_PRM_TESLA_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF_RET,
        .banks            = 3,
@@ -139,6 +149,8 @@ static struct powerdomain wkup_44xx_pwrdm = {
        .voltdm           = { .name = "wakeup" },
        .prcm_offs        = OMAP4430_PRM_WKUP_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_ON,
        .banks            = 1,
        .pwrsts_mem_ret = {
@@ -155,6 +167,8 @@ static struct powerdomain cpu0_44xx_pwrdm = {
        .voltdm           = { .name = "mpu" },
        .prcm_offs        = OMAP4430_PRCM_MPU_CPU0_INST,
        .prcm_partition   = OMAP4430_PRCM_MPU_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF_RET,
        .banks            = 1,
@@ -172,6 +186,8 @@ static struct powerdomain cpu1_44xx_pwrdm = {
        .voltdm           = { .name = "mpu" },
        .prcm_offs        = OMAP4430_PRCM_MPU_CPU1_INST,
        .prcm_partition   = OMAP4430_PRCM_MPU_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF_RET,
        .banks            = 1,
@@ -189,6 +205,8 @@ static struct powerdomain emu_44xx_pwrdm = {
        .voltdm           = { .name = "wakeup" },
        .prcm_offs        = OMAP4430_PRM_EMU_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_ON,
        .banks            = 1,
        .pwrsts_mem_ret = {
@@ -205,6 +223,8 @@ static struct powerdomain mpu_44xx_pwrdm = {
        .voltdm           = { .name = "mpu" },
        .prcm_offs        = OMAP4430_PRM_MPU_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF_RET,
        .banks            = 3,
@@ -226,6 +246,8 @@ static struct powerdomain ivahd_44xx_pwrdm = {
        .voltdm           = { .name = "iva" },
        .prcm_offs        = OMAP4430_PRM_IVAHD_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF,
        .banks            = 4,
@@ -250,6 +272,8 @@ static struct powerdomain cam_44xx_pwrdm = {
        .voltdm           = { .name = "core" },
        .prcm_offs        = OMAP4430_PRM_CAM_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_ON,
        .banks            = 1,
        .pwrsts_mem_ret = {
@@ -267,6 +291,8 @@ static struct powerdomain l3init_44xx_pwrdm = {
        .voltdm           = { .name = "core" },
        .prcm_offs        = OMAP4430_PRM_L3INIT_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF_RET,
        .banks            = 1,
@@ -285,6 +311,8 @@ static struct powerdomain l4per_44xx_pwrdm = {
        .voltdm           = { .name = "core" },
        .prcm_offs        = OMAP4430_PRM_L4PER_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_RET_ON,
        .pwrsts_logic_ret = PWRSTS_OFF_RET,
        .banks            = 2,
@@ -308,6 +336,8 @@ static struct powerdomain always_on_core_44xx_pwrdm = {
        .voltdm           = { .name = "core" },
        .prcm_offs        = OMAP4430_PRM_ALWAYS_ON_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_ON,
 };
 
@@ -317,6 +347,8 @@ static struct powerdomain cefuse_44xx_pwrdm = {
        .voltdm           = { .name = "core" },
        .prcm_offs        = OMAP4430_PRM_CEFUSE_INST,
        .prcm_partition   = OMAP4430_PRM_PARTITION,
+       .pwrstctrl_offs   = OMAP4_PM_PWSTCTRL,
+       .pwrstst_offs     = OMAP4_PM_PWSTST,
        .pwrsts           = PWRSTS_OFF_ON,
        .flags            = PWRDM_HAS_LOWPOWERSTATECHANGE,
 };
-- 
1.8.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to