Commit d5720d33bc7c434f9a023dbb62c795538f976b7a

Authored by Hebbar Gururaja
1 parent 97bdb69b0e

ARM: OMAP2+: AM335x: update OPP50 handling

Recent commit from Greg (OPP Table fix for 720MHZ and ZCE
support) added OPP120 support for PG 2.x.

OPP120 support needs to be disabled when the board is booted and
running at OPP50. This is as per the Advisory 1.0.15 (ARM Cortex-A8:
OPP50 Operation on MPU Domain Not Supported)

Voltage checked here are Core Voltage and not MPU. Hence, When here
correct the preprocessors to indicate correct voltages.

As per Sitara AM335x ARM Cortex -A8 Microprocessors (MPUs) data sheet
(SPRS717F) APRIL 2013 available at
http://www.ti.com/lit/ds/symlink/am3359.pdf

Table 3-7 and 3-9 has been updated to  show the defined OPPs on ZCZ and
ZCE packages respectively

Signed-off-by: Hebbar Gururaja <gururaja.hebbar@ti.com>

Showing 1 changed file with 12 additions and 6 deletions Side-by-side Diff

arch/arm/mach-omap2/board-am335xevm.c
... ... @@ -2181,15 +2181,17 @@
2181 2181 return 0;
2182 2182 }
2183 2183  
2184   -#define AM33XX_VDD_MPU_OPP50_UV 1100000
  2184 +#define AM33XX_VDD_CORE_OPP50_UV 1100000
2185 2185 #define AM33XX_OPP120_FREQ 600000000
2186 2186 #define AM33XX_OPPTURBO_FREQ 720000000
2187 2187  
2188   -#define AM33XX_ES2_0_VDD_MPU_OPP50_UV 950000
  2188 +#define AM33XX_ES2_0_VDD_CORE_OPP50_UV 950000
  2189 +#define AM33XX_ES2_0_OPP120_FREQ 720000000
2189 2190 #define AM33XX_ES2_0_OPPTURBO_FREQ 800000000
2190 2191 #define AM33XX_ES2_0_OPPNITRO_FREQ 1000000000
2191 2192  
2192   -#define AM33XX_ES2_1_VDD_MPU_OPP50_UV 950000
  2193 +#define AM33XX_ES2_1_VDD_CORE_OPP50_UV 950000
  2194 +#define AM33XX_ES2_1_OPP120_FREQ 720000000
2193 2195 #define AM33XX_ES2_1_OPPTURBO_FREQ 800000000
2194 2196 #define AM33XX_ES2_1_OPPNITRO_FREQ 1000000000
2195 2197  
... ... @@ -2232,7 +2234,7 @@
2232 2234 rev = omap_rev();
2233 2235 switch (rev) {
2234 2236 case AM335X_REV_ES1_0:
2235   - if (voltage_uv <= AM33XX_VDD_MPU_OPP50_UV) {
  2237 + if (voltage_uv <= AM33XX_VDD_CORE_OPP50_UV) {
2236 2238 /*
2237 2239 * disable the higher freqs - we dont care about
2238 2240 * the results
2239 2241  
... ... @@ -2242,12 +2244,14 @@
2242 2244 }
2243 2245 break;
2244 2246 case AM335X_REV_ES2_0:
2245   - if (voltage_uv <= AM33XX_ES2_0_VDD_MPU_OPP50_UV) {
  2247 + if (voltage_uv <= AM33XX_ES2_0_VDD_CORE_OPP50_UV) {
2246 2248 /*
2247 2249 * disable the higher freqs - we dont care about
2248 2250 * the results
2249 2251 */
2250 2252 opp_disable(mpu_dev,
  2253 + AM33XX_ES2_0_OPP120_FREQ);
  2254 + opp_disable(mpu_dev,
2251 2255 AM33XX_ES2_0_OPPTURBO_FREQ);
2252 2256 opp_disable(mpu_dev,
2253 2257 AM33XX_ES2_0_OPPNITRO_FREQ);
2254 2258  
... ... @@ -2256,11 +2260,13 @@
2256 2260 case AM335X_REV_ES2_1:
2257 2261 /* FALLTHROUGH */
2258 2262 default:
2259   - if (voltage_uv <= AM33XX_ES2_1_VDD_MPU_OPP50_UV) {
  2263 + if (voltage_uv <= AM33XX_ES2_1_VDD_CORE_OPP50_UV) {
2260 2264 /*
2261 2265 * disable the higher freqs - we dont care about
2262 2266 * the results
2263 2267 */
  2268 + opp_disable(mpu_dev,
  2269 + AM33XX_ES2_1_OPP120_FREQ);
2264 2270 opp_disable(mpu_dev,
2265 2271 AM33XX_ES2_1_OPPTURBO_FREQ);
2266 2272 opp_disable(mpu_dev,