xref: /linux/Documentation/hwmon/kb9002.rst (revision 7acf90feab8b009fde7def08ff2c622d0f10e99f)
1.. SPDX-License-Identifier: GPL-2.0-or-later
2
3Kernel driver kb9002
4====================
5
6Supported chips:
7
8  * Kandou KB9002
9
10    Prefix: 'kb9002'
11
12    Addresses scanned: -
13
14    Datasheet: KA-015171-PD (available from Kandou under NDA)
15
16Author: Andy Chung <andy.chung@amd.com>
17
18Description
19-----------
20
21The Kandou KB9002 is an 8-lane PCIe 5.0 retimer with an integrated
22microcontroller. It exposes an SMBus 3.0 target (with mandatory PEC)
23on its sideband interface. The internal firmware aggregates per-lane
24die temperatures and publishes the maximum value through a 16-bit
25addressed register window.
26
27This driver reports that aggregated maximum as the only hwmon
28temperature channel. The running firmware version and the firmware
29boot status are exposed under debugfs.
30
31sysfs interface
32---------------
33
34==================  ===============================================
35temp1_input         Aggregated maximum die temperature across all
36                    active lanes (millidegrees Celsius).
37==================  ===============================================
38
39debugfs interface
40-----------------
41
42Files live in the per-client debugfs directory created by the I2C
43core: ``/sys/kernel/debug/i2c/i2c-<bus>/<bus>-<addr>/``.
44
45==================  ===============================================
46fw_ver              Running firmware version in
47                    "major.minor.patch.suffix" format. Read-only.
48fw_load_status      Firmware boot status: "normal" once firmware has
49                    finished initialising, "abnormal" otherwise.
50                    Read-only.
51==================  ===============================================
52
53Notes
54-----
55
56The driver requires ``I2C_FUNC_SMBUS_BLOCK_DATA``,
57``I2C_FUNC_SMBUS_PEC`` and ``I2C_FUNC_I2C`` from the host adapter. The
58last is needed only during probe for the host-interface mode switch;
59runtime accesses use SMBus block transactions exclusively.
60
61The retimer's SMBus address is configurable on three strap pins and
62ranges from 0x20 to 0x27. The address is selected through device tree
63(or i2c board info) the same way as any other I2C device; the driver
64does not auto-detect.
65