Commit Graph

346 Commits

Author SHA1 Message Date
Osvaldo Banuelos c917bb108a ARM: dts: msm: Add pinctrl device for TLMM in samarium
Enable pinctrl driver for msmsamarium. Add skeleton dtsi
file for TLMM pin configuration nodes.

Change-Id: I251049657041c46b515510b17404b09de895d640
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
2013-09-10 14:03:13 -07:00
David Collins 16b26ca78e msm: Kconfig: select MSM_RPM_REGULATOR_SMD for msmsamarium
Select the MSM_RPM_REGULATOR_SMD config option for msmsamarium
targets.  This is required in order to support regulators which
are shared via the RPM.

Change-Id: I3e9232d571729807cce0decb64884cad60139bcf
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-09-05 14:55:08 -07:00
Stephen Boyd 15b2e4579c Kconfig: Drop select of DONT_MAP_HOLE_AFTER_MEMBANK0
Selecting this config does nothing because its a choice menu.
Drop the select.

Change-Id: Iefaede4bb4fd8957ad4e99e9e73b657cc0dc1aa8
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-05 14:53:59 -07:00
Susheel Khiani 55ebbb9b98 msm: Kconfig: Select ARM_HAS_SG_CHAIN for MPQ8092
ARCH_HAS_SG_CHAIN will enable chaining of pages to
accomodate extended sg_table entries.

Change-Id: I186d8f74c82270d6c901fb7eede0e717524d1f52
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
2013-09-05 14:53:45 -07:00
Krishnankutty Kolathappilly 830163bcbd qdsp6v2: Use ADSP loader as in-kernel component using sysfs node
ADSP is loaded as a seperate module using insmod. Use adsp loader
as in-kernel component. Loading the adsp is triggered using sysfs
node. Once file system is loaded an entry is written to the sysfs
node. This triggers the registered callback function and loads
the ADSP.

Change-Id: Id25ae2c16a8f1de04136a44d2da5c319cf0173aa
Signed-off-by: Krishnankutty Kolathappilly <kkolat@codeaurora.org>
2013-09-05 14:52:25 -07:00
Archana Sathyakumar c284a85e42 msm: samarium: Enable low power mode drivers at boot
Low Power Mode drivers need to be initialized before many other platform
devices. Initialize these drivers in board file.
Allow the architecture to compile and include low power mode drivers in
Kconfig.

Change-Id: I223c28b37ba056ea1b2568cd23425139914a2e5e
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
2013-09-05 14:52:17 -07:00
Stephen Boyd 3b6ef201c1 msm: Kconfig: Select arch timer on mpq8092
The Kconfig has changed between 3.4 and 3.10, select the
appropriate config entry so that architected timers are always
built in to the kernel.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 17:24:48 -07:00
Sarang Joshi 6665f49a8c msm: Kconfig: update msm9625 phys offset
Update phys offset and zreladdr for msm9625 2.0 memory map.

Change-Id: I906e296c7874f1d2ae1d55341bd030158562fd58
Signed-off-by: Sarang Joshi <spjoshi@codeaurora.org>
2013-09-04 17:21:48 -07:00
Jeff Hugo b4cefe8e66 msm: Kconfig: Enable QMI libraries on mpq8092
Enable QMI libraries to enable QMI communication by the kernel drivers.

Change-Id: I5009c2be6f5b82a90db022141e4af52ae34be5ae
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-09-04 17:21:36 -07:00
Srinivas Ramana f2ed883894 msm: mpq8092: Enable the memory hole
mpq8092 has a hole in the memory map.
1. Select the appropriate Kconfig options for this
hole to be used effectively.
2. parse the dt for memory-hole node and carveout
memory accordingly.

Change-Id: I19dafd90309d769369a0db107abdb444dc3b0007
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
2013-09-04 17:21:22 -07:00
Jack Pham 49237a3788 arm: mach-msm: remove ARCH-specific dependency from USB
ARCH-specific dependencies should not belong in the USB Kconfig
file.  Rather, it should be the other way around: the ARCH's
Kconfig should select USB_ARCH_HAS_XHCI.

Also add support for XHCI to ARCH_APQ8084.

Change-Id: I9ad1dab169a985ebf732b9b224613e44e5ec9d17
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2013-09-04 17:21:17 -07:00
Hanumant Singh fa030346f3 arm: dts: msm8226: Add pinctrl device for TLMM
Add skeleton dtsi file for TLMM pin config nodes.
Also enable pinctrl driver.

Change-Id: Ie35a1138da42676940ecd13a0ea7583c9c5d1020
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
2013-09-04 17:21:15 -07:00
Karthikeyan Ramasubramanian 8fa0eea642 msm: ipc: Add HSIC Transport for off-chip communication
Register a new transport that enables off-chip communication of
IPC Router through HSIC.

Change-Id: I6c37759fd25cad2d2861dfcadaee0881033003ce
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2013-09-04 17:19:15 -07:00
Vikram Mulukutla 5cd6e5f985 msm: Kconfig: Enable PIL for the MSM Samarium
Enable the peripheral loader so that peripheral
processors such as the Venus, ADSP etc. can be
brought out of reset.

Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2013-09-04 17:14:37 -07:00
Abhijeet Dharmapurikar 289ebfbb31 msm: Kconfig: Introduce a configuration option for krait regulators
Currently the krait-regulator driver is only compiled for 8974 based
devices. krait-regulator devices will be used in other MSMs.

Introduce a config option for the krait-regulator driver.

Change-Id: Ib4a636f940c6b4d22177edd86552399aaf5bd97c
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2013-09-04 17:14:04 -07:00
Praveen Chidambaram 13a509a8f3 msm: apq8084: Enable low power mode drivers at boot
Low Power Mode drivers need to be initialized before many other platform
devices. Initialize these drivers in board file.
Allow the architecture to compile and include low power mode drivers in
Kconfig.

Change-Id: Ib8ab3642e67402ca0e55880cf5fea8d6e1570072
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
2013-09-04 17:12:29 -07:00
Girish Mahadevan 3fe9e61757 msm: lpm: Alter the voting mechanism for lpm drivers
Currently the power management drivers monitor the sleep votes received
for certain system wide resources such as system clock and digital voltage
rail. By knowing the sleep vote and the available sleep time , latency
requests the low power management drivers (lpm_resources module) can alter
the sleep votes for those resources during RPM notified sleep modes.

Changing this method because this method requires a new low power level be
added for each combination of the system wide resources being monitored
and that each level be characterized (latency, power etc), this method is
not very scalable as the number of system resources being monitored by the
low power management driver increases. But most of all the decisions on
whether there is enough sleep time to enter these system wide sleep modes
(residency decisions) need to be made at RPM.

This change will remove the lpm_resources module altogether and remove all
low power levels beyond those pertaining L2 cache at lpm_levels.

CRs-Fixed: 490824
Change-Id: I255b696851074dcf7bed40b648c0eb3c5c4d0d6d
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2013-09-04 17:12:29 -07:00
Jeff Hugo da4f18d4b9 msm: Kconfig: Enable QMI libraries on MSMKRYPTON
Enable QMI libraries to enable QMI communication by the kernel drivers.

Change-Id: If40963da8abfbee79f17a68c16663b85a4907b41
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-09-04 17:12:18 -07:00
Stanimir Varbanov 83a2611140 msm: smcmod: Remove the driver dependancy to FSM9xxx
The smcmod driver will be used on MSM targets to communicate with
secure world. To make possible building of the driver on MSM targets
remove the depends on FSM9xxx from Kconfig.

