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()
edev_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 adevice_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?

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.