| 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 Provisioned 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>/hotjoin | |
| KernelVersion: 6.8 | |
| Contact: linux-i3c@vger.kernel.org | |
| Description: | |
| I3C’s Hot-Join mechanism allows an I3C Device to inform the | |
| Active Controller that a newly-joined Target is present on the | |
| I3C Bus and is ready to receive a Dynamic Address, in order to | |
| become fully functional on the Bus. Hot-Join is used when the | |
| Target is mounted on the same I3C bus and remains depowered | |
| until needed or until the Target is physically inserted into the | |
| I3C bus | |
| This entry allows to enable or disable Hot-join of the Current | |
| 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 Provisioned 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>. | |
| What: /sys/bus/i3c/devices/i3c-<bus-id>/<bus-id>-<device-pid>/dev_nack_retry_count | |
| KernelVersion: 6.18 | |
| Contact: linux-i3c@vger.kernel.org | |
| Description: | |
| Expose the dev_nak_retry_count which controls the number of | |
| automatic retries that will be performed by the controller when | |
| the target device returns a NACK response. A value of 0 disables | |
| the automatic retries. Exist only when I3C constroller supports | |
| this retry on nack feature. | |
| What: /sys/bus/i3c/devices/i3c-<bus-id>/do_daa | |
| KernelVersion: 7.0 | |
| Contact: linux-i3c@vger.kernel.org | |
| Description: | |
| Write-only attribute that triggers a Dynamic Address Assignment | |
| (DAA) procedure which discovers new I3C devices on the bus. | |
| Writing a boolean true value (1, y, yes, true, on) to this | |
| attribute causes the master controller to perform DAA, which | |
| includes broadcasting an ENTDAA (Enter Dynamic Address Assignment) | |
| Common Command Code (CCC) on the bus. Writing a false value | |
| returns -EINVAL. | |
| This is useful for discovering I3C devices that were not present | |
| during initial bus initialization and are unable to issue | |
| Hot-Join. Only devices without a currently assigned dynamic address | |
| will respond to the ENTDAA broadcast and be assigned addresses. | |
| Note that this mechanism is distinct from Hot-Join, since this is | |
| controller-initiated discovery, while Hot-Join is device-initiated | |
| method to provoke controller discovery procedure. |