| /* SPDX-License-Identifier: GPL-2.0-or-later */ | |
| /* | |
| * AMD SPI controller driver common stuff | |
| * | |
| * Copyright (c) 2025, Advanced Micro Devices, Inc. | |
| * All Rights Reserved. | |
| * | |
| * Author: Krishnamoorthi M <krishnamoorthi.m@amd.com> | |
| */ | |
| #ifndef SPI_AMD_H | |
| #define SPI_AMD_H | |
| /** | |
| * enum amd_spi_versions - SPI controller versions | |
| * @AMD_SPI_V1: AMDI0061 hardware version | |
| * @AMD_SPI_V2: AMDI0062 hardware version | |
| * @AMD_HID2_SPI: AMDI0063 hardware version | |
| */ | |
| enum amd_spi_versions { | |
| AMD_SPI_V1 = 1, | |
| AMD_SPI_V2, | |
| AMD_HID2_SPI, | |
| }; | |
| /** | |
| * struct amd_spi - SPI driver instance | |
| * @io_remap_addr: Start address of the SPI controller registers | |
| * @phy_dma_buf: Physical address of DMA buffer | |
| * @dma_virt_addr: Virtual address of DMA buffer | |
| * @version: SPI controller hardware version | |
| * @speed_hz: Device frequency | |
| */ | |
| struct amd_spi { | |
| void __iomem *io_remap_addr; | |
| dma_addr_t phy_dma_buf; | |
| void *dma_virt_addr; | |
| enum amd_spi_versions version; | |
| unsigned int speed_hz; | |
| }; | |
| int amd_spi_probe_common(struct device *dev, struct spi_controller *host); | |
| #endif /* SPI_AMD_H */ |