为了给各类底层外设提供更高效、更统一的支持,AMD 近日向 Linux 内核邮件列表提交了一组重磅补丁,计划为 eSPI(增强型串行外设接口)标准建立一个全新的 Linux 内核子系统。
作为一项关键的底层接口技术,eSPI 最早由英特尔开发,旨在替代古老的传统 LPC 总线,主要用于连接主板上的 BIOS 芯片、系统控制器(EC)以及受信任的平台模块(TPM)等核心外设。
虽然 AMD 此前已经在部分硬件产品中引入并采用了 eSPI 技术,但在 Linux 内核层面,却一直缺乏一个统一、通用的 eSPI 子系统框架。这种缺失不仅增加了驱动开发的复杂度,也限制了不同硬件平台间功能的通用性。AMD 此次提交的这组补丁,正是为了从根源上彻底解决这一长期存在的痛点。
在具体的架构设计思路上,AMD 工程师 Krishnamoorthi M 曾深入向内核社区征询意见,反复权衡了“基于现有 SPI 子系统进行扩展”与“直接构建全新总线类型”两种方案的优劣。最终,AMD 决定采取更为彻底的方案——打造一套全新的独立总线框架。
在此次提交的新方案中,AMD 率先提供了一个专用的 eSPI 控制器驱动,相关代码已经在 AMDI0070 平台上顺利完成了测试与验证。该驱动的代码虽然与此前在 SPI 子系统中提交的变体有所关联,但本次提交标志着它将正式融入一个更为独立、规范的整体框架之中。
当然,作为一套全新的子系统,当前的版本仍存在一些阶段性的已知限制。例如,由于 AMD 的首版代码目前仅使用了 ACPI,因此暂时还不支持设备树(Device Tree);此外,从设备的枚举过程目前仍需要通过手动方式来完成。不过 AMD 官方表示,这些缺失的功能将在后续的迭代补丁中逐步补齐和完善。
随着这套全新的 eSPI 子系统不断走向成熟,它不仅能为 AMD 自家的新旧硬件提供更好的支持,未来更有望成为整个 Linux 生态中所有 eSPI 硬件统一、可扩展的标准支撑框架。