Change-Id: I721d791f64d1dd48bc7264b9af545afb8818ef56
Signed-off-by: Stanimir Varbanov <svarba@codeaurora.org>
2013-09-04 17:11:39 -07:00
mengmeng db09d3fcde board: krypton: create memory hole for krypton
The init_very_early will do eary memory setup for the board. It's
needed when trying to carve out/reserve memory. The memory hole will be
carved out when CONFIG_MEMORY_HOLE_CARVEOUT=y

Change-Id: I8ef2b8009513e162e77e1ab2245efd0354fbac66
Signed-off-by: mengmeng <mengmeng@codeaurora.org>
2013-09-04 17:08:41 -07:00
Jeff Hugo a127a7537f msm: Kconfig: Enable QMI libraries on MSMSAMARIUM
Enable QMI libraries to enable QMI communication by the kernel drivers.

Change-Id: Ibdff57e9a3762ea30c417f377de11f5e82105607
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-09-04 17:06:30 -07:00
Subbaraman Narayanamurthy 31baa0d423 msm: iomap: Enable debug uart support for MSM8226
Debug uart support is needed for early printk.

CRs-Fixed: 501362
Change-Id: Icd6291d4f7b64f57694ad17475fb88e84dc69bf8
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2013-09-04 17:00:49 -07:00
Girish Mahadevan c010d295b6 msm: rpm_rbcpr_stats_v2: Support to query RBCPR stats
Support to query stats pertaining to RBCPR (Rapid Bridge Core Power
Reduction) from RPM data memory. The RBCPR module on the RPM modifies
voltage levels for certain chip level voltage rails based on feedback from
different sensors. This change allows querying for the RBCPR stats
maintained on RPM's data memory.

Change-Id: Ia3bdf1ef39c4064b2c3d7406b219e95c18ced21d
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2013-09-04 16:59:09 -07:00
Gagan Mac 383355ddd6 msm: buspm: Enable busPM for targets which support bus scaling.
BusPM module should not depend on individual target configs
as it previously was. Fix this by tying busPM module with
MSM_BUS_SCALING conifg and enable it on all targets where
bus scaling is enabled.

CRs-Fixed: 486454
Change-Id: I5e44b6b63dd8577a5db6fa6f34526af0a4933c82
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
2013-09-04 16:56:18 -07:00
Syed Rameez Mustafa 96ef863286 msm: Kconfig: Remove cpufreq governers from 8226/8610 config options
These configs options are not essential to the MSM. These have already
been placed in the defconfig where they can be selected as per need.

Change-Id: I222d97a5e3adbb1010af326f32168ef3e2befc83
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 16:53:51 -07:00
Anji Jonnala 15ee52566e msm: Kconfig: Select CPU_FREQ_MSM for 9625
Basic thermal mitigation involves frequency mitigation, hence to
enable kernel thermal mitigation select MSM_CPU_FREQ.

Change-Id: I2b7e1831e09203a4f710fa97fc5c8f05e2891894
Signed-off-by: Anji Jonnala <anjir@codeaurora.org>
2013-09-04 16:50:09 -07:00
Rohit Vaswani dcf749696e msm: Wall clock kernel module
This driver simulates the wall-clock hardware block on fsm8064_ep
femto emulation platform. This block will be used to provide
clock information to the LTE Layer 2 module running on the hexagon
processor

Change-Id: I017f61b9b0c175eb4f2f8129b5c63c9bd489ae38
Acked-by: Jie Luo <jluo@qti.qualcomm.com>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2013-09-04 16:47:47 -07:00
Jeff Hugo 3b7ced9690 msm: Kconfig: Enable QMI libraries on APQ8084
Enable QMI libraries to enable QMI communication by the kernel drivers.

Change-Id: Ia09b7a5bdd28943c3b63424b7654ed12011b40a8
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-09-04 16:42:07 -07:00
Naveen Ramaraj 5daf7da86a msm: ocmem: Add a separate Kconfig for keeping clocks enabled.
For bringup purposes add a new Kconfig item that performs
the extra vote for the ocmem core clock and thus forcing the
core to remain turned ON at all times.

The previously used Kconfig MSM_OCMEM_POWER_DISABLE for the
same purpose now skips all power operations including clock votes.

Change-Id: I3068dcb84b8caaa900243f5bdffef36c88ff4e5c
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
2013-09-04 16:41:58 -07:00
Laura Abbott 7aa1bf5c7d msm: apq8084: Enable the memory hole Kconfigs
The apq8084 has a hole in the memory map. Select the appropriate
Kconfig options for this hole to be used effectively.

Change-Id: I7f3d8485594a2e069e8b3c862f9aa07964b5640a
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-09-04 16:38:52 -07:00
Jay Chokshi b72dbde129 msm: Kconfig: Add support for MSMSAMARIUM
Add the Kconfig options, associated dependencies for
the MSMSAMARIUM target, and build support.

Change-Id: I6745cb055174b4c8d2149551da7c09e3af5c84af
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
2013-09-04 16:38:36 -07:00
Stepan Moskovchenko 2ee653bfc6 msm: Kconfig: Select MSM_SCM unconditionally
SCM is used for more than just setting secondary CPU entry
points, so select this feature for MSM targets regardless
of whether CONFIG_SMP is enabled.

Change-Id: Id4c15f38d58a2f7579209cb51c8904fe2559a80e
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2013-09-04 16:36:48 -07:00
Rohit Vaswani 7dd5b6e664 msm: Add necessary support to build fsm9900 target
Add the Kconfig and Makefile entries needed to support
the FSM9900 target

Change-Id: I3f995df7357640d3679b6c14e609e9a529fc508a
Acked-by: Kaushik Sikdar <ksikdar@qti.qualcomm.com>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2013-09-04 16:36:39 -07:00
Syed Rameez Mustafa be372bc07e msm: Kconfig: use ARM ticket spinlocks for 8226 and 8610
ARM_TICKET_LOCKS is selected as a default only for Krait MP
targets. Select this explicitly for Cortex MP targets.

Change-Id: I8741afd84810e3f76aa47529cff89946b323d7da
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 16:29:22 -07:00
Laura Abbott cda735d155 msm: Remove ANDROID_PMEM from the Kconfig dependencies
The PMEM driver is completely deprecated. Remove any Kconfig
that is still depending on it.

Change-Id: I3386a7eedf34213f2c644372a719ae00c65b0d6d
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-09-04 16:27:25 -07:00
Abhimanyu Kapur 73ecfe7768 msm: Kconfig: krypton: update phys offset
Update the phys offset for MSM KRYPTON according to
the latest memory map.

Change-Id: Iace7c108c9ecb6cafa9c01c3845d3c37f84d5c39
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2013-09-04 16:25:28 -07:00
Stephen Boyd 5cb74fcb4f msm: Add proper 9625 debug_ll support
Fix the uart address and add in the missing Kconfig entry so that
we can use debug_ll on 9625.

Change-Id: I7d2b0f046b6acd93739affa5d64f8977ceff08b8
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 16:25:00 -07:00
Patrick Daly 5f2dd475c0 msm: Kconfig: Add powersave governor for 8226/8610
This governor is used by kernel test scripts.

Change-Id: I34c12a76058a518d89b2c152a7da7cdccd5d9765
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2013-09-04 16:24:48 -07:00
Stepan Moskovchenko a70cf2850c msm: Rename MSMZINC to APQ8084
Rename the MSMZINC target to APQ8084, and update all code
references accordingly.

