Forum: Mikrocontroller und Digitale Elektronik SPI Chipselect-Delay auf Banana PI


von Vancouver (Gast)


Lesenswert?

Hallo,

eine Frage zu SPI unter Linux, speziell Lubuntu auf Banana PI.

Aktuell verwende ich den Kernel 3.4.103, nicht mehr ganz aktuell, aber 
passt bisher. Allerdings gibt es ein seltsames Problem bei SPI (senden 
vom Host): Es vergehen einige uSec ziwschen dem Zeitpunkt, wo CS low 
wird und dem Beginn der Übertragung. Ist die Übertragung beendet, dauert 
es wieder, bis CS high wird und der System call zurückkommt. Insgesamt 
dauert eine SPI-Transaction 45usec+reine Übertragungszeit, das ist 
extrem langsam. Das ganze ist unabhängig vom SPI-Clock. Ich habe das 
Problem bis zum ioctl-Aufruf des Kerneltreibers verfolgt, die 
Verzögerung entsteht also im Treiber.

Der Kernel enthält einige Patches von Lemaker, die in neuere 
Mainline-Kernelversionen bereits eingeflossen sind, daher empfielt 
Lemaker die neueren Mainline-Kernels. Das kann ich mir allerdings 
sparen, wenn das Problem dort auch existiert. Die neueren SPI-Treiber 
von SUNXI sind angeblich DMA-fähig, und wenn die immernoch so lahm sind, 
kann ist das DMA-Zeug auch sinnlos. Daher meine Hoffnung, dass das 
Problem dort behoben ist.

Hat jemand einen aktuellen Kernel auf einer Banane in Betrieb und das 
gleiche Problem beobachtet, bzw. kann jemand bestätigen, dass es nicht 
mehr existiert?

Auf dem Raspberry tritt das Problem nicht auf. Ich weiß nicht mehr, mit 
welchen Kernel ich das probiert habe, aber der Treiber ist natürlich ein 
anderer (für BCM).

Es geht konkret um die Anpassung eines Admatec C-Berry-Displays and die 
Banane. Das funktioniert soweit, ist aber wegen des SPI-Problems viel zu 
langsam (ca. 3.6sec/Frame... das macht keinen Spaß.)

von Vancouver (Gast)


Lesenswert?

push up :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.