方法介绍:
Kernel驱动程序主要通过I2C / SPI / SPMI等总线操作外部设备的寄存器,
Kernel Regmap提供了非常方便的总线操作接口集,其中,regmap_update_bits() / regmap_write_bits()
就是用于简化按位操作外部设备的寄存器的通用接口。
regmap_update_bits() / regmap_write_bits()调用的_regmap_update_bits()实现原型如下:
如上图四个步骤实现解析 :
1、参数mask用于指定需要操作的寄存器bit/bits
Kernel标准宏集:
、
定义单个Bit mask

本文介绍了Kernel驱动程序如何通过Regmap接口进行按位操作外部设备的寄存器,特别是regmap_update_bits()和regmap_write_bits()函数的使用。文章详细阐述了四个操作步骤,并强调了这种方法的封装性和易用性。同时,提供了一个应用实例,展示了如何定义寄存器地址和位掩码,并封装位操作函数。最后,对于不能使用Kernel Regmap的情况,建议参考_regmap_update_bits的实现来为特定总线定制位操作函数。

1498

被折叠的 条评论
为什么被折叠?



