/* 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 */ #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 */