diff mbox series

[v5,3/5] dt-bindings: PCI: qcom: Document the IPQ5332 PCIe controller

Message ID 20250102113019.1347068-4-quic_varada@quicinc.com (mailing list archive)
State Superseded
Headers show
Series Add PCIe support for Qualcomm IPQ5332 | expand

Commit Message

Varadarajan Narayanan Jan. 2, 2025, 11:30 a.m. UTC
Document the PCIe controller on IPQ5332 platform.

Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
---
v5: Re-arrange 5332 and 9574 compatibles to handle fallback usage in dts

v4: * v3 reused ipq9574 bindings for ipq5332. Instead add one for ipq5332
    * DTS uses ipq9574 compatible as fallback. Hence move ipq9574 to be able
      to use the 'reg' section for both ipq5332 and ipq9574. Else, dtbs_check
      and dt_binding_check flag errors.
---
 Documentation/devicetree/bindings/pci/qcom,pcie.yaml | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Comments

Krzysztof Kozlowski Jan. 3, 2025, 7:45 a.m. UTC | #1
On Thu, Jan 02, 2025 at 05:00:17PM +0530, Varadarajan Narayanan wrote:
> Document the PCIe controller on IPQ5332 platform.
> 
> Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> ---
> v5: Re-arrange 5332 and 9574 compatibles to handle fallback usage in dts

What? How this is related to commit msg?

> 
> v4: * v3 reused ipq9574 bindings for ipq5332. Instead add one for ipq5332
>     * DTS uses ipq9574 compatible as fallback. Hence move ipq9574 to be able
>       to use the 'reg' section for both ipq5332 and ipq9574. Else, dtbs_check
>       and dt_binding_check flag errors.
> ---
>  Documentation/devicetree/bindings/pci/qcom,pcie.yaml | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> index bd87f6b49d68..9f37eca1ce0d 100644
> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> @@ -26,7 +26,6 @@ properties:
>            - qcom,pcie-ipq8064-v2
>            - qcom,pcie-ipq8074
>            - qcom,pcie-ipq8074-gen3
> -          - qcom,pcie-ipq9574

I don't understand this change at all and your commit msg explains
here nothing.

Best regards,
Krzysztof
Varadarajan Narayanan Jan. 7, 2025, 11:05 a.m. UTC | #2
On Fri, Jan 03, 2025 at 08:45:14AM +0100, Krzysztof Kozlowski wrote:
> On Thu, Jan 02, 2025 at 05:00:17PM +0530, Varadarajan Narayanan wrote:
> > Document the PCIe controller on IPQ5332 platform.
> >
> > Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> > ---
> > v5: Re-arrange 5332 and 9574 compatibles to handle fallback usage in dts
>
> What? How this is related to commit msg?
>
> >
> > v4: * v3 reused ipq9574 bindings for ipq5332. Instead add one for ipq5332
> >     * DTS uses ipq9574 compatible as fallback. Hence move ipq9574 to be able
> >       to use the 'reg' section for both ipq5332 and ipq9574. Else, dtbs_check
> >       and dt_binding_check flag errors.
> > ---
> >  Documentation/devicetree/bindings/pci/qcom,pcie.yaml | 10 ++++++++--
> >  1 file changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> > index bd87f6b49d68..9f37eca1ce0d 100644
> > --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> > +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> > @@ -26,7 +26,6 @@ properties:
> >            - qcom,pcie-ipq8064-v2
> >            - qcom,pcie-ipq8074
> >            - qcom,pcie-ipq8074-gen3
> > -          - qcom,pcie-ipq9574
>
> I don't understand this change at all and your commit msg explains
> here nothing.

All DT entries except "reg" is similar between ipq5332 and
ipq9574. ipq9574 has 5 registers while ipq5332 has 6. MHI is the
additional (i.e. sixth) entry for ipq5332.

If ipq9574 is not removed from here, dt_binding_check gives the
following errors

