Pergunta

A resposta medíocre aqui me fez pensar este .

Eu tenho selado com um dispositivo de (Analog Devices 525x) que (a partir da folha de dados, pg 16):

desabilita a interface I2C durante o interno [EEPROM] ciclo de gravação.

Isso não parece justo, como em " eu estou ficando fora do sofá agora, para não usá-lo por um tempo porque eu deixei um rasgo no assento ". Honestamente, por que isso deveria ser o meu problema?

De qualquer forma, a folha de dados sugere que reconhecem polling é a resposta - digite o kernel Linux ... faz o GPIO Linux mordeu bateu motorista I2C fornecer um mecanismo para fazer isso Essencialmente enviar um endereço com? o conjunto de escrita pouco e continuar fazendo isso até que um aparece ACK.

Eu estou usando 2.6.14 em um ARM com portadas GPIO bit contusão driver (a partir de 2.6.19 eu acho).

Foi útil?

Solução

Ele não parece muito fora da prateleira, mas

Você provavelmente terá que olhar para ter uma bandeira modificação protocolo como bandeira I2C_M_NOSTART apenas diferentes, em seus patches. Pelo menos há uma maneira de fazê-lo (reconhecidamente uma maneira confusa)

Eu espero por sua causa que você não precisa colocar um dispositivo i2c normais no mesmo ônibus.

Honestamente, fornecedores de hardware fazer coisas como esta o tempo todo. Eles consideram o problema "resolvido", desde que ele se torna seu.

Eu vejo muita I2C quebrado lá fora e você poderia fazer mais agradável a vida de outras pessoas.

Outras dicas

Parece que você precisa para reescrever o driver de kernel para o sistema I2C para permitir isso?

Além disso, o que acontece com a atualização do kernel e ver o que aconteceu desde 2.6.14 que é uma versão muito antiga do kernel até agora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top