Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:spi_dot_matrix [2016/01/25 10:15] john1117 [How to fix device tree blob with command line] |
en:spi_dot_matrix [2017/01/18 17:12] charles.park [Simple Dot-matrix LED test] |
||
---|---|---|---|
Line 5: | Line 5: | ||
- | <WRAP center round info 100%> | + | <WRAP center round important 100%> |
To use the SPI, you first need to update the kernel version to "3.10.82" or higher. | To use the SPI, you first need to update the kernel version to "3.10.82" or higher. | ||
sudo apt-get update && sudo apt-get dist-upgrade | sudo apt-get update && sudo apt-get dist-upgrade | ||
- | uname -r | ||
- | 3.10.82 | ||
</WRAP> | </WRAP> | ||
- | ==== How to fix device tree blob with command line ==== | + | === How to enable driver (Only Ubuntu 16.04 or higher is required) === |
- | Install device tree compiler package. | + | Edit /etc/modprobe.d/blacklist-odroid.conf to comment out following two ines. |
- | sudo apt-get install device-tree-compiler | + | |
- | + | ||
- | Edit dtb file. | + | |
<code> | <code> | ||
- | sudo -s | + | blacklist spidev |
- | fdtput -t x /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000 samsung,spi-src-clk 0 | + | blacklist spi_s3c64xx |
- | fdtput -t x /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000 num-cs 0 | + | |
- | fdtput -c /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000/spidev | + | |
- | fdtput -t s /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000/spidev compatible "spidev" | + | |
- | fdtput -t x /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000/spidev reg 0 | + | |
- | fdtput -t i /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000/spidev spi-max-frequency 20000000 | + | |
- | fdtput -c /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000/spidev/controller-data | + | |
- | fdtput -t x /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000/spidev/controller-data cs-gpio 0x46, 0x5, 0x0 | + | |
- | fdtput -t x /media/boot/exynos5422-odroidxu3.dtb /spi@12d30000/spidev/controller-data samsung,spi-feedback-delay 0 | + | |
</code> | </code> | ||
Line 34: | Line 21: | ||
Check your SPI node. | Check your SPI node. | ||
ls /dev/spidev* | ls /dev/spidev* | ||
- | | + | |
==== Compile & run SPI test example source code ==== | ==== Compile & run SPI test example source code ==== | ||
Line 135: | Line 123: | ||
struct spi_ioc_transfer tr; | struct spi_ioc_transfer tr; | ||
+ | memset((void *)&tr, 0x00, sizeof(tr)); | ||
+ | | ||
tr.tx_buf = (unsigned long)tx; | tr.tx_buf = (unsigned long)tx; | ||
tr.rx_buf = (unsigned long)rx; | tr.rx_buf = (unsigned long)rx; |