File Index
Files and directories
Sign in
FILE

Kconfig

File preview with syntax highlighting.

linux-6.19.14/drivers/firmware/arm_scmi/transports/Kconfig KCONFIG
  1# SPDX-License-Identifier: GPL-2.0-only
  2menu "SCMI Transport Drivers"
  3
  4config ARM_SCMI_HAVE_TRANSPORT
  5	bool
  6	help
  7	  This declares whether at least one SCMI transport has been configured.
  8	  Used to trigger a build bug when trying to build SCMI without any
  9	  configured transport.
 10
 11config ARM_SCMI_HAVE_SHMEM
 12	bool
 13	help
 14	  This declares whether a shared memory based transport for SCMI is
 15	  available.
 16
 17config ARM_SCMI_HAVE_MSG
 18	bool
 19	help
 20	  This declares whether a message passing based transport for SCMI is
 21	  available.
 22
 23config ARM_SCMI_TRANSPORT_MAILBOX
 24	tristate "SCMI transport based on Mailbox"
 25	depends on MAILBOX
 26	select ARM_SCMI_HAVE_TRANSPORT
 27	select ARM_SCMI_HAVE_SHMEM
 28	default y
 29	help
 30	  Enable mailbox based transport for SCMI.
 31
 32	  If you want the ARM SCMI PROTOCOL stack to include support for a
 33	  transport based on mailboxes, answer Y.
 34	  This driver can also be built as a module. If so, the module
 35	  will be called scmi_transport_mailbox.
 36
 37config ARM_SCMI_TRANSPORT_SMC
 38	tristate "SCMI transport based on SMC"
 39	depends on HAVE_ARM_SMCCC_DISCOVERY
 40	select ARM_SCMI_HAVE_TRANSPORT
 41	select ARM_SCMI_HAVE_SHMEM
 42	default y
 43	help
 44	  Enable SMC based transport for SCMI.
 45
 46	  If you want the ARM SCMI PROTOCOL stack to include support for a
 47	  transport based on SMC, answer Y.
 48	  This driver can also be built as a module. If so, the module
 49	  will be called scmi_transport_smc.
 50
 51config ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE
 52	bool "Enable atomic mode support for SCMI SMC transport"
 53	depends on ARM_SCMI_TRANSPORT_SMC
 54	help
 55	  Enable support of atomic operation for SCMI SMC based transport.
 56
 57	  If you want the SCMI SMC based transport to operate in atomic
 58	  mode, avoiding any kind of sleeping behaviour for selected
 59	  transactions on the TX path, answer Y.
 60	  Enabling atomic mode operations allows any SCMI driver using this
 61	  transport to optionally ask for atomic SCMI transactions and operate
 62	  in atomic context too, at the price of using a number of busy-waiting
 63	  primitives all over instead. If unsure say N.
 64
 65config ARM_SCMI_TRANSPORT_OPTEE
 66	tristate "SCMI transport based on OP-TEE service"
 67	depends on OPTEE
 68	select ARM_SCMI_HAVE_TRANSPORT
 69	select ARM_SCMI_HAVE_SHMEM
 70	select ARM_SCMI_HAVE_MSG
 71	default y
 72	help
 73	  This enables the OP-TEE service based transport for SCMI.
 74
 75	  If you want the ARM SCMI PROTOCOL stack to include support for a
 76	  transport based on OP-TEE SCMI service, answer Y.
 77	  This driver can also be built as a module. If so, the module
 78	  will be called scmi_transport_optee.
 79
 80config ARM_SCMI_TRANSPORT_VIRTIO
 81	tristate "SCMI transport based on VirtIO"
 82	depends on VIRTIO
 83	select ARM_SCMI_HAVE_TRANSPORT
 84	select ARM_SCMI_HAVE_MSG
 85	help
 86	  This enables the virtio based transport for SCMI.
 87
 88	  If you want the ARM SCMI PROTOCOL stack to include support for a
 89	  transport based on VirtIO, answer Y.
 90	  This driver can also be built as a module. If so, the module
 91	  will be called scmi_transport_virtio.
 92
 93config ARM_SCMI_TRANSPORT_VIRTIO_VERSION1_COMPLIANCE
 94	bool "SCMI VirtIO transport Version 1 compliance"
 95	depends on ARM_SCMI_TRANSPORT_VIRTIO
 96	default y
 97	help
 98	  This enforces strict compliance with VirtIO Version 1 specification.
 99
100	  If you want the ARM SCMI VirtIO transport layer to refuse to work
101	  with Legacy VirtIO backends and instead support only VirtIO Version 1
102	  devices (or above), answer Y.
103
104	  If you want instead to support also old Legacy VirtIO backends (like
105	  the ones implemented by kvmtool) and let the core Kernel VirtIO layer
106	  take care of the needed conversions, say N.
107
108config ARM_SCMI_TRANSPORT_VIRTIO_ATOMIC_ENABLE
109	bool "Enable atomic mode for SCMI VirtIO transport"
110	depends on ARM_SCMI_TRANSPORT_VIRTIO
111	help
112	  Enable support of atomic operation for SCMI VirtIO based transport.
113
114	  If you want the SCMI VirtIO based transport to operate in atomic
115	  mode, avoiding any kind of sleeping behaviour for selected
116	  transactions on the TX path, answer Y.
117
118	  Enabling atomic mode operations allows any SCMI driver using this
119	  transport to optionally ask for atomic SCMI transactions and operate
120	  in atomic context too, at the price of using a number of busy-waiting
121	  primitives all over instead. If unsure say N.
122
123endmenu
~/ Read-only file preview.