Dear Linux Kernel Community, I hope this email finds you well. I am writing to seek your guidance and assistance regarding the development of a new SPI device driver for our hardware system. Our hardware, implemented on an FPGA, features an SPI interface that acts as a Master, offering two distinct modes for data transmission and reception. This hardware is connected to the Linux system via the PCIe bus. This hardware offers two modes for communication: using registers for debugging purposes and utilizing DMA channels for high-bandwidth applications. Both modes leverage the PCIe interface for data exchange. The hardware boasts several noteworthy features, including support for multiple speed settings, SPI port switching, configurable sample edge programming, and adjustable SPI transfer sizes. As we embark on the task of developing a device driver for this SPI interface, we intend to follow best practices and leverage existing resources within the Mainline Linux kernel tree. To achieve this, we plan to refer to and adapt existing SPI drivers. We kindly request your recommendations on which existing SPI driver within the Mainline Linux kernel tree would serve as the most suitable reference for our endeavor. Your invaluable expertise would greatly aid us in ensuring the success of this driver development process. Thank you for your time and consideration. We eagerly anticipate your guidance and insights. Warm regards, Sekhar