[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260206-qcom-bcl-hwmon-v1-1-7b426f0b77a1@oss.qualcomm.com>
Date: Fri, 06 Feb 2026 02:44:05 +0530
From: Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@....qualcomm.com>
To: Guenter Roeck <linux@...ck-us.net>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, amit.kucheria@....qualcomm.com,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Gaurav Kohli <gaurav.kohli@....qualcomm.com>
Cc: linux-hwmon@...r.kernel.org, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@....qualcomm.com>
Subject: [PATCH 1/4] dt-bindings: hwmon: Add qcom,bcl-hwmon yaml bindings
Add devicetree binding documentation for Qualcomm PMIC Battery Current
Limiting (BCL) hardware monitor. The BCL hardware provides monitoring
and alarm functionality for battery overcurrent and battery/system
under voltage conditions.
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@....qualcomm.com>
---
.../devicetree/bindings/hwmon/qcom,bcl-hwmon.yaml | 128 +++++++++++++++++++++
1 file changed, 128 insertions(+)
diff --git a/Documentation/devicetree/bindings/hwmon/qcom,bcl-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/qcom,bcl-hwmon.yaml
new file mode 100644
index 000000000000..a0e8eaf13eec
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/qcom,bcl-hwmon.yaml
@@ -0,0 +1,128 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/qcom,bcl-hwmon.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@....qualcomm.com>
+
+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:
+ oneOf:
+ - description: v1 based BCL
+ items:
+ - enum:
+ - qcom,pm7250b-bcl
+ - qcom,pm8250b-bcl
+ - const: qcom,bcl-v1
+
+ - description: v2 based BCL
+ items:
+ - enum:
+ - qcom,pm8350b-bcl
+ - qcom,pm8350c-bcl
+ - const: qcom,bcl-v2
+
+ - description: v3 bmx based BCL
+ items:
+ - enum:
+ - qcom,pm8550b-bcl
+ - qcom,pm7550ba-bcl
+ - const: qcom,bcl-v3-bmx
+
+ - description: v3 core based BCL
+ items:
+ - enum:
+ - qcom,pm8550-bc0l
+ - qcom,pm7550-bcl
+ - const: qcom,bcl-v3-core
+
+ - description: v3 wb based BCL
+ items:
+ - enum:
+ - qcom,pmw5100-bcl
+ - const: qcom,bcl-v3-wb
+
+ - description: v4 bmx based BCL
+ items:
+ - enum:
+ - qcom,pmih010-bcl
+ - const: qcom,bcl-v4-bmx
+
+ - description: v4 bmx with different scale based BCL
+ items:
+ - enum:
+ - qcom,pmv010-bcl
+ - const: qcom,bcl-v4-pmv010
+
+ - description: v4 core based BCL
+ items:
+ - enum:
+ - qcom,pmh010-bcl
+ - const: qcom,bcl-v4-core
+
+ - description: v4 wb based BCL
+ items:
+ - enum:
+ - qcom,pmw6100-bcl
+ - const: qcom,bcl-v4-wb
+
+ reg:
+ maxItems: 1
+ description: BCL base address in the SPMI PMIC register map
+
+ interrupts:
+ minItems: 2
+ maxItems: 2
+ description:
+ BCL alarm interrupts for different threshold levels
+
+ interrupt-names:
+ items:
+ - const: bcl-max-min
+ - const: bcl-critical
+
+ overcurrent-thresholds-milliamp:
+ description:
+ Current thresholds in milliamperes for the two configurable current
+ alarm levels (max and critical). These values are used to override
+ default thresholds if a platform has different battery ocp specification.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 2
+ maxItems: 2
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ pmic {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ bcl@...0 {
+ compatible = "qcom,pm7250b-bcl", "qcom,bcl-v1";
+ reg = <0x1d00>;
+ interrupts = <0x2 0x1d 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x1d 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "bcl-max-min",
+ "bcl-critical";
+ overcurrent-thresholds-milliamp = <5500 6000>;
+ };
+ };
--
2.43.0
Powered by blists - more mailing lists