Skip to contentSkip to conversation

Add platform support for the MPC837x RDB board

PATCH In review [email protected] 7 participants 13 messages Sep 27, 2007 – Oct 1, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add platform support for the MPC837x RDB board

From: Joe D'Abbraccio <[email protected]>

The MPC837x RDB is a new member of the Freescale MPC83xx reference design boards.

---
 arch/powerpc/boot/dts/mpc8377_rdb.dts      |  306 ++++++++++
 arch/powerpc/boot/dts/mpc8378_rdb.dts      |  286 +++++++++
 arch/powerpc/boot/dts/mpc8379_rdb.dts      |  281 +++++++++
 arch/powerpc/configs/mpc837x_rdb_defconfig |  886 ++++++++++++++++++++++++++++
 arch/powerpc/platforms/83xx/Kconfig        |    8 +-
 arch/powerpc/platforms/83xx/Makefile       |    1 +
 arch/powerpc/platforms/83xx/mpc837x_rdb.c  |  102 ++++
 7 files changed, 1869 insertions(+), 1 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/mpc8377_rdb.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8378_rdb.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8379_rdb.dts
 create mode 100644 arch/powerpc/configs/mpc837x_rdb_defconfig
 create mode 100644 arch/powerpc/platforms/83xx/mpc837x_rdb.c
