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