On Mon, Aug 22, 2022 at 04:57:24PM -0500, Rob Herring wrote: > On Mon, 22 Aug 2022 21:46:46 +0300, Serge Semin wrote: > > It's normal to have the DW PCIe RP/EP DT-nodes equipped with the explicit > > PHY phandle references. There can be up to 16 PHYs attach in accordance > > with the maximum number of supported PCIe lanes. Let's extend the common > > DW PCIe controller schema with the 'phys' and 'phy-names' properties > > definition. The PHY names are defined with the regexp pattern > > '^pcie([0-9]+|-?phy[0-9]*)?$' so to match the names currently supported by > > the DW PCIe platform drivers ("pcie": meson; "pciephy": qcom, imx6; > > "pcie-phy": uniphier, rockchip, spear13xx; "pcie": intel-gw; "pcie-phy%d": > > keystone, dra7xx; "pcie": histb, etc). Though the "pcie%d" format would > > the most preferable in this case. > > > > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > > > --- > > > > Changelog v3: > > - This is a new patch unpinned from the next one: > > https://lore.kernel.org/linux-pci/20220503214638.1895-2-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx/ > > by the Rob' request. (@Rob) > > > > Changelog v5: > > - Add a note about having line-based PHY phandles order. (@Rob) > > - Prefer 'pcie[0-9]+' PHY-names over the rest of the cases. (@Rob) > > --- > > .../bindings/pci/snps,dw-pcie-common.yaml | 19 +++++++++++++++++++ > > .../bindings/pci/snps,dw-pcie-ep.yaml | 3 +++ > > .../devicetree/bindings/pci/snps,dw-pcie.yaml | 3 +++ > > 3 files changed, 25 insertions(+) > > > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' > on your patch (DT_CHECKER_FLAGS is new in v5.13): > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.example.dtb: pcie@14180000: phy-names: 'oneOf' conditional failed, one must be fixed: > 'p2u-0' does not match '^pcie[0-9]+$' > 'p2u-0' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-1' does not match '^pcie[0-9]+$' > 'p2u-1' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-2' does not match '^pcie[0-9]+$' > 'p2u-2' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-3' does not match '^pcie[0-9]+$' > 'p2u-3' does not match '^pcie(-?phy[0-9]*)?$' Right. I've missed the Nvidia Tegra194 phy-names. I'll mark them as deprecated too. Meanwhile @Rob could you review the rest of the series? -Sergey > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.example.dtb: pcie@14180000: Unevaluated properties are not allowed ('#address-cells', '#interrupt-cells', '#size-cells', 'bus-range', 'device_type', 'interrupt-map', 'interrupt-map-mask', 'linux,pci-domain', 'num-lanes', 'ranges', 'supports-clkreq' were unexpected) > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.example.dtb: pcie@14160000: phy-names: 'oneOf' conditional failed, one must be fixed: > 'p2u-0' does not match '^pcie[0-9]+$' > 'p2u-0' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-1' does not match '^pcie[0-9]+$' > 'p2u-1' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-2' does not match '^pcie[0-9]+$' > 'p2u-2' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-3' does not match '^pcie[0-9]+$' > 'p2u-3' does not match '^pcie(-?phy[0-9]*)?$' > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.example.dtb: pcie@14160000: Unevaluated properties are not allowed ('#address-cells', '#interrupt-cells', '#size-cells', 'bus-range', 'device_type', 'interrupt-map', 'interrupt-map-mask', 'linux,pci-domain', 'num-lanes', 'num-viewport', 'ranges' were unexpected) > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.example.dtb: pcie-ep@141a0000: phy-names: 'oneOf' conditional failed, one must be fixed: > 'p2u-0' does not match '^pcie[0-9]+$' > 'p2u-0' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-1' does not match '^pcie[0-9]+$' > 'p2u-1' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-2' does not match '^pcie[0-9]+$' > 'p2u-2' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-3' does not match '^pcie[0-9]+$' > 'p2u-3' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-4' does not match '^pcie[0-9]+$' > 'p2u-4' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-5' does not match '^pcie[0-9]+$' > 'p2u-5' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-6' does not match '^pcie[0-9]+$' > 'p2u-6' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-7' does not match '^pcie[0-9]+$' > 'p2u-7' does not match '^pcie(-?phy[0-9]*)?$' > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.example.dtb: pcie-ep@141a0000: Unevaluated properties are not allowed ('num-lanes' was unexpected) > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.example.dtb: pcie-ep@141a0000: phy-names: 'oneOf' conditional failed, one must be fixed: > 'p2u-0' does not match '^pcie[0-9]+$' > 'p2u-0' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-1' does not match '^pcie[0-9]+$' > 'p2u-1' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-2' does not match '^pcie[0-9]+$' > 'p2u-2' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-3' does not match '^pcie[0-9]+$' > 'p2u-3' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-4' does not match '^pcie[0-9]+$' > 'p2u-4' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-5' does not match '^pcie[0-9]+$' > 'p2u-5' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-6' does not match '^pcie[0-9]+$' > 'p2u-6' does not match '^pcie(-?phy[0-9]*)?$' > 'p2u-7' does not match '^pcie[0-9]+$' > 'p2u-7' does not match '^pcie(-?phy[0-9]*)?$' > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.yaml > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.example.dtb: pcie-ep@141a0000: Unevaluated properties are not allowed ('num-lanes' was unexpected) > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie-ep.yaml > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/patch/ > > This check can fail if there are any dependencies. The base for a patch > series is generally the most recent rc1. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit. >