I don’t swim at this level, so please excuse if it appears I don’t know what I am talking about - I don’t.
I am investigating if it possible to use the Rock 4 SE as a “drop in” replacement for the Raspberry Pi in the GoPiGo3 robot. The robot configures SPI to talk to the processor with this code:
if hardware_connected:
GPG_SPI = spidev.SpiDev()
GPG_SPI.open(0, 1)
GPG_SPI.max_speed_hz = 500000
GPG_SPI.mode = 0b00
GPG_SPI.bits_per_word = 8
This is what I have done to configure SPI on the Rock 4 SE in Ubuntu Server 20.04 (64-bit)
$ uname -a
Linux rockpi-4b 4.4.194-9-rk3399-rockchip-gfb3dbb0a16a0 #1 SMP Wed Oct 19 14:09:35 CST 2022 aarch64 aarch64 aarch64 GNU/Linux
In /boot/hw_intfc.conf:
...
intfc:spi1=on
intfc:spi2=on
...
# Dummy spi device on SPI1 for test. Need set: intfc:spi1=on
intfc:dtoverlay=devspi1
...
$ sudo groupadd spi
$ sudo usermod -a -G spi rock
$ ls /dev/spi*
/dev/spidev1.0 /dev/spidev2.0
$ sudo chmod 660 /dev/spidev1.0
$ sudo chgrp spi /dev/spidev1.0
BUT the software expects spidev0.1
(If I change the software to “GPG_SPI.open(1, 0)” the code does not complain,
but then the Rock 4 SE is no longer a “drop-in” replacement with the existing robot code.)
Q) Can I change the overlay to create spidev0.1 (instead of spidev1) to make it act like a Raspberry Pi?