mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-21 06:50:25 +00:00

The KEBA battery monitoring controller is found in the system FPGA of KEBA PLC devices. It puts a load on the coin cell battery to check the state of the battery. If the coin cell battery is nearly empty, then the user space is signaled with a hwmon alarm. The auxiliary device for this driver is instantiated by the cp500 misc driver. Signed-off-by: Gerhard Engleder <eg@keba.com> Link: https://lore.kernel.org/r/20250409190830.60489-1-gerhard@engleder-embedded.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
60 lines
2.6 KiB
ReStructuredText
60 lines
2.6 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
Kernel driver kbatt
|
|
===================
|
|
|
|
Supported chips:
|
|
|
|
* KEBA battery monitoring controller (IP core in FPGA)
|
|
|
|
Prefix: 'kbatt'
|
|
|
|
Authors:
|
|
|
|
Gerhard Engleder <eg@keba.com>
|
|
Petar Bojanic <boja@keba.com>
|
|
|
|
Description
|
|
-----------
|
|
|
|
The KEBA battery monitoring controller is an IP core for FPGAs, which
|
|
monitors the health of a coin cell battery. The coin cell battery is
|
|
typically used to supply the RTC during power off to keep the current
|
|
time. E.g., the CP500 FPGA includes this IP core to monitor the coin cell
|
|
battery of PLCs and the corresponding cp500 driver creates an auxiliary
|
|
device for the kbatt driver.
|
|
|
|
This driver provides information about the coin cell battery health to
|
|
user space. Actually the user space shall be informed that the coin cell
|
|
battery is nearly empty and needs to be replaced.
|
|
|
|
The coin cell battery must be tested actively to get to know if its nearly
|
|
empty or not. Therefore, a load is put on the coin cell battery and the
|
|
resulting voltage is evaluated. This evaluation is done by some hard wired
|
|
analog logic, which compares the voltage to a defined limit. If the
|
|
voltage is above the limit, then the coin cell battery is assumed to be
|
|
ok. If the voltage is below the limit, then the coin cell battery is
|
|
nearly empty (or broken, removed, ...) and shall be replaced by a new one.
|
|
The KEBA battery monitoring controller allows to start the test of the
|
|
coin cell battery and to get the result if the voltage is above or below
|
|
the limit. The actual voltage is not available. Only the information if
|
|
the voltage is below a limit is available.
|
|
|
|
The test load, which is put on the coin cell battery for the health check,
|
|
is similar to the load during power off. Therefore, the lifetime of the
|
|
coin cell battery is reduced directly by the duration of each test. To
|
|
limit the negative impact to the lifetime the test is limited to at most
|
|
once every 10 seconds. The test load is put on the coin cell battery for
|
|
100ms. Thus, in worst case the coin cell battery lifetime is reduced by
|
|
1% of the uptime or 3.65 days per year. As the coin cell battery lasts
|
|
multiple years, this lifetime reduction negligible.
|
|
|
|
This driver only provides a single alarm attribute, which is raised when
|
|
the coin cell battery is nearly empty.
|
|
|
|
====================== ==== ===================================================
|
|
Attribute R/W Contents
|
|
====================== ==== ===================================================
|
|
in0_min_alarm R voltage of coin cell battery under load is below
|
|
limit
|
|
====================== ==== ===================================================
|