Опрос подтверждения записи I2C в ядре Linux

Тусклый ответ здесь заставил меня задуматься над это .

Я был обременен устройством (Analog Devices 525x) что (из технического описания, стр. 16):

отключает интерфейс I2C во время внутреннего цикла записи [EEPROM].

Это кажется несправедливым, как в «Я сейчас встаю с дивана, так что не пользуйтесь им какое-то время, потому что я порвал подушку сиденья». Честно говоря, почему это должно быть моей проблемой?

Во всяком случае, в техническом описании предполагается, что ответом является опрос подтверждения - войдите в ядро ​​​​Linux ... Предоставляет ли драйвер Linux GPIO bit bashed I2C механизм для этого? По сути, отправляет адрес с битом записи установите и продолжайте делать это, пока не появится ACK.

Я использую 2.6.14 на ARM с портированным драйвером битового бита GPIO (начиная с 2.6.19, я думаю).


person Jamie    schedule 28.07.2009    source источник


Ответы (2)


Это не кажется слишком нестандартным, но

Вам, вероятно, нужно будет посмотреть на наличие флага модификации протокола, такого как Flag I2C_M_NOSTART, только другого, в ваших патчах. По крайней мере, есть способ сделать это (правда, грязный способ)

Я надеюсь, ради вашего блага вам не нужно ставить обычное устройство i2c на ту же шину.

Честно говоря, поставщики оборудования делают подобные вещи постоянно. Они считают проблему «решенной», пока она становится вашей.

Я вижу много сломанного I2C, и вы могли бы сделать жизнь других людей лучше.

person Tim Williscroft    schedule 28.08.2009

Похоже, вам нужно переписать драйвер ядра для системы I2C, чтобы разрешить это?

Кроме того, как насчет обновления ядра и посмотрите, что произошло с версии 2.6.14, которая на данный момент является довольно старой версией ядра.

person jakobengblom2    schedule 16.08.2009
comment
Это проприетарная вещь, поставляемая с платформой; было бы довольно сложно перенаправить все дискретные изменения. 2.6.14.++ ведет себя разумно, поэтому нет особого стимула, кроме того, что опубликовано здесь. - person Jamie; 17.08.2009