arch/powerpc/boot/dts/mpc8377_rdb.dts new file +306 -0
new file mode 100644
index 0000000..1ee2a06
@@ -0,0 +1,306 @@
+/*
+ * MPC8377E RDB Device Tree Source
+ *
+ * Copyright 2005, 2006, 2007 Freescale Semiconductor Inc.
+ *
+ * This program is free software; you can redistribute  it and/or modify it
+ * under  the terms of  the GNU General  Public License as published by the
+ * Free Software Foundation;  either version 2 of the  License, or (at your
+ * option) any later version.
+ */
+
+/ {
+	model = "fsl,mpc8377erdb";
+	compatible = "fsl,mpc8377erdb","fsl,mpc837xrdb";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		PowerPC,837x@0 {
+			device_type = "cpu";
+			reg = <0>;
+			d-cache-line-size = <20>;
+			i-cache-line-size = <20>;
+			d-cache-size = <8000>;		// L1, 32K
+			i-cache-size = <8000>;		// L1, 32K
+			timebase-frequency = <0>;
+			bus-frequency = <0>;
+			clock-frequency = <0>;
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <00000000 10000000>;	// 256MB at 0
+	};
+
+	soc837x@e0000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		device_type = "soc";
+		ranges = <0 e0000000 00100000>;
+		reg = <e0000000 00000200>;
+		bus-frequency = <0>;
+
+		wdt@200 {
+			device_type = "watchdog";
+			compatible = "mpc83xx_wdt";
+			reg = <200 100>;
+		};
+
+		i2c@3000 {
+			device_type = "i2c";
+			compatible = "fsl-i2c";
+			reg = <3000 100>;
+			interrupts = <e 8>;
+			interrupt-parent = < &ipic >;
+			dfsrr;
+		};
+
+		i2c@3100 {
+			device_type = "i2c";
+			compatible = "fsl-i2c";
+			reg = <3100 100>;
+			interrupts = <f 8>;
+			interrupt-parent = < &ipic >;
+			dfsrr;
+		};
+
+		spi@7000 {
+			device_type = "spi";
+			compatible = "mpc83xx_spi";
+			reg = <7000 1000>;
+			interrupts = <10 8>;
+			interrupt-parent = < &ipic >;
+			mode = <0>;
+		};
+
+		/* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
+		usb@23000 {
+			device_type = "usb";
+			compatible = "fsl-usb2-dr";
+			reg = <23000 1000>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			interrupt-parent = < &ipic >;
+			interrupts = <26 8>;
+			phy_type = "utmi_wide";
+		};
+
+		mdio@24520 {
+			device_type = "mdio";
+			compatible = "gianfar";
+			reg = <24520 20>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			phy2: ethernet-phy@2 {
+				interrupt-parent = < &ipic >;
+				interrupts = <11 8>;
+				reg = <2>;
+				device_type = "ethernet-phy";
+			};
+			phy3: ethernet-phy@3 {
+				interrupt-parent = < &ipic >;
+				interrupts = <12 8>;
+				reg = <3>;
+				device_type = "ethernet-phy";
+			};
+		};
+
+		ethernet@24000 {
+			device_type = "network";
+			model = "eTSEC";
+			compatible = "gianfar";
+			reg = <24000 1000>;
+			local-mac-address = [ 00 00 00 00 00 00 ];
+			interrupts = <20 8 21 8 22 8>;
+			phy-connection-type = "mii";
+			interrupt-parent = < &ipic >;
+			phy-handle = < &phy2 >;
+		};
+
+		ethernet@25000 {
+			device_type = "network";
+			model = "eTSEC";
+			compatible = "gianfar";
+			reg = <25000 1000>;
+			local-mac-address = [ 00 00 00 00 00 00 ];
+			interrupts = <23 8 24 8 25 8>;
+			phy-connection-type = "mii";
+			interrupt-parent = < &ipic >;
+			phy-handle = < &phy3 >;
+		};
+
+		serial@4500 {
+			device_type = "serial";
+			compatible = "ns16550";
+			reg = <4500 100>;
+			clock-frequency = <0>;
+			interrupts = <9 8>;
+			interrupt-parent = < &ipic >;
+		};
+
+		serial@4600 {
+			device_type = "serial";
+			compatible = "ns16550";
+			reg = <4600 100>;
+			clock-frequency = <0>;
+			interrupts = <a 8>;
+			interrupt-parent = < &ipic >;
+		};
+
+		pci@9000 {
+			device_type = "pci";
+			compatible = "fsl,mpc83xx-pex";
+			reg = <9000 1000>;
+			interrupt-parent = < &ipic >;
+			interrupts = <1 8>;
+			phy-handle = < &serdes2 >;
+		};
+
+		pci@a000 {
+			device_type = "pci";
+			compatible = "fsl,mpc83xx-pex";
+			reg = <a000 1000>;
+			interrupt-parent = < &ipic >;
+			interrupts = <2 8>;
+			phy-handle = < &serdes2 >;
+		};
+
+		crypto@30000 {
+			device_type = "crypto";
+			model = "SEC2";
+			compatible = "talitos";
+			reg = <30000 7000>;
+			interrupts = <b 8>;
+			interrupt-parent = < &ipic >;
+			/* Rev. 2.2 */
+			num-channels = <1>;
+			channel-fifo-len = <18>;
+			exec-units-mask = <0000004c>;
+			descriptor-types-mask = <0122003f>;
+		};
+
+		sdhc@2e000 {
+			model = "eSDHC";
+			compatible = "fsl,esdhc";
+			reg = <2e000 1000>;
+			interrupts = <2a 8>;
+			interrupt-parent = < &ipic >;
+		};
+
+		sata@18000 {
+			device_type = "sata";
+			model = "SATA-300";
+			compatible = "fsl,sata300";
+			reg = <18000 1000>;
+			interrupts = <2c 8>;
+			interrupt-parent = < &ipic >;
+			phy-handle = < &serdes1 >;
+		};
+
+		sata@19000 {
+			device_type = "sata";
+			model = "SATA-300";
+			compatible = "fsl,sata300";
+			reg = <19000 1000>;
+			interrupts = <2d 8>;
+			interrupt-parent = < &ipic >;
+			phy-handle = < &serdes1 >;
+		};
+
+		serdes1:serdes@e3000 {
+			compatible = "fsl,serdes";
+			reg = <e3000 100>;
+			vdd-1v;
+			protocol = "sata";
+			clock = <d#100>;
+		};
+
+		serdes2:serdes@e3100 {
+			model = "SerDes";
+			compatible = "fsl,serdes";
+			reg = <e3100 100>;
+			vdd-1v;
+			protocol = "pex";
+			clock = <d#100>;
+		};
+
+		/* IPIC
+		 * interrupts cell = <intr #, sense>
+		 * sense values match linux IORESOURCE_IRQ_* defines:
+		 * sense == 8: Level, low assertion
+		 * sense == 2: Edge, high-to-low change
+		 */
+		ipic: pic@700 {
+			compatible = "fsl,ipic";
+			interrupt-controller;
+			#address-cells = <0>;
+			#interrupt-cells = <2>;
+			reg = <700 100>;
+		};
+	};
+
+	pci@e0008500 {
+		interrupt-map-mask = <f800 0 0 7>;
+		interrupt-map = <
+
+				/* IDSEL 0x11 */
+				 8800 0 0 1 &ipic 14 8
+				 8800 0 0 2 &ipic 15 8
+				 8800 0 0 3 &ipic 16 8
+				 8800 0 0 4 &ipic 17 8
+
+				/* IDSEL 0x12 */
+				 9000 0 0 1 &ipic 16 8
+				 9000 0 0 2 &ipic 17 8
+				 9000 0 0 3 &ipic 14 8
+				 9000 0 0 4 &ipic 15 8
+
+				/* IDSEL 0x13 */
+				 9800 0 0 1 &ipic 17 8
+				 9800 0 0 2 &ipic 14 8
+				 9800 0 0 3 &ipic 15 8
+				 9800 0 0 4 &ipic 16 8
+
+				/* IDSEL 0x15 */
+				 a800 0 0 1 &ipic 14 8
+				 a800 0 0 2 &ipic 15 8
+				 a800 0 0 3 &ipic 16 8
+				 a800 0 0 4 &ipic 17 8
+
+				/* IDSEL 0x16 */
+				 b000 0 0 1 &ipic 17 8
+				 b000 0 0 2 &ipic 14 8
+				 b000 0 0 3 &ipic 15 8
+				 b000 0 0 4 &ipic 16 8
+
+				/* IDSEL 0x17 */
+				 b800 0 0 1 &ipic 16 8
+				 b800 0 0 2 &ipic 17 8
+				 b800 0 0 3 &ipic 14 8
+				 b800 0 0 4 &ipic 15 8
+
+				/* IDSEL 0x18 */
+				 c000 0 0 1 &ipic 15 8
+				 c000 0 0 2 &ipic 16 8
+				 c000 0 0 3 &ipic 17 8
+				 c000 0 0 4 &ipic 14 8>;
+		interrupt-parent = < &ipic >;
+		interrupts = <42 8>;
+		bus-range = <0 0>;
+		ranges = <02000000 0 90000000 90000000 0 10000000
+		          42000000 0 80000000 80000000 0 10000000
+		          01000000 0 00000000 e2000000 0 00100000>;
+		clock-frequency = <0>;
+		#interrupt-cells = <1>;
+		#size-cells = <2>;
+		#address-cells = <3>;
+		reg = <e0008500 100>;
+		compatible = "fsl,mpc83xx-pci", "83xx";
+		device_type = "pci";
+	};
+};
arch/powerpc/boot/dts/mpc8378_rdb.dts new file +286 -0

