xref: /openbmc/linux/Documentation/ABI/testing/sysfs-class-remoteproc (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1 What:		/sys/class/remoteproc/.../firmware
2 Date:		October 2016
3 Contact:	Matt Redfearn <matt.redfearn@mips.com>
4 Description:	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 
12 What:		/sys/class/remoteproc/.../state
13 Date:		October 2016
14 Contact:	Matt Redfearn <matt.redfearn@mips.com>
15 Description:	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 
52 What:		/sys/class/remoteproc/.../name
53 Date:		August 2019
54 KernelVersion:	5.4
55 Contact:	Suman Anna <s-anna@ti.com>
56 Description:	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 
62 What:		/sys/class/remoteproc/.../coredump
63 Date:		July 2020
64 Contact:	Bjorn Andersson <bjorn.andersson@linaro.org>, Ohad Ben-Cohen <ohad@wizery.com>
65 Description:	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 userspace.
85 
86 What:		/sys/class/remoteproc/.../recovery
87 Date:		July 2020
88 Contact:	Bjorn Andersson <bjorn.andersson@linaro.org>, Ohad Ben-Cohen <ohad@wizery.com>
89 Description:	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