xref: /linux/Documentation/ABI/testing/debugfs-scmi-raw (revision 297d9111e9fcf47dd1dcc6f79bba915f35378d01)
174225707SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/message
274225707SCristian MarussiDate:		March 2023
374225707SCristian MarussiKernelVersion:	6.3
474225707SCristian MarussiContact:	cristian.marussi@arm.com
574225707SCristian MarussiDescription:	SCMI Raw synchronous message injection/snooping facility; write
674225707SCristian Marussi		a complete SCMI synchronous command message (header included)
774225707SCristian Marussi		in little-endian binary format to have it sent to the configured
874225707SCristian Marussi		backend SCMI server for instance <n>.
974225707SCristian Marussi		Any subsequently received response can be read from this same
1074225707SCristian Marussi		entry if it arrived within the configured timeout.
1174225707SCristian Marussi		Each write to the entry causes one command request to be built
1274225707SCristian Marussi		and sent while the replies are read back one message at time
1374225707SCristian Marussi		(receiving an EOF at each message boundary).
1474225707SCristian MarussiUsers:		Debugging, any userspace test suite
1574225707SCristian Marussi
1674225707SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/message_async
1774225707SCristian MarussiDate:		March 2023
1874225707SCristian MarussiKernelVersion:	6.3
1974225707SCristian MarussiContact:	cristian.marussi@arm.com
2074225707SCristian MarussiDescription:	SCMI Raw asynchronous message injection/snooping facility; write
2174225707SCristian Marussi		a complete SCMI asynchronous command message (header included)
2274225707SCristian Marussi		in little-endian binary format to have it sent to the configured
2374225707SCristian Marussi		backend SCMI server for instance <n>.
2474225707SCristian Marussi		Any subsequently received response can be read from this same
2574225707SCristian Marussi		entry if it arrived within the configured timeout.
2674225707SCristian Marussi		Any additional delayed response received afterwards can be read
2774225707SCristian Marussi		from this same entry too if it arrived within the configured
2874225707SCristian Marussi		timeout.
2974225707SCristian Marussi		Each write to the entry causes one command request to be built
3074225707SCristian Marussi		and sent while the replies are read back one message at time
3174225707SCristian Marussi		(receiving an EOF at each message boundary).
3274225707SCristian MarussiUsers:		Debugging, any userspace test suite
3374225707SCristian Marussi
34*07cb8c32SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/message_poll
35*07cb8c32SCristian MarussiDate:		June 2025
36*07cb8c32SCristian MarussiKernelVersion:	6.16
37*07cb8c32SCristian MarussiContact:	cristian.marussi@arm.com
38*07cb8c32SCristian MarussiDescription:	SCMI Raw message injection/snooping facility using polling mode;
39*07cb8c32SCristian Marussi		write a complete SCMI command message (header included) in
40*07cb8c32SCristian Marussi		little-endian binary format to have it sent to the configured
41*07cb8c32SCristian Marussi		backend SCMI server for instance <n>, using polling mode on
42*07cb8c32SCristian Marussi		the reception path. (if transport is polling capable)
43*07cb8c32SCristian Marussi		Any subsequently received response can be read from this same
44*07cb8c32SCristian Marussi		entry if it arrived within the configured timeout.
45*07cb8c32SCristian Marussi		Each write to the entry causes one command request to be built
46*07cb8c32SCristian Marussi		and sent while the replies are read back one message at time
47*07cb8c32SCristian Marussi		(receiving an EOF at each message boundary).
48*07cb8c32SCristian MarussiUsers:		Debugging, any userspace test suite
49*07cb8c32SCristian Marussi
50*07cb8c32SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/message_poll_async
51*07cb8c32SCristian MarussiDate:		June 2025
52*07cb8c32SCristian MarussiKernelVersion:	6.16
53*07cb8c32SCristian MarussiContact:	cristian.marussi@arm.com
54*07cb8c32SCristian MarussiDescription:	SCMI Raw asynchronous message injection/snooping facility using
55*07cb8c32SCristian Marussi		polling-mode; write a complete SCMI asynchronous command message
56*07cb8c32SCristian Marussi		(header included) in little-endian binary format to have it sent
57*07cb8c32SCristian Marussi		to the configured backend SCMI server for instance <n>, using
58*07cb8c32SCristian Marussi		polling-mode on the reception path of the immediate part of the
59*07cb8c32SCristian Marussi		asynchronous command. (if transport is polling capable)
60*07cb8c32SCristian Marussi		Any subsequently received response can be read from this same
61*07cb8c32SCristian Marussi		entry if it arrived within the configured timeout.
62*07cb8c32SCristian Marussi		Any additional delayed response received afterwards can be read
63*07cb8c32SCristian Marussi		from this same entry too if it arrived within the configured
64*07cb8c32SCristian Marussi		timeout.
65*07cb8c32SCristian Marussi		Each write to the entry causes one command request to be built
66*07cb8c32SCristian Marussi		and sent while the replies are read back one message at time
67*07cb8c32SCristian Marussi		(receiving an EOF at each message boundary).
68*07cb8c32SCristian MarussiUsers:		Debugging, any userspace test suite
69*07cb8c32SCristian Marussi
7074225707SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/errors
7174225707SCristian MarussiDate:		March 2023
7274225707SCristian MarussiKernelVersion:	6.3
7374225707SCristian MarussiContact:	cristian.marussi@arm.com
7474225707SCristian MarussiDescription:	SCMI Raw message errors facility; any kind of timed-out or
7574225707SCristian Marussi		generally unexpectedly received SCMI message, for instance <n>,
7674225707SCristian Marussi		can be read from this entry.
7774225707SCristian Marussi		Each read gives back one message at time (receiving an EOF at
7874225707SCristian Marussi		each message boundary).
7974225707SCristian MarussiUsers:		Debugging, any userspace test suite
8074225707SCristian Marussi
8174225707SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/notification
8274225707SCristian MarussiDate:		March 2023
8374225707SCristian MarussiKernelVersion:	6.3
8474225707SCristian MarussiContact:	cristian.marussi@arm.com
8574225707SCristian MarussiDescription:	SCMI Raw notification snooping facility; any notification
8674225707SCristian Marussi		emitted by the backend SCMI server, for instance <n>, can be
8774225707SCristian Marussi		read from this entry.
8874225707SCristian Marussi		Each read gives back one message at time (receiving an EOF at
8974225707SCristian Marussi		each message boundary).
9074225707SCristian MarussiUsers:		Debugging, any userspace test suite
9174225707SCristian Marussi
9274225707SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/reset
9374225707SCristian MarussiDate:		March 2023
9474225707SCristian MarussiKernelVersion:	6.3
9574225707SCristian MarussiContact:	cristian.marussi@arm.com
9674225707SCristian MarussiDescription:	SCMI Raw stack reset facility; writing a value to this entry
9774225707SCristian Marussi		causes the internal queues of any kind of received message,
9874225707SCristian Marussi		still pending to be read out for instance <n>, to be immediately
9974225707SCristian Marussi		flushed.
10074225707SCristian Marussi		Can be used to reset and clean the SCMI Raw stack between to
10174225707SCristian Marussi		different test-run.
10274225707SCristian MarussiUsers:		Debugging, any userspace test suite
1037860701dSCristian Marussi
1047860701dSCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/channels/<m>/message
1057860701dSCristian MarussiDate:		March 2023
1067860701dSCristian MarussiKernelVersion:	6.3
1077860701dSCristian MarussiContact:	cristian.marussi@arm.com
1087860701dSCristian MarussiDescription:	SCMI Raw synchronous message injection/snooping facility; write
1097860701dSCristian Marussi		a complete SCMI synchronous command message (header included)
1107860701dSCristian Marussi		in little-endian binary format to have it sent to the configured
1117860701dSCristian Marussi		backend SCMI server for instance <n> through the <m> transport
1127860701dSCristian Marussi		channel.
1137860701dSCristian Marussi		Any subsequently received response can be read from this same
1147860701dSCristian Marussi		entry if it arrived on channel <m> within the configured
1157860701dSCristian Marussi		timeout.
1167860701dSCristian Marussi		Each write to the entry causes one command request to be built
1177860701dSCristian Marussi		and sent while the replies are read back one message at time
1187860701dSCristian Marussi		(receiving an EOF at each message boundary).
11932a55bbdSCristian Marussi		Channel identifier <m> matches the SCMI protocol number which
12032a55bbdSCristian Marussi		has been associated with this transport channel in the DT
12132a55bbdSCristian Marussi		description, with base protocol number 0x10 being the default
12232a55bbdSCristian Marussi		channel for this instance.
1237860701dSCristian Marussi		Note that these per-channel entries rooted at <..>/channels
1247860701dSCristian Marussi		exist only if the transport is configured to have more than
12532a55bbdSCristian Marussi		one default channel.
1267860701dSCristian MarussiUsers:		Debugging, any userspace test suite
1277860701dSCristian Marussi
1287860701dSCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_async
1297860701dSCristian MarussiDate:		March 2023
1307860701dSCristian MarussiKernelVersion:	6.3
1317860701dSCristian MarussiContact:	cristian.marussi@arm.com
1327860701dSCristian MarussiDescription:	SCMI Raw asynchronous message injection/snooping facility; write
1337860701dSCristian Marussi		a complete SCMI asynchronous command message (header included)
1347860701dSCristian Marussi		in little-endian binary format to have it sent to the configured
1357860701dSCristian Marussi		backend SCMI server for instance <n> through the <m> transport
1367860701dSCristian Marussi		channel.
1377860701dSCristian Marussi		Any subsequently received response can be read from this same
1387860701dSCristian Marussi		entry if it arrived on channel <m> within the configured
1397860701dSCristian Marussi		timeout.
1407860701dSCristian Marussi		Any additional delayed response received afterwards can be read
1417860701dSCristian Marussi		from this same entry too if it arrived within the configured
1427860701dSCristian Marussi		timeout.
1437860701dSCristian Marussi		Each write to the entry causes one command request to be built
1447860701dSCristian Marussi		and sent while the replies are read back one message at time
1457860701dSCristian Marussi		(receiving an EOF at each message boundary).
14632a55bbdSCristian Marussi		Channel identifier <m> matches the SCMI protocol number which
14732a55bbdSCristian Marussi		has been associated with this transport channel in the DT
14832a55bbdSCristian Marussi		description, with base protocol number 0x10 being the default
14932a55bbdSCristian Marussi		channel for this instance.
1507860701dSCristian Marussi		Note that these per-channel entries rooted at <..>/channels
1517860701dSCristian Marussi		exist only if the transport is configured to have more than
15232a55bbdSCristian Marussi		one default channel.
1537860701dSCristian MarussiUsers:		Debugging, any userspace test suite
154*07cb8c32SCristian Marussi
155*07cb8c32SCristian Marussi
156*07cb8c32SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_poll
157*07cb8c32SCristian MarussiDate:		June 2025
158*07cb8c32SCristian MarussiKernelVersion:	6.16
159*07cb8c32SCristian MarussiContact:	cristian.marussi@arm.com
160*07cb8c32SCristian MarussiDescription:	SCMI Raw message injection/snooping facility using polling mode;
161*07cb8c32SCristian Marussi		write a complete SCMI command message (header included) in
162*07cb8c32SCristian Marussi		little-endian binary format to have it sent to the configured
163*07cb8c32SCristian Marussi		backend SCMI server for instance <n> through the <m> transport
164*07cb8c32SCristian Marussi		channel, using polling mode on the reception path.
165*07cb8c32SCristian Marussi		(if transport is polling capable)
166*07cb8c32SCristian Marussi		Any subsequently received response can be read from this same
167*07cb8c32SCristian Marussi		entry if it arrived on channel <m> within the configured
168*07cb8c32SCristian Marussi		timeout.
169*07cb8c32SCristian Marussi		Each write to the entry causes one command request to be built
170*07cb8c32SCristian Marussi		and sent while the replies are read back one message at time
171*07cb8c32SCristian Marussi		(receiving an EOF at each message boundary).
172*07cb8c32SCristian Marussi		Channel identifier <m> matches the SCMI protocol number which
173*07cb8c32SCristian Marussi		has been associated with this transport channel in the DT
174*07cb8c32SCristian Marussi		description, with base protocol number 0x10 being the default
175*07cb8c32SCristian Marussi		channel for this instance.
176*07cb8c32SCristian Marussi		Note that these per-channel entries rooted at <..>/channels
177*07cb8c32SCristian Marussi		exist only if the transport is configured to have more than
178*07cb8c32SCristian Marussi		one default channel.
179*07cb8c32SCristian MarussiUsers:		Debugging, any userspace test suite
180*07cb8c32SCristian Marussi
181*07cb8c32SCristian MarussiWhat:		/sys/kernel/debug/scmi/<n>/raw/channels/<m>/message_poll_async
182*07cb8c32SCristian MarussiDate:		June 2025
183*07cb8c32SCristian MarussiKernelVersion:	6.16
184*07cb8c32SCristian MarussiContact:	cristian.marussi@arm.com
185*07cb8c32SCristian MarussiDescription:	SCMI Raw asynchronous message injection/snooping facility using
186*07cb8c32SCristian Marussi		polling-mode; write a complete SCMI asynchronous command message
187*07cb8c32SCristian Marussi		(header included) in little-endian binary format to have it sent
188*07cb8c32SCristian Marussi		to the configured backend SCMI server for instance <n> through
189*07cb8c32SCristian Marussi		the <m> transport channel, using polling mode on the reception
190*07cb8c32SCristian Marussi		path of the immediate part of the asynchronous command.
191*07cb8c32SCristian Marussi		(if transport is polling capable)
192*07cb8c32SCristian Marussi		Any subsequently received response can be read from this same
193*07cb8c32SCristian Marussi		entry if it arrived on channel <m> within the configured
194*07cb8c32SCristian Marussi		timeout.
195*07cb8c32SCristian Marussi		Any additional delayed response received afterwards can be read
196*07cb8c32SCristian Marussi		from this same entry too if it arrived within the configured
197*07cb8c32SCristian Marussi		timeout.
198*07cb8c32SCristian Marussi		Each write to the entry causes one command request to be built
199*07cb8c32SCristian Marussi		and sent while the replies are read back one message at time
200*07cb8c32SCristian Marussi		(receiving an EOF at each message boundary).
201*07cb8c32SCristian Marussi		Channel identifier <m> matches the SCMI protocol number which
202*07cb8c32SCristian Marussi		has been associated with this transport channel in the DT
203*07cb8c32SCristian Marussi		description, with base protocol number 0x10 being the default
204*07cb8c32SCristian Marussi		channel for this instance.
205*07cb8c32SCristian Marussi		Note that these per-channel entries rooted at <..>/channels
206*07cb8c32SCristian Marussi		exist only if the transport is configured to have more than
207*07cb8c32SCristian Marussi		one default channel.
208*07cb8c32SCristian MarussiUsers:		Debugging, any userspace test suite
209