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