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.bedia@xxxxxx> --- 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html