Commit db9cc5e6 authored by Cristian Marussi's avatar Cristian Marussi Committed by Sudeep Holla
Browse files

firmware: arm_scmi: Make OPTEE transport a standalone driver



Make SCMI OPTEE transport a standalone driver that can be optionally
loaded as a module.

CC: Etienne Carriere <etienne.carriere@foss.st.com>
Signed-off-by: default avatarCristian Marussi <cristian.marussi@arm.com>
Message-Id: <20240812173340.3912830-8-cristian.marussi@arm.com>
Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent a4175950
Loading
Loading
Loading
Loading
+0 −13
Original line number Diff line number Diff line
@@ -71,19 +71,6 @@ config ARM_SCMI_DEBUG_COUNTERS

source "drivers/firmware/arm_scmi/transports/Kconfig"

config ARM_SCMI_TRANSPORT_OPTEE
	bool "SCMI transport based on OP-TEE service"
	depends on OPTEE=y || OPTEE=ARM_SCMI_PROTOCOL
	select ARM_SCMI_HAVE_TRANSPORT
	select ARM_SCMI_HAVE_SHMEM
	select ARM_SCMI_HAVE_MSG
	default y
	help
	  This enables the OP-TEE service based transport for SCMI.

	  If you want the ARM SCMI PROTOCOL stack to include support for a
	  transport based on OP-TEE SCMI service, answer Y.

config ARM_SCMI_TRANSPORT_VIRTIO
	bool "SCMI transport based on VirtIO"
	depends on VIRTIO=y || VIRTIO=ARM_SCMI_PROTOCOL
+0 −1
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@ scmi-driver-$(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT) += raw_mode.o
scmi-transport-$(CONFIG_ARM_SCMI_HAVE_SHMEM) = shmem.o
scmi-transport-$(CONFIG_ARM_SCMI_HAVE_MSG) += msg.o
scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_VIRTIO) += virtio.o
scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_OPTEE) += optee.o
scmi-protocols-y := base.o clock.o perf.o power.o reset.o sensors.o system.o voltage.o powercap.o
scmi-protocols-y += pinctrl.o
scmi-module-objs := $(scmi-driver-y) $(scmi-protocols-y) $(scmi-transport-y)
+0 −3
Original line number Diff line number Diff line
@@ -289,9 +289,6 @@ int scmi_xfer_raw_wait_for_message_response(struct scmi_chan_info *cinfo,
#ifdef CONFIG_ARM_SCMI_TRANSPORT_VIRTIO
extern const struct scmi_desc scmi_virtio_desc;
#endif
#ifdef CONFIG_ARM_SCMI_TRANSPORT_OPTEE
extern const struct scmi_desc scmi_optee_desc;
#endif

void scmi_rx_callback(struct scmi_chan_info *cinfo, u32 msg_hdr, void *priv);

+0 −3
Original line number Diff line number Diff line
@@ -3318,9 +3318,6 @@ ATTRIBUTE_GROUPS(versions);

/* Each compatible listed below must have descriptor associated with it */
static const struct of_device_id scmi_of_match[] = {
#ifdef CONFIG_ARM_SCMI_TRANSPORT_OPTEE
	{ .compatible = "linaro,scmi-optee", .data = &scmi_optee_desc },
#endif
#ifdef CONFIG_ARM_SCMI_TRANSPORT_VIRTIO
	{ .compatible = "arm,scmi-virtio", .data = &scmi_virtio_desc},
#endif
+15 −0
Original line number Diff line number Diff line
@@ -62,4 +62,19 @@ config ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE
	  in atomic context too, at the price of using a number of busy-waiting
	  primitives all over instead. If unsure say N.

config ARM_SCMI_TRANSPORT_OPTEE
	tristate "SCMI transport based on OP-TEE service"
	depends on OPTEE
	select ARM_SCMI_HAVE_TRANSPORT
	select ARM_SCMI_HAVE_SHMEM
	select ARM_SCMI_HAVE_MSG
	default y
	help
	  This enables the OP-TEE service based transport for SCMI.

	  If you want the ARM SCMI PROTOCOL stack to include support for a
	  transport based on OP-TEE SCMI service, answer Y.
	  This driver can also be built as a module. If so, the module
	  will be called scmi_transport_optee.

endmenu
Loading