diff options
author | Tero Kristo <t-kristo@ti.com> | 2014-10-27 08:39:25 -0700 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2014-10-27 08:39:25 -0700 |
commit | 37fb59d7e0b471f3aacd26bfdbb64a4dc71f189b (patch) | |
tree | 638df549fcb8505e9197c1877b7de47892b87f78 /arch/arm/mach-omap2/prm_common.c | |
parent | efd44dc35f550e0cedd983d13e180da5e0d368a9 (diff) | |
download | blackbird-op-linux-37fb59d7e0b471f3aacd26bfdbb64a4dc71f189b.tar.gz blackbird-op-linux-37fb59d7e0b471f3aacd26bfdbb64a4dc71f189b.zip |
ARM: OMAP2+: PRM: add generic API for deasserting hardware reset
PRM driver now has a generic API for deasserting hardware resets. SoC
specific support functions are registered through the prm_ll_data.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/prm_common.c')
-rw-r--r-- | arch/arm/mach-omap2/prm_common.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c index 4f8c22075d39..912d99c4d75d 100644 --- a/arch/arm/mach-omap2/prm_common.c +++ b/arch/arm/mach-omap2/prm_common.c @@ -443,6 +443,30 @@ int omap_prm_assert_hardreset(u8 shift, u8 part, s16 prm_mod, u16 offset) } /** + * omap_prm_deassert_hardreset - deassert hardreset for an IP block + * @shift: register bit shift corresponding to the reset line + * @st_shift: reset status bit shift corresponding to the reset line + * @part: PRM partition + * @prm_mod: PRM submodule base or instance offset + * @offset: register offset + * @st_offset: status register offset + * + * Deasserts a hardware reset line for an IP block. + */ +int omap_prm_deassert_hardreset(u8 shift, u8 st_shift, u8 part, s16 prm_mod, + u16 offset, u16 st_offset) +{ + if (!prm_ll_data->deassert_hardreset) { + WARN_ONCE(1, "prm: %s: no mapping function defined\n", + __func__); + return -EINVAL; + } + + return prm_ll_data->deassert_hardreset(shift, st_shift, part, prm_mod, + offset, st_offset); +} + +/** * prm_register - register per-SoC low-level data with the PRM * @pld: low-level per-SoC OMAP PRM data & function pointers to register * |