diff mbox series

[1/2] dt-bindings: pwm: nxp,lpc32xx-pwm: Add optional Motor Control PWM interrupt

Message ID 20260110014524.3379187-2-vz@mleia.com
State Changes Requested
Headers show
Series arm: dts: lpc32xx: Add Motor Control PWM interrupt | expand

Commit Message

Vladimir Zapolskiy Jan. 10, 2026, 1:45 a.m. UTC
NXP LPC32xx Motor Control PWM has an interrupt line shared with TIMER4,
and the interrupt may be used to report events from programmable counters
e.g. timer counter limit (period), match counter (pulse-width), or from
counters on input lines of PWM channels.

As a reference and for more details see NXP LPC32xx User Manual, table 595.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
 .../devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml       | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Krzysztof Kozlowski Jan. 12, 2026, 9:10 a.m. UTC | #1
On Sat, Jan 10, 2026 at 03:45:23AM +0200, Vladimir Zapolskiy wrote:
> NXP LPC32xx Motor Control PWM has an interrupt line shared with TIMER4,
> and the interrupt may be used to report events from programmable counters
> e.g. timer counter limit (period), match counter (pulse-width), or from
> counters on input lines of PWM channels.
> 
> As a reference and for more details see NXP LPC32xx User Manual, table 595.
> 
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> ---
>  .../devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml       | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml b/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
> index cdd83ac29caf..53520f005acb 100644
> --- a/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
> +++ b/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
> @@ -32,6 +32,16 @@ required:
>  
>  allOf:
>    - $ref: pwm.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - nxp,lpc3220-motor-pwm
> +    then:
> +      properties:
> +        interrupts:
> +          maxItems: 1

Properties must be defined in top-level. You only narrow constraints or
disallow them :false per variant in if:then: blocks.

Best regards,
Krzysztof
Vladimir Zapolskiy Jan. 12, 2026, 10:14 a.m. UTC | #2
On 1/12/26 11:10, Krzysztof Kozlowski wrote:
> On Sat, Jan 10, 2026 at 03:45:23AM +0200, Vladimir Zapolskiy wrote:
>> NXP LPC32xx Motor Control PWM has an interrupt line shared with TIMER4,
>> and the interrupt may be used to report events from programmable counters
>> e.g. timer counter limit (period), match counter (pulse-width), or from
>> counters on input lines of PWM channels.
>>
>> As a reference and for more details see NXP LPC32xx User Manual, table 595.
>>
>> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
>> ---
>>   .../devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml       | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml b/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
>> index cdd83ac29caf..53520f005acb 100644
>> --- a/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
>> +++ b/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
>> @@ -32,6 +32,16 @@ required:
>>   
>>   allOf:
>>     - $ref: pwm.yaml#
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - nxp,lpc3220-motor-pwm
>> +    then:
>> +      properties:
>> +        interrupts:
>> +          maxItems: 1
> 
> Properties must be defined in top-level. You only narrow constraints or
> disallow them :false per variant in if:then: blocks.
> 

It makes sense. In this case would it be better to split the schema file
into two, one for each PWM type? Two described PWM types are too unsimilar,
apparently it was wrong to merge them under a single .yaml file in the commit
4cd2f417a0ac ("dt-bindings: pwm: Convert lpc32xx-pwm.txt to yaml format").
Uwe Kleine-König Jan. 20, 2026, 6:10 p.m. UTC | #3
Hello,

On Mon, Jan 12, 2026 at 12:14:39PM +0200, Vladimir Zapolskiy wrote:
> On 1/12/26 11:10, Krzysztof Kozlowski wrote:
> > On Sat, Jan 10, 2026 at 03:45:23AM +0200, Vladimir Zapolskiy wrote:
> > > NXP LPC32xx Motor Control PWM has an interrupt line shared with TIMER4,
> > > and the interrupt may be used to report events from programmable counters
> > > e.g. timer counter limit (period), match counter (pulse-width), or from
> > > counters on input lines of PWM channels.
> > > 
> > > As a reference and for more details see NXP LPC32xx User Manual, table 595.
> > > 
> > > Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> > > ---
> > >   .../devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml       | 10 ++++++++++
> > >   1 file changed, 10 insertions(+)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml b/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
> > > index cdd83ac29caf..53520f005acb 100644
> > > --- a/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
> > > +++ b/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
> > > @@ -32,6 +32,16 @@ required:
> > >   allOf:
> > >     - $ref: pwm.yaml#
> > > +  - if:
> > > +      properties:
> > > +        compatible:
> > > +          contains:
> > > +            enum:
> > > +              - nxp,lpc3220-motor-pwm
> > > +    then:
> > > +      properties:
> > > +        interrupts:
> > > +          maxItems: 1
> > 
> > Properties must be defined in top-level. You only narrow constraints or
> > disallow them :false per variant in if:then: blocks.
> 
> It makes sense. In this case would it be better to split the schema file
> into two, one for each PWM type? Two described PWM types are too unsimilar,
> apparently it was wrong to merge them under a single .yaml file in the commit
> 4cd2f417a0ac ("dt-bindings: pwm: Convert lpc32xx-pwm.txt to yaml format").

No strong feeling either way from my side. I marked this patch as
"changes requested" in patchwork and drop if from my mailbox.

Best regards
Uwe
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml b/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
index cdd83ac29caf..53520f005acb 100644
--- a/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
+++ b/Documentation/devicetree/bindings/pwm/nxp,lpc3220-pwm.yaml
@@ -32,6 +32,16 @@  required:
 
 allOf:
   - $ref: pwm.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - nxp,lpc3220-motor-pwm
+    then:
+      properties:
+        interrupts:
+          maxItems: 1
 
 unevaluatedProperties: false