[PATCH 1/3] ASoC: dt-bindings: fsl,xcvr: Adjust the number of interrupts

Shengjiu Wang posted 3 patches 1 year, 5 months ago
There is a newer version of this series
[PATCH 1/3] ASoC: dt-bindings: fsl,xcvr: Adjust the number of interrupts
Posted by Shengjiu Wang 1 year, 5 months ago
On i.MX8MP, there are 3 interrupts, the third interrupt is
SPDIF wakeup interrupt from PHY

Add ref: dai-common.yaml for #sound-dai-cells is needed and
XCVR is a DAI device.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 Documentation/devicetree/bindings/sound/fsl,xcvr.yaml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
index 197ae8ba9c30..7470866e11c6 100644
--- a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
+++ b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
@@ -42,6 +42,7 @@ properties:
     items:
       - description: WAKEUPMIX Audio XCVR Interrupt 1
       - description: WAKEUPMIX Audio XCVR Interrupt 2
+      - description: SPDIF wakeup interrupt from PHY
     minItems: 1
 
   clocks:
@@ -88,6 +89,7 @@ required:
   - dma-names
 
 allOf:
+  - $ref: dai-common.yaml#
   - if:
       properties:
         compatible:
@@ -112,7 +114,7 @@ allOf:
     else:
       properties:
         interrupts:
-          maxItems: 1
+          maxItems: 3
 
   - if:
       properties:
@@ -128,7 +130,7 @@ allOf:
         clock-names:
           maxItems: 4
 
-additionalProperties: false
+unevaluatedProperties: false
 
 examples:
   - |
-- 
2.34.1
Re: [PATCH 1/3] ASoC: dt-bindings: fsl,xcvr: Adjust the number of interrupts
Posted by Krzysztof Kozlowski 1 year, 5 months ago
On 25/06/2024 06:56, Shengjiu Wang wrote:
> On i.MX8MP, there are 3 interrupts, the third interrupt is
> SPDIF wakeup interrupt from PHY
> 
> Add ref: dai-common.yaml for #sound-dai-cells is needed and
> XCVR is a DAI device.
> 
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> ---
>  Documentation/devicetree/bindings/sound/fsl,xcvr.yaml | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> index 197ae8ba9c30..7470866e11c6 100644
> --- a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> +++ b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> @@ -42,6 +42,7 @@ properties:
>      items:
>        - description: WAKEUPMIX Audio XCVR Interrupt 1
>        - description: WAKEUPMIX Audio XCVR Interrupt 2
> +      - description: SPDIF wakeup interrupt from PHY
>      minItems: 1
>  
>    clocks:
> @@ -88,6 +89,7 @@ required:
>    - dma-names
>  
>  allOf:
> +  - $ref: dai-common.yaml#
>    - if:
>        properties:
>          compatible:
> @@ -112,7 +114,7 @@ allOf:
>      else:
>        properties:
>          interrupts:
> -          maxItems: 1
> +          maxItems: 3

I have doubts this was tested. The existing example should fail,
although I did not see any reports. Not sure why.

Best regards,
Krzysztof
Re: [PATCH 1/3] ASoC: dt-bindings: fsl,xcvr: Adjust the number of interrupts
Posted by Shengjiu Wang 1 year, 5 months ago
On Wed, Jun 26, 2024 at 5:23 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 25/06/2024 06:56, Shengjiu Wang wrote:
> > On i.MX8MP, there are 3 interrupts, the third interrupt is
> > SPDIF wakeup interrupt from PHY
> >
> > Add ref: dai-common.yaml for #sound-dai-cells is needed and
> > XCVR is a DAI device.
> >
> > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > ---
> >  Documentation/devicetree/bindings/sound/fsl,xcvr.yaml | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> > index 197ae8ba9c30..7470866e11c6 100644
> > --- a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> > +++ b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> > @@ -42,6 +42,7 @@ properties:
> >      items:
> >        - description: WAKEUPMIX Audio XCVR Interrupt 1
> >        - description: WAKEUPMIX Audio XCVR Interrupt 2
> > +      - description: SPDIF wakeup interrupt from PHY
> >      minItems: 1
> >
> >    clocks:
> > @@ -88,6 +89,7 @@ required:
> >    - dma-names
> >
> >  allOf:
> > +  - $ref: dai-common.yaml#
> >    - if:
> >        properties:
> >          compatible:
> > @@ -112,7 +114,7 @@ allOf:
> >      else:
> >        properties:
> >          interrupts:
> > -          maxItems: 1
> > +          maxItems: 3
>
> I have doubts this was tested. The existing example should fail,
> although I did not see any reports. Not sure why.

it is tested, because the minItems is 1. so the example can pass

