LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 5/8] powerpc/5200: Don't specify IRQF_SHARED in PSC UART driver
From: Wolfram Sang @ 2009-01-29 21:24 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev
In-Reply-To: <20090121205529.31232.64801.stgit@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 1490 bytes --]

On Wed, Jan 21, 2009 at 01:55:29PM -0700, Grant Likely wrote:
> From: Grant Likely <grant.likely@secretlab.ca>
> 
> The MPC5200 PSC device is wired up to a dedicated interrupt line
> which is never shared.  This patch removes the IRQF_SHARED flag
> from the request_irq() call which eliminates the "IRQF_DISABLED
> is not guaranteed on shared IRQs" warning message from the console
> output.
> 
> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>

What do I give here? Acked-by? Reviewed? Tested? :D I'll make a guess:

Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>

> ---
> 
>  drivers/serial/mpc52xx_uart.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> 
> diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
> index d73d7da..7f72f8c 100644
> --- a/drivers/serial/mpc52xx_uart.c
> +++ b/drivers/serial/mpc52xx_uart.c
> @@ -522,7 +522,7 @@ mpc52xx_uart_startup(struct uart_port *port)
>  
>  	/* Request IRQ */
>  	ret = request_irq(port->irq, mpc52xx_uart_int,
> -		IRQF_DISABLED | IRQF_SAMPLE_RANDOM | IRQF_SHARED,
> +		IRQF_DISABLED | IRQF_SAMPLE_RANDOM,
>  		"mpc52xx_psc_uart", port);
>  	if (ret)
>  		return ret;
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev

-- 
  Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* Re: [PATCH 3/8] powerpc/5200: Trim cruft from device trees
From: Wolfram Sang @ 2009-01-29 21:21 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev, Marian Balakowicz
In-Reply-To: <20090121205518.31232.58846.stgit@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 47697 bytes --]

On Wed, Jan 21, 2009 at 01:55:18PM -0700, Grant Likely wrote:
> From: Grant Likely <grant.likely@secretlab.ca>
> 
> Trim out obsolete/extraneous properties and tighten up some usage
> conventions.  Changes include:
> - removal of device_type properties
> - removal of cell-index properties
> - Addition of gpio-controller and #gpio-cells properties to gpio
>   nodes
> - Move common interrupt-parent property out of device nodes and
>   into top level parent node.
> 
> This patch also include what looks to be just trivial editorial
> whitespace/format changes, but there is real method in this
> madness.  Editorial changes were made to keep the all the
> mpc5200 board device trees as similar as possible so that diffs
> between them only show the real differences between the boards.
> The pcm030 device tree was most affected by this because many
> of the comments had been changed from // to /* */ style and
> some cell values where changed from decimal to hex format when
> it was cloned from one of the other 5200 device trees.

Thanks for this and especially for fixing the wrong interrupt in one of
the pcm030 PSCs! My phyCORE-MPC5200B-tiny still works fine with the new
dts. The other changes were only audited, not tested on real hardware.

> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>

Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>

