Commit Graph

174 Commits

Author SHA1 Message Date
Liron Kuch 921b60c4dc msm: broadcast: Remove unused TSC and TSPP2 drivers
TSC and TSPP2 were HW blocks in MPQ8092 target which is
no longer supported. Remove TSC and TSPP2 drivers to
eliminate unused code.

Change-Id: Ibb55ae0d15b33ba5855bde69e78925d23def3c6b
Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
2015-10-07 07:29:13 -07:00
Steven Cahail e1284265e4 msm: smem: Update SMEM documentation to match current APIs
The SMEM kernal architecture document is out-of-date and does not
reflect the current APIs in the SMEM driver.

Update the document to reflect the current APIs.

Change-Id: I95e48bac38707ec3a99d996b4546f3c532623fb1
Signed-off-by: Steven Cahail <scahail@codeaurora.org>
2015-05-08 21:27:50 -07:00
Linux Build Service Account f1c4b4e23c Merge "msm: glink: Add G-Link Tracer Packet Documentation" 2015-05-06 19:59:50 -07:00
Linux Build Service Account f71f4b85d5 Merge "soc: qcom: smp2p: Add support for TZ subsystem" 2015-05-06 19:59:48 -07:00
Steven Cahail 183fce4579 msm: glink: Add G-Link Tracer Packet Documentation
Add documentation for the G-Link Tracer Packet API.

Change-Id: Ic0924a37a752b6cb483d0857007c4a6237dff6d4
Signed-off-by: Steven Cahail <scahail@codeaurora.org>
2015-05-06 15:12:44 -07:00
Steven Cahail 9f32e2bd9c msm: glink: Add rx/tx abort, notify_rx_sigs() to open config
The rx/tx abort and notify_rx_sigs() functions are missing from the
G-Link open configuration listings in different places. Correct these
errors and a small typo where parentheses were omitted.

In addition, update the transport interface to include the latest APIs.

Change-Id: I5b14efe3db08554c8af429f2b0120e84c6db46dc
Signed-off-by: Steven Cahail <scahail@codeaurora.org>
2015-05-04 20:57:42 -07:00
Steven Cahail d01018dca3 soc: qcom: smp2p: Add support for TZ subsystem
The TZ subsystem now supports SMP2P communication, so add the necessary
support to allow the apps subsystem to talk to the TZ subsystem.

Change-Id: I09512a9af6f5f8da486156c7e063fd1155ece402
Signed-off-by: Steven Cahail <scahail@codeaurora.org>
2015-05-01 16:15:27 -07:00
Arun Kumar Neelakantam c7f3efbb83 soc: qcom: glink_pkt: Map the smd_trans signal to TIOCM_X
SMD transitional transport plugin uses different signal bits compare
to the normal TIOCM signals to indicate the DTR, CTS, CD and RI bits.

Map the SMD transitional signal into TIOCM_X format so that user space
glink clients can depend only on TIOCM signals.

Change-Id: I864fbe1b8a28f22182e7b645747c57dd95549940
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2015-04-30 18:53:48 +05:30
Linux Build Service Account 08dcd79c11 Merge "soc: qcom: glink_pkt: Add kernel architecture documentation" 2015-04-25 21:56:31 -07:00
Steven Cahail 1afab6fc5d msm: smp2p: Add sensors SMEM item to SMEM item table
In the SMP2P documentation, there is a table of SMEM item base
identifiers for each processor supported by SMP2P. SMP2P supports the
sensors processor, but the entry for sensors is missing from this table.

Add an entry for the sensors processor.

Change-Id: I9fc3274b1fcc6c8648f87bd505a0de41a1bd2e55
Signed-off-by: Steven Cahail <scahail@codeaurora.org>
2015-04-24 19:04:31 -07:00
Linux Build Service Account 6212f1e33a Merge "msm: qmi: Add QMI documentation" 2015-04-24 14:50:19 -07:00
Linux Build Service Account 29577e93a2 Merge "msm: ipc_router: Add IPC Router documentation" 2015-04-23 23:28:50 -07:00
Arun Kumar Neelakantam 0e947cb275 soc: qcom: glink_pkt: Add kernel architecture documentation
Add kernel architecture documentation for G-Link packet driver.

Change-Id: Idcac7efadb7b44a8ea78ef4a58cbda8a7cb43d82
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2015-04-23 21:17:18 +05:30
Jeff Hugo a8309824cd msm: qmi: Add QMI documentation
Add documentation for the MSM QMI library.

Change-Id: I95702c19d3d871af47e0e6d1af6d544b3f85e723
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2015-04-21 10:36:41 -07:00
Jeff Hugo 2afef73ad0 msm: ipc_router: Add IPC Router documentation
Add documentation for the MSM IPC Router driver.

