你可以使用regmap_write()函数向寄存器写入相应的值来配置中断。 u32irq_config =0; irq_config |= IRQF_TRIGGER_RISING;// 设置为上升沿触发irq_config |= IRQF_SHARED;// 设置为共享中断ret = regmap_write(regmap, REG_IRQ_CONFIG, irq_config);if(ret) {
devm_regmap_init_i2c(i2c, config) regmap_exit()是Regmap的注销函数。 regmap_read()/regmap_write()是Regmap读写函数。 其中map是Regmap注册返回的strcut regmap结构体,在Regmap内部表示一个已经注册的Regmap。 intregmap_write(structregmap *map, unsignedintreg, unsignedintval)intregmap_read(structregmap *map...
regmap_write函数原型如下: intregmap_write(structregmap*map,unsignedintreg,unsignedintval) 函数参数和返回值含义如下: - map:要操作的regmap。 - reg:要写的寄存器。 - val:要写的寄存器值。 - 返回值:0,写成功;其他值,写失败。 在regmap_read和regmap_write的基础上还衍生出了其他一些regmap的API函数,首先...
struct regmap_bus定义了一个总线上的读写函数,这一层就像之前对i2c_transfer所做的封装一样。其定义如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 struct regmap_bus{bool fast_io;regmap_hw_write write;regmap_hw_gather_write gather_write;regmap_hw_async_write async_write;regmap_hw_reg_wri...
如果可以使用cache的话,就可以使用regcache_write(map, reg, val)来写入寄存器,目前支持三种缓存类型:数组(flat),LZO压缩,红黑树;这里使用的reg_write(context, reg, val)是regmap-i2c中定义的regmap_smbus_byte_reg_write、regmap_smbus_byte_reg_read。最终使用i2c-smbus的读写寄存器函数。 regmap_multi_reg...
regmap_bulk_write (structregmap* map , unsigned int reg, const void *val, size_t val_count) 函数参数和返回值含义如下: map:要操作的 regmap。 reg:要写的第一个寄存器。 val:要写的寄存器数据缓冲区。 val_count:要写的寄存器数量。 返回值:0,写成功;其他值,读失败。
regmap_write(context, reg, val)是regmap-i2c中定义的函数,用于写入寄存器。该函数支持三种缓存类型:数组(flat)、LZO压缩、红黑树。具体操作最终会调用i2c-smbus的读写寄存器函数。regmap_multi_reg_write函数支持顺序写入多个寄存器,使用reg_sequence结构体保存写入顺序。然后调用_regmap_raw_multi_reg...
在regmap_read和regmap_write的基础上还衍生出了其他一些regmap的 API 函数: /* regmap_update_bits函数,看名字就知道,此函数用来修改寄存器指定的 bit。 * mask:掩码,需要更新的位必须在掩码中设置为 1。 * val:需要更新的位值。 * 比如要将寄存器的 bit1 和 bit2 置 1,那么 mask 应该设置为 0X00000011...
在Linux中,regmap是一个用于访问设备寄存器的抽象层1. 检查返回值:当使用regmap_read()、regmap_write()等函数时,务必检查它们的返回值。这些函数通常会返回一个整...
在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...