LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH, RFC] linkstation: implement standby
From: Johannes Berg @ 2007-08-29 10:32 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: Stephen Rothwell, linuxppc-dev, Pavel Machek, linux-pm
In-Reply-To: <Pine.LNX.4.60.0708290015580.3552@poirot.grange>

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

On Wed, 2007-08-29 at 00:30 +0200, Guennadi Liakhovetski wrote:

> > > +#ifdef CONFIG_PM
> > 
> > some of those probably want to be CONFIG_PM_SLEEP now.
> 
> Well, I wasn't sure when PM can be used not meaning PM_SLEEP, so, I left 
> PM for now. Can certainly change, if it really matters.

You end up compiling more code than necessary if PM_SLEEP is disabled
but PM is enabled (i.e. runtime powermanagement enabled but no sleep
states)

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 190 bytes --]

^ permalink raw reply

* linux2.6.17.4 with temac patch running on ML403 hung while initializing from ramdisk
From: angelalinyao @ 2007-08-29 11:12 UTC (permalink / raw)
  To: Linuxppc-embedded

Hi, all
    I have run linux-xilinx-26.git based on kernel 2.6.17.4 on ML403 successfully.
    Then I used a temac patch  from mvista (PAULUS)
    The system hung while initializing from ramdisk after patched.
    I use plb-temac v3.00a and hard_temac v3.00b, with EDK 9.1
    The message printed is as follow. Any help would be appreciated.
--------------------------------------------------------------------------------------
loaded at:     00400000 0069013C                                
board data at: 0068E124 0068E13C                                
relocated to:  004050E8 00405100                                
zimage at:     004058B9 00527794                                
initrd at:     00528000 0068DE1A                                
avail ram:     00691000 04000000                                

Linux/PPC load: console=ttyS0,9600 root=/dev/ram rw                                                   
Uncompressing Linux...done.                           
Now booting the kernel                      
Linux version 2.6.17-rc4-smp (linyao@linux-177) (gcc version 3.3.1 (MontaVista 3                                                                                
.3.1-3.0.10.0300532 2003-12-24)) #17 Wed Aug 29 16:36:51 CS                                                          
Xilinx ML403 Reference System (Virtex-4 FX)                                           
Built 1 zonelists                 
Kernel command line: console=ttyS0,9600 root=/dev/ram rw                                                        
Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFE000                                                 
PID hash table entries: 512 (order: 9, 2048 bytes)                                                  
Console: colour dummy device 80x25                                  
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)                                                             
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)                                                            
Memory: 60604k available (1428k kernel code, 1352k data, 84k init, 0k highmem)                                                                              
Security Framework v1.0.0 initialized                                     
Capability LSM initial                     
Mount-cache hash table entries: 512                                   
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd                                                                               
Freeing initrd memory: 1431k freed                                  
seclvl: seclvl_init: seclvl: Failure registering with the kernel.
seclvl: seclvl_init: seclvl: Failure registering with primary security module.
seclvl: Error during initialization: rc = [-22]
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Macintosh non-volatile memory driver v1.1
Linux agpgart interface v0.101 (c) Dave Jones
SyncLink PC Card driver $Revision: 4.34 $
SyncLink PC Card driver $Revision: 4.34 $, tty major#253
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x40401003 (irq = 2) is a 16450
RAMDISK driver initialized: 1 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
i8042.c: No controller found.
mice: PS/2 mouse device common for all mice
oprofile: using timer interrupt.
RAMDISK: Compressed image found at block 0
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 84k init
-----------------------------------------------------------------------------------
System hung here.
                                                                                                                             linyao
   

^ permalink raw reply

* Re: [PATCH] PS3: fix the bug the major version part is not compared
From: Masakazu Mokuno @ 2007-08-29 11:21 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Geert Uytterhoeven, linuxppc-dev, paulus
In-Reply-To: <jehcmj3i3p.fsf@sykes.suse.de>

On Tue, 28 Aug 2007 15:26:50 +0200
Andreas Schwab <schwab@suse.de> wrote:

> Masakazu Mokuno <mokuno@sm.sony.co.jp> writes:
> 
> > Fix the bug that the major version part of the firmware 
> > is not compared.
> >
> > Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
> > CC: Geoff Levand <geoffrey.levand@am.sony.com>
> > ---
> >  arch/powerpc/platforms/ps3/setup.c |    2 +-
> >  include/asm-powerpc/ps3.h          |    2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > --- a/arch/powerpc/platforms/ps3/setup.c
> > +++ b/arch/powerpc/platforms/ps3/setup.c
> > @@ -54,7 +54,7 @@ void ps3_get_firmware_version(union ps3_
> >  }
> >  EXPORT_SYMBOL_GPL(ps3_get_firmware_version);
> >  
> > -int ps3_compare_firmware_version(u16 major, u16 minor, u16 rev)
> > +s64 ps3_compare_firmware_version(u16 major, u16 minor, u16 rev)
> >  {
> >  	union ps3_firmware_version x;
> >  
> 
> Better yet: normalize the return value.
> 
> 	return (ps3_firmware_version.raw > x.raw) -
>                (ps3_firmware_version.raw < x.raw);


Thank you!
I'll submit new patch.


--
Masakazu MOKUNO

^ permalink raw reply

* [PATCH] PS3: fix the bug the major version part is not compared, take2
From: Masakazu Mokuno @ 2007-08-29 11:30 UTC (permalink / raw)
  To: paulus; +Cc: linuxppc-dev

Fix the bug that the major version part of the firmware 
is not compared.

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
CC: Geoff Levand <geoffrey.levand@am.sony.com>
---
 arch/powerpc/platforms/ps3/setup.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/arch/powerpc/platforms/ps3/setup.c
+++ b/arch/powerpc/platforms/ps3/setup.c
@@ -63,7 +63,8 @@ int ps3_compare_firmware_version(u16 maj
 	x.minor = minor;
 	x.rev = rev;
 
-	return (ps3_firmware_version.raw - x.raw);
+	return (ps3_firmware_version.raw > x.raw) -
+	       (ps3_firmware_version.raw < x.raw);
 }
 EXPORT_SYMBOL_GPL(ps3_compare_firmware_version);
 
--
Masakazu MOKUNO

^ permalink raw reply

* Re: [PATCH 1/4] PowerPC 440EPx: Sequoia bootwrapper
From: Valentine Barshak @ 2007-08-29 12:10 UTC (permalink / raw)
  To: Josh Boyer; +Cc: linuxppc-dev
In-Reply-To: <20070828130921.13809093@weaponx.rchland.ibm.com>

Josh Boyer wrote:
> On Tue, 28 Aug 2007 20:56:10 +0400
> Valentine Barshak <vbarshak@ru.mvista.com> wrote:
> 
>> +/* 4xx DDR1/2 Denali memory controller support */
>> +/* DDR0 registers */
>> +#define DDR0_02			2
>> +#define DDR0_08			8
>> +#define DDR0_10			10
>> +#define DDR0_14			14
>> +#define DDR0_42			42
>> +#define DDR0_43			43
>> +
>> +/* DDR0_02 */
>> +#define DDR_START		0x1
>> +#define DDR_START_SHIFT		0
>> +#define DDR_MAX_CS_REG		0x3
>> +#define DDR_MAX_CS_REG_SHIFT	24
>> +#define DDR_MAX_COL_REG		0xf
>> +#define DDR_MAX_COL_REG_SHIFT	16
>> +#define DDR_MAX_ROW_REG		0xf
>> +#define DDR_MAX_ROW_REG_SHIFT	8
>> +/* DDR0_08 */
>> +#define DDR_DDR2_MODE		0x1
>> +#define DDR_DDR2_MODE_SHIFT	0
>> +/* DDR0_10 */
>> +#define DDR_CS_MAP		0x3
>> +#define DDR_CS_MAP_SHIFT	8
>> +/* DDR0_14 */
>> +#define DDR_REDUC		0x1
>> +#define DDR_REDUC_SHIFT		16
>> +/* DDR0_42 */
>> +#define DDR_APIN		0x7
>> +#define DDR_APIN_SHIFT		24
>> +/* DDR0_43 */
>> +#define DDR_COL_SZ		0x7
>> +#define DDR_COL_SZ_SHIFT	8
>> +#define DDR_BANK8		0x1
>> +#define DDR_BANK8_SHIFT		0
>> +
>> +#define DDR_GET_VAL(val, mask, shift)	(((val) >> (shift)) & (mask))
> 
> Hm.  Having these as just DDR_... seems like it would lead to confusion
> if there are other DDR controllers that get added later.  But I'm not
> too picky either way.

What names would you suggest? DDR_DENALI_... looks too long :)
The names have been taken from the docs, I've just prefixed them with DDR_.
Thanks,
Valentine.