> CC: Wolfram Sang <w.sang@pengutronix.de>
> CC: Wolfgang Grandegger <wg@grandegger.com>
> CC: Sascha Hauer <s.hauer@pengutronix.de>
> CC: Marian Balakowicz <m8@semihalf.com>
> ---
> 
>  arch/powerpc/boot/dts/cm5200.dts    |   45 ++-------
>  arch/powerpc/boot/dts/lite5200.dts  |   52 ----------
>  arch/powerpc/boot/dts/lite5200b.dts |   63 ++----------
>  arch/powerpc/boot/dts/motionpro.dts |   42 ++------
>  arch/powerpc/boot/dts/pcm030.dts    |  182 +++++++++++++----------------------
>  arch/powerpc/boot/dts/tqm5200.dts   |   32 +-----
>  6 files changed, 104 insertions(+), 312 deletions(-)
> 
> 
> diff --git a/arch/powerpc/boot/dts/cm5200.dts b/arch/powerpc/boot/dts/cm5200.dts
> index 2f74cc4..11ada32 100644
> --- a/arch/powerpc/boot/dts/cm5200.dts
> +++ b/arch/powerpc/boot/dts/cm5200.dts
> @@ -17,6 +17,7 @@
>  	compatible = "schindler,cm5200";
>  	#address-cells = <1>;
>  	#size-cells = <1>;
> +	interrupt-parent = <&mpc5200_pic>;
>  
>  	cpus {
>  		#address-cells = <1>;
> @@ -66,7 +67,6 @@
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x600 0x10>;
>  			interrupts = <1 9 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl,has-wdt;
>  		};
>  
> @@ -74,84 +74,76 @@
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x610 0x10>;
>  			interrupts = <1 10 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@620 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x620 0x10>;
>  			interrupts = <1 11 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@630 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x630 0x10>;
>  			interrupts = <1 12 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@640 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x640 0x10>;
>  			interrupts = <1 13 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@650 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x650 0x10>;
>  			interrupts = <1 14 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@660 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x660 0x10>;
>  			interrupts = <1 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@670 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x670 0x10>;
>  			interrupts = <1 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		rtc@800 {	// Real time clock
>  			compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
>  			reg = <0x800 0x100>;
>  			interrupts = <1 5 0 1 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
> -		gpio@b00 {
> +		gpio_simple: gpio@b00 {
>  			compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
>  			reg = <0xb00 0x40>;
>  			interrupts = <1 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
>  		};
>  
> -		gpio@c00 {
> +		gpio_wkup: gpio@c00 {
>  			compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
>  			reg = <0xc00 0x40>;
>  			interrupts = <1 8 0 0 3 0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
>  		};
>  
>  		spi@f00 {
>  			compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
>  			reg = <0xf00 0x20>;
>  			interrupts = <2 13 0 2 14 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		usb@1000 {
>  			compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
>  			reg = <0x1000 0xff>;
>  			interrupts = <2 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		dma-controller@1200 {
> @@ -161,7 +153,6 @@
>  			              3 4 0  3 5 0  3 6 0  3 7 0
>  			              3 8 0  3 9 0  3 10 0  3 11 0
>  			              3 12 0  3 13 0  3 14 0  3 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		xlb@1f00 {
> @@ -170,48 +161,34 @@
>  		};
>  
>  		serial@2000 {		// PSC1
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> -			port-number = <0>;  // Logical port assignment
>  			reg = <0x2000 0x100>;
>  			interrupts = <2 1 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		serial@2200 {		// PSC2
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200-psc-uart";
> -			port-number = <1>;  // Logical port assignment
>  			reg = <0x2200 0x100>;
>  			interrupts = <2 2 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		serial@2400 {		// PSC3
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200-psc-uart";
> -			port-number = <2>;  // Logical port assignment
>  			reg = <0x2400 0x100>;
>  			interrupts = <2 3 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		serial@2c00 {		// PSC6
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> -			port-number = <5>;  // Logical port assignment
>  			reg = <0x2c00 0x100>;
>  			interrupts = <2 4 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		ethernet@3000 {
> -			device_type = "network";
>  			compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
>  			reg = <0x3000 0x400>;
>  			local-mac-address = [ 00 00 00 00 00 00 ];
>  			interrupts = <2 5 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			phy-handle = <&phy0>;
>  		};
>  
> @@ -221,10 +198,8 @@
>  			compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
>  			reg = <0x3000 0x400>;       // fec range, since we need to setup fec interrupts
>  			interrupts = <2 5 0>;   // these are for "mii command finished", not link changes & co.
> -			interrupt-parent = <&mpc5200_pic>;
>  
>  			phy0: ethernet-phy@0 {
> -				device_type = "ethernet-phy";
>  				reg = <0>;
>  			};
>  		};
> @@ -235,7 +210,6 @@
>  			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
>  			reg = <0x3d40 0x40>;
>  			interrupts = <2 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl5200-clocking;
>  		};
>  
> @@ -245,9 +219,8 @@
>  		};
>  	};
>  
> -	lpb {
> -		model = "fsl,lpb";
> -		compatible = "fsl,lpb";
> +	localbus {
> +		compatible = "fsl,mpc5200b-lpb","simple-bus";
>  		#address-cells = <2>;
>  		#size-cells = <1>;
>  		ranges = <0 0 0xfc000000 0x2000000>;
> diff --git a/arch/powerpc/boot/dts/lite5200.dts b/arch/powerpc/boot/dts/lite5200.dts
> index 3f7a5dc..de30b3f 100644
> --- a/arch/powerpc/boot/dts/lite5200.dts
> +++ b/arch/powerpc/boot/dts/lite5200.dts
> @@ -17,6 +17,7 @@
>  	compatible = "fsl,lite5200";
>  	#address-cells = <1>;
>  	#size-cells = <1>;
> +	interrupt-parent = <&mpc5200_pic>;
>  
>  	cpus {
>  		#address-cells = <1>;
> @@ -58,96 +59,74 @@
>  			// 5200 interrupts are encoded into two levels;
>  			interrupt-controller;
>  			#interrupt-cells = <3>;
> -			device_type = "interrupt-controller";
>  			compatible = "fsl,mpc5200-pic";
>  			reg = <0x500 0x80>;
>  		};
>  
>  		timer@600 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200-gpt";
> -			cell-index = <0>;
>  			reg = <0x600 0x10>;
>  			interrupts = <1 9 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl,has-wdt;
>  		};
>  
>  		timer@610 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200-gpt";
> -			cell-index = <1>;
>  			reg = <0x610 0x10>;
>  			interrupts = <1 10 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@620 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200-gpt";
> -			cell-index = <2>;
>  			reg = <0x620 0x10>;
>  			interrupts = <1 11 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@630 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200-gpt";
> -			cell-index = <3>;
>  			reg = <0x630 0x10>;
>  			interrupts = <1 12 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@640 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200-gpt";
> -			cell-index = <4>;
>  			reg = <0x640 0x10>;
>  			interrupts = <1 13 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@650 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200-gpt";
> -			cell-index = <5>;
>  			reg = <0x650 0x10>;
>  			interrupts = <1 14 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@660 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200-gpt";
> -			cell-index = <6>;
>  			reg = <0x660 0x10>;
>  			interrupts = <1 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@670 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200-gpt";
> -			cell-index = <7>;
>  			reg = <0x670 0x10>;
>  			interrupts = <1 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		rtc@800 {	// Real time clock
>  			compatible = "fsl,mpc5200-rtc";
>  			reg = <0x800 0x100>;
>  			interrupts = <1 5 0 1 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		can@900 {
>  			compatible = "fsl,mpc5200-mscan";
> -			cell-index = <0>;
>  			interrupts = <2 17 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			reg = <0x900 0x80>;
>  		};
>  
>  		can@980 {
>  			compatible = "fsl,mpc5200-mscan";
> -			cell-index = <1>;
>  			interrupts = <2 18 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			reg = <0x980 0x80>;
>  		};
>  
> @@ -155,39 +134,33 @@
>  			compatible = "fsl,mpc5200-gpio";
>  			reg = <0xb00 0x40>;
>  			interrupts = <1 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		gpio@c00 {
>  			compatible = "fsl,mpc5200-gpio-wkup";
>  			reg = <0xc00 0x40>;
>  			interrupts = <1 8 0 0 3 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		spi@f00 {
>  			compatible = "fsl,mpc5200-spi";
>  			reg = <0xf00 0x20>;
>  			interrupts = <2 13 0 2 14 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		usb@1000 {
>  			compatible = "fsl,mpc5200-ohci","ohci-be";
>  			reg = <0x1000 0xff>;
>  			interrupts = <2 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		dma-controller@1200 {
> -			device_type = "dma-controller";
>  			compatible = "fsl,mpc5200-bestcomm";
>  			reg = <0x1200 0x80>;
>  			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
>  			              3 4 0  3 5 0  3 6 0  3 7 0
>  			              3 8 0  3 9 0  3 10 0  3 11 0
>  			              3 12 0  3 13 0  3 14 0  3 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		xlb@1f00 {
> @@ -196,13 +169,10 @@
>  		};
>  
>  		serial@2000 {		// PSC1
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200-psc-uart";
> -			port-number = <0>;  // Logical port assignment
>  			cell-index = <0>;
>  			reg = <0x2000 0x100>;
>  			interrupts = <2 1 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		// PSC2 in ac97 mode example
> @@ -211,7 +181,6 @@
>  		//	cell-index = <1>;
>  		//	reg = <0x2200 0x100>;
>  		//	interrupts = <2 2 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		// PSC3 in CODEC mode example
> @@ -220,27 +189,22 @@
>  		//	cell-index = <2>;
>  		//	reg = <0x2400 0x100>;
>  		//	interrupts = <2 3 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		// PSC4 in uart mode example
>  		//serial@2600 {		// PSC4
> -		//	device_type = "serial";
>  		//	compatible = "fsl,mpc5200-psc-uart";
>  		//	cell-index = <3>;
>  		//	reg = <0x2600 0x100>;
>  		//	interrupts = <2 11 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		// PSC5 in uart mode example
>  		//serial@2800 {		// PSC5
> -		//	device_type = "serial";
>  		//	compatible = "fsl,mpc5200-psc-uart";
>  		//	cell-index = <4>;
>  		//	reg = <0x2800 0x100>;
>  		//	interrupts = <2 12 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		// PSC6 in spi mode example
> @@ -249,16 +213,13 @@
>  		//	cell-index = <5>;
>  		//	reg = <0x2c00 0x100>;
>  		//	interrupts = <2 4 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		ethernet@3000 {
> -			device_type = "network";
>  			compatible = "fsl,mpc5200-fec";
>  			reg = <0x3000 0x400>;
>  			local-mac-address = [ 00 00 00 00 00 00 ];
>  			interrupts = <2 5 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			phy-handle = <&phy0>;
>  		};
>  
> @@ -268,30 +229,24 @@
>  			compatible = "fsl,mpc5200-mdio";
>  			reg = <0x3000 0x400>;	// fec range, since we need to setup fec interrupts
>  			interrupts = <2 5 0>;	// these are for "mii command finished", not link changes & co.
> -			interrupt-parent = <&mpc5200_pic>;
>  
>  			phy0: ethernet-phy@1 {
> -				device_type = "ethernet-phy";
>  				reg = <1>;
>  			};
>  		};
>  
>  		ata@3a00 {
> -			device_type = "ata";
>  			compatible = "fsl,mpc5200-ata";
>  			reg = <0x3a00 0x100>;
>  			interrupts = <2 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		i2c@3d00 {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  			compatible = "fsl,mpc5200-i2c","fsl-i2c";
> -			cell-index = <0>;
>  			reg = <0x3d00 0x40>;
>  			interrupts = <2 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl5200-clocking;
>  		};
>  
> @@ -299,14 +254,12 @@
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  			compatible = "fsl,mpc5200-i2c","fsl-i2c";
> -			cell-index = <1>;
>  			reg = <0x3d40 0x40>;
>  			interrupts = <2 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl5200-clocking;
>  		};
>  		sram@8000 {
> -			compatible = "fsl,mpc5200-sram","sram";
> +			compatible = "fsl,mpc5200-sram";
>  			reg = <0x8000 0x4000>;
>  		};
>  	};
> @@ -325,7 +278,6 @@
>  				 0xc000 0 0 4 &mpc5200_pic 0 0 3>;
>  		clock-frequency = <0>; // From boot loader
>  		interrupts = <2 8 0 2 9 0 2 10 0>;
> -		interrupt-parent = <&mpc5200_pic>;
>  		bus-range = <0 0>;
>  		ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000
>  			  0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
> diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts
> index 63e3bb4..c63e356 100644
> --- a/arch/powerpc/boot/dts/lite5200b.dts
> +++ b/arch/powerpc/boot/dts/lite5200b.dts
> @@ -17,6 +17,7 @@
>  	compatible = "fsl,lite5200b";
>  	#address-cells = <1>;
>  	#size-cells = <1>;
> +	interrupt-parent = <&mpc5200_pic>;
>  
>  	cpus {
>  		#address-cells = <1>;
> @@ -58,136 +59,112 @@
>  			// 5200 interrupts are encoded into two levels;
>  			interrupt-controller;
>  			#interrupt-cells = <3>;
> -			device_type = "interrupt-controller";
>  			compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic";
>  			reg = <0x500 0x80>;
>  		};
>  
>  		timer@600 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <0>;
>  			reg = <0x600 0x10>;
>  			interrupts = <1 9 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl,has-wdt;
>  		};
>  
>  		timer@610 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <1>;
>  			reg = <0x610 0x10>;
>  			interrupts = <1 10 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@620 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <2>;
>  			reg = <0x620 0x10>;
>  			interrupts = <1 11 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@630 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <3>;
>  			reg = <0x630 0x10>;
>  			interrupts = <1 12 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@640 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <4>;
>  			reg = <0x640 0x10>;
>  			interrupts = <1 13 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@650 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <5>;
>  			reg = <0x650 0x10>;
>  			interrupts = <1 14 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@660 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <6>;
>  			reg = <0x660 0x10>;
>  			interrupts = <1 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@670 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <7>;
>  			reg = <0x670 0x10>;
>  			interrupts = <1 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		rtc@800 {	// Real time clock
>  			compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
>  			reg = <0x800 0x100>;
>  			interrupts = <1 5 0 1 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		can@900 {
>  			compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan";
> -			cell-index = <0>;
>  			interrupts = <2 17 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			reg = <0x900 0x80>;
>  		};
>  
>  		can@980 {
>  			compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan";
> -			cell-index = <1>;
>  			interrupts = <2 18 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			reg = <0x980 0x80>;
>  		};
>  
> -		gpio@b00 {
> +		gpio_simple: gpio@b00 {
>  			compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
>  			reg = <0xb00 0x40>;
>  			interrupts = <1 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
>  		};
>  
> -		gpio@c00 {
> +		gpio_wkup: gpio@c00 {
>  			compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
>  			reg = <0xc00 0x40>;
>  			interrupts = <1 8 0 0 3 0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
>  		};
>  
>  		spi@f00 {
>  			compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
>  			reg = <0xf00 0x20>;
>  			interrupts = <2 13 0 2 14 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		usb@1000 {
>  			compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
>  			reg = <0x1000 0xff>;
>  			interrupts = <2 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		dma-controller@1200 {
> -			device_type = "dma-controller";
>  			compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
>  			reg = <0x1200 0x80>;
>  			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
>  			              3 4 0  3 5 0  3 6 0  3 7 0
>  			              3 8 0  3 9 0  3 10 0  3 11 0
>  			              3 12 0  3 13 0  3 14 0  3 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		xlb@1f00 {
> @@ -196,13 +173,10 @@
>  		};
>  
>  		serial@2000 {		// PSC1
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> -			port-number = <0>;  // Logical port assignment
>  			cell-index = <0>;
>  			reg = <0x2000 0x100>;
>  			interrupts = <2 1 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		// PSC2 in ac97 mode example
> @@ -211,7 +185,6 @@
>  		//	cell-index = <1>;
>  		//	reg = <0x2200 0x100>;
>  		//	interrupts = <2 2 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		// PSC3 in CODEC mode example
> @@ -220,27 +193,22 @@
>  		//	cell-index = <2>;
>  		//	reg = <0x2400 0x100>;
>  		//	interrupts = <2 3 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		// PSC4 in uart mode example
>  		//serial@2600 {		// PSC4
> -		//	device_type = "serial";
>  		//	compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
>  		//	cell-index = <3>;
>  		//	reg = <0x2600 0x100>;
>  		//	interrupts = <2 11 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		// PSC5 in uart mode example
>  		//serial@2800 {		// PSC5
> -		//	device_type = "serial";
>  		//	compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
>  		//	cell-index = <4>;
>  		//	reg = <0x2800 0x100>;
>  		//	interrupts = <2 12 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		// PSC6 in spi mode example
> @@ -249,49 +217,40 @@
>  		//	cell-index = <5>;
>  		//	reg = <0x2c00 0x100>;
>  		//	interrupts = <2 4 0>;
> -		//	interrupt-parent = <&mpc5200_pic>;
>  		//};
>  
>  		ethernet@3000 {
> -			device_type = "network";
>  			compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
>  			reg = <0x3000 0x400>;
>  			local-mac-address = [ 00 00 00 00 00 00 ];
>  			interrupts = <2 5 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			phy-handle = <&phy0>;
>  		};
>  
>  		mdio@3000 {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
> -			compatible = "fsl,mpc5200b-mdio", "fsl,mpc5200-mdio";
> +			compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
>  			reg = <0x3000 0x400>;	// fec range, since we need to setup fec interrupts
>  			interrupts = <2 5 0>;	// these are for "mii command finished", not link changes & co.
> -			interrupt-parent = <&mpc5200_pic>;
>  
>  			phy0: ethernet-phy@0 {
> -				device_type = "ethernet-phy";
>  				reg = <0>;
>  			};
>  		};
>  
>  		ata@3a00 {
> -			device_type = "ata";
>  			compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata";
>  			reg = <0x3a00 0x100>;
>  			interrupts = <2 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		i2c@3d00 {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
> -			cell-index = <0>;
>  			reg = <0x3d00 0x40>;
>  			interrupts = <2 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl5200-clocking;
>  		};
>  
> @@ -299,14 +258,13 @@
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
> -			cell-index = <1>;
>  			reg = <0x3d40 0x40>;
>  			interrupts = <2 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl5200-clocking;
>  		};
> +
>  		sram@8000 {
> -			compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram","sram";
> +			compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram";
>  			reg = <0x8000 0x4000>;
>  		};
>  	};
> @@ -330,7 +288,6 @@
>  				 0xc800 0 0 4 &mpc5200_pic 0 0 3>;
>  		clock-frequency = <0>; // From boot loader
>  		interrupts = <2 8 0 2 9 0 2 10 0>;
> -		interrupt-parent = <&mpc5200_pic>;
>  		bus-range = <0 0>;
>  		ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000
>  			  0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
> diff --git a/arch/powerpc/boot/dts/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts
> index 52ba6f9..7be8ca0 100644
> --- a/arch/powerpc/boot/dts/motionpro.dts
> +++ b/arch/powerpc/boot/dts/motionpro.dts
> @@ -17,6 +17,7 @@
>  	compatible = "promess,motionpro";
>  	#address-cells = <1>;
>  	#size-cells = <1>;
> +	interrupt-parent = <&mpc5200_pic>;
>  
>  	cpus {
>  		#address-cells = <1>;
> @@ -66,7 +67,6 @@
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x600 0x10>;
>  			interrupts = <1 9 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl,has-wdt;
>  		};
>  
> @@ -74,35 +74,30 @@
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x610 0x10>;
>  			interrupts = <1 10 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@620 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x620 0x10>;
>  			interrupts = <1 11 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@630 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x630 0x10>;
>  			interrupts = <1 12 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@640 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x640 0x10>;
>  			interrupts = <1 13 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		timer@650 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
>  			reg = <0x650 0x10>;
>  			interrupts = <1 14 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		motionpro-led@660 {	// Motion-PRO status LED
> @@ -110,7 +105,6 @@
>  			label = "motionpro-statusled";
>  			reg = <0x660 0x10>;
>  			interrupts = <1 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			blink-delay = <100>; // 100 msec
>  		};
>  
> @@ -119,49 +113,46 @@
>  			label = "motionpro-readyled";
>  			reg = <0x670 0x10>;
>  			interrupts = <1 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		rtc@800 {	// Real time clock
>  			compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
>  			reg = <0x800 0x100>;
>  			interrupts = <1 5 0 1 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		can@980 {
>  			compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan";
>  			interrupts = <2 18 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			reg = <0x980 0x80>;
>  		};
>  
> -		gpio@b00 {
> +		gpio_simple: gpio@b00 {
>  			compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
>  			reg = <0xb00 0x40>;
>  			interrupts = <1 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
>  		};
>  
> -		gpio@c00 {
> +		gpio_wkup: gpio@c00 {
>  			compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
>  			reg = <0xc00 0x40>;
>  			interrupts = <1 8 0 0 3 0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
>  		};
>  
>  		spi@f00 {
>  			compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
>  			reg = <0xf00 0x20>;
>  			interrupts = <2 13 0 2 14 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		usb@1000 {
>  			compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
>  			reg = <0x1000 0xff>;
>  			interrupts = <2 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		dma-controller@1200 {
> @@ -171,7 +162,6 @@
>  			              3 4 0  3 5 0  3 6 0  3 7 0
>  			              3 8 0  3 9 0  3 10 0  3 11 0
>  			              3 12 0  3 13 0  3 14 0  3 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		xlb@1f00 {
> @@ -180,12 +170,9 @@
>  		};
>  
>  		serial@2000 {		// PSC1
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> -			port-number = <0>;  // Logical port assignment
>  			reg = <0x2000 0x100>;
>  			interrupts = <2 1 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		// PSC2 in spi master mode 
> @@ -194,26 +181,20 @@
>  			cell-index = <1>;
>  			reg = <0x2200 0x100>;
>  			interrupts = <2 2 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		// PSC5 in uart mode
>  		serial@2800 {		// PSC5
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> -			port-number = <4>;  // Logical port assignment
>  			reg = <0x2800 0x100>;
>  			interrupts = <2 12 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		ethernet@3000 {
> -			device_type = "network";
>  			compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
>  			reg = <0x3000 0x400>;
>  			local-mac-address = [ 00 00 00 00 00 00 ];
>  			interrupts = <2 5 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			phy-handle = <&phy0>;
>  		};
>  
> @@ -223,10 +204,8 @@
>  			compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
>  			reg = <0x3000 0x400>;       // fec range, since we need to setup fec interrupts
>  			interrupts = <2 5 0>;   // these are for "mii command finished", not link changes & co.
> -			interrupt-parent = <&mpc5200_pic>;
>  
>  			phy0: ethernet-phy@2 {
> -				device_type = "ethernet-phy";
>  				reg = <2>;
>  			};
>  		};
> @@ -235,7 +214,6 @@
>  			compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata";
>  			reg = <0x3a00 0x100>;
>  			interrupts = <2 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		i2c@3d40 {
> @@ -244,7 +222,6 @@
>  			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
>  			reg = <0x3d40 0x40>;
>  			interrupts = <2 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl5200-clocking;
>  
>  			rtc@68 {
> @@ -259,8 +236,8 @@
>  		};
>  	};
>  
> -	lpb {
> -		compatible = "fsl,lpb";
> +	localbus {
> +		compatible = "fsl,mpc5200b-lpb","simple-bus";
>  		#address-cells = <2>;
>  		#size-cells = <1>;
>  		ranges = <0 0 0xff000000 0x01000000
> @@ -273,7 +250,6 @@
>  			compatible = "promess,motionpro-kollmorgen";
>  			reg = <1 0 0x10000>;
>  			interrupts = <1 1 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		// 8-bit board CPLD on LocalPlus Bus CS2
> diff --git a/arch/powerpc/boot/dts/pcm030.dts b/arch/powerpc/boot/dts/pcm030.dts
> index be2c11c..8958347 100644
> --- a/arch/powerpc/boot/dts/pcm030.dts
> +++ b/arch/powerpc/boot/dts/pcm030.dts
> @@ -19,6 +19,7 @@
>  	compatible = "phytec,pcm030";
>  	#address-cells = <1>;
>  	#size-cells = <1>;
> +	interrupt-parent = <&mpc5200_pic>;
>  
>  	cpus {
>  		#address-cells = <1>;
> @@ -29,26 +30,26 @@
>  			reg = <0>;
>  			d-cache-line-size = <32>;
>  			i-cache-line-size = <32>;
> -			d-cache-size = <0x4000>;	/* L1, 16K          */
> -			i-cache-size = <0x4000>;	/* L1, 16K          */
> -			timebase-frequency = <0>;	/* From Bootloader  */
> -			bus-frequency = <0>;		/* From Bootloader  */
> -			clock-frequency = <0>;		/* From Bootloader  */
> +			d-cache-size = <0x4000>;	// L1, 16K
> +			i-cache-size = <0x4000>;	// L1, 16K
> +			timebase-frequency = <0>;	// from bootloader
> +			bus-frequency = <0>;		// from bootloader
> +			clock-frequency = <0>;		// from bootloader
>  		};
>  	};
>  
>  	memory {
>  		device_type = "memory";
> -		reg = <0x00000000 0x04000000>;	/* 64MB */
> +		reg = <0x00000000 0x04000000>;	// 64MB
>  	};
>  
>  	soc5200@f0000000 {
>  		#address-cells = <1>;
>  		#size-cells = <1>;
>  		compatible = "fsl,mpc5200b-immr";
> -		ranges = <0x0 0xf0000000 0x0000c000>;
> -		bus-frequency = <0>;		/* From bootloader */
> -		system-frequency = <0>;		/* From bootloader */
> +		ranges = <0 0xf0000000 0x0000c000>;
> +		bus-frequency = <0>;		// from bootloader
> +		system-frequency = <0>;		// from bootloader
>  
>  		cdm@200 {
>  			compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm";
> @@ -56,87 +57,70 @@
>  		};
>  
>  		mpc5200_pic: interrupt-controller@500 {
> -			/* 5200 interrupts are encoded into two levels; */
> +			// 5200 interrupts are encoded into two levels;
>  			interrupt-controller;
>  			#interrupt-cells = <3>;
> -			device_type = "interrupt-controller";
>  			compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic";
>  			reg = <0x500 0x80>;
>  		};
>  
> -		timer@600 {	/* General Purpose Timer */
> +		timer@600 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <0>;
>  			reg = <0x600 0x10>;
> -			interrupts = <0x1 0x9 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 9 0>;
>  			fsl,has-wdt;
>  		};
>  
> -		timer@610 {	/* General Purpose Timer */
> +		timer@610 {	// General Purpose Timer
>  			compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
> -			cell-index = <1>;
>  			reg = <0x610 0x10>;
> -			interrupts = <0x1 0xa 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 10 0>;
>  		};
>  
> -		gpt2: timer@620 { /* General Purpose Timer in GPIO mode */
> +		gpt2: timer@620 {	// General Purpose Timer in GPIO mode
>  			compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
> -			cell-index = <2>;
>  			reg = <0x620 0x10>;
> -			interrupts = <0x1 0xb 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 11 0>;
>  			gpio-controller;
>  			#gpio-cells = <2>;
>  		};
>  
> -		gpt3: timer@630 { /* General Purpose Timer in GPIO mode */
> +		gpt3: timer@630 {	// General Purpose Timer in GPIO mode
>  			compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
> -			cell-index = <3>;
>  			reg = <0x630 0x10>;
> -			interrupts = <0x1 0xc 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 12 0>;
>  			gpio-controller;
>  			#gpio-cells = <2>;
>  		};
>  
> -		gpt4: timer@640 { /* General Purpose Timer in GPIO mode */
> +		gpt4: timer@640 {	// General Purpose Timer in GPIO mode
>  			compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
> -			cell-index = <4>;
>  			reg = <0x640 0x10>;
> -			interrupts = <0x1 0xd 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 13 0>;
>  			gpio-controller;
>  			#gpio-cells = <2>;
>  		};
>  
> -		gpt5: timer@650 { /* General Purpose Timer in GPIO mode */
> +		gpt5: timer@650 {	// General Purpose Timer in GPIO mode
>  			compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
> -			cell-index = <5>;
>  			reg = <0x650 0x10>;
> -			interrupts = <0x1 0xe 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 14 0>;
>  			gpio-controller;
>  			#gpio-cells = <2>;
>  		};
>  
> -		gpt6: timer@660 { /* General Purpose Timer in GPIO mode */
> +		gpt6: timer@660 {	// General Purpose Timer in GPIO mode
>  			compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
> -			cell-index = <6>;
>  			reg = <0x660 0x10>;
> -			interrupts = <0x1 0xf 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 15 0>;
>  			gpio-controller;
>  			#gpio-cells = <2>;
>  		};
>  
> -		gpt7: timer@670 { /* General Purpose Timer in GPIO mode */
> +		gpt7: timer@670 {	// General Purpose Timer in GPIO mode
>  			compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
> -			cell-index = <7>;
>  			reg = <0x670 0x10>;
> -			interrupts = <0x1 0x10 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 16 0>;
>  			gpio-controller;
>  			#gpio-cells = <2>;
>  		};
> @@ -144,40 +128,33 @@
>  		rtc@800 {	// Real time clock
>  			compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
>  			reg = <0x800 0x100>;
> -			interrupts = <0x1 0x5 0x0 0x1 0x6 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 5 0 1 6 0>;
>  		};
>  
>  		can@900 {
>  			compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan";
> -			cell-index = <0>;
> -			interrupts = <0x2 0x11 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 17 0>;
>  			reg = <0x900 0x80>;
>  		};
>  
>  		can@980 {
>  			compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan";
> -			cell-index = <1>;
> -			interrupts = <0x2 0x12 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 18 0>;
>  			reg = <0x980 0x80>;
>  		};
>  
>  		gpio_simple: gpio@b00 {
>  			compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
>  			reg = <0xb00 0x40>;
> -			interrupts = <0x1 0x7 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 7 0>;
>  			gpio-controller;
>  			#gpio-cells = <2>;
>  		};
>  
> -		gpio_wkup: gpio-wkup@c00 {
> +		gpio_wkup: gpio@c00 {
>  			compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
>  			reg = <0xc00 0x40>;
> -			interrupts = <0x1 0x8 0x0 0x0 0x3 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <1 8 0 0 3 0>;
>  			gpio-controller;
>  			#gpio-cells = <2>;
>  		};
> @@ -185,26 +162,22 @@
>  		spi@f00 {
>  			compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
>  			reg = <0xf00 0x20>;
> -			interrupts = <0x2 0xd 0x0 0x2 0xe 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 13 0 2 14 0>;
>  		};
>  
>  		usb@1000 {
>  			compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
>  			reg = <0x1000 0xff>;
> -			interrupts = <0x2 0x6 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 6 0>;
>  		};
>  
>  		dma-controller@1200 {
> -			device_type = "dma-controller";
>  			compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
>  			reg = <0x1200 0x80>;
> -			interrupts = <0x3 0x0 0x0  0x3 0x1 0x0  0x3 0x2 0x0  0x3 0x3 0x0
> -			              0x3 0x4 0x0  0x3 0x5 0x0  0x3 0x6 0x0  0x3 0x7 0x0
> -			              0x3 0x8 0x0  0x3 0x9 0x0  0x3 0xa 0x0  0x3 0xb 0x0
> -			              0x3 0xc 0x0  0x3 0xd 0x0  0x3 0xe 0x0  0x3 0xf 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <3 0 0  3 1 0  3 2 0  3 3 0
> +			              3 4 0  3 5 0  3 6 0  3 7 0
> +			              3 8 0  3 9 0  3 10 0  3 11 0
> +			              3 12 0  3 13 0  3 14 0  3 15 0>;
>  		};
>  
>  		xlb@1f00 {
> @@ -213,24 +186,19 @@
>  		};
>  
>  		ac97@2000 { /* PSC1 in ac97 mode */
> -			device_type = "sound";
>  			compatible = "mpc5200b-psc-ac97","fsl,mpc5200b-psc-ac97";
>  			cell-index = <0>;
>  			reg = <0x2000 0x100>;
> -			interrupts = <0x2 0x2 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 1 0>;
>  		};
>  
>  		/* PSC2 port is used by CAN1/2 */
>  
>  		serial@2400 { /* PSC3 in UART mode */
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> -			port-number = <0>;
>  			cell-index = <2>;
>  			reg = <0x2400 0x100>;
> -			interrupts = <0x2 0x3 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 3 0>;
>  		};
>  
>  		/* PSC4 is ??? */
> @@ -238,55 +206,44 @@
>  		/* PSC5 is ??? */
>  
>  		serial@2c00 { /* PSC6 in UART mode */
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
> -			port-number = <1>;
>  			cell-index = <5>;
>  			reg = <0x2c00 0x100>;
> -			interrupts = <0x2 0x4 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 4 0>;
>  		};
>  
>  		ethernet@3000 {
> -			device_type = "network";
>  			compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
>  			reg = <0x3000 0x400>;
> -			local-mac-address = [00 00 00 00 00 00];
> -			interrupts = <0x2 0x5 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			local-mac-address = [ 00 00 00 00 00 00 ];
> +			interrupts = <2 5 0>;
>  			phy-handle = <&phy0>;
>  		};
>  
>  		mdio@3000 {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
> -			compatible = "fsl,mpc5200b-mdio", "fsl,mpc5200-mdio";
> -			reg = <0x3000 0x400>;	/* fec range, since we need to setup fec interrupts */
> -			interrupts = <0x2 0x5 0x0>;	/* these are for "mii command finished", not link changes & co. */
> -			interrupt-parent = <&mpc5200_pic>;
> -
> -			phy0:ethernet-phy@0 {
> -				device_type = "ethernet-phy";
> -				reg = <0x0>;
> +			compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
> +			reg = <0x3000 0x400>;	// fec range, since we need to setup fec interrupts
> +			interrupts = <2 5 0>;	// these are for "mii command finished", not link changes & co.
> +
> +			phy0: ethernet-phy@0 {
> +				reg = <0>;
>  			};
>  		};
>  
>  		ata@3a00 {
> -			device_type = "ata";
>  			compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata";
>  			reg = <0x3a00 0x100>;
> -			interrupts = <0x2 0x7 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 7 0>;
>  		};
>  
>  		i2c@3d00 {
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
> -			cell-index = <0>;
>  			reg = <0x3d00 0x40>;
> -			interrupts = <0x2 0xf 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 15 0>;
>  			fsl5200-clocking;
>  		};
>  
> @@ -294,10 +251,8 @@
>  			#address-cells = <1>;
>  			#size-cells = <0>;
>  			compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
> -			cell-index = <1>;
>  			reg = <0x3d40 0x40>;
> -			interrupts = <0x2 0x10 0x0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			interrupts = <2 16 0>;
>  			fsl5200-clocking;
>  			rtc@51 {
>  				compatible = "nxp,pcf8563";
> @@ -307,7 +262,7 @@
>  		};
>  
>  		sram@8000 {
> -			compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram","sram";
> +			compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram";
>  			reg = <0x8000 0x4000>;
>  		};
>  
> @@ -340,22 +295,21 @@
>  		device_type = "pci";
>  		compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci";
>  		reg = <0xf0000d00 0x100>;
> -		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
> -		interrupt-map = <0xc000 0x0 0x0 0x1 &mpc5200_pic 0x0 0x0 0x3 /* 1st slot */
> -				 0xc000 0x0 0x0 0x2 &mpc5200_pic 0x1 0x1 0x3
> -				 0xc000 0x0 0x0 0x3 &mpc5200_pic 0x1 0x2 0x3
> -				 0xc000 0x0 0x0 0x4 &mpc5200_pic 0x1 0x3 0x3
> -
> -				 0xc800 0x0 0x0 0x1 &mpc5200_pic 0x1 0x1 0x3 /* 2nd slot */
> -				 0xc800 0x0 0x0 0x2 &mpc5200_pic 0x1 0x2 0x3
> -				 0xc800 0x0 0x0 0x3 &mpc5200_pic 0x1 0x3 0x3
> -				 0xc800 0x0 0x0 0x4 &mpc5200_pic 0x0 0x0 0x3>;
> +		interrupt-map-mask = <0xf800 0 0 7>;
> +		interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot
> +				 0xc000 0 0 2 &mpc5200_pic 1 1 3
> +				 0xc000 0 0 3 &mpc5200_pic 1 2 3
> +				 0xc000 0 0 4 &mpc5200_pic 1 3 3
> +
> +				 0xc800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot
> +				 0xc800 0 0 2 &mpc5200_pic 1 2 3
> +				 0xc800 0 0 3 &mpc5200_pic 1 3 3
> +				 0xc800 0 0 4 &mpc5200_pic 0 0 3>;
>  		clock-frequency = <0>; // From boot loader
> -		interrupts = <0x2 0x8 0x0 0x2 0x9 0x0 0x2 0xa 0x0>;
> -		interrupt-parent = <&mpc5200_pic>;
> +		interrupts = <2 8 0 2 9 0 2 10 0>;
>  		bus-range = <0 0>;
> -		ranges = <0x42000000 0x0 0x80000000 0x80000000 0x0 0x20000000
> -			  0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
> -			  0x01000000 0x0 0x00000000 0xb0000000 0x0 0x01000000>;
> +		ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000
> +			  0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
> +			  0x01000000 0 0x00000000 0xb0000000 0 0x01000000>;
>  	};
>  };
> diff --git a/arch/powerpc/boot/dts/tqm5200.dts b/arch/powerpc/boot/dts/tqm5200.dts
> index 906302e..c9590b5 100644
> --- a/arch/powerpc/boot/dts/tqm5200.dts
> +++ b/arch/powerpc/boot/dts/tqm5200.dts
> @@ -17,6 +17,7 @@
>  	compatible = "tqc,tqm5200";
>  	#address-cells = <1>;
>  	#size-cells = <1>;
> +	interrupt-parent = <&mpc5200_pic>;
>  
>  	cpus {
>  		#address-cells = <1>;
> @@ -66,36 +67,33 @@
>  			compatible = "fsl,mpc5200-gpt";
>  			reg = <0x600 0x10>;
>  			interrupts = <1 9 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl,has-wdt;
>  		};
>  
>  		can@900 {
>  			compatible = "fsl,mpc5200-mscan";
>  			interrupts = <2 17 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			reg = <0x900 0x80>;
>  		};
>  
>  		can@980 {
>  			compatible = "fsl,mpc5200-mscan";
>  			interrupts = <2 18 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			reg = <0x980 0x80>;
>  		};
>  
> -		gpio@b00 {
> +		gpio_simple: gpio@b00 {
>  			compatible = "fsl,mpc5200-gpio";
>  			reg = <0xb00 0x40>;
>  			interrupts = <1 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
> +			gpio-controller;
> +			#gpio-cells = <2>;
>  		};
>  
>  		usb@1000 {
>  			compatible = "fsl,mpc5200-ohci","ohci-be";
>  			reg = <0x1000 0xff>;
>  			interrupts = <2 6 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		dma-controller@1200 {
> @@ -105,7 +103,6 @@
>  			              3 4 0  3 5 0  3 6 0  3 7 0
>  			              3 8 0  3 9 0  3 10 0  3 11 0
>  			              3 12 0  3 13 0  3 14 0  3 15 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		xlb@1f00 {
> @@ -114,39 +111,28 @@
>  		};
>  
>  		serial@2000 {		// PSC1
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200-psc-uart";
> -			port-number = <0>;  // Logical port assignment
>  			reg = <0x2000 0x100>;
>  			interrupts = <2 1 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		serial@2200 {		// PSC2
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200-psc-uart";
> -			port-number = <1>;  // Logical port assignment
>  			reg = <0x2200 0x100>;
>  			interrupts = <2 2 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		serial@2400 {		// PSC3
> -			device_type = "serial";
>  			compatible = "fsl,mpc5200-psc-uart";
> -			port-number = <2>;  // Logical port assignment
>  			reg = <0x2400 0x100>;
>  			interrupts = <2 3 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		ethernet@3000 {
> -			device_type = "network";
>  			compatible = "fsl,mpc5200-fec";
>  			reg = <0x3000 0x400>;
>  			local-mac-address = [ 00 00 00 00 00 00 ];
>  			interrupts = <2 5 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			phy-handle = <&phy0>;
>  		};
>  
> @@ -156,10 +142,8 @@
>  			compatible = "fsl,mpc5200-mdio";
>  			reg = <0x3000 0x400>;       // fec range, since we need to setup fec interrupts
>  			interrupts = <2 5 0>;   // these are for "mii command finished", not link changes & co.
> -			interrupt-parent = <&mpc5200_pic>;
>  
>  			phy0: ethernet-phy@0 {
> -				device_type = "ethernet-phy";
>  				reg = <0>;
>  			};
>  		};
> @@ -168,7 +152,6 @@
>  			compatible = "fsl,mpc5200-ata";
>  			reg = <0x3a00 0x100>;
>  			interrupts = <2 7 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  		};
>  
>  		i2c@3d40 {
> @@ -177,7 +160,6 @@
>  			compatible = "fsl,mpc5200-i2c","fsl-i2c";
>  			reg = <0x3d40 0x40>;
>  			interrupts = <2 16 0>;
> -			interrupt-parent = <&mpc5200_pic>;
>  			fsl5200-clocking;
>  
>  			 rtc@68 {
> @@ -192,9 +174,8 @@
>  		};
>  	};
>  
> -	lpb {
> -		model = "fsl,lpb";
> -		compatible = "fsl,lpb";
> +	localbus {
> +		compatible = "fsl,mpc5200-lpb","simple-bus";
>  		#address-cells = <2>;
>  		#size-cells = <1>;
>  		ranges = <0 0 0xfc000000 0x02000000>;
> @@ -223,7 +204,6 @@
>  				 0xc000 0 0 4 &mpc5200_pic 0 0 3>;
>  		clock-frequency = <0>; // From boot loader
>  		interrupts = <2 8 0 2 9 0 2 10 0>;
> -		interrupt-parent = <&mpc5200_pic>;
>  		bus-range = <0 0>;
>  		ranges = <0x42000000 0 0x80000000 0x80000000 0 0x10000000
>  			  0x02000000 0 0x90000000 0x90000000 0 0x10000000
> 

-- 
  Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* Re: [PATCH 2/8] powerpc/5200: Stop using device_type and port-number properties
From: Wolfram Sang @ 2009-01-29 21:15 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev
In-Reply-To: <20090121205512.31232.99373.stgit@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 4576 bytes --]

On Wed, Jan 21, 2009 at 01:55:13PM -0700, Grant Likely wrote:
> From: Grant Likely <grant.likely@secretlab.ca>
> 
> There is no reason for the PSC UART driver or the Ethernet driver
> to require a device_type property.  The compatible value is sufficient
> to uniquely identify the device.  Remove it from the driver.
> 
> The whole 'port-number' scheme for assigning numbers to PSC uarts was
> always rather half baked and just adds complexity.  Remove it from the
> driver.  After this patch is applied, PSC UART numbers are simply
> assigned from the order they are found in the device tree (just like
> all the other devices).  Userspace can query sysfs to determine what
> ttyPSC number is assigned to each PSC instance.
> 
> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
> CC: Wolfram Sang <w.sang@pengutronix.de>

I like it. One more optimization below, but it's also good for now...

Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>

> ---
> 
>  drivers/net/fec_mpc52xx.c     |    6 +++---
>  drivers/serial/mpc52xx_uart.c |   38 ++++++++++----------------------------
>  2 files changed, 13 insertions(+), 31 deletions(-)
> 
> 
> diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
> index cd8e98b..049b0a7 100644
> --- a/drivers/net/fec_mpc52xx.c
> +++ b/drivers/net/fec_mpc52xx.c
> @@ -1123,9 +1123,9 @@ static int mpc52xx_fec_of_resume(struct of_device *op)
>  #endif
>  
>  static struct of_device_id mpc52xx_fec_match[] = {
> -	{ .type = "network", .compatible = "fsl,mpc5200b-fec", },
> -	{ .type = "network", .compatible = "fsl,mpc5200-fec", },
> -	{ .type = "network", .compatible = "mpc5200-fec", },
> +	{ .compatible = "fsl,mpc5200b-fec", },
> +	{ .compatible = "fsl,mpc5200-fec", },
> +	{ .compatible = "mpc5200-fec", },
>  	{ }
>  };
>  
> diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
> index 0c3a2ab..d73d7da 100644
> --- a/drivers/serial/mpc52xx_uart.c
> +++ b/drivers/serial/mpc52xx_uart.c
> @@ -50,8 +50,8 @@
>  /* OF Platform device Usage :
>   *
>   * This driver is only used for PSCs configured in uart mode.  The device
> - * tree will have a node for each PSC in uart mode w/ device_type = "serial"
> - * and "mpc52xx-psc-uart" in the compatible string
> + * tree will have a node for each PSC with "mpc52xx-psc-uart" in the compatible
> + * list.
>   *
>   * By default, PSC devices are enumerated in the order they are found.  However
>   * a particular PSC number can be forces by adding 'device_no = <port#>'
> @@ -1212,30 +1212,18 @@ mpc52xx_uart_of_resume(struct of_device *op)
>  #endif
>  
>  static void
> -mpc52xx_uart_of_assign(struct device_node *np, int idx)
> +mpc52xx_uart_of_assign(struct device_node *np)
>  {
> -	int free_idx = -1;
>  	int i;
>  
> -	/* Find the first free node */
> +	/* Find the first free PSC number */
>  	for (i = 0; i < MPC52xx_PSC_MAXNUM; i++) {
>  		if (mpc52xx_uart_nodes[i] == NULL) {
> -			free_idx = i;
> -			break;
> +			of_node_get(np);
> +			mpc52xx_uart_nodes[i] = np;
> +			return;
>  		}
>  	}
> -
> -	if ((idx < 0) || (idx >= MPC52xx_PSC_MAXNUM))
> -		idx = free_idx;
> -
> -	if (idx < 0)
> -		return; /* No free slot; abort */
> -
> -	of_node_get(np);
> -	/* If the slot is already occupied, then swap slots */
> -	if (mpc52xx_uart_nodes[idx] && (free_idx != -1))
> -		mpc52xx_uart_nodes[free_idx] = mpc52xx_uart_nodes[idx];
> -	mpc52xx_uart_nodes[idx] = np;
>  }
>  
>  static void
> @@ -1243,23 +1231,17 @@ mpc52xx_uart_of_enumerate(void)
>  {
>  	static int enum_done;
>  	struct device_node *np;
> -	const unsigned int *devno;
>  	const struct  of_device_id *match;
>  	int i;
>  
>  	if (enum_done)
>  		return;
>  
> -	for_each_node_by_type(np, "serial") {
> +	/* Assign index to each PSC in device tree */
> +	for_each_matching_node(np, mpc52xx_uart_of_match) {
>  		match = of_match_node(mpc52xx_uart_of_match, np);
> -		if (!match)
> -			continue;
> -
>  		psc_ops = match->data;
> -
> -		/* Is a particular device number requested? */
> -		devno = of_get_property(np, "port-number", NULL);
> -		mpc52xx_uart_of_assign(np, devno ? *devno : -1);
> +		mpc52xx_uart_of_assign(np);
>  	}
>  
>  	enum_done = 1;
> 

You could drop the for-loop which follows here and put its dev_dbg into
uart_of_assign when a node was found. Would also get rid of 'i' here.

Regards,

   Wolfram

-- 
  Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* Re: [PATCH 1/8] powerpc/5200: update device tree binding documentation
From: Wolfram Sang @ 2009-01-29 21:09 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev, devtree-discuss
In-Reply-To: <20090121205506.31232.27908.stgit@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 691 bytes --]

Hello Grant,

On Wed, Jan 21, 2009 at 01:55:07PM -0700, Grant Likely wrote:
> From: Grant Likely <grant.likely@secretlab.ca>
> 
> This patch updates the mpc5200 binding documentation to match
> actual usage conventions, to remove incorrect information, and
> to remove topics which are more thoroughly described elsewhere.
> 
> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
> CC: devtree-discuss@ozlabs.org
> CC: Wolfram Sang <w.sang@pengutronix.de>

Can you please send the updated version so I could add an reviewed-by?

Regards,

   Wolfram

-- 
  Dipl.-Ing. Wolfram Sang | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* [PATCH 1/1 v2] AMCC PPC 460SX redwood SoC platform initial framework
From: Madhulika Madishetty @ 2009-01-29 21:05 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Loc Ho, Feng Kan, Tirumala Reddy Marri

=20
Resubmitting patch without the confidentiality notice.

From: Madhulika Madishetty <mmadishetty@amcc.com>

This patch contains initial framework for the AMCC Redwood board.

Signed-off-by: Madhulika Madishetty <mmadishetty@amcc.com>
Signed-off-by: Tirumala Marri <tmarri@amcc.com>
Signed-off-by: Feng Kan <fkan@amcc.com>
Signed-off-by: Vidhyananth Venkatasamy <vvenkatasamy@amcc.com>
Signed-off-by: Preetesh Parekh <pparekh@amcc.com>
Acked-by: Loc Ho <lho@amcc.com>
Acked-by: Feng Kan <fkan@amcc.com>
---
 arch/powerpc/boot/dts/redwood.dts          |  245 ++++++
 arch/powerpc/configs/44x/redwood_defconfig | 1174
++++++++++++++++++++++++++++
 arch/powerpc/kernel/cpu_setup_44x.S        |    1 +
 arch/powerpc/kernel/cputable.c             |   13 +
 arch/powerpc/platforms/44x/Kconfig         |   19 +
 arch/powerpc/platforms/44x/ppc44x_simple.c |    1 +
 6 files changed, 1453 insertions(+), 0 deletions(-)  create mode 100644
arch/powerpc/boot/dts/redwood.dts  create mode 100644
arch/powerpc/configs/44x/redwood_defconfig

diff --git a/arch/powerpc/boot/dts/redwood.dts
b/arch/powerpc/boot/dts/redwood.dts
new file mode 100644
index 0000000..1c525ee
--- /dev/null
+++ b/arch/powerpc/boot/dts/redwood.dts
@@ -0,0 +1,245 @@
+/*
+ * Device Tree Source for AMCC Redwood(460SX)
+ *
+ * Copyright 2008 AMCC <tmarri@amcc.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without
+ * any warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+
+/ {
+	#address-cells =3D <2>;
+	#size-cells =3D <1>;
+	model =3D "amcc,redwood";
+	compatible =3D "amcc,redwood";
+	dcr-parent =3D <&{/cpus/cpu@0}>;
+
+	aliases {
+		ethernet0 =3D &EMAC0;
+		serial0 =3D &UART0;
+	};
+
+	cpus {
+		#address-cells =3D <1>;
+		#size-cells =3D <0>;
+
+		cpu@0 {
+			device_type =3D "cpu";
+			model =3D "PowerPC,460SX";
+			reg =3D <0x00000000>;
+			clock-frequency =3D <0>; /* Filled in by U-Boot */
+			timebase-frequency =3D <0>; /* Filled in by U-Boot
*/
+			i-cache-line-size =3D <32>;
+			d-cache-line-size =3D <32>;
+			i-cache-size =3D <32768>;
+			d-cache-size =3D <32768>;
+			dcr-controller;
+			dcr-access-method =3D "native";
+		};
+	};
+
+	memory {
+		device_type =3D "memory";
+		reg =3D <0x00000000 0x00000000 0x00000000>; /* Filled in
by U-Boot */
+	};
+
+	UIC0: interrupt-controller0 {
+		compatible =3D "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index =3D <0>;
+		dcr-reg =3D <0x0c0 0x009>;
+		#address-cells =3D <0>;
+		#size-cells =3D <0>;
+		#interrupt-cells =3D <2>;
+	};
+
+	UIC1: interrupt-controller1 {
+		compatible =3D "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index =3D <1>;
+		dcr-reg =3D <0x0d0 0x009>;
+		#address-cells =3D <0>;
+		#size-cells =3D <0>;
+		#interrupt-cells =3D <2>;
+		interrupts =3D <0x1e 0x4 0x1f 0x4>; /* cascade */
+		interrupt-parent =3D <&UIC0>;
+	};
+
+	UIC2: interrupt-controller2 {
+		compatible =3D "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index =3D <2>;
+		dcr-reg =3D <0x0e0 0x009>;
+		#address-cells =3D <0>;
+		#size-cells =3D <0>;
+		#interrupt-cells =3D <2>;
+		interrupts =3D <0xa 0x4 0xb 0x4>; /* cascade */
+		interrupt-parent =3D <&UIC0>;
+	};
+
+	UIC3: interrupt-controller3 {
+		compatible =3D "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index =3D <3>;
+		dcr-reg =3D <0x0f0 0x009>;
+		#address-cells =3D <0>;
+		#size-cells =3D <0>;
+		#interrupt-cells =3D <2>;
+		interrupts =3D <0x10 0x4 0x11 0x4>; /* cascade */
+		interrupt-parent =3D <&UIC0>;
+	};
+
+	SDR0: sdr {
+		compatible =3D "ibm,sdr-460sx";
+		dcr-reg =3D <0x00e 0x002>;
+	};
+
+	CPR0: cpr {
+		compatible =3D "ibm,cpr-460sx";
+		dcr-reg =3D <0x00c 0x002>;
+	};
+
+	plb {
+		compatible =3D "ibm,plb-460sx", "ibm,plb4";
+		#address-cells =3D <2>;
+		#size-cells =3D <1>;
+		ranges;
+		clock-frequency =3D <0>; /* Filled in by U-Boot */
+
+		SDRAM0: sdram {
+			compatible =3D "ibm,sdram-460sx",
"ibm,sdram-405gp";
+			dcr-reg =3D <0x010 0x002>;
+		};
+
+		MAL0: mcmal {
+			compatible =3D "ibm,mcmal-460sx", "ibm,mcmal2";
+			dcr-reg =3D <0x180 0x62>;
+			num-tx-chans =3D <4>;
+			num-rx-chans =3D <32>;
+			#address-cells =3D <1>;
+			#size-cells =3D <1>;
+			interrupt-parent =3D <&UIC1>;
+			interrupts =3D <	/*TXEOB*/ 0x6 0x4
+					/*RXEOB*/ 0x7 0x4
+					/*SERR*/  0x1 0x4
+					/*TXDE*/  0x2 0x4
+					/*RXDE*/  0x3 0x4
+					/*COAL TX0*/ 0x18 0x2
+					/*COAL TX1*/ 0x19 0x2
+					/*COAL TX2*/ 0x1a 0x2
+					/*COAL TX3*/ 0x1b 0x2
+					/*COAL RX0*/ 0x1c 0x2
+					/*COAL RX1*/ 0x1d 0x2
+					/*COAL RX2*/ 0x1e 0x2
+					/*COAL RX3*/ 0x1f 0x2>;
+		};
+
+		POB0: opb {
+			compatible =3D "ibm,opb-460sx", "ibm,opb";
+			#address-cells =3D <1>;
+			#size-cells =3D <1>;
+			ranges =3D <0xb0000000 0x00000004 0xb0000000
0x50000000>;
+			clock-frequency =3D <0>; /* Filled in by U-Boot */
+
+			EBC0: ebc {
+				compatible =3D "ibm,ebc-460sx", "ibm,ebc";
+				dcr-reg =3D <0x012 0x002>;
+				#address-cells =3D <2>;
+				#size-cells =3D <1>;
+				clock-frequency =3D <0>; /* Filled in by
U-Boot */
+				/* ranges property is supplied by U-Boot
*/
+				interrupts =3D <0x6 0x4>;
+				interrupt-parent =3D <&UIC1>;
+
+				nor_flash@0,0 {
+					compatible =3D "amd,s29gl512n",
"cfi-flash";
+					bank-width =3D <2>;
+					reg =3D <0x0000000 0x00000000
0x04000000>;
+					#address-cells =3D <1>;
+					#size-cells =3D <1>;
+					partition@0 {
+						label =3D "kernel";
+						reg =3D <0x00000000
0x001e0000>;
+					};
+					partition@1e0000 {
+						label =3D "dtb";
+						reg =3D <0x001e0000
0x00020000>;
+					};
+					partition@200000 {
+						label =3D "ramdisk";
+						reg =3D <0x00200000
0x01400000>;
+					};
+					partition@1600000 {
+						label =3D "jffs2";
+						reg =3D <0x01600000
0x00400000>;
+					};
+					partition@1a00000 {
+						label =3D "user";
+						reg =3D <0x01a00000
0x02560000>;
+					};
+					partition@3f60000 {
+						label =3D "env";
+						reg =3D <0x03f60000
0x00040000>;
+					};
+					partition@3fa0000 {
+						label =3D "u-boot";
+						reg =3D <0x03fa0000
0x00060000>;
+					};
+				};
+			};
+
+			UART0: serial@ef600200 {
+				device_type =3D "serial";
+				compatible =3D "ns16550";
+				reg =3D <0xef600200 0x00000008>;
+				virtual-reg =3D <0xef600200>;
+				clock-frequency =3D <0>; /* Filled in by
U-Boot */
+				current-speed =3D <0>; /* Filled in by
U-Boot */
+				interrupt-parent =3D <&UIC0>;
+				interrupts =3D <0x0 0x4>;
+			};
+
+			RGMII0: emac-rgmii@ef600900 {
+				compatible =3D "ibm,rgmii-460sx",
"ibm,rgmii";
+				reg =3D <0xef600900 0x00000008>;
+			};
+
+			EMAC0: ethernet@ef600a00 {
+				device_type =3D "network";
+				compatible =3D "ibm,emac-460sx",
"ibm,emac4";
+				interrupt-parent =3D <&EMAC0>;
+				interrupts =3D <0x0 0x1>;
+				#interrupt-cells =3D <1>;
+				#address-cells =3D <0>;
+				#size-cells =3D <0>;
+				interrupt-map =3D </*Status*/ 0x0 &UIC0
0x13 0x4
+						 /*Wake*/   0x1 &UIC2
0x1d 0x4>;
+				reg =3D <0xef600a00 0x00000070>;
+				local-mac-address =3D [000000000000]; /*
Filled in by U-Boot */
+				mal-device =3D <&MAL0>;
+				mal-tx-channel =3D <0>;
+				mal-rx-channel =3D <0>;
+				cell-index =3D <0>;
+				max-frame-size =3D <9000>;
+				rx-fifo-size =3D <4096>;
+				tx-fifo-size =3D <2048>;
+				phy-mode =3D "rgmii";
+				phy-map =3D <0x00000000>;
+				rgmii-device =3D <&RGMII0>;
+				rgmii-channel =3D <0>;
+				has-inverted-stacr-oc;
+				has-new-stacr-staopc;
+			};
+
+		};
+
+	};
+	chosen {
+		linux,stdout-path =3D "/plb/opb/serial@ef600200";
+	};
+
+};
diff --git a/arch/powerpc/configs/44x/redwood_defconfig
b/arch/powerpc/configs/44x/redwood_defconfig
new file mode 100644
index 0000000..1a3f8c9
--- /dev/null
+++ b/arch/powerpc/configs/44x/redwood_defconfig
@@ -0,0 +1,1174 @@
+#
+# Automatically generated make config: don't edit # Linux kernel=20
+version: 2.6.29-rc1 # Fri Jan 16 17:41:30 2009 # # CONFIG_PPC64 is not=20
+set
+
+#
+# Processor support
+#
+# CONFIG_6xx is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=3Dy
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=3Dy
+CONFIG_4xx=3Dy
+CONFIG_BOOKE=3Dy
+CONFIG_PTE_64BIT=3Dy
+CONFIG_PHYS_64BIT=3Dy
+CONFIG_PPC_MMU_NOHASH=3Dy
+# CONFIG_PPC_MM_SLICES is not set
+CONFIG_NOT_COHERENT_CACHE=3Dy
+CONFIG_PPC32=3Dy
+CONFIG_WORD_SIZE=3D32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=3Dy
+CONFIG_MMU=3Dy
+CONFIG_GENERIC_CMOS_UPDATE=3Dy
+CONFIG_GENERIC_TIME=3Dy
+CONFIG_GENERIC_TIME_VSYSCALL=3Dy
+CONFIG_GENERIC_CLOCKEVENTS=3Dy
+CONFIG_GENERIC_HARDIRQS=3Dy
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set CONFIG_IRQ_PER_CPU=3Dy=20
+CONFIG_STACKTRACE_SUPPORT=3Dy CONFIG_HAVE_LATENCYTOP_SUPPORT=3Dy=20
+CONFIG_LOCKDEP_SUPPORT=3Dy CONFIG_RWSEM_XCHGADD_ALGORITHM=3Dy=20
+CONFIG_ARCH_HAS_ILOG2_U32=3Dy CONFIG_GENERIC_HWEIGHT=3Dy=20
+CONFIG_GENERIC_CALIBRATE_DELAY=3Dy CONFIG_GENERIC_FIND_NEXT_BIT=3Dy #=20
+CONFIG_ARCH_NO_VIRT_TO_BUS is not set CONFIG_PPC=3Dy=20
+CONFIG_EARLY_PRINTK=3Dy CONFIG_GENERIC_NVRAM=3Dy=20
+CONFIG_SCHED_OMIT_FRAME_POINTER=3Dy
+CONFIG_ARCH_MAY_HAVE_PC_FDC=3Dy
+CONFIG_PPC_OF=3Dy
+CONFIG_OF=3Dy
+CONFIG_PPC_UDBG_16550=3Dy
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=3Dy
+CONFIG_GENERIC_BUG=3Dy
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_PPC_DCR_NATIVE=3Dy
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=3Dy
+CONFIG_DEFCONFIG_LIST=3D"/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=3Dy
+CONFIG_BROKEN_ON_SMP=3Dy
+CONFIG_INIT_ENV_ARG_LIMIT=3D32
+CONFIG_LOCALVERSION=3D""
+CONFIG_LOCALVERSION_AUTO=3Dy
+CONFIG_SWAP=3Dy
+CONFIG_SYSVIPC=3Dy
+CONFIG_SYSVIPC_SYSCTL=3Dy
+CONFIG_POSIX_MQUEUE=3Dy
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=3D14
+# CONFIG_GROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=3Dy
+CONFIG_SYSFS_DEPRECATED_V2=3Dy
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=3Dy
+CONFIG_INITRAMFS_SOURCE=3D""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=3Dy=20
+CONFIG_EMBEDDED=3Dy CONFIG_SYSCTL_SYSCALL=3Dy CONFIG_KALLSYMS=3Dy #=20
+CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set=20
+CONFIG_HOTPLUG=3Dy CONFIG_PRINTK=3Dy CONFIG_BUG=3Dy CONFIG_ELF_CORE=3Dy =

+CONFIG_COMPAT_BRK=3Dy CONFIG_BASE_FULL=3Dy CONFIG_FUTEX=3Dy=20
+CONFIG_ANON_INODES=3Dy CONFIG_EPOLL=3Dy CONFIG_SIGNALFD=3Dy =
CONFIG_TIMERFD=3Dy=20
+CONFIG_EVENTFD=3Dy CONFIG_SHMEM=3Dy CONFIG_AIO=3Dy =
CONFIG_VM_EVENT_COUNTERS=3Dy

+CONFIG_PCI_QUIRKS=3Dy CONFIG_SLUB_DEBUG=3Dy # CONFIG_SLAB is not set=20
+CONFIG_SLUB=3Dy # CONFIG_SLOB is not set # CONFIG_PROFILING is not set=20
+CONFIG_HAVE_OPROFILE=3Dy # CONFIG_KPROBES is not set=20
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=3Dy
+CONFIG_HAVE_IOREMAP_PROT=3Dy
+CONFIG_HAVE_KPROBES=3Dy
+CONFIG_HAVE_KRETPROBES=3Dy
+CONFIG_HAVE_ARCH_TRACEHOOK=3Dy
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set CONFIG_SLABINFO=3Dy=20
+CONFIG_RT_MUTEXES=3Dy CONFIG_BASE_SMALL=3D0 CONFIG_MODULES=3Dy #=20
+CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_UNLOAD=3Dy #=20
+CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODVERSIONS is not set #

+CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_BLOCK=3Dy CONFIG_LBD=3Dy =
#=20
+CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_BLK_DEV_BSG is not set #=20
+CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=3Dy
+CONFIG_IOSCHED_AS=3Dy
+CONFIG_IOSCHED_DEADLINE=3Dy
+CONFIG_IOSCHED_CFQ=3Dy
+CONFIG_DEFAULT_AS=3Dy
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED=3D"anticipatory"
+CONFIG_CLASSIC_RCU=3Dy
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+# CONFIG_FREEZER is not set
+CONFIG_PPC4xx_PCI_EXPRESS=3Dy
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_BAMBOO is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+CONFIG_REDWOOD=3Dy
+# CONFIG_YOSEMITE is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set=20
+CONFIG_PPC44x_SIMPLE=3Dy # CONFIG_PPC4xx_GPIO is not set =
CONFIG_460SX=3Dy #

+CONFIG_IPIC is not set # CONFIG_MPIC is not set # CONFIG_MPIC_WEIRD is=20
+not set # CONFIG_PPC_I8259 is not set # CONFIG_PPC_RTAS is not set #=20
+CONFIG_MMIO_NVRAM is not set # CONFIG_PPC_MPC106 is not set #=20
+CONFIG_PPC_970_NAP is not set # CONFIG_PPC_INDIRECT_IO is not set #=20
+CONFIG_GENERIC_IOMAP is not set # CONFIG_CPU_FREQ is not set #=20
+CONFIG_FSL_ULI1575 is not set # CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+CONFIG_TICK_ONESHOT=3Dy
+CONFIG_NO_HZ=3Dy
+CONFIG_HIGH_RES_TIMERS=3Dy
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=3Dy
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=3Dy
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=3D250
+CONFIG_SCHED_HRTICK=3Dy
+CONFIG_PREEMPT_NONE=3Dy
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=3Dy
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set # CONFIG_HAVE_AOUT is

+not set # CONFIG_BINFMT_MISC is not set # CONFIG_MATH_EMULATION is not=20
+set # CONFIG_IOMMU_HELPER is not set CONFIG_PPC_NEED_DMA_SYNC_OPS=3Dy=20
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=3Dy
+CONFIG_ARCH_HAS_WALK_MEMORY=3Dy
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=3Dy
+CONFIG_ARCH_FLATMEM_ENABLE=3Dy
+CONFIG_ARCH_POPULATES_NODE_MAP=3Dy
+CONFIG_SELECT_MEMORY_MODEL=3Dy
+CONFIG_FLATMEM_MANUAL=3Dy
+# CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is=20
+not set CONFIG_FLATMEM=3Dy CONFIG_FLAT_NODE_MEM_MAP=3Dy=20
+CONFIG_PAGEFLAGS_EXTENDED=3Dy
+CONFIG_SPLIT_PTLOCK_CPUS=3D4
+CONFIG_MIGRATION=3Dy
+CONFIG_PHYS_ADDR_T_64BIT=3Dy
+CONFIG_ZONE_DMA_FLAG=3D1
+CONFIG_BOUNCE=3Dy
+CONFIG_VIRT_TO_BUS=3Dy
+CONFIG_UNEVICTABLE_LRU=3Dy
+CONFIG_PPC_4K_PAGES=3Dy
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=3D11
+CONFIG_PROC_DEVICETREE=3Dy
+CONFIG_CMDLINE_BOOL=3Dy
+CONFIG_CMDLINE=3D""
+CONFIG_EXTRA_TARGETS=3D""
+CONFIG_SECCOMP=3Dy
+CONFIG_ISA_DMA_API=3Dy
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=3Dy
+CONFIG_PPC_INDIRECT_PCI=3Dy
+CONFIG_4xx_SOC=3Dy
+CONFIG_PPC_PCI_CHOICE=3Dy
+CONFIG_PCI=3Dy
+CONFIG_PCI_DOMAINS=3Dy
+CONFIG_PCI_SYSCALL=3Dy
+CONFIG_PCIEPORTBUS=3Dy
+CONFIG_PCIEAER=3Dy
+# CONFIG_PCIEASPM is not set
+CONFIG_ARCH_SUPPORTS_MSI=3Dy
+# CONFIG_PCI_MSI is not set
+CONFIG_PCI_LEGACY=3Dy
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used #=20
+CONFIG_LOWMEM_SIZE=3D0x30000000 CONFIG_PAGE_OFFSET=3D0xc0000000=20
+CONFIG_KERNEL_START=3D0xc0000000 CONFIG_PHYSICAL_START=3D0x00000000=20
+CONFIG_TASK_SIZE=3D0xc0000000 CONFIG_CONSISTENT_START=3D0xff100000
+CONFIG_CONSISTENT_SIZE=3D0x00200000
+CONFIG_NET=3Dy
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=3Dy
+CONFIG_PACKET=3Dy
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=3Dy
+# CONFIG_NET_KEY is not set
+CONFIG_INET=3Dy
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=3Dy
+CONFIG_IP_PNP=3Dy
+CONFIG_IP_PNP_DHCP=3Dy
+CONFIG_IP_PNP_BOOTP=3Dy
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set #=20
+CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is

+not set # CONFIG_INET_LRO is not set CONFIG_INET_DIAG=3Dy=20
+CONFIG_INET_TCP_DIAG=3Dy # CONFIG_TCP_CONG_ADVANCED is not set=20
+CONFIG_TCP_CONG_CUBIC=3Dy CONFIG_DEFAULT_TCP_CONG=3D"cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=3Dy
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_OLD_REGULATORY=3Dy
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_LIB80211 is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=3D"/sbin/hotplug"
+CONFIG_STANDALONE=3Dy
+CONFIG_PREVENT_FIRMWARE_BUILD=3Dy
+CONFIG_FW_LOADER=3Dy
+CONFIG_FIRMWARE_IN_KERNEL=3Dy
+CONFIG_EXTRA_FIRMWARE=3D""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=3Dy
+CONFIG_PROC_EVENTS=3Dy
+CONFIG_MTD=3Dy
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=3Dy
+CONFIG_MTD_PARTITIONS=3Dy
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=3Dy
+CONFIG_MTD_OF_PARTS=3Dy
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=3Dy
+CONFIG_MTD_BLKDEVS=3Dy
+CONFIG_MTD_BLOCK=3Dy
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=3Dy
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=3Dy
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=3Dy =

+CONFIG_MTD_MAP_BANK_WIDTH_2=3Dy CONFIG_MTD_MAP_BANK_WIDTH_4=3Dy #=20
+CONFIG_MTD_MAP_BANK_WIDTH_8 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16=20
+is not set # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set=20
+CONFIG_MTD_CFI_I1=3Dy CONFIG_MTD_CFI_I2=3Dy # CONFIG_MTD_CFI_I4 is not =
set=20
+# CONFIG_MTD_CFI_I8 is not set # CONFIG_MTD_CFI_INTELEXT is not set=20
+CONFIG_MTD_CFI_AMDSTD=3Dy # CONFIG_MTD_CFI_STAA is not set=20
+CONFIG_MTD_CFI_UTIL=3Dy # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is =

+not set # CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set # CONFIG_MTD_PHYSMAP is not=20
+set CONFIG_MTD_PHYSMAP_OF=3Dy # CONFIG_MTD_INTEL_VR_NOR is not set #=20
+CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_QINFO_PROBE is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_OF_DEVICE=3Dy
+CONFIG_OF_I2C=3Dy
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=3Dy
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=3Dy
+CONFIG_BLK_DEV_RAM_COUNT=3D16
+CONFIG_BLK_DEV_RAM_SIZE=3D35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=3Dy
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=3Dy
+CONFIG_SCSI_DMA=3Dy
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=3Dy
+
+#
+# SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=3Dy #=20
+CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set #=20
+CONFIG_BLK_DEV_SR is not set CONFIG_CHR_DEV_SG=3Dy # CONFIG_CHR_DEV_SCH =

+is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs # #=20
+CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set #=20
+CONFIG_SCSI_LOGGING is not set # CONFIG_SCSI_SCAN_ASYNC is not set=20
+CONFIG_SCSI_WAIT_SCAN=3Dm
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+CONFIG_SCSI_SAS_ATTRS=3Dy
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=3Dy
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_3W_9XXX is not=20
+set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AACRAID is not set #=20
+CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC7XXX_OLD is not set #=20
+CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC94XX is not set #=20
+CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_ADVANSYS is not set #=20
+CONFIG_SCSI_ARCMSR is not set # CONFIG_MEGARAID_NEWGEN is not set #=20
+CONFIG_MEGARAID_LEGACY is not set # CONFIG_MEGARAID_SAS is not set #=20
+CONFIG_SCSI_HPTIOP is not set # CONFIG_SCSI_BUSLOGIC is not set #=20
+CONFIG_LIBFC is not set # CONFIG_FCOE is not set # CONFIG_SCSI_DMX3191D

+is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_FUTURE_DOMAIN is

+not set # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_IPS is not set #=20
+CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set #=20
+CONFIG_SCSI_MVSAS is not set # CONFIG_SCSI_STEX is not set #=20
+CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_QLOGIC_1280 is not set

+# CONFIG_SCSI_QLA_FC is not set # CONFIG_SCSI_QLA_ISCSI is not set #=20
+CONFIG_SCSI_LPFC is not set # CONFIG_SCSI_DC395x is not set #=20
+CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_NSP32 is not set #=20
+CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_SRP is not set #=20
+CONFIG_SCSI_DH is not set # CONFIG_ATA is not set # CONFIG_MD is not=20
+set CONFIG_FUSION=3Dy # CONFIG_FUSION_SPI is not set # CONFIG_FUSION_FC =

+is not set CONFIG_FUSION_SAS=3Dy
+CONFIG_FUSION_MAX_SGE=3D128
+# CONFIG_FUSION_CTL is not set
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# Enable only one of the two stacks, unless you know what you are doing
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=3Dy
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=3Dy
+CONFIG_I2O_EXT_ADAPTEC=3Dy
+# CONFIG_I2O_CONFIG is not set
+# CONFIG_I2O_BUS is not set
+# CONFIG_I2O_BLOCK is not set
+# CONFIG_I2O_SCSI is not set
+# CONFIG_I2O_PROC is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=3Dy
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=3Dy
+# CONFIG_MII is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_IBM_NEW_EMAC=3Dy
+CONFIG_IBM_NEW_EMAC_RXB=3D256
+CONFIG_IBM_NEW_EMAC_TXB=3D256
+CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=3D32
+CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=3D256
+CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=3D0
+CONFIG_IBM_NEW_EMAC_DEBUG=3Dy
+CONFIG_IBM_NEW_EMAC_ZMII=3Dy
+CONFIG_IBM_NEW_EMAC_RGMII=3Dy
+CONFIG_IBM_NEW_EMAC_TAH=3Dy
+CONFIG_IBM_NEW_EMAC_EMAC4=3Dy
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_B44 is not set
+# CONFIG_ATL2 is not set
+CONFIG_NETDEV_1000=3Dy
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+CONFIG_E1000E=3Dy
+# CONFIG_IP1000 is not set
+# CONFIG_IGB is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_JME is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_IWLWIFI_LEDS is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+CONFIG_DEVKMEM=3Dy
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=3Dy
+CONFIG_SERIAL_8250_CONSOLE=3Dy
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_NR_UARTS=3D1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=3D1
+CONFIG_SERIAL_8250_EXTENDED=3Dy
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=3Dy
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=3Dy
+CONFIG_SERIAL_CORE_CONSOLE=3Dy
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_OF_PLATFORM=3Dy
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+CONFIG_UNIX98_PTYS=3Dy
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=3Dy
+CONFIG_LEGACY_PTY_COUNT=3D256
+# CONFIG_HVC_UDBG is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=3Dy
+CONFIG_I2C=3Dy
+CONFIG_I2C_BOARDINFO=3Dy
+CONFIG_I2C_CHARDEV=3Dy
+CONFIG_I2C_HELPER_AUTO=3Dy
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_IBM_IIC=3Dy
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Graphics adapter I2C/DDC channel drivers
+#
+# CONFIG_I2C_VOODOO3 is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_AT24 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+CONFIG_I2C_DEBUG_CORE=3Dy
+CONFIG_I2C_DEBUG_ALGO=3Dy
+CONFIG_I2C_DEBUG_BUS=3Dy
+CONFIG_I2C_DEBUG_CHIP=3Dy
+# CONFIG_SPI is not set
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=3Dy
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=3Dy
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_REGULATOR is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_VIDEO_MEDIA is not set
+
+#
+# Multimedia drivers
+#
+CONFIG_DAB=3Dy
+
+#
+# Graphics support
+#
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=3Dm
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_SOUND is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_UWB is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+# CONFIG_RTC_CLASS is not set
+CONFIG_DMADEVICES=3Dy
+
+#
+# DMA Devices
+#
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=3Dy
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=3Dy
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=3Dy
+CONFIG_INOTIFY=3Dy
+CONFIG_INOTIFY_USER=3Dy
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=3Dy
+CONFIG_PROC_KCORE=3Dy
+CONFIG_PROC_SYSCTL=3Dy
+CONFIG_PROC_PAGE_MONITOR=3Dy
+CONFIG_SYSFS=3Dy
+CONFIG_TMPFS=3Dy
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=3Dy
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+CONFIG_CRAMFS=3Dy
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=3Dy
+CONFIG_NFS_FS=3Dy
+CONFIG_NFS_V3=3Dy
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=3Dy
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=3Dy
+CONFIG_LOCKD_V4=3Dy
+CONFIG_NFS_COMMON=3Dy
+CONFIG_SUNRPC=3Dy
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=3Dy
+# CONFIG_NLS is not set
+# CONFIG_DLM is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=3Dy
+CONFIG_GENERIC_FIND_LAST_BIT=3Dy
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=3Dy
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=3Dy
+CONFIG_PLIST=3Dy
+CONFIG_HAS_IOMEM=3Dy
+CONFIG_HAS_IOPORT=3Dy
+CONFIG_HAS_DMA=3Dy
+CONFIG_HAVE_LMB=3Dy
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=3Dy
+CONFIG_ENABLE_MUST_CHECK=3Dy
+CONFIG_FRAME_WARN=3D1024
+CONFIG_MAGIC_SYSRQ=3Dy
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=3Dy
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=3Dy
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=3Dy
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=3D0
+CONFIG_SCHED_DEBUG=3Dy
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=3Dy
+CONFIG_HAVE_FUNCTION_TRACER=3Dy
+CONFIG_HAVE_DYNAMIC_FTRACE=3Dy
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=3Dy
+
+#
+# Tracers
+#
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=3Dy
+# CONFIG_KGDB is not set
+CONFIG_PRINT_STACK_DEPTH=3D64
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_IRQSTACKS is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=3Dy
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=3Dy
+CONFIG_CRYPTO_ALGAPI2=3Dy
+CONFIG_CRYPTO_AEAD=3Dy
+CONFIG_CRYPTO_AEAD2=3Dy
+CONFIG_CRYPTO_BLKCIPHER=3Dy
+CONFIG_CRYPTO_BLKCIPHER2=3Dy
+CONFIG_CRYPTO_HASH=3Dy
+CONFIG_CRYPTO_HASH2=3Dy
+CONFIG_CRYPTO_RNG=3Dy
+CONFIG_CRYPTO_RNG2=3Dy
+CONFIG_CRYPTO_MANAGER=3Dy
+CONFIG_CRYPTO_MANAGER2=3Dy
+CONFIG_CRYPTO_GF128MUL=3Dy
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_CRYPTD=3Dy
+CONFIG_CRYPTO_AUTHENC=3Dy
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=3Dy
+CONFIG_CRYPTO_GCM=3Dy
+CONFIG_CRYPTO_SEQIV=3Dy
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=3Dy
+CONFIG_CRYPTO_CTR=3Dy
+CONFIG_CRYPTO_CTS=3Dy
+CONFIG_CRYPTO_ECB=3Dy
+CONFIG_CRYPTO_LRW=3Dy
+CONFIG_CRYPTO_PCBC=3Dy
+CONFIG_CRYPTO_XTS=3Dy
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=3Dy
+CONFIG_CRYPTO_XCBC=3Dy
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+CONFIG_CRYPTO_MD4=3Dy
+CONFIG_CRYPTO_MD5=3Dy
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=3Dy
+CONFIG_CRYPTO_SHA256=3Dy
+CONFIG_CRYPTO_SHA512=3Dy
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=3Dy
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=3Dy
+CONFIG_CRYPTO_BLOWFISH=3Dy
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=3Dy
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=3Dy
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/kernel/cpu_setup_44x.S
b/arch/powerpc/kernel/cpu_setup_44x.S
index 10b4ab1..7d606f8 100644
--- a/arch/powerpc/kernel/cpu_setup_44x.S
+++ b/arch/powerpc/kernel/cpu_setup_44x.S
@@ -34,6 +34,7 @@ _GLOBAL(__setup_cpu_440grx)
 	blr
 _GLOBAL(__setup_cpu_460ex)
 _GLOBAL(__setup_cpu_460gt)
+_GLOBAL(__setup_cpu_460sx)
 	mflr	r4
 	bl	__init_fpu_44x
 	bl	__fixup_440A_mcheck
diff --git a/arch/powerpc/kernel/cputable.c
b/arch/powerpc/kernel/cputable.c
index 923f87a..5c40da4 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -43,6 +43,7 @@ extern void __setup_cpu_440spe(unsigned long offset,
struct cpu_spec* spec);
 extern void __setup_cpu_440x5(unsigned long offset, struct cpu_spec*
spec);
 extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec*
spec);
 extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec*
spec);
+extern void __setup_cpu_460sx(unsigned long offset, struct cpu_spec
*spec);
 extern void __setup_cpu_603(unsigned long offset, struct cpu_spec*
spec);
 extern void __setup_cpu_604(unsigned long offset, struct cpu_spec*
spec);
 extern void __setup_cpu_750(unsigned long offset, struct cpu_spec*
spec);
@@ -1634,6 +1635,18 @@ static struct cpu_spec __initdata cpu_specs[] =3D =
{
 		.machine_check		=3D machine_check_440A,
 		.platform		=3D "ppc440",
 	},
+	{ /* 460SX */
+		.pvr_mask		=3D 0xffffff00,
+		.pvr_value		=3D 0x13541800,
+		.cpu_name		=3D "460SX",
+		.cpu_features		=3D CPU_FTRS_44X,
+		.cpu_user_features	=3D COMMON_USER_BOOKE,
+		.icache_bsize		=3D 32,
+		.dcache_bsize		=3D 32,
+		.cpu_setup		=3D __setup_cpu_460sx,
+		.machine_check		=3D machine_check_440A,
+		.platform		=3D "ppc440",
+	},
 	{	/* default match */
 		.pvr_mask		=3D 0x00000000,
 		.pvr_value		=3D 0x00000000,
diff --git a/arch/powerpc/platforms/44x/Kconfig
b/arch/powerpc/platforms/44x/Kconfig
index 3496bc0..bf5c7ff 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -118,6 +118,17 @@ config GLACIER
 	help
 	  This option enables support for the AMCC PPC460GT evaluation
board.
=20
+config REDWOOD
+	bool "Redwood"
+	depends on 44x
+	default n
+	select PPC44x_SIMPLE
+	select 460SX
+	select PCI
+	select PPC4xx_PCI_EXPRESS
+	help
+	  This option enables support for the AMCC PPC460SX Redwood
board.
+
 config YOSEMITE
 	bool "Yosemite"
 	depends on 44x
@@ -220,6 +231,14 @@ config 460EX
 	select IBM_NEW_EMAC_EMAC4
 	select IBM_NEW_EMAC_TAH
=20
+config 460SX
+	bool
+	select PPC_FPU
+	select IBM_NEW_EMAC_EMAC4
+	select IBM_NEW_EMAC_RGMII
+	select IBM_NEW_EMAC_ZMII
+	select IBM_NEW_EMAC_TAH
+
 # 44x errata/workaround config symbols, selected by the CPU models
above
 config IBM440EP_ERR42
 	bool
diff --git a/arch/powerpc/platforms/44x/ppc44x_simple.c
b/arch/powerpc/platforms/44x/ppc44x_simple.c
index 76fdc51..5bcd441 100644
--- a/arch/powerpc/platforms/44x/ppc44x_simple.c
+++ b/arch/powerpc/platforms/44x/ppc44x_simple.c
@@ -57,6 +57,7 @@ static char *board[] __initdata =3D {
 	"ibm,ebony",
 	"amcc,katmai",
 	"amcc,rainier",
+	"amcc,redwood",
 	"amcc,sequoia",
 	"amcc,taishan",
 	"amcc,yosemite"
--=20
1.5.5

^ permalink raw reply related

* Re: toolchain for building linux-2.6.27.8 or 2.6.28.1  ...
From: Grant Erickson @ 2009-01-29 20:40 UTC (permalink / raw)
  To: mike_timmons; +Cc: linuxppc-dev
In-Reply-To: <498208E0.7000707@trimble.com>

On 1/29/09 11:52 AM, Mike Timmons wrote:
> Questions:
> 1) if I want to cross-compile a kernel later than 2.6.24 to hopefully
> get better WAN device support (and clearer options for fw loading),
> which kernel should I try, and which toolchain?
> 
> the ltib repository does not appear to have a toolchain newer than
> gcc-3.4.3-glibc-2.3.6 (for 603e)
> 
> Admissions, disclaimers, etc
> 1) I'm using the same ltib script I have used for the 2.6.24 build with
> toolchain gcc-3.4.3-glibc-2.3.6 (for 603e).
> I'm simply modifying the kernel spec file to use 2.6.28.1 (and specifyin
> a custom toolchain).
> I've also tried to compile 2.6.27.8. I get the same error.

Mike:

Denx's ELDK 4.1 or 4.2 make a great "It Just Works" solution. I've used 4.1
running from 2.6.23 up to 2.6.27.11 and 4.2 from 2.6.26 to 2.6.27.11 with
zero problems or issues.

Regards,

Grant Erickson

^ permalink raw reply

* RE: [QUESTION] PPC4xx SPI mode
From: Herrera-Bendezu, Luis @ 2009-01-29 20:38 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <6FCCA913376DD7488F4139A4D11B8F48146489@troe2k1.cs.myharris.net>

Actually SPI_IOC_WR_MODE changes are not used for file I/O read() and
write(). SPI_IOC_MESSAGE uses modified SPI parameters only when ioctl()
argument struct spio_ioc_transfer fields: speed_hz and bits_per_word are
non-zero.

This mechanism is enforced by spi_bitbang.c function bitbang_work()
that calls setup_transfer function (in my case spi_ppc4xx_setupxfer())
only when the above condition is true.

On the other hand, read() and write() queue their messages with struct
spi_transfer fields speed_hz and bits_per_word set to 0.=20

IMHO all three cases should behave similarly.

Regards,
Luis=20

-----Original Message-----
From: linuxppc-dev-bounces+lherrera=3Dharris.com@ozlabs.org
[mailto:linuxppc-dev-bounces+lherrera=3Dharris.com@ozlabs.org] On Behalf
Of Herrera-Bendezu, Luis
Sent: Wednesday, January 28, 2009 7:08 PM
To: linuxppc-dev@ozlabs.org
Subject: [QUESTION] PPC4xx SPI mode


I am using PPC440EPx SPI driver to access devices with different clock
polarities (SPI_MODE_0 and SPI_MODE_2), but otherwise similar SPI
parameters (max clock frequency, bits per word, etc.) If spidev is
used to modify clock polarity via ioctl SPI_IOC_WR_MODE, it does not
have any effect on the controller.

This list has dicussed a related issue:
http://ozlabs.org/pipermail/linuxppc-dev/2009-January/066749.html

that explains why SPI_IOC_WR_MODE does not work, function
spi_ppc4xx_setupxfer() is called only once by spi_ppc4xx_setup()
function. Any subsequent call just ignores request to change SPI
configuration and does not report any error.

Is this how the driver is supposed to work?
Can the above usage be acommodated into the driver?

Thanks,
Luis


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

^ permalink raw reply

* Re: toolchain for building linux-2.6.27.8 or 2.6.28.1 ...
From: Bruno Monteiro @ 2009-01-29 20:16 UTC (permalink / raw)
  To: mike_timmons; +Cc: linuxppc-dev
In-Reply-To: <498208E0.7000707@trimble.com>

[-- Attachment #1: Type: text/plain, Size: 2443 bytes --]

Hi Mike,

For cross compile issue you should try
crosstool-ng<http://ymorin.is-a-geek.org/dokuwiki/projects/crosstool>.
It works fine with ppc 405.

Regards,
Bruno


On Thu, Jan 29, 2009 at 7:52 PM, Mike Timmons <mike_timmons@trimble.com>wrote:

> I wrote a couple days ago needing advice on USB wi fi. I made some progress
> but then I hit a snag loading the USB wi fi adapter firmware.
>
> Jon schooled me on the firmware topic (thanks Jon), and advised me to
> select the following Kconfig options
>
> Kconfig
> Device drivers
>  generic driver options
>    user space firmware support
>       check - include in-kernel firmware blobs in kernel binary
>
>
> My 2.6.24 kernel didn't offer these options, and I also suspected that
> since 2.6.24 some progress on the ralink drivers I need has been made I
> figured I'd just try a new kernel build and try to get my ralink-equipped
> Linksys WUSB54GC to work.
>
> Trouble:
> -I was using  Ltib Toolchain (gcc-3.4.3-glibc-2.3.6 (for 603e)) to build my
> 2.6.24 kernel.
> -It looks like somewhere after 2.6.24 this toolchain stopped successfully
> compiling the kernel.
>
> So,
> -I used crosstool and built 4.1.0 and 4.1.1 toolchains. Both produce the
> following error:
>
>  OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so
> objcopy: Unable to recognise the format of the input file
> `arch/powerpc/kernel/vdso32/vdso32.so.dbg'
> make[3]: *** [arch/powerpc/kernel/vdso32/vdso32.so] Error 1
> make[2]: *** [arch/powerpc/kernel/vdso32] Error 2
>
>
> Questions:
> 1) if I want to cross-compile a kernel later than 2.6.24 to hopefully get
> better WAN device support (and clearer options for fw loading), which kernel
> should I try, and which toolchain?
>
> the ltib repository does not appear to have a toolchain newer than
>  gcc-3.4.3-glibc-2.3.6 (for 603e)
>
> Admissions, disclaimers, etc
> 1) I'm using the same ltib script I have used for the 2.6.24 build with
> toolchain gcc-3.4.3-glibc-2.3.6 (for 603e).
> I'm simply modifying the kernel spec file to use 2.6.28.1 (and specifyin a
> custom toolchain).
> I've also tried to compile 2.6.27.8. I get the same error.
>
>
> I think I'm slipping into version compatibility hell at this point. Please
> throw me a rope if you can by way of advice if you can.
>
> Thanks!
>
> -Mike
>
>
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>

[-- Attachment #2: Type: text/html, Size: 3095 bytes --]

^ permalink raw reply

* RE: [PATCH 1/1 v2] AMCC PPC 460SX redwood SoC platform initial framework
From: Madhulika Madishetty @ 2009-01-29 20:12 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <mailman.232.1233258431.31867.linuxppc-dev@ozlabs.org>

=20
Hi,
I again see the confidentiality notice in the patch I submitted. It was
not supposed to be there. I'll fix it and resubmit the patch.

Thanks,
Madhulika Madishetty

-----Original Message-----
From: linuxppc-dev-bounces+mmadishetty=3Damcc.com@ozlabs.org
[mailto:linuxppc-dev-bounces+mmadishetty=3Damcc.com@ozlabs.org] On =
Behalf
Of linuxppc-dev-request@ozlabs.org
Sent: Thursday, January 29, 2009 11:47 AM
To: linuxppc-dev@ozlabs.org
Subject: Linuxppc-dev Digest, Vol 53, Issue 168

Send Linuxppc-dev mailing list submissions to
	linuxppc-dev@ozlabs.org

To subscribe or unsubscribe via the World Wide Web, visit
	https://ozlabs.org/mailman/listinfo/linuxppc-dev
or, via email, send a message with subject or body 'help' to
	linuxppc-dev-request@ozlabs.org

You can reach the person managing the list at
	linuxppc-dev-owner@ozlabs.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Linuxppc-dev digest..."


Today's Topics:

   1. Re: R: R: USB on lite5200 does not work. (velumani)
   2. [PATCH] ucc_geth: Change uec phy id to the same format as
      gianfar's (Haiying Wang)
   3. Re: [PATCH] ucc_geth: Change uec phy id to the same format as
      gianfar's (Kumar Gala)
   4. Re: [PATCH] add gpio to mpc837X rdb (Kumar Gala)
   5. Re: [PATCH] add gpio to mpc837X rdb (Peter Korsgaard)
   6. Re: [PATCH] add gpio to mpc837X rdb (Anton Vorontsov)
   7. Re: [PATCH] add gpio to mpc837X rdb (Kumar Gala)
   8. [PATCH 1/1 v2] AMCC PPC 460SX redwood SoC platform initial
      framework  (mmadishetty@amcc.com)


----------------------------------------------------------------------

Message: 1
Date: Thu, 29 Jan 2009 01:38:20 -0800 (PST)
From: velumani <velumani.t@gmail.com>
Subject: Re: R: R: USB on lite5200 does not work.
To: linuxppc-dev@ozlabs.org
Message-ID: <21723361.post@talk.nabble.com>
Content-Type: text/plain; charset=3Dus-ascii


Hi,

Did you get any solution for this problem. We are also facing this
issue...

This problem does not happen in our board on every reboot but happens
occationaly. If you have got any solution please let me know.

Thanks,
Velumani

Jon Smirl wrote:
>=20
> If you are using a 33.333Mz crystal it is not possible to generate
> exactly 48Mhz for USB. Best you can do is 48.11Mz. With a 33Mhz
> crystal you can make 48Mhz exactly. But that's probably not your
> problem, that just results in errors on the USB bus. Some USB devices
> don't care and others will get errors.
>=20
> On Sat, Nov 22, 2008 at 7:15 AM, Gianfranco Casanova
> <gianfranco.casanova@alice.it> wrote:
>> Grant Likely ha scritto:
>>>
>>> On Fri, Nov 21, 2008 at 1:36 AM,  <gianfranco.casanova@alice.it>
wrote:
>>>>
>>>> The main HW difference between our board and lite5200 is:
>>>> console on PSC3 and
>>>
>>> [...]
>>>>
>>>> on our HW defined as:
>>>>        /* Radionav configuration */
>>>>        port_config =3D  0x0C712E66;
>>>>
>>>
>>> You've got quite a bit of difference than just console on PSC3.  USB
>>> is on the Ethernet pin group instead of on the USB pin group.  Does
>>> the kernel change the value of port_config when it boots, or does it
>>> leave the value setup by U-Boot intact?
>>
>> As far as I sow from debugger no.
>>
>> We are able to boot with a mini operating system (see previous post).
>> Plugging USB the system get frozen.
>>
>> We have got the same version of kernel compiled on PPC ARCH and USB,
in
>> this
>> case, works.
>>
>> Between PPC and PowerPC from debugger there is only one difference
the
>> label
>> for USB interrupt, in PPC is 50 in PowerPC is 134.
>>
>> I've already checked CDM register and GPIO register and all are the
same.
>>
>> From USB register only one difference on HDDC values (not important
from
>> my
>> point of view).
>>
>> Our processor frequency is different from lite5200. We are thinking
that
>> scaling frequency processor to determine frequency of USB bus is
>> different
>> in PPC and PowerPC. Other street we are looking for is some WR
patchs
>> from
>> lite5200 on PowerPC that are not accepted from our HW.
>>
>>>> I still do not understand our bug with USB.
>>>> Have you got some suggestions or some test to be performed in order
to
>>>> find
>>>> out a solutions?
>>>
>>> Not over a quick exchange via email.
>>
>> Yes of course :)
>>
>>> Your kernel is too old and USB
>>> debugging can be complex.  I'd need to be working with your hardware
>>> to figure out what is going on.
>>
>> I see. We also wont debug USB.
>> Thaks J
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev@ozlabs.org
>> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>>
>=20
>=20
>=20
> --=20
> Jon Smirl
> jonsmirl@gmail.com
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>=20
>=20

--=20
View this message in context:
http://www.nabble.com/USB-on-lite5200-does-not-work.-tp20601948p21723361
.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.



------------------------------

Message: 2
Date: Thu, 29 Jan 2009 13:39:02 -0500
From: Haiying Wang <Haiying.Wang@freescale.com>
Subject: [PATCH] ucc_geth: Change uec phy id to the same format as
	gianfar's
To: linuxppc-dev@ozlabs.org, netdev@vger.kernel.org
Cc: Haiying Wang <Haiying.Wang@freescale.com>
Message-ID:
	<1233254342-8435-1-git-send-email-Haiying.Wang@freescale.com>

The commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 changes the
gianfar's phy id to
the format like "mdio@xxxx:xx", but uec still uses the old format like
"xxxxxxxx:xx".
For the board whose UEC uses gianfar-mdio like MPC8568MDS, the phy can
not be attached
because of the incompatible phy id format. This patch changes uec's phy
id to the same
format as gianfar's.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
---
 drivers/net/ucc_geth.c           |   20 ++++++++++++++++++--
 drivers/net/ucc_geth.h           |    2 ++
 drivers/net/ucc_geth_mii.c       |   12 +++++++++++-
 drivers/net/ucc_geth_mii.h       |    1 +
 4 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 1144122..6ffeffa 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -1536,6 +1536,11 @@ static void adjust_link(struct net_device *dev)
 static int init_phy(struct net_device *dev)
 {
 	struct ucc_geth_private *priv =3D netdev_priv(dev);
+	struct device_node *np =3D priv->node;
+	struct device_node *phy, *mdio;
+	const phandle *ph;
+	char bus_name[MII_BUS_ID_SIZE];
+	const unsigned int *id;
 	struct phy_device *phydev;
 	char phy_id[BUS_ID_SIZE];
=20
@@ -1543,9 +1548,19 @@ static int init_phy(struct net_device *dev)
 	priv->oldspeed =3D 0;
 	priv->oldduplex =3D -1;
=20
-	snprintf(phy_id, sizeof(phy_id), PHY_ID_FMT,
priv->ug_info->mdio_bus,
-		 priv->ug_info->phy_address);
+	ph =3D of_get_property(np, "phy-handle", NULL);
+	phy =3D of_find_node_by_phandle(*ph);
+	mdio =3D of_get_parent(phy);
+
+	id =3D of_get_property(phy, "reg", NULL);
+
+	of_node_put(phy);
+	of_node_put(mdio);
=20
+	uec_mdio_bus_name(bus_name, mdio);
+	snprintf(phy_id, sizeof(phy_id), "%s:%02x",
+                                bus_name, *id);
+
 	phydev =3D phy_connect(dev, phy_id, &adjust_link, 0,
priv->phy_interface);
=20
 	if (IS_ERR(phydev)) {
@@ -3748,6 +3763,7 @@ static int ucc_geth_probe(struct of_device* ofdev,
const struct of_device_id *ma
=20
 	ugeth->ug_info =3D ug_info;
 	ugeth->dev =3D dev;
+	ugeth->node =3D np;
=20
 	return 0;
 }
diff --git a/drivers/net/ucc_geth.h b/drivers/net/ucc_geth.h
index 8f699cb..16cbe42 100644
--- a/drivers/net/ucc_geth.h
+++ b/drivers/net/ucc_geth.h
@@ -1186,6 +1186,8 @@ struct ucc_geth_private {
 	int oldspeed;
 	int oldduplex;
 	int oldlink;
+
+	struct device_node *node;
 };
=20
 void uec_set_ethtool_ops(struct net_device *netdev);
diff --git a/drivers/net/ucc_geth_mii.c b/drivers/net/ucc_geth_mii.c
index c001d26..5463591 100644
--- a/drivers/net/ucc_geth_mii.c
+++ b/drivers/net/ucc_geth_mii.c
@@ -156,7 +156,7 @@ static int uec_mdio_probe(struct of_device *ofdev,
const struct of_device_id *ma
 	if (err)
 		goto reg_map_fail;
=20
-	snprintf(new_bus->id, MII_BUS_ID_SIZE, "%x", res.start);
+	uec_mdio_bus_name(new_bus->id, np);
=20
 	new_bus->irq =3D kmalloc(32 * sizeof(int), GFP_KERNEL);
=20
@@ -283,3 +283,13 @@ void uec_mdio_exit(void)
 {
 	of_unregister_platform_driver(&uec_mdio_driver);
 }
+
+void uec_mdio_bus_name(char *name, struct device_node *np)
+{
+        const u32 *reg;
+
+        reg =3D of_get_property(np, "reg", NULL);
+
+        snprintf(name, MII_BUS_ID_SIZE, "%s@%x", np->name, reg ? *reg :
0);
+}
+
diff --git a/drivers/net/ucc_geth_mii.h b/drivers/net/ucc_geth_mii.h
index 1e45b20..840cf80 100644
--- a/drivers/net/ucc_geth_mii.h
+++ b/drivers/net/ucc_geth_mii.h
@@ -97,4 +97,5 @@ int uec_mdio_read(struct mii_bus *bus, int mii_id, int
regnum);
 int uec_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16
value);
 int __init uec_mdio_init(void);
 void uec_mdio_exit(void);
+void uec_mdio_bus_name(char *name, struct device_node *np);
 #endif				/* __UEC_MII_H */
--=20
1.6.0.2



------------------------------

Message: 3
Date: Thu, 29 Jan 2009 12:42:38 -0600
From: Kumar Gala <galak@kernel.crashing.org>
Subject: Re: [PATCH] ucc_geth: Change uec phy id to the same format as
	gianfar's
To: David Miller <davem@davemloft.net>
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>,	Haiying Wang
	<Haiying.Wang@freescale.com>, netdev@vger.kernel.org
Message-ID: <FD1B55B4-574B-4B77-889D-FD81D77DCA5E@kernel.crashing.org>
Content-Type: text/plain; charset=3DUS-ASCII; format=3Dflowed; =
delsp=3Dyes


On Jan 29, 2009, at 12:39 PM, Haiying Wang wrote:

> The commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 changes the =20
> gianfar's phy id to
> the format like "mdio@xxxx:xx", but uec still uses the old format =20
> like "xxxxxxxx:xx".
> For the board whose UEC uses gianfar-mdio like MPC8568MDS, the phy =20
> can not be attached
> because of the incompatible phy id format. This patch changes uec's =20
> phy id to the same
> format as gianfar's.
>
> Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
> ---
> drivers/net/ucc_geth.c           |   20 ++++++++++++++++++--
> drivers/net/ucc_geth.h           |    2 ++
> drivers/net/ucc_geth_mii.c       |   12 +++++++++++-
> drivers/net/ucc_geth_mii.h       |    1 +
> 4 files changed, 32 insertions(+), 3 deletions(-)

David,

Can you look at this for 2.6.29.

- k


------------------------------

Message: 4
Date: Thu, 29 Jan 2009 12:38:03 -0600
From: Kumar Gala <kumar.gala@freescale.com>
Subject: Re: [PATCH] add gpio to mpc837X rdb
To: Reynes Philippe <philippe.reynes@isismpp.fr>
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>
Message-ID: <0CE9A9BA-6168-4AE6-84DB-55D210723271@freescale.com>
Content-Type: text/plain; charset=3DUS-ASCII; format=3Dflowed


On Jan 29, 2009, at 11:37 AM, Reynes Philippe wrote:

> Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
> ---
> diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts
> b/arch/powerpc/boot/dts/mpc8377_rdb.dts
> index 165463f..45c9f03 100644
> --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
> +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
> @@ -109,6 +109,24 @@
> 			reg =3D <0x200 0x100>;
> 		};
>
> +		gpio1: gpio-controller@c00 {
> +			#gpio-cells =3D <2>;
> +			compatible =3D "fsl,mpc8347-gpio",
> "fsl,mpc8349-gpio";
> +			reg =3D <0xc00 0x100>;
> +			interrupts =3D <74 0x8>;
> +			interrupt-parent =3D <&ipic>;
> +			gpio-controller;
> +		};
> +

seeing patch apply issues.. (line wrapping)

- k


------------------------------

Message: 5
Date: Thu, 29 Jan 2009 20:17:33 +0100
From: Peter Korsgaard <jacmet@sunsite.dk>
Subject: Re: [PATCH] add gpio to mpc837X rdb
To: "Reynes Philippe" <philippe.reynes@isismpp.fr>
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>,	Kumar Gala
	<kumar.gala@freescale.com>
Message-ID: <87y6wtq5v6.fsf@macbook.be.48ers.dk>
Content-Type: text/plain; charset=3Dus-ascii

>>>>> "Reynes" =3D=3D Reynes Philippe <philippe.reynes@isismpp.fr> =
writes:

Hi,

 Reynes> Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
=20
 Reynes> +		gpio1: gpio-controller@c00 {
 Reynes> +			#gpio-cells =3D <2>;
 Reynes> +			compatible =3D "fsl,mpc8347-gpio",
 Reynes> "fsl,mpc8349-gpio";

The patch is wordwrapped, and you should use fsl,mpc8377-gpio, not
mpc8347 (E.G. <actual platform>, mpc8349)

--=20
Bye, Peter Korsgaard


------------------------------

Message: 6
Date: Thu, 29 Jan 2009 22:20:31 +0300
From: Anton Vorontsov <avorontsov@ru.mvista.com>
Subject: Re: [PATCH] add gpio to mpc837X rdb
To: Reynes Philippe <philippe.reynes@isismpp.fr>
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>,	Kumar Gala
	<kumar.gala@freescale.com>
Message-ID: <20090129192031.GA17060@oksana.dev.rtsoft.ru>
Content-Type: text/plain; charset=3Dutf8

On Thu, Jan 29, 2009 at 06:37:15PM +0100, Reynes Philippe wrote:
> Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
> ---
> diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts
> b/arch/powerpc/boot/dts/mpc8377_rdb.dts
> index 165463f..45c9f03 100644
> --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
> +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
> @@ -109,6 +109,24 @@
>  			reg =3D <0x200 0x100>;
>  		};
> =20
> +		gpio1: gpio-controller@c00 {
> +			#gpio-cells =3D <2>;
> +			compatible =3D "fsl,mpc8347-gpio",

I think this should be "fsl,mpc8377-gpio", "fsl,mpc8349-gpio".

[...]
> --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
> +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
> @@ -109,6 +109,24 @@
>  			reg =3D <0x200 0x100>;
>  		};
> =20
> +		gpio1: gpio-controller@c00 {
> +			#gpio-cells =3D <2>;
> +			compatible =3D "fsl,mpc8347-gpio",
> "fsl,mpc8349-gpio";

"fsl,mpc8378-gpio", "fsl,mpc8349-gpio".

[...]
> --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
> +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
> @@ -107,6 +107,24 @@
>  			reg =3D <0x200 0x100>;
>  		};
> =20
> +		gpio1: gpio-controller@c00 {
> +			#gpio-cells =3D <2>;
> +			compatible =3D "fsl,mpc8347-gpio",
> "fsl,mpc8349-gpio";

"fsl,mpc8379-gpio", "fsl,mpc8349-gpio".

Thanks,

--=20
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2


------------------------------

Message: 7
Date: Thu, 29 Jan 2009 13:23:24 -0600
From: Kumar Gala <kumar.gala@freescale.com>
Subject: Re: [PATCH] add gpio to mpc837X rdb
To: avorontsov@ru.mvista.com
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>,	Reynes Philippe
	<philippe.reynes@isismpp.fr>
Message-ID: <0819EFA5-E86A-4D7F-8C60-06721B8072D8@freescale.com>
Content-Type: text/plain; charset=3DUS-ASCII; format=3Dflowed


On Jan 29, 2009, at 1:20 PM, Anton Vorontsov wrote:

> On Thu, Jan 29, 2009 at 06:37:15PM +0100, Reynes Philippe wrote:
>> Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
>> ---
>> diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts
>> b/arch/powerpc/boot/dts/mpc8377_rdb.dts
>> index 165463f..45c9f03 100644
>> --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
>> +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
>> @@ -109,6 +109,24 @@
>> 			reg =3D <0x200 0x100>;
>> 		};
>>
>> +		gpio1: gpio-controller@c00 {
>> +			#gpio-cells =3D <2>;
>> +			compatible =3D "fsl,mpc8347-gpio",
>
> I think this should be "fsl,mpc8377-gpio", "fsl,mpc8349-gpio".
>
> [...]
>> --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
>> +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
>> @@ -109,6 +109,24 @@
>> 			reg =3D <0x200 0x100>;
>> 		};
>>
>> +		gpio1: gpio-controller@c00 {
>> +			#gpio-cells =3D <2>;
>> +			compatible =3D "fsl,mpc8347-gpio",
>> "fsl,mpc8349-gpio";
>
> "fsl,mpc8378-gpio", "fsl,mpc8349-gpio".
>
> [...]
>> --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
>> +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
>> @@ -107,6 +107,24 @@
>> 			reg =3D <0x200 0x100>;
>> 		};
>>
>> +		gpio1: gpio-controller@c00 {
>> +			#gpio-cells =3D <2>;
>> +			compatible =3D "fsl,mpc8347-gpio",
>> "fsl,mpc8349-gpio";
>
> "fsl,mpc8379-gpio", "fsl,mpc8349-gpio".

Agreed w/Anton here.

- k


------------------------------

Message: 8
Date: Thu, 29 Jan 2009 11:46:24 -0800
From: <mmadishetty@amcc.com>
Subject: [PATCH 1/1 v2] AMCC PPC 460SX redwood SoC platform initial
	framework=20
To: <linuxppc-dev@ozlabs.org>
Cc: Preetesh Parekh <pparekh@amcc.com>,	Madhulika Madishetty
	<mmadishetty@amcc.com>, Feng Kan <fkan@amcc.com>,
Vidhyananth
	Venkatasamy <vvenkatasamy@amcc.com>,	Tirumala Marri
<tmarri@amcc.com>
Message-ID: <1233258384-20733-1-git-send-email-mmadishetty@amcc.com>

From: Madhulika Madishetty <mmadishetty@amcc.com>

This patch contains initial framework for the AMCC Redwood board.

Signed-off-by: Madhulika Madishetty <mmadishetty@amcc.com>
Signed-off-by: Tirumala Marri <tmarri@amcc.com>
Signed-off-by: Feng Kan <fkan@amcc.com>
Signed-off-by: Vidhyananth Venkatasamy <vvenkatasamy@amcc.com>
Signed-off-by: Preetesh Parekh <pparekh@amcc.com>
Acked-by: Loc Ho <lho@amcc.com>
Acked-by: Feng Kan <fkan@amcc.com>
---
 arch/powerpc/boot/dts/redwood.dts          |  245 ++++++
 arch/powerpc/configs/44x/redwood_defconfig | 1174=20
++++++++++++++++++++++++++++
 arch/powerpc/kernel/cpu_setup_44x.S        |    1 +
 arch/powerpc/kernel/cputable.c             |   13 +
 arch/powerpc/platforms/44x/Kconfig         |   19 +
 arch/powerpc/platforms/44x/ppc44x_simple.c |    1 +
 6 files changed, 1453 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/redwood.dts
 create mode 100644 arch/powerpc/configs/44x/redwood_defconfig

diff --git a/arch/powerpc/boot/dts/redwood.dts=20
b/arch/powerpc/boot/dts/redwood.dts
new file mode 100644
index 0000000..1c525ee
--- /dev/null
+++ b/arch/powerpc/boot/dts/redwood.dts
@@ -0,0 +1,245 @@
+/*
+ * Device Tree Source for AMCC Redwood(460SX)
+ *
+ * Copyright 2008 AMCC <tmarri@amcc.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without
+ * any warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+
+/ {
+	#address-cells =3D <2>;
+	#size-cells =3D <1>;
+	model =3D "amcc,redwood";
+	compatible =3D "amcc,redwood";
+	dcr-parent =3D <&{/cpus/cpu@0}>;
+
+	aliases {
+		ethernet0 =3D &EMAC0;
+		serial0 =3D &UART0;
+	};
+
+	cpus {
+		#address-cells =3D <1>;
+		#size-cells =3D <0>;
+
+		cpu@0 {
+			device_type =3D "cpu";
+			model =3D "PowerPC,460SX";
+			reg =3D <0x00000000>;
+			clock-frequency =3D <0>; /* Filled in by U-Boot */
+			timebase-frequency =3D <0>; /* Filled in by U-Boot
*/
+			i-cache-line-size =3D <32>;
+			d-cache-line-size =3D <32>;
+			i-cache-size =3D <32768>;
+			d-cache-size =3D <32768>;
+			dcr-controller;
+			dcr-access-method =3D "native";
+		};
+	};
+
+	memory {
+		device_type =3D "memory";
+		reg =3D <0x00000000 0x00000000 0x00000000>; /* Filled in
by U-Boot */
+	};
+
+	UIC0: interrupt-controller0 {
+		compatible =3D "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index =3D <0>;
+		dcr-reg =3D <0x0c0 0x009>;
+		#address-cells =3D <0>;
+		#size-cells =3D <0>;
+		#interrupt-cells =3D <2>;
+	};
+
+	UIC1: interrupt-controller1 {
+		compatible =3D "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index =3D <1>;
+		dcr-reg =3D <0x0d0 0x009>;
+		#address-cells =3D <0>;
+		#size-cells =3D <0>;
+		#interrupt-cells =3D <2>;
+		interrupts =3D <0x1e 0x4 0x1f 0x4>; /* cascade */
+		interrupt-parent =3D <&UIC0>;
+	};
+
+	UIC2: interrupt-controller2 {
+		compatible =3D "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index =3D <2>;
+		dcr-reg =3D <0x0e0 0x009>;
+		#address-cells =3D <0>;
+		#size-cells =3D <0>;
+		#interrupt-cells =3D <2>;
+		interrupts =3D <0xa 0x4 0xb 0x4>; /* cascade */
+		interrupt-parent =3D <&UIC0>;
+	};
+
+	UIC3: interrupt-controller3 {
+		compatible =3D "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index =3D <3>;
+		dcr-reg =3D <0x0f0 0x009>;
+		#address-cells =3D <0>;
+		#size-cells =3D <0>;
+		#interrupt-cells =3D <2>;
+		interrupts =3D <0x10 0x4 0x11 0x4>; /* cascade */
+		interrupt-parent =3D <&UIC0>;
+	};
+
+	SDR0: sdr {
+		compatible =3D "ibm,sdr-460sx";
+		dcr-reg =3D <0x00e 0x002>;
+	};
+
+	CPR0: cpr {
+		compatible =3D "ibm,cpr-460sx";
+		dcr-reg =3D <0x00c 0x002>;
+	};
+
+	plb {
+		compatible =3D "ibm,plb-460sx", "ibm,plb4";
+		#address-cells =3D <2>;
+		#size-cells =3D <1>;
+		ranges;
+		clock-frequency =3D <0>; /* Filled in by U-Boot */
+
+		SDRAM0: sdram {
+			compatible =3D "ibm,sdram-460sx",
"ibm,sdram-405gp";
+			dcr-reg =3D <0x010 0x002>;
+		};
+
+		MAL0: mcmal {
+			compatible =3D "ibm,mcmal-460sx", "ibm,mcmal2";
+			dcr-reg =3D <0x180 0x62>;
+			num-tx-chans =3D <4>;
+			num-rx-chans =3D <32>;
+			#address-cells =3D <1>;
+			#size-cells =3D <1>;
+			interrupt-parent =3D <&UIC1>;
+			interrupts =3D <	/*TXEOB*/ 0x6 0x4
+					/*RXEOB*/ 0x7 0x4
+					/*SERR*/  0x1 0x4
+					/*TXDE*/  0x2 0x4
+					/*RXDE*/  0x3 0x4
+					/*COAL TX0*/ 0x18 0x2
+					/*COAL TX1*/ 0x19 0x2
+					/*COAL TX2*/ 0x1a 0x2
+					/*COAL TX3*/ 0x1b 0x2
+					/*COAL RX0*/ 0x1c 0x2
+					/*COAL RX1*/ 0x1d 0x2
+					/*COAL RX2*/ 0x1e 0x2
+					/*COAL RX3*/ 0x1f 0x2>;
+		};
+
+		POB0: opb {
+			compatible =3D "ibm,opb-460sx", "ibm,opb";
+			#address-cells =3D <1>;
+			#size-cells =3D <1>;
+			ranges =3D <0xb0000000 0x00000004 0xb0000000
0x50000000>;
+			clock-frequency =3D <0>; /* Filled in by U-Boot */
+
+			EBC0: ebc {
+				compatible =3D "ibm,ebc-460sx", "ibm,ebc";
+				dcr-reg =3D <0x012 0x002>;
+				#address-cells =3D <2>;
+				#size-cells =3D <1>;
+				clock-frequency =3D <0>; /* Filled in by
U-Boot */
+				/* ranges property is supplied by U-Boot
*/
+				interrupts =3D <0x6 0x4>;
+				interrupt-parent =3D <&UIC1>;
+
+				nor_flash@0,0 {
+					compatible =3D "amd,s29gl512n",
"cfi-flash";
+					bank-width =3D <2>;
+					reg =3D <0x0000000 0x00000000
0x04000000>;
+					#address-cells =3D <1>;
+					#size-cells =3D <1>;
+					partition@0 {
+						label =3D "kernel";
+						reg =3D <0x00000000
0x001e0000>;
+					};
+					partition@1e0000 {
+						label =3D "dtb";
+						reg =3D <0x001e0000
0x00020000>;
+					};
+					partition@200000 {
+						label =3D "ramdisk";
+						reg =3D <0x00200000
0x01400000>;
+					};
+					partition@1600000 {
+						label =3D "jffs2";
+						reg =3D <0x01600000
0x00400000>;
+					};
+					partition@1a00000 {
+						label =3D "user";
+						reg =3D <0x01a00000
0x02560000>;
+					};
+					partition@3f60000 {
+						label =3D "env";
+						reg =3D <0x03f60000
0x00040000>;
+					};
+					partition@3fa0000 {
+						label =3D "u-boot";
+						reg =3D <0x03fa0000
0x00060000>;
+					};
+				};
+			};
+
+			UART0: serial@ef600200 {
+				device_type =3D "serial";
+				compatible =3D "ns16550";
+				reg =3D <0xef600200 0x00000008>;
+				virtual-reg =3D <0xef600200>;
+				clock-frequency =3D <0>; /* Filled in by
U-Boot */
+				current-speed =3D <0>; /* Filled in by
U-Boot */
+				interrupt-parent =3D <&UIC0>;
+				interrupts =3D <0x0 0x4>;
+			};
+
+			RGMII0: emac-rgmii@ef600900 {
+				compatible =3D "ibm,rgmii-460sx",
"ibm,rgmii";
+				reg =3D <0xef600900 0x00000008>;
+			};
+
+			EMAC0: ethernet@ef600a00 {
+				device_type =3D "network";
+				compatible =3D "ibm,emac-460sx",
"ibm,emac4";
+				interrupt-parent =3D <&EMAC0>;
+				interrupts =3D <0x0 0x1>;
+				#interrupt-cells =3D <1>;
+				#address-cells =3D <0>;
+				#size-cells =3D <0>;
+				interrupt-map =3D </*Status*/ 0x0 &UIC0
0x13 0x4
+						 /*Wake*/   0x1 &UIC2
0x1d 0x4>;
+				reg =3D <0xef600a00 0x00000070>;
+				local-mac-address =3D [000000000000]; /*
Filled in by U-Boot */
+				mal-device =3D <&MAL0>;
+				mal-tx-channel =3D <0>;
+				mal-rx-channel =3D <0>;
+				cell-index =3D <0>;
+				max-frame-size =3D <9000>;
+				rx-fifo-size =3D <4096>;
+				tx-fifo-size =3D <2048>;
+				phy-mode =3D "rgmii";
+				phy-map =3D <0x00000000>;
+				rgmii-device =3D <&RGMII0>;
+				rgmii-channel =3D <0>;
+				has-inverted-stacr-oc;
+				has-new-stacr-staopc;
+			};
+
+		};
+
+	};
+	chosen {
+		linux,stdout-path =3D "/plb/opb/serial@ef600200";
+	};
+
+};
diff --git a/arch/powerpc/configs/44x/redwood_defconfig=20
b/arch/powerpc/configs/44x/redwood_defconfig
new file mode 100644
index 0000000..1a3f8c9
--- /dev/null
+++ b/arch/powerpc/configs/44x/redwood_defconfig
@@ -0,0 +1,1174 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.29-rc1
+# Fri Jan 16 17:41:30 2009
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_6xx is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=3Dy
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=3Dy
+CONFIG_4xx=3Dy
+CONFIG_BOOKE=3Dy
+CONFIG_PTE_64BIT=3Dy
+CONFIG_PHYS_64BIT=3Dy
+CONFIG_PPC_MMU_NOHASH=3Dy
+# CONFIG_PPC_MM_SLICES is not set
+CONFIG_NOT_COHERENT_CACHE=3Dy
+CONFIG_PPC32=3Dy
+CONFIG_WORD_SIZE=3D32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=3Dy
+CONFIG_MMU=3Dy
+CONFIG_GENERIC_CMOS_UPDATE=3Dy
+CONFIG_GENERIC_TIME=3Dy
+CONFIG_GENERIC_TIME_VSYSCALL=3Dy
+CONFIG_GENERIC_CLOCKEVENTS=3Dy
+CONFIG_GENERIC_HARDIRQS=3Dy
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+CONFIG_IRQ_PER_CPU=3Dy
+CONFIG_STACKTRACE_SUPPORT=3Dy
+CONFIG_HAVE_LATENCYTOP_SUPPORT=3Dy
+CONFIG_LOCKDEP_SUPPORT=3Dy
+CONFIG_RWSEM_XCHGADD_ALGORITHM=3Dy
+CONFIG_ARCH_HAS_ILOG2_U32=3Dy
+CONFIG_GENERIC_HWEIGHT=3Dy
+CONFIG_GENERIC_CALIBRATE_DELAY=3Dy
+CONFIG_GENERIC_FIND_NEXT_BIT=3Dy
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=3Dy
+CONFIG_EARLY_PRINTK=3Dy
+CONFIG_GENERIC_NVRAM=3Dy
+CONFIG_SCHED_OMIT_FRAME_POINTER=3Dy
+CONFIG_ARCH_MAY_HAVE_PC_FDC=3Dy
+CONFIG_PPC_OF=3Dy
+CONFIG_OF=3Dy
+CONFIG_PPC_UDBG_16550=3Dy
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=3Dy
+CONFIG_GENERIC_BUG=3Dy
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_PPC_DCR_NATIVE=3Dy
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=3Dy
+CONFIG_DEFCONFIG_LIST=3D"/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=3Dy
+CONFIG_BROKEN_ON_SMP=3Dy
+CONFIG_INIT_ENV_ARG_LIMIT=3D32
+CONFIG_LOCALVERSION=3D""
+CONFIG_LOCALVERSION_AUTO=3Dy
+CONFIG_SWAP=3Dy
+CONFIG_SYSVIPC=3Dy
+CONFIG_SYSVIPC_SYSCTL=3Dy
+CONFIG_POSIX_MQUEUE=3Dy
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=3D14
+# CONFIG_GROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=3Dy
+CONFIG_SYSFS_DEPRECATED_V2=3Dy
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=3Dy
+CONFIG_INITRAMFS_SOURCE=3D""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=3Dy
+CONFIG_EMBEDDED=3Dy
+CONFIG_SYSCTL_SYSCALL=3Dy
+CONFIG_KALLSYMS=3Dy
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=3Dy
+CONFIG_PRINTK=3Dy
+CONFIG_BUG=3Dy
+CONFIG_ELF_CORE=3Dy
+CONFIG_COMPAT_BRK=3Dy
+CONFIG_BASE_FULL=3Dy
+CONFIG_FUTEX=3Dy
+CONFIG_ANON_INODES=3Dy
+CONFIG_EPOLL=3Dy
+CONFIG_SIGNALFD=3Dy
+CONFIG_TIMERFD=3Dy
+CONFIG_EVENTFD=3Dy
+CONFIG_SHMEM=3Dy
+CONFIG_AIO=3Dy
+CONFIG_VM_EVENT_COUNTERS=3Dy
+CONFIG_PCI_QUIRKS=3Dy
+CONFIG_SLUB_DEBUG=3Dy
+# CONFIG_SLAB is not set
+CONFIG_SLUB=3Dy
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=3Dy
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=3Dy
+CONFIG_HAVE_IOREMAP_PROT=3Dy
+CONFIG_HAVE_KPROBES=3Dy
+CONFIG_HAVE_KRETPROBES=3Dy
+CONFIG_HAVE_ARCH_TRACEHOOK=3Dy
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=3Dy
+CONFIG_RT_MUTEXES=3Dy
+CONFIG_BASE_SMALL=3D0
+CONFIG_MODULES=3Dy
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=3Dy
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=3Dy
+CONFIG_LBD=3Dy
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=3Dy
+CONFIG_IOSCHED_AS=3Dy
+CONFIG_IOSCHED_DEADLINE=3Dy
+CONFIG_IOSCHED_CFQ=3Dy
+CONFIG_DEFAULT_AS=3Dy
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED=3D"anticipatory"
+CONFIG_CLASSIC_RCU=3Dy
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+# CONFIG_FREEZER is not set
+CONFIG_PPC4xx_PCI_EXPRESS=3Dy
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_BAMBOO is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+CONFIG_REDWOOD=3Dy
+# CONFIG_YOSEMITE is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=3Dy
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_460SX=3Dy
+# CONFIG_IPIC is not set
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+CONFIG_TICK_ONESHOT=3Dy
+CONFIG_NO_HZ=3Dy
+CONFIG_HIGH_RES_TIMERS=3Dy
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=3Dy
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=3Dy
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=3D250
+CONFIG_SCHED_HRTICK=3Dy
+CONFIG_PREEMPT_NONE=3Dy
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=3Dy
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_PPC_NEED_DMA_SYNC_OPS=3Dy
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=3Dy
+CONFIG_ARCH_HAS_WALK_MEMORY=3Dy
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=3Dy
+CONFIG_ARCH_FLATMEM_ENABLE=3Dy
+CONFIG_ARCH_POPULATES_NODE_MAP=3Dy
+CONFIG_SELECT_MEMORY_MODEL=3Dy
+CONFIG_FLATMEM_MANUAL=3Dy
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=3Dy
+CONFIG_FLAT_NODE_MEM_MAP=3Dy
+CONFIG_PAGEFLAGS_EXTENDED=3Dy
+CONFIG_SPLIT_PTLOCK_CPUS=3D4
+CONFIG_MIGRATION=3Dy
+CONFIG_PHYS_ADDR_T_64BIT=3Dy
+CONFIG_ZONE_DMA_FLAG=3D1
+CONFIG_BOUNCE=3Dy
+CONFIG_VIRT_TO_BUS=3Dy
+CONFIG_UNEVICTABLE_LRU=3Dy
+CONFIG_PPC_4K_PAGES=3Dy
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=3D11
+CONFIG_PROC_DEVICETREE=3Dy
+CONFIG_CMDLINE_BOOL=3Dy
+CONFIG_CMDLINE=3D""
+CONFIG_EXTRA_TARGETS=3D""
+CONFIG_SECCOMP=3Dy
+CONFIG_ISA_DMA_API=3Dy
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=3Dy
+CONFIG_PPC_INDIRECT_PCI=3Dy
+CONFIG_4xx_SOC=3Dy
+CONFIG_PPC_PCI_CHOICE=3Dy
+CONFIG_PCI=3Dy
+CONFIG_PCI_DOMAINS=3Dy
+CONFIG_PCI_SYSCALL=3Dy
+CONFIG_PCIEPORTBUS=3Dy
+CONFIG_PCIEAER=3Dy
+# CONFIG_PCIEASPM is not set
+CONFIG_ARCH_SUPPORTS_MSI=3Dy
+# CONFIG_PCI_MSI is not set
+CONFIG_PCI_LEGACY=3Dy
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_LOWMEM_SIZE=3D0x30000000
+CONFIG_PAGE_OFFSET=3D0xc0000000
+CONFIG_KERNEL_START=3D0xc0000000
+CONFIG_PHYSICAL_START=3D0x00000000
+CONFIG_TASK_SIZE=3D0xc0000000
+CONFIG_CONSISTENT_START=3D0xff100000
+CONFIG_CONSISTENT_SIZE=3D0x00200000
+CONFIG_NET=3Dy
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=3Dy
+CONFIG_PACKET=3Dy
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=3Dy
+# CONFIG_NET_KEY is not set
+CONFIG_INET=3Dy
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=3Dy
+CONFIG_IP_PNP=3Dy
+CONFIG_IP_PNP_DHCP=3Dy
+CONFIG_IP_PNP_BOOTP=3Dy
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=3Dy
+CONFIG_INET_TCP_DIAG=3Dy
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=3Dy
+CONFIG_DEFAULT_TCP_CONG=3D"cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=3Dy
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_OLD_REGULATORY=3Dy
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_LIB80211 is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=3D"/sbin/hotplug"
+CONFIG_STANDALONE=3Dy
+CONFIG_PREVENT_FIRMWARE_BUILD=3Dy
+CONFIG_FW_LOADER=3Dy
+CONFIG_FIRMWARE_IN_KERNEL=3Dy
+CONFIG_EXTRA_FIRMWARE=3D""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=3Dy
+CONFIG_PROC_EVENTS=3Dy
+CONFIG_MTD=3Dy
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=3Dy
+CONFIG_MTD_PARTITIONS=3Dy
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=3Dy
+CONFIG_MTD_OF_PARTS=3Dy
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=3Dy
+CONFIG_MTD_BLKDEVS=3Dy
+CONFIG_MTD_BLOCK=3Dy
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=3Dy
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=3Dy
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=3Dy
+CONFIG_MTD_MAP_BANK_WIDTH_2=3Dy
+CONFIG_MTD_MAP_BANK_WIDTH_4=3Dy
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=3Dy
+CONFIG_MTD_CFI_I2=3Dy
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=3Dy
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=3Dy
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP_OF=3Dy
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_QINFO_PROBE is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_OF_DEVICE=3Dy
+CONFIG_OF_I2C=3Dy
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=3Dy
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=3Dy
+CONFIG_BLK_DEV_RAM_COUNT=3D16
+CONFIG_BLK_DEV_RAM_SIZE=3D35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=3Dy
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=3Dy
+CONFIG_SCSI_DMA=3Dy
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=3Dy
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=3Dy
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+CONFIG_CHR_DEV_SG=3Dy
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=3Dm
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+CONFIG_SCSI_SAS_ATTRS=3Dy
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=3Dy
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_LIBFC is not set
+# CONFIG_FCOE is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_FUSION=3Dy
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+CONFIG_FUSION_SAS=3Dy
+CONFIG_FUSION_MAX_SGE=3D128
+# CONFIG_FUSION_CTL is not set
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# Enable only one of the two stacks, unless you know what you are doing
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=3Dy
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=3Dy
+CONFIG_I2O_EXT_ADAPTEC=3Dy
+# CONFIG_I2O_CONFIG is not set
+# CONFIG_I2O_BUS is not set
+# CONFIG_I2O_BLOCK is not set
+# CONFIG_I2O_SCSI is not set
+# CONFIG_I2O_PROC is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=3Dy
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=3Dy
+# CONFIG_MII is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_IBM_NEW_EMAC=3Dy
+CONFIG_IBM_NEW_EMAC_RXB=3D256
+CONFIG_IBM_NEW_EMAC_TXB=3D256
+CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=3D32
+CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=3D256
+CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=3D0
+CONFIG_IBM_NEW_EMAC_DEBUG=3Dy
+CONFIG_IBM_NEW_EMAC_ZMII=3Dy
+CONFIG_IBM_NEW_EMAC_RGMII=3Dy
+CONFIG_IBM_NEW_EMAC_TAH=3Dy
+CONFIG_IBM_NEW_EMAC_EMAC4=3Dy
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_B44 is not set
+# CONFIG_ATL2 is not set
+CONFIG_NETDEV_1000=3Dy
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+CONFIG_E1000E=3Dy
+# CONFIG_IP1000 is not set
+# CONFIG_IGB is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_JME is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_IWLWIFI_LEDS is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+CONFIG_DEVKMEM=3Dy
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=3Dy
+CONFIG_SERIAL_8250_CONSOLE=3Dy
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_NR_UARTS=3D1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=3D1
+CONFIG_SERIAL_8250_EXTENDED=3Dy
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=3Dy
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=3Dy
+CONFIG_SERIAL_CORE_CONSOLE=3Dy
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_OF_PLATFORM=3Dy
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+CONFIG_UNIX98_PTYS=3Dy
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=3Dy
+CONFIG_LEGACY_PTY_COUNT=3D256
+# CONFIG_HVC_UDBG is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=3Dy
+CONFIG_I2C=3Dy
+CONFIG_I2C_BOARDINFO=3Dy
+CONFIG_I2C_CHARDEV=3Dy
+CONFIG_I2C_HELPER_AUTO=3Dy
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_IBM_IIC=3Dy
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Graphics adapter I2C/DDC channel drivers
+#
+# CONFIG_I2C_VOODOO3 is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_AT24 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+CONFIG_I2C_DEBUG_CORE=3Dy
+CONFIG_I2C_DEBUG_ALGO=3Dy
+CONFIG_I2C_DEBUG_BUS=3Dy
+CONFIG_I2C_DEBUG_CHIP=3Dy
+# CONFIG_SPI is not set
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=3Dy
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=3Dy
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_REGULATOR is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_VIDEO_MEDIA is not set
+
+#
+# Multimedia drivers
+#
+CONFIG_DAB=3Dy
+
+#
+# Graphics support
+#
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=3Dm
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_SOUND is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_UWB is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+# CONFIG_RTC_CLASS is not set
+CONFIG_DMADEVICES=3Dy
+
+#
+# DMA Devices
+#
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=3Dy
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=3Dy
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=3Dy
+CONFIG_INOTIFY=3Dy
+CONFIG_INOTIFY_USER=3Dy
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=3Dy
+CONFIG_PROC_KCORE=3Dy
+CONFIG_PROC_SYSCTL=3Dy
+CONFIG_PROC_PAGE_MONITOR=3Dy
+CONFIG_SYSFS=3Dy
+CONFIG_TMPFS=3Dy
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=3Dy
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+CONFIG_CRAMFS=3Dy
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=3Dy
+CONFIG_NFS_FS=3Dy
+CONFIG_NFS_V3=3Dy
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=3Dy
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=3Dy
+CONFIG_LOCKD_V4=3Dy
+CONFIG_NFS_COMMON=3Dy
+CONFIG_SUNRPC=3Dy
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=3Dy
+# CONFIG_NLS is not set
+# CONFIG_DLM is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=3Dy
+CONFIG_GENERIC_FIND_LAST_BIT=3Dy
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=3Dy
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=3Dy
+CONFIG_PLIST=3Dy
+CONFIG_HAS_IOMEM=3Dy
+CONFIG_HAS_IOPORT=3Dy
+CONFIG_HAS_DMA=3Dy
+CONFIG_HAVE_LMB=3Dy
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=3Dy
+CONFIG_ENABLE_MUST_CHECK=3Dy
+CONFIG_FRAME_WARN=3D1024
+CONFIG_MAGIC_SYSRQ=3Dy
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=3Dy
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=3Dy
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=3Dy
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=3D0
+CONFIG_SCHED_DEBUG=3Dy
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=3Dy
+CONFIG_HAVE_FUNCTION_TRACER=3Dy
+CONFIG_HAVE_DYNAMIC_FTRACE=3Dy
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=3Dy
+
+#
+# Tracers
+#
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=3Dy
+# CONFIG_KGDB is not set
+CONFIG_PRINT_STACK_DEPTH=3D64
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_IRQSTACKS is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=3Dy
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=3Dy
+CONFIG_CRYPTO_ALGAPI2=3Dy
+CONFIG_CRYPTO_AEAD=3Dy
+CONFIG_CRYPTO_AEAD2=3Dy
+CONFIG_CRYPTO_BLKCIPHER=3Dy
+CONFIG_CRYPTO_BLKCIPHER2=3Dy
+CONFIG_CRYPTO_HASH=3Dy
+CONFIG_CRYPTO_HASH2=3Dy
+CONFIG_CRYPTO_RNG=3Dy
+CONFIG_CRYPTO_RNG2=3Dy
+CONFIG_CRYPTO_MANAGER=3Dy
+CONFIG_CRYPTO_MANAGER2=3Dy
+CONFIG_CRYPTO_GF128MUL=3Dy
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_CRYPTD=3Dy
+CONFIG_CRYPTO_AUTHENC=3Dy
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=3Dy
+CONFIG_CRYPTO_GCM=3Dy
+CONFIG_CRYPTO_SEQIV=3Dy
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=3Dy
+CONFIG_CRYPTO_CTR=3Dy
+CONFIG_CRYPTO_CTS=3Dy
+CONFIG_CRYPTO_ECB=3Dy
+CONFIG_CRYPTO_LRW=3Dy
+CONFIG_CRYPTO_PCBC=3Dy
+CONFIG_CRYPTO_XTS=3Dy
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=3Dy
+CONFIG_CRYPTO_XCBC=3Dy
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+CONFIG_CRYPTO_MD4=3Dy
+CONFIG_CRYPTO_MD5=3Dy
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=3Dy
+CONFIG_CRYPTO_SHA256=3Dy
+CONFIG_CRYPTO_SHA512=3Dy
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=3Dy
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=3Dy
+CONFIG_CRYPTO_BLOWFISH=3Dy
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=3Dy
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=3Dy
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/kernel/cpu_setup_44x.S=20
b/arch/powerpc/kernel/cpu_setup_44x.S
index 10b4ab1..7d606f8 100644
--- a/arch/powerpc/kernel/cpu_setup_44x.S
+++ b/arch/powerpc/kernel/cpu_setup_44x.S
@@ -34,6 +34,7 @@ _GLOBAL(__setup_cpu_440grx)
 	blr
 _GLOBAL(__setup_cpu_460ex)
 _GLOBAL(__setup_cpu_460gt)
+_GLOBAL(__setup_cpu_460sx)
 	mflr	r4
 	bl	__init_fpu_44x
 	bl	__fixup_440A_mcheck
diff --git a/arch/powerpc/kernel/cputable.c=20
b/arch/powerpc/kernel/cputable.c
index 923f87a..5c40da4 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -43,6 +43,7 @@ extern void __setup_cpu_440spe(unsigned long offset,=20
struct cpu_spec* spec);
 extern void __setup_cpu_440x5(unsigned long offset, struct cpu_spec*=20
spec);
 extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec*=20
spec);
 extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec*=20
spec);
+extern void __setup_cpu_460sx(unsigned long offset, struct cpu_spec=20
*spec);
 extern void __setup_cpu_603(unsigned long offset, struct cpu_spec*
spec);
 extern void __setup_cpu_604(unsigned long offset, struct cpu_spec*
spec);
 extern void __setup_cpu_750(unsigned long offset, struct cpu_spec*
spec);
@@ -1634,6 +1635,18 @@ static struct cpu_spec __initdata cpu_specs[] =3D =
{
 		.machine_check		=3D machine_check_440A,
 		.platform		=3D "ppc440",
 	},
+	{ /* 460SX */
+		.pvr_mask		=3D 0xffffff00,
+		.pvr_value		=3D 0x13541800,
+		.cpu_name		=3D "460SX",
+		.cpu_features		=3D CPU_FTRS_44X,
+		.cpu_user_features	=3D COMMON_USER_BOOKE,
+		.icache_bsize		=3D 32,
+		.dcache_bsize		=3D 32,
+		.cpu_setup		=3D __setup_cpu_460sx,
+		.machine_check		=3D machine_check_440A,
+		.platform		=3D "ppc440",
+	},
 	{	/* default match */
 		.pvr_mask		=3D 0x00000000,
 		.pvr_value		=3D 0x00000000,
diff --git a/arch/powerpc/platforms/44x/Kconfig=20
b/arch/powerpc/platforms/44x/Kconfig
index 3496bc0..bf5c7ff 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -118,6 +118,17 @@ config GLACIER
 	help
 	  This option enables support for the AMCC PPC460GT evaluation
board.

+config REDWOOD
+	bool "Redwood"
+	depends on 44x
+	default n
+	select PPC44x_SIMPLE
+	select 460SX
+	select PCI
+	select PPC4xx_PCI_EXPRESS
+	help
+	  This option enables support for the AMCC PPC460SX Redwood
board.
+
 config YOSEMITE
 	bool "Yosemite"
 	depends on 44x
@@ -220,6 +231,14 @@ config 460EX
 	select IBM_NEW_EMAC_EMAC4
 	select IBM_NEW_EMAC_TAH

+config 460SX
+	bool
+	select PPC_FPU
+	select IBM_NEW_EMAC_EMAC4
+	select IBM_NEW_EMAC_RGMII
+	select IBM_NEW_EMAC_ZMII
+	select IBM_NEW_EMAC_TAH
+
 # 44x errata/workaround config symbols, selected by the CPU models
above
 config IBM440EP_ERR42
 	bool
diff --git a/arch/powerpc/platforms/44x/ppc44x_simple.c=20
b/arch/powerpc/platforms/44x/ppc44x_simple.c
index 76fdc51..5bcd441 100644
--- a/arch/powerpc/platforms/44x/ppc44x_simple.c
+++ b/arch/powerpc/platforms/44x/ppc44x_simple.c
@@ -57,6 +57,7 @@ static char *board[] __initdata =3D {
 	"ibm,ebony",
 	"amcc,katmai",
 	"amcc,rainier",
+	"amcc,redwood",
 	"amcc,sequoia",
 	"amcc,taishan",
 	"amcc,yosemite"
--=20
1.5.5
--------------------------------------------------------

CONFIDENTIALITY NOTICE: This e-mail message, including any attachments,
is=20
for the sole use of the intended recipient(s) and contains information=20
that is confidential and proprietary to Applied Micro Circuits
Corporation=20
or its subsidiaries. It is to be used solely for the purpose of
furthering=20
the parties' business relationship. All unauthorized review, use,=20
disclosure or distribution is prohibited. If you are not the intended=20
recipient, please contact the sender by reply e-mail and destroy all=20
copies of the original message.



------------------------------

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

End of Linuxppc-dev Digest, Vol 53, Issue 168
*********************************************

^ permalink raw reply related

* toolchain for building linux-2.6.27.8 or 2.6.28.1  ...
From: Mike Timmons @ 2009-01-29 19:52 UTC (permalink / raw)
  To: linuxppc-dev

I wrote a couple days ago needing advice on USB wi fi. I made some 
progress but then I hit a snag loading the USB wi fi adapter firmware.

Jon schooled me on the firmware topic (thanks Jon), and advised me to 
select the following Kconfig options

Kconfig
Device drivers
  generic driver options
     user space firmware support
        check - include in-kernel firmware blobs in kernel binary


My 2.6.24 kernel didn't offer these options, and I also suspected that 
since 2.6.24 some progress on the ralink drivers I need has been made I 
figured I'd just try a new kernel build and try to get my 
ralink-equipped Linksys WUSB54GC to work.

Trouble:
-I was using  Ltib Toolchain (gcc-3.4.3-glibc-2.3.6 (for 603e)) to build 
my 2.6.24 kernel.
-It looks like somewhere after 2.6.24 this toolchain stopped 
successfully compiling the kernel.

So,
-I used crosstool and built 4.1.0 and 4.1.1 toolchains. Both produce the 
following error:

  OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so
objcopy: Unable to recognise the format of the input file 
`arch/powerpc/kernel/vdso32/vdso32.so.dbg'
make[3]: *** [arch/powerpc/kernel/vdso32/vdso32.so] Error 1
make[2]: *** [arch/powerpc/kernel/vdso32] Error 2


Questions:
1) if I want to cross-compile a kernel later than 2.6.24 to hopefully 
get better WAN device support (and clearer options for fw loading), 
which kernel should I try, and which toolchain?

the ltib repository does not appear to have a toolchain newer than  
gcc-3.4.3-glibc-2.3.6 (for 603e)

Admissions, disclaimers, etc
1) I'm using the same ltib script I have used for the 2.6.24 build with 
toolchain gcc-3.4.3-glibc-2.3.6 (for 603e).
I'm simply modifying the kernel spec file to use 2.6.28.1 (and specifyin 
a custom toolchain).
I've also tried to compile 2.6.27.8. I get the same error.


I think I'm slipping into version compatibility hell at this point. 
Please throw me a rope if you can by way of advice if you can.

Thanks!

-Mike

^ permalink raw reply

* [PATCH 1/1 v2] AMCC PPC 460SX redwood SoC platform initial framework
From: mmadishetty @ 2009-01-29 19:46 UTC (permalink / raw)
  To: linuxppc-dev
  Cc: Preetesh Parekh, Madhulika Madishetty, Feng Kan,
	Vidhyananth Venkatasamy, Tirumala Marri
In-Reply-To: <patch>

From: Madhulika Madishetty <mmadishetty@amcc.com>

This patch contains initial framework for the AMCC Redwood board.

Signed-off-by: Madhulika Madishetty <mmadishetty@amcc.com>
Signed-off-by: Tirumala Marri <tmarri@amcc.com>
Signed-off-by: Feng Kan <fkan@amcc.com>
Signed-off-by: Vidhyananth Venkatasamy <vvenkatasamy@amcc.com>
Signed-off-by: Preetesh Parekh <pparekh@amcc.com>
Acked-by: Loc Ho <lho@amcc.com>
Acked-by: Feng Kan <fkan@amcc.com>
---
 arch/powerpc/boot/dts/redwood.dts          |  245 ++++++
 arch/powerpc/configs/44x/redwood_defconfig | 1174 
++++++++++++++++++++++++++++
 arch/powerpc/kernel/cpu_setup_44x.S        |    1 +
 arch/powerpc/kernel/cputable.c             |   13 +
 arch/powerpc/platforms/44x/Kconfig         |   19 +
 arch/powerpc/platforms/44x/ppc44x_simple.c |    1 +
 6 files changed, 1453 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/redwood.dts
 create mode 100644 arch/powerpc/configs/44x/redwood_defconfig

diff --git a/arch/powerpc/boot/dts/redwood.dts 
b/arch/powerpc/boot/dts/redwood.dts
new file mode 100644
index 0000000..1c525ee
--- /dev/null
+++ b/arch/powerpc/boot/dts/redwood.dts
@@ -0,0 +1,245 @@
+/*
+ * Device Tree Source for AMCC Redwood(460SX)
+ *
+ * Copyright 2008 AMCC <tmarri@amcc.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without
+ * any warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+
+/ {
+	#address-cells = <2>;
+	#size-cells = <1>;
+	model = "amcc,redwood";
+	compatible = "amcc,redwood";
+	dcr-parent = <&{/cpus/cpu@0}>;
+
+	aliases {
+		ethernet0 = &EMAC0;
+		serial0 = &UART0;
+	};
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		cpu@0 {
+			device_type = "cpu";
+			model = "PowerPC,460SX";
+			reg = <0x00000000>;
+			clock-frequency = <0>; /* Filled in by U-Boot */
+			timebase-frequency = <0>; /* Filled in by U-Boot */
+			i-cache-line-size = <32>;
+			d-cache-line-size = <32>;
+			i-cache-size = <32768>;
+			d-cache-size = <32768>;
+			dcr-controller;
+			dcr-access-method = "native";
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by U-Boot */
+	};
+
+	UIC0: interrupt-controller0 {
+		compatible = "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index = <0>;
+		dcr-reg = <0x0c0 0x009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+	};
+
+	UIC1: interrupt-controller1 {
+		compatible = "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index = <1>;
+		dcr-reg = <0x0d0 0x009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+		interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
+		interrupt-parent = <&UIC0>;
+	};
+
+	UIC2: interrupt-controller2 {
+		compatible = "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index = <2>;
+		dcr-reg = <0x0e0 0x009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+		interrupts = <0xa 0x4 0xb 0x4>; /* cascade */
+		interrupt-parent = <&UIC0>;
+	};
+
+	UIC3: interrupt-controller3 {
+		compatible = "ibm,uic-460sx","ibm,uic";
+		interrupt-controller;
+		cell-index = <3>;
+		dcr-reg = <0x0f0 0x009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+		interrupts = <0x10 0x4 0x11 0x4>; /* cascade */
+		interrupt-parent = <&UIC0>;
+	};
+
+	SDR0: sdr {
+		compatible = "ibm,sdr-460sx";
+		dcr-reg = <0x00e 0x002>;
+	};
+
+	CPR0: cpr {
+		compatible = "ibm,cpr-460sx";
+		dcr-reg = <0x00c 0x002>;
+	};
+
+	plb {
+		compatible = "ibm,plb-460sx", "ibm,plb4";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		ranges;
+		clock-frequency = <0>; /* Filled in by U-Boot */
+
+		SDRAM0: sdram {
+			compatible = "ibm,sdram-460sx", "ibm,sdram-405gp";
+			dcr-reg = <0x010 0x002>;
+		};
+
+		MAL0: mcmal {
+			compatible = "ibm,mcmal-460sx", "ibm,mcmal2";
+			dcr-reg = <0x180 0x62>;
+			num-tx-chans = <4>;
+			num-rx-chans = <32>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			interrupt-parent = <&UIC1>;
+			interrupts = <	/*TXEOB*/ 0x6 0x4
+					/*RXEOB*/ 0x7 0x4
+					/*SERR*/  0x1 0x4
+					/*TXDE*/  0x2 0x4
+					/*RXDE*/  0x3 0x4
+					/*COAL TX0*/ 0x18 0x2
+					/*COAL TX1*/ 0x19 0x2
+					/*COAL TX2*/ 0x1a 0x2
+					/*COAL TX3*/ 0x1b 0x2
+					/*COAL RX0*/ 0x1c 0x2
+					/*COAL RX1*/ 0x1d 0x2
+					/*COAL RX2*/ 0x1e 0x2
+					/*COAL RX3*/ 0x1f 0x2>;
+		};
+
+		POB0: opb {
+			compatible = "ibm,opb-460sx", "ibm,opb";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0xb0000000 0x00000004 0xb0000000 0x50000000>;
+			clock-frequency = <0>; /* Filled in by U-Boot */
+
+			EBC0: ebc {
+				compatible = "ibm,ebc-460sx", "ibm,ebc";
+				dcr-reg = <0x012 0x002>;
+				#address-cells = <2>;
+				#size-cells = <1>;
+				clock-frequency = <0>; /* Filled in by U-Boot */
+				/* ranges property is supplied by U-Boot */
+				interrupts = <0x6 0x4>;
+				interrupt-parent = <&UIC1>;
+
+				nor_flash@0,0 {
+					compatible = "amd,s29gl512n", "cfi-flash";
+					bank-width = <2>;
+					reg = <0x0000000 0x00000000 0x04000000>;
+					#address-cells = <1>;
+					#size-cells = <1>;
+					partition@0 {
+						label = "kernel";
+						reg = <0x00000000 0x001e0000>;
+					};
+					partition@1e0000 {
+						label = "dtb";
+						reg = <0x001e0000 0x00020000>;
+					};
+					partition@200000 {
+						label = "ramdisk";
+						reg = <0x00200000 0x01400000>;
+					};
+					partition@1600000 {
+						label = "jffs2";
+						reg = <0x01600000 0x00400000>;
+					};
+					partition@1a00000 {
+						label = "user";
+						reg = <0x01a00000 0x02560000>;
+					};
+					partition@3f60000 {
+						label = "env";
+						reg = <0x03f60000 0x00040000>;
+					};
+					partition@3fa0000 {
+						label = "u-boot";
+						reg = <0x03fa0000 0x00060000>;
+					};
+				};
+			};
+
+			UART0: serial@ef600200 {
+				device_type = "serial";
+				compatible = "ns16550";
+				reg = <0xef600200 0x00000008>;
+				virtual-reg = <0xef600200>;
+				clock-frequency = <0>; /* Filled in by U-Boot */
+				current-speed = <0>; /* Filled in by U-Boot */
+				interrupt-parent = <&UIC0>;
+				interrupts = <0x0 0x4>;
+			};
+
+			RGMII0: emac-rgmii@ef600900 {
+				compatible = "ibm,rgmii-460sx", "ibm,rgmii";
+				reg = <0xef600900 0x00000008>;
+			};
+
+			EMAC0: ethernet@ef600a00 {
+				device_type = "network";
+				compatible = "ibm,emac-460sx", "ibm,emac4";
+				interrupt-parent = <&EMAC0>;
+				interrupts = <0x0 0x1>;
+				#interrupt-cells = <1>;
+				#address-cells = <0>;
+				#size-cells = <0>;
+				interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4
+						 /*Wake*/   0x1 &UIC2 0x1d 0x4>;
+				reg = <0xef600a00 0x00000070>;
+				local-mac-address = [000000000000]; /* Filled in by U-Boot */
+				mal-device = <&MAL0>;
+				mal-tx-channel = <0>;
+				mal-rx-channel = <0>;
+				cell-index = <0>;
+				max-frame-size = <9000>;
+				rx-fifo-size = <4096>;
+				tx-fifo-size = <2048>;
+				phy-mode = "rgmii";
+				phy-map = <0x00000000>;
+				rgmii-device = <&RGMII0>;
+				rgmii-channel = <0>;
+				has-inverted-stacr-oc;
+				has-new-stacr-staopc;
+			};
+
+		};
+
+	};
+	chosen {
+		linux,stdout-path = "/plb/opb/serial@ef600200";
+	};
+
+};
diff --git a/arch/powerpc/configs/44x/redwood_defconfig 
b/arch/powerpc/configs/44x/redwood_defconfig
new file mode 100644
index 0000000..1a3f8c9
--- /dev/null
+++ b/arch/powerpc/configs/44x/redwood_defconfig
@@ -0,0 +1,1174 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.29-rc1
+# Fri Jan 16 17:41:30 2009
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_6xx is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=y
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+CONFIG_PPC_MMU_NOHASH=y
+# CONFIG_PPC_MM_SLICES is not set
+CONFIG_NOT_COHERENT_CACHE=y
+CONFIG_PPC32=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_HARDIRQS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+CONFIG_IRQ_PER_CPU=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_GROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+# CONFIG_FREEZER is not set
+CONFIG_PPC4xx_PCI_EXPRESS=y
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_BAMBOO is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+# CONFIG_CANYONLANDS is not set
+# CONFIG_GLACIER is not set
+CONFIG_REDWOOD=y
+# CONFIG_YOSEMITE is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_460SX=y
+# CONFIG_IPIC is not set
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+# CONFIG_SIMPLE_GPIO is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_PPC_NEED_DMA_SYNC_OPS=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_PROC_DEVICETREE=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_EXTRA_TARGETS=""
+CONFIG_SECCOMP=y
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+CONFIG_PPC_INDIRECT_PCI=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIEASPM is not set
+CONFIG_ARCH_SUPPORTS_MSI=y
+# CONFIG_PCI_MSI is not set
+CONFIG_PCI_LEGACY=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET=0xc0000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE=0xc0000000
+CONFIG_CONSISTENT_START=0xff100000
+CONFIG_CONSISTENT_SIZE=0x00200000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=y
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_OLD_REGULATORY=y
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_LIB80211 is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# CONFIG_MTD_QINFO_PROBE is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+CONFIG_SCSI_SAS_ATTRS=y
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_LIBFC is not set
+# CONFIG_FCOE is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_FUSION=y
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+CONFIG_FUSION_SAS=y
+CONFIG_FUSION_MAX_SGE=128
+# CONFIG_FUSION_CTL is not set
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# Enable only one of the two stacks, unless you know what you are doing
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+CONFIG_I2O=y
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+# CONFIG_I2O_CONFIG is not set
+# CONFIG_I2O_BUS is not set
+# CONFIG_I2O_BLOCK is not set
+# CONFIG_I2O_SCSI is not set
+# CONFIG_I2O_PROC is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+# CONFIG_MII is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_IBM_NEW_EMAC=y
+CONFIG_IBM_NEW_EMAC_RXB=256
+CONFIG_IBM_NEW_EMAC_TXB=256
+CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
+CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
+CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
+CONFIG_IBM_NEW_EMAC_DEBUG=y
+CONFIG_IBM_NEW_EMAC_ZMII=y
+CONFIG_IBM_NEW_EMAC_RGMII=y
+CONFIG_IBM_NEW_EMAC_TAH=y
+CONFIG_IBM_NEW_EMAC_EMAC4=y
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_B44 is not set
+# CONFIG_ATL2 is not set
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+CONFIG_E1000E=y
+# CONFIG_IP1000 is not set
+# CONFIG_IGB is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_JME is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_IWLWIFI_LEDS is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_NR_UARTS=1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=1
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_OF_PLATFORM=y
+# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_HVC_UDBG is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_IBM_IIC=y
+# CONFIG_I2C_MPC is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+
+#
+# Graphics adapter I2C/DDC channel drivers
+#
+# CONFIG_I2C_VOODOO3 is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_AT24 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+CONFIG_I2C_DEBUG_CORE=y
+CONFIG_I2C_DEBUG_ALGO=y
+CONFIG_I2C_DEBUG_BUS=y
+CONFIG_I2C_DEBUG_CHIP=y
+# CONFIG_SPI is not set
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_REGULATOR is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_VIDEO_MEDIA is not set
+
+#
+# Multimedia drivers
+#
+CONFIG_DAB=y
+
+#
+# Graphics support
+#
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_SOUND is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_UWB is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+# CONFIG_RTC_CLASS is not set
+CONFIG_DMADEVICES=y
+
+#
+# DMA Devices
+#
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+CONFIG_CRAMFS=y
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+# CONFIG_DLM is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_HAVE_LMB=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+
+#
+# Tracers
+#
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_PRINT_STACK_DEPTH=64
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_IRQSTACKS is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_SEQIV=y
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_PCBC=y
+CONFIG_CRYPTO_XTS=y
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=y
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=y
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff --git a/arch/powerpc/kernel/cpu_setup_44x.S 
b/arch/powerpc/kernel/cpu_setup_44x.S
index 10b4ab1..7d606f8 100644
--- a/arch/powerpc/kernel/cpu_setup_44x.S
+++ b/arch/powerpc/kernel/cpu_setup_44x.S
@@ -34,6 +34,7 @@ _GLOBAL(__setup_cpu_440grx)
 	blr
 _GLOBAL(__setup_cpu_460ex)
 _GLOBAL(__setup_cpu_460gt)
+_GLOBAL(__setup_cpu_460sx)
 	mflr	r4
 	bl	__init_fpu_44x
 	bl	__fixup_440A_mcheck
diff --git a/arch/powerpc/kernel/cputable.c 
b/arch/powerpc/kernel/cputable.c
index 923f87a..5c40da4 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -43,6 +43,7 @@ extern void __setup_cpu_440spe(unsigned long offset, 
struct cpu_spec* spec);
 extern void __setup_cpu_440x5(unsigned long offset, struct cpu_spec* 
spec);
 extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* 
spec);
 extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* 
spec);
+extern void __setup_cpu_460sx(unsigned long offset, struct cpu_spec 
*spec);
 extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
 extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
 extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
@@ -1634,6 +1635,18 @@ static struct cpu_spec __initdata cpu_specs[] = {
 		.machine_check		= machine_check_440A,
 		.platform		= "ppc440",
 	},
+	{ /* 460SX */
+		.pvr_mask		= 0xffffff00,
+		.pvr_value		= 0x13541800,
+		.cpu_name		= "460SX",
+		.cpu_features		= CPU_FTRS_44X,
+		.cpu_user_features	= COMMON_USER_BOOKE,
+		.icache_bsize		= 32,
+		.dcache_bsize		= 32,
+		.cpu_setup		= __setup_cpu_460sx,
+		.machine_check		= machine_check_440A,
+		.platform		= "ppc440",
+	},
 	{	/* default match */
 		.pvr_mask		= 0x00000000,
 		.pvr_value		= 0x00000000,
diff --git a/arch/powerpc/platforms/44x/Kconfig 
b/arch/powerpc/platforms/44x/Kconfig
index 3496bc0..bf5c7ff 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -118,6 +118,17 @@ config GLACIER
 	help
 	  This option enables support for the AMCC PPC460GT evaluation board.

+config REDWOOD
+	bool "Redwood"
+	depends on 44x
+	default n
+	select PPC44x_SIMPLE
+	select 460SX
+	select PCI
+	select PPC4xx_PCI_EXPRESS
+	help
+	  This option enables support for the AMCC PPC460SX Redwood board.
+
 config YOSEMITE
 	bool "Yosemite"
 	depends on 44x
@@ -220,6 +231,14 @@ config 460EX
 	select IBM_NEW_EMAC_EMAC4
 	select IBM_NEW_EMAC_TAH

+config 460SX
+	bool
+	select PPC_FPU
+	select IBM_NEW_EMAC_EMAC4
+	select IBM_NEW_EMAC_RGMII
+	select IBM_NEW_EMAC_ZMII
+	select IBM_NEW_EMAC_TAH
+
 # 44x errata/workaround config symbols, selected by the CPU models above
 config IBM440EP_ERR42
 	bool
diff --git a/arch/powerpc/platforms/44x/ppc44x_simple.c 
b/arch/powerpc/platforms/44x/ppc44x_simple.c
index 76fdc51..5bcd441 100644
--- a/arch/powerpc/platforms/44x/ppc44x_simple.c
+++ b/arch/powerpc/platforms/44x/ppc44x_simple.c
@@ -57,6 +57,7 @@ static char *board[] __initdata = {
 	"ibm,ebony",
 	"amcc,katmai",
 	"amcc,rainier",
+	"amcc,redwood",
 	"amcc,sequoia",
 	"amcc,taishan",
 	"amcc,yosemite"
-- 
1.5.5
--------------------------------------------------------

CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is 
for the sole use of the intended recipient(s) and contains information 
that is confidential and proprietary to Applied Micro Circuits Corporation 
or its subsidiaries. It is to be used solely for the purpose of furthering 
the parties' business relationship. All unauthorized review, use, 
disclosure or distribution is prohibited. If you are not the intended 
recipient, please contact the sender by reply e-mail and destroy all 
copies of the original message.

^ permalink raw reply related

* Re: [PATCH] add gpio to mpc837X rdb
From: Kumar Gala @ 2009-01-29 19:23 UTC (permalink / raw)
  To: avorontsov; +Cc: linuxppc-dev list, Reynes Philippe
In-Reply-To: <20090129192031.GA17060@oksana.dev.rtsoft.ru>


On Jan 29, 2009, at 1:20 PM, Anton Vorontsov wrote:

> On Thu, Jan 29, 2009 at 06:37:15PM +0100, Reynes Philippe wrote:
>> Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
>> ---
>> diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts
>> b/arch/powerpc/boot/dts/mpc8377_rdb.dts
>> index 165463f..45c9f03 100644
>> --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
>> +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
>> @@ -109,6 +109,24 @@
>> 			reg = <0x200 0x100>;
>> 		};
>>
>> +		gpio1: gpio-controller@c00 {
>> +			#gpio-cells = <2>;
>> +			compatible = "fsl,mpc8347-gpio",
>
> I think this should be "fsl,mpc8377-gpio", "fsl,mpc8349-gpio".
>
> [...]
>> --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
>> +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
>> @@ -109,6 +109,24 @@
>> 			reg = <0x200 0x100>;
>> 		};
>>
>> +		gpio1: gpio-controller@c00 {
>> +			#gpio-cells = <2>;
>> +			compatible = "fsl,mpc8347-gpio",
>> "fsl,mpc8349-gpio";
>
> "fsl,mpc8378-gpio", "fsl,mpc8349-gpio".
>
> [...]
>> --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
>> +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
>> @@ -107,6 +107,24 @@
>> 			reg = <0x200 0x100>;
>> 		};
>>
>> +		gpio1: gpio-controller@c00 {
>> +			#gpio-cells = <2>;
>> +			compatible = "fsl,mpc8347-gpio",
>> "fsl,mpc8349-gpio";
>
> "fsl,mpc8379-gpio", "fsl,mpc8349-gpio".

Agreed w/Anton here.

- k

^ permalink raw reply

* Re: [PATCH] add gpio to mpc837X rdb
From: Anton Vorontsov @ 2009-01-29 19:20 UTC (permalink / raw)
  To: Reynes Philippe; +Cc: linuxppc-dev list, Kumar Gala
In-Reply-To: <761F451C5F17F74DAEE4661DA5ABBC1616C448@factorix.ISISTHIBAUD.local>

On Thu, Jan 29, 2009 at 06:37:15PM +0100, Reynes Philippe wrote:
> Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
> ---
> diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts
> b/arch/powerpc/boot/dts/mpc8377_rdb.dts
> index 165463f..45c9f03 100644
> --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
> +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
> @@ -109,6 +109,24 @@
>  			reg = <0x200 0x100>;
>  		};
>  
> +		gpio1: gpio-controller@c00 {
> +			#gpio-cells = <2>;
> +			compatible = "fsl,mpc8347-gpio",

I think this should be "fsl,mpc8377-gpio", "fsl,mpc8349-gpio".

[...]
> --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
> +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
> @@ -109,6 +109,24 @@
>  			reg = <0x200 0x100>;
>  		};
>  
> +		gpio1: gpio-controller@c00 {
> +			#gpio-cells = <2>;
> +			compatible = "fsl,mpc8347-gpio",
> "fsl,mpc8349-gpio";

"fsl,mpc8378-gpio", "fsl,mpc8349-gpio".

[...]
> --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
> +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
> @@ -107,6 +107,24 @@
>  			reg = <0x200 0x100>;
>  		};
>  
> +		gpio1: gpio-controller@c00 {
> +			#gpio-cells = <2>;
> +			compatible = "fsl,mpc8347-gpio",
> "fsl,mpc8349-gpio";

"fsl,mpc8379-gpio", "fsl,mpc8349-gpio".

Thanks,

-- 
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2

^ permalink raw reply

* Re: [PATCH] add gpio to mpc837X rdb
From: Peter Korsgaard @ 2009-01-29 19:17 UTC (permalink / raw)
  To: Reynes Philippe; +Cc: linuxppc-dev list, Kumar Gala
In-Reply-To: <761F451C5F17F74DAEE4661DA5ABBC1616C448@factorix.ISISTHIBAUD.local>

>>>>> "Reynes" == Reynes Philippe <philippe.reynes@isismpp.fr> writes:

Hi,

 Reynes> Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
 
 Reynes> +		gpio1: gpio-controller@c00 {
 Reynes> +			#gpio-cells = <2>;
 Reynes> +			compatible = "fsl,mpc8347-gpio",
 Reynes> "fsl,mpc8349-gpio";

The patch is wordwrapped, and you should use fsl,mpc8377-gpio, not
mpc8347 (E.G. <actual platform>, mpc8349)

-- 
Bye, Peter Korsgaard

^ permalink raw reply

* Re: [PATCH] add gpio to mpc837X rdb
From: Kumar Gala @ 2009-01-29 18:38 UTC (permalink / raw)
  To: Reynes Philippe; +Cc: linuxppc-dev list
In-Reply-To: <761F451C5F17F74DAEE4661DA5ABBC1616C448@factorix.ISISTHIBAUD.local>


On Jan 29, 2009, at 11:37 AM, Reynes Philippe wrote:

> Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
> ---
> diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts
> b/arch/powerpc/boot/dts/mpc8377_rdb.dts
> index 165463f..45c9f03 100644
> --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
> +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
> @@ -109,6 +109,24 @@
> 			reg = <0x200 0x100>;
> 		};
>
> +		gpio1: gpio-controller@c00 {
> +			#gpio-cells = <2>;
> +			compatible = "fsl,mpc8347-gpio",
> "fsl,mpc8349-gpio";
> +			reg = <0xc00 0x100>;
> +			interrupts = <74 0x8>;
> +			interrupt-parent = <&ipic>;
> +			gpio-controller;
> +		};
> +

seeing patch apply issues.. (line wrapping)

- k

^ permalink raw reply

* Re: [PATCH] ucc_geth: Change uec phy id to the same format as gianfar's
From: Kumar Gala @ 2009-01-29 18:42 UTC (permalink / raw)
  To: David Miller; +Cc: linuxppc-dev list, Haiying Wang, netdev
In-Reply-To: <1233254342-8435-1-git-send-email-Haiying.Wang@freescale.com>


On Jan 29, 2009, at 12:39 PM, Haiying Wang wrote:

> The commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 changes the  
> gianfar's phy id to
> the format like "mdio@xxxx:xx", but uec still uses the old format  
> like "xxxxxxxx:xx".
> For the board whose UEC uses gianfar-mdio like MPC8568MDS, the phy  
> can not be attached
> because of the incompatible phy id format. This patch changes uec's  
> phy id to the same
> format as gianfar's.
>
> Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
> ---
> drivers/net/ucc_geth.c           |   20 ++++++++++++++++++--
> drivers/net/ucc_geth.h           |    2 ++
> drivers/net/ucc_geth_mii.c       |   12 +++++++++++-
> drivers/net/ucc_geth_mii.h       |    1 +
> 4 files changed, 32 insertions(+), 3 deletions(-)

David,

Can you look at this for 2.6.29.

- k

^ permalink raw reply

* [PATCH] ucc_geth: Change uec phy id to the same format as gianfar's
From: Haiying Wang @ 2009-01-29 18:39 UTC (permalink / raw)
  To: linuxppc-dev, netdev; +Cc: Haiying Wang

The commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 changes the gianfar's phy id to
the format like "mdio@xxxx:xx", but uec still uses the old format like "xxxxxxxx:xx".
For the board whose UEC uses gianfar-mdio like MPC8568MDS, the phy can not be attached
because of the incompatible phy id format. This patch changes uec's phy id to the same
format as gianfar's.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
---
 drivers/net/ucc_geth.c           |   20 ++++++++++++++++++--
 drivers/net/ucc_geth.h           |    2 ++
 drivers/net/ucc_geth_mii.c       |   12 +++++++++++-
 drivers/net/ucc_geth_mii.h       |    1 +
 4 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 1144122..6ffeffa 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -1536,6 +1536,11 @@ static void adjust_link(struct net_device *dev)
 static int init_phy(struct net_device *dev)
 {
 	struct ucc_geth_private *priv = netdev_priv(dev);
+	struct device_node *np = priv->node;
+	struct device_node *phy, *mdio;
+	const phandle *ph;
+	char bus_name[MII_BUS_ID_SIZE];
+	const unsigned int *id;
 	struct phy_device *phydev;
 	char phy_id[BUS_ID_SIZE];
 
@@ -1543,9 +1548,19 @@ static int init_phy(struct net_device *dev)
 	priv->oldspeed = 0;
 	priv->oldduplex = -1;
 
-	snprintf(phy_id, sizeof(phy_id), PHY_ID_FMT, priv->ug_info->mdio_bus,
-		 priv->ug_info->phy_address);
+	ph = of_get_property(np, "phy-handle", NULL);
+	phy = of_find_node_by_phandle(*ph);
+	mdio = of_get_parent(phy);
+
+	id = of_get_property(phy, "reg", NULL);
+
+	of_node_put(phy);
+	of_node_put(mdio);
 
+	uec_mdio_bus_name(bus_name, mdio);
+	snprintf(phy_id, sizeof(phy_id), "%s:%02x",
+                                bus_name, *id);
+
 	phydev = phy_connect(dev, phy_id, &adjust_link, 0, priv->phy_interface);
 
 	if (IS_ERR(phydev)) {
@@ -3748,6 +3763,7 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
 
 	ugeth->ug_info = ug_info;
 	ugeth->dev = dev;
+	ugeth->node = np;
 
 	return 0;
 }
diff --git a/drivers/net/ucc_geth.h b/drivers/net/ucc_geth.h
index 8f699cb..16cbe42 100644
--- a/drivers/net/ucc_geth.h
+++ b/drivers/net/ucc_geth.h
@@ -1186,6 +1186,8 @@ struct ucc_geth_private {
 	int oldspeed;
 	int oldduplex;
 	int oldlink;
+
+	struct device_node *node;
 };
 
 void uec_set_ethtool_ops(struct net_device *netdev);
diff --git a/drivers/net/ucc_geth_mii.c b/drivers/net/ucc_geth_mii.c
index c001d26..5463591 100644
--- a/drivers/net/ucc_geth_mii.c
+++ b/drivers/net/ucc_geth_mii.c
@@ -156,7 +156,7 @@ static int uec_mdio_probe(struct of_device *ofdev, const struct of_device_id *ma
 	if (err)
 		goto reg_map_fail;
 
-	snprintf(new_bus->id, MII_BUS_ID_SIZE, "%x", res.start);
+	uec_mdio_bus_name(new_bus->id, np);
 
 	new_bus->irq = kmalloc(32 * sizeof(int), GFP_KERNEL);
 
@@ -283,3 +283,13 @@ void uec_mdio_exit(void)
 {
 	of_unregister_platform_driver(&uec_mdio_driver);
 }
+
+void uec_mdio_bus_name(char *name, struct device_node *np)
+{
+        const u32 *reg;
+
+        reg = of_get_property(np, "reg", NULL);
+
+        snprintf(name, MII_BUS_ID_SIZE, "%s@%x", np->name, reg ? *reg : 0);
+}
+
diff --git a/drivers/net/ucc_geth_mii.h b/drivers/net/ucc_geth_mii.h
index 1e45b20..840cf80 100644
--- a/drivers/net/ucc_geth_mii.h
+++ b/drivers/net/ucc_geth_mii.h
@@ -97,4 +97,5 @@ int uec_mdio_read(struct mii_bus *bus, int mii_id, int regnum);
 int uec_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value);
 int __init uec_mdio_init(void);
 void uec_mdio_exit(void);
+void uec_mdio_bus_name(char *name, struct device_node *np);
 #endif				/* __UEC_MII_H */
-- 
1.6.0.2

^ permalink raw reply related

* Re: [RFC/example] powerpc: add the mpic global timer support
From: Scott Wood @ 2009-01-29 17:54 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev, regis.odeye
In-Reply-To: <Pine.LNX.4.64.0901062200550.19321@blarg.am.freescale.net>

Kumar Gala wrote:
> +		timer@41100 {
> +			compatible = "fsl,mpic-global-timer";
> +			reg = <0x41100 0x204>;
> +			interrupts = <0xf7 0x2>;
> +			interrupt-parent = <&mpic>;
> +		};

Why is this a separate node from the MPIC?  Seems like it should at 
least be a child node, if not just implied by one of the compatibles on 
the mpic node.

> +static ssize_t mpic_tm_timeout_store(struct device *dev,
> +				struct device_attribute *attr,
> +				const char *buf, size_t count)
> +{
> +	struct mpic_tm_priv *priv = dev_get_drvdata(dev);
> +	unsigned long interval = simple_strtoul(buf, NULL, 0);
> +	unsigned long temp;
> +
> +	if (interval > 0x7fffffff) {
> +		dev_dbg(dev, "mpic_tm: interval %lu (in ns) too long\n", interval);
> +		return -EINVAL;
> +	}
> +
> +	interval *= priv->ticks_per_sec;

In nanoseconds, or seconds?

> +static DEVICE_ATTR(timeout, 0660, mpic_tm_timeout_show, mpic_tm_timeout_store);
> +
> +static int __devinit mpic_tm_probe(struct of_device *dev,
> +				const struct of_device_id *match)
> +{
> +	struct device_node *np = dev->node;
> +	struct resource res;
> +	struct mpic_tm_priv *priv;
> +	struct mpic_type *type = match->data;
> +	int has_tcr = type->has_tcr;
> +	u32 busfreq = fsl_get_sys_freq();
> +	int ret = 0;
> +
> +	if (busfreq == 0) {
> +		dev_err(&dev->dev, "mpic_tm: No bus frequency in device tree.\n");
> +		return -ENODEV;
> +	}

Maybe put clock-frequency in the timer (or mpic) node itself?

This seems to try to support non-FSL MPIC timers, but fsl_get_sys_freq() 
wouldn't be appropriate in such a case.

> +	priv = kmalloc(sizeof(struct mpic_tm_priv), GFP_KERNEL);
> +	if (!priv)
> +		return -ENOMEM;
> +
> +	spin_lock_init(&priv->lock);
> +	dev_set_drvdata(&dev->dev, priv);
> +
> +	ret = of_address_to_resource(np, 0, &res);
> +	if (ret)
> +		goto out;

of_iomap()?

> +	ret = request_irq(priv->irq, mpic_tm_isr, 0, "mpic timer 0", priv);
> +	if (ret)
> +		goto out;

Hardcoded zero in string?

> +	printk("MPIC global timer init done.\n");

KERN_DEBUG?

-Scott

^ permalink raw reply

* Re: [RFC/example] powerpc: add the mpic global timer support
From: Régis Odeyé @ 2009-01-29 17:47 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev
In-Reply-To: <Pine.LNX.4.64.0901062200550.19321@blarg.am.freescale.net>


Thanks for this.
Regards

Kumar Gala wrote:
> From: Dave Liu <daveliu@freescale.com>
>
> The mpic timer works as wake up source for power management,
> the max timer period is 336 seconds when the CCB freq is 400MHz.
>
> to setup timer, type
> echo 30 > /sys/devices/ffe00000.soc8572/ffe41100.timer/timeout
>
> before the system enter to sleep mode.
>
> Signed-off-by: Dave Liu <daveliu@freescale.com>
> ---
>
> Posting this both as a example of timer code for Regis as well as code for
> partial review.. need to clean up a number of things.
>
> - k
>   


-- 
Régis ODEYE

Kontron Modular Computers SA
150, rue M. Berthelot / ZI Toulon Est / BP 244 / Fr 83078 TOULON Cedex 9
Phone: (33) 4 98 16 34 86           Fax: (33) 4 98 16 34 01
E-mail: regis.odeye@kontron.com  Web : www.kontron.com

^ permalink raw reply

* Broken PCI on Sequoia
From: Geert Uytterhoeven @ 2009-01-29 17:37 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, Josh Boyer; +Cc: Linux/PPC Development

	Hi Ben, Josh,

I did some background bisecting to find out when PCI stopped working on the
AMCC EV-440EPX `Sequoia' Reference Board.

With ppc44x_defconfig + CONFIG_USB=y + CONFIG_USB_EHCI_HCD=y and a USB 2.0 PCI
card in one of the PCI slots, I get:

| ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
| ehci_hcd 0000:00:0a.2: enabling device (0000 -> 0002)
| ehci_hcd 0000:00:0a.2: EHCI Host Controller
| ehci_hcd 0000:00:0a.2: new USB bus registered, assigned bus number 1
| Machine check in kernel mode.
| Data Read PLB Error
| Oops: Machine check, sig: 7 [#1]
| PowerPC 44x Platform
| Modules linked in:
| NIP: c01acf24 LR: c019a2e0 CTR: c01ace34
| REGS: cfff7f10 TRAP: 0214   Not tainted  (2.6.29-rc3)
| MSR: 00029000 <EE,ME,CE>  CR: 28002224  XER: 20000000
| TASK = cf818400[1] 'swapper' THREAD: cf828000
| GPR00: 00000000 cf829d80 cf818400 cf9a8a00 0000002f 00000000 c024dd9c fffffffd 
| GPR08: 00000000 d10a8000 00000000 d10a8000 48002242 1001b1cc 0ffb2400 00000001 
| GPR16: 007fff13 00400458 00800000 ffffffff 007fff00 0ffadd68 00000000 00000001 
| GPR24: 00000000 c0322a88 00000010 000000a0 cf9fd000 cf83a800 cf9a8ab8 cf9a8a00 
| NIP [c01acf24] ehci_pci_setup+0xf0/0x5f0
| LR [c019a2e0] usb_add_hcd+0x1a8/0x5e8
| Call Trace:
| [cf829d80] [cf9a8a00] 0xcf9a8a00 (unreliable)
| [cf829db0] [c019a2e0] usb_add_hcd+0x1a8/0x5e8
| [cf829de0] [c01a59c4] usb_hcd_pci_probe+0x158/0x2e4
| [cf829e10] [c015c0cc] local_pci_probe+0x24/0x34
| [cf829e20] [c015c2f4] pci_device_probe+0x84/0xa8
| [cf829e50] [c017b388] driver_probe_device+0xb4/0x1e8
| [cf829e70] [c017b560] __driver_attach+0xa4/0xa8
| [cf829e90] [c017ab2c] bus_for_each_dev+0x5c/0xb0
| [cf829ec0] [c017b1a4] driver_attach+0x24/0x34
| [cf829ed0] [c017a44c] bus_add_driver+0x1d0/0x244
| [cf829ef0] [c017b780] driver_register+0x70/0x160
| [cf829f10] [c015c59c] __pci_register_driver+0x4c/0xac
| [cf829f30] [c02fb514] ehci_hcd_init+0xb0/0xf0
| [cf829f50] [c00013d8] do_one_initcall+0x34/0x1b0
| [cf829fc0] [c02e1178] kernel_init+0x94/0x100
| [cf829ff0] [c000da64] kernel_thread+0x50/0x6c
| Instruction dump:
| 2f8001b5 409eff68 801e00e0 64002000 901e00e0 74082000 813f008c 7d2b4b78 
| 913f00b8 40a2ff60 7c0004ac 7c004c2c <0c000000> 4c00012c 5400063e 7c0b0214 
| ---[ end trace 1bac7a35c80d2df5 ]---

I get a similar crash with a Sym53c876 SCSI card.

PCI seems to have stopped working between 2.6.28 and 2.6.29-rc1, due to the
following commit:

| commit 84d727a109081684c2e01b811cb0d6dc3b9380ca
| Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| Date:   Thu Oct 9 16:58:19 2008 +0000
| 
|     powerpc/4xx: Add support for ISA holes on 4xx PCI/X/E
|     
|     This adds support for ISA memory holes on the PCI, PCI-X and
|     PCI-E busses of the 4xx platforms. The patch includes changes
|     to the Bamboo and Canyonlands device-trees to add such a hole,
|     others can be updated separately.
|     
|     The ISA memory hole is an additional outbound window configured
|     in the bridge to generate PCI cycles in the low memory addresses,
|     thus allowing to access things such as the hard-decoded VGA
|     aperture at 0xa0000..0xbffff or other similar things. It's made
|     accessible to userspace via the new legacy_mem file in sysfs for
|     which support was added by a previous patch.
|     
|     Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|     Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
| 
|  boot/dts/bamboo.dts      |    3 
|  boot/dts/canyonlands.dts |    3 
|  sysdev/ppc4xx_pci.c      |  306 ++++++++++++++++++++++++++++++---------------
|  3 files changed, 213 insertions(+), 99 deletions(-)

Git-reverting this commit on top of 2.6.29-rc3 makes the crash go away.

Perhaps sequoia.dts (and other 44x DTS files) had to be changed, too?

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Techsoft Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:    +32 (0)2 700 8453
Fax:      +32 (0)2 700 8622
E-mail:   Geert.Uytterhoeven@sonycom.com
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010

^ permalink raw reply

* [PATCH] add gpio to mpc837X rdb
From: Reynes Philippe @ 2009-01-29 17:37 UTC (permalink / raw)
  To: linuxppc-dev list; +Cc: Kumar Gala

Signed-off-by: Philippe Reynes <philippe.reynes@isismpp.fr>
---
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts
b/arch/powerpc/boot/dts/mpc8377_rdb.dts
index 165463f..45c9f03 100644
--- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
@@ -109,6 +109,24 @@
 			reg =3D <0x200 0x100>;
 		};
=20
+		gpio1: gpio-controller@c00 {
+			#gpio-cells =3D <2>;
+			compatible =3D "fsl,mpc8347-gpio",
"fsl,mpc8349-gpio";
+			reg =3D <0xc00 0x100>;
+			interrupts =3D <74 0x8>;
+			interrupt-parent =3D <&ipic>;
+			gpio-controller;
+		};
+
+		gpio2: gpio-controller@d00 {
+			#gpio-cells =3D <2>;
+			compatible =3D "fsl,mpc8347-gpio",
"fsl,mpc8349-gpio";
+			reg =3D <0xd00 0x100>;
+			interrupts =3D <75 0x8>;
+			interrupt-parent =3D <&ipic>;
+			gpio-controller;
+		};
+
 		i2c@3000 {
 			#address-cells =3D <1>;
 			#size-cells =3D <0>;
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts
b/arch/powerpc/boot/dts/mpc8378_rdb.dts
index f9830ae..7863d11 100644
--- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
@@ -109,6 +109,24 @@
 			reg =3D <0x200 0x100>;
 		};
=20
+		gpio1: gpio-controller@c00 {
+			#gpio-cells =3D <2>;
+			compatible =3D "fsl,mpc8347-gpio",
"fsl,mpc8349-gpio";
+			reg =3D <0xc00 0x100>;
+			interrupts =3D <74 0x8>;
+			interrupt-parent =3D <&ipic>;
+			gpio-controller;
+		};
+
+		gpio2: gpio-controller@d00 {
+			#gpio-cells =3D <2>;
+			compatible =3D "fsl,mpc8347-gpio",
"fsl,mpc8349-gpio";
+			reg =3D <0xd00 0x100>;
+			interrupts =3D <75 0x8>;
+			interrupt-parent =3D <&ipic>;
+			gpio-controller;
+		};
+
 		i2c@3000 {
 			#address-cells =3D <1>;
 			#size-cells =3D <0>;
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts
b/arch/powerpc/boot/dts/mpc8379_rdb.dts
index 2c06d39..485d28b 100644
--- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
@@ -107,6 +107,24 @@
 			reg =3D <0x200 0x100>;
 		};
=20
+		gpio1: gpio-controller@c00 {
+			#gpio-cells =3D <2>;
+			compatible =3D "fsl,mpc8347-gpio",
"fsl,mpc8349-gpio";
+			reg =3D <0xc00 0x100>;
+			interrupts =3D <74 0x8>;
+			interrupt-parent =3D <&ipic>;
+			gpio-controller;
+		};
+
+		gpio2: gpio-controller@d00 {
+			#gpio-cells =3D <2>;
+			compatible =3D "fsl,mpc8347-gpio",
"fsl,mpc8349-gpio";
+			reg =3D <0xd00 0x100>;
+			interrupts =3D <75 0x8>;
+			interrupt-parent =3D <&ipic>;
+			gpio-controller;
+		};
+
 		i2c@3000 {
 			#address-cells =3D <1>;
 			#size-cells =3D <0>;

^ permalink raw reply related

* [PATCH] PowerPC: MPC85xx: TQM85xx: fix sensitivity of CAN interrupts
From: Wolfgang Grandegger @ 2009-01-29 13:23 UTC (permalink / raw)
  To: linuxppc-dev

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
---
 arch/powerpc/boot/dts/tqm8548-bigflash.dts |    4 ++--
 arch/powerpc/boot/dts/tqm8548.dts          |    4 ++--
 arch/powerpc/boot/dts/tqm8560.dts          |    4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

Index: linux-2.6/arch/powerpc/boot/dts/tqm8548-bigflash.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8548-bigflash.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8548-bigflash.dts
@@ -370,14 +370,14 @@
 		can0@2,0 {
 			compatible = "intel,82527"; // Bosch CC770
 			reg = <2 0x0 0x100>;
-			interrupts = <4 0>;
+			interrupts = <4 1>;
 			interrupt-parent = <&mpic>;
 		};
 
 		can1@2,100 {
 			compatible = "intel,82527"; // Bosch CC770
 			reg = <2 0x100 0x100>;
-			interrupts = <4 0>;
+			interrupts = <4 1>;
 			interrupt-parent = <&mpic>;
 		};
 
Index: linux-2.6/arch/powerpc/boot/dts/tqm8548.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8548.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8548.dts
@@ -370,14 +370,14 @@
 		can0@2,0 {
 			compatible = "intel,82527"; // Bosch CC770
 			reg = <2 0x0 0x100>;
-			interrupts = <4 0>;
+			interrupts = <4 1>;
 			interrupt-parent = <&mpic>;
 		};
 
 		can1@2,100 {
 			compatible = "intel,82527"; // Bosch CC770
 			reg = <2 0x100 0x100>;
-			interrupts = <4 0>;
+			interrupts = <4 1>;
 			interrupt-parent = <&mpic>;
 		};
 
Index: linux-2.6/arch/powerpc/boot/dts/tqm8560.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8560.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8560.dts
@@ -340,14 +340,14 @@
 		can0@2,0 {
 			compatible = "intel,82527"; // Bosch CC770
 			reg = <2 0x0 0x100>;
-			interrupts = <4 0>;
+			interrupts = <4 1>;
 			interrupt-parent = <&mpic>;
 		};
 
 		can1@2,100 {
 			compatible = "intel,82527"; // Bosch CC770
 			reg = <2 0x100 0x100>;
-			interrupts = <4 0>;
+			interrupts = <4 1>;
 			interrupt-parent = <&mpic>;
 		};
 	};

^ permalink raw reply

* [PATCH] PowerPC: MPC85xx: TQM85xx: add i2c device nodes for LM75
From: Wolfgang Grandegger @ 2009-01-29 12:49 UTC (permalink / raw)
  To: linuxppc-dev

Automatic I2C device probing is not done any more. Therefore we need
proper DTS device node definitions for the I2C LM75 thermal sensor on
the TQM85xx modules.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
---
 arch/powerpc/boot/dts/tqm8540.dts          |    5 +++++
 arch/powerpc/boot/dts/tqm8541.dts          |    5 +++++
 arch/powerpc/boot/dts/tqm8548-bigflash.dts |    5 +++++
 arch/powerpc/boot/dts/tqm8548.dts          |    5 +++++
 arch/powerpc/boot/dts/tqm8555.dts          |    5 +++++
 arch/powerpc/boot/dts/tqm8560.dts          |    5 +++++
 6 files changed, 30 insertions(+)

Index: linux-2.6/arch/powerpc/boot/dts/tqm8548.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8548.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8548.dts
@@ -85,6 +85,11 @@
 			interrupt-parent = <&mpic>;
 			dfsrr;
 
+			dtt@50 {
+				compatible = "national,lm75";
+				reg = <0x50>;
+			};
+
 			rtc@68 {
 				compatible = "dallas,ds1337";
 				reg = <0x68>;
Index: linux-2.6/arch/powerpc/boot/dts/tqm8540.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8540.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8540.dts
@@ -84,6 +84,11 @@
 			interrupt-parent = <&mpic>;
 			dfsrr;
 
+			dtt@50 {
+				compatible = "national,lm75";
+				reg = <0x50>;
+			};
+
 			rtc@68 {
 				compatible = "dallas,ds1337";
 				reg = <0x68>;
Index: linux-2.6/arch/powerpc/boot/dts/tqm8541.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8541.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8541.dts
@@ -83,6 +83,11 @@
 			interrupt-parent = <&mpic>;
 			dfsrr;
 
+			dtt@50 {
+				compatible = "national,lm75";
+				reg = <0x50>;
+			};
+
 			rtc@68 {
 				compatible = "dallas,ds1337";
 				reg = <0x68>;
Index: linux-2.6/arch/powerpc/boot/dts/tqm8548-bigflash.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8548-bigflash.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8548-bigflash.dts
@@ -85,6 +85,11 @@
 			interrupt-parent = <&mpic>;
 			dfsrr;
 
+			dtt@50 {
+				compatible = "national,lm75";
+				reg = <0x50>;
+			};
+
 			rtc@68 {
 				compatible = "dallas,ds1337";
 				reg = <0x68>;
Index: linux-2.6/arch/powerpc/boot/dts/tqm8555.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8555.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8555.dts
@@ -83,6 +83,11 @@
 			interrupt-parent = <&mpic>;
 			dfsrr;
 
+			dtt@50 {
+				compatible = "national,lm75";
+				reg = <0x50>;
+			};
+
 			rtc@68 {
 				compatible = "dallas,ds1337";
 				reg = <0x68>;
Index: linux-2.6/arch/powerpc/boot/dts/tqm8560.dts
===================================================================
--- linux-2.6.orig/arch/powerpc/boot/dts/tqm8560.dts
+++ linux-2.6/arch/powerpc/boot/dts/tqm8560.dts
@@ -85,6 +85,11 @@
 			interrupt-parent = <&mpic>;
 			dfsrr;
 
+			dtt@50 {
+				compatible = "national,lm75";
+				reg = <0x50>;
+			};
+
 			rtc@68 {
 				compatible = "dallas,ds1337";
 				reg = <0x68>;

^ permalink raw reply

* Re[4]: [PATCH][v4] powerpc 44x: support for 256KB PAGE_SIZE
From: Yuri Tikhonov @ 2009-01-29 11:40 UTC (permalink / raw)
  To: Milton Miller; +Cc: yanok, dzu, linuxppc-dev, hugh, paulus, akpm, prodyuth, wd
In-Reply-To: <6206e2ad09c4ee677275859dc6d5046e@bga.com>

=0D=0AOn Sunday, January 18, 2009 you wrote:
> Ok I tried this out in menuconfig.  You are right that the depends on=20
> makes sense as it removes the option from the config file as not=20
> relevant.  But right now to enable 256K pages one has to go to platform
> setup to find this dependency, then has to go to general setup to find
> the shmem option at the bottom of the list in the embedded/expert=20
> section, then finally go to the kernel options menu to finally choose=20
> the page size.

> Moving this question just before the page size choice removes one of=20
> those hidden menu, so I suggest that it be moved to just before the=20
> option that it allow be selected.

 Right, it'll me more convenient. My [v5] patch addresses this.

 Regards, Yuri

 --
 Yuri Tikhonov, Senior Software Engineer
 Emcraft Systems, www.emcraft.com

^ permalink raw reply

* [PATCH][v5] powerpc 44x: support for 256KB PAGE_SIZE
From: Yuri Tikhonov @ 2009-01-29 11:40 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: wd, dzu, miltonm, paulus, hugh, akpm, prodyuth, yanok

This patch adds support for 256KB pages on ppc44x-based boards.

For simplification of implementation with 256KB pages we still assume
2-level paging. As a side effect this leads to wasting extra memory space
reserved for PTE tables: only 1/4 of pages allocated for PTEs are
actually used. But this may be an acceptable trade-off to achieve the
high performance we have with big PAGE_SIZEs in some applications (e.g.
RAID).

Also with 256KB PAGE_SIZE we increase THREAD_SIZE up to 32KB to minimize
the risk of stack overflows in the cases of on-stack arrays, which size
depends on the page size (e.g. multipage BIOs, NTFS, etc.).

With 256KB PAGE_SIZE we need to decrease the PKMAP_ORDER at least down
to 9, otherwise all high memory (2 ^ 10 * PAGE_SIZE == 256MB) we'll be
occupied by PKMAP addresses leaving no place for vmalloc. We do not
separate PKMAP_ORDER for 256K from 16K/64K PAGE_SIZE here; actually that
value of 10 in support for 16K/64K had been selected rather intuitively.
Thus now for all cases of PAGE_SIZE on ppc44x (including the default, 4KB,
one) we have 512 pages for PKMAP.

Because ELF standard supports only page sizes up to 64K, then you should
use binutils later than 2.17.50.0.3 with '-zmax-page-size' set to 256K
for building applications, which are to be run with the 256KB-page sized
kernel. If using the older binutils, then you should patch them like follows:

--- binutils/bfd/elf32-ppc.c.orig
+++ binutils/bfd/elf32-ppc.c

-#define ELF_MAXPAGESIZE                0x10000
+#define ELF_MAXPAGESIZE                0x40000

One more restriction we currently have with 256KB page sizes is inability
to use shmem safely, so, for now, the 256KB is available only if you turn
the CONFIG_SHMEM option off (another variant is to use BROKEN).
Though, if you need shmem with 256KB pages, you can always remove the !SHMEM
dependency in 'config PPC_256K_PAGES', and use the workaround available here:
 http://lkml.org/lkml/2008/12/19/20

Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
---
 arch/powerpc/Kconfig                   |   27 +++++++++++++++++++++++++++
 arch/powerpc/include/asm/highmem.h     |   10 +++++-----
 arch/powerpc/include/asm/mmu-44x.h     |    2 ++
 arch/powerpc/include/asm/page.h        |    6 ++++--
 arch/powerpc/include/asm/page_32.h     |    4 ++++
 arch/powerpc/include/asm/thread_info.h |    4 +++-
 arch/powerpc/kernel/head_booke.h       |   11 ++++++++++-
 7 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 74cc312..dbcad5d 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -409,6 +409,18 @@ config PPC_HAS_HASH_64K
 	depends on PPC64
 	default n
 
+config STDBINUTILS
+	bool "Using standard binutils settings"
+	depends on 44x
+	default y
+	help
+	  Turning this option off allows you to select 256KB PAGE_SIZE on 44x.
+	  Note, that kernel will be able to run only those applications,
+	  which had been compiled using binutils later than 2.17.50.0.3 with
+	  '-zmax-page-size' set to 256K (the default is 64K). Or, if using
+	  the older binutils, you can patch them with a trivial patch, which
+	  changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000.
+
 choice
 	prompt "Page size"
 	default PPC_4K_PAGES
@@ -444,6 +456,19 @@ config PPC_64K_PAGES
 	bool "64k page size" if 44x || PPC_STD_MMU_64
 	select PPC_HAS_HASH_64K if PPC_STD_MMU_64
 
+config PPC_256K_PAGES
+	bool "256k page size" if 44x
+	depends on !STDBINUTILS && (!SHMEM || BROKEN)
+	help
+	  Make the page size 256k.
+
+	  As the ELF standard only requires alignment to support page
+	  sizes up to 64k, you will need to compile all of your user
+	  space applications with a non-standard binutils settings
+	  (see the STDBINUTILS description for details).
+
+	  Say N unless you know what you are doing.
+
 endchoice
 
 config FORCE_MAX_ZONEORDER
@@ -456,6 +481,8 @@ config FORCE_MAX_ZONEORDER
 	default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES
 	range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES
 	default "7" if PPC_STD_MMU_32 && PPC_64K_PAGES
+	range 5 64 if PPC_STD_MMU_32 && PPC_256K_PAGES
+	default "5" if PPC_STD_MMU_32 && PPC_256K_PAGES
 	range 11 64
 	default "11"
 	help
diff --git a/arch/powerpc/include/asm/highmem.h b/arch/powerpc/include/asm/highmem.h
index 04e4a62..a290759 100644
--- a/arch/powerpc/include/asm/highmem.h
+++ b/arch/powerpc/include/asm/highmem.h
@@ -39,15 +39,15 @@ extern pte_t *pkmap_page_table;
  * chunk of RAM.
  */
 /*
- * We use one full pte table with 4K pages. And with 16K/64K pages pte
- * table covers enough memory (32MB and 512MB resp.) that both FIXMAP
- * and PKMAP can be placed in single pte table. We use 1024 pages for
- * PKMAP in case of 16K/64K pages.
+ * We use one full pte table with 4K pages. And with 16K/64K/256K pages pte
+ * table covers enough memory (32MB/512MB/2GB resp.), so that both FIXMAP
+ * and PKMAP can be placed in a single pte table. We use 512 pages for PKMAP
+ * in case of 16K/64K/256K page sizes.
  */
 #ifdef CONFIG_PPC_4K_PAGES
 #define PKMAP_ORDER	PTE_SHIFT
 #else
-#define PKMAP_ORDER	10
+#define PKMAP_ORDER	9
 #endif
 #define LAST_PKMAP	(1 << PKMAP_ORDER)
 #ifndef CONFIG_PPC_4K_PAGES
diff --git a/arch/powerpc/include/asm/mmu-44x.h b/arch/powerpc/include/asm/mmu-44x.h
index 27cc6fd..3c86576 100644
--- a/arch/powerpc/include/asm/mmu-44x.h
+++ b/arch/powerpc/include/asm/mmu-44x.h
@@ -83,6 +83,8 @@ typedef struct {
 #define PPC44x_TLBE_SIZE	PPC44x_TLB_16K
 #elif (PAGE_SHIFT == 16)
 #define PPC44x_TLBE_SIZE	PPC44x_TLB_64K
+#elif (PAGE_SHIFT == 18)
+#define PPC44x_TLBE_SIZE	PPC44x_TLB_256K
 #else
 #error "Unsupported PAGE_SIZE"
 #endif
diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h
index 197d569..32cbf16 100644
--- a/arch/powerpc/include/asm/page.h
+++ b/arch/powerpc/include/asm/page.h
@@ -19,12 +19,14 @@
 #include <asm/kdump.h>
 
 /*
- * On regular PPC32 page size is 4K (but we support 4K/16K/64K pages
+ * On regular PPC32 page size is 4K (but we support 4K/16K/64K/256K pages
  * on PPC44x). For PPC64 we support either 4K or 64K software
  * page size. When using 64K pages however, whether we are really supporting
  * 64K pages in HW or not is irrelevant to those definitions.
  */
-#if defined(CONFIG_PPC_64K_PAGES)
+#if defined(CONFIG_PPC_256K_PAGES)
+#define PAGE_SHIFT		18
+#elif defined(CONFIG_PPC_64K_PAGES)
 #define PAGE_SHIFT		16
 #elif defined(CONFIG_PPC_16K_PAGES)
 #define PAGE_SHIFT		14
diff --git a/arch/powerpc/include/asm/page_32.h b/arch/powerpc/include/asm/page_32.h
index 1458d95..a0e3f6e 100644
--- a/arch/powerpc/include/asm/page_32.h
+++ b/arch/powerpc/include/asm/page_32.h
@@ -19,7 +19,11 @@
 #define PTE_FLAGS_OFFSET	0
 #endif
 
+#ifdef CONFIG_PPC_256K_PAGES
+#define PTE_SHIFT	(PAGE_SHIFT - PTE_T_LOG2 - 2)	/* 1/4 of a page */
+#else
 #define PTE_SHIFT	(PAGE_SHIFT - PTE_T_LOG2)	/* full page */
+#endif
 
 #ifndef __ASSEMBLY__
 /*
diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/asm/thread_info.h
index 9665a26..e04286f 100644
--- a/arch/powerpc/include/asm/thread_info.h
+++ b/arch/powerpc/include/asm/thread_info.h
@@ -12,8 +12,10 @@
 
 /* We have 8k stacks on ppc32 and 16k on ppc64 */
 
-#ifdef CONFIG_PPC64
+#if defined(CONFIG_PPC64)
 #define THREAD_SHIFT		14
+#elif defined(CONFIG_PPC_256K_PAGES)
+#define THREAD_SHIFT		15
 #else
 #define THREAD_SHIFT		13
 #endif
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h
index fce2df9..17803ad 100644
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
@@ -10,6 +10,15 @@
 		mtspr	SPRN_IVOR##vector_number,r26;	\
 		sync
 
+#if (THREAD_SHIFT < 15)
+#define ALLOC_STACK_FRAME(reg, val)			\
+	addi reg,reg,val
+#else
+#define ALLOC_STACK_FRAME(reg, val)			\
+	addis	reg,reg,val@ha;				\
+	addi	reg,reg,val@l
+#endif
+
 #define NORMAL_EXCEPTION_PROLOG						     \
 	mtspr	SPRN_SPRG0,r10;		/* save two registers to work with */\
 	mtspr	SPRN_SPRG1,r11;						     \
@@ -20,7 +29,7 @@
 	beq	1f;							     \
 	mfspr	r1,SPRN_SPRG3;		/* if from user, start at top of   */\
 	lwz	r1,THREAD_INFO-THREAD(r1); /* this thread's kernel stack   */\
-	addi	r1,r1,THREAD_SIZE;					     \
+	ALLOC_STACK_FRAME(r1, THREAD_SIZE);				     \
 1:	subi	r1,r1,INT_FRAME_SIZE;	/* Allocate an exception frame     */\
 	mr	r11,r1;							     \
 	stw	r10,_CCR(r11);          /* save various registers	   */\
-- 
1.6.0.6

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox