[PATCH v2 01/10] dt-bindings: hwmon: Describe Qualcomm BCL hardware
From: Manaf Meethalavalappu Pallikunhi
Date: Tue Jul 21 2026 - 15:12:48 EST
Qualcomm SPMI PMIC BCL (Battery Current Limiting) is a safety feature
that monitors battery or system voltage and current to alert system
for overcurrent or undervoltage conditions.
It provides:
- Real-time voltage and current monitoring
- Configurable thresholds per channel
- Hardware interrupts when thresholds are violated
Add a DeviceTree binding to describe the BCL on Qualcomm's PMICs.
Add sensor type to SPMI device list for BCL device.
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@xxxxxxxxxxxxxxxx>
---
.../bindings/hwmon/qcom,pm7250b-bcl.yaml | 64 ++++++++++++++++++++++
.../devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 4 ++
MAINTAINERS | 7 +++
3 files changed, 75 insertions(+)
diff --git a/Documentation/devicetree/bindings/hwmon/qcom,pm7250b-bcl.yaml b/Documentation/devicetree/bindings/hwmon/qcom,pm7250b-bcl.yaml
new file mode 100644
index 000000000000..3c069e94a34e
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/qcom,pm7250b-bcl.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/qcom,pm7250b-bcl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm SPMI PMIC Battery Current Limiting (BCL) Hardware Monitor
+
+maintainers:
+ - Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@xxxxxxxxxxxxxxxx>
+
+description:
+ SPMI PMIC Battery Current Limiting (BCL) hardware provides monitoring and
+ alarm functionality for battery overcurrent and battery or system under
+ voltage conditions. It monitors battery voltage and current, and
+ can trigger interrupts when configurable thresholds are exceeded.
+
+properties:
+ compatible:
+ enum:
+ - qcom,pm7250b-bcl
+ - qcom,pm8350c-bcl
+ - qcom,pm8550-bcl
+ - qcom,pmh0101-bcl
+ - qcom,pmih0108-bcl
+ - qcom,smb2360-bcl
+ - qcom,smb2370-bcl
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 2
+
+ interrupt-names:
+ items:
+ - const: max-min
+ - const: critical
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ pmic {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ sensor@1d00 {
+ compatible = "qcom,pm7250b-bcl";
+ reg = <0x1d00>;
+ interrupts = <0x2 0x1d 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x1d 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "max-min",
+ "critical";
+ };
+ };
diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
index 809be2756a0c..3caee21a02ad 100644
--- a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
+++ b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
@@ -190,6 +190,10 @@ patternProperties:
type: object
$ref: /schemas/rtc/qcom-pm8xxx-rtc.yaml#
+ "^sensor@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/hwmon/qcom,pm7250b-bcl.yaml#
+
"^temp-alarm@[0-9a-f]+$":
type: object
$ref: /schemas/thermal/qcom,spmi-temp-alarm.yaml#
diff --git a/MAINTAINERS b/MAINTAINERS
index 16b73f5825d6..1b178d3a91ad 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -22176,6 +22176,13 @@ S: Maintained
F: Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml
F: drivers/net/wwan/qcom_bam_dmux.c
+QUALCOMM BCL HARDWARE MONITOR DRIVER
+M: Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@xxxxxxxxxxxxxxxx>
+L: linux-hwmon@xxxxxxxxxxxxxxx
+L: linux-arm-msm@xxxxxxxxxxxxxxx
+S: Maintained
+F: Documentation/devicetree/bindings/hwmon/qcom,pm7250b-bcl.yaml
+
QUALCOMM BLUETOOTH DRIVER
M: Bartosz Golaszewski <brgl@xxxxxxxxxx>
L: linux-arm-msm@xxxxxxxxxxxxxxx
--
2.43.0