1.	/local/mnt/workspace/varada/upstream/pci-v6/arch/arm64/boot/dts/qcom/ipq5332-rdp474.dtb: pcie@18000000: reg: [[557056, 12288], [402653184, 3869], [402657056, 168], [402657280, 4096], [403701760, 4096], [569344, 4096]] is too long

	Failed validating 'maxItems' in schema['allOf'][2]['then']['properties']['reg']:
	    {'maxItems': 5, 'minItems': 5}

2.	/local/mnt/workspace/varada/upstream/pci-v6/arch/arm64/boot/dts/qcom/ipq5332-rdp474.dtb: pcie@18000000: reg-names: ['parf', 'dbi', 'elbi', 'atu', 'config', 'mhi'] is too long

	Failed validating 'maxItems' in schema['allOf'][2]['then']['properties']['reg-names']:
	    {'items': [{'const': 'dbi'},
		       {'const': 'elbi'},
		       {'const': 'atu'},
		       {'const': 'parf'},
		       {'const': 'config'}],
	     'maxItems': 5,
	     'minItems': 5,
	     'type': 'array'}

Hence had to remove it from here and add it to the sdx55 reg
definition.

Will capture this in the commit message.

Thanks
Varada
Krzysztof Kozlowski Jan. 8, 2025, 7:19 a.m. UTC | #3
On 07/01/2025 12:05, Varadarajan Narayanan wrote:
>>> ---
>>>  Documentation/devicetree/bindings/pci/qcom,pcie.yaml | 10 ++++++++--
>>>  1 file changed, 8 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>>> index bd87f6b49d68..9f37eca1ce0d 100644
>>> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>>> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>>> @@ -26,7 +26,6 @@ properties:
>>>            - qcom,pcie-ipq8064-v2
>>>            - qcom,pcie-ipq8074
>>>            - qcom,pcie-ipq8074-gen3
>>> -          - qcom,pcie-ipq9574
>>
>> I don't understand this change at all and your commit msg explains
>> here nothing.
> 
> All DT entries except "reg" is similar between ipq5332 and
> ipq9574. ipq9574 has 5 registers while ipq5332 has 6. MHI is the
> additional (i.e. sixth) entry for ipq5332.
> 
> If ipq9574 is not removed from here, dt_binding_check gives the
> following errors
> 
> 1.	/local/mnt/workspace/varada/upstream/pci-v6/arch/arm64/boot/dts/qcom/ipq5332-rdp474.dtb: pcie@18000000: reg: [[557056, 12288], [402653184, 3869], [402657056, 168], [402657280, 4096], [403701760, 4096], [569344, 4096]] is too long
> 
> 	Failed validating 'maxItems' in schema['allOf'][2]['then']['properties']['reg']:
> 	    {'maxItems': 5, 'minItems': 5}
> 
> 2.	/local/mnt/workspace/varada/upstream/pci-v6/arch/arm64/boot/dts/qcom/ipq5332-rdp474.dtb: pcie@18000000: reg-names: ['parf', 'dbi', 'elbi', 'atu', 'config', 'mhi'] is too long
> 
> 	Failed validating 'maxItems' in schema['allOf'][2]['then']['properties']['reg-names']:
> 	    {'items': [{'const': 'dbi'},
> 		       {'const': 'elbi'},
> 		       {'const': 'atu'},
> 		       {'const': 'parf'},
> 		       {'const': 'config'}],
> 	     'maxItems': 5,
> 	     'minItems': 5,
> 	     'type': 'array'}
> 
> Hence had to remove it from here and add it to the sdx55 reg
> definition.

