Kernel Linux se prepara para suportar o SoC Eswin eic7700, começando pelo driver USB

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...

Suporte inicial ao Eswin eic7700 impulsiona novos dispositivos Linux embarcados!

A Eswin Computing é uma empresa chinesa de semicondutores focada em soluções de edge computing e inteligência artificial. Fundada como parte do grupo Beijing ESWIN Technology, ela desenvolve SoCs baseados na arquitetura RISC-V voltados para aplicações de visão computacional, robótica e dispositivos embarcados.

O EIC7700 é o modelo de entrada da família, combinando quatro núcleos RISC-V de 64 bits, uma NPU capaz de 13,3 TOPS e uma ampla gama de interfaces de E/S – incluindo USB 3.0 por meio de um controlador compatível com o DesignWare DWC3. Esses recursos tornam o chip atraente para produtos que precisam de desempenho de IA com baixo consumo de energia.

Detalhes da nova integração

Uma série de patches enviada por Senchuan Zhang (Eswin) adiciona suporte inicial ao controlador USB do EIC7700 ao Kernel Linux. O trabalho apresenta:

  • Um novo arquivo de Device Tree (eswin,eic7700-usb.yaml) descrevendo os recursos do controlador.
  • Um “glue layer” dwc3-eic7700.c que adapta o núcleo genérico DesignWare DWC3 ao hardware específico da Eswin, gerenciando clocks, resets e registradores próprios do SoC.

Embora o USB seja apenas o primeiro subsistema contemplado, ele é fundamental: sem conectividade, placas de desenvolvimento e futuros produtos comerciais não conseguem aproveitar interfaces de depuração, armazenamento externo ou periféricos padrão. Ao “mainlinear” este driver, a comunidade garante que qualquer dispositivo baseado no EIC7700 possa rodar distribuições Linux sem kernels modificados.

O que mudou da v1 para a v2 do patch?

A versão 2 reflete um ciclo completo de revisão na mailing list do kernel e traz ajustes importantes:

  • Limpeza na documentação do Device Tree: remoção de descrições redundantes, padronização de nomes de propriedades e adição de restrições de reset.
  • Uso de APIs modernas: troca para devm_clk_bulk_get_all_enabled() e dev_err_probe(), reduzindo código explícito de tratamento de erro.
  • Corte de funcionalidades não suportadas: remoção de detecção de função host/device, do atributo hub-rst e de chamadas a device_init_wakeup.
  • Refatoração geral: eliminação de mutex_lock, MODULE_ALIAS e outras seções mortas, resultando em um driver mais enxuto e alinhado às boas práticas do kernel.

Essas mudanças demonstram o comprometimento dos engenheiros Senchuan Zhang e Wei Yang com a qualidade do código e a receptividade ao feedback da comunidade.

Por que isso importa para o ecossistema Linux embarcado?

A imagem mostra um diagrama em blocos de um SoC —  o Eswin EIC7700

Integrar drivers diretamente no mainline reduz custos de manutenção, facilita atualizações de segurança e amplia o público‐alvo dos chips. Para a Eswin, ver o Eswin eic7700 Linux nos repositórios oficiais significa:

  • Maior visibilidade junto a desenvolvedores de distros e fabricantes de placas.
  • Caminho aberto para adicionar, futuramente, suporte ao NPU, GPU e outros blocos do chip.
  • Validação comunitária: bugs são encontrados e corrigidos mais rápido quando o código está exposto a milhares de testadores.

Conclusão

A chegada do primeiro driver oficial para o Eswin eic7700 ao Kernel Linux é um marco estratégico. Ela sinaliza que a empresa pretende competir em um mercado onde o suporte “upstream” é decisivo para a adoção de novos SoCs. Se os próximos patches seguirem o mesmo ritmo de revisão colaborativa, veremos dispositivos baseados na Eswin rodando Linux out-of-the-box em um futuro próximo.

Compartilhe este artigo