diff options
author | Tony Lindgren <tony@atomide.com> | 2015-07-24 00:14:02 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2015-07-24 00:14:02 -0400 |
commit | 97d9a3d0967f711e271ef950f1745307720c95d5 (patch) | |
tree | 0fe61791923a06a61e2512feb49b30504550b32c /arch/arm/mach-omap2/omap_hwmod.c | |
parent | 228e5fadba3c7d6ef39bac087cd086ab9d68d945 (diff) | |
parent | 3b86616e3058462c340710dc7a5ac34ec8453944 (diff) |
Merge tag 'for-v4.3/omap-hwmod-prcm-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.3/soc
ARM: OMAP2+: PRCM and hwmod changes for v4.3
This series adds:
- I/O wakeup support for AM43xx
- register lock and unlock support to the hwmod code (needed for the RTC
IP blocks on some chips)
- several fixes for sparse warnings and an unnecessary null pointer test
- a DRA7xx clockdomain configuration workaround, to deal with some hardware
bugs
Basic build, boot, and PM tests are here:
http://www.pwsan.com/omap/testlogs/hwmod-prcm-for-v4.3/20150723080012/
Since I do not have an AM43xx or DRA7xx device, I can't test on those
platforms.
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.c')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index d78c12e7cb5e..2ceed3192f22 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -299,7 +299,20 @@ static void _write_sysconfig(u32 v, struct omap_hwmod *oh) | |||
299 | 299 | ||
300 | /* Module might have lost context, always update cache and register */ | 300 | /* Module might have lost context, always update cache and register */ |
301 | oh->_sysc_cache = v; | 301 | oh->_sysc_cache = v; |
302 | |||
303 | /* | ||
304 | * Some IP blocks (such as RTC) require unlocking of IP before | ||
305 | * accessing its registers. If a function pointer is present | ||
306 | * to unlock, then call it before accessing sysconfig and | ||
307 | * call lock after writing sysconfig. | ||
308 | */ | ||
309 | if (oh->class->unlock) | ||
310 | oh->class->unlock(oh); | ||
311 | |||
302 | omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs); | 312 | omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs); |
313 | |||
314 | if (oh->class->lock) | ||
315 | oh->class->lock(oh); | ||
303 | } | 316 | } |
304 | 317 | ||
305 | /** | 318 | /** |