linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
@ 2011-08-29 19:09 Timur Tabi
  2011-08-31  2:26 ` Kumar Gala
  0 siblings, 1 reply; 6+ messages in thread
From: Timur Tabi @ 2011-08-29 19:09 UTC (permalink / raw)
  To: kumar.gala, linuxppc-dev, devicetree-discuss

Standarize and document the FPGA nodes used on Freescale QorIQ reference
boards.  There are three kinds of FPGAs used on the boards: pixis, qixis, and
cpld.  Although their are minor differences among the boards that have one
kind of FPGA, most of the functionality is the same, so it makes sense
to create common compatibility strings.

Signed-off-by: Timur Tabi <timur@freescale.com>
---

Changes for other Freescale boards will be made in future patches.

 .../devicetree/bindings/powerpc/fsl/board.txt      |   30 ++++++++++++--------
 arch/powerpc/boot/dts/p1010rdb.dts                 |   10 ++----
 arch/powerpc/boot/dts/p1020rdb.dts                 |    7 ++++-
 arch/powerpc/boot/dts/p1022ds.dts                  |    2 +-
 arch/powerpc/boot/dts/p2020ds.dts                  |    5 +++
 arch/powerpc/boot/dts/p2020rdb.dts                 |    4 ++
 arch/powerpc/boot/dts/p2040rdb.dts                 |    8 ++++-
 arch/powerpc/boot/dts/p3041ds.dts                  |    4 +-
 arch/powerpc/boot/dts/p4080ds.dts                  |    8 ++++-
 arch/powerpc/boot/dts/p5020ds.dts                  |    4 +-
 10 files changed, 55 insertions(+), 27 deletions(-)

diff --git a/Documentation/devicetree/bindings/powerpc/fsl/board.txt b/Documentation/devicetree/bindings/powerpc/fsl/board.txt
index 39e9415..ba46a7a 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/board.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/board.txt
@@ -1,3 +1,8 @@
+Freescale Reference Board Bindings
+
+This document describes device tree bindings for various devices that
+exist on some Freescale reference boards.
+
 * Board Control and Status (BCSR)
 
 Required properties:
@@ -12,25 +17,26 @@ Example:
 		reg = <f8000000 8000>;
 	};
 
-* Freescale on board FPGA
+* Freescale on-board FPGA
 
 This is the memory-mapped registers for on board FPGA.
 
 Required properities:
-- compatible : should be "fsl,fpga-pixis".
-- reg : should contain the address and the length of the FPPGA register
-  set.
+- compatible: should be a board-specific string followed by a string
+  indicating the type of FPGA.  Example:
+	"fsl,<board>-pixis", "fsl,fpga-pixis"
+- reg: should contain the address and the length of the FPGA register set.
 - interrupt-parent: should specify phandle for the interrupt controller.
-- interrupts : should specify event (wakeup) IRQ.
+- interrupts: should specify event (wakeup) IRQ.
 
-Example (MPC8610HPCD):
+Example (P1022DS):
 
-	board-control@e8000000 {
-		compatible = "fsl,fpga-pixis";
-		reg = <0xe8000000 32>;
-		interrupt-parent = <&mpic>;
-		interrupts = <8 8>;
-	};
+	 board-control@3,0 {
+		 compatible = "fsl,p1022ds-pixis", "fsl,fpga-pixis";
+		 reg = <3 0 0x30>;
+		 interrupt-parent = <&mpic>;
+		 interrupts = <8 8 0 0>;
+	 };
 
 * Freescale BCSR GPIO banks
 
diff --git a/arch/powerpc/boot/dts/p1010rdb.dts b/arch/powerpc/boot/dts/p1010rdb.dts
index 6b33b73..7769e40 100644
--- a/arch/powerpc/boot/dts/p1010rdb.dts
+++ b/arch/powerpc/boot/dts/p1010rdb.dts
@@ -116,13 +116,9 @@
 			};
 		};
 
-		cpld@3,0 {
-			#address-cells = <1>;
-			#size-cells = <1>;
-			compatible = "fsl,p1010rdb-cpld";
-			reg = <0x3 0x0 0x0000020>;
-			bank-width = <1>;
-			device-width = <1>;
+		board-control@3,0 {
+			compatible = "fsl,p1010rdb-cpld", "fsl,fpga-cpld";
+			reg = <0x3 0x0 0x20>;
 		};
 	};
 
diff --git a/arch/powerpc/boot/dts/p1020rdb.dts b/arch/powerpc/boot/dts/p1020rdb.dts
index d6a8ae4..982d3ea 100644
--- a/arch/powerpc/boot/dts/p1020rdb.dts
+++ b/arch/powerpc/boot/dts/p1020rdb.dts
@@ -34,7 +34,8 @@
 		/* NOR, NAND Flashes and Vitesse 5 port L2 switch */
 		ranges = <0x0 0x0 0x0 0xef000000 0x01000000
 			  0x1 0x0 0x0 0xffa00000 0x00040000
-			  0x2 0x0 0x0 0xffb00000 0x00020000>;
+			  0x2 0x0 0x0 0xffb00000 0x00020000
+			  0x3 0x0 0x0 0xffdf0000 0x00008000>;
 
 		nor@0,0 {
 			#address-cells = <1>;
@@ -138,6 +139,10 @@
 			reg = <0x2 0x0 0x20000>;
 		};
 
+		board-control@3,0 {
+			compatible = "fsl,p1020rdb-cpld", "fsl,fpga-cpld";
+			reg = <0x3 0x0 0x20>;
+		};
 	};
 
 	soc@ffe00000 {
diff --git a/arch/powerpc/boot/dts/p1022ds.dts b/arch/powerpc/boot/dts/p1022ds.dts
index 1be9743..97a0b87 100644
--- a/arch/powerpc/boot/dts/p1022ds.dts
+++ b/arch/powerpc/boot/dts/p1022ds.dts
@@ -150,7 +150,7 @@
 		};
 
 		board-control@3,0 {
-			compatible = "fsl,p1022ds-pixis";
+			compatible = "fsl,p1022ds-pixis", "fsl,fpga-pixis";
 			reg = <3 0 0x30>;
 			interrupt-parent = <&mpic>;
 			/*
diff --git a/arch/powerpc/boot/dts/p2020ds.dts b/arch/powerpc/boot/dts/p2020ds.dts
index dae4031..d1e52f3 100644
--- a/arch/powerpc/boot/dts/p2020ds.dts
+++ b/arch/powerpc/boot/dts/p2020ds.dts
@@ -118,6 +118,11 @@
 			};
 		};
 
+		board-control@3,0 {
+			compatible = "fsl,p2020ds-pixis", "fsl,fpga-pixis";
+			reg = <0x3 0x0 0x30>;
+		};
+
 		nand@4,0 {
 			compatible = "fsl,elbc-fcm-nand";
 			reg = <0x4 0x0 0x40000>;
diff --git a/arch/powerpc/boot/dts/p2020rdb.dts b/arch/powerpc/boot/dts/p2020rdb.dts
index 1d7a05f..1bf9b8c 100644
--- a/arch/powerpc/boot/dts/p2020rdb.dts
+++ b/arch/powerpc/boot/dts/p2020rdb.dts
@@ -138,6 +138,10 @@
 			reg = <0x2 0x0 0x20000>;
 		};
 
+		board-control@3,0 {
+			compatible = "fsl,p2020rdb-cpld", "fsl,fpga-cpld";
+			reg = <0x3 0x0 0x20>;
+		};
 	};
 
 	soc@ffe00000 {
diff --git a/arch/powerpc/boot/dts/p2040rdb.dts b/arch/powerpc/boot/dts/p2040rdb.dts
index 7d84e39..1c72d65 100644
--- a/arch/powerpc/boot/dts/p2040rdb.dts
+++ b/arch/powerpc/boot/dts/p2040rdb.dts
@@ -109,7 +109,8 @@
 
 	localbus@ffe124000 {
 		reg = <0xf 0xfe124000 0 0x1000>;
-		ranges = <0 0 0xf 0xe8000000 0x08000000>;
+		ranges = <0 0 0xf 0xe8000000 0x08000000
+			  3 0 0xf 0xffdf0000 0x00008000>;
 
 		flash@0,0 {
 			compatible = "cfi-flash";
@@ -117,6 +118,11 @@
 			bank-width = <2>;
 			device-width = <2>;
 		};
+
+		board-control@3,0 {
+			compatible = "fsl,p2040rdb-cpld", "fsl,fpga-cpld";
+			reg = <3 0 0x20>;
+		};
 	};
 
 	pci0: pcie@ffe200000 {
diff --git a/arch/powerpc/boot/dts/p3041ds.dts b/arch/powerpc/boot/dts/p3041ds.dts
index 69cae67..92937ce 100644
--- a/arch/powerpc/boot/dts/p3041ds.dts
+++ b/arch/powerpc/boot/dts/p3041ds.dts
@@ -147,8 +147,8 @@
 		};
 
 		board-control@3,0 {
-			compatible = "fsl,p3041ds-pixis";
-			reg = <3 0 0x20>;
+			compatible = "fsl,p3041ds-pixis", "fsl,fpga-pixis";
+			reg = <3 0 0x30>;
 		};
 	};
 
diff --git a/arch/powerpc/boot/dts/p4080ds.dts b/arch/powerpc/boot/dts/p4080ds.dts
index eb11098..a26cf15 100644
--- a/arch/powerpc/boot/dts/p4080ds.dts
+++ b/arch/powerpc/boot/dts/p4080ds.dts
@@ -108,7 +108,8 @@
 
 	localbus@ffe124000 {
 		reg = <0xf 0xfe124000 0 0x1000>;
-		ranges = <0 0 0xf 0xe8000000 0x08000000>;
+		ranges = <0 0 0xf 0xe8000000 0x08000000
+			  3 0 0xf 0xffdf0000 0x00008000>;
 
 		flash@0,0 {
 			compatible = "cfi-flash";
@@ -116,6 +117,11 @@
 			bank-width = <2>;
 			device-width = <2>;
 		};
+
+		board-control@3,0 {
+			compatible = "fsl,p4080ds-pixis", "fsl,fpga-pixis";
+			reg = <3 0 0x30>;
+		};
 	};
 
 	pci0: pcie@ffe200000 {
diff --git a/arch/powerpc/boot/dts/p5020ds.dts b/arch/powerpc/boot/dts/p5020ds.dts
index 8366e2f..b959986 100644
--- a/arch/powerpc/boot/dts/p5020ds.dts
+++ b/arch/powerpc/boot/dts/p5020ds.dts
@@ -147,8 +147,8 @@
 		};
 
 		board-control@3,0 {
-			compatible = "fsl,p5020ds-pixis";
-			reg = <3 0 0x20>;
+			compatible = "fsl,p5020ds-pixis", "fsl,fpga-pixis";
+			reg = <3 0 0x30>;
 		};
 	};
 
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
  2011-08-29 19:09 [PATCH] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards Timur Tabi
@ 2011-08-31  2:26 ` Kumar Gala
  2011-08-31  2:51   ` Tabi Timur-B04825
  0 siblings, 1 reply; 6+ messages in thread
From: Kumar Gala @ 2011-08-31  2:26 UTC (permalink / raw)
  To: Timur Tabi; +Cc: linuxppc-dev, devicetree-discuss


On Aug 29, 2011, at 2:09 PM, Timur Tabi wrote:

> Standarize and document the FPGA nodes used on Freescale QorIQ =
reference
> boards.  There are three kinds of FPGAs used on the boards: pixis, =
qixis, and
> cpld.  Although their are minor differences among the boards that have =
one
> kind of FPGA, most of the functionality is the same, so it makes sense
> to create common compatibility strings.
>=20
> Signed-off-by: Timur Tabi <timur@freescale.com>
> ---
>=20
> Changes for other Freescale boards will be made in future patches.
>=20
> .../devicetree/bindings/powerpc/fsl/board.txt      |   30 =
++++++++++++--------
> arch/powerpc/boot/dts/p1010rdb.dts                 |   10 ++----
> arch/powerpc/boot/dts/p1020rdb.dts                 |    7 ++++-
> arch/powerpc/boot/dts/p1022ds.dts                  |    2 +-
> arch/powerpc/boot/dts/p2020ds.dts                  |    5 +++
> arch/powerpc/boot/dts/p2020rdb.dts                 |    4 ++
> arch/powerpc/boot/dts/p2040rdb.dts                 |    8 ++++-
> arch/powerpc/boot/dts/p3041ds.dts                  |    4 +-
> arch/powerpc/boot/dts/p4080ds.dts                  |    8 ++++-
> arch/powerpc/boot/dts/p5020ds.dts                  |    4 +-
> 10 files changed, 55 insertions(+), 27 deletions(-)

Do we really want the generic "fsl,fpga-cpld" & "fsl,fpga-pixis"?  This =
seems to vague.  Also you need "pixis" on MPC8544DS, MPC8572DS, =
MPC8536DS.

Also fpga-cpld makes no sense if we keep this.  You are either a CPLD or =
FPGA not both.

- k=

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
  2011-08-31  2:26 ` Kumar Gala
