How to use soft spi on Omega2+?
-
Hello.
I need to install and use spi-gpio-driver from https://github.com/OnionIoT/spi-gpio-driver/. But when I trying to compile it I got error:
root@Omega-3079:~# cd spi-gpio-driver-master/ root@Omega-3079:~/spi-gpio-driver-master# make CC: gcc CCFLAGS: LDFLAGS: LIB: INC: -I include SOURCES: src/onion-spi.c OBJECTS: build/onion-spi.o gcc -g -I include -c -o build/onion-spi.o src/onion-spi.c In file included from src/onion-spi.c:1:0: include/onion-spi.h:21:25: fatal error: onion-debug.h: No such file or directory compilation terminated. make: *** [makefile:71: build/onion-spi.o] Error 1 root@Omega-3079:~/spi-gpio-driver-master#
I also tried to install spi-gpio kernel module, but it is not installed:
root@Omega-3079:/# opkg install kmod-spi-gpio Installing kmod-spi-gpio (4.14.81-1) to root... Downloading http://repo.onioniot.com/omega2/packages/core/kmod-spi-gpio_4.14.81-1_mipsel_24kc.ipk Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-spi-gpio: * kernel (= 4.14.81-1-4d99ecc9745adb4d8a275d8e3a38961b) * kernel (= 4.14.81-1-4d99ecc9745adb4d8a275d8e3a38961b) * * opkg_install_cmd: Cannot install package kmod-spi-gpio. root@Omega-3079:~/spi-gpio-driver-master# opkg list-installed | grep kernel kernel - 4.14.81-1-10b6683764d58480e54ef73aa783b9bb
What package provide these include files?
How to use soft spi on Omega2+ in python3? I need to use this driver from C program too.My firmware is:
root@Omega-3079:~/spi-gpio-driver-master# oupgrade -v > Device Firmware Version: 0.3.2 b233
Thanks.
-
I am fully recompiled all Omega firmware, now my kernel have all spi drivers:
root@Omega-3079:/# lsmod | grep spi regmap_spi 1274 0 spi_bitbang 2661 1 spi_gpio spi_gpio 5424 0 spidev 6336 0
I also successfully compiled driver spi-gpio-driver-master using some additional required files from firmware sources. For example, onion-debug.h was found in i2c-exp-driver, etc.
After spi-gpio-driver-master compile I have spi-tool utility, libonionspi.so and python onionSpi.so module.But I don't see soft-spi device in /dev:
root@Omega-3079:~# ls -l /dev/spi* crw------- 1 root root 153, 0 Dec 6 16:29 /dev/spidev0.1
/dev/spidev0.1 -- hardware SPI, used python3-spidev driver.
But spi-tool utility, libonionspi.so and python onionSpi.so used /dev/spidev%d.%d device too.As I think spi_gpio driver should create some other device in /dev. May be I should run some "activate procedure" for spi_gpio kernel driver?
Or https://github.com/OnionIoT/spi-gpio-driver too old and it cannot work with some latest Omega's Linux kernels?dmesg outputs only hardware /dev/spidev0.1:
root@Omega-3079:/# dmesg | grep spi [ 0.371163] spi-mt7621 10000b00.spi: sys_freq: 193333333 [ 0.382341] m25p80 spi0.0: mx25l25635e (32768 Kbytes) [ 0.387589] 5 fixed-partitions partitions found on MTD device spi0.0 [ 0.394049] Creating 5 MTD partitions on "spi0.0": root@Omega-3079:/#
any other spi device does not create.