#i2c #u-boot
Вопрос:
Я пытаюсь получить доступ к своему eeprom в U-Boot. И я написал несколько примеров кода в u-boot, как показано ниже:
uclass_get_device_by_seq(UCLASS_I2C, 2, amp;bus); // The i2c bus is 2
dm_i2c_probe(bus, EEPROM_I2C_BUS_ADDR, 0, amp;dev); // The address is 0x50
Тем не менее, я всегда получал возврат 1 при вызове dm_i2c_probe()
. Но я могу получить доступ к нему из командной строки U-Boot.
=> i2c dev 2
Setting bus to 2
=> i2c probe
Valid chip addresses: 32 50 51 52 53 54 55 56 57
=> i2c md 0x50 0 5
0000: 11 12 13 ff ff .....
=>
Я понятия не имею, почему i2c probe
это сработало, но dm_i2c_probe()
потерпело неудачу. Есть ли кто-нибудь, кто может помочь мне найти причину?