Extra SPI on RB3


I am looking for a way to obtain an extra SPI on the RB3 platform. From my understanding and tries, only QUP0 and QUP2 are configured for SPI.
What will be the step to change QUP7 to SPI? regenerating a qup3fw? If yes how?

Also side question, as I need desperately a second SPI, I removed the level shifter of the CAN bus in the intent to use SPI0. But so far no success, I do not succeed in optioning a CLK.
I haven’t see the DTS for the SPI0/CAN used is there a sample code to look at?

Do you have any recommendation is this QUP0 special?


The 96boards hardware platform only guarantees ONE SPI port, accessible on the low speed header. The implementation of the particular board provides a second OPTIONAL port on the high speed header, which in the case of DB845c, is NOT PRESENT (its an SD interface instead).

You have a number of options here;

  1. Pick a different board that has a second SPI in a supported location, like db820c.
  2. Find an alternative to one of your SPI peripherals that uses a different interface, such as UART, I2C, or USB.
  3. Use a USB-to-SPI bridge or microcontroller connected to the USB pins in the high speed header to interface with your SPI peripheral.

Anything else would be inconsistent with the 96boards specifications and would lock your product to that specific board, which is not advisable.

Thanks for your response.

I do know that it is not really part of your goal, but I am looking for experts’ advices, guidance. You are familiar and expert with this platform, I am not.

The board has a second SPI configured, which is the SPI to CAN. Which is why I follow this path.

I would love to pick an extra board, but we have already 40+ boards in the field around the world.
Also, we are on AOSP side, which is not helping to change platform. Moving out of SPI is not an option for us as we are using HW/SW not own by us.


This sounds to me like you are changing the specifications after the product is already in customers’ hands? You ought to use an external interface then. One of the external USB sockets to interface with whatever the newly added hardware is – like I’ve already suggested, a usb-spi bridge, or a microcontroller, except instead of attaching to the HS port, using an external socket.

And to be clear about my relationship with 96boards… I’m an external hardware/software developer/hobbyist and am in no way affiliated with 96boards, linaro, or any vendor selling hardware compliant with the 96boards specifications except for myself.

Thanks again for such a valuable answer, it really helps me and the community.