Change-Id: I369211d4898603c4cb93aef52fc7ff3b5e5c971c
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2013-09-04 16:24:28 -07:00
Laura Abbott 7edd2d2247 msm: Kconfig: enable ARCH_WANT_KMAP_ATOMIC_FLUSH for selected targets
Targets with content protection (potentially) backed by
highmem need to ensure that all potential mappings are removed.
Enable ARCH_WANT_KMAP_ATOMIC_FLUSH to ensure that old kmap_atomic
mappings get flushed.

Change-Id: I207da3eb228a51b19fc604dbf4f90094e84f90cc
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-09-04 16:21:36 -07:00
Abhimanyu Kapur 9db9e10ca3 msm: Kconfig: Add support for MSMKRYPTON
Add the Kconfig options and associated dependencies for
the MSMKRYPTON target

Change-Id: Id7a20d80dab682c75884d09d4999bc5b3b932e06
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2013-09-04 16:19:46 -07:00
Priyanka Mathur 78995ed031 msm: Kconfig: Enable RPM stats for 8610 and 8226
Select RPM_STATS_LOG to enable it on 8226 and 8610 targets.

Change-Id: I5d8e6e3c1ef6fec4acd388ca892dd09e853ae167
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 16:17:39 -07:00
Priyanka Mathur af267eb262 msm: Kconfig: Enable RPM log for 8610 and 8226
Select RPM_LOG to enable it on 8226 and 8610 targets.

Change-Id: Ie2900f5cc797a14333ba93372f76c23834187046
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 16:17:39 -07:00
Laura Abbott ef3b8b3214 msm: Don't depend on ANDROID_PMEM for contiguous region
The contiguous region is no longer related to PMEM. Remove
the dependency on it.

Change-Id: I92acd634166bfd0fed1a11475f87b1ba8f34e136
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-09-04 16:16:22 -07:00
Aparna Das 0e606590b4 jtagmm: Add ETM register save-restore support for 8610
Debug and ETM registers do not retain their state on power collapse.
This change provides save-restore support for these registers using
memory mapped access to allow debugging and tracing across power
collapse.

Change-Id: I2e24d4679d4479179373b3833b3438df6c8c7382
Signed-off-by: Aparna Das <adas@codeaurora.org>
2013-09-04 16:15:45 -07:00
Abhimanyu Kapur e53f785916 msm: Kconfig: 9625: remove smp
Remove SMP configs for MSM9625 which is a
single core target.

Change-Id: If7467ebf6a1c7b28c51dd1c0c91f8d28687a4f53
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2013-09-04 16:15:28 -07:00
Syed Rameez Mustafa f9e912ad3f msm: Kconfig: remove dependencies and incorrect defaults for SENSORS_ADSP
The config SENSORS_ADSP can be selected by future targets and has
no particular dependency on 8974 or 8226. The dependency list will
keep increasing as more targets use this config. Its more suitable
to have individual targets select it in their defconfigs instead.
This config does not need to be enabled by default either. This was
introduced in ab00c019bfb7b0af19a4341759b3ac381a168edf as an unwanted
side effect since the actual intention of the change was to remove it
from the Kconfig.

Change-Id: Id613156b61038dd58bbe5336c17d8ab5c76ad987
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 16:15:01 -07:00
Willie Ruan 147857d452 msm: Kconfig: select MSM_CPR_REGULATOR for ARCH_MSM8610
Select MSM_CPR_REGULATOR to compile in cpr-regulator
driver for MSM8610.

Change-Id: I45307777d88f4eaacb73bfc5d6bebaf34bee65fa
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2013-09-04 16:14:54 -07:00
Willie Ruan b3b4b04da1 msm: Kconfig: select MSM_CPR_REGULATOR for ARCH_MSM8226
Select MSM_CPR_REGULATOR to compile in cpr-regulator
driver for MSM8226.

Change-Id: Id9cdcaa57c53636b7dc53117747dd2b6937d7618
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2013-09-04 16:14:19 -07:00
Willie Ruan 96692ab545 msm: cpr-regulator: add CPR driver for APC
RBCPR (RapidBridge Core Power Reduction) is a technology to reduce
core power on a cpu or a core. It takes voltage suggestions in efuse
from product test process as initial settings. It supports "corner"
vote mechanism and converts corner value to voltage before writing
to a voltage regulator API, such as that provided by spm-regulator
driver.

This patch only adds basic code as a regulator driver and to support
efuse reading and initial voltage settings for corners. CPR support
will be added in a separate patch.

Change-Id: I98896fb00e9864d849498d0446cd2aae4af95f58
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2013-09-04 16:14:07 -07:00
rockiec 0caf75eace msm: sensor: Enable the ADSP sensor driver
This commit will enable the ADSP sensor driver for MSM8226.
It will remove the default select for MSM8974.
It will use a new Config to replace the default select.

Change-Id: I016c7b3211f6f304ef22f881a933c3423f711b49
Signed-off-by: Jie Cheng <rockiec@codeaurora.org>
2013-09-04 16:13:35 -07:00
Laura Abbott de2ffcee77 msm: Remove default y from hw3d driver
The hw3d driver does not cure cancer and we end up with
compile failures when removing deprecated CONFIG_ANDROID_PMEM.
Remove the default y.

Change-Id: I4cf92b199a7575839a5dc99b154bdf6869b30807
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-09-04 16:12:26 -07:00
David Collins 7fa60a1983 msm: Kconfig: Enable MSM_SPM_REGULATOR for msm8226 and msm8610
Select the MSM_SPM_REGULATOR config for msm8226 and msm8610 so
that the processor supply regulators may be controlled via the
spm-regulator driver.

Change-Id: Id223ed1b4febb7acebe80cadd9e7eb732096c6c7
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-09-04 16:12:16 -07:00
David Collins 76d8672389 msm: Add spm-regulator driver
Add a new regulator driver named spm-regulator which can control
FTS2 type QPNP PMIC regulators via the SPM module.  Provide
support for both possible FTS2 voltage ranges.

Change-Id: Ibba2ac5ce97f4fdcf28b9077cb4d8ef3f5c65531
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-09-04 16:12:15 -07:00
Syed Rameez Mustafa 20718c4e0e msm: add support to mark XPU violations as fatal errors
Using new APIs from the secure enviorment the kernel now has the
ability to mark XPU violation as fatal errors. Add the necessary
files and build support to statically set how XPU violations will
be treated.

Change-Id: I8fce0d984554e5c1ce6712435a07cf1232e76206
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 16:12:04 -07:00
Pushkar Joshi a033116999 jtagmm: Add ETM register save-restore support for CPUs with OS Lock
For CPUs with OS lock mechanism, the OS lock needs to be manipulated
appropriately before saving and restoring the ETM registers.

Change-Id: I557e6956b3c6bc04e7b3df137a1155ddb1fcf7b6
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>
2013-09-04 16:09:59 -07:00
Stepan Moskovchenko f68a8721d5 msm: Kconfig: Select ARCH_DMA_ADDR_T_64BIT in LPAE mode
Enable the ARCH_DMA_ADDR_T_64BIT option on LPAE targets if
support for LPAE has also been enabled to indicate support
for 64-bit DMA address types.

Change-Id: Ic065976c7fd0e6161fd176df295f1933aa789041
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2013-09-04 16:09:22 -07:00
Pratik Patel a47f26f509 msm: wdog_debug: switch to using scm call to disable wdog debug
To enable TZ to lock down (for security reasons) the wdog debug
and boot partition select registers, switch to using scm call to
disable wdog debug and/or clear boot partition select register.

