2009-07-28 18 views
7

La risposta poco brillante qui mi ha fatto meravigliare this.Il polling I2C conferma il polling in Linux Kernel

ho affibbiato un dispositivo che (Analog Devices 525x) (dal foglio dati, pg 16):

disabilita l'interfaccia I2C durante l'interno [EEPROM] scrivere ciclo.

che non sembra giusto, come in "sto ricevendo dal divano ora, quindi non usarlo per un po 'perché ho lasciato uno strappo nel cuscino del sedile". Onestamente, perché dovrebbe essere il mio problema?

In ogni caso, il foglio di dati suggeriscono che riconoscono polling è la risposta - immettere il kernel di Linux ... fa il Linux GPIO bit del driver I2C sfondato forniscono un meccanismo per fare questo? In sostanza, invia un indirizzo con il bit di scrittura impostato e continua a farlo finché non viene visualizzato un ACK.

Sto usando 2.6.14 su un ARM con driver bitpoint GPIO back ported (da 2.6.19 penso).

risposta

1

Non sembra troppo largo della piattaforma, ma

Probabilmente avrà bisogno di guardare ad avere una bandiera modifica protocollo come Flag I2C_M_NOSTART solo diverso, le patch. Almeno c'è un modo per farlo (certamente un modo disordinato)

Spero che per il tuo bene non sia necessario mettere un normale dispositivo i2c sullo stesso bus.

Onestamente, i fornitori di hardware fanno cose del genere tutto il tempo. Considerano il problema "risolto" fintanto che diventa tuo.

Vedo un sacco di I2C rotti là fuori e potresti rendere la vita più bella per le altre persone.

0

Sembra che sia necessario riscrivere il driver del kernel per il sistema I2C per consentire questo?

Inoltre, per quanto riguarda l'aggiornamento del kernel e vedere cosa è successo dal 2.6.14, che è una vecchia versione del kernel ormai.

+0

È una cosa proprietaria fornita con la piattaforma; sarebbe piuttosto un tentativo di trasmettere tutte le modifiche discrete. 2.6.14. ++ si comporta in modo ragionevole, quindi non c'è molto incentivo oltre a ciò che viene pubblicato qui. – Jamie