xref: /linux/Documentation/ABI/testing/sysfs-class-remoteproc (revision 26fbb4c8c7c3ee9a4c3b4de555a8587b5a19154e)
1What:		/sys/class/remoteproc/.../firmware
2Date:		October 2016
3Contact:	Matt Redfearn <matt.redfearn@mips.com>
4Description:	Remote processor firmware
5
6		Reports the name of the firmware currently loaded to the
7		remote processor.
8
9		To change the running firmware, ensure the remote processor is
10		stopped (using /sys/class/remoteproc/.../state) and write a new filename.
11
12What:		/sys/class/remoteproc/.../state
13Date:		October 2016
14Contact:	Matt Redfearn <matt.redfearn@mips.com>
15Description:	Remote processor state
16
17		Reports the state of the remote processor, which will be one of:
18
19		- "offline"
20		- "suspended"
21		- "running"
22		- "crashed"
23		- "invalid"
24
25		"offline" means the remote processor is powered off.
26
27		"suspended" means that the remote processor is suspended and
28		must be woken to receive messages.
29
30		"running" is the normal state of an available remote processor
31
32		"crashed" indicates that a problem/crash has been detected on
33		the remote processor.
34
35		"invalid" is returned if the remote processor is in an
36		unknown state.
37
38		Writing this file controls the state of the remote processor.
39		The following states can be written:
40
41		- "start"
42		- "stop"
43
44		Writing "start" will attempt to start the processor running the
45		firmware indicated by, or written to,
46		/sys/class/remoteproc/.../firmware. The remote processor should
47		transition to "running" state.
48
49		Writing "stop" will attempt to halt the remote processor and
50		return it to the "offline" state.
51
52What:		/sys/class/remoteproc/.../name
53Date:		August 2019
54KernelVersion:	5.4
55Contact:	Suman Anna <s-anna@ti.com>
56Description:	Remote processor name
57
58		Reports the name of the remote processor. This can be used by
59		userspace in exactly identifying a remote processor and ease
60		up the usage in modifying the 'firmware' or 'state' files.
61
62What:		/sys/class/remoteproc/.../coredump
63Date:		July 2020
64Contact:	Bjorn Andersson <bjorn.andersson@linaro.org>, Ohad Ben-Cohen <ohad@wizery.com>
65Description:	Remote processor coredump configuration
66
67		Reports the coredump configuration of the remote processor,
68		which will be one of:
69
70		"disabled"
71		"enabled"
72		"inline"
73
74		"disabled" means no dump will be collected.
75
76		"enabled" means when the remote processor's coredump is
77		collected it will be copied to a separate buffer and that
78		buffer is exposed to userspace.
79
80		"inline" means when the remote processor's coredump is
81		collected userspace will directly read from the remote
82		processor's device memory. Extra buffer will not be used to
83		copy the dump. Also recovery process will not proceed until
84		all data is read by usersapce.
85
86What:		/sys/class/remoteproc/.../recovery
87Date:		July 2020
88Contact:	Bjorn Andersson <bjorn.andersson@linaro.org>, Ohad Ben-Cohen <ohad@wizery.com>
89Description:	Remote processor recovery mechanism
90
91		Reports the recovery mechanism of the remote processor,
92		which will be one of:
93
94		"enabled"
95		"disabled"
96
97		"enabled" means, the remote processor will be automatically
98		recovered whenever it crashes. Moreover, if the remote
99		processor crashes while recovery is disabled, it will
100		be automatically recovered too as soon as recovery is enabled.
101
102		"disabled" means, a remote processor will remain in a crashed
103		state if it crashes. This is useful for debugging purposes;
104		without it, debugging a crash is substantially harder.
105