Skip to content

Commit

Permalink
OMAP3: PM: Fix for MPU power domain MEM BANK position
Browse files Browse the repository at this point in the history
MPU power domain bank 0 bits are displayed in position of bank 1
in PWRSTS and PREPWRSTS registers. So read them from correct
position

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
  • Loading branch information
Thara Gopinath authored and paul committed Dec 12, 2009
1 parent 18862cb commit 3863c74
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
6 changes: 6 additions & 0 deletions arch/arm/mach-omap2/powerdomain.c
Original file line number Diff line number Diff line change
Expand Up @@ -983,6 +983,9 @@ int pwrdm_read_mem_pwrst(struct powerdomain *pwrdm, u8 bank)
if (pwrdm->banks < (bank + 1))
return -EEXIST;

if (pwrdm->flags & PWRDM_HAS_MPU_QUIRK)
bank = 1;

/*
* The register bit names below may not correspond to the
* actual names of the bits in each powerdomain's register,
Expand Down Expand Up @@ -1030,6 +1033,9 @@ int pwrdm_read_prev_mem_pwrst(struct powerdomain *pwrdm, u8 bank)
if (pwrdm->banks < (bank + 1))
return -EEXIST;

if (pwrdm->flags & PWRDM_HAS_MPU_QUIRK)
bank = 1;

/*
* The register bit names below may not correspond to the
* actual names of the bits in each powerdomain's register,
Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-omap2/powerdomains34xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ static struct powerdomain mpu_34xx_pwrdm = {
.wkdep_srcs = mpu_34xx_wkdeps,
.pwrsts = PWRSTS_OFF_RET_ON,
.pwrsts_logic_ret = PWRSTS_OFF_RET,
.flags = PWRDM_HAS_MPU_QUIRK,
.banks = 1,
.pwrsts_mem_ret = {
[0] = PWRSTS_OFF_RET,
Expand Down
5 changes: 4 additions & 1 deletion arch/arm/plat-omap/include/plat/powerdomain.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,10 @@

/* Powerdomain flags */
#define PWRDM_HAS_HDWR_SAR (1 << 0) /* hardware save-and-restore support */

#define PWRDM_HAS_MPU_QUIRK (1 << 1) /* MPU pwr domain has MEM bank 0 bits
* in MEM bank 1 position. This is
* true for OMAP3430
*/

/*
* Number of memory banks that are power-controllable. On OMAP3430, the
Expand Down

0 comments on commit 3863c74

Please sign in to comment.