Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
en:u3_ioport_spi [2015/07/22 15:16] ck.kim |
en:u3_ioport_spi [2015/07/22 15:49] (current) ck.kim |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 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.**\\ | ||
+ | {{:en:u3:u3ioport_num.png?500|}} | ||
+ | |||
+ | **J5 - 2x2 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 ^ | ||
+ | |1|XSPICLK_1 (GPB.4) | #21 |2|XSPICSN_1 (GPB.5) | #22 | | ||
+ | |3|XSPIMOSI_1 (GPB.7) | #24 |4|XSPIMISO_1 (GPB.6)| #23 | | ||
+ | <WRAP left round tip 100%> | ||
+ | If your ODROID-U3 have old version kernel you need to update using odroid-utility. | ||
+ | sudo odroid-utility.sh | ||
+ | </WRAP> | ||
+ | |||
+ | **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?**\\ | ||
+ | {{https://github.com/hardkernel/linux/blob/odroid-3.8.y/drivers/spi/spi-s3c64xx.c|SPI host interface driver}}\\ | ||
+ | {{https://github.com/hardkernel/linux/blob/odroid-3.8.y/drivers/spi/spidev.c|SPI generic driver}}\\ | ||
+ | {{https://github.com/hardkernel/linux/blob/odroid-3.8.y/drivers/hardkernel/ioboard-spi-misc.c|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 **\\ | ||
+ | {{https://github.com/hardkernel/linux/blob/odroid-3.8.y/arch/arm/mach-exynos/mach-hkdk4412.c#L538|SPI Clock configuration}}\\ | ||
+ | {{http://dn.odroid.com/wiki_image/odroid-u3-spi-clock-40MHz.jpg?500|}} | ||
+ | |||
+ | Refer this link to know the generic SPIDEV driver usage in detail.\\ | ||
+ | [[https://www.kernel.org/doc/Documentation/spi/spidev]] |