Change-Id: I02d244bac15cbbde24318452493ad2f6e0a2e979
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2015-04-20 14:05:40 -07:00
Jeff Hugo 8f06a6da2b msm: smem: Add SMEM documentation
Add documentation for the MSM Shared Memory driver.

Change-Id: Id3770e6bdef8ebdbf46b343b4c74fbd75dffbee0
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2015-04-20 14:05:37 -07:00
Patrick Daly 0eb2dddc23 scm-mpu: Add additional memory protection options
Add support for a scm call to protect a contiguous physical address range.
Add a config option to use this api to protect the kernel text section.
Otherwise, the user may specify the region through module parameters.

Change-Id: Ie751ec72deb1a1692093559fe8c6784e8bf912a2
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2015-02-26 12:35:17 -08:00
Steven Cahail cce14a0f78 soc: qcom: glink: Update kernel architecture documentation for G-Link SSR
Update G-Link documentation to match existing SSR implementation.

Change-Id: I32da7b3612e4a91851d8157fb81716251da777f8
Signed-off-by: Steven Cahail <scahail@codeaurora.org>
2014-12-15 16:20:48 -07:00
Eric Holmberg ba22e483ee soc: qcom: glink: Initial version of G-Link Driver
G-Link is a generic link-layer transport similar to SMD that supports a
plug-in framework for the physical transport.  This allows it to adapt
to different physical transports such as shared memory, UARTs, buses,
and DMA.

Change-Id: I7c43ebff23a6f376672d10166b1e34e197ec06dd
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
Signed-off-by: Steven Cahail <scahail@codeaurora.org>
Signed-off-by: Zaheerulla Meer <zmeer@codeaurora.org>
Signed-off-by: Atish Patra <apatra@codeaurora.org>
2014-11-17 16:18:32 -07:00
Karthikeyan Ramasubramanian e3f7ffb3e8 soc: qcom: Add system health monitor
System Health Monitor (SHM) passively monitors the health of the
peripherals connected to the application processor. Software components
in the application processor that experience communication failure can
request the SHM to perform a system-wide health check. If any failures
are detected during the health-check, then a subsystem restart will be
triggered for the failed subsystem.

Change-Id: If9913e4489f06c74e40443bcc673ded0336a26af
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2014-07-25 14:35:57 -06:00
Eric Holmberg ae0b5e6c34 msm: ipc_logging: enhance log-extraction support
One of the main goals of the IPC Logging is to allow extracting logs
from memory dumps.  The current implementation has the following
limitations:

  1) if logs are being dumped through debugfs at the time of the crash,
     it is not possible to extract logs that were already dumped

  2) it is not always possible to tell the difference between empty,
     partially full, and full log pages resulting in extraction
     complications

  3) if the system memory is not cleared between reboots, then the same
     log ID and log page may be extracted leading to duplicate log
     pages

Add additional debugfs read index, timestamps for log pages, and change
the read/write indices to easily differentiate between empty, partially
full, and full log pages.

CRs-Fixed: 670345
Change-Id: I695f6e0605f3755b868ede59851f5ca919f8fb0d
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2014-05-27 13:56:54 -06:00
Eric Holmberg 9f4800553d msm: ipc_logging: add client version support
If clients use custom serialization functions, then they may need to
define a version for deserialization support for log extraction.

Add client version support.

Change-Id: Id135f06d4142de39275b5d0caab88708d5496b5e
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2014-05-27 13:56:54 -06:00
Nikhilesh Reddy c46af54795 uio: msm_sharedmem: Add support for dynamic shared memory allocation
The shared memory regions used for the UIO devices use physical
addresses that are hardcoded in the device tree which creates a
dependency on the memory map.

Add support to dynamically allocate uncached physically contiguous
memory for the shared buffer at device probe and allow clients (remote-
fs and rfsa) to request this shared buffer address through Kernel QMI
and remove this dependency.

Change-Id: I481f0863db02964336fd461045b5e944ae4f8f2a
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
2014-05-08 10:34:11 -07:00
Gilad Broner c033e86e67 msm: tspp: Remove tspp driver user-space API
tspp driver user-space API is not in fact used and
therefore was not maintained so it is obsolete.
With 64bit porting in mind it was decided this driver
will no longer be visible as char device to user.
The driver will be operated via the dvb/demux device
and user-space API.

Change-Id: Ib6a9240a211334bd968a3558bd1783a24aeacda7
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2014-03-12 09:22:23 +02:00
Daria Botvinsky 105e1e245e msm: demod_wrapper: Add driver for Demod wrapper block on mpq8092
Demod wrapper driver configures and initializes paths in demod wrapper.
Demod wrapper HW components should be configured according to requested
signal path type.

