U-Boot добавляет узел в дерево устройства во время запуска - PullRequest
0 голосов
/ 29 мая 2020

Я работаю на специальной плате с Cyclone V Итак C.

Мне нужно добавить некоторую информацию в дерево устройств U-Boot при запуске, и эта информация хранится на устройстве I2 C .

Похоже, что дерево устройств U-Boot доступно только для чтения во время его выполнения, но до перемещения. Функцию board_fix_fdt (void *rw_fdt_blob) можно использовать для внесения изменений в дерево устройств перед перемещением.

У меня проблема в том, что я не могу получить доступ к устройству I2 C в это время. Драйвер, похоже, еще не загружен.

Может кто-нибудь дать мне какие-нибудь подсказки, как я могу включить I2 C на этом этапе?

Версия U-Boot - 2018- 05.

1 Ответ

0 голосов
/ 29 мая 2020

Решение состоит в том, чтобы добавить в дерево устройств u-boot драйвер i2 c, а также драйвер сброса для состояний перед перемещением:

&rst {
    status = "okay";
    u-boot,dm-pre-reloc;  // HERE
};

&i2c2 {
    status = "okay";
    u-boot,dm-pre-reloc;   // and HERE
}
...