So you entirely dropped constrain for regs. No. This has to be fixed,
not dropped.
Best regards,
Krzysztof
Varadarajan Narayanan Jan. 8, 2025, 7:40 a.m. UTC | #4
On Wed, Jan 08, 2025 at 08:19:19AM +0100, Krzysztof Kozlowski wrote:
> On 07/01/2025 12:05, Varadarajan Narayanan wrote:
> >>> ---
> >>>  Documentation/devicetree/bindings/pci/qcom,pcie.yaml | 10 ++++++++--
> >>>  1 file changed, 8 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> >>> index bd87f6b49d68..9f37eca1ce0d 100644
> >>> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> >>> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
> >>> @@ -26,7 +26,6 @@ properties:
> >>>            - qcom,pcie-ipq8064-v2
> >>>            - qcom,pcie-ipq8074
> >>>            - qcom,pcie-ipq8074-gen3
> >>> -          - qcom,pcie-ipq9574
> >>
> >> I don't understand this change at all and your commit msg explains
> >> here nothing.
> >
> > All DT entries except "reg" is similar between ipq5332 and
> > ipq9574. ipq9574 has 5 registers while ipq5332 has 6. MHI is the
> > additional (i.e. sixth) entry for ipq5332.
> >
> > If ipq9574 is not removed from here, dt_binding_check gives the
> > following errors
> >
> > 1.	/local/mnt/workspace/varada/upstream/pci-v6/arch/arm64/boot/dts/qcom/ipq5332-rdp474.dtb: pcie@18000000: reg: [[557056, 12288], [402653184, 3869], [402657056, 168], [402657280, 4096], [403701760, 4096], [569344, 4096]] is too long
> >
> > 	Failed validating 'maxItems' in schema['allOf'][2]['then']['properties']['reg']:
> > 	    {'maxItems': 5, 'minItems': 5}
> >
> > 2.	/local/mnt/workspace/varada/upstream/pci-v6/arch/arm64/boot/dts/qcom/ipq5332-rdp474.dtb: pcie@18000000: reg-names: ['parf', 'dbi', 'elbi', 'atu', 'config', 'mhi'] is too long
> >
> > 	Failed validating 'maxItems' in schema['allOf'][2]['then']['properties']['reg-names']:
> > 	    {'items': [{'const': 'dbi'},
> > 		       {'const': 'elbi'},
> > 		       {'const': 'atu'},
> > 		       {'const': 'parf'},
> > 		       {'const': 'config'}],
> > 	     'maxItems': 5,
> > 	     'minItems': 5,
> > 	     'type': 'array'}
> >
> > Hence had to remove it from here and add it to the sdx55 reg
> > definition.
>
> So you entirely dropped constrain for regs. No. This has to be fixed,
> not dropped.

ipq9574 is not dropped entirely. It is clubbed with sdx55's
constraints. Please see this

	@@ -206,6 +208,8 @@ allOf:
		 compatible:
		   contains:
		     enum:
	+              - qcom,pcie-ipq5332
	+              - qcom,pcie-ipq9574
		       - qcom,pcie-sdx55
	     then:
	       properties:

