[PATCH 00/10] spi: Add driver to support AMD eSPI controller

From: Raju Rangoju
Date: Thu Mar 13 2025 - 14:35:22 EST


The eSPI protocol serves as a communication interface between the main
processor and peripheral devices in computer systems. It offers several
advantages over the traditional LPC bus, including higher data transfer
rates, increased scalability and improved system management capabilities.
The eSPI protocol supports multiple channels, each serving a specific
purpose in the communication process.

AMD SOCs feature multiple SPI controllers, including a dedicated eSPI
controller. This controller is responsible for managing the communication
between the main processor and peripheral devices using the eSPI protocol.
It provides support for various channels, including Peripheral channel(PC),
Virtual Wire(VW), Out-Of-Band(OOB) message, and Flash access channels.

This patch series implements new AMD eSPI driver aims to comprehensive
support for the eSPI protocol, including initialization of eSPI controller
and slave devices. It also adds functionality for channel-independent eSPI
commands and support for I/O and MMIO read/write operations on PC
channels.

Raju Rangoju (10):
spi: espi_amd: Add AMD eSPI controller driver support
spi: espi_amd: Add eSPI set config IOCTL command
spi: espi_amd: Add eSPI get config IOCTL command
spi: espi_amd: Add eSPI inband-reset IOCTL command
spi: espi_amd: Add eSPI set IO mode IOCTL command
spi: espi_amd: Add eSPI set channel IOCTL command
spi: espi_amd: Add eSPI set frequency IOCTL command
spi: espi_amd: Add support for IO/MMIO configuration
spi: espi_amd: Add eSPI PC channel IO read/write IOCTL commands
spi: espi_amd: Add eSPI PC channel MMIO read/write IOCTL commands

MAINTAINERS | 6 +
drivers/spi/Kconfig | 10 +
drivers/spi/Makefile | 2 +
drivers/spi/espi-amd-core.c | 1215 ++++++++++++++++++++++++++++++++++
drivers/spi/espi-amd-dev.c | 584 ++++++++++++++++
drivers/spi/espi-amd-err.h | 50 ++
drivers/spi/espi-amd-slave.h | 109 +++
drivers/spi/espi-amd.h | 416 ++++++++++++
8 files changed, 2392 insertions(+)
create mode 100644 drivers/spi/espi-amd-core.c
create mode 100644 drivers/spi/espi-amd-dev.c
create mode 100644 drivers/spi/espi-amd-err.h
create mode 100644 drivers/spi/espi-amd-slave.h
create mode 100644 drivers/spi/espi-amd.h

--
2.34.1