CRs-Fixed: 459479
Change-Id: If09b25d73a25e59b4d6afbfbe7ee2bd07afb83c8
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
2013-09-04 16:09:17 -07:00
Stepan Moskovchenko 7fbcce47eb msm: zinc: Add low-level debugging UART support
Add the I/O map definitions and Kconfig options needed to
enable low-level debugging support (through earlyprintk)
on the MSMZINC platform.

Change-Id: Iacacc96f1a0d49314085a87ee3cc0905c09ebe9b
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2013-09-04 16:09:01 -07:00
Stepan Moskovchenko a2e36b4d50 msm: Kconfig: Add support for MSMZINC
Add the Kconfig options and associated dependencies for
the MSMZINC target.

Change-Id: Ia8b582a83a7df250f9dd28ff23301d753f963d1c
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2013-09-04 16:08:59 -07:00
Syed Rameez Mustafa 9fadef0f33 msm: Kconfig: sync the 8226 and 8610 config options
8226 and 8610 currently share the same kernel image. Therefore config
options defined for one target implicitly apply to the other. Duplicate
all config options explicitly. This will be required for a potential
splitting of the kernel image in the future.

* Add cpufreq, pil and run queue stats config options for 8226
* Change DONT_MAP_HOLE_AFTER_MEMBANK to DONT_MAP_HOLE_AFTER_MEMBANK0.
  The former does not exist.
* Add bus scaling and regulator config options for 8610

Change-Id: I86a16f20e69276f8b0f54378fd9bc2a9a2ac3a9c
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 16:08:04 -07:00
Abhimanyu Kapur 7ce05c6f29 msm: boot_stats: add support for msm bootloader stats
Boot loader stats provide us with bootloader timing
information and are based on the mpm2 sleep clock.

Change-Id: I89fb746de878d18c41e5d7bb57ea8a02aa104141
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2013-09-04 16:07:50 -07:00
David Keitel 74461b0392 msm: Kconfig: select MSM_RPM_REGULATOR_SMD on 8226
Select MSM_RPM_REGULATOR_SMD for 8226. This is required
to correctly configure regulators via RPM.

Change-Id: I2e41c093023ccab537be9ce992241ad1cbdd8a4c
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2013-09-04 16:07:26 -07:00
Larry Bassel 17bffebe36 msm: remove obsolete DMM code and config options
DMM is no longer supported, but there were still fragments
of the DMM support dependent on the obsolete config options
CONFIG_ENABLE_DMM and CONFIG_FIX_MOVABLE_ZONE present.
Remove these config options and the associated code.

Change-Id: I01c715c8d9c65eebc7ff123a8a0878166b606e0c
CRs-fixed: 460735
Signed-off-by: Larry Bassel <lbassel@codeaurora.org>
2013-09-04 16:05:59 -07:00
Syed Rameez Mustafa a21e19f159 Revert "msm: 8226/8610: change phys offset to discard the lower 1M of memory"
This was a temporary workaround for 8x26/8x10 for SMP boot issues and is
no longer needed. The solution for Cortex-A7 SMP with memory map based at
0 is to use VINITHI for booting secondary cores. This is now done in TZ.

This reverts commit 62040d67663780048d1b2ec993c1dc9be92a707b.

Change-Id: I64af5206226857bd99c364c6d711659e12ea2809
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 16:05:04 -07:00
Mitchel Humpherys 21cf090bf4 msm: Kconfig: Enable ARM_HAS_SG_CHAIN on msm8610/msm8226
msm has the capability of chaining scatterlists. This allows
scatterlists to be much larger than they would be without
chaining. Enable the config option to take advantage of this.

Change-Id: I81cf59f361302acbea2e941d9b4cbf4b938f69ba
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 16:04:17 -07:00
Syed Rameez Mustafa 5709039cb1 msm: Kconfig: make DLOAD mode independent of the target
DLOAD mode does not depend upon any particular target. It defaults
to n unless explicitly selected in a defconfig.

Change-Id: I6a70bee99d19454de3e00ac9fc27120045ab6d40
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 16:04:08 -07:00
Syed Rameez Mustafa cd99805d68 msm: 8226/8610: change phys offset to discard the lower 1M of memory
Due to issues with boot remapping on the CPUS, the kernel has to forfeit
the bottom 1M of memory. This value is chosen to meet the minimum kernel
alignment requirement.

Change-Id: I1e109ea37e6fab814d96fe2254bc1bc7cdacbf41
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 16:03:50 -07:00
Siddharth Verma 5a292e68b2 Kconfig : Enable Run Queue Stats for 8x10
Enable Run Queue statistics for 8x10 target

Change-Id: I0b92fd5219fca15c71bc8beefa018a24b2be37f1
Signed-off-by: Siddharth Verma <vermas@codeaurora.org>
2013-09-04 16:02:51 -07:00
Priyanka Mathur d219e1e9ed msm: Kconfig: Enable CONFIG_MSM_RPM_LOG on 9625
The RPM log driver is used to read RPM log via
debugfs. Select MSM_RPM_LOG option to enable compilation
of rpm log on 9625.

Change-Id: I4ce4ce5c3054e67064f877d595641e9941b8929d
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 16:01:38 -07:00
Gagan Mac ca9b48af37 msm: 8226: Enable bus scaling on 8226
Switch on bus scaling by enabling MSM_BUS_SCALING in Kconfig
file. This change is required to ensure that the NoC and
BIMC clocks can be scaled for power and performance
optimization.

Change-Id: I9554640ec214d879b5499600e97c2118e8269f49
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
2013-09-04 16:01:20 -07:00
Pratik Patel 415d8d3770 coresight: split qdss config to more granular coresight configs
Change CONFIG_MSM_QDSS to granular CORESIGHT configs covering
various CoreSight drivers. This better represents the CoreSight
device topology and allows more flexibility in choosing the
drivers required for a particular platform or chip.

Change-Id: I5ae44442c24c88673f2045ad24dc89e4d86d23cb
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
2013-09-04 15:56:50 -07:00
Patrick Daly 4db475d8f6 msm: Kconfig: Use PIL in 8226
This target uses the pil drivers to load binary images into
the modem, lpass, venus, and pronto. Enable this feature.

Change-Id: Ic0f0ad54e7aa7386240a7e2daa6e383144f8a329
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2013-09-04 15:56:42 -07:00
Patrick Daly b40a871295 defconfig: Enable cpufreq in 8226 and 8610
Enable the userspace and ondemand governors.

Change-Id: I45a26ce825745c64b08e15f7801789710f7d1679
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2013-09-04 15:56:41 -07:00
Priyanka Mathur 6e749eb533 msm: Kconfig: Add config option for RPM Log
Enable MSM_RPM_LOG option in Kconfig for rpm
log on 8974.

Change-Id: Ic6176ba57305bf223f8977257a49bad0b53ff48d
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 15:56:39 -07:00
Neeti Desai 99eb82ceb6 msm: 8226: Move memory map information to kernel
Update the board file to scan the device tree to get information
regarding the memory hole, which is removed using memblock remove.

Enable config option DONT_MAP_HOLE_AFTER_MEMBANK0, to avoid mapping
of the memory hole to virtual memory thus resulting in more lowmem.

Change-Id: I90d1881305aee141ab8615f1c26e70d6229ea406
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2013-09-04 15:54:43 -07:00
Neeti Desai 627acdc596 msm:9625: Move memory map information from the bootloader to kernel.
Update the board file to scan the device tree to get the address and
size of the memory holes after the kernel start address. These memory
holes are removed using memblock-remove.

Any memory not accessible to the kernel below the start address
should be not be given by the bootloader to the kernel.

