AMD Proposes an eSPI Subsystem for the Linux Kernel
Translated by a model; the original is in Russian.
AMD has posted a series of patches to the Linux kernel developers' mailing list proposing a new subsystem for the Enhanced Serial Peripheral Interface (eSPI) standard. The interface was originally developed by Intel as a communication protocol for talking to the BIOS, system controllers and other peripherals — TPM modules, for example. It was conceived as an alternative to the LPC interface, traditional SPI and other ways of carrying service signals.
Now AMD has begun using eSPI as well, which is what prompted the initiative. The company's engineer Krishnamoorthy M. asked the community in advance whether it would be better to extend the existing SPI subsystem code or to introduce eSPI as a separate bus type. In the end the second path was chosen: the patches create a standalone subsystem, and its first consumer is a new eSPI driver for AMD hardware.
What already works
The code has been tested and verified on the AMDI0070 platform, where it works. That said, the current version has known limitations. There is no Device Tree support yet: AMD's code relies exclusively on ACPI. Enumeration of subordinate devices is done manually, and some operations are slated to be added in later patches.
So this is an initial groundwork rather than a finished solution. Such an approach is typical for the Linux kernel: the basic infrastructure is proposed at an early stage so that architectural decisions can be discussed with the community, and the missing functionality is filled in iteratively. The situation itself is curious, too — AMD taking on the task of building kernel support for a standard devised by its main competitor — but for industry interfaces this is business as usual.
Anyone wishing to look into AMD's work on eSPI can find the patch series in the Linux kernel developers' mailing list.
Source: Phoronix
Comments
Sign in, to comment.