Message ID | 20250102113019.1347068-4-quic_varada@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Krzysztof WilczyĆski |
Headers | show |
Series | Add PCIe support for Qualcomm IPQ5332 | expand |
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
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
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(-)