aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap_hwmod.h
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2013-02-10 13:22:22 -0500
committerPaul Walmsley <paul@pwsan.com>2013-02-10 13:22:22 -0500
commit6d266f63a11bce427504d203834df3c0bb9be9a5 (patch)
tree8b1a059ab5d9bc35586ba7982d1e3acec20d8932 /arch/arm/mach-omap2/omap_hwmod.h
parent88b62b915b0b7e25870eb0604ed9a92ba4bfc9f7 (diff)
ARM: OMAP2+: hwmod: add enable_preprogram hook
After setup/enable, some IP blocks need some additional setting to indicate the PRCM that they are inactive until they are configured. Some examples on OMAP4 include the AESS and FSUSB IP blocks. To fix this cleanly, this patch adds another optional function pointer, enable_preprogram, to the IP block's hwmod data. The function that is pointed to is called by the hwmod code immediately after the IP block is reset. This version of the patch includes a patch description fix from Felipe. Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Sebastien Guiriec <s-guiriec@ti.com> Cc: Benoît Cousson <b-cousson@ti.com> Cc: Péter Ujfalusi <peter.ujfalusi@ti.com> Cc: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.h')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h
index 3ae852a522f9..41066b4b7a7b 100644
--- a/arch/arm/mach-omap2/omap_hwmod.h
+++ b/arch/arm/mach-omap2/omap_hwmod.h
@@ -501,6 +501,7 @@ struct omap_hwmod_omap4_prcm {
501 * @rev: revision of the IP class 501 * @rev: revision of the IP class
502 * @pre_shutdown: ptr to fn to be executed immediately prior to device shutdown 502 * @pre_shutdown: ptr to fn to be executed immediately prior to device shutdown
503 * @reset: ptr to fn to be executed in place of the standard hwmod reset fn 503 * @reset: ptr to fn to be executed in place of the standard hwmod reset fn
504 * @enable_preprogram: ptr to fn to be executed during device enable
504 * 505 *
505 * Represent the class of a OMAP hardware "modules" (e.g. timer, 506 * Represent the class of a OMAP hardware "modules" (e.g. timer,
506 * smartreflex, gpio, uart...) 507 * smartreflex, gpio, uart...)
@@ -524,6 +525,7 @@ struct omap_hwmod_class {
524 u32 rev; 525 u32 rev;
525 int (*pre_shutdown)(struct omap_hwmod *oh); 526 int (*pre_shutdown)(struct omap_hwmod *oh);
526 int (*reset)(struct omap_hwmod *oh); 527 int (*reset)(struct omap_hwmod *oh);
528 int (*enable_preprogram)(struct omap_hwmod *oh);
527}; 529};
528 530
529/** 531/**