^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) What: /sys/bus/rpmsg/devices/.../name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Date: June 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) KernelVersion: 3.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Contact: Ohad Ben-Cohen <ohad@wizery.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Every rpmsg device is a communication channel with a remote
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) processor. Channels are identified with a (textual) name,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) which is maximum 32 bytes long (defined as RPMSG_NAME_SIZE in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) rpmsg.h).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) This sysfs entry contains the name of this channel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) What: /sys/bus/rpmsg/devices/.../src
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) Date: June 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) KernelVersion: 3.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Contact: Ohad Ben-Cohen <ohad@wizery.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Every rpmsg device is a communication channel with a remote
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) processor. Channels have a local ("source") rpmsg address,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) and remote ("destination") rpmsg address. When an entity
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) starts listening on one end of a channel, it assigns it with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) a unique rpmsg address (a 32 bits integer). This way when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) inbound messages arrive to this address, the rpmsg core
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) dispatches them to the listening entity (a kernel driver).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) This sysfs entry contains the src (local) rpmsg address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) of this channel. If it contains 0xffffffff, then an address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) wasn't assigned (can happen if no driver exists for this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) channel).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) What: /sys/bus/rpmsg/devices/.../dst
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Date: June 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) KernelVersion: 3.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Contact: Ohad Ben-Cohen <ohad@wizery.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Every rpmsg device is a communication channel with a remote
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) processor. Channels have a local ("source") rpmsg address,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) and remote ("destination") rpmsg address. When an entity
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) starts listening on one end of a channel, it assigns it with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) a unique rpmsg address (a 32 bits integer). This way when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) inbound messages arrive to this address, the rpmsg core
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) dispatches them to the listening entity.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) This sysfs entry contains the dst (remote) rpmsg address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) of this channel. If it contains 0xffffffff, then an address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) wasn't assigned (can happen if the kernel driver that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) is attached to this channel is exposing a service to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) remote processor. This make it a local rpmsg server,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) and it is listening for inbound messages that may be sent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) from any remote rpmsg client; it is not bound to a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) remote entity).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) What: /sys/bus/rpmsg/devices/.../announce
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) Date: June 2011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) KernelVersion: 3.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Contact: Ohad Ben-Cohen <ohad@wizery.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Every rpmsg device is a communication channel with a remote
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) processor. Channels are identified by a textual name (see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) /sys/bus/rpmsg/devices/.../name above) and have a local
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) ("source") rpmsg address, and remote ("destination") rpmsg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) address.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) A channel is first created when an entity, whether local
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) or remote, starts listening on it for messages (and is thus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) called an rpmsg server).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) When that happens, a "name service" announcement is sent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) to the other processor, in order to let it know about the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) creation of the channel (this way remote clients know they
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) can start sending messages).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) This sysfs entry tells us whether the channel is a local
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) server channel that is announced (values are either
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) true or false).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) What: /sys/bus/rpmsg/devices/.../driver_override
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) Date: April 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) KernelVersion: 4.18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) Contact: Bjorn Andersson <bjorn.andersson@linaro.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Every rpmsg device is a communication channel with a remote
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) processor. Channels are identified by a textual name (see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) /sys/bus/rpmsg/devices/.../name above) and have a local
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) ("source") rpmsg address, and remote ("destination") rpmsg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) address.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) The listening entity (or client) which communicates with a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) remote processor is referred as rpmsg driver. The rpmsg device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) and rpmsg driver are matched based on rpmsg device name and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) rpmsg driver ID table.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) This sysfs entry allows the rpmsg driver for a rpmsg device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) to be specified which will override standard OF, ID table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) and name matching.