OSDN Git Service

i3c: Add sysfs ABI spec
authorBoris Brezillon <boris.brezillon@bootlin.com>
Thu, 14 Dec 2017 09:43:47 +0000 (10:43 +0100)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Mon, 12 Nov 2018 09:33:50 +0000 (10:33 +0100)
Document sysfs files/directories/symlinks exposed by the I3C subsystem.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/sysfs-bus-i3c [new file with mode: 0644]

diff --git a/Documentation/ABI/testing/sysfs-bus-i3c b/Documentation/ABI/testing/sysfs-bus-i3c
new file mode 100644 (file)
index 0000000..2f332ec
--- /dev/null
@@ -0,0 +1,146 @@
+What:          /sys/bus/i3c/devices/i3c-<bus-id>
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               An I3C bus. This directory will contain one sub-directory per
+               I3C device present on the bus.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/current_master
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               Expose the master that owns the bus (<bus-id>-<master-pid>) at
+               the time this file is read. Note that bus ownership can change
+               overtime, so there's no guarantee that when the read() call
+               returns, the value returned is still valid.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/mode
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               I3C bus mode. Can be "pure", "mixed-fast" or "mixed-slow". See
+               the I3C specification for a detailed description of what each
+               of these modes implies.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/i3c_scl_frequency
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               The frequency (expressed in Hz) of the SCL signal when
+               operating in I3C SDR mode.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/i2c_scl_frequency
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               The frequency (expressed in Hz) of the SCL signal when
+               operating in I2C mode.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/dynamic_address
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               Dynamic address assigned to the master controller. This
+               address may change if the bus is re-initialized.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/bcr
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               BCR stands for Bus Characteristics Register and express the
+               device capabilities in term of speed, maximum read/write
+               length, etc. See the I3C specification for more details.
+               This entry describes the BCR of the master controller driving
+               the bus.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/dcr
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               DCR stands for Device Characteristics Register and express the
+               device capabilities in term of exposed features. See the I3C
+               specification for more details.
+               This entry describes the DCR of the master controller driving
+               the bus.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/pid
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               PID stands for Provisional ID and is used to uniquely identify
+               a device on a bus. This PID contains information about the
+               vendor, the part and an instance ID so that several devices of
+               the same type can be connected on the same bus.
+               See the I3C specification for more details.
+               This entry describes the PID of the master controller driving
+               the bus.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/hdrcap
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               Expose the HDR (High Data Rate) capabilities of a device.
+               Returns a list of supported HDR mode, each element is separated
+               by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl".
+               See the I3C specification for more details about these HDR
+               modes.
+               This entry describes the HDRCAP of the master controller
+               driving the bus.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               An I3C device present on I3C bus identified by <bus-id>. Note
+               that all devices are represented including the master driving
+               the bus.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dynamic_address
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               Dynamic address assigned to device <bus-id>-<device-pid>. This
+               address may change if the bus is re-initialized.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/bcr
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               BCR stands for Bus Characteristics Register and express the
+               device capabilities in term of speed, maximum read/write
+               length, etc. See the I3C specification for more details.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dcr
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               DCR stands for Device Characteristics Register and express the
+               device capabilities in term of exposed features. See the I3C
+               specification for more details.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/pid
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               PID stands for Provisional ID and is used to uniquely identify
+               a device on a bus. This PID contains information about the
+               vendor, the part and an instance ID so that several devices of
+               the same type can be connected on the same bus.
+               See the I3C specification for more details.
+
+What:          /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/hdrcap
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               Expose the HDR (High Data Rate) capabilities of a device.
+               Returns a list of supported HDR mode, each element is separated
+               by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl".
+               See the I3C specification for more details about these HDR
+               modes.
+
+What:          /sys/bus/i3c/devices/<bus-id>-<device-pid>
+KernelVersion:  5.0
+Contact:       linux-i3c@vger.kernel.org
+Description:
+               These directories are just symbolic links to
+               /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>.