> 
>> diff -ruN linux-2.6.orig/arch/powerpc/boot/4xx.h linux-2.6/arch/powerpc/boot/4xx.h
>> --- linux-2.6.orig/arch/powerpc/boot/4xx.h	2007-08-27 14:08:42.000000000 +0400
>> +++ linux-2.6/arch/powerpc/boot/4xx.h	2007-08-28 17:04:51.000000000 +0400
>> @@ -12,6 +12,7 @@
>>  #define _POWERPC_BOOT_4XX_H_
>>
>>  void ibm4xx_fixup_memsize(void);
>> +void ibm4xx_denali_fixup_memsize(void);
>>  void ibm44x_dbcr_reset(void);
>>  void ibm40x_dbcr_reset(void);
>>  void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1);
>> diff -ruN linux-2.6.orig/arch/powerpc/boot/cuboot-sequoia.c linux-2.6/arch/powerpc/boot/cuboot-sequoia.c
>> --- linux-2.6.orig/arch/powerpc/boot/cuboot-sequoia.c	1970-01-01 03:00:00.000000000 +0300
>> +++ linux-2.6/arch/powerpc/boot/cuboot-sequoia.c	2007-08-28 17:21:55.000000000 +0400
>> @@ -0,0 +1,67 @@
> 
> <snip>
> 
>> +
>> +#include <stdarg.h>
>> +#include <stddef.h>
>> +#include "types.h"
>> +#include "elf.h"
>> +#include "string.h"
>> +#include "stdio.h"
>> +#include "page.h"
>> +#include "ops.h"
>> +#include "dcr.h"
>> +#include "4xx.h"
>> +#include "44x.h"
>> +#include "cuboot.h"
>> +
>> +#define TARGET_4xx
>> +#define TARGET_44x
>> +#include "ppcboot.h"
>> +
>> +static bd_t bd;
>> +static u8 *sequoia_mac0, *sequoia_mac1;
>> +
>> +extern char _dtb_start[];
>> +extern char _dtb_end[];
> 
> These got added to ops.h in commit 2f1d4899321be so you don't need to
> specify them here anymore.

OK

> 
> josh

^ permalink raw reply

* Re: [PATCH 1/4] PowerPC 440EPx: Sequoia bootwrapper
From: Valentine Barshak @ 2007-08-29 12:13 UTC (permalink / raw)
  To: Valentine Barshak, linuxppc-dev
In-Reply-To: <20070829063323.GG3206@localhost.localdomain>

David Gibson wrote:
> On Tue, Aug 28, 2007 at 08:56:10PM +0400, Valentine Barshak wrote:
>> Bootwrapper code for AMCC PPC440EPx Sequoia.
>>
>> Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
> [snip]
>> +static void sequoia_fixups(void)
>> +{
>> +	unsigned long sysclk = 33333333;
>> +
>> +	ibm440ep_fixup_clocks(sysclk, 11059200);
>> +	ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
>> +	ibm4xx_denali_fixup_memsize();
>> +	dt_fixup_mac_addresses(sequoia_mac0, sequoia_mac1);
>> +}
>> +
>> +static void sequoia_init(void *mac0, void *mac1)
> 
> No need to separate this function out, just drop it into
> platform_init().  Also no need for the seqouia_mac* variables - they
> were in ebony to handle the cuboot vs. openbios variants.  For
> sequoia, you can just pull the values straight from the bd_t in
> sequoia_fixups()
> 

OK,
Thanks,
Valentine.

^ permalink raw reply

* Re: [PATCH 1/4] PowerPC 440EPx: Sequoia bootwrapper
From: Josh Boyer @ 2007-08-29 12:26 UTC (permalink / raw)
  To: Stefan Roese; +Cc: linuxppc-dev
In-Reply-To: <200708291428.23522.sr@denx.de>

On Wed, 29 Aug 2007 14:28:23 +0200
Stefan Roese <sr@denx.de> wrote:

> On Wednesday 29 August 2007, Valentine Barshak wrote:
> > >> +#define DDR_GET_VAL(val, mask, shift)	(((val) >> (shift)) & (mask))
> > >
> > > Hm.  Having these as just DDR_... seems like it would lead to confusion
> > > if there are other DDR controllers that get added later.  But I'm not
> > > too picky either way.
> >
> > What names would you suggest? DDR_DENALI_... looks too long :)
> > The names have been taken from the docs, I've just prefixed them with DDR_.
> 
> It's such a generic macro and not Denali or even SDRAM specific. So it really 
> should be no problem to keep it as is.

I wasn't talking about DDR_GET_VAL.  I meant having the DDR registers
defines just as "DDR_START", "DDR_START_SHIFT", etc could be confusing
later.

But I don't really see a need to change it at the moment.  We can
prefix the with something else if a conflicting DDR controller ever
shows up.

josh

^ permalink raw reply

* Re: [PATCH 1/4] PowerPC 440EPx: Sequoia bootwrapper
From: Stefan Roese @ 2007-08-29 12:28 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <46D56226.8020500@ru.mvista.com>

On Wednesday 29 August 2007, Valentine Barshak wrote:
> >> +#define DDR_GET_VAL(val, mask, shift)	(((val) >> (shift)) & (mask))
> >
> > Hm.  Having these as just DDR_... seems like it would lead to confusion
> > if there are other DDR controllers that get added later.  But I'm not
> > too picky either way.
>
> What names would you suggest? DDR_DENALI_... looks too long :)
> The names have been taken from the docs, I've just prefixed them with DDR_.

It's such a generic macro and not Denali or even SDRAM specific. So it really 
should be no problem to keep it as is.

Just my 0.02$.

Best regards,
Stefan

^ permalink raw reply

* Re: STK5200 pci_enable_device problem
From: Oliver Rutsch @ 2007-08-29 12:52 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <20070829074902.7634024044@gemini.denx.de>

Hi,


> 
> Probably it does not hang, but you just don't see any console output.
> Eventually  you  just  forgot  to  set  the  correct  console  device
> (/dev/ttyPSC0) or console speed.

I checked this. I think the TQM5200 is really hanging after the ...OK 
because I have activated the telnet server and normally I'm able to 
connect to the device after booting via ethernet. No ping, no telnet. 
With an older 2.6.19.2 kernel this was O.K.

> 
> Also, you need a recent version of U-Boot (for  example  99c2fdab  or
> later).

I'm using U-Boot 1.2.0-gbc2b9c33-dirty (Feb 22 2007 - 09:53:14). Is that 
recent enough? (I don't know exactly what you mean with "99c2fdab", is 
this the second number after "1.2.0-"?)
> 
> Try something like this:
> 
> => tftp 200000 /tftpboot/tqm5200/uImage
> => tftp 400000 /tftpboot/tqm5200/tqm5200.dtb

Maybe the problem is the missing tqm5200.dtb file. I have booted the 
kernel without it (just bootm 200000). Does the kernel need this file? I 
found a tqm5200.dts file the the kernel sources, but the device tree 
compiler (dtc) seems not to be in the 4.1 ELDK. Do I have to install 
this compiler and build the appropriate dtb file?


> 
> Please note that the device tree we have at the  moment  is  for  the
> TQM5200 only and does not include support for the TQM5200S.
> 
> But probably you just had the same problem - missing or  bad  console
> device specification.
> 

In older kernels it was O.K. just to uncheck the SM501 drivers in the 
kernel configuration. Has this changed?

Thanks and bye,

-- 
Dipl. Ing. Oliver Rutsch

^ permalink raw reply

* Re: [PATCH] ppc32/8xx: Fix r3 trashing due to 8MB TLB page instantiation
From: Marcelo Tosatti @ 2007-08-29 12:22 UTC (permalink / raw)
  To: Jochen Friedrich, Paul Mackerras; +Cc: linux-kernel, linuxppc-embedded
In-Reply-To: <46D40510.3060805@scram.de>


Please apply. 

On Tue, Aug 28, 2007 at 01:20:48PM +0200, Jochen Friedrich wrote:
> Instantiation of 8MB pages on the TLB cache for the kernel static
> mapping trashes r3 register on !CONFIG_8xx_CPU6 configurations.
> This ensures r3 gets saved and restored.
> 
> This has been posted to linuxppc-embedded by Marcelo Tosatti
> <marcelo@kvack.org>, but only an incomplete version of the patch
> has been applied in c51e078f82096a7d35ac8ec2416272e843a0e1c4.
> This patch adds the rest of the fix.
> 
> Signed-off-by: Jochen Friedrich <jochen@scram.de>
> ---
>  arch/ppc/kernel/head_8xx.S |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
> 
> This can be pulled from git://git.bocc.de/dbox2.git ppc-fixes

^ permalink raw reply

* Re: Newbie and linux on virtex-II ppc
From: schardt @ 2007-08-29 13:31 UTC (permalink / raw)
  To: Linux PPC Linux PPC
