ID do artigo: 000073938 Tipo de conteúdo: Solução de problemas Última revisão: 26/06/2019

Por que vejo travamento de inicialização U ao habilitar vários controladores I2C no driver I2C?

Ambiente

    Intel® Quartus® II Subscription Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

No SOCEDS 16.1 (U-boot v2013.01.01), se você ligar a configuração de vários barramentos I2C dentro do driver I2C, conforme mostrado abaixo:

#define CONFIG_I2C_MULTI_BUS 1

 

O U-boot desligará e interromperá a impressão de mensagens no console, conforme mostrado abaixo:

U-Boot 2013.01.01-svn7578 (fevereiro de 2019 - 14:17:54)

CPU: Altera plataforma SOCFPGA

PLACA: Altera SOCFPGA Cyclone placa V

I2C:

 

Se CONFIG_I2C_MULTI_BUS estiver ativada, a variável estática bus_initialized do driver I2C (designware_i2c.c) será usada antes que a seção BSS seja inicializada.
Isso resulta em uma operação de gravação inesperada e faz com que o sistema seja travado.

Resolução

O driver I2C (designware_i2c.c) foi atualizado em U-boot v2015.01, que remove o uso de variável estática e CONFIG_I2C_MULTI_BUS.

Para vários controladores I2C compatíveis com U-boot, use versões U-boot v2015.01 ou acima.

Produtos relacionados

Este artigo aplica-se a 1 produtos

Dispositivos programáveis Intel®

1

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês governará e será a controle. Exibir a versão em inglês desta página.