Change-Id: I4c302d9a2733406da7965fe59ab47feb6723445a
Signed-off-by: Daria Botvinsky <dariabb@codeaurora.org>
2014-01-14 00:56:23 +02:00
Anat Etzion-Fuchs f0cfb2f747 msm: tsc: update pinctrl support
Update the implementation of the pinctrl usage in the driver such
that the driver can use several groups of pins simultaneously, as
required by the TSC HW.

Change-Id: I9d3350a183c47d4eca9a0628ab17fa55fff2fb06
Signed-off-by: Anat Etzion-Fuchs <aetzion@codeaurora.org>
2013-12-11 13:17:29 +02:00
Mickey Mendlin 1ee9bd0756 msm: ensigma uccp330: Support ensigma uccp330 HW unit
ENSIGMA UCCP330 is an integrated multi-standard broadcast demodulator.
It locks on broadcast RF signal and produces MPEG-2 transport stream.

Change-Id: I96d731e85d167a95a1f75da63bd827af302fc4dd
Signed-off-by: Mickey Mendlin <mmendl@codeaurora.org>
2013-11-28 09:39:02 +02:00
Anat Etzion-Fuchs c2fffdad49 TSC: support new TSC HW unit
TSC (Transport Stream Controller) is a new HW unit designed to support
two major functionalities:
Mux: enable the routing of the MPEG transport streams from multiple
sources to multiple destinations.
CI: communication with the internal Conditional Access Module (CAM) over
Common Interface (CI).
The TSC driver supports the TSC HW unit, enabling the functionality it
provides.

Change-Id: I92e250fbd149644afbc65dd4dc6f92cca061a9a9
Signed-off-by: Anat Etzion-Fuchs <aetzion@codeaurora.org>
2013-11-26 09:59:34 +02:00
Sagar Shinde 197790e179 msm: qca1530: Driver to control QCA1530 SOC
This change adds a driver to support QCA1530 chip. The driver configures
and controls HW resources to supply power and necessary control signals
to the QCA1530 chip and its peripherals.

Change-Id: I2524f7ca6a1758994d6ae33a630c1c1d4b7c5865
Signed-off-by: Sagar Shinde <sagarshinde@codeaurora.org>
2013-11-22 21:26:58 +02:00
Linux Build Service Account 47c65af1f6 Merge "tspp2: Add support for clocks and power regulator" 2013-11-15 01:10:32 -08:00
Liron Kuch b4ff705d27 tspp2: Add support for clocks and power regulator
Add support to enable and disable the power regulator and
relevant clocks that the TSPP2 HW unit requires.

Change-Id: I29cbb9df6267c44f94bfeef6558e206b2b162248
Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
2013-11-13 16:58:09 +02:00
Pratibhasagar V c040b2c2dc uio: msm_sharedmem: Add new device driver for sharedmemory access
Add new device driver to provide a standard interface for its
clients (like RemoteFS and RFSA) to be able to memory map their
respective allotted shared memory address in the client's address space.
The shared memory (a transport buffer) address is unique for each
individual client and is made available to the driver via device tree.

This driver uses the existing UIO framework to facilitate the clients
mmap requirements. Each individual client will be able to use a unique
UIO device for this purpose.

CRs-Fixed: 477427
Change-Id: If07b88086b5f1b87845962818094644575629fcf
Signed-off-by: Pratibhasagar V <pratibha@codeaurora.org>
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2013-11-06 09:41:54 -08:00
Linux Build Service Account 10a7f77da7 Merge "tspp2: Support new TSPP2 HW unit" 2013-09-25 01:06:22 -07:00
Liron Kuch 69e93b52f9 tspp2: Support new TSPP2 HW unit
TSPP2 (Transport Stream Packet Processor v2) is a new HW unit
designed to process MPEG-2 Transport Stream data. It is used
to offload the CPU when processing broadcast TV services. TSPP2
supports live playback from TSIF input as well as playback from
memory. Recording is also supported.
The TSPP2 driver supports the TSPP2 HW unit, enabling the
functionality it provides.

Change-Id: Ic9893a36a8f06ae899bf9df93d51e2b984ba9c7d
Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
2013-09-24 11:33:23 +03:00
Eric Holmberg 302029bf5a msm: smp2p: add SSR boot-up handshake
Booting up after an SSR, a remote subsystem will go through the
following sequence if the SMP2P is already in the OPENED state:
	1) write 0 to all entries
	2) trigger an interrupt to the remote processor (which may be Apps)
	3) clients may now start writing to entries

If Apps does not process the interrupt in step 2 until after the client
writes to an entry (step 3), then Apps will not notify clients of the
X->0 transition from step 1.

Add an SSR handshake to ensure that the remote processor has time to
process the interrupt from step 2.

CRs-Fixed: 528683
Change-Id: Ia04324c2aee38c907cded2c742b809946ec4040a
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2013-09-21 07:54:16 -07:00
Eric Holmberg c913d6af41 msm: smp2p: update documentation
Updates to the SMP2P documentation to:
 * Add link to the Device Tree documentation
 * Add Subsystem Restart Description
 * Correct SMEM IDs

