Re: [PATCH v1 1/5] dt-bindings: PCI: qcom-ep: Add support for SA8775P SoC

From: Mrinmay Sarkar
Date: Mon Oct 16 2023 - 00:25:07 EST



On 10/13/2023 10:08 PM, Dmitry Baryshkov wrote:
On Fri, 13 Oct 2023 at 15:55, Mrinmay Sarkar <quic_msarkar@xxxxxxxxxxx> wrote:

On 10/11/2023 5:13 PM, Dmitry Baryshkov wrote:
On Wed, 11 Oct 2023 at 14:14, Mrinmay Sarkar <quic_msarkar@xxxxxxxxxxx> 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@xxxxxxxxxxx>
---
.../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:
missing min/maxItems for reg and reg-names

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#//
incorrect min/maxItems for interrupts.
I am getting the same warnings even after correcting the min/maxItems for interrupt.
-Mrinmay
//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