LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] ppc32: add CONFIG_HZ
From: Tom Rini @ 2005-08-26 23:13 UTC (permalink / raw)
  To: Dan Malek; +Cc: Andrew Morton, linuxppc-dev, Kumar Gala
In-Reply-To: <da1e14409c0face6cee5b4d5fa750c00@embeddededge.com>

On Fri, Aug 26, 2005 at 07:07:01PM -0400, Dan Malek wrote:
> 
> On Aug 26, 2005, at 6:55 PM, Tom Rini wrote:
> 
> >Yes, it was.  With 2.6.13 and on i386 (and other arches that actually
> >make use of the question) it can be any of 100, 250 or 1000.
> 
> Well, 250 just seems wrong as I mentioned in a previous message.
> It will function, but an application is going to see lots of clock 
> jitter
> unless you work in multiples of 100.  My choices would be 100, 200,
> 500, or 1000.

That's an arguement for lkml.  But as I recall things, there shouldn't
be jitter, probably, with non multiples of 100.  There was some
discussion, and a fair bit of flaming about all of this on lkml.  I
think with some sort of numbers Linus might buy another choice added to
the list, but refuses anything "in theory" (this stems in part from the
must be 1000 crowd not being happy about 250 as the default).

-- 
Tom Rini
http://gate.crashing.org/~trini/

^ permalink raw reply

* Re: [PATCH] ppc32: add CONFIG_HZ
From: Dan Malek @ 2005-08-26 23:07 UTC (permalink / raw)
  To: Tom Rini; +Cc: Andrew Morton, linuxppc-dev, Kumar Gala
In-Reply-To: <20050826225509.GF5541@smtp.west.cox.net>


On Aug 26, 2005, at 6:55 PM, Tom Rini wrote:

> Yes, it was.  With 2.6.13 and on i386 (and other arches that actually
> make use of the question) it can be any of 100, 250 or 1000.

Well, 250 just seems wrong as I mentioned in a previous message.
It will function, but an application is going to see lots of clock 
jitter
unless you work in multiples of 100.  My choices would be 100, 200,
500, or 1000.

Thanks.

	-- Dan

^ permalink raw reply

* Re: [PATCH] ppc32: add CONFIG_HZ
From: Tom Rini @ 2005-08-26 22:55 UTC (permalink / raw)
  To: Rune Torgersen; +Cc: Andrew Morton, linuxppc-dev, Kumar Gala
In-Reply-To: <DCEAAC0833DD314AB0B58112AD99B93B859440@ismail.innsys.innovsys.com>

On Fri, Aug 26, 2005 at 05:48:53PM -0500, Rune Torgersen wrote:
> On Friday, August 26, 2005 16:32 Tom Rini wrote:
> > So 250 is supposed to be the best choice of power vs latency and such.
> > But hey, there's nothing stopping us from setting all of the embedded
> > configs back down to 100 :)
> 
> I thought the default value for HZ in 2.6 was 1000?

Yes, it was.  With 2.6.13 and on i386 (and other arches that actually
make use of the question) it can be any of 100, 250 or 1000.

-- 
Tom Rini
http://gate.crashing.org/~trini/

^ permalink raw reply

* Re: [PATCH] ppc32: add CONFIG_HZ
From: Dan Malek @ 2005-08-26 22:54 UTC (permalink / raw)
  To: Rune Torgersen; +Cc: Andrew Morton, linuxppc-dev, Kumar Gala, Tom Rini
In-Reply-To: <DCEAAC0833DD314AB0B58112AD99B93B859440@ismail.innsys.innovsys.com>


On Aug 26, 2005, at 6:48 PM, Rune Torgersen wrote:

> I thought the default value for HZ in 2.6 was 1000?
> At least this is what it is set at for the 82xx (and bigger embedded)
> boards

Oh geeze, no wonder we can't get any performance
out of 2.6 on these boards.   Between that and the TLB
thrashing going on there's nothing left for the applications :-)


	-- Dan

^ permalink raw reply

* Re: [PATCH] ppc32: add CONFIG_HZ
From: Dan Malek @ 2005-08-26 22:52 UTC (permalink / raw)
  To: Tom Rini; +Cc: Andrew Morton, linuxppc-dev, Kumar Gala
In-Reply-To: <20050826213144.GE5541@smtp.west.cox.net>


On Aug 26, 2005, at 5:31 PM, Tom Rini wrote:

> So 250 is supposed to be the best choice of power vs latency and such.

Hahahaha!  Now I've hear it all.  I can go home now.
A proper event driven timer would be the best choice ......

Thanks.


	-- Dan

^ permalink raw reply

* RE: [PATCH] ppc32: add CONFIG_HZ
From: Rune Torgersen @ 2005-08-26 22:48 UTC (permalink / raw)
  To: Tom Rini, Dan Malek; +Cc: Andrew Morton, linuxppc-dev, Kumar Gala

On Friday, August 26, 2005 16:32 Tom Rini wrote:
> So 250 is supposed to be the best choice of power vs latency and such.
> But hey, there's nothing stopping us from setting all of the embedded
> configs back down to 100 :)

I thought the default value for HZ in 2.6 was 1000?
At least this is what it is set at for the 82xx (and bigger embedded)
boards=20

^ permalink raw reply

* Re: Address mapping PPC 405
From: Peter Ryser @ 2005-08-26 22:47 UTC (permalink / raw)
  To: Grant Likely; +Cc: linuxppc-embedded
In-Reply-To: <20050826031057.GA6553@siegfried.thelikelysolution.ca>


>Since there is no seperate IO memory space you can access the registers
>with simple pointers.
>
>Whether or not it is a good idea (based on coding conventions) I'll
>leave for someone else to answer.  :)
>
You want to use the read{b,w,l} and write{b,w,l} macros for two reasons:
1. Accesses to registers need to be synch'ed with 'eieio' or some other 
synchronizing instructions.
2. Portability of your driver if you ever should ever move it to a 
different architecture and/or change the endianness in your system

- Peter

^ permalink raw reply

* Re: [PATCH] ppc32: add CONFIG_HZ
From: Tom Rini @ 2005-08-26 21:31 UTC (permalink / raw)
  To: Dan Malek; +Cc: Andrew Morton, linuxppc-dev, Kumar Gala
In-Reply-To: <f0351d402e64b569bbcfc16fa921d860@embeddededge.com>

On Fri, Aug 26, 2005 at 04:13:04PM -0400, Dan Malek wrote:
> 
> On Aug 26, 2005, at 3:15 PM, Kumar Gala wrote:
> 
> >While ppc32 has the CONFIG_HZ Kconfig option, it wasnt actually being
> >used. Connect it up and set all platforms to 250Hz.  This pretty much
> >mimics the ppc64 patch from Anton Blanchard.
> 
> Why do we keep cranking up this clock frequency?  Do we really need
> it running that fast?  Is it time for someone with RTOS experience to
> implement a real scheduled clock queue in Linux instead of just
> wasting interrupts decrementing a counter waiting for the next
> event to expire?  :-)  If the user "ticks" are still 100 Hz, don't we 
> need
> something that is an integer multiple of that for at least an attempt
> at getting it close to what a user would request?

So 250 is supposed to be the best choice of power vs latency and such.
But hey, there's nothing stopping us from setting all of the embedded
configs back down to 100 :)

-- 
Tom Rini
http://gate.crashing.org/~trini/

^ permalink raw reply

* Re: [PATCH] 1/2 Start header file merger (Was: Re: Beginning Merger Patch)
From: Jon Loeliger @ 2005-08-26 20:55 UTC (permalink / raw)
  To: linuxppc64-dev, linuxppc-dev@ozlabs.org
In-Reply-To: <20050806005941.5d1fe432.sfr@canb.auug.org.au>

On Fri, 2005-08-05 at 09:59, Stephen Rothwell wrote:

> > Another interesting point about it is which define to use. For s390, we
> > decided to '#ifdef __s390x__' rather than '#ifdef CONFIG_ARCH_S390X' or
> > 'ifdef CONFIG_64BIT', because CONFIG_* does not work when including the
> > headers from user space.
> 
> Well noone should even include kernel headers from user space :-) and my
> understanding is that glibc "sanitizes" its version of the kernel headers
> anyway.
> 
> > Using CONFIG_64BIT instead of __powerpc64__ only within #ifdef __KERNEL__
> > would be correct but less consistant.
> 
> The advantage of using CONFIG_64BIT as much as possible is that it shows
> us places that can be consolidated across the various architectures
> (which is a bit of a passion of mine :-)).  And more consolidation should
> make life easier for the glibc folks in the long run.

Hi guys,

Well, the time has come when I need an answer to this
question in order to make more progress on merging
some include files.

Anyone care to take a semi-authoritative stand on what
symbol to use to distinguish 32/64-bit-ness in the
include files?

Thanks,
jdl

^ permalink raw reply

* Re: [PATCH] ppc32: add CONFIG_HZ
From: Dan Malek @ 2005-08-26 20:13 UTC (permalink / raw)
  To: Kumar Gala; +Cc: Andrew Morton, linuxppc-dev
In-Reply-To: <Pine.LNX.4.61.0508261415080.29975@nylon.am.freescale.net>


On Aug 26, 2005, at 3:15 PM, Kumar Gala wrote:

> While ppc32 has the CONFIG_HZ Kconfig option, it wasnt actually being
> used. Connect it up and set all platforms to 250Hz.  This pretty much
> mimics the ppc64 patch from Anton Blanchard.

Why do we keep cranking up this clock frequency?  Do we really need
it running that fast?  Is it time for someone with RTOS experience to
implement a real scheduled clock queue in Linux instead of just
wasting interrupts decrementing a counter waiting for the next
event to expire?  :-)  If the user "ticks" are still 100 Hz, don't we 
need
something that is an integer multiple of that for at least an attempt
at getting it close to what a user would request?

Thanks.

	-- Dan

^ permalink raw reply

* Re: [PATCH] ppc64: Add CONFIG_HZ
From: Kumar Gala @ 2005-08-26 19:23 UTC (permalink / raw)
  To: Olof Johansson; +Cc: ppc64-dev, linuxppc-dev list
In-Reply-To: <20050826191450.GB6265@austin.ibm.com>


On Aug 26, 2005, at 2:14 PM, Olof Johansson wrote:

> On Fri, Aug 26, 2005 at 02:07:37PM -0500, Kumar Gala wrote:
>
>> What were you building for?  I'm wondering if the same issue exists
>> that you are asked, but its not wired to actually do anything.
>>
>
> Doh, you're right. No, it's not wired up. I was building for pmac.

Ok, sent a patch to linuxppc-dev for ppc32 which mimic's Anton's  
patch.  Once we get an include/asm-powerpc going we can merge these  
into on file that lives there.

- kumar

^ permalink raw reply

* [PATCH] ppc32: add CONFIG_HZ
From: Kumar Gala @ 2005-08-26 19:15 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linuxppc-dev

While ppc32 has the CONFIG_HZ Kconfig option, it wasnt actually being
used. Connect it up and set all platforms to 250Hz.  This pretty much
mimics the ppc64 patch from Anton Blanchard.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>

---
commit a7d81273171d49ac130f303eb63903298b4aeefb
tree a36b7872c98068519b9d85aa16e5f3f0b1668183
parent d90fa018552f3c3515ec46beadc0f0ff64c54547
author Kumar K. Gala <kumar.gala@freescale.com> Fri, 26 Aug 2005 14:14:40 -0500
committer Kumar K. Gala <kumar.gala@freescale.com> Fri, 26 Aug 2005 14:14:40 -0500

 include/asm-ppc/param.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/include/asm-ppc/param.h b/include/asm-ppc/param.h
--- a/include/asm-ppc/param.h
+++ b/include/asm-ppc/param.h
@@ -1,8 +1,10 @@
 #ifndef _ASM_PPC_PARAM_H
 #define _ASM_PPC_PARAM_H
 
+#include <linux/config.h>
+
 #ifdef __KERNEL__
-#define HZ		1000		/* internal timer frequency */
+#define HZ		CONFIG_HZ	/* internal timer frequency */
 #define USER_HZ		100		/* for user interfaces in "ticks" */
 #define CLOCKS_PER_SEC	(USER_HZ)	/* frequency at which times() counts */
 #endif /* __KERNEL__ */

^ permalink raw reply

* Re: [PATCH] ppc64: Add CONFIG_HZ
From: Olof Johansson @ 2005-08-26 19:14 UTC (permalink / raw)
  To: Kumar Gala; +Cc: Olof Johansson, ppc64-dev, linuxppc-dev list
In-Reply-To: <28F4C8E9-FF41-4954-977D-546732D561B8@freescale.com>

On Fri, Aug 26, 2005 at 02:07:37PM -0500, Kumar Gala wrote:
> What were you building for?  I'm wondering if the same issue exists  
> that you are asked, but its not wired to actually do anything.

Doh, you're right. No, it's not wired up. I was building for pmac.


-Olof

^ permalink raw reply

* Re: [PATCH] ppc64: Add CONFIG_HZ
From: Kumar Gala @ 2005-08-26 19:07 UTC (permalink / raw)
  To: Olof Johansson; +Cc: Andrew Morton, ppc64-dev, linuxppc-dev list
In-Reply-To: <20050826190403.GA6265@austin.ibm.com>

What were you building for?  I'm wondering if the same issue exists  
that you are asked, but its not wired to actually do anything.

- kumar

On Aug 26, 2005, at 2:04 PM, Olof Johansson wrote:

> On Fri, Aug 26, 2005 at 02:00:43PM -0500, Kumar Gala wrote:
>
>> Any reason we shouldn't do the same thing on ppc32?
>>
>
> When I built a 2.6.13-rc7 I got the question about what HZ I wanted,
> so I guess we're already doing it. Maybe the default needs changing
> though, can't remember what it was.
>
>
> -Olof
>

^ permalink raw reply

* Re: [PATCH] ppc64: Add CONFIG_HZ
From: Olof Johansson @ 2005-08-26 19:04 UTC (permalink / raw)
  To: Kumar Gala; +Cc: Andrew Morton, ppc64-dev, linuxppc-dev list
In-Reply-To: <0192F2FD-0132-4B51-9524-590084E3FB0B@freescale.com>

On Fri, Aug 26, 2005 at 02:00:43PM -0500, Kumar Gala wrote:
> Any reason we shouldn't do the same thing on ppc32?

When I built a 2.6.13-rc7 I got the question about what HZ I wanted,
so I guess we're already doing it. Maybe the default needs changing
though, can't remember what it was.


-Olof

^ permalink raw reply

* Re: [PATCH] ppc64: Add CONFIG_HZ
From: Kumar Gala @ 2005-08-26 19:00 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: Andrew Morton, ppc64-dev, linuxppc-dev list
In-Reply-To: <20050823225303.GF31949@krispykreme>

Any reason we shouldn't do the same thing on ppc32?

- kumar

On Aug 23, 2005, at 5:53 PM, Anton Blanchard wrote:

>
> Hi,
>
> While ppc64 has the CONFIG_HZ Kconfig option, it wasnt actually being
> used. Connect it up and set all platforms to 250Hz.
>
> Signed-off-by: Anton Blanchard <anton@samba.org>
>
> Index: build/include/asm-ppc64/param.h
> ===================================================================
> --- build.orig/include/asm-ppc64/param.h    2005-08-15
> 23:42:07.000000000 +1000
> +++ build/include/asm-ppc64/param.h    2005-08-24 08:02:29.000000000
> +1000
> @@ -1,6 +1,8 @@
>  #ifndef _ASM_PPC64_PARAM_H
>  #define _ASM_PPC64_PARAM_H
>
> +#include <linux/config.h>
> +
>  /*
>   * This program is free software; you can redistribute it and/or
>   * modify it under the terms of the GNU General Public License
> @@ -9,7 +11,7 @@
>   */
>
>  #ifdef __KERNEL__
> -# define HZ        1000        /* Internal kernel timer
> frequency */
> +# define HZ        CONFIG_HZ    /* Internal kernel timer
> frequency */
>  # define USER_HZ    100        /* .. some user interfaces are
> in "ticks" */
>  # define CLOCKS_PER_SEC    (USER_HZ)    /* like times() */
>  #endif
> Index: build/arch/ppc64/configs/g5_defconfig
> ===================================================================
> --- build.orig/arch/ppc64/configs/g5_defconfig    2005-08-15
> 23:42:04.000000000 +1000
> +++ build/arch/ppc64/configs/g5_defconfig    2005-08-24
> 07:55:50.000000000 +1000
> @@ -103,10 +103,10 @@
>  # CONFIG_PREEMPT_VOLUNTARY is not set
>  # CONFIG_PREEMPT is not set
>  # CONFIG_PREEMPT_BKL is not set
> -CONFIG_HZ_100=y
> -# CONFIG_HZ_250 is not set
> +# CONFIG_HZ_100 is not set
> +CONFIG_HZ_250=y
>  # CONFIG_HZ_1000 is not set
> -CONFIG_HZ=100
> +CONFIG_HZ=250
>  CONFIG_GENERIC_HARDIRQS=y
>  CONFIG_SECCOMP=y
>  CONFIG_ISA_DMA_API=y
> Index: build/arch/ppc64/configs/iSeries_defconfig
> ===================================================================
> --- build.orig/arch/ppc64/configs/iSeries_defconfig    2005-08-15
> 23:42:04.000000000 +1000
> +++ build/arch/ppc64/configs/iSeries_defconfig    2005-08-24
> 07:56:46.000000000 +1000
> @@ -94,10 +94,10 @@
>  # CONFIG_PREEMPT_VOLUNTARY is not set
>  # CONFIG_PREEMPT is not set
>  # CONFIG_PREEMPT_BKL is not set
> -CONFIG_HZ_100=y
> -# CONFIG_HZ_250 is not set
> +# CONFIG_HZ_100 is not set
> +CONFIG_HZ_250=y
>  # CONFIG_HZ_1000 is not set
> -CONFIG_HZ=100
> +CONFIG_HZ=250
>  CONFIG_GENERIC_HARDIRQS=y
>  CONFIG_MSCHUNKS=y
>  CONFIG_LPARCFG=y
> Index: build/arch/ppc64/configs/maple_defconfig
> ===================================================================
> --- build.orig/arch/ppc64/configs/maple_defconfig    2005-08-15
> 23:42:04.000000000 +1000
> +++ build/arch/ppc64/configs/maple_defconfig    2005-08-24
> 08:46:58.000000000 +1000
> @@ -103,10 +103,10 @@
>  # CONFIG_PREEMPT_VOLUNTARY is not set
>  # CONFIG_PREEMPT is not set
>  # CONFIG_PREEMPT_BKL is not set
> -CONFIG_HZ_100=y
> -# CONFIG_HZ_250 is not set
> +# CONFIG_HZ_100 is not set
> +CONFIG_HZ_250=y
>  # CONFIG_HZ_1000 is not set
> -CONFIG_HZ=100
> +CONFIG_HZ=250
>  CONFIG_GENERIC_HARDIRQS=y
>  CONFIG_SECCOMP=y
>  CONFIG_ISA_DMA_API=y
> Index: build/arch/ppc64/configs/pSeries_defconfig
> ===================================================================
> --- build.orig/arch/ppc64/configs/pSeries_defconfig    2005-08-15
> 23:42:04.000000000 +1000
> +++ build/arch/ppc64/configs/pSeries_defconfig    2005-08-24
> 07:58:38.000000000 +1000
> @@ -112,10 +112,10 @@
>  # CONFIG_PREEMPT_VOLUNTARY is not set
>  # CONFIG_PREEMPT is not set
>  # CONFIG_PREEMPT_BKL is not set
> -CONFIG_HZ_100=y
> -# CONFIG_HZ_250 is not set
> +# CONFIG_HZ_100 is not set
> +CONFIG_HZ_250=y
>  # CONFIG_HZ_1000 is not set
> -CONFIG_HZ=100
> +CONFIG_HZ=250
>  CONFIG_EEH=y
>  CONFIG_GENERIC_HARDIRQS=y
>  CONFIG_PPC_RTAS=y
> Index: build/arch/ppc64/defconfig
> ===================================================================
> --- build.orig/arch/ppc64/defconfig    2005-08-15 23:42:04.000000000
> +1000
> +++ build/arch/ppc64/defconfig    2005-08-24 07:55:27.000000000 +1000
> @@ -114,10 +114,10 @@
>  # CONFIG_PREEMPT_VOLUNTARY is not set
>  # CONFIG_PREEMPT is not set
>  # CONFIG_PREEMPT_BKL is not set
> -CONFIG_HZ_100=y
> -# CONFIG_HZ_250 is not set
> +# CONFIG_HZ_100 is not set
> +CONFIG_HZ_250=y
>  # CONFIG_HZ_1000 is not set
> -CONFIG_HZ=100
> +CONFIG_HZ=250
>  CONFIG_EEH=y
>  CONFIG_GENERIC_HARDIRQS=y
>  CONFIG_PPC_RTAS=y
> _______________________________________________
> Linuxppc64-dev mailing list
> Linuxppc64-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc64-dev
>