Signed-off-by: Neeti Desai <neetid@codeaurora.org>
Change-Id: Ic38b88b32095ffde3f4e7db2e1b5c2caea651a8c
2013-09-04 15:54:31 -07:00
Neeti Desai 2506e07747 msm: 8610: Move memory map information to the kernel
Update the board file to scan the device tree to get information
regarding the memory hole, which is removed using memblock remove.

Enable config option DONT_MAP_HOLE_AFTER_MEMBANK0, to disable mapping
of the memory hole to the virtual memory thus resulting in more lowmem.

Signed-off-by: Neeti Desai <neetid@codeaurora.org>
Change-Id: I87d7189c43e33d74d1f13230d1788000c7b85cad
2013-09-04 15:54:28 -07:00
Priyanka Mathur 9829bb63ea msm: rpm_log: Support RPM log on 8974
Support to read RPM Log from the RPM RAM region on
8974. Read required data from device tree. Also read
required parameters to support read raw data.

Change-Id: I54ba39d3cbd02f0691fa7e8307fee52a033d1a33
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 15:53:49 -07:00
Praveen Chidambaram a80ede8f8a msm: 8610: Compile Low power management drivers
Define primary default LPM configurations in Kconfig for 8610.
Compile pm-8x60, cpuidle, rpm, spm and mpm drivers for 8610.

Change-Id: Iad3026b8607480f5fe1ed20c39837519a61a6832
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
2013-09-04 15:51:21 -07:00
Priyanka Mathur 87d27f2905 msm: Kconfig: Add config option for Test Framework
Select MSM_LPM_TEST option in Kconfig to enable compilation of
LPM test framework on 8974.

Change-Id: I299d01d3518f7e7fe17254d5df816c1d518f7b9e
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 15:51:15 -07:00
Rohit Vaswani 23bbafb97b msm: 8064: Add board and device support for FSM8064 EP
Femto development platform (FDP) is based on APQ8064. These changes
add fsm8064_ep board support to the 8064 generic bsp.

Change-Id: Iea442949d628eb061042cd085838240330004932
Acked-by: Kaushik Sikdar <ksikdar@qti.qualcomm.com>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2013-09-04 15:51:02 -07:00
Arun Menon b245015abd qdsp6v2: Enable APR for 8x10
The V4L2 video driver on 8x10 uses Q6 firmware
to encode\decode video. The communication between
Video driver and Q6 is through APR.

Change-Id: I6e5c6a9d0c3dbdae6ee9dd4560e1b15f1de8952a
Signed-off-by: Arun Menon <menon@codeaurora.org>
2013-09-04 15:50:25 -07:00
Praveen Chidambaram 47ec699d95 msm: 8226: Add support to compile Low power management drivers
Define primary default LPM configurations in Kconfig for 8226.
Modify Makefile to compile pm-8x60, cpuidle, rpm, spm and mpm drivers
for 8226.

Change-Id: I1b6f035a6ca407b2126d76dbee5b7ca894f91072
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
2013-09-04 15:50:09 -07:00
Priyanka Mathur 8795aa5201 msm: Add support for the LPM Test framework on 8974
Update LPM test framework to work on 8974. On 8974
LPM test framework gets notifications on entry/
exit of low power modes and process these notifications
to provide stats and latency measurements to the user.

Change-Id: I505b662fb4e04d9ea03dae3291fe51aeb5d570b7
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 15:50:07 -07:00
Eric Holmberg 4b9d5de206 msm: smp2p: Add new SMSM Point-to-Point Driver
The Shared Memory Point to Point (SMP2P) driver facilitates
communication of multiple 32-bit values between two processors.  Each
value (called a state entry) has a single writer (the local side) and a
single reader (the remote side).  Entries are uniquely identified in the
system by the directed edge (local processor ID to remote processor ID)
and a string identifier.

This driver, which is layered on top of shared memory (SMEM), will
eventually replace the existing broadcast implementation of SMSM.  This
driver has several advantages over SMSM including:
 * Point-to-point communication which allows for XPU protection of SMEM
 * Multiple 32-bit state values for future expansion
 * GPIO and Virtual interrupt support for client-facing API
 * Version and feature negotiation to allow for phased upgrades of
   a system without requiring cross-processor dependencies.

Change-Id: Iefe2169ae686a3e5f400b3a7039f6b114a8b7e5a
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2013-09-04 15:49:46 -07:00
Karthikeyan Ramasubramanian 328a4b9f5d msm: Kconfig: Enable QMI Encode/Decode library in 8226
Enable QMI communication by kernel drivers in 8226.

Change-Id: I43bc33d9fde29725f2d581febb87b9a72824bb44
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2013-09-04 15:49:42 -07:00
Syed Rameez Mustafa 77691e8bb8 msm: 8610: rename 8910 to 8610
The new name of the chip is 8610.

Change-Id: I848cd45c045eccad4319034766da121261acb822
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 15:49:38 -07:00
Karthikeyan Ramasubramanian e567a5788e defconfig: msm8910: Enable IPC Message Router and QMI Interface
Enable QMI communication in msm8910.

Change-Id: I6775a5ef819383b5f5c61750f55d715cb39f7c05
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2013-09-04 15:49:27 -07:00
Baruch Eruchimovitch 81c66fb6eb msm: ultrasound: add support for new msm family
Various msm families have differences in interface with QDSP6.
To support these differences some updates in the ultrasound framework's
source files hierarchy are required.
Ultrasound related interface with QDSP6 for msm family
is implemented in dedicated files; the proper directory,
including the files, is selected during the kernel build.

Change-Id: If3cf5a1d65695551d10831cc4c28975bae1e2774
Signed-off-by: Baruch Eruchimovitch <baruche@codeaurora.org>
2013-09-04 15:49:03 -07:00
Pushkar Joshi 1983eaaa9f jtagmm: Add save-restore support for Debug and ETM registers
Debug and ETM registers do not retain their state on a power collapse.
This change provides save-restore support for these registers using
memory mapped access in case cp14 access to these registers is not
permitted.

Change-Id: I8e3ed63102f64677e691dd4575e711f4a28af601
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>
2013-09-04 15:48:00 -07:00
Priyanka Mathur 12c4bf3998 msm: Kconfig: Add config option for Test Framework
Select MSM_LPM_TEST option in Kconfig to enable compilation of
LPM test framework on 8960.

Change-Id: Ibc3584dcbf7bcb6c66f7b61a954c06bd308f17de
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 15:47:57 -07:00
Priyanka Mathur 532df09f13 msm: Add Low Power Management test framework
Test Framework read the available low power modes and
measures various stats and latencies for the low power mode
when enabled.

Test framework looks for notifications when a low power
mode is entered and exit and process the time between the
entry and exit to measure stats like number of times
a low power mode is entered, early wake up if any, Minimum
time/Max time/Avg time in the low power mode.

Test framework also measures latency of the low power mode
exercised. It gets the kernel sleep time decided by the power
calculation algorithm before entering the low power mode.
It also processes the amount of actual sleep time from the
notifications which will present the latency of the low power
mode exercised.

Test framework scripts can be used to measure the stats and
latency for the low power modes.

Change-Id: Ifec00927cb708613308cab62f09171cdfaf9fcf6
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 15:47:56 -07:00
Karthikeyan Ramasubramanian 6abbcb06dc msm: qmi: Introduce sample QMI client for test service
The sample QMI client provides a test code for QMI usage. The test_service
client driver uses QMI interface library to send and receive QMI messages
over IPC Router. The test code sends a synchronous QMI request to the
test_service and handles the QMI responses.

