MediaTek Genio e Radxa NIO-12L ganham HDMI e áudio no Linux mainline via Device Tree

MediaTek Genio e Radxa NIO-12L ganham HDMI e áudio no Linux mainline via Device Tree

Placas MediaTek Genio e a Radxa NIO-12L avançaram um passo relevante rumo ao uso como “mini PC” e plataforma multimídia no Linux mainline, ao ganhar ativação de saída HDMI e áudio via HDMI via atualizações de Device Tree. O subconjunto principal da série foi aplicado na branch v6.19-next/dts64 em 07 jan 2026, destravando o caminho de vídeo e som pelo conector HDMI nas descrições de hardware dessas placas.

Na prática, isso reduz a dependência de kernels de fornecedor e aproxima essas EVKs/SBCs de um cenário de uso mais “desktop”, onde ligar um monitor e sair usando deixa de ser um projeto paralelo.

Entenda em 90 segundos

O que chegou agora não é um “driver novo” isolado, e sim o que normalmente faz ou quebra a experiência em ARM: o Device Tree dizer com precisão quais blocos existem e como eles se conectam.

A série adiciona nós críticos no DTS para o pipeline de display e, em seguida, habilita HDMI e som HDMI nos arquivos comuns e específicos das placas. Com isso, o kernel passa a enxergar e inicializar a cadeia de vídeo até o HDMI e o dispositivo de áudio associado ao link HDMI.

Resultado esperado: essas placas passam a ter uma rota mais direta para uso com monitor e áudio no mainline, sem depender de imagens antigas do fornecedor apenas para “ter vídeo”.

O problema na prática

Quando uma placa tem conector HDMI, mas o DTS não descreve corretamente o pipeline (ou mantém nós essenciais ausentes/desligados), o cenário típico é boot “headless”.

Nessa condição, o usuário costuma recorrer a alternativas como acesso remoto/serial e kernels derivados do fornecedor, porque o mainline simplesmente não inicializa a saída de vídeo. Para multimídia, a lacuna é dupla: sem HDMI funcional, não há vídeo e também não há como esperar som via HDMI.

Deep dive técnico

Pacote de fatos extraídos da fonte

  • Branch de destino: v6.19-next/dts64
  • Data da aplicação: 07 Jan 2026
  • Maintainer/autor que aplicou o subconjunto: AngeloGioacchino Del Regno (Collabora)
  • Série: (subset) [PATCH v2 00/12]
  • Hardware afetado (citados na carta e no reply):
    • MediaTek Genio 510-EVK (MT8370)
    • MediaTek Genio 700-EVK (MT8390)
    • MediaTek Genio 1200-EVK (MT8395)
    • Radxa NIO-12L (MT8395)
  • Funcionalidades ativadas:
    • Saída de vídeo HDMI
    • Saída de som HDMI
  • Componentes técnicos (nós no DTS):
    • DPI1
    • HDMI
    • HDMI PHY e DDC (como HDMI PHY/DDC nodes)
  • Commits aplicados (subconjunto 04 a 11):
    • 506dc2f1a56399c26d1c5fd3c19f82c723314531
    • 91f6d6ce9b173d358eb911b42f784b003009a7aa
    • f7777c4ebd72054d50344bd89a29f6f181ec90b5
    • 12f5294e2fbefda844b5ba24889a40dfc4f914b5
    • bdd288b89d4dd615bfb12f0dab2c17aa783a0256
    • bdb4652f1951e4c4bed7f869ec9eb49322cffdb8
    • 1e9cc416a8d29681682f2d34fff1a34fb353b9f9
    • 0309ce7e7a49b67e40d9b9d054826bc1e6eaef17

O que muda no Device Tree

A série é estruturada em duas etapas técnicas.

Primeiro, ela adiciona os blocos base no DTS dos SoCs que “carregam” variantes usadas nas placas Genio e na Radxa: entram nós para DPI1, HDMI, e o conjunto HDMI PHY/DDC. Essa é a base para o kernel conseguir montar o pipeline e falar com o link HDMI.

Depois, entram os patches que fazem a diferença do ponto de vista do usuário: habilitar HDMI e o áudio HDMI nos board files e nos arquivos comuns.

Habilitação por família de SoC e placa

Os commits aplicados no v6.19-next/dts64 deixam claro o recorte do que foi “ligado” no DTS:

  • Base de nós HDMI (infra de SoC/variante):
    • mt8195: adiciona DPI1, HDMI, HDMI PHY/DDC
    • mt8188: adiciona DPI1, HDMI, HDMI PHY/DDC
  • Placas Genio 700 (família mt8390-genio-common):
    • habilita saída HDMI
    • adiciona suporte a som HDMI
  • Radxa NIO-12L (mt8395-radxa-nio-12l):
    • habilita saída HDMI
    • adiciona suporte a som HDMI
  • Placas Genio 1200 (família mt8395-genio-common):
    • habilita saída HDMI
    • adiciona suporte a som HDMI

Um detalhe importante para leitura de ciclo: o reply indica que foi aplicado o subconjunto 04 a 11. A carta de apresentação, no entanto, descreve a série completa 00/12, incluindo dt-bindings e um patch de defconfig para o Mediatek HDMIv2. Se o patch 12 também entrou nessa mesma branch, isso não fica explícito no trecho do “applied” apresentado, então o estado dele neste pull específico é [NÃO INFORMADO NA FONTE].

O que muda para quem usa

  • Tendência de instalação e uso mais “desktop”: maior chance de ter monitor funcionando via HDMI com kernel mais próximo do mainline.
  • Menos atrito para multimídia básica: além de vídeo, entra o caminho para áudio via HDMI (quando o stack de userspace estiver alinhado).
  • Ganho para integradores: descrevendo corretamente o hardware no Device Tree, o sistema fica mais portável entre distros e builds.
  • Debug mais direto: em vez de depender de imagens antigas do fornecedor apenas para ter saída de vídeo, o esforço migra para acompanhar o ciclo do kernel e do DTS.
  • Para desenvolvedores: facilita reproduzir e testar regressões, já que a base está em árvores -next e no ecossistema de listas.

Mini-glossário

  • Device Tree: descrição declarativa do hardware usada em ARM para o kernel saber o que existe e como se conecta.
  • DTS: arquivo fonte do Device Tree (texto).
  • DTB: Device Tree compilado (binário) usado no boot.
  • Mainline: kernel “oficial” upstream, fora de árvores de fornecedor.
  • SoC: System-on-Chip, o chip principal que integra CPU, I/O e controladores.
  • DPI1: interface interna de display usada para compor o pipeline até o HDMI (no contexto desta série).
  • HDMI PHY: camada física do HDMI, responsável pelo link elétrico/sinalização.
  • DDC: canal auxiliar associado ao HDMI, normalmente usado para troca de informações com o monitor (como identificação/capacidades).
  • linux-next: árvore de integração usada para testar conjuntos de mudanças antes do merge em janelas de desenvolvimento.