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