SPI interface using the IO-Port #2

This page introduces how you can SPI interface using IO-Port on ODROID-U3.
Note that SPI port supports only master mode and 1.8 Volt interface like other IO ports on Exynos processor.

J5 - 2×2 pins(IO Port #2)
This socket is not provides at revision 0.3

Pin Number Expansion Net Name Export Number Pin Number Expansion Net Name Export Number
1XSPICLK_1 (GPB.4) #21 2XSPICSN_1 (GPB.5) #22
3XSPIMOSI_1 (GPB.7) #24 4XSPIMISO_1 (GPB.6) #23

If your ODROID-U3 have old version kernel you need to update using odroid-utility.

sudo odroid-utility.sh

How to load the SPI driver module for generic SPI usage
Load the module to activate the SPI host.

sudo modprobe spi-s3c64xx

Load the module to activate the generic SPI.

sudo modprobe spidev

And you will have a standard SPI node.

ls /dev/spidev1.0

How to load the SPI driver module for serial Flash
Load the module to activate the SPI host.

sudo modprobe spi-s3c64xx

Load the serial flash (misc) driver.

sudo modprobe odroid-ioboard

And you will have a Serial Flash node.

ls /dev/ioboard-spi-misc

Where are the SPI device drivers in Kernel 3.8.y?
SPI host interface driver
SPI generic driver
Serial SPI Flash add-on driver example

We have tested the ioboard-spi-misc.ko with a Serial SPI Flash memory SST25WF020A on the new IO Shield and the maximum speed was 40Mhz of SPI clock.

How to change SPI clock
SPI Clock configuration

Refer this link to know the generic SPIDEV driver usage in detail.
https://www.kernel.org/doc/Documentation/spi/spidev