In-Reply-To: <46D53C82.8030308@fz-juelich.de>

me again :)

i added a /dev/ttyUL0 (mknod ttyUL0 c 204 187) device and and a console
link to it.
no warning anymore, but i think i'm listen on the "wrong" console ??? i
see bootmessages
and an errormessage from init ("init: can't open /dev/null: no such
device or directory")

but the messages from init.d/rcS did not appear

this is my inittab (from klingauf mkrootfs):

::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
::restart:/sbin/init
::respawn:/sbin/getty 9600 tts/0

Georg

schardt wrote:
> Step by step i becomes running :)
>
> kernel is booting, root-fs is mounting on systemace, busybox compiled
> and rootfs installed (i used klingauf's mkrootfs)
>
> but now it says:
> [    2.964978] Freeing unused kernel memory: 92k init
> [    3.081332] Warning: unable to open an initial console.
> [    3.306406] request_module: runaway loop modprobe binfmt-4c46
> [    3.375612] request_module: runaway loop modprobe binfmt-4c46
> [    3.446800] request_module: runaway loop modprobe binfmt-4c46
>
> and i don't know what this is :(
>
> Can give me a hint, where to look ?
>
> thx
> Georg
>
> Grant Likely wrote:
>  =20
>> On 8/28/07, Grant Likely <grant.likely@secretlab.ca> wrote:
>>  =20
>>    =20
>>> On 8/28/07, schardt <g.schardt@fz-juelich.de> wrote:
>>>    =20
>>>      =20
>>>> Okay, im really blind i think, so i started again :
>>>>
>>>> - 2.6.22 kernel from kernel.org
>>>> - cp /arch/ppc/configs/ml300_defconfig .config
>>>>      =20
>>>>        =20
>> BTW, "make ml300_defconfig" does this for you.
>>
>> g.
>>
>>  =20
>>    =20
>
>
>
> -----------------------------------------------------------------------=
------------------
> -----------------------------------------------------------------------=
------------------
> Forschungszentrum J=FClich GmbH
> 52425 J=FClich
>
> Sitz der Gesellschaft: J=FClich
> Eingetragen im Handelsregister des Amtsgerichts D=FCren Nr. HR B 3498
> Vorsitzende des Aufsichtsrats: MinDirig'in B=E4rbel Brumme-Bothe
> Vorstand: Prof. Dr. Achim Bachem (Vorsitzender), Dr. Ulrich Krafft (ste=
llv.=20
> Vorsitzender)
> -----------------------------------------------------------------------=
------------------
> -----------------------------------------------------------------------=
------------------
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
>  =20



-------------------------------------------------------------------------=
----------------
-------------------------------------------------------------------------=
----------------
Forschungszentrum J=FClich GmbH
52425 J=FClich

Sitz der Gesellschaft: J=FClich
Eingetragen im Handelsregister des Amtsgerichts D=FCren Nr. HR B 3498
Vorsitzende des Aufsichtsrats: MinDirig'in B=E4rbel Brumme-Bothe
Vorstand: Prof. Dr. Achim Bachem (Vorsitzender), Dr. Ulrich Krafft (stell=
v.=20
Vorsitzender)
-------------------------------------------------------------------------=
----------------
-------------------------------------------------------------------------=
----------------

^ permalink raw reply

* [PATCH 0/4] PowerPC 440EPx: Initial Sequoia support
From: Valentine Barshak @ 2007-08-29 13:35 UTC (permalink / raw)
  To: linuxppc-dev

The following patches add initial PowerPC 440EPx Sequoia board support.
The code is based mainly on the Bamboo board support by Josh Boyer.
These patches have been modified according the comments for the previous
440EPx Sequoia patch series.

^ permalink raw reply

* [PATCH 1/4] PowerPC 440EPx: Sequoia bootwrapper
From: Valentine Barshak @ 2007-08-29 13:38 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <20070829133520.GA19925@ru.mvista.com>

Bootwrapper code for AMCC PPC440EPx Sequoia.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
---
 arch/powerpc/boot/4xx.c            |  108 +++++++++++++++++++++++++++++++++++++
 arch/powerpc/boot/4xx.h            |    1 
 arch/powerpc/boot/Makefile         |    4 +
 arch/powerpc/boot/cuboot-sequoia.c |   56 +++++++++++++++++++
 4 files changed, 168 insertions(+), 1 deletion(-)

diff -ruN linux-2.6.orig/arch/powerpc/boot/4xx.c linux-2.6.bld/arch/powerpc/boot/4xx.c
--- linux-2.6.orig/arch/powerpc/boot/4xx.c	2007-08-28 17:52:46.000000000 +0400
+++ linux-2.6.bld/arch/powerpc/boot/4xx.c	2007-08-29 16:14:10.000000000 +0400
@@ -39,6 +39,114 @@
 	dt_fixup_memory(0, memsize);
 }
 
+/* 4xx DDR1/2 Denali memory controller support */
+/* DDR0 registers */
+#define DDR0_02			2
+#define DDR0_08			8
+#define DDR0_10			10
+#define DDR0_14			14
+#define DDR0_42			42
+#define DDR0_43			43
+
+/* DDR0_02 */
+#define DDR_START		0x1
+#define DDR_START_SHIFT		0
+#define DDR_MAX_CS_REG		0x3
+#define DDR_MAX_CS_REG_SHIFT	24
+#define DDR_MAX_COL_REG		0xf
+#define DDR_MAX_COL_REG_SHIFT	16
+#define DDR_MAX_ROW_REG		0xf
+#define DDR_MAX_ROW_REG_SHIFT	8
+/* DDR0_08 */
+#define DDR_DDR2_MODE		0x1
+#define DDR_DDR2_MODE_SHIFT	0
+/* DDR0_10 */
+#define DDR_CS_MAP		0x3
+#define DDR_CS_MAP_SHIFT	8
+/* DDR0_14 */
+#define DDR_REDUC		0x1
+#define DDR_REDUC_SHIFT		16
+/* DDR0_42 */
+#define DDR_APIN		0x7
+#define DDR_APIN_SHIFT		24
+/* DDR0_43 */
+#define DDR_COL_SZ		0x7
+#define DDR_COL_SZ_SHIFT	8
+#define DDR_BANK8		0x1
+#define DDR_BANK8_SHIFT		0
+
+#define DDR_GET_VAL(val, mask, shift)	(((val) >> (shift)) & (mask))
+
+static inline u32 mfdcr_sdram0(u32 reg)
+{
+        mtdcr(DCRN_SDRAM0_CFGADDR, reg);
+        return mfdcr(DCRN_SDRAM0_CFGDATA);
+}
+
+void ibm4xx_denali_fixup_memsize(void)
+{
+	u32 val, max_cs, max_col, max_row;
+	u32 cs, col, row, bank, dpath;
+	unsigned long memsize;
+
+	val = mfdcr_sdram0(DDR0_02);
+	if (!DDR_GET_VAL(val, DDR_START, DDR_START_SHIFT))
+		fatal("DDR controller is not initialized\n");
+
+	/* get maximum cs col and row values */
+	max_cs  = DDR_GET_VAL(val, DDR_MAX_CS_REG, DDR_MAX_CS_REG_SHIFT);
+	max_col = DDR_GET_VAL(val, DDR_MAX_COL_REG, DDR_MAX_COL_REG_SHIFT);
+	max_row = DDR_GET_VAL(val, DDR_MAX_ROW_REG, DDR_MAX_ROW_REG_SHIFT);
+
+	/* get CS value */
+	val = mfdcr_sdram0(DDR0_10);
+
+	val = DDR_GET_VAL(val, DDR_CS_MAP, DDR_CS_MAP_SHIFT);
+	cs = 0;
+	while (val) {
+		if (val && 0x1)
+			cs++;
+		val = val >> 1;
+	}
+
+	if (!cs)
+		fatal("No memory installed\n");
+	if (cs > max_cs)
+		fatal("DDR wrong CS configuration\n");
+
+	/* get data path bytes */
+	val = mfdcr_sdram0(DDR0_14);
+
+	if (DDR_GET_VAL(val, DDR_REDUC, DDR_REDUC_SHIFT))
+		dpath = 8; /* 64 bits */
+	else
+		dpath = 4; /* 32 bits */
+
+	/* get adress pins (rows) */
+	val = mfdcr_sdram0(DDR0_42);
+
+	row = DDR_GET_VAL(val, DDR_APIN, DDR_APIN_SHIFT);
+	if (row > max_row)
+		fatal("DDR wrong APIN configuration\n");
+	row = max_row - row;
+
+	/* get collomn size and banks */
+	val = mfdcr_sdram0(DDR0_43);
+
+	col = DDR_GET_VAL(val, DDR_COL_SZ, DDR_COL_SZ_SHIFT);
+	if (col > max_col)
+		fatal("DDR wrong COL configuration\n");
+	col = max_col - col;
+
+	if (DDR_GET_VAL(val, DDR_BANK8, DDR_BANK8_SHIFT))
+		bank = 8; /* 8 banks */
+	else
+		bank = 4; /* 4 banks */
+
+	memsize = cs * (1 << (col+row)) * bank * dpath;
+	dt_fixup_memory(0, memsize);
+}
+
 #define SPRN_DBCR0_40X 0x3F2
 #define SPRN_DBCR0_44X 0x134
 #define DBCR0_RST_SYSTEM 0x30000000