286 lines not on this page · raw message

arch/powerpc/boot/dts/mpc8379_rdb.dts new file +281 -0

281 lines not on this page · raw message

arch/powerpc/configs/mpc837x_rdb_defconfig new file +886 -0

886 lines not on this page · raw message

arch/powerpc/platforms/83xx/Kconfig +7 -1
index 0c61e7a..76a623b 100644
@@ -55,6 +55,12 @@ config MPC837x_MDS
 	select DEFAULT_UIMAGE
 	help
 	  This option enables support for the MPC837x MDS Processor Board.
+
+config MPC837x_RDB
+	bool "Freescale MPC837x RDB"
+	select DEFAULT_UIMAGE
+	help
+	  This option enables support for the MPC837x RDB Board.
 endchoice
 
 config PPC_MPC831x
@@ -86,4 +92,4 @@ config PPC_MPC837x
 	select PPC_UDBG_16550
 	select PPC_INDIRECT_PCI
 	select FSL_SERDES
-	default y if MPC837x_MDS
+	default y if MPC837x_MDS || MPC837x_RDB
arch/powerpc/platforms/83xx/Makefile +1 -0
index df46629..d64c0ad 100644
@@ -10,3 +10,4 @@ obj-$(CONFIG_MPC834x_ITX)	+= mpc834x_itx.o
 obj-$(CONFIG_MPC836x_MDS)	+= mpc836x_mds.o
 obj-$(CONFIG_MPC832x_MDS)	+= mpc832x_mds.o
 obj-$(CONFIG_MPC837x_MDS)	+= mpc837x_mds.o
+obj-$(CONFIG_MPC837x_RDB)	+= mpc837x_rdb.o
arch/powerpc/platforms/83xx/mpc837x_rdb.c new file +102 -0

102 lines not on this page · raw message

Signature · 1 line
1.5.2.2
#1 lore raw
Quoted 4 lines · On Thu, Sep 27, 2007 at 02:22:31PM -0400, [email protected] wrote:

From: Joe D'Abbraccio <[email protected]>

The MPC837x RDB is a new member of the Freescale MPC83xx reference design boards.

FYI, if you have patches for arch/powerpc, I recommend that you submit them to linuxppc-dev. linuxppc-embedded is not monitored by many important people including paulus.

Since these are 8xxx patches, chances are Kumar will see them and take them but you're still better off submitting to linuxppc-dev.

Mark

#2 lore raw

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Quoted 22 lines

-----Original Message-----
From: Mark A. Greer [mailto:[email protected]]=20
Sent: Thursday, September 27, 2007 3:11 PM
To: D'Abbraccio Joe-ljd015
Cc: [email protected]
Subject: Re: [PATCH] Add platform support for the MPC837x RDB board =20

Quoted 4 lines · On Thu, Sep 27, 2007 at 02:22:31PM -0400, [email protected] wrote:

From: Joe D'Abbraccio <[email protected]>
=20
The MPC837x RDB is a new member of the Freescale MPC83xx reference=20 design boards.

=20
FYI, if you have patches for arch/powerpc, I recommend that=20 you submit them to linuxppc-dev. linuxppc-embedded is not=20 monitored by many important people including paulus.
=20
Since these are 8xxx patches, chances are Kumar will see them=20 and take them but you're still better off submitting to linuxppc-dev. =20
Mark
=20

#3 lore raw
Quoted 3 lines · On Thu, Sep 27, 2007 at 12:41:57PM -0700, D'Abbraccio Joe-ljd015 wrote:

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Yes, I think it would be better to repost to linuxppc-dev.

Does anyone have an objection to changing all of the:

"L: [email protected]"

in MAINTAINERS to:

	"L:	[email protected]" ??

Kumar, Josh, Vitaly, et. al.?

Mark

#4 lore raw
Quoted 9 lines · On Thu, 27 Sep 2007 12:53:51 -0700 "Mark A. Greer" <[email protected]> wrote:
Quoted 3 lines · On Thu, Sep 27, 2007 at 12:41:57PM -0700, D'Abbraccio Joe-ljd015 wrote:

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Yes, I think it would be better to repost to linuxppc-dev.

Does anyone have an objection to changing all of the:

Quoted 7 lines

"L: [email protected]"

in MAINTAINERS to:

	"L:	[email protected]" ??

Kumar, Josh, Vitaly, et. al.?

I personally don't care either way. I'm already subscribed to both lists.

Makes sense to go to linuxppc-dev given the arch/powerpc migration.

josh

#5 lore raw
Quoted 16 lines · Josh Boyer
Quoted 13 lines · On Thu, 27 Sep 2007 12:53:51 -0700 "Mark A. Greer" <[email protected]> wrote:
Quoted 3 lines · On Thu, Sep 27, 2007 at 12:41:57PM -0700, D'Abbraccio Joe-ljd015 wrote:

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Yes, I think it would be better to repost to linuxppc-dev.

Does anyone have an objection to changing all of the:

"L: [email protected]"

in MAINTAINERS to:

Quoted 8 lines
Quoted 3 lines
	"L:	[email protected]" ??

Kumar, Josh, Vitaly, et. al.?

I personally don't care either way. I'm already subscribed to both lists.

Makes sense to go to linuxppc-dev given the arch/powerpc migration.

I thought the -embedded list was created in the first place to keep some of the "noise" off of -dev (i.e. "I can't get interface <foo> to work on my custom <embedded eval board>-lookalike board, HELP!"). If people still care about keeping that on a separate list, then we shouldn't change it.

I think the relevant people probably monitor this list (maybe not quite as frequently) to catch things. I even caught the first PWRficient-related question in a timely manner the other day. :-)

Still, that being said, patches will clearly get better exposure on -dev, especially device tree crap.

-Olof

#6 lore raw
Quoted 24 lines · Olof Johansson
Quoted 23 lines · Josh Boyer
Quoted 9 lines · On Thu, 27 Sep 2007 12:53:51 -0700 "Mark A. Greer" <[email protected]> wrote:
Quoted 3 lines · On Thu, Sep 27, 2007 at 12:41:57PM -0700, D'Abbraccio Joe-ljd015 wrote:

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Yes, I think it would be better to repost to linuxppc-dev.

Does anyone have an objection to changing all of the:

Quoted 7 lines

"L: [email protected]"

in MAINTAINERS to:

	"L:	[email protected]" ??

Kumar, Josh, Vitaly, et. al.?

I personally don't care either way. I'm already subscribed to both lists.

Quoted 6 lines
Quoted 1 line

Makes sense to go to linuxppc-dev given the arch/powerpc migration.

I thought the -embedded list was created in the first place to keep some of the "noise" off of -dev (i.e. "I can't get interface <foo> to work on my custom <embedded eval board>-lookalike board, HELP!"). If people still care about keeping that on a separate list, then we shouldn't change it.

Yes, IIRC, that was the reason but now with the merge and low volume on this list, it makes sense to me to just get rid of -embedded.

Quoted 3 lines

I think the relevant people probably monitor this list (maybe not quite as frequently) to catch things. I even caught the first PWRficient-related question in a timely manner the other day. :-)

:)

Quoted 2 lines

Still, that being said, patches will clearly get better exposure on -dev, especially device tree crap.

Definitely. I'll propose this on -dev and see what people say.

Mark

#7 lore raw
Quoted 31 lines · Mark A. Greer
Quoted 29 lines · Olof Johansson
Quoted 27 lines · Josh Boyer
Quoted 10 lines · On Thu, 27 Sep 2007 12:53:51 -0700 "Mark A. Greer" <[email protected]> wrote:
Quoted 4 lines · On Thu, Sep 27, 2007 at 12:41:57PM -0700, D'Abbraccio Joe-ljd015 wrote:

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Yes, I think it would be better to repost to linuxppc-dev.

Does anyone have an objection to changing all of the:

Quoted 8 lines

"L: [email protected]"

in MAINTAINERS to:

	"L:	[email protected]" ??

Kumar, Josh, Vitaly, et. al.?

I personally don't care either way. I'm already subscribed to both lists.

Makes sense to go to linuxppc-dev given the arch/powerpc migration.

Quoted 10 lines
Quoted 5 lines

I thought the -embedded list was created in the first place to keep some of the "noise" off of -dev (i.e. "I can't get interface <foo> to work on my custom <embedded eval board>-lookalike board, HELP!"). If people still care about keeping that on a separate list, then we shouldn't change it.

Yes, IIRC, that was the reason but now with the merge and low volume on this list, it makes sense to me to just get rid of -embedded.

Perhaps my perspective is unique, but I doubt it. I find it nice that this list is low volume and not filled with endless patches about CHRP and P series and open firmware syntax blah blah blah...

No offense intended to all the people who are doing wonderful work expanding the Linux universe, but for your average dude or dudette working on embedded boards that happen to have a PowerPC processor, this list is a pretty good forum.

regards,
Ben

#8 lore raw
Quoted 42 lines · On Mon, 01 Oct 2007 15:49:22 -0400 Ben Warren <[email protected]> wrote:
Quoted 31 lines · Mark A. Greer
Quoted 29 lines · Olof Johansson
Quoted 27 lines · Josh Boyer
Quoted 10 lines · On Thu, 27 Sep 2007 12:53:51 -0700 "Mark A. Greer" <[email protected]> wrote:
Quoted 4 lines · On Thu, Sep 27, 2007 at 12:41:57PM -0700, D'Abbraccio Joe-ljd015 wrote:

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Yes, I think it would be better to repost to linuxppc-dev.

Does anyone have an objection to changing all of the:

Quoted 8 lines

"L: [email protected]"

in MAINTAINERS to:

	"L:	[email protected]" ??

Kumar, Josh, Vitaly, et. al.?

I personally don't care either way. I'm already subscribed to both lists.

Makes sense to go to linuxppc-dev given the arch/powerpc migration.

Quoted 10 lines
Quoted 5 lines

I thought the -embedded list was created in the first place to keep some of the "noise" off of -dev (i.e. "I can't get interface <foo> to work on my custom <embedded eval board>-lookalike board, HELP!"). If people still care about keeping that on a separate list, then we shouldn't change it.

Yes, IIRC, that was the reason but now with the merge and low volume on this list, it makes sense to me to just get rid of -embedded.

Quoted 8 lines

Perhaps my perspective is unique, but I doubt it. I find it nice that this list is low volume and not filled with endless patches about CHRP and P series and open firmware syntax blah blah blah...

