我使用Cyclone V SoC在定制板上工作。
我需要在启动时向U-Boot设备树添加一些信息,并且这些信息存储在I2C设备中。
看来,U-Boot设备树在其执行期间但在重定位之前是只读的。 board_fix_fdt (void *rw_fdt_blob)
功能可用于在重定位之前在设备树上进行更改。
我的问题是我目前无法访问I2C设备。该驱动程序似乎尚未加载。
有人可以给我一些有关在现阶段如何启用I2C的提示吗?
U-Boot版本是2018-05。
解决方案是在u-boot设备树中添加i2c驱动程序以及用于重定位前状态的重置驱动程序:
&rst {
status = "okay";
u-boot,dm-pre-reloc; // HERE
};
&i2c2 {
status = "okay";
u-boot,dm-pre-reloc; // and HERE
}