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

Criado em 21 dez. 2020  ·  5Comentários  ·  Fonte: raspberrypi/linux

Queremos conectar o Powertip DSI Panel na porta DSI1 de uma placa de base CM3+ personalizada.
O RPI Display original funciona bem, mas no Powertip Display temos alguns problemas (veja a imagem abaixo).

IMG_20201208_161857

Adicionamos uma sobreposição e modificamos o driver de painel ili9881 existente para incluir os comandos init corretos. Consulte o seguinte branch para obter mais detalhes: https://github.com/wudo94/linux/tree/rpi-4.19.97_powertip_dsi.

Se alguém puder fornecer alguma ajuda ou informações de configurações semelhantes, isso seria muito apreciado.

Obrigado!

@fschrempf

Todos 5 comentários

Posso sugerir fortemente que você atualize para o branch rpi-5.10.y. Os drivers DRM/KMS estão sendo trabalhados ativamente lá, especialmente para DSI. O backport de patches individuais pode ou não funcionar, mas não investiremos esforços na depuração de versões antigas do kernel.

A ramificação rpi-5.10.y já tem o driver e a sobreposição mesclados para o painel Pi 7" DSI padrão.

3985 é um PR que adicionou um painel DSI de exemplo ao sistema e está realmente usando o driver ILI9881. Eu deveria rebase e mesclá-lo.

Quão certo você está da sua sequência de inicialização? Além de 2/4 pistas de dados DSI e 720x1280 vs 800x1280, não analisei o que realmente está sendo alterado nessas tabelas para os diferentes monitores. Aqueles que são mesclados devem ser válidos, então seria interessante testar com eles em vez de uma tabela de conteúdo potencialmente desconhecido. Conheço fabricantes de telas que dão tempo e inits totalmente falsos.

Posso sugerir fortemente que você atualize para o branch rpi-5.10.y. Os drivers DRM/KMS estão sendo trabalhados ativamente lá, especialmente para DSI. O backport de patches individuais pode ou não funcionar, mas não investiremos esforços na depuração de versões antigas do kernel.

Ok, obrigado, vamos tentar com o branch rpi-5.10.y e ver como fica. Pode demorar até depois das férias até que possamos fazê-lo, no entanto.

Quão certo você está da sua sequência de inicialização? Além de 2/4 pistas de dados DSI e 720x1280 vs 800x1280, não analisei o que realmente está sendo alterado nessas tabelas para os diferentes monitores. Aqueles que são mesclados devem ser válidos, então seria interessante testar com eles em vez de uma tabela de conteúdo potencialmente desconhecido. Conheço fabricantes de telas que dão tempo e inits totalmente falsos.

Temos uma folha de dados para o painel que fornece valores exatos byte a byte para a sequência init, então achamos que seria prudente assumir que eles estão corretos. Mas provavelmente também poderíamos tentar com algumas das outras mesas. Acho que precisaríamos ajustá-los para usar 2 pistas em vez de 4.

Eu tenho uma tabela de inicialização para 2 pistas ILI9881 em 720x1280 que eu trabalhei em um monitor. Eu provavelmente não posso simplesmente liberá-lo, mas farei uma rápida comparação para ver o que (se houver) é diferente entre o seu e o meu.

A tabela de inicialização da minha tela corresponde exatamente à sua, exceto que está faltando o

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

no fim.

Eu tenho que trabalhar em 5.10. Parece haver alguma condição de corrida na minha configuração, mas a lista negra panel-ilitek-ili9881c e o modprobing manual acabou de carregar tudo feliz. Acho que isso depende da configuração do meu regulador. Um atraso mágico em algum lugar provavelmente é tudo o que é necessário.

Estou testando em um Pi4, mas isso não deve fazer uma diferença real com a configuração DSI.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

dkerr64 picture dkerr64  ·  7Comentários

Joulinar picture Joulinar  ·  5Comentários

HankB picture HankB  ·  8Comentários

kucharskim picture kucharskim  ·  7Comentários

KevinStartup picture KevinStartup  ·  6Comentários