@ 2011-08-31  2:51   ` Tabi Timur-B04825
  2011-08-31  2:54     ` Kumar Gala
  0 siblings, 1 reply; 6+ messages in thread
From: Tabi Timur-B04825 @ 2011-08-31  2:51 UTC (permalink / raw)
  To: Gala Kumar-B11780
  Cc: linuxppc-dev@ozlabs.org, devicetree-discuss@lists.ozlabs.org

Kumar Gala wrote:
> Do we really want the generic "fsl,fpga-cpld"&  "fsl,fpga-pixis"?  This s=
eems to vague.

Yes, the PIXIS is generally register compatible across all boards.  There=20
may be some minor differences, but the OCM driver can work with all PIXIS=20
boards that have an PIXIS.

>  Also you need "pixis" on MPC8544DS, MPC8572DS, MPC8536DS.

Ok.

> Also fpga-cpld makes no sense if we keep this.  You are either a CPLD or =
FPGA not both.

Then I don't understand what the CPLD is.

--=20
Timur Tabi
Linux kernel developer at Freescale=

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
  2011-08-31  2:51   ` Tabi Timur-B04825
@ 2011-08-31  2:54     ` Kumar Gala
  2011-08-31  3:01       ` Tabi Timur-B04825
  0 siblings, 1 reply; 6+ messages in thread
From: Kumar Gala @ 2011-08-31  2:54 UTC (permalink / raw)
  To: Tabi Timur-B04825
  Cc: linuxppc-dev@ozlabs.org, Gala Kumar-B11780,
	devicetree-discuss@lists.ozlabs.org


On Aug 30, 2011, at 9:51 PM, Tabi Timur-B04825 wrote:

> Kumar Gala wrote:
>> Do we really want the generic "fsl,fpga-cpld"&  "fsl,fpga-pixis"?  =
This seems to vague.
>=20
> Yes, the PIXIS is generally register compatible across all boards.  =
There=20
> may be some minor differences, but the OCM driver can work with all =
PIXIS=20
> boards that have an PIXIS.

Is this true?  Don't we have pixis and ngpixis in u-boot?

>> Also you need "pixis" on MPC8544DS, MPC8572DS, MPC8536DS.
>=20
> Ok.
>=20
>> Also fpga-cpld makes no sense if we keep this.  You are either a CPLD =
or FPGA not both.
>=20
> Then I don't understand what the CPLD is.

http://en.wikipedia.org/wiki/Complex_programmable_logic_device

- k=

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
  2011-08-31  2:54     ` Kumar Gala