Change-Id: I81bf9fe66c6c3649b44616c2764400f91b68778c
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2013-09-21 07:54:06 -07:00
Arun Kumar Neelakantam 1398f84c95 tty: n_smux: Add separate close notification
New SMUX events SMUX_LOCAL_CLOSED and SMUX_REMOTE_CLOSED sent to clients
during close operation.

Change-Id: I838d99069a3575be371976700bc92b64b32959af
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2013-09-04 17:19:03 -07:00
Eric Holmberg 92a76b9d57 msm: ipc_logging: Add IPC Logging documentation
Add IPC Logging documentation that was missed when the initial
driver was added.

Change-Id: Ib3caffb4da98aa453f72d65643ab9c61d7774434
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2013-09-04 17:05:32 -07:00
Eric Holmberg 64a35319b2 tty: n_smux: Add SMUX documentation
Add SMUX documentation that was missed when the initial
driver was added.

Change-Id: I5b23e451ff48d1eac05b22de3e5f0e017a6f7b0c
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
2013-09-04 16:09:58 -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
Hamad Kadmany 493ed436ad tspp: Add option to inverse tsif signals
TSIF signals (clock, data, enable and sync) may be configured
to be inversed at TSPP unit input. This is useful in case
TSIF signals from external units need to be inversed.

Change-Id: Idd21948baccedc7499b31ed1d4df0f737538c870
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
2013-09-04 15:30:22 -07:00
Mitchel Humpherys cb14e3d32d msm: adsprpc: RPC driver between apps and adsp
The driver implements an IPC (Inter-Processor) communication
mechanism that allows for clients to make remote method
invocations across processor boundary.

Change-Id: I95710df16e9258ad37b1f3d1e32f36003760b970
Acked-by: Sathish Ambley <sambley@qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2013-09-04 15:20:28 -07:00
Stephen Boyd 5a8d9170e4 Add snapshot of mach-msm from beginning of msm-3.4
This also includes various documentation files and the devicetree
files for msm boards.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 14:53:53 -07:00
Jordan Crouse 21e75e0957 gpu: Add MSM KGSL gpu driver
Take in the entire GPU driver as of commit
75c34ca1b4e69e96921e4153dfa9d399e5b9d2e8 in msm-3.4

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 14:50:32 -07:00
Vladimir Kondratiev 0690d55dd7 msm: TSIF driver for Qualcomm MSM
Low level TSIF (Transport Stream InterFace) driver
provides in-kernel API to be used by upper layer
drivers;

included also is example for upper layer driver
that uses TSIF API and implements character device.

Signed-off-by: Vladimir Kondratiev <vkondrat@qualcomm.com>
2013-09-04 14:48:54 -07:00
David Brown 2bd7216ba8 tspp: Add transport stream packet processor
Including:

commit 6bac783fae7e7c5a5bfc95e2cdc9b4f22ca53d44
Author: Hamad Kadmany <hkadmany@codeaurora.org>
Date:   Thu Dec 20 18:30:40 2012 +0200

    tspp: Disable read-complete interrupt

    Read-complete interrupt can be generated from TSPP HW for test
    purposes only. It is generated for each TS packet TSPP fetches from
    TSIF interface. Having it enabled cause great load of interrupts
    that are not used by the SW.

    Change-Id: If2038f184a8b0904fba3e1cca5e110fd9daa52d3
    Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>

commit 81cee0596e3cdf8102bf8c8ef45e5f3a07fc8a4d
Author: Hamad Kadmany <hkadmany@codeaurora.org>
Date:   Thu Nov 29 14:15:57 2012 +0200

    tspp: Improve data-path handling

    Existing driver allocated BAM descriptor at fixed sizes each
    with interrupt flag set. Notification on data was received when
    the descriptor is fully consumed by the HW. The descriptor size
    on one hand need to be big enough so that we don't receive too much
    interrupts for high-bitrate streams, and on other hand needs
    to be small enough so that for low-bitrate stream we are not starved
    waiting for data for a long period of time.

    The change adds support of allocating small descriptors and set
    interrupt flags on part of descriptors. In addition, expiration
    timer is used so that if interrupt is not received after long period
    of time the timer handler reports back descriptors are already ready
    to be consumed. This allows low-rate of interrupts and
    handling of low-bitrate streams.

    As descriptors are smaller now (size of single TS packet), exposed
    API within SW demux that handles a single packet to save the function
    call to the API that handles multiple packets for efficiency. Information
    regarding the new buffer allocation was added to debugfs.

    CRs-Fixed: 420818
    Change-Id: I4bb05177774ab0e0bad0737ca1106a0c33f843ae
    Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>

commit 44307d32e23a2bb2a190d88bb049cc34d1e20418
Author: Hamad Kadmany <hkadmany@codeaurora.org>
Date:   Sun Nov 25 09:49:51 2012 +0200

    misc: tspp: Enable notification of TSIF status and expose it in debugfs

    Enable TSIF status interrupt to expose the following
    information in debugfs:
    - stat_rx_chunks: Counts number of TS packets chunks received from HW.
    - stat_overflow: Counts number of times buffer has overflowed.
    - stat_lost_sync: Counts number of times TSIF lost sync with input.
    - stat_timeout: Counts number of times TSIF reached timeout
    waiting for packets.

    All counters can read and reset by writing to the respective file.

    Change-Id: I475c2c0845c85ac22ea720059fb28c4a588fedcf
    Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>

commit 72b785570b265c6fcb4cb907c0c3a3a4b311f1f1
Author: Liron Kuch <lkuch@codeaurora.org>
Date:   Tue Oct 30 17:47:50 2012 +0200

    media: dvb: mpq: TSPP output buffer allocation by demux plugin

    The TSPP driver can allocate its output buffers internally or
    externally. External buffer allocation is required when Demux wishes
    to use the ION driver to allocate a physically contiguous buffer
    (e.g. to pass to TZ).
    This commit improves the TSPP driver support for external buffer
    allocation and implements the external memory allocation and free
    functions in the Demux driver.

    Change-Id: I71da4f18c090ef224c4fc7b23f55b9b3636be996
    Signed-off-by: Liron Kuch <lkuch@codeaurora.org>

commit 92705b3eb380826abf8ddefc25a8d210ffa64ff5
Author: Hamad Kadmany <hkadmany@codeaurora.org>
Date:   Tue Oct 23 14:15:41 2012 +0200

    tspp: Add option to inverse tsif signals

    TSIF signals (clock, data, enable and sync) may be configured
    to be inversed at TSPP unit input. This is useful in case
    TSIF signals from external units need to be inversed.

    Change-Id: Idd21948baccedc7499b31ed1d4df0f737538c870
    Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>

commit 435ad8e2157eec5783a435f1e7ec47f67d759882
Author: Joel Nider <jnider@codeaurora.org>
Date:   Wed Dec 14 16:53:30 2011 +0200

    tspp: add kernel api for video demux component

    The demux is an in-kernel software component whose purpose is to take
    an incoming TSIF stream and split it into multiple output channels
    based on the PID field in each TS packet. Each output channel can be
    used for a different purpose, such as audio, video or channel
    information. In order to get good performance when moving such large
    data streams around, the demux was placed in kernel-space as to
    prevent copying memory buffers between kernel-space and user-space, at
    least at this early stage in processing the traffic. Originally the
    design of the TSPP driver was based on the earlier TSIF driver, so it
    contained only a user-space API.

    Change-Id: I22799eb19d9049e3635d5c589b02f999d9b8e1c7
    Signed-off-by: Joel Nider <jnider@codeaurora.org>

commit 6544f3e52c9c1707a5a8fa90d32f89d80dabb4b9
Author: Joel Nider <jnider@codeaurora.org>
Date:   Tue Jul 10 13:50:06 2012 +0300

    tspp: use new clock preparation functions

    Replace the clk_enable() with clk_prepare_enable() and replace
    clk_disable() with clk_disable_unprepare() functions.

    Change-Id: I63479090eccbeac46f091bf95faeb857139d23a4
    Signed-off-by: Joel Nider <jnider@codeaurora.org>

commit b9662ca49cfe619e076476dcf8297a4031f0c310
Author: Joel Nider <jnider@codeaurora.org>
Date:   Sun Jun 10 14:21:11 2012 +0300

    tspp: use device name when getting clock

    The new method for requesting clocks requires a driver to pass its
    device name for comparison to the list of available clocks.

    Change-Id: Ica5b09447de177beead90f8b7c721b84820fbdf7
    Signed-off-by: Joel Nider <jnider@codeaurora.org>

commit 5556a8524591e4d1c4c9188316551900e8b8382d
Author: Joel Nider <jnider@codeaurora.org>
Date:   Sun Oct 16 10:52:13 2011 +0200

    misc: tspp: adding TSPP driver files

    The TSPP driver manages the transport stream packet processor.  This core
    is used to offload the main CPU by handling MPEG TS packets, generally
    coming from a broadcast modem using the ISDB-T (or variant) protocol.

    Change-Id: Ia4c16dcce970ae0f52d8d17957a92fce34ecdb44
    Signed-off-by: Joel Nider <jnider@codeaurora.org>

