linux-ti33x-psp 3.2: add fixed for cssp, fbset and OPP50
[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-ti33x-psp-3.2 / beaglebone / 0079-AM335X-errata-OPP50-on-MPU-domain-is-not-supported.patch
1 From 662134c1007cc275193737dd11ea4b77f47256a7 Mon Sep 17 00:00:00 2001
2 From: AnilKumar Ch <anilkumar@ti.com>
3 Date: Tue, 26 Jun 2012 15:41:51 +0530
4 Subject: [PATCH 79/79] AM335X: errata: OPP50 on MPU domain is not supported
6 This patch implements a workaround for OPP50 erratum, Advisory
7 1.0.15 at http://www.ti.com/lit/er/sprz360b/sprz360b.pdf
9 OPP50 Operation on MPU Domain is Not Supported. This issue seen with
10 reliability tests running on MPU. To minimize power consumption, the
11 ARM Cortex-A8 may be operated at the lower frequency defined by OPP50,
12 but the respective power terminal VDD_MPU must be operated as defined
13 by OPP100. So MPU OPP50 modified to <275MHz, 1.1V>.
15 Power consumption as seen on AM335x EVM:
16 OPP50  <275MHz, 0.95> - 40.5 mW
17 OPP50  <275MHz, 1.10> - 55.5 mW
18 OPP100 <500MHz, 1.10> - 98.5 mW
20 Based on the above data we can see 43mW power savings compared to
21 OPP100. This is the reason for keeping OPP50 alive instead of
22 shutting down completely.
24 Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
25 ---
26  arch/arm/mach-omap2/opp3xxx_data.c |   10 +++++++++-
27  1 file changed, 9 insertions(+), 1 deletion(-)
29 diff --git a/arch/arm/mach-omap2/opp3xxx_data.c b/arch/arm/mach-omap2/opp3xxx_data.c
30 index 0e540c8..9fbcfc3 100644
31 --- a/arch/arm/mach-omap2/opp3xxx_data.c
32 +++ b/arch/arm/mach-omap2/opp3xxx_data.c
33 @@ -154,7 +154,15 @@ static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
34  
35  /* VDD1 */
36  
37 -#define AM33XX_VDD_MPU_OPP50_UV                950000
38 +/*
39 + * Errata 1.0.15: OPP50 Operation on MPU Domain is Not Supported.
40 + *
41 + * To minimize power consumption, the ARM Cortex-A8 may be operated at
42 + * the lower frequency defined by OPP50, but the respective voltage
43 + * domain VDD_MPU must be operated as defined by OPP100. So MPU OPP50
44 + * definition is modified to 275MHz, 1.1V.
45 + */
46 +#define AM33XX_VDD_MPU_OPP50_UV                1100000
47  #define AM33XX_VDD_MPU_OPP100_UV       1100000
48  #define AM33XX_VDD_MPU_OPP120_UV       1200000
49  #define AM33XX_VDD_MPU_OPPTURBO_UV     1260000
50 -- 
51 1.7.10