Hi Rick, > -----Original Message----- > From: users <users-boun...@rtems.org> On Behalf Of Rick VanderWal > Sent: Tuesday, February 9, 2021 9:21 PM > To: users@rtems.org > Subject: SPI Driver Implementation > > Hey All, > > I am looking for guidance in regards to the implementation of a SPI bus driver > for my Zynq-700 based board. I saw I2C bus driver implementations for > Cadence and Xilinx-AXI, but did not see any SPI drivers. Please point me in > the right direction if I missed something. > You are right, there is currently no implementation for the cadence-SPI on the PS nor for the Xilinx-AXI-SPI for the PL. I have a driver for the cadence-SPI implemented, but lab access is currently quite limited and I haven't had the chance to test it with hardware. So my best guess is that it won't work without some debugging. If you want to try your luck and test/debug it, I can send you my current state.
A driver for the Xilinx-AXI-SPI is on my list, but I haven't started any implementation yet. > > Assuming they need to be developed, I looked at the RTEMS 6 BSP and > Driver Guide that specifies the use of the "SPI bus framework". However, I > have looked at some of the Arm BSPs included with RTEMS and they all seem > to use the libi2c library that is part of the cpukit. It claims to support > both I2C > and SPI. > I think the preferred way is to use the libi2c API for i2c devices only and use the Linux spidev API for SPI devices. In the docs are a few drivers which already implement the spidev API (https://docs.rtems.org/branches/master/bsp-howto/spi.html). For the cadence-SPI driver I used the general layout of the NXP i.MX SPI driver linked there and implemented it according to the data sheet from Xilinx. Best regards, Jan > > Therefore, what is the correct or preferred way to develop a new driver > should I need to create it. I'll gladly provide the implementation back to the > project. > > > As always, thank you for you time and help. > > > Regards, > > -Rick > > _______________________________________________ > users mailing list > users@rtems.org > http://lists.rtems.org/mailman/listinfo/users _______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users