基于VisionFive开发板的u-boot i2c驱动模型配置

需积分: 12 3 下载量 90 浏览量 更新于2024-08-05 收藏 616KB DOCX 举报
u-boot中的i2c驱动模型----visionfive开发板 u-boot中的i2c驱动模型是如何实现的?在visionfive开发板中,我们可以通过配置选项来使能I2C驱动模型。首先,我们需要在生成的.config文件中查看i2c总线的配置选项。在.config文件中,我们可以看到CONFIG_I2C=y,这个宏使能I2C驱动模型。在drivers/i2c/Kconfig文件中,我们可以看到I2C类接口的probe、read、write和speed是通过总线驱动的操作方法来实现的。 这些操作方法提供了对于总线设置和数据传送的操作函数。每一个芯片级设备(bus的孩子)信息都被保存做父平台。这个个接口在include/i2c.h中定义。在menuconfig界面中,我们可以看到相应的配置选项,选择这些选项将会将CONFIG_I2C=y写入.config文件。 在编译u-boot时,这个选项将会编译drivers/i2c目录下的”i2c-uclass.c”文件到u-boot中。同理,我们可以看到“CONFIG_SYS_I2C_DW=y”选项,这将会编译designware_i2c.c控制器文件。在i2c驱动目录中,我们可以看到多种i2c控制器的实现方式,例如fsl_i2c.c、davinic_i2c.c、at91_i2c.c等等。 在u-boot中的i2c驱动模型中,我们可以看到I2C类接口的实现方式。在i2c-uclass.c文件中,我们可以看到I2C类接口的probe、read、write和speed的实现方式。这些操作方法提供了对于总线设置和数据传送的操作函数。在designware_i2c.c文件中,我们可以看到DesignwareI2C主控制器的实现方式。 DesignwareI2C主控制器是一个通用的i2c控制器,可以用于各种soc,如STSPEAr、AlteraSoCFPGA、SynopsysARC700和一些Intelx86soc。在u-boot中的i2c驱动模型中,我们可以看到多种i2c控制器的实现方式,例如fsl_i2c.c、davinic_i2c.c、at91_i2c.c等等。 在visionfive开发板中,我们可以通过配置选项来选择不同的i2c控制器。在menuconfig界面中,我们可以看到多种i2c控制器的选项,例如DesignwareI2C主控制器、FSL I2C控制器、DAVINCI I2C控制器等等。选择这些选项将会将相应的i2c控制器编译到u-boot中。 u-boot中的i2c驱动模型是通过配置选项来选择不同的i2c控制器,并编译相应的i2c控制器文件到u-boot中。在visionfive开发板中,我们可以通过配置选项来实现i2c驱动模型,并选择不同的i2c控制器来满足不同的应用需求。