No offense intended to all the people who are doing wonderful work expanding the Linux universe, but for your average dude or dudette working on embedded boards that happen to have a PowerPC processor, this list is a pretty good forum.

I think the original thought was to have patches go to linuxppc-dev. Not necessarily all discussion.

josh

#9 lore raw
Quoted 57 lines · Josh Boyer
Quoted 53 lines · On Mon, 01 Oct 2007 15:49:22 -0400 Ben Warren <[email protected]> wrote:
Quoted 38 lines · Mark A. Greer
Quoted 35 lines · Olof Johansson
Quoted 32 lines · Josh Boyer
Quoted 12 lines · On Thu, 27 Sep 2007 12:53:51 -0700 "Mark A. Greer" <[email protected]> wrote:
Quoted 5 lines · On Thu, Sep 27, 2007 at 12:41:57PM -0700, D'Abbraccio Joe-ljd015 wrote:

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Yes, I think it would be better to repost to linuxppc-dev.

Does anyone have an objection to changing all of the:

Quoted 9 lines

"L: [email protected]"

in MAINTAINERS to:

	"L:	[email protected]" ??

Kumar, Josh, Vitaly, et. al.?

I personally don't care either way. I'm already subscribed to both lists.

Makes sense to go to linuxppc-dev given the arch/powerpc migration.

Quoted 11 lines
Quoted 6 lines

I thought the -embedded list was created in the first place to keep some of the "noise" off of -dev (i.e. "I can't get interface <foo> to work on my custom <embedded eval board>-lookalike board, HELP!"). If people still care about keeping that on a separate list, then we shouldn't change it.

Yes, IIRC, that was the reason but now with the merge and low volume on this list, it makes sense to me to just get rid of -embedded.

Perhaps my perspective is unique, but I doubt it. I find it nice that this list is low volume and not filled with endless patches about CHRP and P series and open firmware syntax blah blah blah...

Quoted 9 lines
Quoted 2 lines

No offense intended to all the people who are doing wonderful work expanding the Linux universe, but for your average dude or dudette working on embedded boards that happen to have a PowerPC processor, this list is a pretty good forum.

I think the original thought was to have patches go to linuxppc-dev. Not necessarily all discussion.

josh

True, and that makes sense. Patches should go where the right people will see them quickly. At least two people have advocated getting rid of the linuxppc-embedded list, though. Maybe I misunderstood.

regards,
Ben

#10 lore raw
In reply to Josh Boyer
Quoted 6 lines · Josh Boyer
Quoted 4 lines · On Mon, 01 Oct 2007 15:49:22 -0400 Ben Warren <[email protected]> wrote:

Perhaps my perspective is unique, but I doubt it. I find it nice that this list is low volume and not filled with endless patches about CHRP and P series and open firmware syntax blah blah blah...

Quoted 7 lines
Quoted 4 lines

No offense intended to all the people who are doing wonderful work expanding the Linux universe, but for your average dude or dudette working on embedded boards that happen to have a PowerPC processor, this list is a pretty good forum.

I think the original thought was to have patches go to linuxppc-dev. Not necessarily all discussion.

That's where I started but I moved to completely getting of linuxppc-embedded. As Ben points out, I may have gone too far.

Mark

#11 lore raw
In reply to Mark A. Greer
Quoted 9 lines · Mark A. Greer
Quoted 3 lines · On Thu, Sep 27, 2007 at 12:41:57PM -0700, D'Abbraccio Joe-ljd015 wrote:

Thanks for the advice, but I was just basing the list to post to on the MAINTAINERS file which states that this is the one for Embedded PPC83XX. If you still think that I should post to linuxppc-dev, let me know.

Yes, I think it would be better to repost to linuxppc-dev.

Does anyone have an objection to changing all of the:

Quoted 7 lines

"L: [email protected]"

in MAINTAINERS to:

	"L:	[email protected]" ??

Kumar, Josh, Vitaly, et. al.?

I'm all for it, but we should see about killing linuxppc-embedded and just move everyone to linuxppc-dev.

- k

#12 lore raw
In reply to [email protected]
Quoted 6 lines · On Sep 27, 2007, at 1:22 PM, [email protected] wrote:

From: Joe D'Abbraccio <[email protected]>

The MPC837x RDB is a new member of the Freescale MPC83xx reference design boards.

Please base your patch against an external tree (like my for-2.6.24 branch).

See comments inline.

- k

Quoted 187 lines
---
 arch/powerpc/boot/dts/mpc8377_rdb.dts      |  306 ++++++++++
 arch/powerpc/boot/dts/mpc8378_rdb.dts      |  286 +++++++++
 arch/powerpc/boot/dts/mpc8379_rdb.dts      |  281 +++++++++
 arch/powerpc/configs/mpc837x_rdb_defconfig |  886 +++++++++++++++++ 
+++++++++++
 arch/powerpc/platforms/83xx/Kconfig        |    8 +-
 arch/powerpc/platforms/83xx/Makefile       |    1 +
 arch/powerpc/platforms/83xx/mpc837x_rdb.c  |  102 ++++
 7 files changed, 1869 insertions(+), 1 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/mpc8377_rdb.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8378_rdb.dts
 create mode 100644 arch/powerpc/boot/dts/mpc8379_rdb.dts
 create mode 100644 arch/powerpc/configs/mpc837x_rdb_defconfig
 create mode 100644 arch/powerpc/platforms/83xx/mpc837x_rdb.c
