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