LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 3/4] DTC: Appease the printf() format $Gods with a correct type.
From: Jon Loeliger @ 2007-10-19 17:43 UTC (permalink / raw)
  To: linuxppc-dev


Signed-off-by: Jon Loeliger <jdl@freescale.com>
---
 tests/get_name.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tests/get_name.c b/tests/get_name.c
index 2481741..a76bdf8 100644
--- a/tests/get_name.c
+++ b/tests/get_name.c
@@ -55,7 +55,7 @@ void check_name(void *fdt, const char *path)
 
 	if (len != strlen(getname))
 		FAIL("fdt_get_name(%s) returned length %d instead of %d",
-		     path, len, strlen(getname));
+		     path, len, (int) strlen(getname));
 
 	/* Now check that it doesn't break if we omit len */
 	getname2 = fdt_get_name(fdt, offset, NULL);
-- 
1.5.3.1.139.g9346b

^ permalink raw reply related

* [PATCH 2/4] DTC: Quiet a bogus "May be used uninitialized" warning.
From: Jon Loeliger @ 2007-10-19 17:42 UTC (permalink / raw)
  To: linuxppc-dev


Signed-off-by: Jon Loeliger <jdl@freescale.com>
---
 flattree.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/flattree.c b/flattree.c
index a26e71b..5889900 100644
--- a/flattree.c
+++ b/flattree.c
@@ -136,7 +136,7 @@ static void asm_emit_cell(void *e, cell_t val)
 static void asm_emit_string(void *e, char *str, int len)
 {
 	FILE *f = e;
-	char c;
+	char c = 0;
 
 	if (len != 0) {
 		/* XXX: ewww */
-- 
1.5.3.1.139.g9346b

^ permalink raw reply related

* [PATCH 1/4] DTC: Reformat grammar rules to not mix language syntax and yacc syntax.
From: Jon Loeliger @ 2007-10-19 17:42 UTC (permalink / raw)
  To: linuxppc-dev


Use consistent indenting on all rule actions.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
---

No functional changes!

 dtc-parser.y |  152 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 118 insertions(+), 34 deletions(-)

diff --git a/dtc-parser.y b/dtc-parser.y
index 54fd787..4698793 100644
--- a/dtc-parser.y
+++ b/dtc-parser.y
@@ -79,103 +79,187 @@ extern struct boot_info *the_boot_info;
 
 %%
 
-sourcefile:	memreserves devicetree {
+sourcefile:
+	  memreserves devicetree
+		{
 			the_boot_info = build_boot_info($1, $2);
 		}
 	;
 
-memreserves:	memreserve memreserves {
+memreserves:
+	  memreserve memreserves
+		{
 			$$ = chain_reserve_entry($1, $2);
 		}
-	|	/* empty */	{
+	| /* empty */
+		{
 			$$ = NULL;
 		}
 	;
 
-memreserve:	label DT_MEMRESERVE DT_ADDR DT_ADDR ';' {
+memreserve:
+	  label DT_MEMRESERVE DT_ADDR DT_ADDR ';'
+		{
 			$$ = build_reserve_entry($3, $4, $1);
 		}
-	|	label DT_MEMRESERVE DT_ADDR '-' DT_ADDR ';' {
+	| label DT_MEMRESERVE DT_ADDR '-' DT_ADDR ';'
+		{
 			$$ = build_reserve_entry($3, $5 - $3 + 1, $1);
 		}
 	;
 
-devicetree:	'/' nodedef {
+devicetree:
+	  '/' nodedef
+		{
 			$$ = name_node($2, "", NULL);
 		}
 	;
 
-nodedef:	'{' proplist subnodes '}' ';' {
+nodedef:
+	  '{' proplist subnodes '}' ';'
+		{
 			$$ = build_node($2, $3);
 		}
 	;
 
-proplist:	propdef proplist {
+proplist:
+	  propdef proplist
+		{
 			$$ = chain_property($1, $2);
 		}
-	|	/* empty */	{
+	| /* empty */
+		{
 			$$ = NULL;
 		}
 	;
 
-propdef:	label DT_PROPNAME '=' propdata ';' {
+propdef:
+	  label DT_PROPNAME '=' propdata ';'
+		{
 			$$ = build_property($2, $4, $1);
 		}
-	|	label DT_PROPNAME ';' {
+	| label DT_PROPNAME ';'
+		{
 			$$ = build_property($2, empty_data, $1);
 		}
 	;
 
-propdata:	propdataprefix DT_STRING { $$ = data_merge($1, $2); }
-	|	propdataprefix '<' celllist '>' {
-			$$ = data_merge(data_append_align($1, sizeof(cell_t)), $3);
+propdata:
+	  propdataprefix DT_STRING
+		{
+			$$ = data_merge($1, $2);
+		}
+	| propdataprefix '<' celllist '>'
+		{
+			$$ = data_merge(data_append_align($1,
+							  sizeof(cell_t)), $3);
+		}
+	| propdataprefix '[' bytestring ']'
+		{
+			$$ = data_merge($1, $3);
+		}
+	| propdata DT_LABEL
+		{
+			$$ = data_add_label($1, $2);
 		}
-	|	propdataprefix '[' bytestring ']' { $$ = data_merge($1, $3); }
-	|	propdata DT_LABEL { $$ = data_add_label($1, $2); }
 	;
 
-propdataprefix:	propdata ',' { $$ = $1; }
-	|	propdataprefix DT_LABEL { $$ = data_add_label($1, $2); }
-	|	/* empty */ { $$ = empty_data; }
+propdataprefix:
+	  propdata ','
+		{
+			$$ = $1;
+		}
+	| propdataprefix DT_LABEL
+		{
+			$$ = data_add_label($1, $2);
+		}
+	| /* empty */
+		{
+			$$ = empty_data;
+		}
 	;
 
 opt_cell_base:
 	  /* empty */
-		{ $$ = 16; }
+		{
+			$$ = 16;
+		}
 	| DT_BASE
 	;
 
-celllist:	celllist opt_cell_base DT_CELL {
+celllist:
+	  celllist opt_cell_base DT_CELL
+		{
 			$$ = data_append_cell($1,
 					      cell_from_string($3, $2));
 		}
-	|	celllist DT_REF	{
+	| celllist DT_REF
+		{
 			$$ = data_append_cell(data_add_fixup($1, $2), -1);
 		}
-	|	celllist DT_LABEL { $$ = data_add_label($1, $2); }
-	|	/* empty */ { $$ = empty_data; }
+	| celllist DT_LABEL
+		{
+			$$ = data_add_label($1, $2);
+		}
+	| /* empty */
+		{
+			$$ = empty_data;
+		}
 	;
 
-bytestring:	bytestring DT_BYTE { $$ = data_append_byte($1, $2); }
-	|	bytestring DT_LABEL { $$ = data_add_label($1, $2); }
-	|	/* empty */ { $$ = empty_data; }
+bytestring:
+	  bytestring DT_BYTE
+		{
+			$$ = data_append_byte($1, $2);
+		}
+	| bytestring DT_LABEL
+		{
+			$$ = data_add_label($1, $2);
+		}
+	| /* empty */
+		{
+			$$ = empty_data;
+		}
 	;
 
-subnodes:	subnode subnodes {
+subnodes:
+	  subnode subnodes
+		{
 			$$ = chain_node($1, $2);
 		}
-	|	/* empty */ { $$ = NULL; }
+	| /* empty */
+		{
+			$$ = NULL;
+		}
 	;
 
-subnode:	label nodename nodedef { $$ = name_node($3, $2, $1); }
+subnode:
+	  label nodename nodedef
+		{
+			$$ = name_node($3, $2, $1);
+		}
 	;
 
-nodename:	DT_NODENAME	{ $$ = $1; }
-	|	DT_PROPNAME	{ $$ = $1; }
+nodename:
+	  DT_NODENAME
+		{
+			$$ = $1;
+		}
+	| DT_PROPNAME
+		{
+			$$ = $1;
+		}
 	;
 
-label:		DT_LABEL	{ $$ = $1; }
-	|	/* empty */	{ $$ = NULL; }
+label:
+	  DT_LABEL
+		{
+			$$ = $1;
+		}
+	| /* empty */
+		{
+			$$ = NULL;
+		}
 	;
 
 %%
-- 
1.5.3.1.139.g9346b

^ permalink raw reply related

* [PATCH 0/4] DTC: Introduce better DTS literal support
From: Jon Loeliger @ 2007-10-19 17:42 UTC (permalink / raw)
  To: linuxppc-dev

Folks,

This 4 part patch series for the DTC has:

    0001-Reformat-grammar-rules-to-not-mix-language-syntax-an.patch
    0002-Quiet-a-bogus-May-be-used-uninitialized-warning.patch
    0003-Appease-the-printf-format-Gods-with-a-correct-typ.patch
    0004-Begin-the-path-to-sane-literals-and-expressions.patch

The first is a pure whitespace formatting cleaning.
The second two clean compiler warnings.
The final one introduces a versioned DTS file with
    support for C-like literals.


 dtc-lexer.l      |  180 ++++++++++++++++++++++++++++--------
 dtc-parser.y     |  275 ++++++++++++++++++++++++++++++++++++++++--------------
 dtc.c            |   26 +++++
 dtc.h            |   23 ++++-
 flattree.c       |    2 +-
 srcpos.h         |    1 +
 tests/get_name.c |    2 +-
 treesource.c     |   24 ++++-
 8 files changed, 413 insertions(+), 120 deletions(-)


Thanks,
jdl

^ permalink raw reply

* Re: powerpc 440 monitor program
From: Olof Johansson @ 2007-10-19 16:45 UTC (permalink / raw)
  To: Bai Shuwei; +Cc: linuxppc-dev, linuxppc-embedded
In-Reply-To: <f3566d60710182032h69e2d2bejafd96f18dae95829@mail.gmail.com>

On Fri, Oct 19, 2007 at 11:32:33AM +0800, Bai Shuwei wrote:
> all,
>     hi, when I boot my system, there are no output on the screen.
> I choice the framebuffer and my monitor card is ATI PAGE 128 PCI, qt/e GUI.
> When i compile the kernel, the boot logo and aty 128fb has be compiled into
> kernel patched with videoboot, and x86emu. The video parameters set:
>      video=aty128fb:640x480-16@7.
>     The kenel can recognize the monitor card, and the frame buffer device
> has run.
> The output showed below:
> 
>     videoboot: Booting PCI video card bus 0, function 0, device 6
>    aty128fb: Found Intel x86 BIOS ROM Image
>    aty128fb: Rage128 BIOS located
>    aty128fb: Rage128 RK PCI [chip rev 0x2] 32M 64-bit SDR SGRAM (2:1)
>    fb0: ATY Rage128 frame buffer device on Rage128 RK PCI
> 
> My problem is there is no output on the monitor,and cannot see the penguin
> boot logo.
> I also run a program to test the framebuffer, which can read data from the
> fb. After running the qt/e program, which can run scussessfully, there is no
> output.!

Hi,

Lots of graphics cards need their on-board BIOS to be executed to setup
the card before it can be used by linux or anything else. Some firmwares
have x86 emulation built-in to do this (CFE has it, SLOF might, U-boot
has it for some platforms but I don't know about 4xx).


-Olof

^ permalink raw reply

* Re: [PATCH] ppc44x: support for 256K PAGE_SIZE
From: Josh Boyer @ 2007-10-19 16:36 UTC (permalink / raw)
  To: Yuri Tikhonov; +Cc: linuxppc-dev
In-Reply-To: <200710181108.19413.yur@emcraft.com>

On Thu, 18 Oct 2007 11:08:19 +0400
Yuri Tikhonov <yur@emcraft.com> wrote:

> 
>  Hello,
> 
>  The following patch adds support for 256KB PAGE_SIZE on ppc44x-based boards. 
> The applications to be run on the kernel with 256KB PAGE_SIZE have to be 
> built using the modified version of binutils, where the MAXPAGESIZE 
> definition is set to 0x40000 (as opposite to standard 0x10000).
> 
>  Signed-off-by: Pavel Kolesnikov <concord@emcraft.com>
>  Acked-by: Yuri Tikhonov <yur@emcraft.com>
> 
> --
> 
> diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
> index c590b18..0ee372d 100644
> --- a/arch/ppc/Kconfig
> +++ b/arch/ppc/Kconfig
> @@ -1223,6 +1223,9 @@ config PPC_PAGE_16K
> 
>  config PPC_PAGE_64K
>  	bool "64 KB" if 44x
> +
> +config PPC_PAGE_256K
> +	bool "256 KB" if 44x
>  endchoice

BTW, what tree did you base this on?  I don't seem to have the
PPC_PAGE_* options in my tree.

josh

^ permalink raw reply

* Re: [PATCH] ppc44x: support for 256K PAGE_SIZE
From: Yuri Tikhonov @ 2007-10-19 16:03 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <D3506DCC-01F5-48C1-900D-2D827AB6BE19@kernel.crashing.org>

On Friday 19 October 2007 19:48, Kumar Gala wrote:
> > PAGE_SIZE = 4K:
> >  P = 66 MBps;
> >
> > PAGE_SIZE = 16K:
> >  P = 145 MBps;
> >
> > PAGE_SIZE = 64K:
> >  P = 196 MBps;
> >
> > PAGE_SIZE = 256K:
> >  P = 217 MBps.
> 
> Is this all in kernel space? or is there a user space aspect to the  
> benchmark?

 The situation here is that the Linux RAID driver does a lot of complex things
with the pages (strips of array) using CPU before submitting these pages to h/w.
Here is where the most time is spent. Thus, increasing the PAGE_SIZE value we reduce
the number of these complex algorithms calls needed to process the whole test (writing
the fixed number of MBytes to RAID array). So, there are no user space aspects.

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

^ permalink raw reply

* RE: powerpc 440 monitor program
From: Leonid @ 2007-10-19 15:51 UTC (permalink / raw)
  To: David Gibson, Bai Shuwei; +Cc: linuxppc-dev, linuxppc-embedded
In-Reply-To: <20071019034904.GA4407@localhost.localdomain>

In order to achieve your goal you must do at least following things:

1) enable FRAMEBUFFER_CONSOLE option in the kernel.
2) Upon reboot make getty for the monitor terminal device (could be
tty1, but you must check).

You may add line to your inittab file

tty1::respawn:/sbin/getty 38400 tty1

Speed parameter is irrelevant and may not be needed for your getty
version.

3) To see the penguin logo you must also enable one of BOOT_LOGO defines
in kernel.

Of course I assume that framebuffer is working in your system. You may
try to check it by typing "cat /dev/zero > /dev/fb0". Terminal must be
cleaned then.

You also can try "dirty" hack to ensure framebuffer functionality. Type:

sh > /dev/tty1 2>&1 < /dev/tty1

You must get prompt on monitor (your serial will hang) and if you have
working (USB?) keyboard, you will be able to use monitor.

Thanks,

Leonid.
-----Original Message-----
From: linuxppc-embedded-bounces+leonid=3Da-k-a.net@ozlabs.org
[mailto:linuxppc-embedded-bounces+leonid=3Da-k-a.net@ozlabs.org] On =
Behalf
Of David Gibson
Sent: Thursday, October 18, 2007 8:49 PM
To: Bai Shuwei
Cc: linuxppc-dev@ozlabs.org; linuxppc-embedded@ozlabs.org
Subject: Re: powerpc 440 monitor program

On Fri, Oct 19, 2007 at 11:32:33AM +0800, Bai Shuwei wrote:
> all,
>     hi, when I boot my system, there are no output on the screen.
> I choice the framebuffer and my monitor card is ATI PAGE 128 PCI, qt/e
GUI.
> When i compile the kernel, the boot logo and aty 128fb has be compiled
into
> kernel patched with videoboot, and x86emu. The video parameters set:
>      video=3Daty128fb:640x480-16@7.
>     The kenel can recognize the monitor card, and the frame buffer
device
> has run.
> The output showed below:
>=20
>     videoboot: Booting PCI video card bus 0, function 0, device 6
>    aty128fb: Found Intel x86 BIOS ROM Image
>    aty128fb: Rage128 BIOS located
>    aty128fb: Rage128 RK PCI [chip rev 0x2] 32M 64-bit SDR SGRAM (2:1)
>    fb0: ATY Rage128 frame buffer device on Rage128 RK PCI
>=20
> My problem is there is no output on the monitor,and cannot see the
penguin
> boot logo.

Uh.. most 440 systems use a serial console.  It ought in theory to be
possible to use a framebuffer instead, but it wouldn't surprise me if
rather a lot of debugging was necessary.

--=20
David Gibson			| I'll have my music baroque, and my
code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_
_other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

^ permalink raw reply

* Re: qe: add ability to upload QE firmware
From: Timur Tabi @ 2007-10-19 15:56 UTC (permalink / raw)
  To: Jerry Van Baren; +Cc: linuxppc-dev
In-Reply-To: <4717DEE8.9010508@gmail.com>

Jerry Van Baren wrote:

>> +/*
>> + * Download a microcode to the I-RAM at a specific address.
>       ^^^^^^^^
>> + *
>> + * @firmware: pointer to qe_firmware structure
>> + */
>> +int qe_upload_microcode(const struct qe_firmware *firmware)
>           ^^^^^^
> We seem to be a little conflicted over whether it is an upload or a 
> download.  ;-)

Oh, now I see what you're talking about.  Duh.

^ permalink raw reply

* Re: [PATCH] ppc44x: support for 256K PAGE_SIZE
From: Kumar Gala @ 2007-10-19 15:48 UTC (permalink / raw)
  To: Yuri Tikhonov; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <200710191937.23638.yur@emcraft.com>


On Oct 19, 2007, at 10:37 AM, Yuri Tikhonov wrote:

> On Friday 19 October 2007 03:21, Paul Mackerras wrote:
>> Have you measured the performance using a 64kB page size?  If so, how
>> does it compare with the 256kB page size?
>
>  I measured the performance of the sequential full-stripe write  
> operations to
> a RAID-5 array (P values below are in MB per second) using the h/w  
> accelerated
> RAID-5 driver.
>
>  Here are the comparative results for the different PAGE_SIZE values:
>
> PAGE_SIZE = 4K:
>  P = 66 MBps;
>
> PAGE_SIZE = 16K:
>  P = 145 MBps;
>
> PAGE_SIZE = 64K:
>  P = 196 MBps;
>
> PAGE_SIZE = 256K:
>  P = 217 MBps.

Is this all in kernel space? or is there a user space aspect to the  
benchmark?

>> The 64kB page size has the attraction that no binutils changes are
>> required.
>
>  That's true, but the additional performance is an attractive thing  
> too.

- k

^ permalink raw reply

* Re: [PATCH] bestcomm: Restrict disabling of bus prefetch to original mpc5200 silicon.
From: Sven Luther @ 2007-10-19 15:44 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev, Domen Puncer
In-Reply-To: <fa686aa40710190843l15d37ebdk71cd6b660aa1eab8@mail.gmail.com>

On Fri, Oct 19, 2007 at 09:43:38AM -0600, Grant Likely wrote:
> On 10/19/07, Sven Luther <sven@powerlinux.fr> wrote:
> > On Fri, Oct 19, 2007 at 07:09:16AM -0600, Grant Likely wrote:
> > > On 10/19/07, Domen Puncer <domen.puncer@telargo.com> wrote:
> > > > On 17/10/07 10:36 -0600, Grant Likely wrote:
> > > > > From: Grant Likely <grant.likely@secretlab.ca>
> > > > >
> > > > > Only the MPC5200 needs this bug fix.  MPC5200B is okay.
> > > > >
> > > > > Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
> > > > > ---
> > > > >
> > > > > Sven, Domen;
> > > > >
> > > > > Can you please test this patch?
> > > >
> > > > I found no obvious problems with it on Efika (mpc5200b)
> > >
> > > Cool, I'll add it to my list of patches for Paulus to pull
> >
> > Sorry, i have not had time to test, but there is a problem with the
> > userland serial console i want to investigate. At the latest i will test
> > this on monday.
> 
> Your userland serial problems are unrelated to this patch though, right?

Most definitively, sorry for the confusion.

Friendly,

Sven Luther

^ permalink raw reply

* Re: [PATCH] bestcomm: Restrict disabling of bus prefetch to original mpc5200 silicon.
From: Grant Likely @ 2007-10-19 15:43 UTC (permalink / raw)
  To: Sven Luther; +Cc: linuxppc-dev, Domen Puncer
In-Reply-To: <20071019153528.GC31749@powerlinux.fr>

On 10/19/07, Sven Luther <sven@powerlinux.fr> wrote:
> On Fri, Oct 19, 2007 at 07:09:16AM -0600, Grant Likely wrote:
> > On 10/19/07, Domen Puncer <domen.puncer@telargo.com> wrote:
> > > On 17/10/07 10:36 -0600, Grant Likely wrote:
> > > > From: Grant Likely <grant.likely@secretlab.ca>
> > > >
> > > > Only the MPC5200 needs this bug fix.  MPC5200B is okay.
> > > >
> > > > Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
> > > > ---
> > > >
> > > > Sven, Domen;
> > > >
> > > > Can you please test this patch?
> > >
> > > I found no obvious problems with it on Efika (mpc5200b)
> >
> > Cool, I'll add it to my list of patches for Paulus to pull
>
> Sorry, i have not had time to test, but there is a problem with the
> userland serial console i want to investigate. At the latest i will test
> this on monday.

Your userland serial problems are unrelated to this patch though, right?

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195

^ permalink raw reply

* Re: [PATCH v7 5/9] add documentation for SATA nodes
From: Grant Likely @ 2007-10-19 15:41 UTC (permalink / raw)
  To: Li Yang; +Cc: linuxppc-dev, paulus
In-Reply-To: <1192793930-26039-6-git-send-email-leoli@freescale.com>

On 10/19/07, Li Yang <leoli@freescale.com> wrote:
> Signed-off-by: Li Yang <leoli@freescale.com>
> ---
>  Documentation/powerpc/booting-without-of.txt |   32 ++++++++++++++++++++++++++
>  1 files changed, 32 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
> index a96e853..8d49942 100644
> --- a/Documentation/powerpc/booting-without-of.txt
> +++ b/Documentation/powerpc/booting-without-of.txt
> @@ -2242,6 +2242,38 @@ platforms are moved over to use the flattened-device-tree model.
>                            available.
>                            For Axon: 0x0000012a
>
> +    o) SATA nodes
> +
> +    SATA nodes are defined to describe on-chip Serial ATA controllers.
> +
> +    Required properties:
> +
> +    - compatible : Should specify what this SATA controller is compatible
> +      with.
> +    - reg : Offset and length of the register set for the device.
> +    - interrupts : <a b> where a is the interrupt number and b is a
> +      field that represents an encoding of the sense and level
> +      information for the interrupt.  This should be encoded based on
> +      the information in section 2) depending on the type of interrupt
> +      controller you have.
> +    - interrupt-parent : the phandle for the interrupt controller that
> +      services interrupts for this device.
> +
> +    Recommended properties :
> +
> +    - phy-handle : Some SATA controller uses a shared SerDes PHY. This
> +      property should specify the phandle of the SerDes node.

I'm not sure about this property.  Does the driver need to know about
this?  Will this setup ever change at runtime?  It seems to me that
like GPIOs and chip selects, setting you which shared PHY goes with
which device is something that should be done at board setup time.

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195

^ permalink raw reply

* Re: [PATCH] ppc44x: support for 256K PAGE_SIZE
From: Yuri Tikhonov @ 2007-10-19 15:37 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev
In-Reply-To: <18199.60025.563689.10810@cargo.ozlabs.ibm.com>

On Friday 19 October 2007 03:21, Paul Mackerras wrote:
> Have you measured the performance using a 64kB page size?  If so, how
> does it compare with the 256kB page size?

 I measured the performance of the sequential full-stripe write operations to
a RAID-5 array (P values below are in MB per second) using the h/w accelerated
RAID-5 driver.

 Here are the comparative results for the different PAGE_SIZE values:

PAGE_SIZE = 4K:
 P = 66 MBps;

PAGE_SIZE = 16K:
 P = 145 MBps;

PAGE_SIZE = 64K:
 P = 196 MBps;

PAGE_SIZE = 256K:
 P = 217 MBps.

> The 64kB page size has the attraction that no binutils changes are
> required.

 That's true, but the additional performance is an attractive thing too.

> 
> Paul.
> 

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

^ permalink raw reply

* Re: [PATCH v7 3/9] add Freescale SerDes PHY support
From: Grant Likely @ 2007-10-19 15:35 UTC (permalink / raw)
  To: Li Yang; +Cc: linuxppc-dev, paulus
In-Reply-To: <1192793930-26039-4-git-send-email-leoli@freescale.com>

On 10/19/07, Li Yang <leoli@freescale.com> wrote:
> The SerDes(serializer/deserializer) PHY block is a new SoC block used
> in Freescale chips to support multiple serial interfaces, such as PCI
> Express, SGMII, SATA.

This looks like board setup behaviour.  Shouldn't setting this up be
the responsibility firmware?  And failing that, I think it should be
done directly by the platform setup function (in other words; make it
a helper function and call it at board setup time).  Besides, you want
to provide guarantees that the board is setup correctly before the
device driver that uses it gets probed.

Cheers,
g.

>
> Signed-off-by: Li Yang <leoli@freescale.com>
> ---
>  arch/powerpc/platforms/Kconfig   |    7 ++
>  arch/powerpc/sysdev/Makefile     |    1 +
>  arch/powerpc/sysdev/fsl_serdes.c |  195 ++++++++++++++++++++++++++++++++++++++
>  3 files changed, 203 insertions(+), 0 deletions(-)
>  create mode 100644 arch/powerpc/sysdev/fsl_serdes.c
>
> diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
> index 229d355..5d64f84 100644
> --- a/arch/powerpc/platforms/Kconfig
> +++ b/arch/powerpc/platforms/Kconfig
> @@ -315,6 +315,13 @@ config FSL_ULI1575
>  config CPM
>         bool
>
> +config FSL_SERDES
> +       bool
> +       help
> +         The SerDes(serializer/deserializer) PHY block is a new SoC block
> +         used in Freescale chips to support multiple serial interfaces,
> +         such as PCI Express, SGMII, SATA.
> +
>  source "arch/powerpc/sysdev/bestcomm/Kconfig"
>
>  endmenu
> diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile
> index 99a77d7..2343ea4 100644
> --- a/arch/powerpc/sysdev/Makefile
> +++ b/arch/powerpc/sysdev/Makefile
> @@ -20,6 +20,7 @@ obj-$(CONFIG_MV64X60)         += $(mv64x60-y) mv64x60_pic.o mv64x60_dev.o \
>                                    mv64x60_udbg.o
>  obj-$(CONFIG_RTC_DRV_CMOS)     += rtc_cmos_setup.o
>  obj-$(CONFIG_AXON_RAM)         += axonram.o
> +obj-$(CONFIG_FSL_SERDES)       += fsl_serdes.o
>
>  ifeq ($(CONFIG_PPC_MERGE),y)
>  obj-$(CONFIG_PPC_INDIRECT_PCI) += indirect_pci.o
> diff --git a/arch/powerpc/sysdev/fsl_serdes.c b/arch/powerpc/sysdev/fsl_serdes.c
> new file mode 100644
> index 0000000..670015d
> --- /dev/null
> +++ b/arch/powerpc/sysdev/fsl_serdes.c
> @@ -0,0 +1,195 @@
> +/*
> + * arch/powerpc/sysdev/fsl_serdes.c
> + *
> + * Copyright (C) 2007 Freescale Semiconductor, Inc. All rights reserved.
> + *
> + * Author: Li Yang <leoli@freescale.com>
> + *
> + * Freescale SerDes initialization routines
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation;  either version 2 of the License, or (at your
> + * option) any later version.
> + */
> +
> +#include <linux/stddef.h>
> +#include <linux/kernel.h>
> +#include <linux/init.h>
> +#include <linux/errno.h>
> +#include <linux/delay.h>
> +#include <linux/of.h>
> +#include <linux/of_platform.h>
> +
> +#include <asm/system.h>
> +#include <asm/io.h>
> +#include <asm/machdep.h>
> +
> +#define FSL_SRDSCR0_OFFS               0x0
> +#define FSL_SRDSCR0_DPP_1V2            0x00008800
> +#define FSL_SRDSCR1_OFFS               0x4
> +#define FSL_SRDSCR1_PLLBW              0x00000040
> +#define FSL_SRDSCR2_OFFS               0x8
> +#define FSL_SRDSCR2_VDD_1V2            0x00800000
> +#define FSL_SRDSCR2_SEIC_MASK          0x00001c1c
> +#define FSL_SRDSCR2_SEIC_SATA          0x00001414
> +#define FSL_SRDSCR2_SEIC_PEX           0x00001010
> +#define FSL_SRDSCR2_SEIC_SGMII         0x00000101
> +#define FSL_SRDSCR3_OFFS               0xc
> +#define FSL_SRDSCR3_KFR_SATA           0x10100000
> +#define FSL_SRDSCR3_KPH_SATA           0x04040000
> +#define FSL_SRDSCR3_SDFM_SATA_PEX      0x01010000
> +#define FSL_SRDSCR3_SDTXL_SATA         0x00000505
> +#define FSL_SRDSCR4_OFFS               0x10
> +#define FSL_SRDSCR4_PROT_SATA          0x00000808
> +#define FSL_SRDSCR4_PROT_PEX           0x00000101
> +#define FSL_SRDSCR4_PROT_SGMII         0x00000505
> +#define FSL_SRDSCR4_PLANE_X2           0x01000000
> +#define FSL_SRDSCR4_RFCKS_100          0x00000000
> +#define FSL_SRDSCR4_RFCKS_125          0x10000000
> +#define FSL_SRDSCR4_RFCKS_150          0x30000000
> +#define FSL_SRDSRSTCTL_OFFS            0x20
> +#define FSL_SRDSRSTCTL_RST             0x80000000
> +#define FSL_SRDSRSTCTL_SATA_RESET      0xf
> +
> +static int fsl_serdes_probe(struct of_device *ofdev,
> +               const struct of_device_id *match)
> +{
> +       struct device_node *np = ofdev->node;
> +       void __iomem *regs;
> +       const char *prot;
> +       const unsigned int *freq;
> +       u32 rfcks;
> +
> +       regs = of_iomap(np, 0);
> +       if (!regs)
> +               return -ENOMEM;
> +
> +       prot = of_get_property(np, "protocol", NULL);
> +       if (!prot)
> +               goto out;
> +       freq = of_get_property(np, "clock", NULL);
> +       if (!freq)
> +               goto out;
> +       switch (*freq) {
> +       case 100:
> +               rfcks = FSL_SRDSCR4_RFCKS_100;
> +               break;
> +       case 125:
> +               rfcks = FSL_SRDSCR4_RFCKS_125;
> +               break;
> +       case 150:
> +               rfcks = FSL_SRDSCR4_RFCKS_150;
> +               break;
> +       default:
> +               printk(KERN_ERR "SerDes: Wrong frequency\n");
> +               goto out;
> +       }
> +
> +       /* Use default prescale and counter */
> +
> +       /* 1.0V corevdd */
> +       if (of_get_property(np, "vdd-1v", NULL)) {
> +               /* DPPE/DPPA = 0 */
> +               clrbits32(regs + FSL_SRDSCR0_OFFS, FSL_SRDSCR0_DPP_1V2);
> +
> +               /* VDD = 0 */
> +               clrbits32(regs + FSL_SRDSCR2_OFFS, FSL_SRDSCR2_VDD_1V2);
> +       }
> +
> +       /* protocol specific configuration */
> +       if (!strcmp(prot, "sata")) {
> +               /* Set and clear reset bits */
> +               setbits32(regs + FSL_SRDSRSTCTL_OFFS,
> +                               FSL_SRDSRSTCTL_SATA_RESET);
> +               mdelay(1);
> +               clrbits32(regs + FSL_SRDSRSTCTL_OFFS,
> +                               FSL_SRDSRSTCTL_SATA_RESET);
> +
> +               /* Configure SRDSCR1 */
> +               clrbits32(regs + FSL_SRDSCR1_OFFS, FSL_SRDSCR1_PLLBW);
> +
> +               /* Configure SRDSCR2 */
> +               clrsetbits_be32(regs + FSL_SRDSCR2_OFFS,
> +                               FSL_SRDSCR2_SEIC_MASK, FSL_SRDSCR2_SEIC_SATA);
> +
> +               /* Configure SRDSCR3 */
> +               out_be32(regs + FSL_SRDSCR3_OFFS, FSL_SRDSCR3_KFR_SATA |
> +                               FSL_SRDSCR3_KPH_SATA |
> +                               FSL_SRDSCR3_SDFM_SATA_PEX |
> +                               FSL_SRDSCR3_SDTXL_SATA);
> +
> +               /* Configure SRDSCR4 */
> +               out_be32(regs + FSL_SRDSCR4_OFFS, rfcks |
> +                               FSL_SRDSCR4_PROT_SATA);
> +
> +       } else if (!strcmp(prot, "pcie")) {
> +               /* Configure SRDSCR1 */
> +               setbits32(regs + FSL_SRDSCR1_OFFS, FSL_SRDSCR1_PLLBW);
> +
> +               /* Configure SRDSCR2 */
> +               clrsetbits_be32(regs + FSL_SRDSCR2_OFFS, FSL_SRDSCR2_SEIC_MASK,
> +                               FSL_SRDSCR2_SEIC_PEX);
> +
> +               /* Configure SRDSCR3 */
> +               out_be32(regs + FSL_SRDSCR3_OFFS, FSL_SRDSCR3_SDFM_SATA_PEX);
> +
> +               /* Configure SRDSCR4 */
> +               if (of_get_property(np, "pcie-x2", NULL))
> +                       out_be32(regs + FSL_SRDSCR4_OFFS, rfcks |
> +                               FSL_SRDSCR4_PROT_PEX | FSL_SRDSCR4_PLANE_X2);
> +               else
> +                       out_be32(regs + FSL_SRDSCR4_OFFS, rfcks |
> +                               FSL_SRDSCR4_PROT_PEX);
> +
> +       } else if (!strcmp(prot, "sgmii")) {
> +               /* Configure SRDSCR1 */
> +               clrbits32(regs + FSL_SRDSCR1_OFFS, FSL_SRDSCR1_PLLBW);
> +
> +               /* Configure SRDSCR2 */
> +               clrsetbits_be32(regs + FSL_SRDSCR2_OFFS, FSL_SRDSCR2_SEIC_MASK,
> +                               FSL_SRDSCR2_SEIC_SGMII);
> +
> +               /* Configure SRDSCR3 */
> +               out_be32(regs + FSL_SRDSCR3_OFFS, 0);
> +
> +               /* Configure SRDSCR4 */
> +               out_be32(regs + FSL_SRDSCR4_OFFS, rfcks |
> +                               FSL_SRDSCR4_PROT_SGMII);
> +
> +       } else {
> +               printk(KERN_ERR "SerDes: Wrong protocol\n");
> +               goto out;
> +       }
> +
> +       /* Do a software reset */
> +       setbits32(regs + FSL_SRDSRSTCTL_OFFS, FSL_SRDSRSTCTL_RST);
> +       iounmap(regs);
> +
> +       dev_printk(KERN_INFO, &ofdev->dev, "Initialized as %s\n", prot);
> +
> +       return 0;
> +out:
> +       iounmap(regs);
> +       return -EINVAL;
> +}
> +
> +static struct of_device_id fsl_serdes_match[] = {
> +       {
> +               .compatible = "fsl,serdes",
> +       },
> +       {},
> +};
> +
> +static struct of_platform_driver fsl_serdes_driver = {
> +       .name           = "fsl-serdes",
> +       .match_table    = fsl_serdes_match,
> +       .probe          = fsl_serdes_probe,
> +};
> +
> +static int __init fsl_serdes_init(void)
> +{
> +       of_register_platform_driver(&fsl_serdes_driver);
> +       return 0;
> +}
> +device_initcall(fsl_serdes_init);
> --
> 1.5.3.2.104.g41ef
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195

^ permalink raw reply

* Re: [PATCH] bestcomm: Restrict disabling of bus prefetch to original mpc5200 silicon.
From: Sven Luther @ 2007-10-19 15:35 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-dev, Domen Puncer
In-Reply-To: <fa686aa40710190609jebd4e31q9240d2ff5b4a5d47@mail.gmail.com>

On Fri, Oct 19, 2007 at 07:09:16AM -0600, Grant Likely wrote:
> On 10/19/07, Domen Puncer <domen.puncer@telargo.com> wrote:
> > On 17/10/07 10:36 -0600, Grant Likely wrote:
> > > From: Grant Likely <grant.likely@secretlab.ca>
> > >
> > > Only the MPC5200 needs this bug fix.  MPC5200B is okay.
> > >
> > > Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
> > > ---
> > >
> > > Sven, Domen;
> > >
> > > Can you please test this patch?
> >
> > I found no obvious problems with it on Efika (mpc5200b)
> 
> Cool, I'll add it to my list of patches for Paulus to pull

Sorry, i have not had time to test, but there is a problem with the
userland serial console i want to investigate. At the latest i will test
this on monday.

Friendly,

Sven Luther

^ permalink raw reply

* [patch 3/4] 4xx: Enable EMAC for PPC405 Walnut board
From: Josh Boyer @ 2007-10-19 14:53 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <20071019145307.978880000@linux.vnet.ibm.com>

This patch enables the ibm_newemac driver for the Walnut board.  It fixes the
device tree for the walnut board to order the MAL interrupts correctly and
adds the local-mac-address property to the EMAC node.  The bootwrapper is also
updated to extract the MAC address from the OpenBIOS offset where it is stored.

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
---
 arch/powerpc/boot/dts/walnut.dts      |   12 +++-
 arch/powerpc/boot/treeboot-walnut.c   |    2 
 arch/powerpc/configs/walnut_defconfig |   94 +++++++++++++++++++---------------
 arch/powerpc/platforms/40x/Kconfig    |    1 
 4 files changed, 66 insertions(+), 43 deletions(-)

--- linux-2.6.orig/arch/powerpc/boot/dts/walnut.dts
+++ linux-2.6/arch/powerpc/boot/dts/walnut.dts
@@ -64,10 +64,15 @@
 		MAL: mcmal {
 			compatible = "ibm,mcmal-405gp", "ibm,mcmal";
 			dcr-reg = <180 62>;
-			num-tx-chans = <2>;
+			num-tx-chans = <1>;
 			num-rx-chans = <1>;
 			interrupt-parent = <&UIC0>;
-			interrupts = <a 4 b 4 c 4 d 4 e 4>;
+			interrupts = <
+				b 4 /* TXEOB */
+				c 4 /* RXEOB */
+				a 4 /* SERR */
+				d 4 /* TXDE */
+				e 4 /* RXDE */>;
 		};
 
 		POB0: opb {
@@ -118,9 +123,10 @@
 				compatible = "ibm,emac-405gp", "ibm,emac";
 				interrupt-parent = <&UIC0>;
 				interrupts = <9 4 f 4>;
+				local-mac-address = [000000000000]; /* Filled in by zImage */
 				reg = <ef600800 70>;
 				mal-device = <&MAL>;
-				mal-tx-channel = <0 1>;
+				mal-tx-channel = <0>;
 				mal-rx-channel = <0>;
 				cell-index = <0>;
 				max-frame-size = <5dc>;
--- linux-2.6.orig/arch/powerpc/configs/walnut_defconfig
+++ linux-2.6/arch/powerpc/configs/walnut_defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23-rc4
-# Wed Sep  5 12:06:37 2007
+# Linux kernel version: 2.6.23
+# Thu Oct 18 12:54:18 2007
 #
 # CONFIG_PPC64 is not set
 
@@ -18,8 +18,13 @@ CONFIG_4xx=y
 # CONFIG_PPC_MM_SLICES is not set
 CONFIG_NOT_COHERENT_CACHE=y
 CONFIG_PPC32=y
+CONFIG_WORD_SIZE=32
 CONFIG_PPC_MERGE=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_IRQ_PER_CPU=y
 CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -63,6 +68,8 @@ CONFIG_POSIX_MQUEUE=y
 # CONFIG_AUDIT is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=14
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAIR_USER_SCHED=y
 CONFIG_SYSFS_DEPRECATED=y
 # CONFIG_RELAY is not set
 CONFIG_BLK_DEV_INITRD=y
@@ -83,7 +90,6 @@ CONFIG_FUTEX=y
 CONFIG_ANON_INODES=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_VM_EVENT_COUNTERS=y
@@ -127,7 +133,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # CONFIG_PPC_CELL is not set
 # CONFIG_PPC_CELL_NATIVE is not set
 # CONFIG_PQ2ADS is not set
+# CONFIG_KILAUEA is not set
 CONFIG_WALNUT=y
+# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
 CONFIG_405GP=y
 CONFIG_IBM405_ERR77=y
 CONFIG_IBM405_ERR51=y
@@ -148,6 +156,10 @@ CONFIG_IBM405_ERR51=y
 # Kernel options
 #
 # CONFIG_HIGHMEM is not set
+# CONFIG_TICK_ONESHOT is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
 # CONFIG_HZ_300 is not set
@@ -169,6 +181,7 @@ CONFIG_FLATMEM_MANUAL=y
 CONFIG_FLATMEM=y
 CONFIG_FLAT_NODE_MEM_MAP=y
 # CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_RESOURCES_64BIT=y
 CONFIG_ZONE_DMA_FLAG=1
@@ -177,6 +190,8 @@ CONFIG_VIRT_TO_BUS=y
 CONFIG_PROC_DEVICETREE=y
 # CONFIG_CMDLINE_BOOL is not set
 # CONFIG_PM is not set
+CONFIG_SUSPEND_UP_POSSIBLE=y
+CONFIG_HIBERNATION_UP_POSSIBLE=y
 CONFIG_SECCOMP=y
 CONFIG_WANT_DEVICE_TREE=y
 CONFIG_DEVICE_TREE="walnut.dts"
@@ -190,10 +205,6 @@ CONFIG_ZONE_DMA=y
 # CONFIG_PCI_DOMAINS is not set
 # CONFIG_PCI_SYSCALL is not set
 # CONFIG_ARCH_SUPPORTS_MSI is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
 # CONFIG_PCCARD is not set
 
 #
@@ -207,7 +218,7 @@ CONFIG_ZONE_DMA=y
 CONFIG_HIGHMEM_START=0xfe000000
 CONFIG_LOWMEM_SIZE=0x30000000
 CONFIG_KERNEL_START=0xc0000000
-CONFIG_TASK_SIZE=0x80000000
+CONFIG_TASK_SIZE=0xc0000000
 CONFIG_CONSISTENT_START=0xff100000
 CONFIG_CONSISTENT_SIZE=0x00200000
 CONFIG_BOOT_LOAD=0x00400000
@@ -244,6 +255,7 @@ CONFIG_IP_PNP_BOOTP=y
 # 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
@@ -301,6 +313,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
 #
 # Generic Driver Options
 #
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_FW_LOADER=y
@@ -328,6 +341,7 @@ CONFIG_MTD_BLOCK=m
 # 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
@@ -360,7 +374,6 @@ CONFIG_MTD_CFI_UTIL=y
 # CONFIG_MTD_COMPLEX_MAPPINGS is not set
 # CONFIG_MTD_PHYSMAP is not set
 CONFIG_MTD_PHYSMAP_OF=y
-# CONFIG_MTD_WALNUT is not set
 # CONFIG_MTD_PLATRAM is not set
 
 #
@@ -419,7 +432,22 @@ CONFIG_NETDEVICES=y
 # CONFIG_MACVLAN is not set
 # CONFIG_EQUALIZER is not set
 # CONFIG_TUN is not set
-# CONFIG_NET_ETHERNET is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+# CONFIG_MII is not set
+CONFIG_IBM_NEW_EMAC=y
+CONFIG_IBM_NEW_EMAC_RXB=128
+CONFIG_IBM_NEW_EMAC_TXB=64
+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 is not set
+CONFIG_IBM_NEW_EMAC_ZMII=y
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_B44 is not set
 CONFIG_NETDEV_1000=y
 CONFIG_NETDEV_10000=y
 
@@ -498,6 +526,12 @@ CONFIG_LEGACY_PTY_COUNT=256
 # CONFIG_HWMON is not set
 
 #
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
 # Multifunction device drivers
 #
 # CONFIG_MFD_SM501 is not set
@@ -512,16 +546,15 @@ CONFIG_LEGACY_PTY_COUNT=256
 #
 # Graphics support
 #
+# 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_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-# CONFIG_FB is not set
-# CONFIG_FB_IBM_GXT4500 is not set
 
 #
 # Sound
@@ -546,19 +579,6 @@ CONFIG_USB_SUPPORT=y
 # CONFIG_RTC_CLASS is not set
 
 #
-# DMA Engine support
-#
-# CONFIG_DMA_ENGINE is not set
-
-#
-# DMA Clients
-#
-
-#
-# DMA Devices
-#
-
-#
 # Userspace I/O
 #
 # CONFIG_UIO is not set
@@ -610,7 +630,6 @@ CONFIG_SYSFS=y
 CONFIG_TMPFS=y
 # CONFIG_TMPFS_POSIX_ACL is not set
 # CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
 # CONFIG_CONFIGFS_FS is not set
 
 #
@@ -630,10 +649,7 @@ CONFIG_CRAMFS=y
 # CONFIG_QNX4FS_FS is not set
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
+CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=y
 CONFIG_NFS_V3=y
 # CONFIG_NFS_V3_ACL is not set
@@ -659,15 +675,7 @@ CONFIG_SUNRPC=y
 #
 # CONFIG_PARTITION_ADVANCED is not set
 CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
 # CONFIG_NLS is not set
-
-#
-# Distributed Lock Manager
-#
 # CONFIG_DLM is not set
 # CONFIG_UCC_SLOW is not set
 
@@ -720,6 +728,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
 # CONFIG_DEBUG_VM is not set
 # CONFIG_DEBUG_LIST is not set
 CONFIG_FORCED_INLINING=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_FAULT_INJECTION is not set
 # CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -734,6 +743,7 @@ CONFIG_FORCED_INLINING=y
 #
 # CONFIG_KEYS is not set
 # CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
 CONFIG_CRYPTO=y
 CONFIG_CRYPTO_ALGAPI=y
 CONFIG_CRYPTO_BLKCIPHER=y
@@ -753,6 +763,7 @@ CONFIG_CRYPTO_ECB=y
 CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_PCBC=y
 # CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_XTS is not set
 # CONFIG_CRYPTO_CRYPTD is not set
 CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_FCRYPT is not set
@@ -766,9 +777,12 @@ CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_ARC4 is not set
 # CONFIG_CRYPTO_KHAZAD is not set
 # CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_SEED is not set
 # CONFIG_CRYPTO_DEFLATE is not set
 # CONFIG_CRYPTO_MICHAEL_MIC is not set
 # CONFIG_CRYPTO_CRC32C is not set
 # CONFIG_CRYPTO_CAMELLIA is not set
 # CONFIG_CRYPTO_TEST is not set
+# CONFIG_CRYPTO_AUTHENC is not set
 CONFIG_CRYPTO_HW=y
+# CONFIG_PPC_CLOCK is not set
--- linux-2.6.orig/arch/powerpc/platforms/40x/Kconfig
+++ linux-2.6/arch/powerpc/platforms/40x/Kconfig
@@ -100,6 +100,7 @@ config 405GP
 	bool
 	select IBM405_ERR77
 	select IBM405_ERR51
+	select IBM_NEW_EMAC_ZMII
 
 config 405EP
 	bool
--- linux-2.6.orig/arch/powerpc/boot/treeboot-walnut.c
+++ linux-2.6/arch/powerpc/boot/treeboot-walnut.c
@@ -109,6 +109,7 @@ static void walnut_flashsel_fixup(void)
 	setprop(sram, "reg", reg_sram, sizeof(reg_sram));
 }
 
+#define WALNUT_OPENBIOS_MAC_OFF 0xfffffe0b
 static void walnut_fixups(void)
 {
 	ibm4xx_fixup_memsize();
@@ -116,6 +117,7 @@ static void walnut_fixups(void)
 	ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
 	ibm4xx_fixup_ebc_ranges("/plb/ebc");
 	walnut_flashsel_fixup();
+	dt_fixup_mac_addresses((u8 *) WALNUT_OPENBIOS_MAC_OFF);
 }
 
 void platform_init(void)

-- 

^ permalink raw reply

* [patch 4/4] 4xx: Enable EMAC on Bamboo board
From: Josh Boyer @ 2007-10-19 14:53 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <20071019145307.978880000@linux.vnet.ibm.com>

Fix some device tree omissions that prevented the new EMAC driver from
setting up ethernet on the Bamboo board correctly and update the Bamboo
defconfig.

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>

---
 arch/powerpc/boot/dts/bamboo.dts      |   10 ++
 arch/powerpc/configs/bamboo_defconfig |  114 ++++++++++++++++++++--------------
 arch/powerpc/platforms/44x/Kconfig    |    2 
 3 files changed, 76 insertions(+), 50 deletions(-)

--- linux-2.6.orig/arch/powerpc/platforms/44x/Kconfig
+++ linux-2.6/arch/powerpc/platforms/44x/Kconfig
@@ -43,7 +43,7 @@ config 440EP
 	bool
 	select PPC_FPU
 	select IBM440EP_ERR42
-#	select IBM_NEW_EMAC_ZMII
+	select IBM_NEW_EMAC_ZMII
 
 config 440EPX
 	bool
--- linux-2.6.orig/arch/powerpc/boot/dts/bamboo.dts
+++ linux-2.6/arch/powerpc/boot/dts/bamboo.dts
@@ -98,11 +98,13 @@
 			interrupt-parent = <&MAL0>;
 			interrupts = <0 1 2 3 4>;
 			#interrupt-cells = <1>;
+			#address-cells = <0>;
+			#size-cells = <0>;
 			interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
 					/*RXEOB*/ 1 &UIC0 b 4
 					/*SERR*/  2 &UIC1 0 4
 					/*TXDE*/  3 &UIC1 1 4
-					/*RXDE*/  4 &UIC1 3 4>;
+					/*RXDE*/  4 &UIC1 2 4>;
 		};
 
 		POB0: opb {
@@ -196,6 +198,7 @@
 			};
 
 			EMAC0: ethernet@ef600e00 {
+				linux,network-index = <0>;
 				device_type = "network";
 				compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
 				interrupt-parent = <&UIC1>;
@@ -210,12 +213,13 @@
 				rx-fifo-size = <1000>;
 				tx-fifo-size = <800>;
 				phy-mode = "rmii";
-				phy-map = <00000001>;
+				phy-map = <00000000>;
 				zmii-device = <&ZMII0>;
 				zmii-channel = <0>;
 			};
 
 			EMAC1: ethernet@ef600f00 {
+				linux,network-index = <1>;
 				device_type = "network";
 				compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
 				interrupt-parent = <&UIC1>;
@@ -230,7 +234,7 @@
 				rx-fifo-size = <1000>;
 				tx-fifo-size = <800>;
 				phy-mode = "rmii";
-				phy-map = <00000001>;
+				phy-map = <00000000>;
 				zmii-device = <&ZMII0>;
 				zmii-channel = <1>;
 			};
--- linux-2.6.orig/arch/powerpc/configs/bamboo_defconfig
+++ linux-2.6/arch/powerpc/configs/bamboo_defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23-rc1
-# Fri Aug  3 10:46:53 2007
+# Linux kernel version: 2.6.23
+# Fri Oct 19 09:01:11 2007
 #
 # CONFIG_PPC64 is not set
 
@@ -22,8 +22,13 @@ CONFIG_PHYS_64BIT=y
 # CONFIG_PPC_MM_SLICES is not set
 CONFIG_NOT_COHERENT_CACHE=y
 CONFIG_PPC32=y
+CONFIG_WORD_SIZE=32
 CONFIG_PPC_MERGE=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_IRQ_PER_CPU=y
 CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -67,6 +72,8 @@ CONFIG_POSIX_MQUEUE=y
 # CONFIG_AUDIT is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=14
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAIR_USER_SCHED=y
 CONFIG_SYSFS_DEPRECATED=y
 # CONFIG_RELAY is not set
 CONFIG_BLK_DEV_INITRD=y
@@ -87,7 +94,6 @@ CONFIG_FUTEX=y
 CONFIG_ANON_INODES=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_VM_EVENT_COUNTERS=y
@@ -133,6 +139,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # CONFIG_PQ2ADS is not set
 CONFIG_BAMBOO=y
 # CONFIG_EBONY is not set
+# CONFIG_SEQUOIA is not set
 CONFIG_440EP=y
 CONFIG_IBM440EP_ERR42=y
 # CONFIG_MPIC is not set
@@ -146,11 +153,16 @@ CONFIG_IBM440EP_ERR42=y
 # CONFIG_GENERIC_IOMAP is not set
 # CONFIG_CPU_FREQ is not set
 # CONFIG_CPM2 is not set
+# CONFIG_FSL_ULI1575 is not set
 
 #
 # Kernel options
 #
 # CONFIG_HIGHMEM is not set
+# CONFIG_TICK_ONESHOT is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
 # CONFIG_HZ_300 is not set
@@ -172,6 +184,7 @@ CONFIG_FLATMEM_MANUAL=y
 CONFIG_FLATMEM=y
 CONFIG_FLAT_NODE_MEM_MAP=y
 # CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_RESOURCES_64BIT=y
 CONFIG_ZONE_DMA_FLAG=1
@@ -197,10 +210,6 @@ CONFIG_PCI_SYSCALL=y
 CONFIG_ARCH_SUPPORTS_MSI=y
 # CONFIG_PCI_MSI is not set
 # CONFIG_PCI_DEBUG is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
 # CONFIG_PCCARD is not set
 # CONFIG_HOTPLUG_PCI is not set
 
@@ -215,7 +224,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
 CONFIG_HIGHMEM_START=0xfe000000
 CONFIG_LOWMEM_SIZE=0x30000000
 CONFIG_KERNEL_START=0xc0000000
-CONFIG_TASK_SIZE=0x80000000
+CONFIG_TASK_SIZE=0xc0000000
 CONFIG_CONSISTENT_START=0xff100000
 CONFIG_CONSISTENT_SIZE=0x00200000
 CONFIG_BOOT_LOAD=0x01000000
@@ -252,6 +261,7 @@ CONFIG_IP_PNP_BOOTP=y
 # 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
@@ -309,6 +319,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
 #
 # Generic Driver Options
 #
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_FW_LOADER=y
@@ -353,10 +364,6 @@ CONFIG_MISC_DEVICES=y
 # CONFIG_SCSI_NETLINK is not set
 # CONFIG_ATA is not set
 # CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
 # CONFIG_FUSION is not set
 
 #
@@ -375,12 +382,36 @@ CONFIG_NETDEVICES=y
 # CONFIG_MACVLAN is not set
 # CONFIG_EQUALIZER is not set
 # CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_IP1000 is not set
 # CONFIG_ARCNET is not set
-# CONFIG_NET_ETHERNET 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=128
+CONFIG_IBM_NEW_EMAC_TXB=64
+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 is not set
+CONFIG_IBM_NEW_EMAC_ZMII=y
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_B44 is not set
 CONFIG_NETDEV_1000=y
 # CONFIG_ACENIC is not set
 # CONFIG_DL2K is not set
 # CONFIG_E1000 is not set
+# CONFIG_E1000E is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
@@ -388,6 +419,7 @@ CONFIG_NETDEV_1000=y
 # CONFIG_SIS190 is not set
 # CONFIG_SKGE is not set
 # CONFIG_SKY2 is not set
+# CONFIG_SK98LIN is not set
 # CONFIG_VIA_VELOCITY is not set
 # CONFIG_TIGON3 is not set
 # CONFIG_BNX2 is not set
@@ -396,11 +428,14 @@ CONFIG_NETDEV_1000=y
 CONFIG_NETDEV_10000=y
 # CONFIG_CHELSIO_T1 is not set
 # CONFIG_CHELSIO_T3 is not set
+# CONFIG_IXGBE is not set
 # CONFIG_IXGB is not set
 # CONFIG_S2IO is not set
 # CONFIG_MYRI10GE is not set
 # CONFIG_NETXEN_NIC is not set
+# CONFIG_NIU is not set
 # CONFIG_MLX4_CORE is not set
+# CONFIG_TEHUTI is not set
 # CONFIG_TR is not set
 
 #
@@ -463,14 +498,11 @@ CONFIG_UNIX98_PTYS=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=256
 # CONFIG_IPMI_HANDLER is not set
-# CONFIG_WATCHDOG 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_AGP is not set
-# CONFIG_DRM is not set
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_TCG_TPM is not set
 CONFIG_DEVPORT=y
@@ -484,6 +516,13 @@ CONFIG_DEVPORT=y
 # CONFIG_W1 is not set
 # CONFIG_POWER_SUPPLY is not set
 # CONFIG_HWMON is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
 
 #
 # Multifunction device drivers
@@ -500,16 +539,17 @@ 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_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-# CONFIG_FB is not set
-# CONFIG_FB_IBM_GXT4500 is not set
 
 #
 # Sound
@@ -536,19 +576,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
 # CONFIG_RTC_CLASS is not set
 
 #
-# DMA Engine support
-#
-# CONFIG_DMA_ENGINE is not set
-
-#
-# DMA Clients
-#
-
-#
-# DMA Devices
-#
-
-#
 # Userspace I/O
 #
 # CONFIG_UIO is not set
@@ -600,7 +627,6 @@ CONFIG_SYSFS=y
 CONFIG_TMPFS=y
 # CONFIG_TMPFS_POSIX_ACL is not set
 # CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
 # CONFIG_CONFIGFS_FS is not set
 
 #
@@ -619,10 +645,7 @@ CONFIG_CRAMFS=y
 # CONFIG_QNX4FS_FS is not set
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
+CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=y
 CONFIG_NFS_V3=y
 # CONFIG_NFS_V3_ACL is not set
@@ -648,15 +671,7 @@ CONFIG_SUNRPC=y
 #
 # CONFIG_PARTITION_ADVANCED is not set
 CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
 # CONFIG_NLS is not set
-
-#
-# Distributed Lock Manager
-#
 # CONFIG_DLM is not set
 # CONFIG_UCC_SLOW is not set
 
@@ -709,6 +724,7 @@ CONFIG_SCHED_DEBUG=y
 # CONFIG_DEBUG_VM is not set
 # CONFIG_DEBUG_LIST is not set
 CONFIG_FORCED_INLINING=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_FAULT_INJECTION is not set
 # CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -728,6 +744,7 @@ CONFIG_PPC_EARLY_DEBUG=y
 # CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
 # CONFIG_PPC_EARLY_DEBUG_BEAT is not set
 CONFIG_PPC_EARLY_DEBUG_44x=y
+# CONFIG_PPC_EARLY_DEBUG_CPM is not set
 CONFIG_PPC_EARLY_DEBUG_44x_PHYSLOW=0xef600300
 CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x0
 
@@ -736,6 +753,7 @@ CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x0
 #
 # CONFIG_KEYS is not set
 # CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
 CONFIG_CRYPTO=y
 CONFIG_CRYPTO_ALGAPI=y
 CONFIG_CRYPTO_BLKCIPHER=y
@@ -755,6 +773,7 @@ CONFIG_CRYPTO_ECB=y
 CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_PCBC=y
 # CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_XTS is not set
 # CONFIG_CRYPTO_CRYPTD is not set
 CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_FCRYPT is not set
@@ -768,9 +787,12 @@ CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_ARC4 is not set
 # CONFIG_CRYPTO_KHAZAD is not set
 # CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_SEED is not set
 # CONFIG_CRYPTO_DEFLATE is not set
 # CONFIG_CRYPTO_MICHAEL_MIC is not set
 # CONFIG_CRYPTO_CRC32C is not set
 # CONFIG_CRYPTO_CAMELLIA is not set
 # CONFIG_CRYPTO_TEST is not set
+# CONFIG_CRYPTO_AUTHENC is not set
 CONFIG_CRYPTO_HW=y
+# CONFIG_PPC_CLOCK is not set

-- 

^ permalink raw reply

* [patch 2/4] 4xx: Fix timebase clock selection on Walnut
From: Josh Boyer @ 2007-10-19 14:53 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <20071019145307.978880000@linux.vnet.ibm.com>

The current bootwrapper fails to set the timebase clock to the CPU clock
which causes the time to increment incorrectly.  This fixes it by using the
correct #define for the CPC0_CR1 register.

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
---
 arch/powerpc/boot/treeboot-walnut.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.orig/arch/powerpc/boot/treeboot-walnut.c
+++ linux-2.6/arch/powerpc/boot/treeboot-walnut.c
@@ -57,8 +57,8 @@ void ibm405gp_fixup_clocks(unsigned int 
 	}
 
 	/* setup the timebase clock to tick at the cpu frequency */
-	cpc0_cr1 = cpc0_cr1 & ~ 0x00800000;
-	mtdcr(DCRN_CPC0_CR1, cpc0_cr1);
+	cpc0_cr1 = cpc0_cr1 & ~0x00800000;
+	mtdcr(DCRN_405_CPC0_CR1, cpc0_cr1);
 	tb = cpu;
 
 	dt_fixup_cpu_clocks(cpu, tb, 0);

-- 

^ permalink raw reply

* [patch 1/4] 4xx: Enable EMAC on the PPC 440GP Ebony board
From: Josh Boyer @ 2007-10-19 14:53 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <20071019145307.978880000@linux.vnet.ibm.com>

Update the Ebony defconfig to enable the ibm_newemac driver.

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
---
 arch/powerpc/configs/ebony_defconfig |  115 +++++++++++++++++++++--------------
 1 file changed, 70 insertions(+), 45 deletions(-)

--- linux-2.6.orig/arch/powerpc/configs/ebony_defconfig
+++ linux-2.6/arch/powerpc/configs/ebony_defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23-rc4
-# Thu Aug 30 16:34:11 2007
+# Linux kernel version: 2.6.23
+# Thu Oct 18 08:01:57 2007
 #
 # CONFIG_PPC64 is not set
 
@@ -21,8 +21,13 @@ CONFIG_PHYS_64BIT=y
 # CONFIG_PPC_MM_SLICES is not set
 CONFIG_NOT_COHERENT_CACHE=y
 CONFIG_PPC32=y
+CONFIG_WORD_SIZE=32
 CONFIG_PPC_MERGE=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_IRQ_PER_CPU=y
 CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -66,6 +71,8 @@ CONFIG_POSIX_MQUEUE=y
 # CONFIG_AUDIT is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=14
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_FAIR_USER_SCHED=y
 CONFIG_SYSFS_DEPRECATED=y
 # CONFIG_RELAY is not set
 CONFIG_BLK_DEV_INITRD=y
@@ -86,7 +93,6 @@ CONFIG_FUTEX=y
 CONFIG_ANON_INODES=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_VM_EVENT_COUNTERS=y
@@ -130,7 +136,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # 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=y
+# CONFIG_SEQUOIA is not set
 CONFIG_440GP=y
 # CONFIG_MPIC is not set
 # CONFIG_MPIC_WEIRD is not set
@@ -149,6 +157,10 @@ CONFIG_440GP=y
 # Kernel options
 #
 # CONFIG_HIGHMEM is not set
+# CONFIG_TICK_ONESHOT is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
 # CONFIG_HZ_300 is not set
@@ -170,6 +182,7 @@ CONFIG_FLATMEM_MANUAL=y
 CONFIG_FLATMEM=y
 CONFIG_FLAT_NODE_MEM_MAP=y
 # CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_RESOURCES_64BIT=y
 CONFIG_ZONE_DMA_FLAG=1
@@ -194,10 +207,6 @@ CONFIG_PCI_SYSCALL=y
 CONFIG_ARCH_SUPPORTS_MSI=y
 # CONFIG_PCI_MSI is not set
 # CONFIG_PCI_DEBUG is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
 # CONFIG_PCCARD is not set
 # CONFIG_HOTPLUG_PCI is not set
 
@@ -212,7 +221,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
 CONFIG_HIGHMEM_START=0xfe000000
 CONFIG_LOWMEM_SIZE=0x30000000
 CONFIG_KERNEL_START=0xc0000000
-CONFIG_TASK_SIZE=0x80000000
+CONFIG_TASK_SIZE=0xc0000000
 CONFIG_CONSISTENT_START=0xff100000
 CONFIG_CONSISTENT_SIZE=0x00200000
 CONFIG_BOOT_LOAD=0x01000000
@@ -249,6 +258,7 @@ CONFIG_IP_PNP_BOOTP=y
 # 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
@@ -306,6 +316,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
 #
 # Generic Driver Options
 #
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 CONFIG_FW_LOADER=y
@@ -332,6 +343,7 @@ CONFIG_MTD_BLOCK=y
 # 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
@@ -364,6 +376,7 @@ CONFIG_MTD_CFI_UTIL=y
 # 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
 
 #
@@ -423,10 +436,6 @@ CONFIG_MISC_DEVICES=y
 # CONFIG_SCSI_NETLINK is not set
 # CONFIG_ATA is not set
 # CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
 # CONFIG_FUSION is not set
 
 #
@@ -443,12 +452,36 @@ CONFIG_NETDEVICES=y
 # CONFIG_MACVLAN is not set
 # CONFIG_EQUALIZER is not set
 # CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_IP1000 is not set
 # CONFIG_ARCNET is not set
-# CONFIG_NET_ETHERNET 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=128
+CONFIG_IBM_NEW_EMAC_TXB=64
+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 is not set
+CONFIG_IBM_NEW_EMAC_ZMII=y
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_B44 is not set
 CONFIG_NETDEV_1000=y
 # CONFIG_ACENIC is not set
 # CONFIG_DL2K is not set
 # CONFIG_E1000 is not set
+# CONFIG_E1000E is not set
 # CONFIG_NS83820 is not set
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
@@ -456,6 +489,7 @@ CONFIG_NETDEV_1000=y
 # CONFIG_SIS190 is not set
 # CONFIG_SKGE is not set
 # CONFIG_SKY2 is not set
+# CONFIG_SK98LIN is not set
 # CONFIG_VIA_VELOCITY is not set
 # CONFIG_TIGON3 is not set
 # CONFIG_BNX2 is not set
@@ -464,11 +498,14 @@ CONFIG_NETDEV_1000=y
 CONFIG_NETDEV_10000=y
 # CONFIG_CHELSIO_T1 is not set
 # CONFIG_CHELSIO_T3 is not set
+# CONFIG_IXGBE is not set
 # CONFIG_IXGB is not set
 # CONFIG_S2IO is not set
 # CONFIG_MYRI10GE is not set
 # CONFIG_NETXEN_NIC is not set
+# CONFIG_NIU is not set
 # CONFIG_MLX4_CORE is not set
+# CONFIG_TEHUTI is not set
 # CONFIG_TR is not set
 
 #
@@ -537,8 +574,6 @@ CONFIG_LEGACY_PTY_COUNT=256
 # CONFIG_GEN_RTC is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_TCG_TPM is not set
 CONFIG_DEVPORT=y
@@ -554,6 +589,12 @@ CONFIG_DEVPORT=y
 # CONFIG_HWMON is not set
 
 #
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
 # Multifunction device drivers
 #
 # CONFIG_MFD_SM501 is not set
@@ -568,16 +609,17 @@ CONFIG_DEVPORT=y
 #
 # Graphics support
 #
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+# CONFIG_FB is not set
 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
 
 #
 # Display device support
 #
 # CONFIG_DISPLAY_SUPPORT is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
-# CONFIG_FB_IBM_GXT4500 is not set
 
 #
 # Sound
@@ -604,19 +646,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
 # CONFIG_RTC_CLASS is not set
 
 #
-# DMA Engine support
-#
-# CONFIG_DMA_ENGINE is not set
-
-#
-# DMA Clients
-#
-
-#
-# DMA Devices
-#
-
-#
 # Userspace I/O
 #
 # CONFIG_UIO is not set
@@ -668,7 +697,6 @@ CONFIG_SYSFS=y
 CONFIG_TMPFS=y
 # CONFIG_TMPFS_POSIX_ACL is not set
 # CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
 # CONFIG_CONFIGFS_FS is not set
 
 #
@@ -684,10 +712,12 @@ CONFIG_RAMFS=y
 CONFIG_JFFS2_FS=y
 CONFIG_JFFS2_FS_DEBUG=0
 CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
 # CONFIG_JFFS2_SUMMARY is not set
 # CONFIG_JFFS2_FS_XATTR is not set
 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
 CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
 CONFIG_JFFS2_RTIME=y
 # CONFIG_JFFS2_RUBIN is not set
 CONFIG_CRAMFS=y
@@ -696,10 +726,7 @@ CONFIG_CRAMFS=y
 # CONFIG_QNX4FS_FS is not set
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
+CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=y
 CONFIG_NFS_V3=y
 # CONFIG_NFS_V3_ACL is not set
@@ -725,15 +752,7 @@ CONFIG_SUNRPC=y
 #
 # CONFIG_PARTITION_ADVANCED is not set
 CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
 # CONFIG_NLS is not set
-
-#
-# Distributed Lock Manager
-#
 # CONFIG_DLM is not set
 # CONFIG_UCC_SLOW is not set
 
@@ -787,6 +806,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
 # CONFIG_DEBUG_VM is not set
 # CONFIG_DEBUG_LIST is not set
 CONFIG_FORCED_INLINING=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_FAULT_INJECTION is not set
 # CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -801,6 +821,7 @@ CONFIG_FORCED_INLINING=y
 #
 # CONFIG_KEYS is not set
 # CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
 CONFIG_CRYPTO=y
 CONFIG_CRYPTO_ALGAPI=y
 CONFIG_CRYPTO_BLKCIPHER=y
@@ -820,6 +841,7 @@ CONFIG_CRYPTO_ECB=y
 CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_PCBC=y
 # CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_XTS is not set
 # CONFIG_CRYPTO_CRYPTD is not set
 CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_FCRYPT is not set
@@ -833,9 +855,12 @@ CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_ARC4 is not set
 # CONFIG_CRYPTO_KHAZAD is not set
 # CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_SEED is not set
 # CONFIG_CRYPTO_DEFLATE is not set
 # CONFIG_CRYPTO_MICHAEL_MIC is not set
 # CONFIG_CRYPTO_CRC32C is not set
 # CONFIG_CRYPTO_CAMELLIA is not set
 # CONFIG_CRYPTO_TEST is not set
+# CONFIG_CRYPTO_AUTHENC is not set
 # CONFIG_CRYPTO_HW is not set
+# CONFIG_PPC_CLOCK is not set

-- 

^ permalink raw reply

* [patch 0/4] Small 4xx fixes for 2.6.24
From: Josh Boyer @ 2007-10-19 14:53 UTC (permalink / raw)
  To: linuxppc-dev

This series of patches enables the EMAC driver for the Ebony, Walnut, and
Bamboo boards.  There's also a timebase fix for Walnut.

I'll put these and a few other patches that have been sent to me into my git
tree later today and ask Paul to pull.

josh  

-- 

^ permalink raw reply

* Re: FDT bindings for I2C devices
From: Grant Likely @ 2007-10-19 14:38 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: linuxppc-embedded
In-Reply-To: <4718BB40.2050901@grandegger.com>

On 10/19/07, Wolfgang Grandegger <wg@grandegger.com> wrote:
> Hello,
>
> is it forseen to define and configure devices like RTC, temperature
> sensors or EEPROM on the I2C bus with the Flat Device Tree? If yes, how
> would the DTS entries look like?

booting-without-of.txt has some information about describing the controller.

Scott Wood made an attempt at defining a device binding for I2C
devices, but it has not been merged into booting-without-of.txt yet.
I've copied what he wrote below.  I would add to his definition the
following:
- If compatible is missing, driver should *not* fall back to the device name.
- 'compatible' list should include the exact device in the form "<mfg>,<part>"

Cheers,
g.

Here's the thread and an excerpt from Scott's original post:

http://patchwork.ozlabs.org/linuxppc/patch?id=11223

+   e2) I2C Devices
+
+   Required properties :
+
+    - reg : Unshifted 7-bit I2C address for the device
+
+   Recommended properties :
+
+    - compatible : The name of the Linux device driver that
+      handles this device.  If unspecified, the name of the
+      node will be used.
+    - interrupts : <a b> where a is the interrupt number and b is a
+      field that represents an encoding of the sense and level
+      information for the interrupt.  This should be encoded based on
+      the information in section 2) depending on the type of interrupt
+      controller you have.
+    - interrupt-parent : the phandle for the interrupt controller that
+      services interrupts for this device.
+
+   Example :
+
+       rtc@68 {
+               device_type = "rtc";
+               compatible = "ds1374";
+               reg = <68>;
+               interrupts = <13 8>;
+               interrupt-parent = <700>;
+       };

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195

^ permalink raw reply

* Re: [PATCH] [POWERPC] ucc_geth: Eliminate compile warnings
From: Timur Tabi @ 2007-10-19 14:35 UTC (permalink / raw)
  To: Emil Medve; +Cc: netdev, leoli, jgarzik, linuxppc-dev
In-Reply-To: <1192745713-20829-1-git-send-email-Emilian.Medve@Freescale.com>

Emil Medve wrote:
> drivers/net/ucc_geth.c: In function 'ucc_geth_startup':
> drivers/net/ucc_geth.c:2614: warning: assignment makes integer from pointer without a cast
> drivers/net/ucc_geth.c:2651: warning: assignment makes integer from pointer without a cast
> 
> Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>

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

^ permalink raw reply

* re: Linux root file system with X window support for a powerpc board
From: Alan Bennett @ 2007-10-19 14:29 UTC (permalink / raw)
  To: mahendravarman15, linuxppc-dev

debian:
(on x86/fedora development system) (used on 82xx)
  1. debootstrap with the --foreign
    i.e. debootstrap --arch powerpc etch http://mirrors.kernel.org/debian
    mannually create an inittab, create/copy some default /dev entries

  2. boot 74xx target with above root filesystem, run
/debootstrap/debootstrap --second-stage
  Now add in packages using apt-get (or add them initially in step 1)

-Alan


Hi all

Can anybody help me how to create a Linux root file system with X
window support for a powerpc 74xx based board ?

Any documents/links  related to that is also welcome

Thanks in advance

R.Mahendravarman

^ permalink raw reply

* Re: Linux root file system with X window support for a powerpc board
From: Sebastian Siewior @ 2007-10-19 14:29 UTC (permalink / raw)
  To: mahendra varman; +Cc: XFree86, linuxppc-embedded
In-Reply-To: <4ac2955e0710190700q41fe7f6bw8956c5b12be1fa7f@mail.gmail.com>

* mahendra varman | 2007-10-19 19:30:37 [+0530]:

>Can anybody help me how to create a Linux root file system with X window
>support for a powerpc 74xx based board ?
>
>Any documents/links  related to that is also welcome
If you are familiar with Gentoo based systems I would recommend [1].

>R.Mahendravarman

[1] http://www.gentoo.org/proj/en/base/embedded/cross-development.xml

Sebastian

^ permalink raw reply


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