arch/powerpc/boot/dts/mpc8377_rdb.dts new file +6 -0
new file mode 100644
index 0000000..1ee2a06
@@ -0,0 +1,306 @@
+/*
+ * MPC8377E RDB Device Tree Source
+ *
+ * Copyright 2005, 2006, 2007 Freescale Semiconductor Inc.
+ *
+ * This program is free software; you can redistribute  it and/or  

modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */

arch/powerpc/boot/dts/mpc8377_rdb.dts new file +152 -0
+
+/ {
+	model = "fsl,mpc8377erdb";
+	compatible = "fsl,mpc8377erdb","fsl,mpc837xrdb";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		PowerPC,837x@0 {
+			device_type = "cpu";
+			reg = <0>;
+			d-cache-line-size = <20>;
+			i-cache-line-size = <20>;
+			d-cache-size = <8000>;		// L1, 32K
+			i-cache-size = <8000>;		// L1, 32K
+			timebase-frequency = <0>;
+			bus-frequency = <0>;
+			clock-frequency = <0>;
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <00000000 10000000>;	// 256MB at 0
+	};
+
+	soc837x@e0000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		device_type = "soc";
+		ranges = <0 e0000000 00100000>;
+		reg = <e0000000 00000200>;
+		bus-frequency = <0>;
+
+		wdt@200 {
+			device_type = "watchdog";
+			compatible = "mpc83xx_wdt";
+			reg = <200 100>;
+		};
+
+		i2c@3000 {
+			device_type = "i2c";
+			compatible = "fsl-i2c";
+			reg = <3000 100>;
+			interrupts = <e 8>;
+			interrupt-parent = < &ipic >;
+			dfsrr;
+		};
+
+		i2c@3100 {
+			device_type = "i2c";
+			compatible = "fsl-i2c";
+			reg = <3100 100>;
+			interrupts = <f 8>;
+			interrupt-parent = < &ipic >;
+			dfsrr;
+		};
+
+		spi@7000 {
+			device_type = "spi";
+			compatible = "mpc83xx_spi";
+			reg = <7000 1000>;
+			interrupts = <10 8>;
+			interrupt-parent = < &ipic >;
+			mode = <0>;
+		};
+
+		/* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
+		usb@23000 {
+			device_type = "usb";
+			compatible = "fsl-usb2-dr";
+			reg = <23000 1000>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			interrupt-parent = < &ipic >;
+			interrupts = <26 8>;
+			phy_type = "utmi_wide";
+		};
+
+		mdio@24520 {
+			device_type = "mdio";
+			compatible = "gianfar";
+			reg = <24520 20>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			phy2: ethernet-phy@2 {
+				interrupt-parent = < &ipic >;
+				interrupts = <11 8>;
+				reg = <2>;
+				device_type = "ethernet-phy";
+			};
+			phy3: ethernet-phy@3 {
+				interrupt-parent = < &ipic >;
+				interrupts = <12 8>;
+				reg = <3>;
+				device_type = "ethernet-phy";
+			};
+		};
+
+		ethernet@24000 {
+			device_type = "network";
+			model = "eTSEC";
+			compatible = "gianfar";
+			reg = <24000 1000>;
+			local-mac-address = [ 00 00 00 00 00 00 ];
+			interrupts = <20 8 21 8 22 8>;
+			phy-connection-type = "mii";
+			interrupt-parent = < &ipic >;
+			phy-handle = < &phy2 >;
+		};
+
+		ethernet@25000 {
+			device_type = "network";
+			model = "eTSEC";
+			compatible = "gianfar";
+			reg = <25000 1000>;
+			local-mac-address = [ 00 00 00 00 00 00 ];
+			interrupts = <23 8 24 8 25 8>;
+			phy-connection-type = "mii";
+			interrupt-parent = < &ipic >;
+			phy-handle = < &phy3 >;
+		};
+
+		serial@4500 {
+			device_type = "serial";
+			compatible = "ns16550";
+			reg = <4500 100>;
+			clock-frequency = <0>;
+			interrupts = <9 8>;
+			interrupt-parent = < &ipic >;
+		};
+
+		serial@4600 {
+			device_type = "serial";
+			compatible = "ns16550";
+			reg = <4600 100>;
+			clock-frequency = <0>;
+			interrupts = <a 8>;
+			interrupt-parent = < &ipic >;
+		};
+
+		pci@9000 {
+			device_type = "pci";
+			compatible = "fsl,mpc83xx-pex";
+			reg = <9000 1000>;
+			interrupt-parent = < &ipic >;
+			interrupts = <1 8>;
+			phy-handle = < &serdes2 >;
+		};

arch/powerpc/boot/dts/mpc8377_rdb.dts line 172

Quoted 10 lines
arch/powerpc/boot/dts/mpc8377_rdb.dts new file +10 -0
+
+		pci@a000 {
+			device_type = "pci";
+			compatible = "fsl,mpc83xx-pex";
+			reg = <a000 1000>;
+			interrupt-parent = < &ipic >;
+			interrupts = <2 8>;
+			phy-handle = < &serdes2 >;
+		};
+

remove these pci nodes since we don't have kernel support for pex on 83xx.

Quoted 48 lines
arch/powerpc/boot/dts/mpc8377_rdb.dts new file +48 -0
+		crypto@30000 {
+			device_type = "crypto";
+			model = "SEC2";
+			compatible = "talitos";
+			reg = <30000 7000>;
+			interrupts = <b 8>;
+			interrupt-parent = < &ipic >;
+			/* Rev. 2.2 */
+			num-channels = <1>;
+			channel-fifo-len = <18>;
+			exec-units-mask = <0000004c>;
+			descriptor-types-mask = <0122003f>;
+		};
+
+		sdhc@2e000 {
+			model = "eSDHC";
+			compatible = "fsl,esdhc";
+			reg = <2e000 1000>;
+			interrupts = <2a 8>;
+			interrupt-parent = < &ipic >;
+		};
+
+		sata@18000 {
+			device_type = "sata";
+			model = "SATA-300";
+			compatible = "fsl,sata300";
+			reg = <18000 1000>;
+			interrupts = <2c 8>;
+			interrupt-parent = < &ipic >;
+			phy-handle = < &serdes1 >;
+		};
+
+		sata@19000 {
+			device_type = "sata";
+			model = "SATA-300";
+			compatible = "fsl,sata300";
+			reg = <19000 1000>;
+			interrupts = <2d 8>;
+			interrupt-parent = < &ipic >;
+			phy-handle = < &serdes1 >;
+		};
+
+		serdes1:serdes@e3000 {
+			compatible = "fsl,serdes";
+			reg = <e3000 100>;
+			vdd-1v;
+			protocol = "sata";
+			clock = <d#100>;

arch/powerpc/boot/dts/mpc8377_rdb.dts line 230

Quoted 10 lines
arch/powerpc/boot/dts/mpc8377_rdb.dts new file +10 -0
+		};
+
+		serdes2:serdes@e3100 {
+			model = "SerDes";
+			compatible = "fsl,serdes";
+			reg = <e3100 100>;
+			vdd-1v;
+			protocol = "pex";
+			clock = <d#100>;
+		};

