主题中讨论的其他器件:BQ25890、 BQ25898
工具/软件:Linux
您好!
我们有一个 bq25898D 连接到运行 Linaro 4.5.9的 Variscite SD410开发套件板。 我们通过 i2c 线将其连接到电路板、并使用 i2cdetect 验证其是否存在。 我们查看了主线中提供的驱动程序、并找到了 bq25890_charger.c 我们将其构建为.ko 并通过 insmod 加载、加载后、控制台上显示以下 syslog 消息。
[710.815822] bq25890-CHARGER 1-006a:ID=2的芯片、不受支持!
bq25898D 具有 ID 3。 查看驱动程序的代码后、我可以轻松地删除 if 语句检查以允许探头函数继续、但即使这样、我们仍需要修改驱动程序、因为 bq25898D 和 bq25890之间的寄存器存在一些差异、即 REG01、REG03和 REG0A。 对于 REG01、我们只需禁用任何写入操作、因为 bq25898D 默认提供所需的值。 只要这些值不发生变化、这对我们来说就行了。 不同之处与不同之处 REG03和 REG0A 变化不大、对我们没有影响。
我的问题:
(1)是否存在专为内核4.4.9上运行的 bq25898D 编写的驱动程序? 如果是、我如何获取它?
(2)如果专门用于 bq25898D 的驱动程序不存在、那么在修改 bq25890_charger.c 驱动程序以接受 ID=3的芯片并避免对 REG01进行任何写入操作时、我是否需要知道任何地雷或 gotchas?
谢谢、
Brian