This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ25622:Linux 驱动程序问题

Guru**** 2387060 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1387002/bq25622-issues-with-linux-driver

器件型号:BQ25622

工具与软件:

嗨、

我最近收到了一个用于 BQ2562x 芯片的 Linux 驱动程序。 我注意到一些有趣的事情:

1.) bq2562x_charger.h

#define BQ2562X_WATCHDOG_MASK  0x01
根据数据表、看门狗计时器为两位、这不是 BQ2562X_WATCHDOG_MASK   0x03吗?  在 hw_init 函数中、代码对其进行设置
  RET = regmap_update_bits (bq->regmapBQ2562X_CHRG_CTRL_0
         bQ2562X_WATCHDOG_MASKwd_reg_val);
这意味着使用此掩码时、它将被禁用或40s (仅传播最后一位)。
2) IIUC 驱动器的运行模式、然后看门狗计时器不会在0x16寄存器的所有 WD_RST 位上打孔、而是在到期时、会生成中断  
bq2562x_IRQ_HANDLER_THREAD 中断处理程序将读取寄存器、并有望检测到 ICHG (充电电流限制)已发生变化、因为根据数据表、每次发生看门狗超时、它都会减半。 我想在   POWER_SUPPLY_CHANGED ()调用的结果下、一些更高级别的实体会通过 bq2562x_SET_PROPERTY 再次对充电电流限制进行重新编程? 这不是次优吗?
谢谢、BR、
Nandor
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    只是 sayin ,我失去了计数的错误数修复的这个驱动程序. 我相信您发送的驱动程序从未使用真正的硬件进行过测试。

    最重要的是:

    -有逻辑错误完全禁用看门狗(>而不是>=),因此将不会收到 IRQ。

    - IBAT LSB ADC 寄存器未被声明为易失性,因此它不会在更改时重新读取

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经解决了我能找到的所有问题。 此外、还更改了一个位的运行模式、由看门狗超时、单次 ADC 读数等驱动

    https://github.com/EffectiveRange/drv-bq25622

    在 Raspberry Pi brcm2835靶心操作系统(6.1.21+)内核版本上构建并运行良好。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、还移除了 驱动程序的 USB 部分、就像拔下/插入充电器时将出现中断、并且将查询状态。 USB 通知对我来说有点多余、因此我将其完全删除。