ARM: OMAP5/DRA7: Move ABB TXDONE mask to voltage structure
authorNishanth Menon <nm@ti.com>
Thu, 21 Apr 2016 19:34:23 +0000 (14:34 -0500)
committerTom Rini <trini@konsulko.com>
Mon, 25 Apr 2016 19:10:39 +0000 (15:10 -0400)
ABB TX_DONE mask will vary depending on ABB module. For example,
3630 never had ABB on IVA domain, while OMAP5 does use ABB on MM domain,
DRA7 has it on all domains with the exception of CORE, RTC.

Hence, move the txdone mask definition over to structure describing
voltage domain.

Signed-off-by: Nishanth Menon <nm@ti.com>
arch/arm/cpu/armv7/omap-common/clocks-common.c
arch/arm/cpu/armv7/omap5/hw_data.c
arch/arm/include/asm/omap_common.h
board/ti/am57xx/board.c

index 27e6871fde86c3421d99a4fc4ecff039bd761ac4..8fe695b992b135e50d5381a3465d70d319e3c611 100644 (file)
@@ -589,7 +589,7 @@ void scale_vcores(struct vcores_data const *vcores)
                  (*prcm)->prm_abbldo_mpu_setup,
                  (*prcm)->prm_abbldo_mpu_ctrl,
                  (*prcm)->prm_irqstatus_mpu_2,
-                 OMAP_ABB_MPU_TXDONE_MASK,
+                 vcores->mpu.abb_tx_done_mask,
                  OMAP_ABB_FAST_OPP);
 
        /* The .mm member is not used for the DRA7xx */
@@ -626,7 +626,7 @@ void scale_vcores(struct vcores_data const *vcores)
                  (*prcm)->prm_abbldo_mpu_setup,
                  (*prcm)->prm_abbldo_mpu_ctrl,
                  (*prcm)->prm_irqstatus_mpu_2,
-                 OMAP_ABB_MPU_TXDONE_MASK,
+                 vcores->mpu.abb_tx_done_mask,
                  OMAP_ABB_FAST_OPP);
 
        val = optimize_vcore_voltage(&vcores->mm);
index b69c0d13715a45353d70f7352f03a72fb6b94d1b..a4b31e42e2c3ace957e599054672309b086a2d3f 100644 (file)
@@ -352,6 +352,7 @@ struct vcores_data omap5430_volts_es2 = {
        .mpu.value = VDD_MPU_ES2,
        .mpu.addr = SMPS_REG_ADDR_12_MPU,
        .mpu.pmic = &palmas,
+       .mpu.abb_tx_done_mask = OMAP_ABB_MPU_TXDONE_MASK,
 
        .core.value = VDD_CORE_ES2,
        .core.addr = SMPS_REG_ADDR_8_CORE,
@@ -368,6 +369,7 @@ struct vcores_data dra752_volts = {
        .mpu.efuse.reg_bits     = DRA752_EFUSE_REGBITS,
        .mpu.addr       = TPS659038_REG_ADDR_SMPS12,
        .mpu.pmic       = &tps659038,
+       .mpu.abb_tx_done_mask = OMAP_ABB_MPU_TXDONE_MASK,
 
        .eve.value      = VDD_EVE_DRA752,
        .eve.efuse.reg  = STD_FUSE_OPP_VMIN_DSPEVE_NOM,
@@ -400,6 +402,7 @@ struct vcores_data dra722_volts = {
        .mpu.efuse.reg_bits = DRA752_EFUSE_REGBITS,
        .mpu.addr       = TPS65917_REG_ADDR_SMPS1,
        .mpu.pmic       = &tps659038,
+       .mpu.abb_tx_done_mask = OMAP_ABB_MPU_TXDONE_MASK,
 
        .core.value     = VDD_CORE_DRA72x,
        .core.efuse.reg = STD_FUSE_OPP_VMIN_CORE_NOM,
index 2daa440432c3db459d75e3a25f1d164643bae1be..d3e8417528441508b290d7877a0deb50cba3e4e6 100644 (file)
@@ -540,6 +540,8 @@ struct volts {
        u32 addr;
        struct volts_efuse_data efuse;
        struct pmic_data *pmic;
+
+       u32 abb_tx_done_mask;
 };
 
 struct vcores_data {
index 17620896130d9bf44ee0fef0537727f6af31cb0b..2404eb586757f9c225246cae37ee7e4a9d7e498c 100644 (file)
@@ -221,6 +221,7 @@ struct vcores_data beagle_x15_volts = {
        .mpu.efuse.reg_bits     = DRA752_EFUSE_REGBITS,
        .mpu.addr               = TPS659038_REG_ADDR_SMPS12,
        .mpu.pmic               = &tps659038,
+       .mpu.abb_tx_done_mask = OMAP_ABB_MPU_TXDONE_MASK,
 
        .eve.value              = VDD_EVE_DRA752,
        .eve.efuse.reg          = STD_FUSE_OPP_VMIN_DSPEVE_NOM,