Signed-off-by: David Brown <davidb@codeaurora.org>
2013-09-04 14:48:11 -07:00
John Howe 3440df24e7 hw_random: Add msm_rng driver
This is a combination of 13 commits.

 commit 59a27ca89fb515caeac2b97059832515566f70d9
 Author: John Howe <jhowe@codeaurora.org>
 Date:   Tue Jan 4 17:18:54 2011 -0500

    hw_random: Add Qualcomm MSM random number driver

    This driver uses the hardware random number generator on MSM chips.

    Change-Id: I13b4d831fb9b5487356af466536a9005107ff723
    Signed-off-by: John Howe <jhowe@codeaurora.org>

 commit 09cae33a80706e0aa77bdc4e1b493ef2a36dbbde
 Author: John Howe <jhowe@codeaurora.org>
 Date:   Fri Jan 14 10:21:05 2011 -0500

    hw_random: add PRNG clock control

    Change-Id: I6d9dd2ee7c50020fb8d41242b655e172e4c9eff2
    Signed-off-by: John Howe <jhowe@codeaurora.org>

 commit 0573eda3ce19c01825ded4fe850362c37460dc20
 Author: John Howe <jhowe@codeaurora.org>
 Date:   Mon Jan 24 14:56:06 2011 -0500

    hw_random: remove clk frequency control

    The clock only supports one rate, 64MHz, and is set to that
    rate by default.

    Change-Id: I820c74e44f4ebdec7b891a4c89d681cb5c3dcee6
    Signed-off-by: John Howe <jhowe@codeaurora.org>

 commit fab0a4d40e18be4a31a4720acafb128893c620e8
 Author: John Howe <jhowe@codeaurora.org>
 Date:   Tue Apr 12 14:48:51 2011 -0400

    hw_random: Use memory barriers

    Change-Id: Ie216141d7f6997266d8c5ed4bbd436f1be6551b8
    Signed-off-by: John Howe <jhowe@codeaurora.org>

 commit f07f1ba547790155db4c508ccfa58b64c967fe8e
 Author: Raj Kushwaha <rajk@codeaurora.org>
 Date:   Tue Jul 26 14:35:28 2011 -0700

    hw_random: msm: Remove PRNG hardware configuration

    LSFR and CONFIG registers are configured by secure domain
    code and XPU protected.

    CRs-Fixed: 284133
    Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
    (cherry picked from commit a4f802b0f5d0faee9e83020c599b2f4b0b27de5f)

    Change-Id: Ie73cc3a95d1e2fff970e4d71f15fc1cbb4ead11c
    Signed-off-by: Raj Kushwaha <rajk@codeaurora.org>

 commit 26cef0c9d572e55df0f17dc4a5de380595eddaeb
 Author: Matt Wagantall <mattw@codeaurora.org>
 Date:   Thu Aug 11 17:19:31 2011 -0700

    msm: clock: Use device names to distinguish between PRNG clocks

    Drivers should now use their device names to distinguish between
    clocks of the same type rather than the clock name. This allows
    the clock names to be updated to match the new naming convention.

    Change-Id: Ibf00fd3d406adb04299e3e79e379d4fefe70f2b4
    Signed-off-by: Matt Wagantall <mattw@codeaurora.org>

 commit 5ad373931744ae98289ec680334d7cc0bee1c0b6
 Author: Ramesh Masavarapu <rameshm@codeaurora.org>
 Date:   Mon Oct 10 10:44:10 2011 -0700

    msm: Add PRNG to MSM9615 device.

    Add configuration parameters for MSM9615 device.
    PRNG hardware registers initialization in msm_rng.c is done
    currently for MSM9615.

    Change-Id: I2a05e9e582ce94a25bec71e1acaee95d62cd9469
    Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org>

 commit 2f963dbc78c6c0703f51466b2b242287a2df5487
 Author: Ramesh Masavarapu <rameshm@codeaurora.org>
 Date:   Thu Oct 20 15:33:50 2011 -0700

    msm: Removed target specific changes for enabling PRNG h/w.

    The driver checks if the PRNG h/w is enabled. If it is not ON, it
    enables the PRNG h/w.

    Change-Id: I7c73eba7ba47f4fca116cfe0884758e6dd130ed0
    Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org>

 commit 46af59fb8f4bce302ad4d787b63b25e46548df6a
 Author: Stepan Moskovchenko <stepanm@codeaurora.org>
 Date:   Tue Feb 7 14:38:59 2012 -0800

    msm: rng: Disable RNG init on APQ8064

    Change-Id: Ic42a85c51faea8a17b02eb4987d0f5db732716c2
    Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>

 commit a54263b0056b15cad1336a33d57bb1db013e8abb
 Author: Ramesh Masavarapu <rameshm@codeaurora.org>
 Date:   Wed Feb 1 22:49:01 2012 -0800

    msm: Removed XPU violations.

    During initialization, there is a violation in writing to
    "read only" registers for targets that support trust zone.
    Trustzone marks certain registers as read-only.
    This change fixes the issue by writing to registers only
    on targets that do not support trust zone.

    Change-Id: I69bb0f1bad199201aa3dd8b378ca1683dfa81c86
    Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org>

 commit a99fcc24e94481134ca22f9778e88ed31646d6e3
 Author: Ramesh Masavarapu <rameshm@codeaurora.org>
 Date:   Wed Feb 22 14:30:32 2012 -0800

    Revert "msm: rng: Disable RNG init on APQ8064"

    This reverts commit 46af59fb8f4bce302ad4d787b63b25e46548df6a.
    The RNG driver was initially disabled because of missing clock
    changes and this driver was causing boot up issues.
    Now with the clock changes checked in the RNG driver works.

    Change-Id: I127f25c8be6b715510c1fb16b274a814416d8a8a
    Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org>

 commit 801c392ab9ee2893c6f3ca506e43afa62798890b
 Author: Ramesh Masavarapu <rameshm@codeaurora.org>
 Date:   Tue Apr 24 16:28:00 2012 -0700

    prng: Replace clk_enable and clk_disable APIs.

    The clk driver has introduced new clock APIs that replace
    the existing clk_enable and clk_disable.
     -clk_enable() APIs is replaced with clk_prepare_enable().
     -clk_disable() API is replaced with clk_disable_unprepare().

    Change-Id: Ib6c452e7dc3f357497eae5a9302a7352a19fcb18
    Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org>

 commit de991f08a8738dc66e65488aebed472de65ce237
 Author: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org>
 Date:   Thu May 31 13:15:51 2012 -0700

    PRNG: Device tree entry for qrng device.

    Cleanup platorm device entry & add device tree entry

    Change-Id: I5bde944d63276a3aaf00b7415066963027f11249
    Signed-off-by: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org>

 commit a4100a4a6e2a1843645d3eff22dabb387d4cbb61
 Author: Stephen Boyd <sboyd@codeaurora.org>
 Date:   Mon Jun 25 15:48:37 2012 -0700

    msm-rng: Fix PRNG_LFSR_CFG setup

    Changes to only configure the LFSR on devices that don't have the
    prng hardware already setup mistakenly removed the LFSR
    configuration. Instead, the change is ORing in 1s into the top 16
    bits of the register (they're marked as reserved).

    Restore the original code by masking off the lower 16 bits of the
    register and filling them with values from the
    PRNG_LFSR_CFG_CLOCKS define.

    Change-Id: Idd0df7b49175c211eec5ea778733ae81f5bc8188
    Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

commit 0bef6ede4b779c19091234e20ecfbb76a44edac0
Author: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org>
Date:   Wed Nov 7 19:47:21 2012 -0800

    msm: rng: Add support for iface clk

    Currently the driver supports only enabling core_clk,but on
    certain targets, iface_clk is used for the hardware RNG
    block. This fix adds compatibility to targets that have iface
    clock instead of the core clock.

    Change-Id: I480c3c7070e09f945439ea48e6877c7170ceeeb9
    Signed-off-by: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org>

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 14:46:59 -07:00
Rick Adams fa5c459804 msm: 8x55: put reason for boot in procfs from SMEM
During board initialization read the shared memory item
SMEM_POWER_ON_STATUS_INFO and place it in the procfs at
/proc/sys/kernel/boot_reason

The data item is an integer with a bit being set to identify the reason
the device was powered on. The values of this data item is defined in
the document Document/arm/msm/boot.txt, the following is the data in the
documentation file.

power_on_status values set by the PMIC for power on event:
----------------------------------------------------------
0x01 -- keyboard power on
0x02 -- RTC alarm
0x04 -- cable power on
0x08 -- SMPL
0x10 -- Watch Dog timeout
0x20 -- USB charger
0x40 -- Wall charger
0xFF -- error reading power_on_status value

This is change is a response to a customer request described in
JIRA KERNEL-518

Change-Id: I59e665f92e6e29f7dfef4380314f676a2d92c94b
Signed-off-by: Rick Adams <rgadams@codeaurora.org>
(cherry picked from commit 9512d7e26abc9d23a1771533c5300605d70dfaa7)

Conflicts:

	arch/arm/include/asm/processor.h
	arch/arm/mach-msm/board-msm7x30.c
	kernel/sysctl.c
2013-07-08 05:51:39 -07:00
Linus Torvalds e3d98847de ARM: platform specific firmware interfaces for 3.10
Two platforms, bcm and exynos have their own firmware interfaces using
 the "secure monitor call", this adds support for those.
 
 We had originally planned to have a third set of patches in here, which
 would extend support for the existing generic "psci" call that is used
 on multiple platforms as well as Xen and KVM guests, but that ended up
 getting dropped because the patches were not ready in time.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRhKXyAAoJEIwa5zzehBx3hVQP/1dOFA/LDDKAV918vutKlCtC
 Rptv8WOjMA/r5vlbTKmUHi3tMDDXdDH6CaWH5Fd4pDAnWqWQ8lCB0lSsOY0sKo7c
 SPujwUV6i5LyF2AM+gqTOUrK/6nZNuDYJL9xVjQTOMMNFnTckI4DsgrWAFsv07hh
 N8kh5iR2fD13tg3c/xmuqQ0JECyot1xZowif3dPi/QywsPlxUAua86XI3rWujN8w
 VSARDdpDj6l/6VHYjqiBaGG3sPvzG/dcsN03lTjI5dah4MNtKU4U4Qy7M83ebRXd
 4+gKqy1T0H+lfAODtZqvnkJdJHhZ73f2dUiZj0eWQg9RxNJoLx/tQKmr9fUp4ypP
 fKv0/z5aFEymAPa0FqUvU+zG57WUBjyOrEUie5XoPq4k+Z0xWHmJ8YeDRaqhBC2j
 YcHuSFAhSimqw8Lrc720qvovLvsy4gU8Y6HVIPek0v/D7svvB6smhry2P3XPjXbM
 nEldmqljONMOXJFfgav5Jp6r41IGJOBzwlPlqmNT7+QYo9BLxPVrnroKVUhvx4da
 gjx0Uo8PJZC8wH2WUiP8v/X6yYk7ZzdYgY0oJseeW8TqT8RxkpIScgwRKeufJW0m
 WHcYoJWrFRPv4iHUNBaFfDLk86NaDVFhjJaUKWGbHLJPG/wGEsT6xoMkl7oI0uH5
 bI8xCHEsSqz8GiRW+j22
 =68m5
 -----END PGP SIGNATURE-----

Merge tag 'firmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM platform specific firmware interfaces from Olof Johansson:
 "Two platforms, bcm and exynos have their own firmware interfaces using
  the "secure monitor call", this adds support for those.

  We had originally planned to have a third set of patches in here,
  which would extend support for the existing generic "psci" call that
  is used on multiple platforms as well as Xen and KVM guests, but that
  ended up getting dropped because the patches were not ready in time."

* tag 'firmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: bcm: mark bcm_kona_smc_init as __init
  ARM: bcm281xx: Add DT support for SMC handler
  ARM: bcm281xx: Add L2 cache enable code
  ARM: EXYNOS: Add secure firmware support to secondary CPU bring-up
  ARM: EXYNOS: Add IO mapping for non-secure SYSRAM.
  ARM: EXYNOS: Add support for Exynos secure firmware
  ARM: EXYNOS: Add support for secure monitor calls
  ARM: Add interface for registering and calling firmware-specific operations
2013-05-04 12:33:36 -07:00
Linus Torvalds 8546dc1d4b Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
Pull ARM updates from Russell King:
 "The major items included in here are:

   - MCPM, multi-cluster power management, part of the infrastructure
     required for ARMs big.LITTLE support.

   - A rework of the ARM KVM code to allow re-use by ARM64.

   - Error handling cleanups of the IS_ERR_OR_NULL() madness and fixes
     of that stuff for arch/arm

   - Preparatory patches for Cortex-M3 support from Uwe Kleine-König.

  There is also a set of three patches in here from Hugh/Catalin to
  address freeing of inappropriate page tables on LPAE.  You already
  have these from akpm, but they were already part of my tree at the
  time he sent them, so unfortunately they'll end up with duplicate
  commits"

* 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (77 commits)
  ARM: EXYNOS: remove unnecessary use of IS_ERR_VALUE()
  ARM: IMX: remove unnecessary use of IS_ERR_VALUE()
  ARM: OMAP: use consistent error checking
  ARM: cleanup: OMAP hwmod error checking
  ARM: 7709/1: mcpm: Add explicit AFLAGS to support v6/v7 multiplatform kernels
  ARM: 7700/2: Make cpu_init() notrace
  ARM: 7702/1: Set the page table freeing ceiling to TASK_SIZE
  ARM: 7701/1: mm: Allow arch code to control the user page table ceiling
  ARM: 7703/1: Disable preemption in broadcast_tlb*_a15_erratum()
  ARM: mcpm: provide an interface to set the SMP ops at run time
  ARM: mcpm: generic SMP secondary bringup and hotplug support
  ARM: mcpm_head.S: vlock-based first man election
  ARM: mcpm: Add baremetal voting mutexes
  ARM: mcpm: introduce helpers for platform coherency exit/setup
  ARM: mcpm: introduce the CPU/cluster power API
  ARM: multi-cluster PM: secondary kernel entry code
  ARM: cacheflush: add synchronization helpers for mixed cache state accesses
  ARM: cpu hotplug: remove majority of cache flushing from platforms
  ARM: smp: flush L1 cache in cpu_die()
  ARM: tegra: remove tegra specific cpu_disable()
  ...
2013-05-03 09:13:19 -07:00