Suporte completo para o controlador USB 3.2 do SoC Renesas RZ/G3E chega ao Kernel Linux

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Série oficial de patches habilita USB 3.2 (PHY + XHCI) no RZ/G3E, trazendo portas mais rápidas e estáveis ao kernel Linux e à SMARC EVK.

Boa notícia para quem acompanha “Renesas RZ/G3E Linux”: o suporte de hardware para a família Renesas RZ/G3E está avançando com uma série robusta de patches que habilita o USB 3.2 no kernel Linux — do Device Tree e dos clocks até o driver do host XHCI. Em bom português: as portas USB 3.0 (e recursos de 3.2) deixam de ser figurantes e entram em cena como protagonistas. Para quem constrói produtos embarcados, isso significa plugar SSDs, câmeras e rádios sem gambiarras, diretamente no kernel principal.

Habilitando o USB 3.2 no SoC RZ/G3E

O pacote, enviado por Biju Das (Renesas), chega como uma “linha de montagem” completa para o subsistema USB do RZ/G3E. É um esforço oficial — e isso importa: quando o próprio fabricante conduz a habilitação, o caminho para upstream fica mais curto e a manutenção, mais sustentável. Interessante notar que, embora o título da série fale em “Gen1”, as bindings descrevem capacidades de Gen2x1 (10 Gbps); em outras palavras, o IP declara suporte a SSP Gen2 além de SuperSpeed (5 Gbps). Resultado prático? Um leque maior de periféricos de alto desempenho operando no limite do barramento, conforme as amarras do design de cada placa.

Um esforço abrangente em múltiplas camadas do kernel

Para uma única porta USB “simplesmente funcionar”, o kernel precisa que várias peças se encaixem — como montar um Lego técnico:

  • Bindings e DT: novos esquemas e nós Device Tree descrevem o host e a PHY, informando clocks, resets, interrupções e conexões físicas. É a “documentação executável” do hardware.
  • Clock/reset: o driver de clock da Renesas ganha entradas para alimentar o bloco USB nos momentos certos — sem isso, nada acorda, nada reseta.
  • Driver de PHY: a camada PHY (física) do USB 3.x no RZ/G3E ganha um driver dedicado, controlando resets, sinais e inicialização — é o “fio terra” da estabilidade de enlace.
  • Host controller (XHCI): o caminho foi estendido a partir do driver xhci-rcar para cobrir o RZ/G3E (sem necessidade de firmware externo), com um ajuste fino no xhci-plat: um gancho post_resume_quirk para retomar do deep sleep sem tropeços.
  • DTS do SoC e da placa: os nós do SoC e da SMARC EVK são acrescentados/ativados, e a defconfig habilita a seleção da PHY — o “mapa” final que o kernel segue ao inicializar.

No conjunto, isso é mais do que “um driver novo”: é a consolidação do pipeline elétrico-lógico do USB — do relógio que pulsa até o software que agenda transferências.

Por que isso importa para quem desenvolve produtos

Se você projeta gateways industriais, HMI, visão computacional ou storage local, portas USB 3.2 confiáveis são oxigênio. E aqui há duas camadas de benefício:

  1. Funcional hoje e sustentável amanhã — com suporte upstream, você não fica preso a árvores privadas ou patches difíceis de rebassar. Atualizar kernel vira rotina, não um projeto paralelo.
  2. Caminho claro na plataforma de referência — a SMARC EVK do RZ/G3E, base para muitos designs, aparece com os nós ativados e documentação pública de BSP, encurtando o “hello, peripherals” até em linhas de produção.

Em resumo, o RZ/G3E “ganha voz” no subsistema USB do Linux: Device Tree, PHY e XHCI falam a mesma língua — e o resultado é previsibilidade de driver, melhor retomada de suspensão e margem para periféricos exigentes. Para quem entrega produto, isso é menos tempo caçando bugs de bring-up e mais tempo construindo diferenciais de verdade.

o que muda para iniciantes e usuários de desktop?

Se você é usuário iniciante de Linux em notebook ou desktop x86, a resposta curta é: nada muda para você. Este trabalho mira o ecossistema ARM embarcado — especificamente dispositivos com o SoC Renesas RZ/G3E. Ou seja, PCs comuns, Raspberry Pi clássicos e a maioria dos desktops não são afetados.

Agora, se você usa (ou pretende usar) uma placa ou produto baseado em Renesas RZ/G3E, aí a história é outra — e positiva:

  • USB que “simplesmente funciona”: as portas passam a operar com suporte oficial no kernel, graças ao conjunto completo (bindings de Device Tree, drivers de clock/reset, PHY e XHCI). Na prática, pendrives, SSDs externos, câmeras e rádios funcionam de forma mais previsível.
  • Desempenho melhor e mais consistente: com USB 3.2 habilitado corretamente, você aproveita velocidades de “SuperSpeed” (e, conforme a placa, “Gen2x1”), reduzindo gargalos em armazenamento externo e captura de vídeo.
  • Suspensão/retomada mais confiáveis: a pilha foi ajustada para lidar com retomadas do modo de economia de energia sem exigir truques manuais.

E há algum lado negativo? Pouco provável para o usuário final, mas vale saber:

  • É específico de hardware: só impacta quem tem RZ/G3E. Se seu dispositivo não usa esse SoC, você não verá efeito.
  • Maturação natural: como toda habilitação nova, podem surgir pequenos quirks em certos periféricos ou placas até tudo ficar “redondo” em mais distribuições.
  • Dependência de kernel/distros: para sentir os benefícios, você precisará de um kernel que já inclua essa habilitação (ou imagem do fabricante). Em ambientes de produção, confirme com sua distro/BSP qual versão do kernel oferece o suporte.

Em resumo: para o iniciante de desktop, é neutro; para quem usa o SoC Renesas RZ/G3E, é um avanço claro, com USB mais rápido, estável e integrado ao Linux — do Device Tree à PHY e ao XHCI, tudo falando a mesma língua.

Compartilhe este artigo