| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The current omap4_ctrl_pad_writel/readl can be used to
access only the core pad registers. In omap4 wakeup pad
is seperate from the core group. So adding apis to access
the wakeup pad registers. Also added apis for 8/16 bit access
to the core pad registers.
Signed-off-by: sricharan <r.sricharan@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| |\
| | |
| | |
| | | |
git://github.com/nmenon/linux-omap-ti-pm into linux-omap-pm-3.0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update params for debugging Power management with lock, cpufreq,cpuidle
and smartreflex enabled.
Signed-off-by: Nishanth Menon <nm@ti.com>
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
'omap-pm/devel/cpuidle' into omap-pm-integration
Conflicts:
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/powerdomains3xxx_data.c
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To align with the technical jargon already prevelant, name the
C1 state to state CPU0 WFI.
Acked-by: Axel Haslam <axelhaslam@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently C1 and C2 states are the same. Define C2 state as INACTIVE for
CPU0, MPU and core which will cut internal ARM clocks and save more power.
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Tested-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The DPLL for MPU should now be virt_dpll_mpu_ck instead of dpll_mpu_ck
for OMAP4460. Fix this for idle changes
Reported-by: Colin Cross <ccross@google.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
exit_latency was defined twice in the table,
second parameter is target_residency and not
exit_latency.
Acked-by: Ambresh K <ambresh@ti.com>
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
omap4_mpuss_init() calls dma_alloc_coherent() with GFP_KERNEL flags, need
GFP_ATOMIC if called with interrupts off.
Signed-off-by: Ambresh K <ambresh@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On HS/EMU devices the modules from l4_secure_clkdm are used. Few modules from
L4_SEC clockdomain are not accessible without putting l4_secure_clkdm in
force software wakeup.
Follow the recommended sequence across secure API calls.
Acked-by: Axel Haslam <axelhaslam@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The commit 9399b0bf7f729e (OMAP4: PM: Set static dependency ...) misses
MPUSS -> L3_2 and DUCATI -> L3* static dependencies to be set.
Fix the same according to latest data.
Acked-by: Axel Haslam <axelhaslam@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use 16bit read/write for programming pads for io wakeup.
Using 32bit read/write's can overwrite other pad settings.
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add omap4_ctrl_read/write apis for byte and word values
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Rajendra NayaK <rnayak@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Define a dummy omap4_enter_sleep if CONFIG_SUSPEND is not defined
This fixes the linker break:
LD .tmp_vmlinux1
arch/arm/mach-omap2/built-in.o: In function `omap4_enter_idle':
/git/android39/arch/arm/mach-omap2/cpuidle44xx.c:158:
undefined reference to `omap4_enter_sleep'
make: *** [.tmp_vmlinux1] Error 1
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
with CONFIG_OMAP_PM_NOOP=y
build breaks with:
arch/arm/plat-omap/omap-pm-noop.c:313: error: conflicting types for 'omap_pm_get_dev_context_loss_count'
arch/arm/plat-omap/include/plat/omap-pm.h:361: note: previous declaration of 'omap_pm_get_dev_context_loss_count' was here
Reported-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
OMAP4460 ES1.0 seems to suffer from stability with L2 cache enabled.
The root-cause analysis is ongoing but in meantime this chabe is
to enable a software WA with L2 cache enabled build. The WA consist
of locking certain cache ways based on their positions on the
physical memory layout.
Downside of this WA is that effective L2 cache size will be 512 KB
instead of 1 MB.
Of course this is temporary WA and needs to removed once the root
cause and the right fix is found.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On OMAP4460, L2 double line fill feature is available.
Enable the same along with optimal POR offset.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
While at this, fix some indentation issues in cache-l2x0.h
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch fixes compilation issues seen when porting
omap-pm constraint frmwk from 2.6.35. Also, new qos
frmwk expects memory to be allocated by the caller.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Sometimes pm_qos_remove_request is called twice continuously, so
list_del(&pm_qos_req->list) causes oops message.
Signed-off-by: keun-o.park <sahara@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
add the api omap_pm_set_min_mpu_freq
which will restrict the mpu freq to a particular
rate.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Allow omap_pm_get_dev_context_loss_count() to return a counter value
so that driver logic can be written correctly for OSWR context restore
The API needs to be enhanced to take care of the actual pm domain state,
but till that is done, this can be a good substitute.
Change-Id: Iec2592fbae689d6695558c69b85ce04ae183fe14
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The dummy-l3 device was created locally. So its address used
to differ in both request and release context. The address was
different even if same device used to request the throughput-set
API.
Now the dummy-l3 device is created static, so that it gets
initialized only once and has a constant address. With this
the clocks are released properly.
Signed-off-by: Avinash.H.M.<avinashhm@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
target_level was being printed uninitialized in case of an error.
moving the unlock label after printing target_level fix the warning
and issue.
Change-Id: Ie9ba4a03aae472aecf9d2f182854635e6a2a9959
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In the function 'omap_pm_set_min_bus_tput' mutex is locked
to protect code from race condition but in two if cases the
function is returned without unlocking which can cause crash.
This Patch fixes the Issue.
Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Signed-off-by: Vishwanath Sripathy <vishwanath.bs@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This Patch adds support for interconnect constraint management,
API 'omap_pm_set_min_bus_tput' which is called by device drivers
to place or remove constraints on interconnects (L3/L4/DMM)
throughput level.
The resultant throughput is calculated by consolidating all
the requests placed by different users and if same user places
multiple requests then previous request is substituted by
new requested level. To remove a constraint driver should
call the API with argument, 'rate' (throughput level) as '-1'.
This Patch is tested on OMAP 4430 SDP board.
Signed-off-by: Sripathy Vishwanath <vishwanath.bs@ti.com>
Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch implements device wakeup latency constraint framework.
Using omap_pm_set_max_dev_wakeup_lat(), drivers can specify the
maximum amount of time for a device to become accessible after its
clocks are enabled. This is done by restricting the power states
that the parent powerdomain of a device can be put into.
Only power states with profiled wakeup latency value less than the
requested constraint get selected while the constraint is active.
Ported from 2.6.35 by
Axel Haslam <axelhaslam@ti.com>
Signed-off-by: Vibhore Vardhan <vvardhan@ti.com>
Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
As signature of some of the OMAP PM layer APIs are changed, this was breaking
OMAP PM Layer. This patch has fix for the same. Also OMAP PM layer is enabled
by default.
Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch has implementation for OMAP MPU/DMA Latency constraints using PM QOS.
Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The current calibrate the lpj every time CPU hotplug path. This
delays CPU online process.
We can use msater CPU lpj and assign it to the onlined non-boot CPUs
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Leaving the next power states of MPU and CORE to sleep states
have seen issues when secure software trying a wfi and
accidentally hitting sleep states.
Always keep MPU and CORE states programmed to ON unless attempting
a sleep.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reported-by: Patrick Titiano <p-titiano@ti.com>
Rebased-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On suspend, program next power state to retention
domain except for cpu's that get set on further
down the path.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To fix a compilation break, use the new cpu idle
structure.
The new structure was intrduced by:
OMAP3: clean-up mach specific cpuidle data structures
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
PWRREQ is de-asserted if all voltage domain are in OFF state.
Conversely, PWRREQ is asserted upon any voltage domain entering
or staying in ON or SLEEP or RET state.
This signal can be used to request the PMIC to shut down internal
resources.
Change-Id: I666ba98899229cba59c980506ae4e91d599eb038
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Ported-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
De-assert CLK-REQ in Device RET and OFF states
Change-Id: I5d0f772fda469da11d1cc4cde389a60142a945b0
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Validated-by: Girish S G <girishsg@ti.com>
Ported-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On OMAP4, Retention-Till-Access Memory feature is not working
reliably and hardware recommondation is keep it disabled by
default
Impacted Silicon Rev: ES1.0,2.0,2.1,2.2
Change-Id: I24c628822c0909106759a4753a003c0bec3acc3c
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Autoidle is enabled for all DPLL's and autogating for all post
divider DPLL out is also kept enabled.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bm check function pointer is set at init fora given C state,
and the flag is overwriten when a hotplug operation happens.
Since the bm_check function pointer is set, having the flag
check is redundant, and prevents the check from happening
after hotplug operation.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Update cpuidle_params_table, with the latency
values that where recomended, and characterized.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch introduces a config option in pm-defconfig to enable oswr
This way we can merge driver oswr adaptations to mainline
OSWR is currently supported on silicon versions ES2.1 and above
This patch will be reverted when pm-defconfig is deleted
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It is not necessary to have C4 and C3
defined as equal states.
C4 state will be OSWR for MPU and CORE,
Define C4 states appropriately, and disable
this state until supported.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Rename omap4_idle_bm_check to omap4_idle_bm_busy
to be more intuitive and adjust the
return value appropriately.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The idle timer function set the can_sleep flag
which will eventually decide if the clocks can be cut,
and let the power domain to hit low states.
Is active is needed to prevent us from cutting
clocks when there is activity going on the uart.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On omap4 this flag is disabled, so checking
for it will always return 0.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
For EMU these irq cannot be marked as non-secure.
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On HS/EMU devices the context save/restore is handled through secure
APIs. Also one need to save the secure ram context to the external
memory while attempting mpuss OFF state
This patch adds support for the same to enable MPU OFF on omap4
HS/EMU devices
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On HS/EMU devices for context save/restore needs secure APIs.
This patch adds the common infrastructure so that low power
code can use these APIs
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
On High Secure(HS) devices, the SCU power status register needs
to be accessed using the secure API.
This patch adds the support for the same in the CPUx low power path
to enable CPUx OFF on HS devices
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
|