Change-Id: I6f43ee56adf8c404131a7dc6b3ca92c6fc91e020
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2013-09-04 15:47:40 -07:00
Saket Saurabh 8d7029eca9 msm_serial_hs_hwreg : Add UARTDM Core v1.4 registers support
BLSP Based UART Core(v14) is different compare to GSBI based UART Core(v13)
in terms below features.
1. Existing some of registers offset has been changed.
2. New bits are being added into existing some of registers.
3. ADM interface support has been removed and BAM interface support is
   added.
4. New registers are added to support new features.

Hence this change adds new registers, update existing register offset and
bitmasks.

Select CONFIG_MSM_UARTDM_Core_v14 if BLSP based UART Core is present.

Change-Id: I96cdd837d4a80d266c73e37c97705dbf8c6c7386
Signed-off-by: Saket Saurabh <ssaurabh@codeaurora.org>
2013-09-04 15:47:37 -07:00
Bhalchandra Gajare 3b358f5954 msm: 8226: Add Audio DSP support for MSM8226/8910
Add support for Audio (QDSP) devices for MSM8226 and MSM8910
MSM8226/MSM8910 uses QDSP v2 for Audio

Change-Id: I59adfbc50dc5f86e87af881b086f5ce5809da222
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2013-09-04 15:46:35 -07:00
Ashwin Chaugule 6aba4fc5be msm: Perf: Add 9625 L2 PMU support
Enable the L2 cache controller performance monitoring
unit on the 9625, so that its counters can be controlled via the
perfevents framework.

Change-Id: I22f6b1fd1e3e8c57cbbd419d724ec7b81f910b0a
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2013-09-04 15:46:27 -07:00
Stepan Moskovchenko dc9350923d msm: cache_erp: Handle recoverable L1 errors
Some CPU designs may be able to recover from certain types
of L1 instruction cache errors. Rather than panicing
whenever any kind of L1 error is encountered, add an option
to selectively panic on recoverable L1 errors.

Change-Id: Id8beb0e58d41fa5319f4ca76c5f35e2162f8b704
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2013-09-04 15:43:53 -07:00
Naveen Ramaraj 6a69f308ae msm: Kconfig: Enable Sensors ADSP driver
Enable Sensors ADSP driver for exercising sensors
use cases.

Change-Id: Ia6fa40dea7c3c92c56dce5d022b18791946c8136
Acked-by: Phong Duong <pduong@qualcomm.com>
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
2013-09-04 15:43:46 -07:00
Naveen Ramaraj e649dcf07f msm: Add sensors ADSP driver support
Add sensors ADSP driver support to exercise sensors use cases.

Change-Id: I18669ceb16d625d719ca140b4ea3a2cd58569ca0
Acked-by: Phong Duong <pduong@qualcomm.com>
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
2013-09-04 15:43:44 -07:00
Mitchel Humpherys f1348436ed msm: Kconfig: Disable SPARSEMEM for A-Family targets
SPARSEMEM is no longer needed since the features that required it
(memory hotplug, for example) have been superseded by other
solutions. Remove it since it introduces overhead.

CRs-Fixed: 430996
Change-Id: I25ff8591dae1e48b5b0bf8a0669196a6d7d0cd85
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 15:43:41 -07:00
Praveen Chidambaram 46baadb7b9 msm: avs: Remove vestigial software based AVS
Older targets like 8x50 had the first version of Apdaptive Voltage
Scaling done in software. This feature was never enabled and supported.
Remove the code and the associated config items.

Change-Id: If3bdab7d0bdb5d51e099f7c37f56592826edc102
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
2013-09-04 15:43:30 -07:00
Jay Chokshi c3e9fe5bfd msm: Ensure droop detectors do not affect krait PLLs
The Droop detector mechanism present in Glitch-Free (GFMUX)
goes to nondeterministic state during frequent
standalone power collapse operation. It affects
Krait PLL output so that the PLL won't lock to
required frequency.

Since Droop detector isn't used, set sc_pdn (PLL_CLAMP)
permanently high to ensure droop detector is off and it
does not affect Krait PLL.

CRs-Fixed: 381144
Change-Id: I94ee03e0e9439c5195909a8646ff9e3c3f667893
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
2013-09-04 15:43:10 -07:00
Subbaraman Narayanamurthy dc377529a5 msm: Kconfig: Fix the defconfig warnings for 8974
Some dependencies are not properly enabled hence modifying Kconfigs
for correctness and to fix warnings.

CRs-Fixed: 420330
Change-Id: Ibdd7b11bafed388d232e99e034867d6fecc3893e
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2013-09-04 15:42:08 -07:00
Gagan Mac 82629ed831 msm: buspm: Add RPM-SMD support for SPDM clocks to buspm module
For bus-profiling, SPDM clocks need to be enabled/disabled from
user-space. This can be done by sending requests through the
buspm IOCTL interface. This patch adds support to send the
SPDM requests to RPM and enables bus profiling on 8974.

Change-Id: Ic9ff04c0de2fb15513156176ad113ca5624e2f25
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
2013-09-04 15:41:54 -07:00
Rohit Vaswani b5ec6357a0 msm: Add Secure Monitor Call module for fsm9xxx
This driver utilizes the ION driver and the SCM module to
allow users to transfer data between the non-secure and secure
environments on the FSM9XXX platform.

Change-Id: I1afcc78e691e46dd11afeceb70a5097c0e979b5c
Acked-by: Jennifer L. Zenner <jzenner@qti.qualcomm.com>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2013-09-04 15:41:37 -07:00
Sidipotu Ashok 4cff690677 msm: audio: qdsp6v2: Add volume control for tunnel mode drivers
Audio utils to subscribe a listener with dev ctl to support
volume control for the tunnel mode drivers.

Change-Id: I3189531fa044b15b9bcfe5135a0d507e55ac3197
Signed-off-by: Sidipotu Ashok <sashok@codeaurora.org>
2013-09-04 15:41:01 -07:00
Karthikeyan Ramasubramanian 0966aa6675 msm: ipc: Security updates to IPC Router
In order to provide fine-grained access control to QMI services,
a security script from user-space will feed the security rules to
IPC Router. The security rule implies that in order to send a QMI
message to a service, a client process should belong to a specific
Linux/Android group. IPC Router, after receiving the security rules,
will enforce the access control rules.

Change-Id: I49f8d7c0067fc37cb0b4de2ccb46a575905ef64f
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2013-09-04 15:40:12 -07:00
Olav Haugan 5559f2e082 msm: Kconfig: Enable IOMMU CPU-GPU synchronization
Enable synchronization between CPU and GPU for
IOMMU configuration register accesses.

Change-Id: I7409090c0fc811fa28562644bcbfd4f91a8a7425
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2013-09-04 15:39:25 -07:00
Chintan Pandya ac7408366e msm: Kconfig: Select ARM_HAS_SG_CHAIN for 7630/8x55
ION allocations in SYSTEM_HEAP now uses alloc_pages() and not
vmalloc(). This will add one entry into sg_table for each page
of allocation. With this, sg_table may over-cross the limit
of fitting into one page for bigger sized allocations. So,
accommodate extended sg_table entries by chaining more pages.

ARCH_HAS_SG_CHAIN will enable this chain of pages. Enable
ARM_HAS_SG_CHAIN to select ARCH_HAS_SG_CHAIN.

Change-Id: I61d79fa47a677c0e4ae728d47ff56298e6f8eefa
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
2013-09-04 15:39:14 -07:00
Syed Rameez Mustafa 553621771e msm: 8226: add support for machine restart
Add support for SOC reset in case of a kernel panic or a reboot
command.