Best regards
Shengjiu Wang
>
> Best regards,
> Krzysztof
>
Re: [PATCH 1/3] ASoC: dt-bindings: fsl,xcvr: Adjust the number of interrupts
Posted by Krzysztof Kozlowski 1 year, 5 months ago
On 26/06/2024 11:25, Shengjiu Wang wrote:
> On Wed, Jun 26, 2024 at 5:23 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>
>> On 25/06/2024 06:56, Shengjiu Wang wrote:
>>> On i.MX8MP, there are 3 interrupts, the third interrupt is
>>> SPDIF wakeup interrupt from PHY
>>>
>>> Add ref: dai-common.yaml for #sound-dai-cells is needed and
>>> XCVR is a DAI device.
>>>
>>> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
>>> ---
>>>  Documentation/devicetree/bindings/sound/fsl,xcvr.yaml | 6 ++++--
>>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
>>> index 197ae8ba9c30..7470866e11c6 100644
>>> --- a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
>>> +++ b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
>>> @@ -42,6 +42,7 @@ properties:
>>>      items:
>>>        - description: WAKEUPMIX Audio XCVR Interrupt 1
>>>        - description: WAKEUPMIX Audio XCVR Interrupt 2
>>> +      - description: SPDIF wakeup interrupt from PHY
>>>      minItems: 1
>>>
>>>    clocks:
>>> @@ -88,6 +89,7 @@ required:
>>>    - dma-names
>>>
>>>  allOf:
>>> +  - $ref: dai-common.yaml#
>>>    - if:
>>>        properties:
>>>          compatible:
>>> @@ -112,7 +114,7 @@ allOf:
>>>      else:
>>>        properties:
>>>          interrupts:
>>> -          maxItems: 1
>>> +          maxItems: 3
>>
>> I have doubts this was tested. The existing example should fail,
>> although I did not see any reports. Not sure why.
> 
> it is tested, because the minItems is 1. so the example can pass
> 

That's a very unexpected change in dtschema. It indeed passes, but is
not correct. Why interrupts are flexible? This should be constrained.
Let's wait for Rob's confirmation that this is not a bug in dtschema.

Anyway, update example to be complete in next version.

Best regards,
Krzysztof

Re: [PATCH 1/3] ASoC: dt-bindings: fsl,xcvr: Adjust the number of interrupts
Posted by Krzysztof Kozlowski 1 year, 5 months ago
On 26/06/2024 11:34, Krzysztof Kozlowski wrote:
>>>>      items:
>>>>        - description: WAKEUPMIX Audio XCVR Interrupt 1
>>>>        - description: WAKEUPMIX Audio XCVR Interrupt 2
>>>> +      - description: SPDIF wakeup interrupt from PHY
>>>>      minItems: 1
>>>>
>>>>    clocks:
>>>> @@ -88,6 +89,7 @@ required:
>>>>    - dma-names
>>>>
>>>>  allOf:
>>>> +  - $ref: dai-common.yaml#
>>>>    - if:
>>>>        properties:
>>>>          compatible:
>>>> @@ -112,7 +114,7 @@ allOf:
>>>>      else:
>>>>        properties:
>>>>          interrupts:
>>>> -          maxItems: 1
>>>> +          maxItems: 3
>>>
>>> I have doubts this was tested. The existing example should fail,
>>> although I did not see any reports. Not sure why.
>>
>> it is tested, because the minItems is 1. so the example can pass
>>
> 
> That's a very unexpected change in dtschema. It indeed passes, but is
> not correct. Why interrupts are flexible? This should be constrained.
> Let's wait for Rob's confirmation that this is not a bug in dtschema.

Yep we need here minItems as well, so this is strictly constrained or
please explain why this should be flexible.


Best regards,
Krzysztof
Re: [PATCH 1/3] ASoC: dt-bindings: fsl,xcvr: Adjust the number of interrupts
Posted by Shengjiu Wang 1 year, 5 months ago
On Wed, Jun 26, 2024 at 9:35 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 26/06/2024 11:34, Krzysztof Kozlowski wrote:
> >>>>      items:
> >>>>        - description: WAKEUPMIX Audio XCVR Interrupt 1
> >>>>        - description: WAKEUPMIX Audio XCVR Interrupt 2
> >>>> +      - description: SPDIF wakeup interrupt from PHY
> >>>>      minItems: 1
> >>>>
> >>>>    clocks:
> >>>> @@ -88,6 +89,7 @@ required:
> >>>>    - dma-names
> >>>>
> >>>>  allOf:
> >>>> +  - $ref: dai-common.yaml#
> >>>>    - if:
> >>>>        properties:
> >>>>          compatible:
> >>>> @@ -112,7 +114,7 @@ allOf:
> >>>>      else:
> >>>>        properties:
> >>>>          interrupts:
> >>>> -          maxItems: 1
> >>>> +          maxItems: 3
> >>>
> >>> I have doubts this was tested. The existing example should fail,
> >>> although I did not see any reports. Not sure why.
> >>
> >> it is tested, because the minItems is 1. so the example can pass
> >>
> >
> > That's a very unexpected change in dtschema. It indeed passes, but is
> > not correct. Why interrupts are flexible? This should be constrained.
> > Let's wait for Rob's confirmation that this is not a bug in dtschema.
>
> Yep we need here minItems as well, so this is strictly constrained or
> please explain why this should be flexible.
>
Ok, will add minitems:3 here, and update example.

Best regards
Shengjiu Wang
>
> Best regards,
> Krzysztof
>