Message ID | 1721634979-1726-2-git-send-email-hongxing.zhu@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add dbi2 and atu for i.MX8M PCIe EP | expand |
On Mon, Jul 22, 2024 at 03:56:16PM +0800, Richard Zhu wrote: > Add reg-name: "dbi2", "atu" for i.MX8M PCIe Endpoint. > > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> > --- > .../devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > index a06f75df8458..309e8953dc91 100644 > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > @@ -65,11 +65,13 @@ allOf: > then: > properties: > reg: > - minItems: 2 > - maxItems: 2 > + minItems: 4 > + maxItems: 4 > reg-names: > items: > - const: dbi > + - const: dbi2 > + - const: atu New properties in the middle of the list is potentially an ABI break. Why not add them at the end? > - const: addr_space > > - if: > @@ -129,8 +131,11 @@ examples: > > pcie_ep: pcie-ep@33800000 { > compatible = "fsl,imx8mp-pcie-ep"; > - reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>; > - reg-names = "dbi", "addr_space"; > + reg = <0x33800000 0x100000>, > + <0x33900000 0x100000>, > + <0x33b00000 0x100000>, > + <0x18000000 0x8000000>; > + reg-names = "dbi", "dbi2", "atu", "addr_space"; > clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, > <&clk IMX8MP_CLK_HSIO_AXI>, > <&clk IMX8MP_CLK_PCIE_ROOT>; > -- > 2.37.1 >
On Mon, Jul 22, 2024 at 05:37:14PM +0100, Conor Dooley wrote: > On Mon, Jul 22, 2024 at 03:56:16PM +0800, Richard Zhu wrote: > > Add reg-name: "dbi2", "atu" for i.MX8M PCIe Endpoint. > > > > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> > > --- > > .../devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 13 +++++++++---- > > 1 file changed, 9 insertions(+), 4 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > index a06f75df8458..309e8953dc91 100644 > > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > @@ -65,11 +65,13 @@ allOf: > > then: > > properties: > > reg: > > - minItems: 2 > > - maxItems: 2 > > + minItems: 4 > > + maxItems: 4 > > reg-names: > > items: > > - const: dbi > > + - const: dbi2 > > + - const: atu > > New properties in the middle of the list is potentially an ABI break. > Why not add them at the end? Because it ref to snps,dw-pcie-ep.yaml, which already defined the reg name orders. we using reg-names to get reg resource, I don't think it break the ABI. Driver already auto detect both 'dbi2' or no 'dbi2' case. Frank > > > - const: addr_space > > > > - if: > > @@ -129,8 +131,11 @@ examples: > > > > pcie_ep: pcie-ep@33800000 { > > compatible = "fsl,imx8mp-pcie-ep"; > > - reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>; > > - reg-names = "dbi", "addr_space"; > > + reg = <0x33800000 0x100000>, > > + <0x33900000 0x100000>, > > + <0x33b00000 0x100000>, > > + <0x18000000 0x8000000>; > > + reg-names = "dbi", "dbi2", "atu", "addr_space"; > > clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, > > <&clk IMX8MP_CLK_HSIO_AXI>, > > <&clk IMX8MP_CLK_PCIE_ROOT>; > > -- > > 2.37.1 > >
On Mon, Jul 22, 2024 at 04:47:29PM -0400, Frank Li wrote: > On Mon, Jul 22, 2024 at 05:37:14PM +0100, Conor Dooley wrote: > > On Mon, Jul 22, 2024 at 03:56:16PM +0800, Richard Zhu wrote: > > > Add reg-name: "dbi2", "atu" for i.MX8M PCIe Endpoint. > > > > > > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> > > > --- > > > .../devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 13 +++++++++---- > > > 1 file changed, 9 insertions(+), 4 deletions(-) > > > > > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > > index a06f75df8458..309e8953dc91 100644 > > > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > > @@ -65,11 +65,13 @@ allOf: > > > then: > > > properties: > > > reg: > > > - minItems: 2 > > > - maxItems: 2 > > > + minItems: 4 > > > + maxItems: 4 > > > reg-names: > > > items: > > > - const: dbi > > > + - const: dbi2 > > > + - const: atu > > > > New properties in the middle of the list is potentially an ABI break. > > Why not add them at the end? > > Because it ref to snps,dw-pcie-ep.yaml, which already defined the reg > name orders. Are you sure that it defines an order for reg? If it did, it would not allow what you already have in this binding. The order is actually defined in this file. > we using reg-names to get reg resource, I don't think it break > the ABI. Driver already auto detect both 'dbi2' or no 'dbi2' case. Linux's might, another might not. I don't see any point in breaking the ABI when you can just put the entries at the end of he list and have no problems at all. Thanks, Conor. > > > - const: addr_space > > > > > > - if: > > > @@ -129,8 +131,11 @@ examples: > > > > > > pcie_ep: pcie-ep@33800000 { > > > compatible = "fsl,imx8mp-pcie-ep"; > > > - reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>; > > > - reg-names = "dbi", "addr_space"; > > > + reg = <0x33800000 0x100000>, > > > + <0x33900000 0x100000>, > > > + <0x33b00000 0x100000>, > > > + <0x18000000 0x8000000>; > > > + reg-names = "dbi", "dbi2", "atu", "addr_space"; > > > clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, > > > <&clk IMX8MP_CLK_HSIO_AXI>, > > > <&clk IMX8MP_CLK_PCIE_ROOT>; > > > -- > > > 2.37.1 > > > > >
On Tue, Jul 23, 2024 at 03:35:11PM +0100, Conor Dooley wrote: > On Mon, Jul 22, 2024 at 04:47:29PM -0400, Frank Li wrote: > > On Mon, Jul 22, 2024 at 05:37:14PM +0100, Conor Dooley wrote: > > > On Mon, Jul 22, 2024 at 03:56:16PM +0800, Richard Zhu wrote: > > > > Add reg-name: "dbi2", "atu" for i.MX8M PCIe Endpoint. > > > > > > > > Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> > > > > --- > > > > .../devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 13 +++++++++---- > > > > 1 file changed, 9 insertions(+), 4 deletions(-) > > > > > > > > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > > > index a06f75df8458..309e8953dc91 100644 > > > > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > > > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml > > > > @@ -65,11 +65,13 @@ allOf: > > > > then: > > > > properties: > > > > reg: > > > > - minItems: 2 > > > > - maxItems: 2 > > > > + minItems: 4 > > > > + maxItems: 4 > > > > reg-names: > > > > items: > > > > - const: dbi > > > > + - const: dbi2 > > > > + - const: atu > > > > > > New properties in the middle of the list is potentially an ABI break. > > > Why not add them at the end? > > > > Because it ref to snps,dw-pcie-ep.yaml, which already defined the reg > > name orders. > > Are you sure that it defines an order for reg? If it did, it would not > allow what you already have in this binding. The order is actually > defined in this file. Sorry, I missed oneOf in snps,dw-pcie-ep.yaml. You are right. Frank > > > we using reg-names to get reg resource, I don't think it break > > the ABI. Driver already auto detect both 'dbi2' or no 'dbi2' case. > > Linux's might, another might not. I don't see any point in breaking the > ABI when you can just put the entries at the end of he list and have no > problems at all. > > Thanks, > Conor. > > > > > - const: addr_space > > > > > > > > - if: > > > > @@ -129,8 +131,11 @@ examples: > > > > > > > > pcie_ep: pcie-ep@33800000 { > > > > compatible = "fsl,imx8mp-pcie-ep"; > > > > - reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>; > > > > - reg-names = "dbi", "addr_space"; > > > > + reg = <0x33800000 0x100000>, > > > > + <0x33900000 0x100000>, > > > > + <0x33b00000 0x100000>, > > > > + <0x18000000 0x8000000>; > > > > + reg-names = "dbi", "dbi2", "atu", "addr_space"; > > > > clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, > > > > <&clk IMX8MP_CLK_HSIO_AXI>, > > > > <&clk IMX8MP_CLK_PCIE_ROOT>; > > > > -- > > > > 2.37.1 > > > > > > > >
diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml index a06f75df8458..309e8953dc91 100644 --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml @@ -65,11 +65,13 @@ allOf: then: properties: reg: - minItems: 2 - maxItems: 2 + minItems: 4 + maxItems: 4 reg-names: items: - const: dbi + - const: dbi2 + - const: atu - const: addr_space - if: @@ -129,8 +131,11 @@ examples: pcie_ep: pcie-ep@33800000 { compatible = "fsl,imx8mp-pcie-ep"; - reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>; - reg-names = "dbi", "addr_space"; + reg = <0x33800000 0x100000>, + <0x33900000 0x100000>, + <0x33b00000 0x100000>, + <0x18000000 0x8000000>; + reg-names = "dbi", "dbi2", "atu", "addr_space"; clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, <&clk IMX8MP_CLK_HSIO_AXI>, <&clk IMX8MP_CLK_PCIE_ROOT>;
Add reg-name: "dbi2", "atu" for i.MX8M PCIe Endpoint. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> --- .../devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)