Kernel driver kb9002¶
Supported chips:
Kandou KB9002
Prefix: ‘kb9002’
Addresses scanned: -
Datasheet: KA-015171-PD (available from Kandou under NDA)
Author: Andy Chung <andy.chung@amd.com>
Description¶
The Kandou KB9002 is an 8-lane PCIe 5.0 retimer with an integrated microcontroller. It exposes an SMBus 3.0 target (with mandatory PEC) on its sideband interface. The internal firmware aggregates per-lane die temperatures and publishes the maximum value through a 16-bit addressed register window.
This driver reports that aggregated maximum as the only hwmon temperature channel. The running firmware version and the firmware boot status are exposed under debugfs.
sysfs interface¶
temp1_input |
Aggregated maximum die temperature across all active lanes (millidegrees Celsius). |
debugfs interface¶
Files live in the per-client debugfs directory created by the I2C
core: /sys/kernel/debug/i2c/i2c-<bus>/<bus>-<addr>/.
fw_ver |
Running firmware version in “major.minor.patch.suffix” format. Read-only. |
fw_load_status |
Firmware boot status: “normal” once firmware has finished initialising, “abnormal” otherwise. Read-only. |
Notes¶
The driver requires I2C_FUNC_SMBUS_BLOCK_DATA,
I2C_FUNC_SMBUS_PEC and I2C_FUNC_I2C from the host adapter. The
last is needed only during probe for the host-interface mode switch;
runtime accesses use SMBus block transactions exclusively.
The retimer’s SMBus address is configurable on three strap pins and ranges from 0x20 to 0x27. The address is selected through device tree (or i2c board info) the same way as any other I2C device; the driver does not auto-detect.