On 04/11/2022 09:10, Marek Vasut wrote: > The i.MX6 and i.MX7D does not use block controller to toggle PCIe > reset, hence the PCIe DT description contains three reset entries > on these older SoCs. Add this exception into the binding document. > > Signed-off-by: Marek Vasut <marex@xxxxxxx> > --- > Cc: Fabio Estevam <festevam@xxxxxxxxx> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx> > Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > Cc: Richard Zhu <hongxing.zhu@xxxxxxx> > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > Cc: Shawn Guo <shawnguo@xxxxxxxxxx> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Cc: NXP Linux Team <linux-imx@xxxxxxx> > To: devicetree@xxxxxxxxxxxxxxx > --- > V2: - Add mx8mq to 3-reset PCIe core variant > - Handle the resets in allOf section > --- > .../bindings/pci/fsl,imx6q-pcie.yaml | 35 +++++++++++++++---- > 1 file changed, 28 insertions(+), 7 deletions(-) > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml > index 2087dab95d679..f461ee2cd5c84 100644 > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml > @@ -69,16 +69,9 @@ properties: > required properties for imx7d-pcie and imx8mq-pcie. > > resets: > - maxItems: 3 This must stay. You miss minItems: 2. > description: Phandles to PCIe-related reset lines exposed by SRC > IP block. Additional required by imx7d-pcie and imx8mq-pcie. > > - reset-names: Keep it here with minItems: 2 and maxItems :3 > - items: > - - const: pciephy > - - const: apps > - - const: turnoff > - > fsl,tx-deemph-gen1: > description: Gen1 De-emphasis value (optional required). > $ref: /schemas/types.yaml#/definitions/uint32 > @@ -270,6 +263,34 @@ allOf: > maxItems: 1 > power-domain-names: false > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - fsl,imx6q-pcie > + - fsl,imx6sx-pcie > + - fsl,imx6qp-pcie > + - fsl,imx7d-pcie > + - fsl,imx8mq-pcie > + then: > + properties: > + resets: > + maxItems: 3 > + reset-names: > + items: > + - const: pciephy > + - const: apps > + - const: turnoff > + else: > + properties: > + resets: > + maxItems: 2 > + reset-names: > + items: > + - const: apps > + - const: turnoff > + > examples: > - | > #include <dt-bindings/clock/imx6qdl-clock.h> Best regards, Krzysztof