diff -ruN linux-2.6.orig/arch/powerpc/boot/4xx.h linux-2.6.bld/arch/powerpc/boot/4xx.h
--- linux-2.6.orig/arch/powerpc/boot/4xx.h	2007-08-28 17:52:46.000000000 +0400
+++ linux-2.6.bld/arch/powerpc/boot/4xx.h	2007-08-29 16:14:10.000000000 +0400
@@ -12,6 +12,7 @@
 #define _POWERPC_BOOT_4XX_H_
 
 void ibm4xx_fixup_memsize(void);
+void ibm4xx_denali_fixup_memsize(void);
 void ibm44x_dbcr_reset(void);
 void ibm40x_dbcr_reset(void);
 void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1);
diff -ruN linux-2.6.orig/arch/powerpc/boot/cuboot-sequoia.c linux-2.6.bld/arch/powerpc/boot/cuboot-sequoia.c
--- linux-2.6.orig/arch/powerpc/boot/cuboot-sequoia.c	1970-01-01 03:00:00.000000000 +0300
+++ linux-2.6.bld/arch/powerpc/boot/cuboot-sequoia.c	2007-08-29 16:19:24.000000000 +0400
@@ -0,0 +1,56 @@
+/*
+ * Old U-boot compatibility for Sequoia
+ *
+ * Valentine Barshak <vbarshak@ru.mvista.com>
+ * Copyright 2007 MontaVista Software, Inc
+ *
+ * Based on Ebony code by David Gibson <david@gibson.dropbear.id.au>
+ * Copyright IBM Corporation, 2007
+ *
+ * Based on Bamboo code by Josh Boyer <jwboyer@linux.vnet.ibm.com>
+ * Copyright IBM Corporation, 2007
+ *
+ * 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; version 2 of the License
+ */
+
+#include <stdarg.h>
+#include <stddef.h>
+#include "types.h"
+#include "elf.h"
+#include "string.h"
+#include "stdio.h"
+#include "page.h"
+#include "ops.h"
+#include "dcr.h"
+#include "4xx.h"
+#include "44x.h"
+#include "cuboot.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static bd_t bd;
+
+
+static void sequoia_fixups(void)
+{
+	unsigned long sysclk = 33333333;
+
+	ibm440ep_fixup_clocks(sysclk, 11059200);
+	ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
+	ibm4xx_denali_fixup_memsize();
+	dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr);
+}
+
+void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
+                   unsigned long r6, unsigned long r7)
+{
+	CUBOOT_INIT();
+	platform_ops.fixups = sequoia_fixups;
+	platform_ops.exit = ibm44x_dbcr_reset;
+	ft_init(_dtb_start, 0, 32);
+	serial_console_init();
+}
diff -ruN linux-2.6.orig/arch/powerpc/boot/Makefile linux-2.6.bld/arch/powerpc/boot/Makefile
--- linux-2.6.orig/arch/powerpc/boot/Makefile	2007-08-28 17:52:46.000000000 +0400
+++ linux-2.6.bld/arch/powerpc/boot/Makefile	2007-08-29 16:14:10.000000000 +0400
@@ -48,7 +48,8 @@
 		cpm-serial.c
 src-plat := of.c cuboot-83xx.c cuboot-85xx.c holly.c \
 		cuboot-ebony.c treeboot-ebony.c prpmc2800.c \
-		ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c cuboot-pq2.c
+		ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
+		cuboot-pq2.c cuboot-sequoia.c
 src-boot := $(src-wlib) $(src-plat) empty.c
 
 src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -146,6 +147,7 @@
 image-$(CONFIG_PPC_85xx)		+= cuImage.85xx
 image-$(CONFIG_EBONY)			+= treeImage.ebony cuImage.ebony
 image-$(CONFIG_BAMBOO)			+= treeImage.bamboo
+image-$(CONFIG_SEQUOIA)			+= cuImage.sequoia
 endif
 
 # For 32-bit powermacs, build the COFF and miboot images

^ permalink raw reply

* [PATCH 2/4] PowerPC 440EPx: Sequoia device tree
From: Valentine Barshak @ 2007-08-29 13:39 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <20070829133520.GA19925@ru.mvista.com>

AMCC PPC440EPx Sequoia device tree.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
---
 arch/powerpc/boot/dts/sequoia.dts |  286 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 286 insertions(+)

