diff options
| -rw-r--r-- | arch/arm/mach-omap2/omap_twl.c | 17 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/voltage.h | 22 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/vp.c | 4 |
3 files changed, 22 insertions, 21 deletions
diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c index f515a1a056d5..df4e7c38f7c6 100644 --- a/arch/arm/mach-omap2/omap_twl.c +++ b/arch/arm/mach-omap2/omap_twl.c | |||
| @@ -30,16 +30,6 @@ | |||
| 30 | #define OMAP3_VP_VSTEPMAX_VSTEPMAX 0x04 | 30 | #define OMAP3_VP_VSTEPMAX_VSTEPMAX 0x04 |
| 31 | #define OMAP3_VP_VLIMITTO_TIMEOUT_US 200 | 31 | #define OMAP3_VP_VLIMITTO_TIMEOUT_US 200 |
| 32 | 32 | ||
| 33 | #define OMAP3430_VP1_VLIMITTO_VDDMIN 0x14 | ||
| 34 | #define OMAP3430_VP1_VLIMITTO_VDDMAX 0x42 | ||
| 35 | #define OMAP3430_VP2_VLIMITTO_VDDMIN 0x18 | ||
| 36 | #define OMAP3430_VP2_VLIMITTO_VDDMAX 0x2c | ||
| 37 | |||
| 38 | #define OMAP3630_VP1_VLIMITTO_VDDMIN 0x18 | ||
| 39 | #define OMAP3630_VP1_VLIMITTO_VDDMAX 0x3c | ||
| 40 | #define OMAP3630_VP2_VLIMITTO_VDDMIN 0x18 | ||
| 41 | #define OMAP3630_VP2_VLIMITTO_VDDMAX 0x30 | ||
| 42 | |||
| 43 | #define OMAP4_SRI2C_SLAVE_ADDR 0x12 | 33 | #define OMAP4_SRI2C_SLAVE_ADDR 0x12 |
| 44 | #define OMAP4_VDD_MPU_SR_VOLT_REG 0x55 | 34 | #define OMAP4_VDD_MPU_SR_VOLT_REG 0x55 |
| 45 | #define OMAP4_VDD_MPU_SR_CMD_REG 0x56 | 35 | #define OMAP4_VDD_MPU_SR_CMD_REG 0x56 |
| @@ -53,13 +43,6 @@ | |||
| 53 | #define OMAP4_VP_VSTEPMAX_VSTEPMAX 0x04 | 43 | #define OMAP4_VP_VSTEPMAX_VSTEPMAX 0x04 |
| 54 | #define OMAP4_VP_VLIMITTO_TIMEOUT_US 200 | 44 | #define OMAP4_VP_VLIMITTO_TIMEOUT_US 200 |
| 55 | 45 | ||
| 56 | #define OMAP4_VP_MPU_VLIMITTO_VDDMIN 0xA | ||
| 57 | #define OMAP4_VP_MPU_VLIMITTO_VDDMAX 0x39 | ||
| 58 | #define OMAP4_VP_IVA_VLIMITTO_VDDMIN 0xA | ||
| 59 | #define OMAP4_VP_IVA_VLIMITTO_VDDMAX 0x2D | ||
| 60 | #define OMAP4_VP_CORE_VLIMITTO_VDDMIN 0xA | ||
| 61 | #define OMAP4_VP_CORE_VLIMITTO_VDDMAX 0x28 | ||
| 62 | |||
| 63 | static bool is_offset_valid; | 46 | static bool is_offset_valid; |
| 64 | static u8 smps_offset; | 47 | static u8 smps_offset; |
| 65 | /* | 48 | /* |
diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h index 7283b7ed7de8..700469561b4d 100644 --- a/arch/arm/mach-omap2/voltage.h +++ b/arch/arm/mach-omap2/voltage.h | |||
| @@ -92,6 +92,24 @@ struct voltagedomain { | |||
| 92 | struct omap_volt_data *volt_data; | 92 | struct omap_volt_data *volt_data; |
| 93 | }; | 93 | }; |
| 94 | 94 | ||
| 95 | /* Min and max voltages from OMAP perspective */ | ||
| 96 | #define OMAP3430_VP1_VLIMITTO_VDDMIN 850000 | ||
| 97 | #define OMAP3430_VP1_VLIMITTO_VDDMAX 1425000 | ||
| 98 | #define OMAP3430_VP2_VLIMITTO_VDDMIN 900000 | ||
| 99 | #define OMAP3430_VP2_VLIMITTO_VDDMAX 1150000 | ||
| 100 | |||
| 101 | #define OMAP3630_VP1_VLIMITTO_VDDMIN 900000 | ||
| 102 | #define OMAP3630_VP1_VLIMITTO_VDDMAX 1350000 | ||
| 103 | #define OMAP3630_VP2_VLIMITTO_VDDMIN 900000 | ||
| 104 | #define OMAP3630_VP2_VLIMITTO_VDDMAX 1200000 | ||
| 105 | |||
| 106 | #define OMAP4_VP_MPU_VLIMITTO_VDDMIN 830000 | ||
| 107 | #define OMAP4_VP_MPU_VLIMITTO_VDDMAX 1410000 | ||
| 108 | #define OMAP4_VP_IVA_VLIMITTO_VDDMIN 830000 | ||
| 109 | #define OMAP4_VP_IVA_VLIMITTO_VDDMAX 1260000 | ||
| 110 | #define OMAP4_VP_CORE_VLIMITTO_VDDMIN 830000 | ||
| 111 | #define OMAP4_VP_CORE_VLIMITTO_VDDMAX 1200000 | ||
| 112 | |||
| 95 | /** | 113 | /** |
| 96 | * struct omap_voltdm_pmic - PMIC specific data required by voltage driver. | 114 | * struct omap_voltdm_pmic - PMIC specific data required by voltage driver. |
| 97 | * @slew_rate: PMIC slew rate (in uv/us) | 115 | * @slew_rate: PMIC slew rate (in uv/us) |
| @@ -118,8 +136,8 @@ struct omap_voltdm_pmic { | |||
| 118 | u8 vp_erroroffset; | 136 | u8 vp_erroroffset; |
| 119 | u8 vp_vstepmin; | 137 | u8 vp_vstepmin; |
| 120 | u8 vp_vstepmax; | 138 | u8 vp_vstepmax; |
| 121 | u8 vp_vddmin; | 139 | u32 vp_vddmin; |
| 122 | u8 vp_vddmax; | 140 | u32 vp_vddmax; |
| 123 | u8 vp_timeout_us; | 141 | u8 vp_timeout_us; |
| 124 | bool i2c_high_speed; | 142 | bool i2c_high_speed; |
| 125 | u8 i2c_mcode; | 143 | u8 i2c_mcode; |
diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c index 85241b828c02..47c89eba57ca 100644 --- a/arch/arm/mach-omap2/vp.c +++ b/arch/arm/mach-omap2/vp.c | |||
| @@ -58,8 +58,8 @@ void __init omap_vp_init(struct voltagedomain *voltdm) | |||
| 58 | sys_clk_rate = voltdm->sys_clk.rate / 1000; | 58 | sys_clk_rate = voltdm->sys_clk.rate / 1000; |
| 59 | 59 | ||
| 60 | timeout = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000; | 60 | timeout = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000; |
| 61 | vddmin = voltdm->pmic->vp_vddmin; | 61 | vddmin = voltdm->pmic->uv_to_vsel(voltdm->pmic->vp_vddmin); |
| 62 | vddmax = voltdm->pmic->vp_vddmax; | 62 | vddmax = voltdm->pmic->uv_to_vsel(voltdm->pmic->vp_vddmax); |
| 63 | 63 | ||
| 64 | waittime = DIV_ROUND_UP(voltdm->pmic->step_size * sys_clk_rate, | 64 | waittime = DIV_ROUND_UP(voltdm->pmic->step_size * sys_clk_rate, |
| 65 | 1000 * voltdm->pmic->slew_rate); | 65 | 1000 * voltdm->pmic->slew_rate); |
