1 Reply Latest reply on Mar 10, 2014 9:51 AM by dferyance

    SPI Port Slave Selects


      On Galileo the two SPI ports from the Quark support native slave select signals SPI0_SS_B and SPI1_SS_B. I want to find out why the Galileo design chose to use the Quark GPIO<0> for SPI 0 Slave Select and Quark GPIO<2> for SPI 2 Slave select.


      Are the native port selects SPI0_SS_B and SPI1_SS_B from the Quark broken or non-functional?


      Is there a technical reason related to Arduino compatibility as to why the GPIOs were used?


      Any other information about this would be greatly appreciated.


      Michael Karas

        • 1. Re: SPI Port Slave Selects

          While I don't know why, I have been doing a lot of digging through the Linux kernel support for the Quark lately. The SPI driver uses GPIO functions for the SS pins so it is done through software rather than a hardware controller. The advantage of doing it in the driver instead of Arduino programs is that it should be faster due to fewer kernel calls. The kernel also uses the native CPU GPIO instead of the IO extender. So it seems to me that taking advantage of the driver would make more sense. I too am surprised by the choice.

          1 of 1 people found this helpful