diff options
author | Paul Walmsley <paul@pwsan.com> | 2010-12-21 23:05:14 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2010-12-21 23:05:14 -0500 |
commit | a64bb9cda8b12f599766c7dfe81770d2082a133a (patch) | |
tree | 29886a8c126757dde407a315220e69d1b6a4554a /arch/arm/plat-omap/include | |
parent | c4d7e58fb52c632d8e33cd23a4917d7a7f8302ac (diff) |
OMAP4: powerdomains: add PRCM partition data; use OMAP4 PRM functions
OMAP4 powerdomain control registers are split between the PRM hardware
module and the PRCM_MPU local PRCM. Add this PRCM partition
information to each OMAP4 powerdomain record, and convert the OMAP4
powerdomain function implementations to use the OMAP4 PRM instance
functions.
Also fixes a potential null pointer dereference of pwrdm->name.
The autogeneration scripts have been updated.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: BenoƮt Cousson <b-cousson@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Diffstat (limited to 'arch/arm/plat-omap/include')
-rw-r--r-- | arch/arm/plat-omap/include/plat/powerdomain.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/plat-omap/include/plat/powerdomain.h b/arch/arm/plat-omap/include/plat/powerdomain.h index b79eebb27a70..a0d3a30de9fd 100644 --- a/arch/arm/plat-omap/include/plat/powerdomain.h +++ b/arch/arm/plat-omap/include/plat/powerdomain.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * OMAP2/3 powerdomain control | 2 | * OMAP2/3/4 powerdomain control |
3 | * | 3 | * |
4 | * Copyright (C) 2007-2008 Texas Instruments, Inc. | 4 | * Copyright (C) 2007-2008 Texas Instruments, Inc. |
5 | * Copyright (C) 2007-2010 Nokia Corporation | 5 | * Copyright (C) 2007-2010 Nokia Corporation |
@@ -24,7 +24,6 @@ | |||
24 | 24 | ||
25 | #include <plat/cpu.h> | 25 | #include <plat/cpu.h> |
26 | 26 | ||
27 | |||
28 | /* Powerdomain basic power states */ | 27 | /* Powerdomain basic power states */ |
29 | #define PWRDM_POWER_OFF 0x0 | 28 | #define PWRDM_POWER_OFF 0x0 |
30 | #define PWRDM_POWER_RET 0x1 | 29 | #define PWRDM_POWER_RET 0x1 |
@@ -84,6 +83,7 @@ struct powerdomain; | |||
84 | * @name: Powerdomain name | 83 | * @name: Powerdomain name |
85 | * @omap_chip: represents the OMAP chip types containing this pwrdm | 84 | * @omap_chip: represents the OMAP chip types containing this pwrdm |
86 | * @prcm_offs: the address offset from CM_BASE/PRM_BASE | 85 | * @prcm_offs: the address offset from CM_BASE/PRM_BASE |
86 | * @prcm_partition: (OMAP4 only) the PRCM partition ID containing @prcm_offs | ||
87 | * @pwrsts: Possible powerdomain power states | 87 | * @pwrsts: Possible powerdomain power states |
88 | * @pwrsts_logic_ret: Possible logic power states when pwrdm in RETENTION | 88 | * @pwrsts_logic_ret: Possible logic power states when pwrdm in RETENTION |
89 | * @flags: Powerdomain flags | 89 | * @flags: Powerdomain flags |
@@ -96,6 +96,8 @@ struct powerdomain; | |||
96 | * @state_counter: | 96 | * @state_counter: |
97 | * @timer: | 97 | * @timer: |
98 | * @state_timer: | 98 | * @state_timer: |
99 | * | ||
100 | * @prcm_partition possible values are defined in mach-omap2/prcm44xx.h. | ||
99 | */ | 101 | */ |
100 | struct powerdomain { | 102 | struct powerdomain { |
101 | const char *name; | 103 | const char *name; |
@@ -107,6 +109,7 @@ struct powerdomain { | |||
107 | const u8 banks; | 109 | const u8 banks; |
108 | const u8 pwrsts_mem_ret[PWRDM_MAX_MEM_BANKS]; | 110 | const u8 pwrsts_mem_ret[PWRDM_MAX_MEM_BANKS]; |
109 | const u8 pwrsts_mem_on[PWRDM_MAX_MEM_BANKS]; | 111 | const u8 pwrsts_mem_on[PWRDM_MAX_MEM_BANKS]; |
112 | const u8 prcm_partition; | ||
110 | struct clockdomain *pwrdm_clkdms[PWRDM_MAX_CLKDMS]; | 113 | struct clockdomain *pwrdm_clkdms[PWRDM_MAX_CLKDMS]; |
111 | struct list_head node; | 114 | struct list_head node; |
112 | int state; | 115 | int state; |