@ 2011-08-31  3:01       ` Tabi Timur-B04825
  2011-08-31  3:05         ` Kumar Gala
  0 siblings, 1 reply; 6+ messages in thread
From: Tabi Timur-B04825 @ 2011-08-31  3:01 UTC (permalink / raw)
  To: Gala Kumar-B11780
  Cc: linuxppc-dev@ozlabs.org, Gala Kumar-B11780,
	devicetree-discuss@lists.ozlabs.org

Kumar Gala wrote:
>
> On Aug 30, 2011, at 9:51 PM, Tabi Timur-B04825 wrote:
>
>> Kumar Gala wrote:
>>> Do we really want the generic "fsl,fpga-cpld"&   "fsl,fpga-pixis"?  Thi=
s seems to vague.
>>
>> Yes, the PIXIS is generally register compatible across all boards.  Ther=
e
>> may be some minor differences, but the OCM driver can work with all PIXI=
S
>> boards that have an PIXIS.
>
> Is this true?  Don't we have pixis and ngpixis in u-boot?

I forgot about that.  Well, everything I said is true about the ngpixis,=20
so I guess I should use "ngpixis" instead of just "pixis" here.  I'll have=
=20
to check if the old pixis can be used this way.

>
>>> Also you need "pixis" on MPC8544DS, MPC8572DS, MPC8536DS.
>>
>> Ok.
>>
>>> Also fpga-cpld makes no sense if we keep this.  You are either a CPLD o=
r FPGA not both.
>>
>> Then I don't understand what the CPLD is.
>
> http://en.wikipedia.org/wiki/Complex_programmable_logic_device

