[PATCH 0/4] Qualcomm Shared Memory State Machines

From: Bjorn Andersson
Date: Thu Aug 27 2015 - 13:38:11 EST

This series implements the two different mechanisms for propagating single bit
state information, used on the various Qualcomm platforms.

The system was traditionally used by the modem and application processor to
convey information about boot progress, power states, error handling and so on.
This was implemented as SMSM, with status bits representing a single local

As the complexity of the SoC grew the state bits array grew and the need for
targeting specific state information at specific remote processors appeared.
SMP2P solves this by having separate shared memory regions per processor-pair.

This state information is e.g. used to convey progress and status of remote
firmware loading. Individual bits maps to various stages of the boot and error

As some of these states on some platforms are passed as physical signals
instead, the two drivers are modelled as gpio- and interrupt-controllers -
providing a nice abstraction both in device tree sense and Linux implementation

Bjorn Andersson (4):
dt-binding: gpio: Add Qualcomm SMSM device tree documentation
gpio: qcom-smsm: Add driver for Qualcomm SMSM
dt-binding: gpio: Introduce qcom,smp2p binding documentation
gpio: qcom-smp2p: Qualcomm Shared Memory Point to Point

.../devicetree/bindings/gpio/qcom,smp2p.txt | 112 ++++
.../devicetree/bindings/gpio/qcom,smsm.txt | 114 ++++
drivers/gpio/Kconfig | 15 +
drivers/gpio/Makefile | 2 +
drivers/gpio/gpio-qcom-smp2p.c | 601 ++++++++++++++++++++
drivers/gpio/gpio-qcom-smsm.c | 631 +++++++++++++++++++++
6 files changed, 1475 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/qcom,smp2p.txt
create mode 100644 Documentation/devicetree/bindings/gpio/qcom,smsm.txt
create mode 100644 drivers/gpio/gpio-qcom-smp2p.c
create mode 100644 drivers/gpio/gpio-qcom-smsm.c


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/