diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-01 15:18:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-01 15:18:40 -0400 |
commit | 50686e8a3aed2f5d295e9d2e79ff43df461c7b76 (patch) | |
tree | e5de912d74c6e1d75e6ecf75f2a62c313955baff /arch/arm/mach-omap2/omap_hwmod.c | |
parent | c5fc249862af862df027030188cc083e072ecd19 (diff) | |
parent | 1ec6f701707e4e97e451ff8b662360f1262a6c59 (diff) |
Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC platform updates from Olof Johansson:
"New or improved SoC support:
- add support for Atmel's SAMA5D2 SoC
- add support for Freescale i.MX6UL
- improved support for TI's DM814x platform
- misc fixes and improvements for RockChip platforms
- Marvell MVEBU suspend/resume support
A few driver changes that ideally would belong in the drivers branch
are also here (acked by appropriate maintainers):
- power key input driver for Freescale platforms (svns)
- RTC driver updates for Freescale platforms (svns/mxc)
- clk fixes for TI DM814/816X
+ a bunch of other changes for various platforms"
* tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
ARM: rockchip: pm: Fix PTR_ERR() argument
ARM: imx: mach-imx6ul: Fix allmodconfig build
clk: ti: fix for definition movement
ARM: uniphier: drop v7_invalidate_l1 call at secondary entry
memory: kill off set_irq_flags usage
rtc: snvs: select option REGMAP_MMIO
ARM: brcmstb: select ARCH_DMA_ADDR_T_64BIT for LPAE
ARM: BCM: Enable ARM erratum 798181 for BRCMSTB
ARM: OMAP2+: Fix power domain operations regression caused by 81xx
ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend
ARM: rockchip: set correct stabilization thresholds in suspend
ARM: rockchip: rename osc_switch_to_32k variable
ARM: imx6ul: add fec MAC refrence clock and phy fixup init
ARM: imx6ul: add fec bits to GPR syscon definition
rtc: mxc: add support of device tree
dt-binding: document the binding for mxc rtc
rtc: mxc: use a second rtc clock
ARM: davinci: cp_intc: use IRQCHIP_SKIP_SET_WAKE instead of irq_set_wake callback
soc: mediatek: Fix SCPSYS compilation
ARM: at91/soc: add basic support for new sama5d2 SoC
...
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.c')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 6ef9e6341d96..cc8a987149e2 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -300,7 +300,20 @@ static void _write_sysconfig(u32 v, struct omap_hwmod *oh) | |||
300 | 300 | ||
301 | /* Module might have lost context, always update cache and register */ | 301 | /* Module might have lost context, always update cache and register */ |
302 | oh->_sysc_cache = v; | 302 | oh->_sysc_cache = v; |
303 | |||
304 | /* | ||
305 | * Some IP blocks (such as RTC) require unlocking of IP before | ||
306 | * accessing its registers. If a function pointer is present | ||
307 | * to unlock, then call it before accessing sysconfig and | ||
308 | * call lock after writing sysconfig. | ||
309 | */ | ||
310 | if (oh->class->unlock) | ||
311 | oh->class->unlock(oh); | ||
312 | |||
303 | omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs); | 313 | omap_hwmod_write(v, oh, oh->class->sysc->sysc_offs); |
314 | |||
315 | if (oh->class->lock) | ||
316 | oh->class->lock(oh); | ||
304 | } | 317 | } |
305 | 318 | ||
306 | /** | 319 | /** |
@@ -3887,7 +3900,8 @@ void __init omap_hwmod_init(void) | |||
3887 | soc_ops.init_clkdm = _init_clkdm; | 3900 | soc_ops.init_clkdm = _init_clkdm; |
3888 | soc_ops.update_context_lost = _omap4_update_context_lost; | 3901 | soc_ops.update_context_lost = _omap4_update_context_lost; |
3889 | soc_ops.get_context_lost = _omap4_get_context_lost; | 3902 | soc_ops.get_context_lost = _omap4_get_context_lost; |
3890 | } else if (cpu_is_ti816x() || soc_is_am33xx() || soc_is_am43xx()) { | 3903 | } else if (cpu_is_ti814x() || cpu_is_ti816x() || soc_is_am33xx() || |
3904 | soc_is_am43xx()) { | ||
3891 | soc_ops.enable_module = _omap4_enable_module; | 3905 | soc_ops.enable_module = _omap4_enable_module; |
3892 | soc_ops.disable_module = _omap4_disable_module; | 3906 | soc_ops.disable_module = _omap4_disable_module; |
3893 | soc_ops.wait_target_ready = _omap4_wait_target_ready; | 3907 | soc_ops.wait_target_ready = _omap4_wait_target_ready; |