Messages in this thread Patch in this message | | | Date | Fri, 13 Oct 2023 18:25:10 +0530 | Subject | Re: [PATCH v1 1/5] dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC | From | Mrinmay Sarkar <> |
| |
On 10/11/2023 5:13 PM, Dmitry Baryshkov wrote: > On Wed, 11 Oct 2023 at 14:14, Mrinmay Sarkar <quic_msarkar@quicinc.com> wrote: >> >> On 10/6/2023 4:24 PM, Shazad Hussain wrote: >>> >>> On 9/22/2023 12:08 AM, Rob Herring wrote: >>>> On Wed, Sep 20, 2023 at 07:25:08PM +0530, Mrinmay Sarkar wrote: >>>>> Add devicetree bindings support for SA8775P SoC. >>>>> Define reg and interrupt per platform. >>>>> >>>>> Signed-off-by: Mrinmay Sarkar <quic_msarkar@quicinc.com> >>>>> --- >>>>> .../devicetree/bindings/pci/qcom,pcie-ep.yaml | 130 >>>>> +++++++++++++++++---- >>>>> 1 file changed, 108 insertions(+), 22 deletions(-) >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml >>>>> b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml >>>>> index a223ce0..e860e8f 100644 >>>>> --- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml >>>>> +++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml >>>>> @@ -13,6 +13,7 @@ properties: >>>>> compatible: >>>>> oneOf: >>>>> - enum: >>>>> + - qcom,sa8775p-pcie-ep >>>>> - qcom,sdx55-pcie-ep >>>>> - qcom,sm8450-pcie-ep >>>>> - items: >>>>> @@ -20,29 +21,19 @@ properties: >>>>> - const: qcom,sdx55-pcie-ep >>>>> reg: >>>>> - items: >>>>> - - description: Qualcomm-specific PARF configuration registers >>>>> - - description: DesignWare PCIe registers >>>>> - - description: External local bus interface registers >>>>> - - description: Address Translation Unit (ATU) registers >>>>> - - description: Memory region used to map remote RC address space >>>>> - - description: BAR memory region >>>>> + minItems: 6 >>>>> + maxItems: 7 >>>>> reg-names: >>>>> - items: >>>>> - - const: parf >>>>> - - const: dbi >>>>> - - const: elbi >>>>> - - const: atu >>>>> - - const: addr_space >>>>> - - const: mmio >>>>> + minItems: 6 >>>>> + maxItems: 7 >>>> Don't move these into if/then schemas. Then we are duplicating the >>>> names, and there is no reason to keep them aligned for new compatibles. >>>> >>>> Rob >>> Hi Rob, >>> As we have one extra reg property (dma) required for sa8775p-pcie-ep, >>> isn't it expected to be moved in if/then as per number of regs >>> required. Anyways we would have duplication of some properties for new >>> compatibles where the member numbers differs for a property. >>> >>> Are you suggesting to add the extra reg property (dma) in the existing >>> reg and reg-names list, and add minItems/maxItems for all compatibles >>> present in this file ? > This is what we have been doing in other cases: if the list is an > extension of the current list, there is no need to duplicate it. One > can use min/maxItems instead. Hi Dmitry
we have tried using min/maxItems rather than duplicating but somehow catch up with some warnings in dt_bindings check
//local/mnt/workspace/Mrinmay/lemans/next-20230914/linux-next/out/Documentation/devicetree/bindings/pci/qcom,pcie-ep.example.dtb: pcie-ep@1c00000: reg: [[29360128, 12288], [1073741824, 3869], [1073745696, 200], [1073745920, 4096], [1073750016, 4096], [29372416, 12288]] is too short// // from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-ep.yaml#// ///local/mnt/workspace/Mrinmay/lemans/next-20230914/linux-next/out/Documentation/devicetree/bindings/pci/qcom,pcie-ep.example.dtb: pcie-ep@1c00000: reg-names: ['parf', 'dbi', 'elbi', 'atu', 'addr_space', 'mmio'] is too short// // from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-ep.yaml#// ///local/mnt/workspace/Mrinmay/lemans/next-20230914/linux-next/out/Documentation/devicetree/bindings/pci/qcom,pcie-ep.example.dtb: pcie-ep@1c00000: interrupts: [[0, 140, 4], [0, 145, 4]] is too short// // from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-ep.yaml#// ///local/mnt/workspace/Mrinmay/lemans/next-20230914/linux-next/out/Documentation/devicetree/bindings/pci/qcom,pcie-ep.example.dtb: pcie-ep@1c00000: interrupt-names: ['global', 'doorbell'] is too short// // from schema $id: http://devicetree.org/schemas/pci/qcom,pcie-ep.yaml#// /
//local/mnt/workspace/Mrinmay/lemans/next-20230914/linux-next/out/Documentation/devicetree/bindings/pci/qcom,pcie-ep.example.dtb: pcie-ep@1c00000: interrupt-names: ['global', 'doorbell'] is too short/
added the patch in attachment.
--Mrinmay
>>> -Shazad >> Here we have defined reg and interrupt per platform as clocks is defined. >> >> -Mrinmay >> >From 520653ae6996366942f21a8942b5d8ac33e30ee3 Mon Sep 17 00:00:00 2001 From: Mrinmay Sarkar <quic_msarkar@quicinc.com> Date: Fri, 13 Oct 2023 18:09:56 +0530 Subject: [PATCH] dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC
Add devicetree bindings support for SA8775P SoC.
Signed-off-by: Mrinmay Sarkar <quic_msarkar@quicinc.com> --- .../devicetree/bindings/pci/qcom,pcie-ep.yaml | 73 ++++++++++++++++++- 1 file changed, 70 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml index a223ce029cab..00eef92685a2 100644 --- a/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml +++ b/Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml @@ -13,9 +13,11 @@ properties: compatible: oneOf: - enum: + - qcom,sa8775p-pcie-ep - qcom,sdx55-pcie-ep - qcom,sm8450-pcie-ep - items: + - const: qcom,sa8775p-pcie-ep - const: qcom,sdx65-pcie-ep - const: qcom,sdx55-pcie-ep @@ -27,6 +29,7 @@ properties: - description: Address Translation Unit (ATU) registers - description: Memory region used to map remote RC address space - description: BAR memory region + - description: DMA register space reg-names: items: @@ -36,13 +39,14 @@ properties: - const: atu - const: addr_space - const: mmio + - const: dma clocks: - minItems: 7 + minItems: 5 maxItems: 8 clock-names: - minItems: 7 + minItems: 5 maxItems: 8 qcom,perst-regs: @@ -60,11 +64,13 @@ properties: items: - description: PCIe Global interrupt - description: PCIe Doorbell interrupt + - description: DMA interrupt interrupt-names: items: - const: global - const: doorbell + - const: dma reset-gpios: description: GPIO used as PERST# input signal @@ -125,7 +131,13 @@ allOf: - qcom,sdx55-pcie-ep then: properties: - clocks: + reg: + maxItems: 6 + minItems: 6 + reg-names: + maxItems: 6 + minItems: 6 + clocks: items: - description: PCIe Auxiliary clock - description: PCIe CFG AHB clock @@ -143,6 +155,12 @@ allOf: - const: slave_q2a - const: sleep - const: ref + interrupts: + maxItems: 2 + minItems: 2 + interrupt-names: + maxItems: 3 + minItems: 3 - if: properties: @@ -152,6 +170,13 @@ allOf: - qcom,sm8450-pcie-ep then: properties: + properties: + reg: + maxItems: 6 + minItems: 6 + reg-names: + maxItems: 6 + minItems: 6 clocks: items: - description: PCIe Auxiliary clock @@ -172,6 +197,48 @@ allOf: - const: ref - const: ddrss_sf_tbu - const: aggre_noc_axi + interrupts: + maxItems: 2 + minItems: 2 + interrupt-names: + maxItems: 3 + minItems: 3 + + - if: + properties: + compatible: + contains: + enum: + - qcom,sa8775p-pcie-ep + then: + properties: + properties: + reg: + maxItems: 7 + minItems: 7 + reg-names: + maxItems: 7 + minItems: 7 + clocks: + items: + - description: PCIe Auxiliary clock + - description: PCIe CFG AHB clock + - description: PCIe Master AXI clock + - description: PCIe Slave AXI clock + - description: PCIe Slave Q2A AXI clock + clock-names: + items: + - const: aux + - const: cfg + - const: bus_master + - const: bus_slave + - const: slave_q2a + interrupts: + maxItems: 3 + minItems: 3 + interrupt-names: + maxItems: 3 + minItems: 3 unevaluatedProperties: false -- 2.17.1
| |