12aefbef0SMatt RedfearnWhat:		/sys/class/remoteproc/.../firmware
22aefbef0SMatt RedfearnDate:		October 2016
3fb615d61SPaul BurtonContact:	Matt Redfearn <matt.redfearn@mips.com>
42aefbef0SMatt RedfearnDescription:	Remote processor firmware
52aefbef0SMatt Redfearn
62aefbef0SMatt Redfearn		Reports the name of the firmware currently loaded to the
72aefbef0SMatt Redfearn		remote processor.
82aefbef0SMatt Redfearn
92aefbef0SMatt Redfearn		To change the running firmware, ensure the remote processor is
102aefbef0SMatt Redfearn		stopped (using /sys/class/remoteproc/.../state) and write a new filename.
112aefbef0SMatt Redfearn
122aefbef0SMatt RedfearnWhat:		/sys/class/remoteproc/.../state
132aefbef0SMatt RedfearnDate:		October 2016
14fb615d61SPaul BurtonContact:	Matt Redfearn <matt.redfearn@mips.com>
152aefbef0SMatt RedfearnDescription:	Remote processor state
162aefbef0SMatt Redfearn
172aefbef0SMatt Redfearn		Reports the state of the remote processor, which will be one of:
182aefbef0SMatt Redfearn
192aefbef0SMatt Redfearn		"offline"
202aefbef0SMatt Redfearn		"suspended"
212aefbef0SMatt Redfearn		"running"
222aefbef0SMatt Redfearn		"crashed"
232aefbef0SMatt Redfearn		"invalid"
242aefbef0SMatt Redfearn
252aefbef0SMatt Redfearn		"offline" means the remote processor is powered off.
262aefbef0SMatt Redfearn
272aefbef0SMatt Redfearn		"suspended" means that the remote processor is suspended and
282aefbef0SMatt Redfearn		must be woken to receive messages.
292aefbef0SMatt Redfearn
302aefbef0SMatt Redfearn		"running" is the normal state of an available remote processor
312aefbef0SMatt Redfearn
322aefbef0SMatt Redfearn		"crashed" indicates that a problem/crash has been detected on
332aefbef0SMatt Redfearn		the remote processor.
342aefbef0SMatt Redfearn
352aefbef0SMatt Redfearn		"invalid" is returned if the remote processor is in an
362aefbef0SMatt Redfearn		unknown state.
372aefbef0SMatt Redfearn
382aefbef0SMatt Redfearn		Writing this file controls the state of the remote processor.
392aefbef0SMatt Redfearn		The following states can be written:
402aefbef0SMatt Redfearn
412aefbef0SMatt Redfearn		"start"
422aefbef0SMatt Redfearn		"stop"
432aefbef0SMatt Redfearn
442aefbef0SMatt Redfearn		Writing "start" will attempt to start the processor running the
452aefbef0SMatt Redfearn		firmware indicated by, or written to,
462aefbef0SMatt Redfearn		/sys/class/remoteproc/.../firmware. The remote processor should
472aefbef0SMatt Redfearn		transition to "running" state.
482aefbef0SMatt Redfearn
492aefbef0SMatt Redfearn		Writing "stop" will attempt to halt the remote processor and
502aefbef0SMatt Redfearn		return it to the "offline" state.
516ed756aaSSuman Anna
526ed756aaSSuman AnnaWhat:		/sys/class/remoteproc/.../name
536ed756aaSSuman AnnaDate:		August 2019
546ed756aaSSuman AnnaKernelVersion:	5.4
556ed756aaSSuman AnnaContact:	Suman Anna <s-anna@ti.com>
566ed756aaSSuman AnnaDescription:	Remote processor name
576ed756aaSSuman Anna
586ed756aaSSuman Anna		Reports the name of the remote processor. This can be used by
596ed756aaSSuman Anna		userspace in exactly identifying a remote processor and ease
606ed756aaSSuman Anna		up the usage in modifying the 'firmware' or 'state' files.
61f75c6043SRishabh Bhatnagar
62f75c6043SRishabh BhatnagarWhat:		/sys/class/remoteproc/.../coredump
63f75c6043SRishabh BhatnagarDate:		July 2020
64f75c6043SRishabh BhatnagarContact:	Bjorn Andersson <bjorn.andersson@linaro.org>, Ohad Ben-Cohen <ohad@wizery.com>
65f75c6043SRishabh BhatnagarDescription:	Remote processor coredump configuration
66f75c6043SRishabh Bhatnagar
67f75c6043SRishabh Bhatnagar		Reports the coredump configuration of the remote processor,
68f75c6043SRishabh Bhatnagar		which will be one of:
69f75c6043SRishabh Bhatnagar
70f75c6043SRishabh Bhatnagar		"disabled"
71f75c6043SRishabh Bhatnagar		"enabled"
72f75c6043SRishabh Bhatnagar		"inline"
73f75c6043SRishabh Bhatnagar
74f75c6043SRishabh Bhatnagar		"disabled" means no dump will be collected.
75f75c6043SRishabh Bhatnagar
76f75c6043SRishabh Bhatnagar		"enabled" means when the remote processor's coredump is
77f75c6043SRishabh Bhatnagar		collected it will be copied to a separate buffer and that
78f75c6043SRishabh Bhatnagar		buffer is exposed to userspace.
79f75c6043SRishabh Bhatnagar
80f75c6043SRishabh Bhatnagar		"inline" means when the remote processor's coredump is
81f75c6043SRishabh Bhatnagar		collected userspace will directly read from the remote
82f75c6043SRishabh Bhatnagar		processor's device memory. Extra buffer will not be used to
83f75c6043SRishabh Bhatnagar		copy the dump. Also recovery process will not proceed until
84f75c6043SRishabh Bhatnagar		all data is read by usersapce.
85526b9e0cSRishabh Bhatnagar
86526b9e0cSRishabh BhatnagarWhat:		/sys/class/remoteproc/.../recovery
87526b9e0cSRishabh BhatnagarDate:		July 2020
88526b9e0cSRishabh BhatnagarContact:	Bjorn Andersson <bjorn.andersson@linaro.org>, Ohad Ben-Cohen <ohad@wizery.com>
89526b9e0cSRishabh BhatnagarDescription:	Remote processor recovery mechanism
90526b9e0cSRishabh Bhatnagar
91526b9e0cSRishabh Bhatnagar		Reports the recovery mechanism of the remote processor,
92526b9e0cSRishabh Bhatnagar		which will be one of:
93526b9e0cSRishabh Bhatnagar
94526b9e0cSRishabh Bhatnagar		"enabled"
95526b9e0cSRishabh Bhatnagar		"disabled"
96526b9e0cSRishabh Bhatnagar
97526b9e0cSRishabh Bhatnagar		"enabled" means, the remote processor will be automatically
98526b9e0cSRishabh Bhatnagar		recovered whenever it crashes. Moreover, if the remote
99526b9e0cSRishabh Bhatnagar		processor crashes while recovery is disabled, it will
100526b9e0cSRishabh Bhatnagar		be automatically recovered too as soon as recovery is enabled.
101526b9e0cSRishabh Bhatnagar
102526b9e0cSRishabh Bhatnagar		"disabled" means, a remote processor will remain in a crashed
103526b9e0cSRishabh Bhatnagar		state if it crashes. This is useful for debugging purposes;
104526b9e0cSRishabh Bhatnagar		without it, debugging a crash is substantially harder.
105