Change-Id: I386dbf99cf110c4fa1ce38562f0de51b79077e27
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 15:38:41 -07:00
Syed Rameez Mustafa c92686d9e4 msm: Kconfig: remove default SMP support for 8910 and 8226
SMP support should be a user configurable option. None of the
targets should select this option by default.

Change-Id: I626497a8d49570caa168c2e4b3c86d1647a7569b
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 15:38:12 -07:00
Neeti Desai 91aaed81b9 msm: 8974: Enable DONT_MAP_HOLE_AFTER_MEMBANK0
If this config option is enabled, the kernel does not map the
memory corresponding to the largest hole into the virtual
memory resulting in more lowmem. If multiple holes exist, the
largest hole in the first 256MB of the memory is not mapped.

In device tree based targets the kernel is no longer dependant
on the bootloader for the start and size of the memory holes.
Thus the meminfo is adjusted to reflect the memory hole, if it
is present, using the start and end of the memory hole, while
parsing the device tree.

For non-device tree based targets, the meminfo is used to find
the start and size of the memory hole. No adjustment is needed
to be made to the meminfo, as the hole is taken into account,
based on the memory information passed by the atags.

Change-Id: Ib2619f72ac2b4142330534c8bbe1c7d9f64ea38c
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2013-09-04 15:38:11 -07:00
Greg Reid 856ac062f7 kernel: gtod: Add MSM-specific user-accessible timers
Enable MSM-specific timers to be readable from user-space.
This allows implementation of a higher-performance
gettimeofday in user-space.

Change-Id: I1f322b5396ee335b10aeb81c681593621d151176
Signed-off-by: Brent DeGraaf <bdegraaf@codeaurora.org>
2013-09-04 15:36:48 -07:00
Venkat Sudhir a97dc14b1c msm: Kconfig: Select APRV2 and QDSP6V2 to support Audio
Select APRV2 and QDSPV2 to support Audio on MDM9625.
MDM9625 uses version 2 of drivers to work with
changes in ADSP interface.

Change-Id: Ifc9871e7aaf5f1e221c2ff03467927536e317b17
Signed-off-by: Venkat Sudhir <vsudhir@codeaurora.org>
2013-09-04 15:36:44 -07:00
Girish Mahadevan 64bada81c0 msm: Kconfig: msm9625: Enable RPM stats driver
Enable RPM stats driver for 9625. This driver reads sleep stats
from RPM memory.

CRs-fixed: 417082
Change-Id: I38d06758d56526b4e164b1b63b377f83dba74a7d
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2013-09-04 15:35:17 -07:00
Karthikeyan Ramasubramanian 1ab0d0b270 defconfig: msm8974: Enable QMI libraries
Enable QMI libraries to enable QMI communication by the kernel drivers.

Change-Id: Iaf18ee75f5f572a1ac99e82daa50885d79dc0f28
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2013-09-04 15:35:11 -07:00
Karthikeyan Ramasubramanian 6dde570f97 msm: qmi: Introduce QMI interface library
This library provides interface functions to the kernel drivers to
perform QMI message marshaling and transport QMI messages over IPC
Router.

Change-Id: I4d919083e2cc208817c24d9f9b4e2ad2df338747
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2013-09-04 15:34:46 -07:00
Syed Rameez Mustafa 2aaa9a7f66 msm: Kconfig: update entry for 8226
8226 no longer shares the same binary with 8974. Remove unnecessary
config options and add options for the new cpu.

The defconfig automatically syncs up with the Kconfig. This generates
boot, initrd and zImage files named after 8226 using the 8910
defconfig. Change position of 8226 options so that these files use
8910 in their names.

Change-Id: I9b3392bed5a2e1244f67be991302bd5f0329540b
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 15:34:19 -07:00
Priyanka Mathur 6deb9d1fbc msm: Kconfig: Add config options for RPM Stats
Add a dependency of MSM_RPM_SMD on RPM_STATS_LOG and
select MSM_RPM_STATS_LOG to enable compilation of RPM stats
on 8974.

Change-Id: Iea0634bd91b7d40368324a647ae64fa221495192
Signed-off-by: Priyanka Mathur <pmathur@codeaurora.org>
2013-09-04 15:33:45 -07:00
Hanumant Singh 0f5b3aa576 msm: 8910: Add support for machine restart in 8910.
Support reset of soc in case of kernel panic as well as
for reboot command.

Change-Id: I94eb9fae06a39c6cf8fbbe124aebce2ccd7ef208
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
2013-09-04 15:33:11 -07:00
Stephen Boyd b8eaefc6b3 msm: pil-q6v5-mss: Combine pil-mba and pil-q6v5-mss drivers
The pil-q6v5-mss and pil-mba drivers are two drivers for the
modem subsystem that load the first and second stage elf images
of the modem. First pil-q6v5-mss loads the mba image which then
authenticates the modem image that pil-mba loads. To properly
express the dependency that the mba image be loaded before the
modem image, we make the modem image depend on the mba in PIL.

When we move to subsystem_get()/subsystem_put() we'll only have
one set of powerup/shutdown ops for a subsystem and so having a
dependency between the two images will no longer be expressible
via a depends field. We'll also no longer have a way to reference
a particular PIL image by string name since all interaction with
PIL will be done via pointers instead of strings.

Combine the two modem PIL drivers on 8974 because in the future
design of PIL and SSR we'll no longer have a way to tie together
pieces of a subsystem via a registration based framework like PIL
is today.

Change-Id: I421f733c180dec37132431fd3682dc02c4113af2
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:32:16 -07:00
Neeti Desai 85952d1249 msm: 8974: Add driver to enable/disable memblock-remove feature
The msm_mem_hole driver is introduced to enable/disable
memblock-remove features for device tree nodes that set
compatible="qcom,msm-mem-hole"

Change-Id: I2aeb3725b74e9ff33992f70995767f790fc729c5
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2013-09-04 15:31:57 -07:00
Stephen Boyd c8624eb6a4 msm: pil: Hook into subsystem framework
The subsystem framework is going to replace the PIL framework in
the near future. Hook up drivers that don't have subsystem
restart counterparts into the subsystem framework so that we can
migrate all callers of pil_get/put into their subsystem
equivalents.

Change-Id: I45f771861d3430117c224b22b64f7d4bf3c6428e
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:30:49 -07:00
Abhimanyu Kapur 1e808e638c msm: Kconfig: Remove GIC_SECURE for MSM9625
Running the GIC in secure mode was only required for pre-silicon
bring-up. Remove it now.

Change-Id: I83d8b33a7b9dfea61f6989963439b2cf014fe0fc
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2013-09-04 15:29:50 -07:00
Abhimanyu Kapur 638f693fad msm: Kconfig: Enable download mode for MSM9625
Enable Kconfig for letting target go into download mode
on crash scenarios.

Change-Id: Ia8068f7197aec721db3618235f9d142dec964970
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2013-09-04 15:29:46 -07:00
Baruch Eruchimovitch 5d56f5557c msm: ultrasound: add support for various msm families
Various msm families have differences in interface with QDSP6.
To support these differences some updates in the ultrasound framework's
source files hierarchy are required.
Ultrasound related interface with QDSP6 for msm family
is implemented in dedicated files; the proper directory,
including the files, is selected during the kernel build.

Change-Id: Ic60f5822670e5c511f997e34f9530fb87cc32d62
Signed-off-by: Baruch Eruchimovitch <baruche@codeaurora.org>
2013-09-04 15:29:29 -07:00
Abhimanyu Kapur d8542add0f msm: 9625: Add secure call to enable L2 cache
MSM9625 has trustzone support and L2 control registers are
not accessible from the non secure side where the linux
kernel runs. Add a smc call to enable the L2 cache from linux.
Also update the L2 initialization routine by passing a null aux
control value since it's setup by trustzone.