remove sata, sdhc, and serdes until the device binding patches that describe these are posted.

Quoted 66 lines
arch/powerpc/boot/dts/mpc8377_rdb.dts new file +66 -0
+
+		/* IPIC
+		 * interrupts cell = <intr #, sense>
+		 * sense values match linux IORESOURCE_IRQ_* defines:
+		 * sense == 8: Level, low assertion
+		 * sense == 2: Edge, high-to-low change
+		 */
+		ipic: pic@700 {
+			compatible = "fsl,ipic";
+			interrupt-controller;
+			#address-cells = <0>;
+			#interrupt-cells = <2>;
+			reg = <700 100>;
+		};
+	};
+
+	pci@e0008500 {
+		interrupt-map-mask = <f800 0 0 7>;
+		interrupt-map = <
+
+				/* IDSEL 0x11 */
+				 8800 0 0 1 &ipic 14 8
+				 8800 0 0 2 &ipic 15 8
+				 8800 0 0 3 &ipic 16 8
+				 8800 0 0 4 &ipic 17 8
+
+				/* IDSEL 0x12 */
+				 9000 0 0 1 &ipic 16 8
+				 9000 0 0 2 &ipic 17 8
+				 9000 0 0 3 &ipic 14 8
+				 9000 0 0 4 &ipic 15 8
+
+				/* IDSEL 0x13 */
+				 9800 0 0 1 &ipic 17 8
+				 9800 0 0 2 &ipic 14 8
+				 9800 0 0 3 &ipic 15 8
+				 9800 0 0 4 &ipic 16 8
+
+				/* IDSEL 0x15 */
+				 a800 0 0 1 &ipic 14 8
+				 a800 0 0 2 &ipic 15 8
+				 a800 0 0 3 &ipic 16 8
+				 a800 0 0 4 &ipic 17 8
+
+				/* IDSEL 0x16 */
+				 b000 0 0 1 &ipic 17 8
+				 b000 0 0 2 &ipic 14 8
+				 b000 0 0 3 &ipic 15 8
+				 b000 0 0 4 &ipic 16 8
+
+				/* IDSEL 0x17 */
+				 b800 0 0 1 &ipic 16 8
+				 b800 0 0 2 &ipic 17 8
+				 b800 0 0 3 &ipic 14 8
+				 b800 0 0 4 &ipic 15 8
+
+				/* IDSEL 0x18 */
+				 c000 0 0 1 &ipic 15 8
+				 c000 0 0 2 &ipic 16 8
+				 c000 0 0 3 &ipic 17 8
+				 c000 0 0 4 &ipic 14 8>;
+		interrupt-parent = < &ipic >;
+		interrupts = <42 8>;
+		bus-range = <0 0>;
+		ranges = <02000000 0 90000000 90000000 0 10000000
+		          42000000 0 80000000 80000000 0 10000000

arch/powerpc/boot/dts/mpc8377_rdb.dts line 306

Quoted 10 lines
arch/powerpc/boot/dts/mpc8377_rdb.dts new file +10 -0
+		          01000000 0 00000000 e2000000 0 00100000>;
+		clock-frequency = <0>;
+		#interrupt-cells = <1>;
+		#size-cells = <2>;
+		#address-cells = <3>;
+		reg = <e0008500 100>;
+		compatible = "fsl,mpc83xx-pci", "83xx";
+		device_type = "pci";
+	};
+};

(above comments apply to other .dts)

[snip]

Quoted 18 lines
arch/powerpc/platforms/83xx/Kconfig +6 -0
index 0c61e7a..76a623b 100644
@@ -55,6 +55,12 @@ config MPC837x_MDS
 	select DEFAULT_UIMAGE
 	help
 	  This option enables support for the MPC837x MDS Processor Board.
