|
Regmap 框架的主要分为物理总线、Regmap核心、Regmap API三部分组成。 Regmap物理总线(Regmap Bus): Regmap物理总线是Regmap框架的底层物理接口,用于实现与实际硬件之间的通信。不同的总线类型(如SPI、I2C、MMIO)可以通过适当的驱动程序与Regmap物理总线进行集成。每种物理总线都提供了一组操作函数,用于读取和写入寄存器。 Regmap核心(Regmap Core): Regmap核心提供了Regmap框架的核心功能,包括寄存器缓存、寄存器操作函数、错误处理等。它的主要职责是管理寄存器的读写操作、缓存寄存器值,并处理错误条件。Regmap核心还提供了一些工具函数,用于解析和处理寄存器值,如位字段操作等。 Regmap API: Regmap框架提供了一组API函数,用于在驱动程序中使用Regmap进行寄存器访问。这些API函数包括: regmap_init_():用于初始化Regmap对象,其中""表示具体的物理总线类型,如regmap_init_spi()用于初始化SPI总线上的Regmap对象。 regmap_read()和regmap_write():用于读取和写入单个寄存器的值。 regmap_bulk_read()和regmap_bulk_write():用于批量读取和写入多个寄存器的值。 regmap_read_poll_timeout():用于定期轮询一个寄存器的值,直到达到指定的条件或超时。
|