Change-Id: I2eee2bd41ba14adbff597e4f4903ad81d6382e14
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2013-09-04 15:29:26 -07:00
Trilok Soni 34457f51b3 msm: Kconfig: Enable ARCH_HAS_BARRIERS flag for 7627a
Enable the custom barrier implementation for the 7627a
based targets.

Change-Id: I2a315bdc0aa5ed0cd44558625cbe3802eee69944
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2013-09-04 15:28:25 -07:00
Taniya Das 50639975bb msm: Kconfig: Add GIC_SECURE support for 8625
GIC has to configure IRQ lines in group-1 and FIQ lines in
group-0, which  can be done once we enable GIC_SECURE

Change-Id: I0011d300d0e02bb2d601209bc7ae857e200b71a4
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2013-09-04 15:27:58 -07:00
Taniya Das 4b82708a77 msm: Kconfig: Add support for MSM_FIQ for 8625
On 8x25 modem is the master processor and in case apps
is holding lock with irqs disabled then sending an SMSM reset
interrupt does not help and the state of Apps is not known
at all.Hence we are enabling a FIQ which will save the cpu context
of the apps and help debugging before going into SMSM reset.
In the current patch we are adding support for enabling the fiq
and defining the fiq offset number.

Change-Id: Ie97f808e610724328c638a9580f3de535e3e9a28
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2013-09-04 15:27:58 -07:00
Channagoud Kadabi 5a2579231b msm: msm8625: Add support for SKUD prime device
Adds support for MSM8625 based SKUD prime device.

Change-Id: I81b59b09b167313f948b2aa588a43f0ae6ab49b5
Signed-off-by: Channagoud Kadabi <ckadabi@codeaurora.org>
2013-09-04 15:27:41 -07:00
Stephen Boyd 75687920a2 msm: pil-pronto: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks.

Change-Id: I5077523d5311a9d1112447875ffb14fab84313f7
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:27:27 -07:00
Stephen Boyd a539a63b7c msm: pil-q6v5-lpass: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks.

Change-Id: I81621ca07794f81ec9e7f5567b27b6aa02a6c138
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:27:26 -07:00
Stephen Boyd 8f99956ee3 msm: pil-dsps: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks. The ramdump feature is not supported on 8660 so
just copy the 8960 version of the segments for now. In the future
we'll add an API to query the segments from PIL so that changes
in the image between platforms can be handled properly.

Change-Id: I239939457fb2fc8023a5923220f52dc6e099aa85
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:27:25 -07:00
Stephen Boyd 672f9c20c8 msm: pil-mba: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks.

Change-Id: I9e4c1bcd4cec77183237fdd44692d1a3f1355882
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:27:24 -07:00
Rohit Vaswani 0675712f75 msm: 9615: Select MIGHT_HAVE_L2X0
With the 3.4 merge, the way L2X0 config is selected changed.
(It no longer does the depends on ...). Select the missing
L2X0 config for 9615 to make sure we are using the external
L2 cache.

Change-Id: I5dc8bb53b6de8d795347876056bf6e2f7f88ed43
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2013-09-04 15:27:06 -07:00
Girish Mahadevan f40ec47051 msm: Kconfig: msm9625: Enable LPM driver
Add the Low Power Management driver files to the tree. Also enable SCM
feature to be able to make calls to TZ since 9625 is a TZ enabled
target.

Change-Id: I0e012db6edf0b1c9cc4cf65be4149e8ec078253a
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2013-09-04 15:26:51 -07:00
Stephen Boyd c2bb7ca0d6 msm: pil-q6v4-lpass: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks. To cope with the differences between 8960 and
9615 (the former supports PIL while the latter does not) we check
to see if there is any platform data specified for the device. If
there's platform data we know we're driving a PIL supported
device and act accordingly. On 9615, we only support calling
panic on lpass watchdog interrupts, so it's safe to avoid
ioremapping registers.

Change-Id: I03ffef481c6c6cf4a30d00b2cff8df65830d2aaf
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:26:38 -07:00
Stephen Boyd ac83df99da msm: pil-q6v4-mss: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks. To cope with the differences between 8960 and
9615 (the former supports PIL while the latter does not) we check
to see if there is any platform data specified for the device. If
there's platform data we know we're driving a PIL supported
device and act accordingly. On 9615, we only support calling
panic on modem watchdog interrupts, so it's safe to avoid
ioremapping registers.

Change-Id: I6a530fb640b295448805bfeb9d5beee389bcf6f2
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:26:32 -07:00
Abhimanyu Kapur c6c5dd983f msm: 9625: Enable the MSM restart driver
The MSM restart driver allows MSM chipsets to reboot.
Enable it for MSM 9625.

Change-Id: Ie20a8f963b7018df08b489b599ed19cc12738eda
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2013-09-04 15:26:29 -07:00
Mitchel Humpherys 57b4ed42b3 msm: 9625: select ion for for 9625 target
MSM_MULTIMEDIA_USE_ION should be selected for the 9625 target to
enable ion support.

Change-Id: I38fdacc73c434a8c4ee0a9b3eeaa97f867e83974
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 15:26:19 -07:00
Stephen Boyd e8a5f857b8 msm: pil-q6v4: Split out modem and lpass drivers
Separate the pil-q6v4 driver into subsystem specific drivers for
lpass and modem respectively. This is necessary so that we can
move the subsystem restart code for the lpass and modem
subsystems into their respective pil drivers in a later patch.

Change-Id: Id5e899b5c9cc7d1a3529d1a5f0ff24798f213f00
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:25:55 -07:00
Girish Mahadevan 760c17b280 msm: Kconfig: msm9625: Enable RPM SMD configuration
Enable the RPM SMD driver for 9625. This change
will include RPM SMD driver in the 9625 tree.

Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
Change-Id: I01bad5b19dc11454b79241a6c47254b7017c4696
2013-09-04 15:25:51 -07:00
Syed Rameez Mustafa 0218415887 msm: Kconfig: add an entry for msm8910
Add the msm8910 description in Kconfig

Change-Id: I49217f2779eeb04aa1bd8dda7f0441f3be5d4f7c
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2013-09-04 15:25:26 -07:00
Stephen Boyd d76667fb21 msm: pil_riva: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks.

Change-Id: I553a5568efe922d58e35593cd743373716b26ba1
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:24:59 -07:00
Stephen Boyd da96af5306 msm: pil-gss: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks.

Change-Id: Iff2bf719a56a807994666213070881c1a0589c8f
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:24:42 -07:00
Stephen Boyd b1381cd951 msm: pil-q6v3: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks.

Change-Id: I87d873210d8892920607ec400f54c1dfe42b710e
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:24:42 -07:00
Stephen Boyd db7d7f4489 msm: pil-modem: Combine SSR and PIL drivers
Combine both drivers into one so that we can merge the PIL and
SSR frameworks. We drop the modem_restart workqueue code because
it is debug code that is no longer necessary.

Change-Id: I5730ff06ee7c0f67b56263c0df9344b229441da2
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 15:23:59 -07:00
Pushkar Joshi 46b493c8bd arm: msm8974: Driver to add support to disable debug image
On MSM8974, XPUs do not reset for non-watchdog resets when the
watchdog debug feature is enabled. This driver is required to
provide an interface to disable debug image for a PS HOLD reset.

Change-Id: I9e4a210475d0fff686d9d88000e8d71da1b553a1
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>
2013-09-04 15:23:38 -07:00