On Wed, Dec 13, 2023 at 10:39:20AM -0500, Frank Li wrote: > On Wed, Dec 13, 2023 at 08:36:15AM -0600, Rob Herring wrote: > > On Tue, Dec 12, 2023 at 06:28:43PM -0500, Frank Li wrote: > > > On Tue, Dec 12, 2023 at 04:44:26PM -0600, Rob Herring wrote: > > > > On Mon, Dec 11, 2023 at 04:58:37PM -0500, Frank Li wrote: > > > > > From: Richard Zhu <hongxing.zhu@xxxxxxx> > > > > > > > > > > Add i.MX95 PCIe "fsl,imx95-pcie" compatible string. > > > > > Add "atu" and "serdes" to reg-names. > > > > > > > > > > Signed-off-by: Richard Zhu <hongxing.zhu@xxxxxxx> > > > > > --- > > > > > > > > > > Notes: > > > > > Change from v2 to v3 > > > > > - Remove krzy's ACK tag > > > > > - Add condition check for imx95, which required more reg-names then old > > > > > platform, so need Krzy review again, > > > > > > > > > > Change from v1 to v2 > > > > > - add Krzy's ACK tag > > > > > > > > > > .../bindings/pci/fsl,imx6q-pcie.yaml | 18 ++++++++++++++++++ > > > > > 1 file changed, 18 insertions(+) > > > > > > > > > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml > > > > > index 81bbb8728f0f9..b8fcf8258f031 100644 > > > > > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml > > > > > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml > > > > > @@ -29,6 +29,7 @@ properties: > > > > > - fsl,imx8mq-pcie > > > > > - fsl,imx8mm-pcie > > > > > - fsl,imx8mp-pcie > > > > > + - fsl,imx95-pcie > > > > > > > > > > reg: > > > > > items: > > > > > @@ -90,6 +91,22 @@ required: > > > > > allOf: > > > > > - $ref: /schemas/pci/snps,dw-pcie.yaml# > > > > > - $ref: /schemas/pci/fsl,imx6q-pcie-common.yaml# > > > > > + - if: > > > > > + properties: > > > > > + compatible: > > > > > + enum: > > > > > + - fsl,imx95-pcie > > > > > + then: > > > > > + properties: > > > > > + reg: > > > > > + minItems: 4 > > > > > + reg-names: > > > > > + items: > > > > > + - const: dbi > > > > > + - const: serdes > > > > > > > > Did you test this? It should fail because 'serdes' would need to be > > > > added to snps,dw-pcie.yaml. > > > > > > I run "make dt_binding_check DT_SCHEMA_FILES=/pci/", no error report. > > > > Only because you have no example. What about your actual .dts? > > I see. 95 is quite new. Still have not good base yet. > I may just take take care this session. > > > > > > And PCIe function can work. > > > > > > > > > > > Is this really not a separate phy block? > > > > > > This is misc block, which included phy and also include some registers > > > about SID for each PCI devices. I plan do it later. > > > > Sounds like it should be a separate node and use the phy binding. Do it > > correctly from the start, not later. Later is an ABI break. > > Actually, I considerred phy binding. The major problem is LUT (look up > table) for MSI and SMMU. LUT need be config according to some PCI device > information. I have not find good hook for that at PHY driver. > > > > > What is SID? > > Stream ID, each device master have SID, which pass to IOMMU and GIC ITS. > > Frank Similar case at commit c6523c4a301d3adff7ddcf57515b9c847beb7566 Author: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> Date: Fri May 6 18:21:02 2022 +0300 dt-bindings: PCI: qcom: Specify reg-names explicitly Instead of specifying the enum of possible reg-names, specify them explicitly. This allows us to specify which chipsets need the "atu" regions and which do not. Also it clearly describes which platforms enumerate PCIe cores using the dbi region and which use parf region for that. Link: https://lore.kernel.org/r/20220506152107.1527552-4-dmitry.baryshkov@xxxxxxxxxx Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> + - const: dbi # DesignWare PCIe registers + - const: elbi # External local bus interface registers + - const: parf # Qualcomm specific registers ^^^^ + - const: config # PCIe configuration space Qualcomm called "part", nxp call "serdes" Frank > > > > > Rob