Closed Gadgetoid closed 4 years ago
Okay this will also require the following in /boot/config.txt
:
core_freq=500
core_freq_min=500
However, this does not fix the washed-out-flickering achieved on BCM20 using SPI1.
Does the Pi4 and kernel support DMA on the additional SPI interfaces ?
Good catch- no. Docs say "they have shallow FIFOs and no DMA support" which pretty much kills this changeset dead in the water. So close, yet so far!
Since I can't see any technical reason why it shouldn't be possible, this PR adds the necessary code to detect the use of BCM20 and switch to using /dev/spidev1.0
It's a bit rough around the edges, and could probably be accomplished more succinctly.
This requires "dtoverlay=spi1-3cs" in /boot/config.txt
My initial tests of this- without an oscilloscope or logic analyser to hand- suggest that something is being successfully output on SPI1, BCM20 and lighting up my 25 LEDs (or fewer if I configure it as such), but the data is mangled and the LEDs oversaturated. Additionally I'm running into https://github.com/jgarff/rpi_ws281x/issues/381, which is probably related.
Can anyone see something I've overlooked?