mbox series

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

Message ID 20250313183440.261872-1-Raju.Rangoju@amd.com
Headers show
Series spi: Add driver to support AMD eSPI controller | expand

Message

Raju Rangoju March 13, 2025, 6:34 p.m. UTC
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