Thanks
Varada
Krzysztof Kozlowski Jan. 8, 2025, 10:10 a.m. UTC | #5
On 08/01/2025 08:40, Varadarajan Narayanan wrote:
> On Wed, Jan 08, 2025 at 08:19:19AM +0100, Krzysztof Kozlowski wrote:
>> On 07/01/2025 12:05, Varadarajan Narayanan wrote:
>>>>> ---
>>>>>  Documentation/devicetree/bindings/pci/qcom,pcie.yaml | 10 ++++++++--
>>>>>  1 file changed, 8 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>>>>> index bd87f6b49d68..9f37eca1ce0d 100644
>>>>> --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>>>>> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
>>>>> @@ -26,7 +26,6 @@ properties:
>>>>>            - qcom,pcie-ipq8064-v2
>>>>>            - qcom,pcie-ipq8074
>>>>>            - qcom,pcie-ipq8074-gen3
>>>>> -          - qcom,pcie-ipq9574
>>>>
>>>> I don't understand this change at all and your commit msg explains
>>>> here nothing.
>>>
>>> All DT entries except "reg" is similar between ipq5332 and
>>> ipq9574. ipq9574 has 5 registers while ipq5332 has 6. MHI is the
>>> additional (i.e. sixth) entry for ipq5332.
>>>
>>> If ipq9574 is not removed from here, dt_binding_check gives the
>>> following errors
>>>
>>> 1.	/local/mnt/workspace/varada/upstream/pci-v6/arch/arm64/boot/dts/qcom/ipq5332-rdp474.dtb: pcie@18000000: reg: [[557056, 12288], [402653184, 3869], [402657056, 168], [402657280, 4096], [403701760, 4096], [569344, 4096]] is too long
>>>
>>> 	Failed validating 'maxItems' in schema['allOf'][2]['then']['properties']['reg']:
>>> 	    {'maxItems': 5, 'minItems': 5}
>>>
>>> 2.	/local/mnt/workspace/varada/upstream/pci-v6/arch/arm64/boot/dts/qcom/ipq5332-rdp474.dtb: pcie@18000000: reg-names: ['parf', 'dbi', 'elbi', 'atu', 'config', 'mhi'] is too long
>>>
>>> 	Failed validating 'maxItems' in schema['allOf'][2]['then']['properties']['reg-names']:
>>> 	    {'items': [{'const': 'dbi'},
>>> 		       {'const': 'elbi'},
>>> 		       {'const': 'atu'},
>>> 		       {'const': 'parf'},
>>> 		       {'const': 'config'}],
>>> 	     'maxItems': 5,
>>> 	     'minItems': 5,
>>> 	     'type': 'array'}
>>>
>>> Hence had to remove it from here and add it to the sdx55 reg
>>> definition.
>>
>> So you entirely dropped constrain for regs. No. This has to be fixed,
>> not dropped.
> 
> ipq9574 is not dropped entirely. It is clubbed with sdx55's
> constraints. Please see this
> 
> 	@@ -206,6 +208,8 @@ allOf:
> 		 compatible:
> 		   contains:
> 		     enum:
> 	+              - qcom,pcie-ipq5332
> 	+              - qcom,pcie-ipq9574
> 		       - qcom,pcie-sdx55
Correct, not dropped entirely, but now it receives mhi for no reason.
This should be separate commit with its own explanation - why ipq9574
has now MHI address space.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
index bd87f6b49d68..9f37eca1ce0d 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml
@@ -26,7 +26,6 @@  properties:
           - qcom,pcie-ipq8064-v2
           - qcom,pcie-ipq8074
           - qcom,pcie-ipq8074-gen3
-          - qcom,pcie-ipq9574
           - qcom,pcie-msm8996
           - qcom,pcie-qcs404
           - qcom,pcie-sdm845
@@ -34,6 +33,10 @@  properties:
       - items:
           - const: qcom,pcie-msm8998
           - const: qcom,pcie-msm8996
+      - items:
+          - enum:
+              - qcom,pcie-ipq5332
+          - const: qcom,pcie-ipq9574
 
   reg:
     minItems: 4
@@ -165,7 +168,6 @@  allOf:
             enum:
               - qcom,pcie-ipq6018
               - qcom,pcie-ipq8074-gen3
-              - qcom,pcie-ipq9574
     then:
       properties:
         reg:
@@ -206,6 +208,8 @@  allOf:
         compatible:
           contains:
             enum:
+              - qcom,pcie-ipq5332
+              - qcom,pcie-ipq9574
               - qcom,pcie-sdx55
     then:
       properties:
@@ -407,6 +411,7 @@  allOf:
         compatible:
           contains:
             enum:
+              - qcom,pcie-ipq5332
               - qcom,pcie-ipq9574
     then:
       properties:
@@ -555,6 +560,7 @@  allOf:
               enum:
                 - qcom,pcie-apq8064
                 - qcom,pcie-ipq4019
+                - qcom,pcie-ipq5332
                 - qcom,pcie-ipq8064
                 - qcom,pcie-ipq8064v2
                 - qcom,pcie-ipq8074