在regmap_read和regmap_write的基础上还衍生出了其他一些regmap的API函数,首先是regmap_update_bits函数,此函数用来修改寄存器指定的bit,函数原型如下: intregmap_update_bits(structregmap*map,unsignedintreg,unsignedintmask,unsignedintval) 函数参数和返
intregmap_read(structregmap *map,unsignedintreg,unsignedint*val);intregmap_write(structregmap *map,unsignedintreg,unsignedintval); 在regmap_read和regmap_write的基础上还衍生出了其他一些regmap的 API 函数: /* regmap_update_bits函数,看名字就知道,此函数用来修改寄存器指定的 bit。 * mask:掩码,需要更新的...
在regmap_read 和 regmap_write 的基础上还衍生出了其他一些 regmap 的 API 函数,首先是regmap_update_bits 函数。看名字就知道,此函数用来修改寄存器指定的 bit,函数原型如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 intregmap_update_bits(struct regmap*map,unsigned int reg,unsigned int mask,uns...
// 1.构建regmap_config结构staticconststructregmap_configmlx90632_regmap={// 寄存器地址位宽.reg_bits=16,// 寄存器值的位宽,必须填写.val_bits=16,// 可选,判断寄存器是否可写,可读,是否可缓冲等回调.volatile_table=&mlx90632_volatile_regs_tbl,.rd_table=&mlx90632_readable_regs_tbl,.wr_table=&mlx9...
当然,regmap同样适用于操作cpu自身的寄存器。将i2c、spi、mmio、irq都抽象出统一的接口regmap_read、regmap_write、regmap_update_bits等接口 ,从而提高代码的可重用性,并且使得在使用如上内核基础组件时变得更为简单易用。 regmap是在 linux 内核为减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件寄...
regmap_update_bits (structregmap* map , unsigned int reg, unsigned int mask, unsigned int val, 函数参数和返回值含义如下: map:要操作的 regmap。 reg:要操作的寄存器。 mask:掩码,需要更新的位必须在掩码中设置为 1。 val:需要更新的位值。
在设备驱动中,你可以使用regmap提供的 API 来访问设备寄存器。例如,你可以使用regmap_read()、regmap_write()、regmap_update_bits()等函数来读取、写入和修改寄存器。 intreg_value;//读取寄存器值ret=regmap_read(my_dev->regmap, MY_DEVICE_REG_ADDR, _value);if(ret)returnret;//修改寄存器值ret=regmap_upd...
int regmap_update_bits(struct regmap *map, uint offset, uint mask, uint val) { uint reg; int ret; ret = regmap_read(map, offset, ®); if (ret) return ret; reg &= ~mask; return regmap_write(map, offset, reg | val); } 10 changes: 10 additions & 0 deletions 10 include/regm...
int(*reg_update_bits)(void*context,unsignedintreg, unsignedintmask,unsignedintval); /* Bulk read/write */ int(*read)(void*context,constvoid*reg_buf,size_treg_size, void*val_buf,size_tval_size); int(*write)(void*context,constvoid*data,size_tcount); ...
regmap_hw_reg_write reg_write;--写值到单个寄存器。regmap_hw_reg_update_bits reg_update_bits; regmap_hw_read read;--读一定大小数据到buffer。regmap_hw_reg_read reg_read;--从单个寄存器读取值。regmap_hw_free_context free_context; regmap_hw_async_alloc async_alloc; ...