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

Manaf Meethalavalappu Pallikunhi
2026-02-12T20:24:57Z

Hi Krzysztof,

On 2/6/2026 1:39 PM, Krzysztof Kozlowski wrote:
> On Fri, Feb 06, 2026 at 02:44:05AM +0530, Manaf Meethalavalappu Pallikunhi wrote:
>> Add devicetree binding documentation for Qualcomm PMIC Battery Current
> Subject - You almost hit bingo of what not to do. You miss the third one.
> When you hit the bingo, get in touch for a beer.
>
> And before, read the docs, because this was repeated SO MANY TIMES.
Sure, I will update in next revision
>
>
>> 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: |
> Do not need '|' unless you need to preserve formatting.
ACK
>
>> + 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
> Drop all bcl fallbacks. Pointless, incorrect and misleading.
ACK
>
>> +
>> + - 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
> I really do not get what you are expressing here but all this is wrong.
>
>> +
>> + reg:
>> + maxItems: 1
>> + description: BCL base address in the SPMI PMIC register map
> Bus defines it. Drop descrip=tion.
ACK
>
>> +
>> + interrupts:
>> + minItems: 2
> Drop.
ACK
>
>> + maxItems: 2
>> + description:
>> + BCL alarm interrupts for different threshold levels
> Drop
ACK
>
>> +
>> + interrupt-names:
>> + items:
>> + - const: bcl-max-min
>> + - const: bcl-critical
> Drop bcl
ACK
>
>> +
>> + 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
> No, please read basic guides or presentations about DT bindings. The
> suffix already defines this.
ACK
>
>> + minItems: 2
>> + maxItems: 2
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - interrupt-names
>> +
>> +unevaluatedProperties: false
> You did not bother to read the docs prior to posting this.
>
> You are supposed to do internal review first. Did it happen? I checked
> and cannot find anything. It's not acceptable to use the community
> instead of your internal review.
>
> NAK
My understanding is, it is optional. I will send v2 for internal review.
>
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/interrupt-controller/irq.h>
>> +
>> + pmic {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + bcl@1d00 {
> Node names should be generic. See also an explanation and list of
> examples (not exhaustive) in DT specification:
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
> If you cannot find a name matching your device, please check in kernel
> sources for similar cases or you can grow the spec (via pull request to
> DT spec repo).

ACK, Will use  node name as  sensor

Thanks,

Manaf

>
> Best regards,
> Krzysztof
>