+
+config MPC837x_RDB
+	bool "Freescale MPC837x RDB"
+	select DEFAULT_UIMAGE
+	help
+	  This option enables support for the MPC837x RDB Board.
 endchoice
 
 config PPC_MPC831x

arch/powerpc/platforms/83xx/Kconfig config PPC_MPC837x · line 94

Quoted 3 lines
arch/powerpc/platforms/83xx/Kconfig +0 -0
@@ -86,4 +92,4 @@ config PPC_MPC837x
 	select PPC_UDBG_16550
 	select PPC_INDIRECT_PCI
 	select FSL_SERDES

FSL_SERDES doesn't exist in any tree at this point.

arch/powerpc/platforms/83xx/Makefile obj-$(CONFIG_MPC834x_ITX) += mpc834x_itx.o · line 13

Quoted 11 lines
arch/powerpc/platforms/83xx/Kconfig +1 -1
-	default y if MPC837x_MDS
+	default y if MPC837x_MDS || MPC837x_RDB
arch/powerpc/platforms/83xx/Makefile +1 -0
index df46629..d64c0ad 100644
@@ -10,3 +10,4 @@ obj-$(CONFIG_MPC834x_ITX)	+= mpc834x_itx.o
 obj-$(CONFIG_MPC836x_MDS)	+= mpc836x_mds.o
 obj-$(CONFIG_MPC832x_MDS)	+= mpc832x_mds.o
 obj-$(CONFIG_MPC837x_MDS)	+= mpc837x_mds.o
+obj-$(CONFIG_MPC837x_RDB)	+= mpc837x_rdb.o

This patch will not apply since 837x_MDS doesn't exist.

Quoted 44 lines
arch/powerpc/platforms/83xx/mpc837x_rdb.c new file +4 -0
new file mode 100644
index 0000000..132438f
@@ -0,0 +1,102 @@
+/*
+ * arch/powerpc/platforms/83xx/mpc837x_rdb.c
+ *
+ * Copyright (C) 2007 Freescale Semicondutor, Inc. All rights  

reserved.
+ *
+ * MPC837x RDB board specific routines
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */

arch/powerpc/platforms/83xx/mpc837x_rdb.c new file +15 -0
+
+#include <linux/of_platform.h>
+
+#include <asm/time.h>
+#include <asm/ipic.h>
+#include <asm/udbg.h>
+
+#include "mpc83xx.h"
+
+#ifndef CONFIG_PCI
+unsigned long isa_io_base;
+unsigned long isa_mem_base;
+#endif
+
+/*  

************************************************************************
+ *
+ * Setup the architecture
+ *
+ */

arch/powerpc/platforms/83xx/mpc837x_rdb.c new file +2 -0
+static void __init mpc837x_rdb_setup_arch(void)
+{

arch/powerpc/platforms/83xx/mpc837x_rdb.c line 43

Quoted 10 lines
arch/powerpc/platforms/83xx/mpc837x_rdb.c new file +10 -0
+#ifdef CONFIG_PCI
+	struct device_node *np;
+#endif
+
+	if (ppc_md.progress)
+		ppc_md.progress("mpc837x_rdb_setup_arch()", 0);
+
+#ifdef CONFIG_PCI
+	for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
+		add_bridge(np);

This should be somethine like:

for_each_node_by_type(np, "pci")

      if (of_device_is_compatible(np, "fsl,mpc83xx-pci"))
		add_bridge(np);
Quoted 66 lines
arch/powerpc/platforms/83xx/mpc837x_rdb.c new file +59 -0
+#endif
+}
+
+static struct of_device_id mpc837x_ids[] = {
+	{ .type = "soc", },
+	{ .compatible = "soc", },
+	{},
+};
+
+static int __init mpc837x_declare_of_platform_devices(void)
+{
+	if (!machine_is(mpc837x_rdb))
+		return 0;
+
+	/* Publish of_device */
+	of_platform_bus_probe(NULL, mpc837x_ids, NULL);
+
+	return 0;
+}
+device_initcall(mpc837x_declare_of_platform_devices);
+
+static void __init mpc837x_rdb_init_IRQ(void)
+{
+	struct device_node *np;
+
+	np = of_find_compatible_node(NULL, NULL, "fsl,ipic");
+	if (!np)
+		return;
+
+	ipic_init(np, 0);
+
+	/* Initialize the default interrupt mapping priorities,
+	 * in case the boot rom changed something on us.
+	 */
+	ipic_set_default_priority();
+}
+
+
+/*
+ * Called very early, MMU is off, device-tree isn't unflattened
+ */
+static int __init mpc837x_rdb_probe(void)
+{
+	unsigned long root = of_get_flat_dt_root();
+
+	return of_flat_dt_is_compatible(root, "fsl,mpc837xrdb");
+}
+
+define_machine(mpc837x_rdb) {
+	.name			= "MPC837x RDB",
+	.probe			= mpc837x_rdb_probe,
+	.setup_arch		= mpc837x_rdb_setup_arch,
+	.init_IRQ		= mpc837x_rdb_init_IRQ,
+	.get_irq		= ipic_get_irq,
+	.restart		= mpc83xx_restart,
+	.time_init		= mpc83xx_time_init,
+	.calibrate_decr		= generic_calibrate_decr,
+	.progress		= udbg_progress,
+};
Signature · 6 lines
1.5.2.2

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded