New AMD Linux Driver Patches Enable I3C HCI Support

Written by Michael Larabel in AMD on 24 July 2024 at 02:19 PM EDT. 1 Comment
AMD
One of the newest patch series out from AMD this week is on providing I3C HCI driver support for their MIPI I3C IP block found within their latest processors.

MIPI's I3C is the successor to I2C for a low-power, two-wire utility and control bus interface to connect the processor to different peripheral devices. The I3C and I3C HCI (Host Controller Interface) specifications retain backwards compatibility with legacy I2C. I3C has a range of uses from embedded/IoT up through server platforms and other devices. I3C support is found on AMD processors going back to Zen 4.

MIPI I3C diagram


The Linux support for I3C is provided by the "mipi-i3c-hci" driver for the host controller interface and after all it's designed to be re-used across hardware platforms and adaptable. The MIPI I3C HCI driver was mainlined back in 2020 but now for supporting the AMD I3C IP block some alterations are needed.

The MIPI I3C HCI driver to this point has catered to platforms using DeviceTree bindings while with AMD's new patches it extends the support to work on ACPI-enabled x86 systems. Besides allowing the ACPI matching via the MIPI0100 ACPI device ID, some changes to the driver were also warranted to address defects in the AMD I3C IP:
"The AMD SoC includes an I3C IP block as part of the Fusion Controller Hub (FCH). This series introduces the initial driver support to enable the I3C IP block on AMD's latest processors.

Currently, the code is closely tied to dt-bindings. This initial set aims to decouple some of these bindings by adding the MIPI ID, allowing the current driver to support ACPI-enabled x86 systems.

It was discovered that the AMD I3C controller has several hardware issues, including:

- Non-functional DMA mode (defaulting to PIO mode)
- Issues with Open-Drain (OD) and Push-Pull (PP) timing parameters
- Command response buffer threshold values

All of these issues have been addressed in this series."

So for those interested in I3C, this patch series gets the AMD I3C HCI support ironed out and is currently under review on the Linux kernel mailing list.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week