Linux: CM3+ vc4 4.19.97 7" Powertip DSI Panel (ili9881C)

Erstellt am 21. Dez. 2020  ·  5Kommentare  ·  Quelle: raspberrypi/linux

Wir möchten das Powertip DSI-Panel an den DSI1-Port eines benutzerdefinierten CM3+-Baseboards anschließen.
Das ursprüngliche RPI-Display funktioniert gut, aber auf dem Powertip-Display haben wir einige Probleme (siehe Bild unten).

IMG_20201208_161857

Wir haben ein Overlay hinzugefügt und den vorhandenen ili9881-Panel-Treiber so modifiziert, dass er die richtigen Init-Befehle enthält. Weitere Einzelheiten finden Sie im folgenden Zweig: https://github.com/wudo94/linux/tree/rpi-4.19.97_powertip_dsi.

Wenn jemand Hilfe oder Informationen zu ähnlichen Setups geben kann, wäre dies sehr zu schätzen.

Danke!

@fschrempf

Alle 5 Kommentare

Kann ich Ihnen dringend empfehlen, auf den rpi-5.10.y-Zweig zu aktualisieren. Dort wird aktiv an den DRM/KMS-Treibern gearbeitet, insbesondere für DSI. Das Zurückportieren einzelner Patches kann funktionieren oder auch nicht, aber wir investieren keine Mühe in das Debuggen alter Kernel-Versionen.

Der rpi-5.10.y-Zweig hat bereits den Treiber und das Overlay für das Standard-Pi-7-Zoll-DSI-Panel zusammengeführt.

3985 ist ein PR, der dem System ein Beispiel-DSI-Panel hinzufügt und tatsächlich den ILI9881-Treiber verwendet. Ich sollte es umbasieren und es zusammenführen lassen.

Wie sicher sind Sie Ihrer Init-Sequenz? Über 2/4 DSI-Datenspuren hinaus und 720 x 1280 vs. 800 x 1280 habe ich nicht analysiert, was tatsächlich in diesen Tabellen für die verschiedenen Displays geändert wird. Diejenigen, die zusammengeführt werden, sollten gültig sein, daher wäre es interessant, eher mit diesen zu testen als mit einer Tabelle mit möglicherweise unbekanntem Inhalt. Ich kenne Bildschirmhersteller, die völlig falsche Timings und Initialisierungen preisgeben.

Kann ich Ihnen dringend empfehlen, auf den rpi-5.10.y-Zweig zu aktualisieren. Dort wird aktiv an den DRM/KMS-Treibern gearbeitet, insbesondere für DSI. Das Zurückportieren einzelner Patches kann funktionieren oder auch nicht, aber wir investieren keine Mühe in das Debuggen alter Kernel-Versionen.

Ok, danke, wir werden es mit dem Zweig rpi-5.10.y versuchen und sehen, wie es läuft. Es kann aber bis nach den Feiertagen dauern, bis wir dazu kommen.

Wie sicher sind Sie Ihrer Init-Sequenz? Über 2/4 DSI-Datenspuren hinaus und 720 x 1280 vs. 800 x 1280 habe ich nicht analysiert, was tatsächlich in diesen Tabellen für die verschiedenen Displays geändert wird. Diejenigen, die zusammengeführt werden, sollten gültig sein, daher wäre es interessant, eher mit diesen zu testen als mit einer Tabelle mit möglicherweise unbekanntem Inhalt. Ich kenne Bildschirmhersteller, die völlig falsche Timings und Initialisierungen preisgeben.

Wir haben ein Datenblatt für das Panel, das Byte für Byte genaue Werte für die Init-Sequenz angibt, also dachten wir, es wäre sicher anzunehmen, dass diese korrekt sind. Aber wir könnten es wahrscheinlich auch mit einigen anderen Tischen versuchen. Ich denke, wir müssten sie anpassen, um 2 statt 4 Fahrspuren zu verwenden.

Ich habe eine Init-Tabelle für 2 Lanes ILI9881 bei 720x1280, die ich an einem Display arbeiten ließ. Ich kann es wahrscheinlich nicht einfach freigeben, aber ich werde einen schnellen Unterschied machen, um zu sehen, was (wenn überhaupt) zwischen Ihrem und meinem anders ist.

Die Init-Tabelle für meinen Bildschirm stimmt genau mit Ihrer überein, außer dass das fehlt

    ILI9881C_SWITCH_PAGE_INSTR(0),
    ILI9881C_COMMAND_INSTR(0x11, 0x00),

Am Ende.

Bei mir läuft es am 5.10. Es scheint eine Race-Condition in meiner Konfiguration zu geben, aber das Blacklisting von panel-ilitek-ili9881c und das manuelle Modprobing hat gerade alles glücklich geladen. Ich denke aber, das liegt an meiner Reglerkonfiguration. Eine magische Verzögerung irgendwo ist wahrscheinlich alles, was benötigt wird.

Ich teste auf einem Pi4, aber das sollte bei der DSI-Konfiguration keinen wirklichen Unterschied machen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen