Hi,
I use a Beagleboard Green with Debian Buster. I have enabled the SPI1 bus with config-pin
.
My observations with the oscilloscope show me that I successfully send data, (from top to bottom, P9.31/SCLK
, P9.28/CS0
, P9.30/D1
, P9.29/D0
)
But I use a cape which expects D0 as MOSI and D1 as MISO. How I can reconfigure the ports?
Hi @jtremesay-sereema ,
I just pushed: BB-SPIDEV* document ti,pindir-d0-out-d1-in option · beagleboard/bb.org-overlays@5d669a2 · GitHub
To document this…
You’ll find this same git repo stored in your current image at:
/opt/source/bb.org-overlays/
cd /opt/source/bb.org-overlays/
git pull
Then edit/open: src/arm/BB-SPIDEV1-00A0.dts :
sed -i -e 's://ti,pindir:ti,pindir:g' src/arm/BB-SPIDEV1-00A0.dts
debian@bbb-pwr01-ser09:/opt/source/bb.org-overlays$ git diff
diff --git a/src/arm/BB-SPIDEV1-00A0.dts b/src/arm/BB-SPIDEV1-00A0.dts
index 800b75a..55ada54 100644
--- a/src/arm/BB-SPIDEV1-00A0.dts
+++ b/src/arm/BB-SPIDEV1-00A0.dts
@@ -91,7 +91,7 @@
* input. The default is D0 as input and
* D1 as output.
*/
- //ti,pindir-d0-out-d1-in;
+ ti,pindir-d0-out-d1-in;
channel@0 {
#address-cells = <1>;
Then build/install…
make
sudo make install
Then make sure /boot/uEnv.txt
is loading:
uboot_overlay_addr4=/lib/firmware/BB-SPIDEV1-00A0.dtbo
PS, by specifically loading this overlay, config-pin will no longer be needed to setup the spi pins… (it’ll also be disabled for those pins, as the overlay removes them…)
Regards,
I would have preferred a solution without the use of device tree, but thanks you for you response!
Currently, it’s not a run time option…
Today, it’s read at probe time: omap2_mcspi_probe
https://elixir.bootlin.com/linux/latest/source/drivers/spi/spi-omap2-mcspi.c#L1443
There is another reference here, under omap2_mcspi_setup_transfer
https://elixir.bootlin.com/linux/latest/source/drivers/spi/spi-omap2-mcspi.c#L927
If you wanted to try and make this driver reconfigurable from linux userspace, that might be the place to start hacking on it…
Regards,