diff mbox

dts/ls2080a: Update PCIe compatible

Message ID 1448345075-6801-1-git-send-email-Mingkai.Hu@freescale.com (mailing list archive)
State New, archived
Headers show

Commit Message

Hu Mingkai-B21284 Nov. 24, 2015, 6:04 a.m. UTC
From: Minghuan Lian <Minghuan.Lian@freescale.com>

The patch adds LS2085a to PCIe compatible to fix the compatibility
issue when using firmware with LS2085a compatible property.

Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com>
Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
---
 Documentation/devicetree/bindings/pci/layerscape-pci.txt |  1 +
 arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi           | 12 ++++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

Comments

Rob Herring Nov. 24, 2015, 8:22 p.m. UTC | #1
On Tue, Nov 24, 2015 at 02:04:35PM +0800, Mingkai Hu wrote:
> From: Minghuan Lian <Minghuan.Lian@freescale.com>
> 
> The patch adds LS2085a to PCIe compatible to fix the compatibility
> issue when using firmware with LS2085a compatible property.
> 
> Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com>
> Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
> ---
>  Documentation/devicetree/bindings/pci/layerscape-pci.txt |  1 +
>  arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi           | 12 ++++++++----
>  2 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> index e376785..4600007 100644
> --- a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> +++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> @@ -15,6 +15,7 @@ Required properties:
>  - compatible: should contain the platform identifier such as:
>          "fsl,ls1021a-pcie", "snps,dw-pcie"
>          "fsl,ls2080a-pcie", "snps,dw-pcie"
> +        "fsl,ls2085a-pcie", "snps,dw-pcie"
>  - reg: base addresses and lengths of the PCIe controller
>  - interrupts: A list of interrupt outputs of the controller. Must contain an
>    entry for each entry in the interrupt-names property.
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> index e81cd48..3821bb1 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> @@ -383,7 +383,8 @@
>  		};
>  
>  		pcie@3400000 {
> -			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
> +			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
> +				     "snps,dw-pcie";

This doesn't match the doc as to what are valid combinations. The order 
here seems backwards too. ls2085a is older?

>  			reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
>  			       0x10 0x00000000 0x0 0x00002000>; /* configuration space */
>  			reg-names = "regs", "config";
> @@ -406,7 +407,8 @@
>  		};
>  
>  		pcie@3500000 {
> -			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
> +			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
> +				     "snps,dw-pcie";
>  			reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
>  			       0x12 0x00000000 0x0 0x00002000>; /* configuration space */
>  			reg-names = "regs", "config";
> @@ -429,7 +431,8 @@
>  		};
>  
>  		pcie@3600000 {
> -			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
> +			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
> +				     "snps,dw-pcie";
>  			reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
>  			       0x14 0x00000000 0x0 0x00002000>; /* configuration space */
>  			reg-names = "regs", "config";
> @@ -452,7 +455,8 @@
>  		};
>  
>  		pcie@3700000 {
> -			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
> +			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
> +				     "snps,dw-pcie";
>  			reg = <0x00 0x03700000 0x0 0x00100000   /* controller registers */
>  			       0x16 0x00000000 0x0 0x00002000>; /* configuration space */
>  			reg-names = "regs", "config";
> -- 
> 2.1.0.27.g96db324
> 
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hu Mingkai-B21284 Nov. 25, 2015, 5:01 a.m. UTC | #2
> -----Original Message-----
> From: Rob Herring [mailto:robh@kernel.org]
> Sent: Wednesday, November 25, 2015 4:22 AM
> To: Hu Mingkai-B21284
> Cc: arm@kernel.org; linux-arm-kernel@lists.infradead.org;
> devicetree@vger.kernel.org; Li Yang-Leo-R58472; Lian Minghuan-B31939
> Subject: Re: [PATCH] dts/ls2080a: Update PCIe compatible
> 
> On Tue, Nov 24, 2015 at 02:04:35PM +0800, Mingkai Hu wrote:
> > From: Minghuan Lian <Minghuan.Lian@freescale.com>
> >
> > The patch adds LS2085a to PCIe compatible to fix the compatibility
> > issue when using firmware with LS2085a compatible property.
> >
> > Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com>
> > Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
> > ---
> >  Documentation/devicetree/bindings/pci/layerscape-pci.txt |  1 +
> >  arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi           | 12
> ++++++++----
> >  2 files changed, 9 insertions(+), 4 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > index e376785..4600007 100644
> > --- a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > +++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > @@ -15,6 +15,7 @@ Required properties:
> >  - compatible: should contain the platform identifier such as:
> >          "fsl,ls1021a-pcie", "snps,dw-pcie"
> >          "fsl,ls2080a-pcie", "snps,dw-pcie"
> > +        "fsl,ls2085a-pcie", "snps,dw-pcie"
> >  - reg: base addresses and lengths of the PCIe controller
> >  - interrupts: A list of interrupt outputs of the controller. Must
> contain an
> >    entry for each entry in the interrupt-names property.
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > index e81cd48..3821bb1 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > @@ -383,7 +383,8 @@
> >  		};
> >
> >  		pcie@3400000 {
> > -			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
> > +			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
> > +				     "snps,dw-pcie";
> 
> This doesn't match the doc as to what are valid combinations. The order
> here seems backwards too. ls2085a is older?
> 

Yes, ls2085a was released earlier. You mean the older one comes first? Like:

compatible = "fsl,ls2085a-pcie", "fsl,ls2080a-pcie",
		 "snps,dw-pcie";

Thanks,
Mingkai
Li Yang-R58472 Dec. 2, 2015, 8:18 p.m. UTC | #3
On Tue, Nov 24, 2015 at 11:01 PM, Hu Vincent <Mingkai.Hu@freescale.com> wrote:
>
>
>> -----Original Message-----
>> From: Rob Herring [mailto:robh@kernel.org]
>> Sent: Wednesday, November 25, 2015 4:22 AM
>> To: Hu Mingkai-B21284
>> Cc: arm@kernel.org; linux-arm-kernel@lists.infradead.org;
>> devicetree@vger.kernel.org; Li Yang-Leo-R58472; Lian Minghuan-B31939
>> Subject: Re: [PATCH] dts/ls2080a: Update PCIe compatible
>>
>> On Tue, Nov 24, 2015 at 02:04:35PM +0800, Mingkai Hu wrote:
>> > From: Minghuan Lian <Minghuan.Lian@freescale.com>
>> >
>> > The patch adds LS2085a to PCIe compatible to fix the compatibility
>> > issue when using firmware with LS2085a compatible property.
>> >
>> > Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com>
>> > Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
>> > ---
>> >  Documentation/devicetree/bindings/pci/layerscape-pci.txt |  1 +
>> >  arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi           | 12
>> ++++++++----
>> >  2 files changed, 9 insertions(+), 4 deletions(-)
>> >
>> > diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
>> > b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
>> > index e376785..4600007 100644
>> > --- a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
>> > +++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
>> > @@ -15,6 +15,7 @@ Required properties:
>> >  - compatible: should contain the platform identifier such as:
>> >          "fsl,ls1021a-pcie", "snps,dw-pcie"
>> >          "fsl,ls2080a-pcie", "snps,dw-pcie"
>> > +        "fsl,ls2085a-pcie", "snps,dw-pcie"
>> >  - reg: base addresses and lengths of the PCIe controller
>> >  - interrupts: A list of interrupt outputs of the controller. Must
>> contain an
>> >    entry for each entry in the interrupt-names property.
>> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
>> > b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
>> > index e81cd48..3821bb1 100644
>> > --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
>> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
>> > @@ -383,7 +383,8 @@
>> >             };
>> >
>> >             pcie@3400000 {
>> > -                   compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
>> > +                   compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
>> > +                                "snps,dw-pcie";
>>
>> This doesn't match the doc as to what are valid combinations. The order
>> here seems backwards too. ls2085a is older?
>>
>
> Yes, ls2085a was released earlier. You mean the older one comes first? Like:
>
> compatible = "fsl,ls2085a-pcie", "fsl,ls2080a-pcie",
>                  "snps,dw-pcie";

No.  The original order should be good.  We should put newer/more
specific compatible first and older/more generic compatible later.  I
think the issue is that the binding document.  We don't need to list
the combinations.  Just list all the possible compatible strings
specific to layerscape.  You can add a special note about "snps,
dw-pcie" separately.

Regards,
Leo
Scott Wood Dec. 11, 2015, 3:48 a.m. UTC | #4
On Wed, 2015-11-25 at 05:01 +0000, Hu Vincent wrote:
> 
> > -----Original Message-----
> > From: Rob Herring [mailto:robh@kernel.org]
> > Sent: Wednesday, November 25, 2015 4:22 AM
> > To: Hu Mingkai-B21284
> > Cc: arm@kernel.org; linux-arm-kernel@lists.infradead.org;
> > devicetree@vger.kernel.org; Li Yang-Leo-R58472; Lian Minghuan-B31939
> > Subject: Re: [PATCH] dts/ls2080a: Update PCIe compatible
> > 
> > On Tue, Nov 24, 2015 at 02:04:35PM +0800, Mingkai Hu wrote:
> > > From: Minghuan Lian <Minghuan.Lian@freescale.com>
> > > 
> > > The patch adds LS2085a to PCIe compatible to fix the compatibility
> > > issue when using firmware with LS2085a compatible property.
> > > 
> > > Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com>
> > > Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
> > > ---
> > >  Documentation/devicetree/bindings/pci/layerscape-pci.txt |  1 +
> > >  arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi           | 12
> > ++++++++----
> > >  2 files changed, 9 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > > b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > > index e376785..4600007 100644
> > > --- a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > > +++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > > @@ -15,6 +15,7 @@ Required properties:
> > >  - compatible: should contain the platform identifier such as:
> > >          "fsl,ls1021a-pcie", "snps,dw-pcie"
> > >          "fsl,ls2080a-pcie", "snps,dw-pcie"
> > > +        "fsl,ls2085a-pcie", "snps,dw-pcie"
> > >  - reg: base addresses and lengths of the PCIe controller
> > >  - interrupts: A list of interrupt outputs of the controller. Must
> > contain an
> > >    entry for each entry in the interrupt-names property.
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > > b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > > index e81cd48..3821bb1 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > > @@ -383,7 +383,8 @@
> > >  		};
> > > 
> > >  		pcie@3400000 {
> > > -			compatible = "fsl,ls2080a-pcie", "snps,dw
> > > -pcie";
> > > +			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a
> > > -pcie",
> > > +				     "snps,dw-pcie";
> > 
> > This doesn't match the doc as to what are valid combinations. The order
> > here seems backwards too. ls2085a is older?
> > 
> 
> Yes, ls2085a was released earlier. You mean the older one comes first? Like:
> 
> compatible = "fsl,ls2085a-pcie", "fsl,ls2080a-pcie",
> 		 "snps,dw-pcie";

No, the more specific one should come first (regardless of when each chip is
older), so the patch is correct as is.

BTW, the changelog doesn't describe the severity of the problem, but without
this change I see a hang in the PCIe controller probe because U-Boot is unable
to mark disabled controllers as disabled.

-Scott
Hu Mingkai-B21284 Dec. 15, 2015, 1:57 a.m. UTC | #5
> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Friday, December 11, 2015 11:48 AM
> To: Hu Mingkai-B21284; Rob Herring
> Cc: devicetree@vger.kernel.org; arm@kernel.org; Li Yang-Leo-R58472;
> linux-arm-kernel@lists.infradead.org; Lian Minghuan-B31939
> Subject: Re: [PATCH] dts/ls2080a: Update PCIe compatible
> 
> On Wed, 2015-11-25 at 05:01 +0000, Hu Vincent wrote:
> >
> > > -----Original Message-----
> > > From: Rob Herring [mailto:robh@kernel.org]
> > > Sent: Wednesday, November 25, 2015 4:22 AM
> > > To: Hu Mingkai-B21284
> > > Cc: arm@kernel.org; linux-arm-kernel@lists.infradead.org;
> > > devicetree@vger.kernel.org; Li Yang-Leo-R58472; Lian Minghuan-B31939
> > > Subject: Re: [PATCH] dts/ls2080a: Update PCIe compatible
> > >
> > > On Tue, Nov 24, 2015 at 02:04:35PM +0800, Mingkai Hu wrote:
> > > > From: Minghuan Lian <Minghuan.Lian@freescale.com>
> > > >
> > > > The patch adds LS2085a to PCIe compatible to fix the compatibility
> > > > issue when using firmware with LS2085a compatible property.
> > > >
> > > > Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com>
> > > > Signed-off-by: Mingkai Hu <Mingkai.Hu@freescale.com>
> > > > ---
> > > >  Documentation/devicetree/bindings/pci/layerscape-pci.txt |  1 +
> > > >  arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi           | 12
> > > ++++++++----
> > > >  2 files changed, 9 insertions(+), 4 deletions(-)
> > > >
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > > > b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > > > index e376785..4600007 100644
> > > > --- a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > > > +++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
> > > > @@ -15,6 +15,7 @@ Required properties:
> > > >  - compatible: should contain the platform identifier such as:
> > > >          "fsl,ls1021a-pcie", "snps,dw-pcie"
> > > >          "fsl,ls2080a-pcie", "snps,dw-pcie"
> > > > +        "fsl,ls2085a-pcie", "snps,dw-pcie"
> > > >  - reg: base addresses and lengths of the PCIe controller
> > > >  - interrupts: A list of interrupt outputs of the controller. Must
> > > contain an
> > > >    entry for each entry in the interrupt-names property.
> > > > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > > > b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > > > index e81cd48..3821bb1 100644
> > > > --- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > > > +++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
> > > > @@ -383,7 +383,8 @@
> > > >  		};
> > > >
> > > >  		pcie@3400000 {
> > > > -			compatible = "fsl,ls2080a-pcie", "snps,dw
> > > > -pcie";
> > > > +			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a
> > > > -pcie",
> > > > +				     "snps,dw-pcie";
> > >
> > > This doesn't match the doc as to what are valid combinations. The
> > > order here seems backwards too. ls2085a is older?
> > >
> >
> > Yes, ls2085a was released earlier. You mean the older one comes first?
> Like:
> >
> > compatible = "fsl,ls2085a-pcie", "fsl,ls2080a-pcie",
> > 		 "snps,dw-pcie";
> 
> No, the more specific one should come first (regardless of when each chip
> is older), so the patch is correct as is.
> 
> BTW, the changelog doesn't describe the severity of the problem, but
> without this change I see a hang in the PCIe controller probe because U-
> Boot is unable to mark disabled controllers as disabled.
> 

I agree with you. That's also the reason why I put the "fsl,ls2080a-pci" first.

Thanks,
Mingkai
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
index e376785..4600007 100644
--- a/Documentation/devicetree/bindings/pci/layerscape-pci.txt
+++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
@@ -15,6 +15,7 @@  Required properties:
 - compatible: should contain the platform identifier such as:
         "fsl,ls1021a-pcie", "snps,dw-pcie"
         "fsl,ls2080a-pcie", "snps,dw-pcie"
+        "fsl,ls2085a-pcie", "snps,dw-pcie"
 - reg: base addresses and lengths of the PCIe controller
 - interrupts: A list of interrupt outputs of the controller. Must contain an
   entry for each entry in the interrupt-names property.
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
index e81cd48..3821bb1 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
@@ -383,7 +383,8 @@ 
 		};
 
 		pcie@3400000 {
-			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
+			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
+				     "snps,dw-pcie";
 			reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
 			       0x10 0x00000000 0x0 0x00002000>; /* configuration space */
 			reg-names = "regs", "config";
@@ -406,7 +407,8 @@ 
 		};
 
 		pcie@3500000 {
-			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
+			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
+				     "snps,dw-pcie";
 			reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
 			       0x12 0x00000000 0x0 0x00002000>; /* configuration space */
 			reg-names = "regs", "config";
@@ -429,7 +431,8 @@ 
 		};
 
 		pcie@3600000 {
-			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
+			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
+				     "snps,dw-pcie";
 			reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
 			       0x14 0x00000000 0x0 0x00002000>; /* configuration space */
 			reg-names = "regs", "config";
@@ -452,7 +455,8 @@ 
 		};
 
 		pcie@3700000 {
-			compatible = "fsl,ls2080a-pcie", "snps,dw-pcie";
+			compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
+				     "snps,dw-pcie";
 			reg = <0x00 0x03700000 0x0 0x00100000   /* controller registers */
 			       0x16 0x00000000 0x0 0x00002000>; /* configuration space */
 			reg-names = "regs", "config";