[PATCH 0/6] Introduce initial support for the AMD I3C (non-HCI) to DW driver

Shyam Sundar S K posted 6 patches 1 month, 1 week ago
There is a newer version of this series
drivers/i3c/internals.h            |   2 +
drivers/i3c/master.c               | 151 +++++++++++++++++++++++++++++
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, 198 insertions(+), 1 deletion(-)
[PATCH 0/6] Introduce initial support for the AMD I3C (non-HCI) to DW driver
Posted by Shyam Sundar S K 1 month, 1 week ago
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

Shyam Sundar S K (6):
  i3c: dw: Add support for AMDI0015 ACPI ID
  i3c: dw: Use IRQF_SHARED flag for dw-i3c-master
  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            |   2 +
 drivers/i3c/master.c               | 151 +++++++++++++++++++++++++++++
 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, 198 insertions(+), 1 deletion(-)

-- 
2.34.1