SPI Access Options¶
The MityDSP-L138 family of System on Modules can allow access to both of the SPI buses integrated into the OMAP-L138 processor. Please reference the OMAP-L138 CPU datasheet for further details about the SPI peripherals and pin-mux options (http://www.ti.com/lit/ds/symlink/omap-l138.pdf).
For FPGA enabled MityDSP-L138F modules Critical Link provides a SPI Slave FPGA core as well as the accompanying Linux Kernel driver. This allows further SPI buses to be added to an FPGA enabled module independently from the OMAP-L138 direct ones.
On-Module OMAP-L138 SPI Bus Usage¶
By default all modules must use SPI1 - CS0 for the 8MB (Now 16 MB) of on-module SPI NOR memory (https://support.criticallink.com/redmine/projects/arm9-platforms/wiki/MityDSP-L138_Architecture). This memory is typically used to store the following files; boot loader (UBL), UBoot, OS Kernel and in the case of FPGA enabled modules the FPGA image may be stored as well.
SPI1 Signals¶
Signal Name | Module Pin | CPU Ball # | Note(s) |
SPI1_MISO | 43 | H17 | |
SPI1_MOSI | 45 | G17 | |
SPI1_ENA / GP212 | 47 | H16 | Not used for SPI-NOR |
SPI1_CLK | 49 | D19 | |
SPI1_SCS1 | 51 | E16 | Available for user SPI device |
SPI1_SCS0 | 53 | D17 | Allocated for SPI-NOR |
If further chip selects are desired SPI1_SCS4 & SPI1_SCS5 are available at pins 59 and 61 as long as the other mux modes of those pins is not required. However it is possible to use ANY OMAP-L138 direct GPIO for a SPI chip select. Proper care must be taken to enter them properly in the baseboard configuration file for the kernel and/or UBoot. The Industrial IO board kernel uses the GPIO's for chip selects as an example. gitweb
SPI0 Signals¶
The SPI0 bus is unused by the module itself. However the SPI0 signals are all pin-muxed with MII interface signals to the OMAP-L138 CPU. The only way to access SPI0 is to drop support for MII and switch to an RMII based Ethernet phy implementation.
Here is the list of SPI0 clk and data pins:
Signal Name | Module Pin | CPU Ball # | Note(s) |
SPI0_CLK (MII_RXCLK) | 73 | D19 | |
SPIO_ENA (MII_RXDV) | 75 | C17 | |
SPI0_SIMO (MII_CRS) | 87 | C18 | |
SPI0_SOMI (MII_RXER) | 89 | C16 |
For chip selects you can either us general OMAP GPIO pins or you can use the "dedicated" chip select pins, again muxed with the MII peripheral:
Signal Name | Module Pin | CPU Ball # | Note(s) |
SPI0_SCS2 (MII_RXD0) | 77 | D16 | |
SPI0_SCS3 (MII_RXD1) | 79 | E17 | |
SPI0_SCS4(MII_RXD2) | 81 | D18 | |
SPI0_SCS5 (MII_RXD3) | 83 | C19 |
Note that SPI0_SCS0 and SPI0_SCS1 are also the MDIO DAT and MDIO CLK signals which if using Ethernet you would want to leave as their MDIO modes.
Go to top