diff -ruN linux-2.6.orig/arch/powerpc/boot/dts/sequoia.dts linux-2.6.bld/arch/powerpc/boot/dts/sequoia.dts
--- linux-2.6.orig/arch/powerpc/boot/dts/sequoia.dts	1970-01-01 03:00:00.000000000 +0300
+++ linux-2.6.bld/arch/powerpc/boot/dts/sequoia.dts	2007-08-29 16:14:04.000000000 +0400
@@ -0,0 +1,286 @@
+/*
+ * Device Tree Source for AMCC Sequoia
+ *
+ * Based on Bamboo code by Josh Boyer <jwboyer@linux.vnet.ibm.com>
+ * Copyright (c) 2006, 2007 IBM Corp.
+ *
+ * FIXME: Draft only!
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without
+ * any warranty of any kind, whether express or implied.
+ *
+ */
+
+/ {
+	#address-cells = <2>;
+	#size-cells = <1>;
+	model = "amcc,sequoia";
+	compatible = "amcc,sequoia";
+	dcr-parent = <&/cpus/PowerPC,440EPx@0>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		PowerPC,440EPx@0 {
+			device_type = "cpu";
+			reg = <0>;
+			clock-frequency = <0>; /* Filled in by zImage */
+			timebase-frequency = <0>; /* Filled in by zImage */
+			i-cache-line-size = <20>;
+			d-cache-line-size = <20>;
+			i-cache-size = <8000>;
+			d-cache-size = <8000>;
+			dcr-controller;
+			dcr-access-method = "native";
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0 0 0>; /* Filled in by zImage */
+	};
+
+	UIC0: interrupt-controller0 {
+		compatible = "ibm,uic-440epx","ibm,uic";
+		interrupt-controller;
+		cell-index = <0>;
+		dcr-reg = <0c0 009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+	};
+
+	UIC1: interrupt-controller1 {
+		compatible = "ibm,uic-440epx","ibm,uic";
+		interrupt-controller;
+		cell-index = <1>;
+		dcr-reg = <0d0 009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+		interrupts = <1e 4 1f 4>; /* cascade */
+		interrupt-parent = <&UIC0>;
+	};
+
+	UIC2: interrupt-controller2 {
+		compatible = "ibm,uic-440epx","ibm,uic";
+		interrupt-controller;
+		cell-index = <2>;
+		dcr-reg = <0e0 009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+		interrupts = <1c 4 1d 4>; /* cascade */
+		interrupt-parent = <&UIC0>;
+	};
+
+	SDR0: sdr {
+		compatible = "ibm,sdr-440epx", "ibm,sdr-440ep";
+		dcr-reg = <00e 002>;
+	};
+
+	CPR0: cpr {
+		compatible = "ibm,cpr-440epx", "ibm,cpr-440ep";
+		dcr-reg = <00c 002>;
+	};
+
+	plb {
+		compatible = "ibm,plb-440epx", "ibm,plb4";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		ranges;
+		clock-frequency = <0>; /* Filled in by zImage */
+
+		SDRAM0: sdram {
+			device_type = "memory-controller";
+			compatible = "ibm,sdram-440epx", "ibm,sdram-44x-ddr2denali";
+			dcr-reg = <010 2>;
+		};
+
+		DMA0: dma {
+			compatible = "ibm,dma-440epx", "ibm,dma-4xx";
+			dcr-reg = <100 027>;
+		};
+
+		MAL0: mcmal {
+			compatible = "ibm,mcmal-440epx", "ibm,mcmal2";
+			dcr-reg = <180 62>;
+			num-tx-chans = <4>;
+			num-rx-chans = <4>;
+			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 2 4>;
+			interrupt-map-mask = <ffffffff>;
+		};
+
+		POB0: opb {
+		  	compatible = "ibm,opb-440epx", "ibm,opb";
+			#address-cells = <1>;
+			#size-cells = <1>;
+		  	ranges = <00000000 1 00000000 80000000
+			          80000000 1 80000000 80000000>;
+		  	interrupt-parent = <&UIC1>;
+		  	interrupts = <7 4>;
+		  	clock-frequency = <0>; /* Filled in by zImage */
+
+			EBC0: ebc {
+				compatible = "ibm,ebc-440epx", "ibm,ebc";
+				dcr-reg = <012 2>;
+				#address-cells = <2>;
+				#size-cells = <1>;
+				clock-frequency = <0>; /* Filled in by zImage */
+				interrupts = <5 1>;
+				interrupt-parent = <&UIC1>;
+
+				nor_flash@0,0 {
+					device_type = "rom";
+					compatible = "direct-mapped";
+					probe-type = "CFI";
+					bank-width = <2>;
+					partitions = <	0	180000
+							180000	200000
+							380000	3aa0000
+							3e20000	140000
+							3f60000	40000
+							3fa0000	60000>;
+					partition-names = "Kernel", "ramdisk", "file system",
+								"kozio", "env", "u-boot";
+					reg = <0 000000 4000000>;
+				};
+
+			};
+
+			UART0: serial@ef600300 {
+		   		device_type = "serial";
+		   		compatible = "ns16550";
+		   		reg = <ef600300 8>;
+		   		virtual-reg = <ef600300>;
+		   		clock-frequency = <0>; /* Filled in by zImage */
+		   		current-speed = <1c200>;
+		   		interrupt-parent = <&UIC0>;
+		   		interrupts = <0 4>;
+	   		};
+
+			UART1: serial@ef600400 {
+		   		device_type = "serial";
+		   		compatible = "ns16550";
+		   		reg = <ef600400 8>;
+		   		virtual-reg = <ef600400>;
+		   		clock-frequency = <0>;
+		   		current-speed = <0>;
+		   		interrupt-parent = <&UIC0>;
+		   		interrupts = <1 4>;
+	   		};
+
+			UART2: serial@ef600500 {
+		   		device_type = "serial";
+		   		compatible = "ns16550";
+		   		reg = <ef600500 8>;
+		   		virtual-reg = <ef600500>;
+		   		clock-frequency = <0>;
+		   		current-speed = <0>;
+		   		interrupt-parent = <&UIC1>;
+		   		interrupts = <3 4>;
+	   		};
+
+			UART3: serial@ef600600 {
+		   		device_type = "serial";
+		   		compatible = "ns16550";
+		   		reg = <ef600600 8>;
+		   		virtual-reg = <ef600600>;
+		   		clock-frequency = <0>;
+		   		current-speed = <0>;
+		   		interrupt-parent = <&UIC1>;
+		   		interrupts = <4 4>;
+	   		};
+
+			IIC0: i2c@ef600700 {
+				device_type = "i2c";
+				compatible = "ibm,iic-440epx", "ibm,iic";
+				reg = <ef600700 14>;
+				interrupt-parent = <&UIC0>;
+				interrupts = <2 4>;
+			};
+
+			IIC1: i2c@ef600800 {
+				device_type = "i2c";
+				compatible = "ibm,iic-440epx", "ibm,iic";
+				reg = <ef600800 14>;
+				interrupt-parent = <&UIC0>;
+				interrupts = <7 4>;
+			};
+
+			ZMII0: emac-zmii@ef600d00 {
+				device_type = "zmii-interface";
+				compatible = "ibm,zmii-440epx", "ibm,zmii";
+				reg = <ef600d00 c>;
+			};
+
+			EMAC0: ethernet@ef600e00 {
+				linux,network-index = <0>;
+				device_type = "network";
+				compatible = "ibm,emac-440epx", "ibm,emac4";
+				interrupt-parent = <&EMAC0>;
+				interrupts = <0 1>;
+				#interrupt-cells = <1>;
+				#address-cells = <0>;
+				#size-cells = <0>;
+				interrupt-map = </*Status*/ 0 &UIC0 18 4
+						/*Wake*/  1 &UIC1 1d 4>;
+				reg = <ef600e00 70>;
+				local-mac-address = [000000000000];
+				mal-device = <&MAL0>;
+				mal-tx-channel = <0 1>;
+				mal-rx-channel = <0>;
+				cell-index = <0>;
+				max-frame-size = <5dc>;
+				rx-fifo-size = <1000>;
+				tx-fifo-size = <800>;
+				phy-mode = "rmii";
+				phy-map = <00000000>;
+				zmii-device = <&ZMII0>;
+				zmii-channel = <0>;
+			};
+
+			EMAC1: ethernet@ef600f00 {
+				linux,network-index = <1>;
+				device_type = "network";
+				compatible = "ibm,emac-440epx", "ibm,emac4";
+				interrupt-parent = <&EMAC1>;
+				interrupts = <0 1>;
+				#interrupt-cells = <1>;
+				#address-cells = <0>;
+				#size-cells = <0>;
+				interrupt-map = </*Status*/ 0 &UIC0 19 4
+						/*Wake*/  1 &UIC1 1f 4>;
+				reg = <ef600f00 70>;
+				local-mac-address = [000000000000];
+				mal-device = <&MAL0>;
+				mal-tx-channel = <2 3>;
+				mal-rx-channel = <1>;
+				cell-index = <1>;
+				max-frame-size = <5dc>;
+				rx-fifo-size = <1000>;
+				tx-fifo-size = <800>;
+				phy-mode = "rmii";
+				phy-map = <00000000>;
+				zmii-device = <&ZMII0>;
+				zmii-channel = <1>;
+			};
+		};
+	};
+
+	chosen {
+		linux,stdout-path = "/plb/opb/serial@ef600300";
+		bootargs = "console=ttyS0,115200";
+	};
+};

^ permalink raw reply

* [PATCH 3/4] PowerPC 440EPx: Sequoia board support
From: Valentine Barshak @ 2007-08-29 13:40 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <20070829133520.GA19925@ru.mvista.com>

AMCC PPC440EPx Sequoia board support.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
---
 arch/powerpc/kernel/cputable.c       |   18 +++++++++
 arch/powerpc/kernel/head_44x.S       |    2 -
 arch/powerpc/platforms/44x/Kconfig   |   17 ++++++++-
 arch/powerpc/platforms/44x/Makefile  |    1 
 arch/powerpc/platforms/44x/sequoia.c |   66 +++++++++++++++++++++++++++++++++++
 5 files changed, 102 insertions(+), 2 deletions(-)

diff -ruN linux-2.6.orig/arch/powerpc/kernel/cputable.c linux-2.6.bld/arch/powerpc/kernel/cputable.c
--- linux-2.6.orig/arch/powerpc/kernel/cputable.c	2007-08-28 17:52:46.000000000 +0400
+++ linux-2.6.bld/arch/powerpc/kernel/cputable.c	2007-08-29 16:14:07.000000000 +0400
@@ -1132,6 +1132,24 @@
 		.dcache_bsize		= 32,
 		.platform		= "ppc440",
 	},