Ok, I get it now.  Is there a name for the CPLD we use on these chips?=20
I'm having a hard time getting proper documentation on the CPLD.  York=20
expressed similar frustration.

Perhaps these should be called board-control devices.  How about

	fsl,boardcontrol-cpld
	fsl,boardcontrol-ngpixis
	fsl,boardcontrol-qixis


--=20
Timur Tabi
Linux kernel developer at Freescale=

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
  2011-08-31  3:01       ` Tabi Timur-B04825
@ 2011-08-31  3:05         ` Kumar Gala
  0 siblings, 0 replies; 6+ messages in thread
From: Kumar Gala @ 2011-08-31  3:05 UTC (permalink / raw)
  To: Tabi Timur-B04825
  Cc: linuxppc-dev@ozlabs.org, Gala Kumar-B11780,
	devicetree-discuss@lists.ozlabs.org


On Aug 30, 2011, at 10:01 PM, Tabi Timur-B04825 wrote:

> Kumar Gala wrote:
>>=20
>> On Aug 30, 2011, at 9:51 PM, Tabi Timur-B04825 wrote:
>>=20
>>> Kumar Gala wrote:
>>>> Do we really want the generic "fsl,fpga-cpld"&   "fsl,fpga-pixis"?  =
This seems to vague.
>>>=20
>>> Yes, the PIXIS is generally register compatible across all boards.  =
There
>>> may be some minor differences, but the OCM driver can work with all =
PIXIS
>>> boards that have an PIXIS.
>>=20
>> Is this true?  Don't we have pixis and ngpixis in u-boot?
>=20
> I forgot about that.  Well, everything I said is true about the =
ngpixis,=20
> so I guess I should use "ngpixis" instead of just "pixis" here.  I'll =
have=20
> to check if the old pixis can be used this way.
>=20
>>=20
>>>> Also you need "pixis" on MPC8544DS, MPC8572DS, MPC8536DS.
>>>=20
>>> Ok.
>>>=20
>>>> Also fpga-cpld makes no sense if we keep this.  You are either a =
CPLD or FPGA not both.
>>>=20
>>> Then I don't understand what the CPLD is.
>>=20
>> http://en.wikipedia.org/wiki/Complex_programmable_logic_device
>=20
> Ok, I get it now.  Is there a name for the CPLD we use on these chips?=20=

> I'm having a hard time getting proper documentation on the CPLD.  York=20=

> expressed similar frustration.
>=20
> Perhaps these should be called board-control devices.  How about
>=20
> 	fsl,boardcontrol-cpld
> 	fsl,boardcontrol-ngpixis
> 	fsl,boardcontrol-qixis

For the CPLD based boards I think:

<BOARDNAME>-cpld is best as there isn't really much consistent right =
now.

- k=

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-08-31  3:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-29 19:09 [PATCH] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards Timur Tabi
2011-08-31  2:26 ` Kumar Gala
2011-08-31  2:51   ` Tabi Timur-B04825
2011-08-31  2:54     ` Kumar Gala
2011-08-31  3:01       ` Tabi Timur-B04825
2011-08-31  3:05         ` Kumar Gala

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).