Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5bb47425 authored by Kineret Berger's avatar Kineret Berger Committed by Gerrit - the friendly Code Review server
Browse files

soc: qcom: add secure processor communication (spcom) driver



This driver supports communication with secure processor subsystem
over glink transport layer.
The communication is based on using shared memory and interrupts.
This driver exposes interface to both kernel and user space.

Change-Id: I21ad3bac5d1b0cc7a4da616040c81f117c655435
Signed-off-by: default avatarKineret Berger <kberger@codeaurora.org>
parent 96e8f54f
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. Secure Proccessor Communication (spcom)

Required properties:
-compatible : should be "qcom,spcom"
-qcom,spcom-ch-names: predefined channels name string

Example:
    qcom,spcom {
            compatible = "qcom,spcom";
            qcom,spcom-ch-names = "sp_kernel" , "sp_ssr";
    };
+13 −0
Original line number Diff line number Diff line
@@ -302,6 +302,19 @@ config MSM_GLINK_SPI_XPRT
	  allows for G-Link communication with remote subsystems that are
	  external to the System-on-Chip.

config MSM_SPCOM
	depends on MSM_GLINK
	bool "Secure Processor Communication over GLINK"
	help
	  spcom driver allows loading Secure Processor Applications and
	  sending messages to Secure Processor Applications.
	  spcom provides interface to both user space app and kernel driver.
	  It is using glink as the transport layer, which provides multiple
	  logical channels over single physical channel.
	  The physical layer is based on shared memory and interrupts.
	  spcom provides clients/server API, although currently only one client
	  or server is allowed per logical channel.

config TRACER_PKT
	bool "Tracer Packet"
	help
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ obj-$(CONFIG_MSM_GLINK) += glink.o glink_debugfs.o glink_ssr.o
obj-$(CONFIG_MSM_GLINK_LOOPBACK_SERVER) += glink_loopback_server.o
obj-$(CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT) += glink_smem_native_xprt.o
obj-$(CONFIG_MSM_GLINK_SPI_XPRT) += glink_spi_xprt.o
obj-$(CONFIG_MSM_SPCOM) += spcom.o
obj-$(CONFIG_TRACER_PKT) += tracer_pkt.o
obj-$(CONFIG_QCOM_BUS_SCALING) += msm_bus/
obj-$(CONFIG_QTI_RPMH_API) += rpmh.o
Loading