+	{ /* 440EPX */
+		.pvr_mask		= 0xf0000ffb,
+		.pvr_value		= 0x200008D0,
+		.cpu_name		= "440EPX",
+		.cpu_features		= CPU_FTRS_44X,
+		.cpu_user_features	= COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
+		.icache_bsize		= 32,
+		.dcache_bsize		= 32,
+	},
+	{ /* 440GRX */
+		.pvr_mask		= 0xf0000ffb,
+		.pvr_value		= 0x200008D8,
+		.cpu_name		= "440GRX",
+		.cpu_features		= CPU_FTRS_44X,
+		.cpu_user_features	= COMMON_USER_BOOKE,
+		.icache_bsize		= 32,
+		.dcache_bsize		= 32,
+	},
 	{	/* 440GP Rev. B */
 		.pvr_mask		= 0xf0000fff,
 		.pvr_value		= 0x40000440,
diff -ruN linux-2.6.orig/arch/powerpc/kernel/head_44x.S linux-2.6.bld/arch/powerpc/kernel/head_44x.S
--- linux-2.6.orig/arch/powerpc/kernel/head_44x.S	2007-08-28 17:52:46.000000000 +0400
+++ linux-2.6.bld/arch/powerpc/kernel/head_44x.S	2007-08-29 16:14:07.000000000 +0400
@@ -217,7 +217,7 @@
 	lis	r4,interrupt_base@h	/* IVPR only uses the high 16-bits */
 	mtspr	SPRN_IVPR,r4
 
-#ifdef CONFIG_440EP
+#if defined(CONFIG_440EP) || defined(CONFIG_440EPX)
 	/* Clear DAPUIB flag in CCR0 (enable APU between CPU and FPU) */
 	mfspr	r2,SPRN_CCR0
 	lis	r3,0xffef
diff -ruN linux-2.6.orig/arch/powerpc/platforms/44x/Kconfig linux-2.6.bld/arch/powerpc/platforms/44x/Kconfig
--- linux-2.6.orig/arch/powerpc/platforms/44x/Kconfig	2007-08-28 17:52:47.000000000 +0400
+++ linux-2.6.bld/arch/powerpc/platforms/44x/Kconfig	2007-08-29 16:14:07.000000000 +0400
@@ -14,6 +14,14 @@
 	help
 	  This option enables support for the IBM PPC440GP evaluation board.
 
+config SEQUOIA
+	bool "Sequoia"
+	depends on 44x
+	default n
+	select 440EPX
+	help
+	  This option enables support for the AMCC PPC440EPX evaluation board.
+
 #config LUAN
 #	bool "Luan"
 #	depends on 44x
@@ -37,6 +45,13 @@
 	select IBM440EP_ERR42
 #	select IBM_NEW_EMAC_ZMII
 
+config 440EPX
+	bool
+	select PPC_FPU
+# Disabled until the new EMAC Driver is merged.
+#	select IBM_NEW_EMAC_EMAC4
+#	select IBM_NEW_EMAC_ZMII
+
 config 440GP
 	bool
 # Disabled until the new EMAC Driver is merged.
@@ -50,7 +65,7 @@
 
 config 440A
 	bool
-	depends on 440GX
+	depends on 440GX || 440EPX
 	default y
 
 # 44x errata/workaround config symbols, selected by the CPU models above
diff -ruN linux-2.6.orig/arch/powerpc/platforms/44x/Makefile linux-2.6.bld/arch/powerpc/platforms/44x/Makefile
--- linux-2.6.orig/arch/powerpc/platforms/44x/Makefile	2007-08-28 17:52:47.000000000 +0400
+++ linux-2.6.bld/arch/powerpc/platforms/44x/Makefile	2007-08-29 16:14:07.000000000 +0400
@@ -1,3 +1,4 @@
 obj-$(CONFIG_44x)	:= misc_44x.o
 obj-$(CONFIG_EBONY)	+= ebony.o
 obj-$(CONFIG_BAMBOO) += bamboo.o
+obj-$(CONFIG_SEQUOIA)	+= sequoia.o
diff -ruN linux-2.6.orig/arch/powerpc/platforms/44x/sequoia.c linux-2.6.bld/arch/powerpc/platforms/44x/sequoia.c
--- linux-2.6.orig/arch/powerpc/platforms/44x/sequoia.c	1970-01-01 03:00:00.000000000 +0300
+++ linux-2.6.bld/arch/powerpc/platforms/44x/sequoia.c	2007-08-29 16:14:07.000000000 +0400
@@ -0,0 +1,66 @@
+/*
+ * Sequoia board specific routines
+ *
+ * Valentine Barshak <vbarshak@ru.mvista.com>
+ * Copyright 2007 MontaVista Software Inc.
+ *
+ * Based on the Bamboo code by
+ * Josh Boyer <jwboyer@linux.vnet.ibm.com>
+ * Copyright 2007 IBM Corporation
+ *
+ * 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/init.h>
+#include <asm/machdep.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <asm/time.h>
+#include <asm/uic.h>
+#include <asm/of_platform.h>
+#include "44x.h"
+
+static struct of_device_id sequoia_of_bus[] = {
+	{ .compatible = "ibm,plb4", },
+	{ .compatible = "ibm,opb", },
+	{ .compatible = "ibm,ebc", },
+	{},
+};
+
+static int __init sequoia_device_probe(void)
+{
+	if (!machine_is(sequoia))
+		return 0;
+
+	of_platform_bus_probe(NULL, sequoia_of_bus, NULL);
+
+	return 0;
+}
+device_initcall(sequoia_device_probe);
+
+static int __init sequoia_probe(void)
+{
+	unsigned long root = of_get_flat_dt_root();
+
+	if (!of_flat_dt_is_compatible(root, "amcc,sequoia"))
+		return 0;
+
+	return 1;
+}
+
+static void __init sequoia_setup_arch(void)
+{
+}
+
+define_machine(sequoia) {
+	.name 				= "Sequoia",
+	.probe 				= sequoia_probe,
+	.setup_arch			= sequoia_setup_arch,
+	.progress 			= udbg_progress,
+	.init_IRQ 			= uic_init_tree,
+	.get_irq 			= uic_get_irq,
+	.restart			= ppc44x_reset_system,
+	.calibrate_decr			= generic_calibrate_decr,
+};

^ permalink raw reply

* [PATCH 4/4] PowerPC 440EPx: Sequoia defconfig
From: Valentine Barshak @ 2007-08-29 13:41 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <20070829133520.GA19925@ru.mvista.com>

AMCC PPC440EPx Sequoia default config.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
---
 arch/powerpc/configs/sequoia_defconfig |  776 +++++++++++++++++++++++++++++++++
 1 files changed, 776 insertions(+)

diff -ruN linux-2.6.orig/arch/powerpc/configs/sequoia_defconfig linux-2.6.bld/arch/powerpc/configs/sequoia_defconfig
--- linux-2.6.orig/arch/powerpc/configs/sequoia_defconfig	1970-01-01 03:00:00.000000000 +0300
+++ linux-2.6.bld/arch/powerpc/configs/sequoia_defconfig	2007-08-29 16:14:01.000000000 +0400
@@ -0,0 +1,776 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.23-rc3
+# Mon Aug 27 20:19:13 2007
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_6xx is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=y
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+# CONFIG_PPC_MM_SLICES is not set
+CONFIG_NOT_COHERENT_CACHE=y
+CONFIG_PPC32=y
+CONFIG_PPC_MERGE=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_IRQ_PER_CPU=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# Platform support
+#
+# CONFIG_PPC_MPC52xx is not set
+# CONFIG_PPC_MPC5200 is not set
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_BAMBOO is not set
+# CONFIG_EBONY is not set
+CONFIG_SEQUOIA=y
+CONFIG_440EPX=y
+CONFIG_440A=y
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPM2 is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_RESOURCES_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_PROC_DEVICETREE=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=""
+CONFIG_SECCOMP=y
+CONFIG_WANT_DEVICE_TREE=y
+CONFIG_DEVICE_TREE="sequoia.dts"
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+CONFIG_PPC_INDIRECT_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+# CONFIG_PCIEPORTBUS is not set
+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
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=0xfe000000
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_TASK_SIZE=0x80000000
+CONFIG_CONSISTENT_START=0xff100000
+CONFIG_CONSISTENT_SIZE=0x00200000
+CONFIG_BOOT_LOAD=0x01000000
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+# CONFIG_MTD is not set
+CONFIG_OF_DEVICE=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_PHANTOM is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+# CONFIG_SCSI_DMA is not set
+# 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
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+CONFIG_MACINTOSH_DRIVERS=y
+# CONFIG_MAC_EMUMOUSEBTN is not set
+# CONFIG_WINDFARM is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_ARCNET is not set
+# CONFIG_NET_ETHERNET is not set
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
+# CONFIG_ATL1 is not set
+CONFIG_NETDEV_10000=y
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_CHELSIO_T3 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_MLX4_CORE is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_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
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+CONFIG_DAB=y
+
+#
+# Graphics support
+#
+# 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
+#
+# CONFIG_SOUND is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+# CONFIG_MMC is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+# 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
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4DEV_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_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
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_BIND34 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+# CONFIG_NLS is not set
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+# CONFIG_UCC_SLOW is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+
+#
+# Instrumentation Support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_DEBUGGER=y
+# CONFIG_KGDB is not set
+# CONFIG_XMON is not set
+# CONFIG_BDI_SWITCH is not set
+CONFIG_PPC_EARLY_DEBUG=y
+# CONFIG_PPC_EARLY_DEBUG_LPAR is not set
+# CONFIG_PPC_EARLY_DEBUG_G5 is not set
+# CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL is not set
+# CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set
+# CONFIG_PPC_EARLY_DEBUG_MAPLE is not set
+# CONFIG_PPC_EARLY_DEBUG_ISERIES is not set
+# 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_44x_PHYSLOW=0xef600300
+CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_MANAGER=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_PCBC=y
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS 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_HW=y

^ permalink raw reply

* Re: [PATCH 2/3] Introduce new CPM device bindings.
From: Scott Wood @ 2007-08-29 13:58 UTC (permalink / raw)
  To: galak, linuxppc-dev
In-Reply-To: <20070829053941.GC3206@localhost.localdomain>

On Wed, Aug 29, 2007 at 03:39:41PM +1000, David Gibson wrote:
> On Tue, Aug 28, 2007 at 03:16:19PM -0500, Scott Wood wrote:
> > Boards that do not require the legacy bindings should select
> > CONFIG_PPC_CPM_NEW_BINDING to enable the of_platform CPM devices. Once
> > all existing boards are converted and tested, the config option can
> > become default y to prevent new boards from using the old model.  Once
> > arch/ppc is gone, the config option can be removed altogether.
> 
> I think it would be better to change the name and reverse the sense of
> this config option, since what it actually does is disable the old
> binding, not enable the new one.

But then boards would have to deselect rather than select the option...
can kconfig do that?

> Your example has bus-frequency, but lacks fsl,brg-frequency, in
> contrast to the description above.

Oops...

> Since you have a separate brg node defined below, maybe
> fsl,brg-frequency should just be replaced with a 'clock-frequency'
> property in that subnode.

Sounds good.

> > +   ii) Properties common to mulitple CPM/QE devices
> > +
> > +   - fsl,cpm-command : This value is ORed with the opcode and command flag
> > +                       to specify the device on which a CPM command operates.
> > +
> > +   - fsl,cpm-brg : Indicates which baud rate generator the device
> > +                   is associated with.  If absent, an unused BRG
> > +                   should be dynamically allocated.
> 
> Maybe a property with the brg node's phandle could be included as
> well, to avoid having to hop up to the CPM node, then back down to the
> brg-compatible node to find it?

Enh... it doesn't convey any new information, and in practice, it's done
by common CPM code that doesn't know about the individual device's node
anyway.

> Or maybe even have a separate subnode for each brg, and just have a
> phandle to reference it from the other devices, rather than using this
> index.

Seems a little complex relative to the gain.

> > +   Example:
> > +
> > +	ethernet@11300 {
> > +		device_type = "network";
> > +		compatible = "fsl,mpc8272-fcc-enet",
> > +		             "fsl,cpm2-fcc-enet";
> > +		reg = <11300 20 8400 100 11390 1>;
> > +		local-mac-address = [ 00 00 00 00 00 00 ];
> > +		interrupts = <20 8>;
> > +		interrupt-parent = <&PIC>;
> > +		phy-handle = <&PHY0>;
> > +		linux,network-index = <0>;
> > +		fsl,cpm-command = <12000300>;
> > +	};
> 
> Should this also have a phandle pointer to the mdio node?

It has a phandle to the phy node...  if you mean the mdio bus node, why?

-Scott

^ permalink raw reply

* Re: [PATCH 3/3] Add early debug console for CPM serial ports.
From: Scott Wood @ 2007-08-29 14:02 UTC (permalink / raw)
  To: galak, linuxppc-dev
In-Reply-To: <20070829054540.GD3206@localhost.localdomain>

On Wed, Aug 29, 2007 at 03:45:40PM +1000, David Gibson wrote:
> > diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug
> > index 22acece..d471154 100644
> > --- a/arch/powerpc/Kconfig.debug
> > +++ b/arch/powerpc/Kconfig.debug
> > @@ -211,6 +211,15 @@ config PPC_EARLY_DEBUG_44x
> >  	  Select this to enable early debugging for IBM 44x chips via the
> >  	  inbuilt serial port.
> >  
> > +config PPC_EARLY_DEBUG_CPM
> > +	bool "Early serial debugging for Freescale CPM-based serial ports"
> > +	depends on SERIAL_CPM
> > +	select PIN_TLB if PPC_8xx
> 
> I see this Kconfig line, but I don't see any code below that would set
> up a suitable TLB on 8xx for the CPM...?

There's existing code that pins the IMMR when that option is enabled.
It's a bit broken, but there's a patch in the 8xx series that fixes it.

> >  # Temporary hack until we have migrated to asm-powerpc
> >  ifeq ($(ARCH),powerpc)
> > +obj-$(CONFIG_CPM1)$(CONFIG_CPM2) += cpm_common.o
> 
> Uh.. I don't think this will work properly.  If CONFIG_CPM1 and
> CONFIG_CPM2 are both enabled, it will set obj-yy rather than obj-y.

The assumption was that CPM1 and CPM2 are never going to both be enabled,
as CPM1 only exists on hardware with a unique MMU.

I could add an obj-y += $(obj-yy) if you like, though.

> Since this is all udbg related, it could go (within an ifdef) into
> udbg.c rather than creating a new file for it.

Well, I was hoping that more consolidation between cpm1 and cpm2 (and
qe/cpm3, for that matter) would happen in the future, and this would be a
place to put it.

> Urg... this is ugly, because it looks like it can be muti-platform,
> but actually isn't.  I think a better approach is to set the magic
> address as a Kconfig variable, as we do on 44x.  This approach can
> also be useful for hacking up early debug for new chips during the
> process of creating platform code for them.

OK.

-Scott

^ permalink raw reply

* Re: Newbie and linux on virtex-II ppc
From: Grant Likely @ 2007-08-29 14:44 UTC (permalink / raw)
  To: schardt; +Cc: Linux PPC Linux PPC
In-Reply-To: <46D5753C.70702@fz-juelich.de>

On 8/29/07, schardt <g.schardt@fz-juelich.de> wrote:
> me again :)
>
> i added a /dev/ttyUL0 (mknod ttyUL0 c 204 187) device and and a console
> link to it.

Yeah, you don't want a symlink, you want a console device node instead:

mknod /dev/tty 5 0
mknod /dev/console 5 1

> no warning anymore, but i think i'm listen on the "wrong" console ??? i
> see bootmessages
> and an errormessage from init ("init: can't open /dev/null: no such
> device or directory")

I would say you need to add a /dev/null device node, or fix it's
permissions.  :-)

mknod /dev/null 1 3

>
> but the messages from init.d/rcS did not appear
>
> this is my inittab (from klingauf mkrootfs):
>
> ::sysinit:/etc/init.d/rcS
> ::askfirst:-/bin/sh
> ::ctrlaltdel:/sbin/reboot
> ::shutdown:/sbin/swapoff -a
> ::shutdown:/bin/umount -a -r
> ::restart:/sbin/init
> ::respawn:/sbin/getty 9600 tts/0
>
> Georg
>
> schardt wrote:
> > Step by step i becomes running :)
> >
> > kernel is booting, root-fs is mounting on systemace, busybox compiled
> > and rootfs installed (i used klingauf's mkrootfs)
> >
> > but now it says:
> > [    2.964978] Freeing unused kernel memory: 92k init
> > [    3.081332] Warning: unable to open an initial console.
> > [    3.306406] request_module: runaway loop modprobe binfmt-4c46
> > [    3.375612] request_module: runaway loop modprobe binfmt-4c46
> > [    3.446800] request_module: runaway loop modprobe binfmt-4c46
> >
> > and i don't know what this is :(
> >
> > Can give me a hint, where to look ?
> >
> > thx
> > Georg
> >
> > Grant Likely wrote:
> >
> >> On 8/28/07, Grant Likely <grant.likely@secretlab.ca> wrote:
> >>
> >>
> >>> On 8/28/07, schardt <g.schardt@fz-juelich.de> wrote:
> >>>
> >>>
> >>>> Okay, im really blind i think, so i started again :
> >>>>
> >>>> - 2.6.22 kernel from kernel.org
> >>>> - cp /arch/ppc/configs/ml300_defconfig .config
> >>>>
> >>>>
> >> BTW, "make ml300_defconfig" does this for you.
> >>
> >> g.
> >>
> >>
> >>
> >
> >
> >
> > -----------------------------------------------------------------------=
------------------
> > -----------------------------------------------------------------------=
------------------
> > Forschungszentrum J=FClich GmbH
> > 52425 J=FClich
> >
> > Sitz der Gesellschaft: J=FClich
> > Eingetragen im Handelsregister des Amtsgerichts D=FCren Nr. HR B 3498
> > Vorsitzende des Aufsichtsrats: MinDirig'in B=E4rbel Brumme-Bothe
> > Vorstand: Prof. Dr. Achim Bachem (Vorsitzender), Dr. Ulrich Krafft (ste=
llv.
> > Vorsitzender)
> > -----------------------------------------------------------------------=
------------------
> > -----------------------------------------------------------------------=
------------------
> > _______________________________________________
> > Linuxppc-embedded mailing list
> > Linuxppc-embedded@ozlabs.org
> > https://ozlabs.org/mailman/listinfo/linuxppc-embedded
> >
> >
>
>
>
> -------------------------------------------------------------------------=
----------------
> -------------------------------------------------------------------------=
----------------
> Forschungszentrum J=FClich GmbH
> 52425 J=FClich
>
> Sitz der Gesellschaft: J=FClich
> Eingetragen im Handelsregister des Amtsgerichts D=FCren Nr. HR B 3498
> Vorsitzende des Aufsichtsrats: MinDirig'in B=E4rbel Brumme-Bothe
> Vorstand: Prof. Dr. Achim Bachem (Vorsitzender), Dr. Ulrich Krafft (stell=
v.
> Vorsitzender)
> -------------------------------------------------------------------------=
----------------
> -------------------------------------------------------------------------=
----------------
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>


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

^ permalink raw reply

* Re: Linux doesn not boot from u-boot on ML403
From: Grant Likely @ 2007-08-29 15:17 UTC (permalink / raw)
  To: Miroslaw Dach; +Cc: Leonid, linuxppc-embedded
In-Reply-To: <Pine.LNX.4.44.0708290947560.2407-100000@slslc02.psi.ch>

On 8/29/07, Miroslaw Dach <miroslaw.dach@psi.ch> wrote:
> Hi Grant,
>
>         My zImage.elf has 1.1 MB and uImage 968 KB.
> Could you tell me please how to hook up GDB to debug u-boot?

Ah-HA!  You're using the wrong type of kernel image.  When booting
from u-boot, you should be using a 'uImage', not a 'zImage.elf'.
(generated with 'make uImage' in the kernel tree).  An you should use
the 'bootm' command to boot the kernel.

With bootm, u-boot can pass parameters to the kernel and it is u-boot
that does the uncompression (instead of the zImage wrapper).

Cheers,
g.

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

^ permalink raw reply

* Re: Linux doesn not boot from u-boot on ML403
From: Miroslaw Dach @ 2007-08-29 15:31 UTC (permalink / raw)
  To: Grant Likely; +Cc: Leonid, linuxppc-embedded
In-Reply-To: <fa686aa40708290817k897f8c2y5fdf12e5a48cc0ac@mail.gmail.com>

Hi Grant,

	Yes you are right that I should use uImage instead of zImage.elf

I have tried first bootm and uImage but it also hanged during 
uncompression so next I have tried bootelf zImage.elf to see how this 
works because I was able to run zImage.elf straight from EDK via jtag.

Cheers

Mirek
  

On Wed, 29 Aug 2007, Grant Likely wrote:

> On 8/29/07, Miroslaw Dach <miroslaw.dach@psi.ch> wrote:
> > Hi Grant,
> >
> >         My zImage.elf has 1.1 MB and uImage 968 KB.
> > Could you tell me please how to hook up GDB to debug u-boot?
> 
> Ah-HA!  You're using the wrong type of kernel image.  When booting
> from u-boot, you should be using a 'uImage', not a 'zImage.elf'.
> (generated with 'make uImage' in the kernel tree).  An you should use
> the 'bootm' command to boot the kernel.
> 
> With bootm, u-boot can pass parameters to the kernel and it is u-boot
> that does the uncompression (instead of the zImage wrapper).
> 
> Cheers,
> g.
> 
> 

-- 
=============================================================================
          Miroslaw Dach (Miroslaw.Dach@psi.ch) - SLS/Controls Group 
                PSI - Paul Scherrer Institut CH-5232 Villigen
=============================================================================

^ permalink raw reply

* Re: Linux doesn not boot from u-boot on ML403
From: Miroslaw Dach @ 2007-08-29 15:32 UTC (permalink / raw)
  To: Grant Likely; +Cc: Leonid, linuxppc-embedded
In-Reply-To: <fa686aa40708280828h408ce7damf04b31a2048d40c4@mail.gmail.com>

I have done further investigation with bootelf and zImage.elf (from
u-boot) and it seems to be that the system fails during image
uncompression: The last command executed is: r = zlib_inflate(&s,
Z_FINISH); /* file: ./arch/ppc/boot/common/misc-common.c */

zlib_inflate function code is in ./lib/zlib_inflate/inflate.c


Mirek



On Tue, 28 Aug 2007, Grant Likely wrote:

> On 8/28/07, Miroslaw Dach <miroslaw.dach@psi.ch> wrote:
> > This buffer refers to the kernel which I boot straight from jtag but not
> > u-boot.
> 
> /me remembers something....
> 
> How big is your kernel image?  Seems to me I've had problems with
> kernel images that were too large not being uncompressed properly.
> Can you hook up GDB and debug u-boot?  Find out where it is hanging?
> 
> g.
> 
> 

-- 
=============================================================================
          Miroslaw Dach (Miroslaw.Dach@psi.ch) - SLS/Controls Group 
                PSI - Paul Scherrer Institut CH-5232 Villigen
=============================================================================

^ permalink raw reply

* 2.6 kernel hangs after loading device tree
From: charanya venkatraman @ 2007-08-29 16:14 UTC (permalink / raw)
  To: linuxppc-embedded

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

Hi all

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

^ permalink raw reply

* [PATCH 2.6.23] ibmebus: Prevent bus_id collisions
From: Joachim Fenkes @ 2007-08-29 16:15 UTC (permalink / raw)
  To: LinuxPPC-Dev, LKML, Paul Mackerras
  Cc: Thomas Klein, Paul Mackerras, Jan-Bernd Themann, Christoph Raisch,
	Stefan Roscher

Previously, ibmebus derived a device's bus_id from its location code. The
location code is not guaranteed to be unique, so we might get bus_id
collisions if two devices share the same location code. The OFDT full_name,
however, is unique, so we use that instead.

Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
---

The patch has been tested and works fine. If you think it's too much change
for 2.6.23-rc5, please schedule for 2.6.24 instead.

 arch/powerpc/kernel/ibmebus.c |   30 +++++++++---------------------
 1 files changed, 9 insertions(+), 21 deletions(-)

diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c
index 9a8c9af..d6a38cd 100644
--- a/arch/powerpc/kernel/ibmebus.c
+++ b/arch/powerpc/kernel/ibmebus.c
@@ -188,33 +188,21 @@ static struct ibmebus_dev* __devinit ibmebus_register_device_node(
 	struct device_node *dn)
 {
 	struct ibmebus_dev *dev;
-	const char *loc_code;
-	int length;
-
-	loc_code = of_get_property(dn, "ibm,loc-code", NULL);
-	if (!loc_code) {
-                printk(KERN_WARNING "%s: node %s missing 'ibm,loc-code'\n",
-		       __FUNCTION__, dn->name ? dn->name : "<unknown>");
-		return ERR_PTR(-EINVAL);
-        }
-
-	if (strlen(loc_code) == 0) {
-	        printk(KERN_WARNING "%s: 'ibm,loc-code' is invalid\n",
-		       __FUNCTION__);
-		return ERR_PTR(-EINVAL);
-	}
+	int i, len, bus_len;
 
 	dev = kzalloc(sizeof(struct ibmebus_dev), GFP_KERNEL);
-	if (!dev) {
+	if (!dev)
 		return ERR_PTR(-ENOMEM);
-	}
 
 	dev->ofdev.node = of_node_get(dn);
 
-	length = strlen(loc_code);
-	memcpy(dev->ofdev.dev.bus_id, loc_code
-		+ (length - min(length, BUS_ID_SIZE - 1)),
-		min(length, BUS_ID_SIZE - 1));
+	len = strlen(dn->full_name + 1);
+	bus_len = min(len, BUS_ID_SIZE - 1);
+	memcpy(dev->ofdev.dev.bus_id, dn->full_name + 1
+	       + (len - bus_len), bus_len);
+	for (i = 0; i < bus_len; i++)
+		if (dev->ofdev.dev.bus_id[i] == '/')
+			dev->ofdev.dev.bus_id[i] = '_';
 
 	/* Register with generic device framework. */
 	if (ibmebus_register_device_common(dev, dn->name) != 0) {
-- 
1.5.2

^ permalink raw reply related

* 2.6 kernel hangs after loading device tree
From: charanya venkatraman @ 2007-08-29 16:38 UTC (permalink / raw)
  To: Linuxppc-embedded

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

Hi all
       Sorry about the previous mail.Got sent  by mistake.

Iam using the 2.6.22.5 kernel on MPC 8560 and MPC8540 on my custom
board.Mykernel hangs after loading the device tree in both the
processors .There is
no output on the serial port after loading the device tree.Am using U-boot
1.2.0 as the bootloader.After enabling debug in u-boot i could see that the
control is getting transferred to the kernel after which it hangs.Earlier i
tried using 2.6.21 which also hangs at the same point.The config files used
were MPC8540ADS_defconfig and MPC8560ADS_defconfig under powerpc directory.
The changes that were made to the device tree are:
1.The reg and ranges properties of the soc node have been changed to account
for the change in CCSRBAR of my board.
2.Removed the PCI,mdio nodes and ethernet nodes since i dont need support
for these as of now.

I have tried the following console arguments:
MPC8540: bootargs root=/dev/ram rw console=ttyS0,115200
MPC8560:bootargs root=/dev/ram rw console=ttyCPM0,115200

Any help on this issue??

Thanks.
Charanya.

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

^ 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