This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SPI on OMAP-L138 LCDK Expansion header schematic

Other Parts Discussed in Thread: OMAP-L138

Hi,

I wish to use SPI on the OMAP-L138 to communicate with an external board (a CAN controller).

Looking at the schematic for the board, J15 has the following connections:


SPI1_SCSn_7, SPI1_SCSn_6, SPI1_SCSn_1, SPI1_SCSn_0

and

SPIO_SIMO, SPIO_SOMI, SPIO_CLK, SPIO_ENAx

Firstly, there are no SPIO pins on the processor, only SPI0 and SPI1 - is this a typo, should this read SPI0?


Secondly, am I correct in thinking that SCSn pins are the chip select pins? If so, is the label correct when it says they are for SPI1? It does not make sense to bring the chip select pins for SPI1 out to this header, if the 'main' SPI pins are for SPI0.


I'm hoping there is a typo somewhere, because it would be very unfair to not bring out the chip select pins for the same SPI peripheral on the header!

Many thanks,

Chris

  • Chris,

    1. Yes, the SPIO_SIMO, SPIO_SOMI, SPIO_CLK, SPIO_ENAx signals are belongs to SPI0. It seems like a typo only.

    2. Yes, the SCSn pins are chip select signals. The SPI1 chip select signals are multiplexed and the intention was to bring out the other functionality on the same pins. The UART0_TX and UART0_RX are multiplexed with SPI0_SCSn_4 and SPI0_SCSn_5. When you are using SPI0, you can use either of these two chip select pins.

    Regards,
    Senthil
  • Thanks for your response.


    That clears things up on the chip select side. I'm starting to connect things up now, but I'm not getting the SPI signals from the expansion header.


    I found this thread which alludes to hardware modifications needed, but the thread ends unanswered. I've looked at the schematic again, and SPIO... are the connections after the resistors, R214 to R219 (sheet 11 of the schematics) - so not a typo after all! :)


    My questions now are, these resistors are marked as 0 ohm, so will a solder jumper suffice?

    Do I need to REMOVE any resistors on the Ethernet side (the phrasing "keep...from" isn't clear in the linked thread)

    Do I need to pull the EN pin low?

    Will this prevent me from using the Ethernet port simultaneously?

    Many thanks,

    Chris

  • Chris,

    To get the SPI0 interface on the connector, you may need to populate R214 to R219 with 0 ohm resistor or solder jumper also should be enough.

    The SPI0 and Ethernet interface are multiplexed in the design, so it would be better remove the resistors (100 ohms) on the PHY signals which are multiplexed with SPI0.

    I think the SPI0_ENAn will be driven by the SPI controller and there is no need to pull it down externally.

    Yes, you cannot use both SPI0 and Ethernet interface simultaneously.

    Regards,
    Senthil
  • Thanks Senthil,

    That's an issue for me, because developing for Linux on the ARM side as well as BIOS on the DSP. The ethernet port is necessary during development as I'm booting from NFS. When we go to production on a custom board, though, ethernet won't be used.

    Do I have any other options for SPI, other than bit-banging GPIOs (which isn't a huge problem, I've done this a few times)? I can't see anywhere I can easily connect to SPI1, unless you know different?

    Many thanks,


    Chris

  • Chris,

    In that case, you should use the SPI1 interface which is fanned out to the connector J16 (camera connector). You have to tap the signals from the connector pins and use it for your application.

    Regards,
    Senthil