^ permalink raw reply

* [PATCH] ppc32: ppc_sys system on chip identification additions (updated)
From: Kumar Gala @ 2005-08-26 18:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linuxppc-embedded

Add the ability to identify an SOC by a name and id.  There are cases in
which the integer identifier is not sufficient to specify a specific SOC.
In these cases we can use a string to further qualify the match.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>

---
commit 57c213c1a2e50b06fe69b63bc596cf7cbef9105e
tree 194c870fad7f29e7a97d787b0a895c7ed59b2f10
parent 4005c652e0887d29554a73ff661a2365ebb7691a
author Kumar K. Gala <kumar.gala@freescale.com> Fri, 26 Aug 2005 13:46:53 -0500
committer Kumar K. Gala <kumar.gala@freescale.com> Fri, 26 Aug 2005 13:46:53 -0500

 arch/ppc/syslib/ppc_sys.c |   52 ++++++++++++++++++++++++++++++++++++++++++++-
 include/asm-ppc/ppc_sys.h |    1 +
 2 files changed, 52 insertions(+), 1 deletions(-)

diff --git a/arch/ppc/syslib/ppc_sys.c b/arch/ppc/syslib/ppc_sys.c
--- a/arch/ppc/syslib/ppc_sys.c
+++ b/arch/ppc/syslib/ppc_sys.c
@@ -6,6 +6,7 @@
  * Maintainer: Kumar Gala <kumar.gala@freescale.com>
  *
  * Copyright 2005 Freescale Semiconductor Inc.
+ * Copyright 2005 MontaVista, Inc. by Vitaly Bordug <vbordug@ru.mvista.com>
  *
  * 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
@@ -35,8 +36,57 @@ void __init identify_ppc_sys_by_id(u32 i
 
 void __init identify_ppc_sys_by_name(char *name)
 {
-	/* TODO */
+	unsigned int i = 0;
+	while (ppc_sys_specs[i].ppc_sys_name[0])
+	{
+		if (!strcmp(ppc_sys_specs[i].ppc_sys_name, name))
+			break;
+		i++;
+	}
+	cur_ppc_sys_spec = &ppc_sys_specs[i];
 	return;
+}
+
+static int __init count_sys_specs(void)
+{
+	int i = 0;
+	while (ppc_sys_specs[i].ppc_sys_name[0])
+		i++;
+	return i;
+}
+
+static int __init find_chip_by_name_and_id(char *name, u32 id)
+{
+	int ret = -1;
+	unsigned int i = 0;
+	unsigned int j = 0;
+	unsigned int dups = 0;
+
+	unsigned char matched[count_sys_specs()];
+
+	while (ppc_sys_specs[i].ppc_sys_name[0]) {
+		if (!strcmp(ppc_sys_specs[i].ppc_sys_name, name))
+			matched[j++] = i;
+		i++;
+	}
+	if (j != 0) {
+		for (i = 0; i < j; i++) {
+			if ((ppc_sys_specs[matched[i]].mask & id) ==
+			    ppc_sys_specs[matched[i]].value) {
+				ret = matched[i];
+				dups++;
+			}
+		}
+		ret = (dups == 1) ? ret : (-1 * dups);
+	}
+	return ret;
+}
+
+void __init identify_ppc_sys_by_name_and_id(char *name, u32 id)
+{
+	int i = find_chip_by_name_and_id(name, id);
+	BUG_ON(i < 0);
+	cur_ppc_sys_spec = &ppc_sys_specs[i];
 }
 
 /* Update all memory resources by paddr, call before platform_device_register */
diff --git a/include/asm-ppc/ppc_sys.h b/include/asm-ppc/ppc_sys.h
--- a/include/asm-ppc/ppc_sys.h
+++ b/include/asm-ppc/ppc_sys.h
@@ -52,6 +52,7 @@ extern struct ppc_sys_spec *cur_ppc_sys_
 /* determine which specific SOC we are */
 extern void identify_ppc_sys_by_id(u32 id) __init;
 extern void identify_ppc_sys_by_name(char *name) __init;
+extern void identify_ppc_sys_by_name_and_id(char *name, u32 id) __init;
 
 /* describes all devices that may exist in a given family of processors */
 extern struct platform_device ppc_sys_platform_devices[];

^ permalink raw reply

* Re: [PATCH] ppc32: ppc_sys system on chip identification additions
From: Kumar Gala @ 2005-08-26 18:48 UTC (permalink / raw)
  To: Gala Kumar K.-galak; +Cc: Andrew Morton, linux-kernel, linuxppc-embedded
In-Reply-To: <Pine.LNX.4.61.0508241017480.23831@nylon.am.freescale.net>

Oops, this patch doesn't build since its missing a '{'.  Will send up  
an updated patch that fixes the problem.

- kumar

On Aug 24, 2005, at 10:18 AM, Gala Kumar K.-galak wrote:

> Add the ability to identify an SOC by a name and id.  There are  
> cases in
> which the integer identifier is not sufficient to specify a specific
> SOC.
> In these cases we can use a string to further qualify the match.
>
> Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
> Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
>
> ---
> commit 58d478e75ac5d6cb3a1f738a22555c3841445264
> tree 999d1722d74eb8dc76f40c8f4c52966cea681cb4
> parent eb5d5922d749a74f58416ca1a852651e7323449b
> author Kumar K. Gala <kumar.gala@freescale.com> Wed, 24 Aug 2005
> 10:14:42 -0500
> committer Kumar K. Gala <kumar.gala@freescale.com> Wed, 24 Aug 2005
> 10:14:42 -0500
>
>  arch/ppc/syslib/ppc_sys.c |   51
> ++++++++++++++++++++++++++++++++++++++++++++-
>  include/asm-ppc/ppc_sys.h |    1 +
>  2 files changed, 51 insertions(+), 1 deletions(-)
>
> diff --git a/arch/ppc/syslib/ppc_sys.c b/arch/ppc/syslib/ppc_sys.c
> --- a/arch/ppc/syslib/ppc_sys.c
> +++ b/arch/ppc/syslib/ppc_sys.c
> @@ -6,6 +6,7 @@
>   * Maintainer: Kumar Gala <kumar.gala@freescale.com>
>   *
>   * Copyright 2005 Freescale Semiconductor Inc.
> + * Copyright 2005 MontaVista, Inc. by Vitaly Bordug
> <vbordug@ru.mvista.com>
>   *
>   * 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
> @@ -35,8 +36,56 @@ void __init identify_ppc_sys_by_id(u32 i
>
>  void __init identify_ppc_sys_by_name(char *name)
>  {
> -    /* TODO */
> +    unsigned int i = 0;
> +    while (ppc_sys_specs[i].ppc_sys_name[0])
> +        if (!strcmp(ppc_sys_specs[i].ppc_sys_name, name))
> +            break;
> +        i++;
> +    }
> +    cur_ppc_sys_spec = &ppc_sys_specs[i];
>      return;
> +}
> +
> +static int __init count_sys_specs(void)
> +{
> +    int i = 0;
> +    while (ppc_sys_specs[i].ppc_sys_name[0])
> +        i++;
> +    return i;
> +}
> +
> +static int __init find_chip_by_name_and_id(char *name, u32 id)
> +{
> +    int ret = -1;
> +    unsigned int i = 0;
> +    unsigned int j = 0;
> +    unsigned int dups = 0;
> +
> +    unsigned char matched[count_sys_specs()];
> +
> +    while (ppc_sys_specs[i].ppc_sys_name[0]) {
> +        if (!strcmp(ppc_sys_specs[i].ppc_sys_name, name))
> +            matched[j++] = i;
> +        i++;
> +    }
> +    if (j != 0) {
> +        for (i = 0; i < j; i++) {
> +            if ((ppc_sys_specs[matched[i]].mask & id) ==
> +                ppc_sys_specs[matched[i]].value) {
> +                ret = matched[i];
> +                dups++;
> +            }
> +        }
> +        ret = (dups == 1) ? ret : (-1 * dups);
> +    }
> +    return ret;
> +}
> +
> +void __init identify_ppc_sys_by_name_and_id(char *name, u32 id)
> +{
> +    int i = find_chip_by_name_and_id(name, id);
> +    BUG_ON(i < 0);
> +    cur_ppc_sys_spec = &ppc_sys_specs[i];
>  }
>
>  /* Update all memory resources by paddr, call before
> platform_device_register */
> diff --git a/include/asm-ppc/ppc_sys.h b/include/asm-ppc/ppc_sys.h
> --- a/include/asm-ppc/ppc_sys.h
> +++ b/include/asm-ppc/ppc_sys.h
> @@ -50,6 +50,7 @@ extern struct ppc_sys_spec *cur_ppc_sys_
>  /* determine which specific SOC we are */
>  extern void identify_ppc_sys_by_id(u32 id) __init;
>  extern void identify_ppc_sys_by_name(char *name) __init;
> +extern void identify_ppc_sys_by_name_and_id(char *name, u32 id)  
> __init;
>
>  /* describes all devices that may exist in a given family of  
> processors
> */
>  extern struct platform_device ppc_sys_platform_devices[];
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>

^ permalink raw reply

* Re: Best kernel for Xilinx VirtexII Pro/PPC405 ?
From: Peter Ryser @ 2005-08-26 14:33 UTC (permalink / raw)
  To: Keith J Outwater; +Cc: linuxppc-embedded
In-Reply-To: <OF820ADBC7.FD07ABA9-ON07257061.00633C32-07257061.00641841@mck.us.ray.com>

Good to hear that you got everything working. Just as a note: XAPP542 
(http://direct.xilinx.com/bvdocs/appnotes/xapp542.pdf) contains a patch 
for the Linux kernel to make it work together with U-Boot.

Does linuxppc-2.4 still accept patches?

- Peter


Keith J Outwater wrote:

>Hi Peter - 
>Well, the good news is that it works, and works well.  In my humble 
>opinion, supporting it would be pretty simple, but I completely understand 
>why RHEL is the supported distribution.  I would much rather see effort 
>put into polishing up EDK under Linux than in supporting every Linux 
>distro out there.
>For me, the bottom line was this: do I want to migrate all of other 
>development activities from FC4 to RHEL for the sake of EDK, or try to run 
>EDK under FC4?  I tried the latter approach, and now that the Jungo 
>WinDriver v7.1 is out, parallel port debugging works by simply using 
>WinDriver 7.1 and patching the Xilinx XPC4 parport driver.
>I now have the kernel booting on a Memec 2VP50 eval board using U-Boot as 
>the bootloader.  I used the linuxppc-2.4 kernel rsynced from MontaVista. 
>That particular kernel did not have support for U-Boot but it did support 
>the ML300 and a Memec 2VP40/2VP70 board.  I had to modify the kernel to 
>accept a board description structure from U-Boot and I added a new board 
>type for my custom hardware.
>The approach I took was definitely the "roll your own approach", but then 
>again I've done this (Linux board ports) a couple times and I know U-Boot 
>well.
>Keith
>
>Peter Ryser <peter.ryser@xilinx.com> wrote on 08/18/2005 07:39:21 AM:
>
>  
>
>>>I am running all of my development tools (EDK, ISE, ELDK, etc...) 
>>>      
>>>
>under 
>  
>
>>>Fedora Core 4, so I am looking for a publicly accessible kernel source 
>>>tree that best supports the PPC405 in the Virtex II Pro.
>>>
>>>      
>>>
>>Keep in mind that EDK and ISE are not "officially" supported on FC4. 
>>Anyway, with EDK, ISE, and ELDK you seem to have all that is needed to 
>>get started with Linux on Virtex-II Pro and Virtex-4.
>>
>>- Peter
>>
>>
>>    
>>
>
>
>  
>

^ permalink raw reply

* alsa tumbler audio-gpio-active-state handling broken after 2.6.12-rc2
From: Olaf Hering @ 2005-08-26 13:39 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, linuxppc-dev


Ben,

this patch 03a53d4895d274ee8562ddc99723b98d8d0ef04c breaks tumbler
[PATCH] pmac: sound support for latest laptops

audio-gpio-active-state is zero. active_state was forced to 1 in this
case, now it is 0. As a result, no sound is played on my G4/466 and
600Mhz ibook.


This patch fixes it for me.


 sound/ppc/tumbler.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.13-rc7-tumbler/sound/ppc/tumbler.c
===================================================================
--- linux-2.6.13-rc7-tumbler.orig/sound/ppc/tumbler.c
+++ linux-2.6.13-rc7-tumbler/sound/ppc/tumbler.c
@@ -1073,7 +1073,7 @@ static long tumbler_find_device(const ch
 		gp->inactive_val = (*base) ? 0x4 : 0x5;
 	} else {
 		u32 *prop = NULL;
-		gp->active_state = 0;
+		gp->active_state = 1;
 		gp->active_val = 0x4;
 		gp->inactive_val = 0x5;
 		/* Here are some crude hacks to extract the GPIO polarity and

^ permalink raw reply

* Re: AC Power handling broken for desktops
From: Olaf Hering @ 2005-08-26 11:38 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
In-Reply-To: <1124948071.7907.10.camel@gaston>

 On Thu, Aug 25, Benjamin Herrenschmidt wrote:

> On Thu, 2005-08-25 at 07:15 +0200, Olaf Hering wrote:
> >  On Thu, Aug 25, Benjamin Herrenschmidt wrote:
> > 
> > > Not sure :) I don't fully know how to decode those power things in the
> > > device-tree... There are bits in darwin tho.
> > 
> > Maybe just check for !PowerBook and force PMU_PWR_AC_PRESENT in this case.
> 
> Yah, you can check that with pmac_feature, there is a "mobile" flag.

Its not obvious how to get to that flag. Is this patch acceptable?
No batteries present should mean AC Power == 1.

 drivers/macintosh/apm_emu.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

Index: linux-2.6.13-rc7-ac-power/drivers/macintosh/apm_emu.c
===================================================================
--- linux-2.6.13-rc7-ac-power.orig/drivers/macintosh/apm_emu.c
+++ linux-2.6.13-rc7-ac-power/drivers/macintosh/apm_emu.c
@@ -430,8 +430,8 @@ static int apm_emu_get_info(char *buf, c
 	      -1: Unknown
 	   8) min = minutes; sec = seconds */
 
-	unsigned short  ac_line_status = 0xff;
-	unsigned short  battery_status = 0xff;
+	unsigned short  ac_line_status;
+	unsigned short  battery_status = 0;
 	unsigned short  battery_flag   = 0xff;
 	int		percentage     = -1;
 	int             time_units     = -1;
@@ -446,6 +446,7 @@ static int apm_emu_get_info(char *buf, c
 	ac_line_status = ((pmu_power_flags & PMU_PWR_AC_PRESENT) != 0);
 	for (i=0; i<pmu_battery_count; i++) {
 		if (pmu_batteries[i].flags & PMU_BATT_PRESENT) {
+			battery_status++;
 			if (percentage < 0)
 				percentage = 0;
 			if (charge < 0)
@@ -461,6 +462,9 @@ static int apm_emu_get_info(char *buf, c
 				charging++;
 		}
 	}
+	if (0 == battery_status)
+		ac_line_status = 1;
+	battery_status = 0xff;
 	if (real_count) {
 		if (amperage < 0) {
 			if (btype == PMU_BATT_TYPE_SMART)

^ permalink raw reply

* Re: 827x/8x Linux USB Host driver
From: Alex Zeffertt @ 2005-08-26 10:10 UTC (permalink / raw)
  To: Russell McGuire; +Cc: linuxppc-embedded
In-Reply-To: <20050716115551.GA47391@mail19b.g19.rapidsite.net>

Hello Russell,

I'm interested to know if you got anywhere with this?  Did you find an OS USB driver for the 827x? 
Or did you write one yourself?

TIA,

Alex

On Sat, 16 Jul 2005 08:55:52 -0700
"Russell McGuire" <rmcguire@uwbt.com> wrote:

> 
> 
> Does anyone know of the existence of an open source USB host driver for the
> 827x/8x PowerQUIC II processors for Linux 2.4.2x?
> 
> This CPU introduced a USB host controller inside the CPU vs the 8260, which
> doesn't have one.
> 
> 
> Thanks,
> 
> -Russ

^ permalink raw reply

* Re: rebuild net-snmp 5.0.6 from eldk 3.1.1
From: Wolfgang Denk @ 2005-08-26  8:48 UTC (permalink / raw)
  To: 徐小威的EMAIL; +Cc: linuxppc-embedded
In-Reply-To: <1125017324.7073.4.camel@banana>

In message <1125017324.7073.4.camel@banana> you wrote:
> 
>     Anybody know how to setting fedora linux 3 environment to cross
> compile netsnmp 5.0.6
> contain in the eldk 3.1.1.

This is documented in detail in the DULG, please see
http://www.denx.de/twiki/bin/view/DULG/ELDKRebuildingComponents#Section_3.7.2.

Make sure to follow the instructions, especially those about  setting
up your PATH!

>    I'v try to modify net-snmp.spec for using pcc_8xx-gcc, but still got
> probems.

The unmodified spec file works just fine.

> Executing(%prep): /bin/sh -e /opt/eldk/var/tmp/rpm-tmp.4936
...
> + ./configure --host=i386-pc-linux-gnu --build=i386-pc-linux-gnu --
> target=ppc-denx-linux --program-prefix= --prefix=/usr --exec-prefix=/usr
> --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --
> datadir=/usr/share --includedir=/usr/include/net-snmp --libdir=/usr/lib
> --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com
> --mandir=/usr/share/man --infodir=/usr/share/info --host=ee --enable-
                                                      ^^^^^^^
...
> checking host system type... Invalid configuration `ee': machine `ee'
> not recognized

You modified the spec file in a way that breaks it. Don't do this.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
People seldom know what they want until you give them what  they  ask
for.

^ permalink raw reply

* Re: problem mounting ROOT-NFS
From: Bidong Yan @ 2005-08-26  8:13 UTC (permalink / raw)
  To: linuxppc-embedded@ozlabs.org

Hi,

	Your nfs server did not startup, or with a wrong port.

Best regards,
Yan

======= At 2005-08-26 18:37:28 you wrote =======

>Hi,
>
>  I lately upgraded to Bestcomm API v2.2 from v2.1 , but root-nfs doesnt
>mount while booting from ram, but when booting from FLASH (Compact Flash
>and also NOR) it does well. This problem could be seen when I try to
>boot on MPC5200 RevA. 
>
> Then I switched to MPC5200 RevB to see it is the same here, but with
>same u.boot.bin and kernel image everything boot well on Rev B. I have
>compared the Environment perameters passed from u-boot to the kernel and
>everything seems to be the same. I also looked into the Errata to check
>if anything else regarding bestcomm or fec has changed, but couldnt
>figure out anything.
>
>console messages while booting on MPC5200 RevA from ram goes this
>way ...
>
>
>
>   
>U-Boot 1.1.1 (Aug 24 2005 - 09:56:03)
>
>CPU:   MPC5200 (JTAG ID 0001101d) at 396 MHz
>       Bus 132 MHz, IPB 66 MHz, PCI 33 MHz
>Board: Mitron, Type is not set
>DRAM:  64 MB
>FLASH:  4 MB
>FPGA:  OK
>SPI:   MPC5200_spi,mki_ad initialised
>BL:    (channel 2, dutycycle 50, freq 500) initialised
>Video: SMI720 @ 640x480x8 28kHz 53Hz
>In:    serial
>Out:   serial
>Err:   serial
>NAND:  128 MB at 0x28001000
>Net:   FEC ETHERNET
>IDE:   no card
> 0
>=> tftpboot 800000 u-boot.bin
>Using FEC ETHERNET device
>TFTP from server 192.168.1.61; our IP address is 192.168.30.130
>Filename 'u-boot.bin'.
>Load address: 0x800000
>Loading: T invalid RARP header
>
>TFTP error: 'File not found' (1)
>Starting again
>
>
>Abort
>=> tftpboot 800000 pImage
>Using FEC ETHERNET device
>TFTP from server 192.168.1.61; our IP address is 192.168.30.130
>Filename 'pImage'.
>Load address: 0x800000
>Loading:
>#################################################################
>
>#################################################################
>
>#################################################################
>         #
>done
>Bytes transferred = 1001433 (f47d9 hex)
>=> bootm 800000
>## Booting image at 00800000 ...
>   Image Name:   Linux-2.4.21-rc1
>   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>   Data Size:    1001369 Bytes = 977.9 kB
>   Load Address: 00000000
>   Entry Point:  00000000
>   Verifying Checksum ... OK
>   Uncompressing Kernel Image ... OK
>Mitron CVS tag: mct3_moto1_update
>Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
>Linux version 2.4.21-rc1 (nuguru@SW-server) (gcc version 2.95.4 20010319
>(prerelease/franzo/20011204)) #5 Fri Aug 26 09:51:30 EEST 2005
>Mitron SGVT port (C) 2003 Mitron Oy (mitron@mitron.fi)
>On node 0 totalpages: 16384
>zone(0): 16384 pages.
>zone(1): 0 pages.
>zone(2): 0 pages.
>Kernel command line: nfsroot=192.168.1.61:/tftpboot/rootfs
>ip=192.168.30.130:192.168.1.61:192.168.1.1:255.255.0.0:SGVT_180::off
>root=/dev/nfs video=scarlet:dev:0,no_pal console=ttyS0;init=/bin/sh;
>mgt5100_pic.c/mgt5100_init_irq: using configuration from FPGA binary
>file
>mgt5100_init_irq: external FPGA interrupt controller (by Mitron Oy)
>initialized
>Calibrating delay loop... 263.78 BogoMIPS
>Memory: 61828k available (1768k kernel code, 576k data, 76k init, 0k
>highmem)
>Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
>Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
>Mount cache hash table entries: 512 (order: 0, 4096 bytes)
>Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
>Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
>POSIX conformance testing by UNIFIX
>PCI: Probing PCI hardware
>Memory resource not set for host bridge 0
>Linux NET4.0 for Linux 2.4
>Based upon Swansea University Computer Society NET3.039
>Initializing RT netlink socket
>Starting kswapd
>JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
>hwblock: Identification failure!
>hwblock: Checksum failure!
>hwblock: Forcing fallback
>hwblock: Configuring for MC?erial.c->init_chipsels: mfdev->count !=
>SGVT_RS_TABLE_SIZE
>Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ
>SERIAL_PCI enabled
>uart00 at 0xc5076000 (irq = 92) is a TI16750
>uart01 at 0xc5078008 (irq = 92) is a TI16750
>uart02 at 0xc507a010 (irq = 92) is a TI16750
>RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
>PPP generic driver version 2.4.2
>PPP Deflate Compression module registered
>Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
>ide: Assuming 33MHz system bus speed for PIO modes; override with
>idebus=xx
>SCSI subsystem driver Revision: 1.00
>usb.c: registered new driver usbdevfs
>usb.c: registered new driver hub
>usb-ohci-embedded.c: USB OHCI at membase 0xf0001000, IRQ 44
>usb.c: new USB bus registered, assigned bus number 1
>hub.c: USB hub found
>hub.c: 2 ports detected
>usb.c: registered new driver hiddev
>usb.c: registered new driver hid
>hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
>hid-core.c: USB HID support drivers
>usb.c: registered new driver usblp
>printer.c: v0.11: USB Printer Device Class driver
>pegasus.c: v0.4.26 (2002/03/21):Pegasus/Pegasus II USB Ethernet driver
>usb.c: registered new driver pegasus
>Initializing USB Mass Storage driver...
>usb.c: registered new driver usb-storage
>USB Mass Storage support registered.
>eth0: Phy @ 0x0, type LXT971 (0x001378e2)
>Mitron multi chip CAN driver 0.4 inited
>Mitron SPI core functionality initialized
>spi-core.o: adapter SGVT SPI host registered as adapter 0.
>spi_add_driver: driver MKI driver registered.
>kb_probe_func: MKI keyboard 0 found. Versions: hw:3.1 sw:2.2
>spi_attach_client: client [SGVT SPI keyboard] registered to adapter
>[SGVT SPI host](pos. 0).
>MKI initialized succesfully
>SGVT_WDT: Software Watchdog Timer version 0.1, timeout 60 sec.
>SGVT Bank 0: Found 1 x16 devices at 0x0 in 8-bit bank
> Amd/Fujitsu Extended Query Table at 0x0040
>SGVT Bank 0: Swapping erase regions for broken CFI table.
>number of CFI chips: 1
>cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
>Creating 3 MTD partitions on "SGVT Bank 0":
>0x00000000-0x00200000 : "kernel"
>0x00200000-0x00280000 : "logo1"
>0x00280000-0x00300000 : "logo2"
>Initialised PWM buzzer, v. 0.2
>Nov. I/O 0.1 succesfully initialized
>spi_add_driver: driver A/D driver registered.
>spi_attach_client: client [SGVT SPI A/D converter] registered to adapter
>[SGVT SPI host](pos. 5).
>SPI A/D initialized succesfully
>ppcpmw 0.8 initialized
>NET4: Linux TCP/IP 1.0 for NET4.0
>IP Protocols: ICMP, UDP, TCP, IGMP
>IP: routing cache hash table of 512 buckets, 4Kbytes
>TCP: Hash tables configured (established 4096 bind 4096)
>eth0: config: auto-negotiation off, 100FDX, 100HDX, 10FDX, 10HDX.
>IP-Config: Complete:
>      device=eth0, addr=192.168.30.130, mask=255.255.0.0,
>gw=192.168.1.1,
>     host=SGVT_180, domain=, nis-domain=(none),
>     bootserver=192.168.1.61, rootserver=192.168.1.61, rootpath=
>NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
>Looking up port of RPC 100003/2 on 192.168.1.61
>eth0: status: link up, 100 Mbps Full Duplex, auto-negotiation complete.
>portmap: server 192.168.1.61 not responding, timed out
>Root-NFS: Unable to get nfsd port number from server, using default
>Looking up port of RPC 100005/1 on 192.168.1.61
>
>then it stays until I reset the core :-(
>
> any hints  ???
>
>
>
>_______________________________________________
>Linuxppc-embedded mailing list
>Linuxppc-embedded@ozlabs.org
>https://ozlabs.org/mailman/listinfo/linuxppc-embedded

= = = = = = = = = = = = = = = = = = = =

^ permalink raw reply

* problem mounting ROOT-NFS
From: Nuguru Susheel @ 2005-08-26 10:37 UTC (permalink / raw)
  To: linuxppc-embedded

Hi,

  I lately upgraded to Bestcomm API v2.2 from v2.1 , but root-nfs doesnt
mount while booting from ram, but when booting from FLASH (Compact Flash
and also NOR) it does well. This problem could be seen when I try to
boot on MPC5200 RevA.=20

 Then I switched to MPC5200 RevB to see it is the same here, but with
same u.boot.bin and kernel image everything boot well on Rev B. I have
compared the Environment perameters passed from u-boot to the kernel and
everything seems to be the same. I also looked into the Errata to check
if anything else regarding bestcomm or fec has changed, but couldnt
figure out anything.

console messages while booting on MPC5200 RevA from ram goes this
way ...



  =20
U-Boot 1.1.1 (Aug 24 2005 - 09:56:03)

CPU:   MPC5200 (JTAG ID 0001101d) at 396 MHz
       Bus 132 MHz, IPB 66 MHz, PCI 33 MHz
Board: Mitron, Type is not set
DRAM:  64 MB
FLASH:  4 MB
FPGA:  OK
SPI:   MPC5200_spi,mki_ad initialised
BL:    (channel 2, dutycycle 50, freq 500) initialised
Video: SMI720 @ 640x480x8 28kHz 53Hz
In:    serial
Out:   serial
Err:   serial
NAND:  128 MB at 0x28001000
Net:   FEC ETHERNET
IDE:   no card
 0
=3D> tftpboot 800000 u-boot.bin
Using FEC ETHERNET device
TFTP from server 192.168.1.61; our IP address is 192.168.30.130
Filename 'u-boot.bin'.
Load address: 0x800000
Loading: T invalid RARP header

TFTP error: 'File not found' (1)
Starting again


Abort
=3D> tftpboot 800000 pImage
Using FEC ETHERNET device
TFTP from server 192.168.1.61; our IP address is 192.168.30.130
Filename 'pImage'.
Load address: 0x800000
Loading:
#################################################################

#################################################################

#################################################################
         #
done
Bytes transferred =3D 1001433 (f47d9 hex)
=3D> bootm 800000
## Booting image at 00800000 ...
   Image Name:   Linux-2.4.21-rc1
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1001369 Bytes =3D 977.9 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
Mitron CVS tag: mct3_moto1_update
Memory BAT mapping: BAT2=3D64Mb, BAT3=3D0Mb, residual: 0Mb
Linux version 2.4.21-rc1 (nuguru@SW-server) (gcc version 2.95.4 20010319
(prerelease/franzo/20011204)) #5 Fri Aug 26 09:51:30 EEST 2005
Mitron SGVT port (C) 2003 Mitron Oy (mitron@mitron.fi)
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: nfsroot=3D192.168.1.61:/tftpboot/rootfs
ip=3D192.168.30.130:192.168.1.61:192.168.1.1:255.255.0.0:SGVT_180::off
root=3D/dev/nfs video=3Dscarlet:dev:0,no_pal console=3DttyS0;init=3D/bin/sh=
;
mgt5100_pic.c/mgt5100_init_irq: using configuration from FPGA binary
file
mgt5100_init_irq: external FPGA interrupt controller (by Mitron Oy)
initialized
Calibrating delay loop... 263.78 BogoMIPS
Memory: 61828k available (1768k kernel code, 576k data, 76k init, 0k
highmem)
Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Memory resource not set for host bridge 0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
hwblock: Identification failure!
hwblock: Checksum failure!
hwblock: Forcing fallback
hwblock: Configuring for MC=EF=BF=BDerial.c->init_chipsels: mfdev->count !=
=3D
SGVT_RS_TABLE_SIZE
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ
SERIAL_PCI enabled
uart00 at 0xc5076000 (irq =3D 92) is a TI16750
uart01 at 0xc5078008 (irq =3D 92) is a TI16750
uart02 at 0xc507a010 (irq =3D 92) is a TI16750
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=3Dxx
SCSI subsystem driver Revision: 1.00
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-ohci-embedded.c: USB OHCI at membase 0xf0001000, IRQ 44
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
usb.c: registered new driver usblp
printer.c: v0.11: USB Printer Device Class driver
pegasus.c: v0.4.26 (2002/03/21):Pegasus/Pegasus II USB Ethernet driver
usb.c: registered new driver pegasus
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
eth0: Phy @ 0x0, type LXT971 (0x001378e2)
Mitron multi chip CAN driver 0.4 inited
Mitron SPI core functionality initialized
spi-core.o: adapter SGVT SPI host registered as adapter 0.
spi_add_driver: driver MKI driver registered.
kb_probe_func: MKI keyboard 0 found. Versions: hw:3.1 sw:2.2
spi_attach_client: client [SGVT SPI keyboard] registered to adapter
[SGVT SPI host](pos. 0).
MKI initialized succesfully
SGVT_WDT: Software Watchdog Timer version 0.1, timeout 60 sec.
SGVT Bank 0: Found 1 x16 devices at 0x0 in 8-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
SGVT Bank 0: Swapping erase regions for broken CFI table.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Creating 3 MTD partitions on "SGVT Bank 0":
0x00000000-0x00200000 : "kernel"
0x00200000-0x00280000 : "logo1"
0x00280000-0x00300000 : "logo2"
Initialised PWM buzzer, v. 0.2
Nov. I/O 0.1 succesfully initialized
spi_add_driver: driver A/D driver registered.
spi_attach_client: client [SGVT SPI A/D converter] registered to adapter
[SGVT SPI host](pos. 5).
SPI A/D initialized succesfully
ppcpmw 0.8 initialized
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
eth0: config: auto-negotiation off, 100FDX, 100HDX, 10FDX, 10HDX.
IP-Config: Complete:
      device=3Deth0, addr=3D192.168.30.130, mask=3D255.255.0.0,
gw=3D192.168.1.1,
     host=3DSGVT_180, domain=3D, nis-domain=3D(none),
     bootserver=3D192.168.1.61, rootserver=3D192.168.1.61, rootpath=3D
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 192.168.1.61
eth0: status: link up, 100 Mbps Full Duplex, auto-negotiation complete.
portmap: server 192.168.1.61 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 192.168.1.61

then it stays until I reset the core :-(

 any hints  ???

^ 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