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.

[参考译文] BQ27421-G1:bq27421-G1

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/590154/bq27421-g1-bq27421-g1

器件型号:BQ27421-G1

大家好、我在 Linux 论坛上有一个有关此问题的支持主题、但 TI 代表已指示我访问此论坛来处理我遇到的问题的一个方面。

首先、我将提供一些背景。  我们在 Variscite SD410 SOM 上运行 Linaro 4.4.9、并使用 preempt RT 补丁。  我们已将 bq27421-G1连接到 SOM、并使用 i2cdetect 和 i2cget 命令验证了功能。  我们安装了 bq27xxx_battery 驱动程序、最初无法正常工作。  应用以下两个修补程序后: marc.info/ 和 patchwork.kernel.org/.../,它可以在/sys/class/power_supply 下创建和更新文件系统的方面工作,但它会出现使 SOM 无法使用的问题。

问题出在这里。  驱动程序所做的某些操作会导致系统日志不断溢出。  此行为在我们加载驱动程序时开始、并且在卸载驱动程序时停止。  系统日志中唯一可用的 dmesg 条目重复包含以下内容:

[144.049378] systemd-journale[1489]:/dev/kmsg 缓冲区溢出,一些消息丢失。

在 Linux 表单上处理此问题的 TI 代表说:  我只是摘录最相关的内容。

看起来像、 bq27xxx_battery_IRQ_handler_thread ()-中断持续发生 、这会调用 bq27xxx_battery_update ()-> power_supply_changed ()调用此 uevent

是的、它经常更新电池值。 可能是电量监测计、电池需要某种校准(我不确定)。

我想猜。 但是、代码中有一个流[缺陷]来判断电池是否已校准。

以下是指向整个支持线程的链接: e2e.ti.com/.../2168095

TI 能否提供有关消除此问题的指导?

谢谢、
Brian

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

    校准不会影响监测计将连续发出中断的中断。 您可以检查监测计配置和硬件是否有正确的中断信号。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我找到了系统日志溢出问题的答案。 显然、内核配置项会在有 I2C 或电源设备时导致这种情况、bq27421-G1都是这两种情况。

    CONFIG_POWER_SUPPLY_DEBUG
    CONFIG_I2C_DEBUG_CORE

    bugs.freedesktop.org/show_bug.cgi

    此 URL 指示为避免这种情况,请禁用这两个配置项中的一个。 我仅启用了 CONFIG_POWER_SUPPLY_DEBUG、并且存在问题。 我必须禁用它、同时已禁用 CONFIG_I2C_DEBUG_CORE 以解决该问题。