[PATCH] dt-bindings: pwm: Convert lpc32xx-pwm.txt to YAML schema

Purva Yeshi purvayeshi550 at gmail.com
Tue Mar 11 07:55:37 PDT 2025


On 11/03/25 18:52, Krzysztof Kozlowski wrote:
> On 11/03/2025 13:57, Purva Yeshi wrote:
>> Convert the existing `lpc32xx-pwm.txt` bindings documentation into a
>> YAML schema (`lpc32xx-pwm.yaml`).
>>
>> Changes:
>>
>> Add SPDX license identifier `(GPL-2.0-only OR BSD-2-Clause)`.
> 
> That's not a change in the binding.
> 
>> Define `$id` and `$schema` fields for proper schema validation.
>> Set `title` to describe the LPC32XX PWM controller.
> 
> Neither these.
> 
>> Add maintainers as per `scripts/get_maintainer.pl` output.
> 
> These should not be subsystem maintainers.

I have removed the subsystem maintainers and included only relevant ones:
      Vladimir Zapolskiy <vz at mleia.com>
      Piotr Wojtaszczyk <piotr.wojtaszczyk at timesys.com>

> 
>> Reference `pwm.yaml#` in `allOf` to inherit common PWM properties.
> 
> Not a change to the binding.
> 
>>
>> Define properties:
>> Restrict `compatible` to `"nxp,lpc3220-pwm"` using `const`.
>> Limit `reg` to `maxItems: 1` to ensure a single register range.
>> Set `"#pwm-cells"` to `const: 3` for expected PWM cell properties.
>>
>> Mark `compatible` and `reg` as required properties.
> 
> So it wasn't before? What are you implying here?

The compatible and reg properties were already present in the .txt file, 
but in a different format. I initially kept the commit message for them 
but have now removed it.

> 
>> Set `unevaluatedProperties: false` to enforce strict validation.
>>
>> Validate the YAML schema using dt-validate and yamllint.
> 
> None of above is suitable for commit msg.

I have removed all commit message parts you mentioned.

> 
>>
>> Signed-off-by: Purva Yeshi <purvayeshi550 at gmail.com>
>> ---
>>   .../devicetree/bindings/pwm/lpc32xx-pwm.yaml  | 45 +++++++++++++++++++
>>   1 file changed, 45 insertions(+)
> 
> Where is the conversion?

Apologies for the confusion. I missed removing lpc32xx-pwm.txt. I'll 
delete it in the next version to properly reflect the conversion.

> 
>>   create mode 100644 Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>> new file mode 100644
>> index 000000000..3e41cd291
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pwm/lpc32xx-pwm.yaml
>> @@ -0,0 +1,45 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/pwm/nxp,lpc32xx-pwm.yaml#
> 
> Filename matching compatible.

In the lpc32xx-pwm.txt file, the compatible property was defined as 
"nxp,lpc3220-pwm", so I have kept it the same. To ensure consistency 
between the filename and compatible, should I rename the file to 
nxp,lpc3220-pwm.yaml?

> 
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: LPC32XX PWM controller
>> +
>> +maintainers:
>> +  - "Uwe Kleine-König <ukleinek at kernel.org>"
>> +  - "Vladimir Zapolskiy <vz at mleia.com>"
>> +  - "Piotr Wojtaszczyk <piotr.wojtaszczyk at timesys.com>"
> 
> Look at other bindings - none of them use quotes.
> 
>> +
>> +allOf:
>> +  - $ref: pwm.yaml#
>> +
>> +properties:
>> +  compatible:
>> +    const: nxp,lpc3220-pwm
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  "#pwm-cells":
>> +    const: 3
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> +  - |
>> +    pwm at 4005c000 {
>> +        compatible = "nxp,lpc3220-pwm";
>> +        reg = <0x4005c000 0x4>;
>> +        #pwm-cells = <3>;
>> +    };
>> +  - |
>> +    pwm at 4005c004 {
>> +        compatible = "nxp,lpc3220-pwm";
> 
> One example is enough.

Okay. I'll remove the second example and keep only one in the next version.

> 
> 
> 
> Best regards,
> Krzysztof

Best regards,
Purva Yeshi



More information about the linux-arm-kernel mailing list