The AMD EPYC platform design has DIMMs connected over the I3C bus, with
each DIMM containing three components: SPD, PMIC, and RCD.
To access component-specific information within the DIMMs, such as initial
dynamic address, static address, and provisional ID, ACPI support is
necessary for the I3C core. This requires adding ACPI binding to the
dw-i3c-master driver and retrieving slave information from the AMD ASL.
Currently, the code is closely tied to dt-bindings. This initial set aims
to decouple some of these bindings by adding the AMD-specific _HID,
enabling the current driver to support ACPI-enabled x86 systems.
In this series, support for following features has been added.
- X86/ACPI support to i3c core
- Support for SETAASA CCC command
- Add routines to plugin a SPD device to the i3c bus
- Workaround for AMD hardware
- Add dw-i3c-master driver with ACPI bindings
v3:
----
- Address feedback from Jarkko
- Drop using SHARED_IRQ flags during interrupt registration
- Update commit message to mention about SETAASA
- Use bits [6:0] as the static address
v2:
----
- Address LKP reports issues
Shyam Sundar S K (5):
i3c: dw: Add support for AMDI0015 ACPI ID
i3c: master: Add ACPI support to i3c subsystem
i3c: master: Add a routine to include the I3C SPD device
i3c: master: Add support for SETAASA CCC
i3c: dw: Add quirk to address OD/PP timing issue on AMD platform
drivers/i3c/internals.h | 3 +
drivers/i3c/master.c | 157 ++++++++++++++++++++++++++++-
drivers/i3c/master/dw-i3c-master.c | 42 ++++++++
drivers/i3c/master/dw-i3c-master.h | 1 +
include/linux/i3c/ccc.h | 1 +
include/linux/i3c/master.h | 2 +
6 files changed, 205 insertions(+), 1 deletion(-)
--
2.34.1