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(-)
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
--
2.34.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
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
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
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
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
© 2016 - 2026 Red Hat, Inc.