An error occurred fetching the project authors.
- 31 Mar, 2015 3 commits
-
-
Tero Kristo authored
Currently some cpu_is_X checks are used to setup prm_features, however the same can be accomplished by just passing these flags from the PRM init data. This is done in preparation to make PRM a separate driver. Signed-off-by:
Tero Kristo <t-kristo@ti.com>
-
Tero Kristo authored
PRM device instance offset is now provided through the prm_init_data. This gets rid of some cpu_is_X / soc_is_X calls from PRM core code, preparing for PRM to be its own separate driver. Signed-off-by:
Tero Kristo <t-kristo@ti.com>
-
Tero Kristo authored
This gets rid of need for some exported driver APIs, and simplifies the initialization of the PRM driver. Done in preparation to make PRM a separate driver. The init data is now also passed to the SoC specific implementations, allowing future expansion to add feature flags etc. Signed-off-by:
Tero Kristo <t-kristo@ti.com>
-
- 27 Mar, 2015 1 commit
-
-
Tero Kristo authored
There is no need to provide the PRM base address through a low-level API from the low-level IO init, as this information is available through DT. Re-routed the parsing function to be called from the PRM drivers also to simplify the implementation under io.c. Signed-off-by:
Tero Kristo <t-kristo@ti.com>
-
- 25 Mar, 2015 2 commits
-
-
Tero Kristo authored
There is no need to call this separately from io.c, rather this can be done commonly under the PRM driver. Signed-off-by:
Tero Kristo <t-kristo@ti.com>
-
Tero Kristo authored
PRM driver now only exports a generic API for clearing / checking VP txdone status. Signed-off-by:
Tero Kristo <t-kristo@ti.com>
-
- 19 Feb, 2015 1 commit
-
-
Uwe Kleine-König authored
of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. So mark the non-const structs in arch/arm as const, too. While at it also add some __initconst annotations. Acked-by:
Jason Cooper <jason@lakedameon.net> Signed-off-by:
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by:
Arnd Bergmann <arnd@arndb.de>
-
- 17 Jan, 2015 1 commit
-
-
Marc Zyngier authored
Commit 9a1091ef ("irqchip: gic: Support hierarchy irq domain") changed the GIC driver to use a non-legacy IRQ domain on DT platforms. This patch assumes that DT-driven systems are getting all of their interrupts from device tree. Turns out that OMAP has quite a few hidden gems, and still uses hardcoded interrupts despite having fairly complete DTs. This patch attempts to work around these by offering a translation method that can be called directly from the hwmod code, if present. The same hack is sprinkled over PRCM and TWL. It isn't pretty, but it seems to do the job without having to add more hacks to the interrupt controller code. Tested on OMAP4 (Panda-ES) and OMAP5 (UEVM5432). Signed-off-by:
Marc Zyngier <marc.zyngier@arm.com> Acked-by:
Nishanth Menon <nm@ti.com> [tony@atomide.com: updated to fix make randconfig issue] Signed-off-by:
Tony Lindgren <tony@atomide.com>
-
- 27 Oct, 2014 8 commits
-
-
Tero Kristo authored
This patch combines the various prm_warm_reset calls under a common API prm_reset_system, and adds the SoC specific implementation under 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>
-
Tero Kristo authored
This adds a generic API for reconfiguring the I/O chain. The implementation will call the SoC specific function registered during init time. The SoC specific reconfigure functions are also made static, as they don't need to be accessed outside the PRM driver itself. Signed-off-by:
Tero Kristo <t-kristo@ti.com> Acked-by:
Paul Walmsley <paul@pwsan.com> Tested-by:
Nishanth Menon <nm@ti.com> [tony@atomide.com: updated for recent omap3 prcm fixes] Signed-off-by:
Tony Lindgren <tony@atomide.com>
-
Tero Kristo authored
These are not needed outside the PRM driver, so make them static and remove the prototypes from the public header. 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>
-
Tero Kristo authored
These are not (and should not be) used by anybody outside the PRM driver itself. 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>
-
Tero Kristo authored
PRM driver now has a generic API for checking hardreset status. 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>
-
Tero Kristo authored
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>
-
Tero Kristo authored
PRM driver now has a generic API for asserting 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>
-
Tero Kristo authored
This is done in attempt to get rid of cpu_is_X calls from the PRM core. 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>
-
- 08 Sep, 2014 4 commits
-
-
Nishanth Menon authored
OMAP5 and DRA7 can now use pinctrl based I/O daisychain wakeup capability. So, enable the support. Signed-off-by:
Nishanth Menon <nm@ti.com> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
-
Nishanth Menon authored
"wkup" event at bit offset 0 exists only on OMAP3. OMAP4430/60 PRM_IRQSTATUS_A9, OMAP5/DRA7 PRM_IRQSTATUS_MPU register bit 0 is DPLL_CORE_RECAL_ST not wakeup event like OMAP3. The same applies to AM437x as well. Remove the wrong definition. Signed-off-by:
Nishanth Menon <nm@ti.com> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
-
Nishanth Menon authored
Allow the PRM interrupt information to be picked up from device tree. the only exception is for OMAP4 which uses values pre-populated and allows compatibility with older dtb. Signed-off-by:
Nishanth Menon <nm@ti.com> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
-
Nishanth Menon authored
use the generic function to pick up the prm_instance for a generic logic which can be reused from OMAP4+ Signed-off-by:
Nishanth Menon <nm@ti.com> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
-
- 16 May, 2014 4 commits
-
-
Tero Kristo authored
SoC specific late_init call is now registered during PRM init, and will be called automatically by PRM core. This helps to get rid of some redundant initcalls and cpu_is_X checks from the PRM code. Signed-off-by:
Tero Kristo <t-kristo@ti.com> Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
Tero Kristo authored
prm_features flag will contain SoC specific feature enabler flags. Initially IO wakeup is added under this. Helps to get rid of runtime cpu_is_X checks. Signed-off-by:
Tero Kristo <t-kristo@ti.com> Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
Tero Kristo authored
This helps to make the PRM registration modular, and also gets rid of a cpu type check done later. Signed-off-by:
Tero Kristo <t-kristo@ti.com> Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
Tero Kristo authored
Done in preparation to make PRM its own driver, as the cpu_is_XXX calls are not available outside mach-omap2 folder. The init functions are called only from cpu specific init chain, and thus don't need to double check against cpu type. The exit calls check against the data provided during init-time registration and thus don't need cpu check either. Signed-off-by:
Tero Kristo <t-kristo@ti.com> [paul@pwsan.com: updated to apply] Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
- 08 May, 2014 1 commit
-
-
Victor Kamensky authored
All OMAP IP blocks expect LE data, but CPU may operate in BE mode. Need to use endian neutral functions to read/write h/w registers. I.e instead of __raw_read[lw] and __raw_write[lw] functions code need to use read[lw]_relaxed and write[lw]_relaxed functions. If the first simply reads/writes register, the second will byteswap it if host operates in BE mode. Changes are trivial sed like replacement of __raw_xxx functions with xxx_relaxed variant. Signed-off-by:
Victor Kamensky <victor.kamensky@linaro.org> Signed-off-by:
Taras Kondratiuk <taras.kondratiuk@linaro.org> Signed-off-by:
Tony Lindgren <tony@atomide.com>
-
- 23 Aug, 2013 2 commits
-
-
Ambresh K authored
Initialise powerdomains, clockdomains, and hwmod frameworks. Signed-off-by:
Ambresh K <ambresh@ti.com> Signed-off-by:
Rajendra Nayak <rnayak@ti.com> [paul@pwsan.com: updated to apply] Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
Rajendra Nayak authored
DRA7 belongs to the omap4plus devices which reuse the omap4_pwrdm_operations ops for powerdomain control. DRA7 however has no VC/VP while all the earlier omap4plus devices did. So use the .pwrdm_has_voltdm() ops to pass this info on to the core. Signed-off-by:
Rajendra Nayak <rnayak@ti.com> Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
- 19 Mar, 2013 2 commits
-
-
Tero Kristo authored
Make use of 'prm_base' so that prm read_inst/write_inst can work on OMAP5 devices. Signed-off-by:
Tero Kristo <t-kristo@ti.com> Signed-off-by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
-
Santosh Shilimkar authored
Allow prm init to succeed on OMAP5 SOCs. Signed-off-by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
-
- 11 Jan, 2013 1 commit
-
-
Tony Lindgren authored
This way the initcalls don't run on other SoCs on multiplatform kernels. Otherwise we'll get something like this when booting on vexpress: omap_hwmod: _ensure_mpu_hwmod_is_setup: MPU initiator hwmod mpu not yet registered ... WARNING: at arch/arm/mach-omap2/pm.c:82 _init_omap_device+0x74/0x94() _init_omap_device: could not find omap_hwmod for mpu ... omap-dma-engine omap-dma-engine: OMAP DMA engine driver ... Tested-by:
Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by:
Tony Lindgren <tony@atomide.com>
-
- 02 Jan, 2013 2 commits
-
-
Ivan Khoronzhuk authored
To read reset sources registers we have to use PRM_DEVICE_INST Signed-off-by:
Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
Ivan Khoronzhuk authored
In the map for reset sources register we use defines intended for using with PRM_RSTCTRL register. So fix it. Signed-off-by:
Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
- 21 Nov, 2012 2 commits
-
-
Rajendra Nayak authored
OMAP4 has module specific context lost registers which makes it now possible to have module level context loss count, instead of relying on the powerdomain level context count. Add 2 private hwmod api's to update/clear the hwmod/module specific context lost counters/register. Update the module specific context_lost_counter and clear the hardware bits just after enabling the module. omap_hwmod_get_context_loss_count() now returns the hwmod context loss count them on platforms where they exist (OMAP4), else fall back on the pwrdm level counters for older platforms. Signed-off-by:
Rajendra Nayak <rnayak@ti.com> [paul@pwsan.com: added function kerneldoc, fixed structure kerneldoc, rearranged structure to avoid memory waste, marked fns as OMAP4-specific, prevent fn entry on non-OMAP4 chips, reduced indentation, merged update and clear, merged patches] [t-kristo@ti.com: added support for arch specific hwmod ops, and changed the no context offset indicator to USHRT_MAX] Signed-off-by:
Tero Kristo <t-kristo@ti.com> [paul@pwsan.com: use NO_CONTEXT_LOSS_BIT flag rather than USHRT_MAX; convert unsigned context lost counter to int to match the return type; get rid of hwmod_ops in favor of the existing soc_ops mechanism; move context loss low-level accesses to the PRM code] Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
Paul Walmsley authored
Some PRM functions will need to be called by the hwmod code early in kernel init. To handle this, split the PRM initialization code into early and late phases. The early init is handled via mach-omap2/io.c, while the late init is handled by subsys_initcall(). Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
- 08 Nov, 2012 1 commit
-
-
Paul Walmsley authored
arch/arm/mach-omap2/prcm.c and arch/arm/plat-omap/include/plat/prcm.h are now completely unused and can be removed. Signed-off-by:
Paul Walmsley <paul@pwsan.com> Tested-by:
Vaibhav Hiremath <hvaibhav@ti.com>
-
- 21 Oct, 2012 3 commits
-
-
Paul Walmsley authored
The OMAP watchdog timer driver needs to determine what caused the SoC to reset for its GETBOOTSTATUS ioctl. So, define a set of standard reset sources across OMAP SoCs. For OMAP2xxx, 3xxx, and 4xxx SoCs, define mappings from the SoC-specific reset source register bits to the standardized reset source IDs. Create SoC-specific PRM functions that read the appropriate per-SoC register and use the mapping to return the standardized reset bits. Register the SoC-specific PRM functions with the common PRM code via prm_register(). Create a function in the common PRM code, prm_read_reset_sources(), that calls the SoC-specific function, registered during boot. This patch does not yet handle some SoCs, such as AM33xx. Those SoCs were not handled by the code this will replace. Signed-off-by:
Paul Walmsley <paul@pwsan.com>
-
Paul Walmsley authored
Move the low-level SoC-specific powerdomain control functions into prm*.c. For example, OMAP2xxx low-level powerdomain functions go into prm2xxx.c. Then remove the unnecessary powerdomain*xxx*.c files. The objective is to centralize low-level PRM register accesses into the prm*.[ch] files, and then to export an OMAP SoC-independent API to higher-level OMAP power management code. Signed-off-by:
Paul Walmsley <paul@pwsan.com> Cc: Rajendra Nayak <rnayak@ti.com> Cc: Vaibhav Hiremath <hvaibhav@ti.com> Acked-by:
Rajendra Nayak <rnayak@ti.com> Reviewed-by:
Russ Dill <Russ.Dill@ti.com> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
-
Paul Walmsley authored
Move OMAP3xxx-specific PRM functions & macros into prm3xxx.[ch] and OMAP2xxx-specific macros into prm2xxx.h. (prm2xxx.c will be created by a subsequent patch when it's needed.) Move basic PRM register access functions into static inline functions in prm2xxx_3xxx.h, leaving only OMAP2/3 hardreset functions in prm2xxx_3xxx.c. Also clarify the initcall function naming to reinforce that this code is specifically for the PRM IP block. This is in preparation for the upcoming powerdomain series and the upcoming move of this code to drivers/. Signed-off-by:
Paul Walmsley <paul@pwsan.com> Reviewed-by:
Russ Dill <Russ.Dill@ti.com> Acked-by:
Santosh Shilimkar <santosh.shilimkar@ti.com>
-
- 13 Sep, 2012 2 commits
-
-
Tony Lindgren authored
As the plat and mach includes need to disappear for single zImage work, we need to remove plat/hardware.h. Do this by splitting plat/hardware.h into omap1 and omap2+ specific files. The old plat/hardware.h already has omap1 only defines, so it gets moved to mach/hardware.h for omap1. For omap2+, we use the local soc.h that for now just includes the related SoC headers to keep this patch more readable. Note that the local soc.h still includes plat/cpu.h that can be dealt with in later patches. Let's also include plat/serial.h from common.h for all the board-*.c files. This allows making the include files local later on without patching these files again. Note that only minimal changes are done in this patch for the drivers/watchdog/omap_wdt.c driver to keep things compiling. Further patches are needed to eventually remove cpu_is_omap usage in the drivers. Also only minimal changes are done to sound/soc/omap/* to remove the unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's no need to include omap44xx.h. While at it, also sort some of the includes in the standard way. Cc: linux-watchdog@vger.kernel.org Cc: alsa-devel@alsa-project.org Cc: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: Jarkko Nikula <jarkko.nikula@bitmer.com> Cc: Liam Girdwood <lrg@ti.com> Acked-by:
Wim Van Sebroeck <wim@iguana.be> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Tony Lindgren <tony@atomide.com>
-
Tony Lindgren authored
As the interrupts should only be defined in the platform_data, and eventually coming from device tree, there's no need to define them in header files. Let's remove the hardcoded references to irqs.h and fix up the includes so we don't rely on headers included in irqs.h. Note that we're defining OMAP_INTC_START as 0 to the interrupts. This will be needed when we enable SPARSE_IRQ. For some drivers we need to add #include <plat/cpu.h> for now until these drivers are fixed to remove cpu_is_omapxxxx() usage. While at it, sort som of the includes the standard way, and add the trailing commas where they are missing in the related data structures. Note that for drivers/staging/tidspbridge we just define things locally. Cc: Paul Walmsley <paul@pwsan.com> Signed-off-by:
Tony Lindgren <tony@atomide.com>
-