Re: [PATCH 1/4] dt-bindings: hwmon: Add qcom,bcl-hwmon yaml bindings

Dmitry Baryshkov
2026-02-06T09:08:14Z

On Fri, Feb 06, 2026 at 02:44:05AM +0530, Manaf Meethalavalappu Pallikunhi wrote:
> 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@oss.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@oss.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

You need to explain your abbreviations. What is BMX? What is WB (and
yep, they should be capital letters). What is the difference between all
three of them?

> + 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@1d00 {
> + 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>;

How is going to be used by the power supply subsystem?

> + };
> + };
>
> --
> 2.43.0
>

--
With best wishes
Dmitry