Digilent/vivado-boards

new: arty: Find better solution for GPIO/SPI conflict

sbobrowicz opened this issue · 1 comments

Currently the GPIO interface for the shield connector connects the pin one would expect to be connected to IO10 to the SS pin on the SPI connector. This is because the SPI interface is now using IO10 for the SS signal in order to be compatible with the Multi touch display shield (and other digilent shields). Switching the 11th pin in the GPIO interface to connect to the SS pin (where the SPI interface SS pin used to be connected) allows both the shield GPIO and shield SPI interfaces to be used in the same design. The main motivation to move forward with this quick fix (commit f8b2758) was to fix the Arty BSD project.

This is not an ideal solution because someone not using the SPI interface but that is using the GPIO interface probably expects the 11th GPIO bit to control IO10, not the SS pin of the SPI connector. I propose we should identify a better solution that fixes this.

Hi, I appreciate your work. It has been very useful for my projects. For this particular Issue, I suggest adding a note on the Readme.md with a link to this issue for those who are going to use the Arty board. Yesterday I realize about the pins were swapped after 5 ours of debugging. Although it was useful to understand more about SPI drivers :). Thanks for your time and your work.