A new smc cmd is added to check RPMB key provision status
Change-Id: I50411bf9ae7f31589be34d7b5aaf48f2c12f0018
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
As debugfs interface is intended to test the respective ssr, remove
from the driver to make sure it won't be available by default.
CRs-Fixed: 2025661
Change-Id: I6af9a8333c8028611f889cc2f9b0beb37ef12c9b
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Add whitelist support for listener to send modified resp to TZ;
also add whitelist support for kernel client; and change the method
to check whitelist feature.
Change-Id: I0030b0008d6224cda3fdc1f80308a7e9bcfe4405
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Signed-off-by: Mallikarjuna Reddy Amireddy <mamire@codeaurora.org>
Some targets may share same msm-id, but they can have
different product name.
To differentiate them, add support to append suffix to soc_id_string.
Change-Id: Id0272cc4bd776c9872680a218f445160125d6faf
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
qseecom_send_modfd_cmd converts ION buffer's virtual address to
scatter gather(SG) list and then sends them to TA by populating
SG list into message buffer. As the physical memory address in
SG list is used directly by TA, this allows a malicious TA to
access/corrupt arbitrary physical memory and may lead to the
process gaining kernel/root privileges. Thus, make changes to
have the QSEEComm driver passing a list of whitelist buffers
that is allowed to be mapped by TA, and the QSEE kernel, in turn,
should add checks to the register_shared_buffer syscall to make
sure the shared buffers an application is mapping falls within
one of these whitelist buffers.
CRs-fixed: 1021945
Change-Id: I776ead0030cad167afcf41ab985db7151a42d126
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
After sending a sysmon shutdown request to the SSCTL service on the
subsystem, wait for the service to set a shutdown_ack smp2p bit in
addition to sending the indication message back.
CRs-Fixed: 987855
Change-Id: I231607a8ade983c9a2c2c0a39d53023ced6e81fb
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
QSEE OS level scm_call operations will fail if there is any blocked
TZ app due to waiting on a listener. Driver needs to first check if
no app is blocked before sending QSEE OS level scm call, if there
are any then wait until all apps are unblocked.
Change-Id: Ie7fb4a9fb78adedcb223308cd11335bf6a48296e
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Add support to make scm_calls to TZ to inform modem start
address and size so that TZ can unmap this range to avoid
speculative access.
Change-Id: I4640ddab56991522870e9879d17fe5732dc40223
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
Different kernel version needs to use different kernel APIs for
hotplug. Add wrapper for CPU hotplug so that external module can be
used across different kernel releases.
Use cpu_up/cpu_down() API for CPU hotplug.
Change-Id: Ib36a875027f67b96e2d108de8b7d902978e50005
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
Key management operations for HW FDE that take long processing time
in secure environment, secure environment will send pending operation
response so that non-secure side can request further processing at a
later time. This would prevent non-secure components from starving for
secure processing time. This would also prevent non-secure WDT to bark.
Change-Id: I823c06b712fcdcecac30d886c6d1aa01ada56bd0
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
After sending a sysmon shutdown request to the SSCTL service on the
subsystem, wait for the service to set a shutdown_ack smp2p bit in
addition to sending the indication message back.
Change-Id: I231607a8ade983c9a2c2c0a39d53023ced6e81fb
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
On certains devices, some of the CPUs within the apps subsystem are not
functional and might be removed from the CPU possible map. To handle this
dynamic list of CPUs, sleep driver shouldn't make any assumptions with
regards to the logical mapping of the CPU.
Remove the assumption on how physical CPUs are mapped onto logical CPUs and
populate create a reference of sleep status driver in the corresponding
CPU phandles. When the sleep status driver is probed, it would probe
iterating the list of possble CPUs.
CRs-fixed: 756327
Change-Id: I3afe8c9afd26000ab08f0e0c2703f2ce9e15f374
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
SPM event will be asserted/de-asserted when SR2 PLL is disabled/enabled.
This is required so as the SPM hardware could take care of turning on/off
the PLL when APSS moves to low power mode.
Change-Id: Ic6aa18e47eb352a3582f5e278d7bd99e02bdbcfd
Signed-off-by: Taniya Das <tdas@codeaurora.org>
For L3 level collapse, the secure level OS needs a flag to clear the
vote to keep L3 active. Send this flag along with L2 flag in the smc
call.
Change-Id: I79794465ff725fb0d37c3519a37a0f8cb04ed441
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Support HF/SR pll ops to initialize/enable/roundrate/setrate/disable. Also
modify SR pll enable code to initialize pll and add loop for pll locking.
Associate pll data which would need to be modified at runtime with respect
to VCO or config control.
Change-Id: I2dd42c7beb5635a78389ade777fbccae4261e1bb
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Add support for tracer packet to profile the performance of
inter-processor communication protocols.
Change-Id: I1ad7b3e40464932637f306d7984f940e7fb740bf
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
Add initial set of device tree files and config options
required to build mdm californium.
Change-Id: Iba62d2685f720ad6d9f152e7924b26981923aaf7
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
PLLs may require programming test control and config control
interfaces. Add support to program relevant registers.
Change-Id: Ib43237e59748da649f7757b97927faa7d650c8e8
Signed-off-by: Arun KS <arunks@codeaurora.org>
Add initial set of device tree and board files to build
the mdmfermium target.
Change-Id: I9a0e90ea4e815f1fbbcd2a2ba1c5ab98f4a1c614
Signed-off-by: Venkatesh Yadav Abbarapu <vabbar@codeaurora.org>
Add SOC information like Chip ID, macros and dummy
socinfo definitions for msm8956.
Change-Id: Ica7c6d8c56b439a105a68d3931ee2c5ba96f527d
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
It is useful to retrieve small memory areas from a device
when performing a subsystem restart. For example, shared
memory may contain logging information that can help
triage a problem. Implementations may choose to dump such
memory sections when the enable_mini_ramdumps flag is set.
Change-Id: I217ceed0a5d1ba3130757428b5f48cba4d1203ad
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Some clients can generate 48/49 bit virtual address.
Support those clients by AARCH64 page table format.
Change-Id: Ic8d9a12e990f13ffebd6be6c81506d6bcc421f05
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
In some cases local clients transmit the data without GLINK_TX_REQ_INTENT
flag and fails if remote client not queued the matching rx_intent.
Add callback support to notify the local clients when remote client queue
an RX intent so that the client can track the remote intents.
CRs-Fixed: 847641
Change-Id: I649a054324ae7ed758a849345f41e3e26137f1f1
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Add support to configure the performance cluster cpu retention
ldo voltage. This value needs to be configured when a core is
coldbooted. The core will then be able to enter retention at
the programmed retention voltage.
Change-Id: Idf46c31edfb2be7ce364070baea5550048301a14
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
Allocate memory to dump VSENSE registers at the time of crash.
Change-Id: Ibd896873bc40b723071c66ca7cf1a4bc9b38ad5e
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Glink_pkt driver clients have to call the new IOCTL to queue an intent
to receive the data from remote side.
To ensure compatibility with smd_pkt clients add auto-intent queuing
in the read() call when glink_pkt client fails to queue an intent.
Change-Id: Iee8fca114f47921788c19d40247a768038985daa
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Add logic to fix same sensor at one board compatibility
issue.
Change-Id: I6c6721e8ff890feaf2d618c8170e346367a68c28
Signed-off-by: Wei Ding <weiding@codeaurora.org>
The cpaccess driver writes to the kernel text section during normal
operation. Add an API to disable any protection of this region by the
scm-mpu driver.
Protection is not reenabled after cpaccess operations since this is
expected to be an uncommon usecase.
Change-Id: I83caa906b94f4a522a203c1170f1d913681fc704
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Remove the mdmferrum changes as they are not applicable
anymore.
Change-Id: Ifbe0a3a1b8e17dcf414f9412c343835cedef0f62
Signed-off-by: Venkatesh Yadav Abbarapu <quicvenkat@codeaurora.org>
Data Capture and Compare (DCC) is a DMA engine, to capture or to
perform CRC over configuration data or system memory.
Add ids for DCC registers and sram data.
Change-Id: If76ef1325b1be623626742b0f0172a1675f21d63
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
On some hardware, the display byte and pixel clocks can have multiple
parents and we can switch between them dynamically. To support this
add a new set of ops. Also implement the get_parent for these clocks
so that handoff code can dynamically set the parent for these clocks
instead of relying on the parent field to be set up explicitly when
definining the structures for those clocks. On hardware which does not
support dynamically switching parents, the old set of ops can still be
used.
Change-Id: Ia076652124df40fa5a62d0f7041b5afed121aae9
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>
With the official announcement of 8976, remove all references to its
internal code name, and replace them with 8976.
Change-Id: I6d507418e5259908addedf2975e391200b4e0c83
Signed-off-by: Ian Maund <imaund@codeaurora.org>
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Occasionally, variable rate PLLs may fail to achieve a lock, and the
output frequency may not match what software expects after configuring
an L value for a certain frequency. If the PLL fails to lock, that is,
the lock detection bit does not go high even after waiting for the
mandated amount of time, record additional PLL debug information in the
kernel log and then panic.
Change-Id: Ib913d7620ef9d1fc94a1c353e528f558c3117d81
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>