diff options
author | Tero Kristo <t-kristo@ti.com> | 2012-09-23 19:28:20 -0400 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2012-09-23 19:28:20 -0400 |
commit | 46b3af27894a3b414712bef313c4aacb605fccf7 (patch) | |
tree | 7f0e36e424c196bc9a7a14a773560d587fa3e3a8 /arch/arm/plat-omap/include/plat/omap_hwmod.h | |
parent | ce80979aedfce937926a8dd40a1f92fd4bc2fd53 (diff) |
ARM: OMAP4: hwmod: flag hwmods/modules not supporting module level context status
On OMAP4 most modules/hwmods support module level context status. On
OMAP3 and earlier, we relied on the power domain level context status.
Identify all modules that don't support 'context_offs' by adding a
flag bit, HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT. Rest have a valid
'context_offs' populated in .prcm structure already.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
[paul@pwsan.com: add flag bit rather than overloading .context_offs;
update changelog message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/plat-omap/include/plat/omap_hwmod.h')
-rw-r--r-- | arch/arm/plat-omap/include/plat/omap_hwmod.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h index 86b6a4e70824..09e14ce3ec57 100644 --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * omap_hwmod macros, structures | 2 | * omap_hwmod macros, structures |
3 | * | 3 | * |
4 | * Copyright (C) 2009-2011 Nokia Corporation | 4 | * Copyright (C) 2009-2011 Nokia Corporation |
5 | * Copyright (C) 2011 Texas Instruments, Inc. | 5 | * Copyright (C) 2012 Texas Instruments, Inc. |
6 | * Paul Walmsley | 6 | * Paul Walmsley |
7 | * | 7 | * |
8 | * Created in collaboration with (alphabetical order): Benoît Cousson, | 8 | * Created in collaboration with (alphabetical order): Benoît Cousson, |
@@ -384,6 +384,14 @@ struct omap_hwmod_omap2_prcm { | |||
384 | u8 idlest_stdby_bit; | 384 | u8 idlest_stdby_bit; |
385 | }; | 385 | }; |
386 | 386 | ||
387 | /* | ||
388 | * Possible values for struct omap_hwmod_omap4_prcm.flags | ||
389 | * | ||
390 | * HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT: Some IP blocks don't have a PRCM | ||
391 | * module-level context loss register associated with them; this | ||
392 | * flag bit should be set in those cases | ||
393 | */ | ||
394 | #define HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT (1 << 0) | ||
387 | 395 | ||
388 | /** | 396 | /** |
389 | * struct omap_hwmod_omap4_prcm - OMAP4-specific PRCM data | 397 | * struct omap_hwmod_omap4_prcm - OMAP4-specific PRCM data |
@@ -392,6 +400,7 @@ struct omap_hwmod_omap2_prcm { | |||
392 | * @lostcontext_mask: bitmask for selecting bits from RM_*_CONTEXT register | 400 | * @lostcontext_mask: bitmask for selecting bits from RM_*_CONTEXT register |
393 | * @rstst_reg: (AM33XX only) address of the XXX_RSTST register in the PRM | 401 | * @rstst_reg: (AM33XX only) address of the XXX_RSTST register in the PRM |
394 | * @submodule_wkdep_bit: bit shift of the WKDEP range | 402 | * @submodule_wkdep_bit: bit shift of the WKDEP range |
403 | * @flags: PRCM register capabilities for this IP block | ||
395 | * | 404 | * |
396 | * If @lostcontext_mask is not defined, context loss check code uses | 405 | * If @lostcontext_mask is not defined, context loss check code uses |
397 | * whole register without masking. @lostcontext_mask should only be | 406 | * whole register without masking. @lostcontext_mask should only be |
@@ -406,6 +415,7 @@ struct omap_hwmod_omap4_prcm { | |||
406 | u32 lostcontext_mask; | 415 | u32 lostcontext_mask; |
407 | u8 submodule_wkdep_bit; | 416 | u8 submodule_wkdep_bit; |
408 | u8 modulemode; | 417 | u8 modulemode; |
418 | u8 flags; | ||
409 | }; | 419 | }; |
410 | 420 | ||
411 | 421 | ||