The I3C subsystem updates were submitted for the Linux 6.13 kernel on Monday and include support for another I3C HCI controller used on AMD systems.
The MIPI I3C updates for the Linux 6.13 kernel are mostly on the smaller side with just some core fixes but adding support for the AMD I3C controller via ACPI within the DesignWare driver.
AMD support is added onto the Synopsys DesignWare I3C master driver that is used by several different hardware vendors. The dw-i3c-master driver adds the “AMDI0015” ACPI device ID so it can be properly loaded on AMD platforms via ACPI. Beyond that ID and one qurik, it’s following all of the common DesignWare I3C driver code paths. As for the one AMD I3C quirk:
“The AMD Legacy I3C is having a problem with its IP, specifically with the push-pull and open-drain pull-up registers. These registers need to be manually programmed for every CCC submission to align with the duty cycle. Therefore, add a quirk to address this issue.”
This AMD I3C DesignWare driver support will ultimately help out modern AMD EPYC servers.
The patch series for these dw-i3c-master additions from AMD explains:
“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.”
That AMD addition is the main highlight of the I3C changes for 6.13.