booting linux on powerpc 405

2005-06-22 Thread [EMAIL PROTECTED]
Hello.I am not an expert regarding this board but the output below looks like 
it is something wrong with root fs-like you use a rfs built for another arch. 
Just a pure guess..

On Wed, Jun 22, 2005 at 10:19:37AM +0530, vinod b wrote:
> thanks for the response sir.
> 
> sir i created nodes on the dev directory using the command mknode.Even after 
> doing this i have problem.I do not know if there is any problem with nfs 
> server.But as it is seen in the output on the minicom window sigseg signal 
> occeurs then kernel panic happens.So how can this problem be solved.
> 
> I am sending the new output 
> Welcome to minicom 2.00.0
> 
> OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n
> Compiled on Jan 25 2003, 00:15:18.
> 
> Press CTRL-A Z for help on special keys
> 
> 
> 
> 405GP 1.13 ROM Monitor (4/7/00)
> 
> - System Info --
> Processor = 405GP, PVR: 40110082
> Processor speed = 200 MHz
> PLB speed = 100 MHz
> OPB speed = 50 MHz
> Ext Bus speed = 50 MHz
> PCI Bus speed = 33 MHz (Sync)
> Amount of SDRAM = 32 MBytes
> Internal PCI arbiter enabled
> 
> 
> --- Device Configuration ---
> Power-On Test Devices:
> 000 Disabled System Memory [RAM]
> 001 Disabled Ethernet [ENET]
> 004 Disabled Serial Port 2 [S2]
> 
> Boot Sources:
> 001 Enabled Ethernet [ENET]
> local=192.0.1.253  remote=192.0.1.50
> hwaddr=0004ace30f38
> 004 Disabled Serial Port 2 [S2]
> local=8.1.1.2 
> remote=255.255.255.255hwaddr=
> 005 Disabled Serial Port 1 [S1]
> 
> Debugger: Disabled
> 
> 1 - Enable/disable tests
> 2 - Enable/disable boot devices
> 3 - Change IP addresses
> 4 - Ping test
> 5 - Toggle ROM monitor debugger
> 6 - Toggle automatic menu
> 7 - Display configuration
> 8 - Save changes to configuration
> 9 - Set baud rate for s1 boot
> A - Enable/disable I cache (Enabled )
> B - Enable/disable D cache (Disabled)
> 0 - Exit menu and continue
> ->0
> ENET Speed is 100 Mbs...
> FULL duplex connection
> Booting from [ENET] Ethernet ...
> Sending bootp request ...
> 
> 
> Loading file "/tftpboot/zImage.treeboot" ...
> Sending tftp boot request ...
> Transfer Complete ...
> Loaded successfully ...
> Entry point at 0x50 ...
> 
> loaded at: 0050 0059E1F8
> relocated to: 0040 0049E1F8
> board data at: 0049B128 0049B168
> relocated to: 00405470 004054B0
> zimage at: 004059AC 0049A376
> avail ram: 0049F000 0200
> 
> Linux/PPC load: root=/dev/nfs rw ip=on
> Uncompressing Linux...done.
> Now booting the kernel
> Linux version 2.4.18_mvl30-405ep_eval (root at sairam) (gcc version
> 3.2.1200209305IBM Walnut (IBM405GP) Platform
> Port by MontaVista Software, Inc. (source at mvista.com)
> On node 0 totalpages: 8192
> zone(0): 8192 pages.
> zone(1): 0 pages.
> zone(2): 0 pages.
> Kernel command line: root=/dev/nfs rw ip=on
> Calibrating delay loop... 199.47 BogoMIPS
> Memory: 30800k available (1024k kernel code, 332k data, 72k init, 0k 
> highmem)
> Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes)
> Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
> Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
> Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
> Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
> POSIX conformance testing by UNIFIX
> PCI: Probing PCI hardware
> Linux NET4.0 for Linux 2.4
> Based upon Swansea University Computer Society NET3.039
> Initializing RT netlink socket
> OCP uart ver 1.2.1 init complete
> Starting kswapd
> Disabling the Out Of Memory Killer
> i2c-core.o: i2c core module version 2.6.2 (2008)
> initialize_kbd: Keyboard reset failed, no ACK
> Detected PS/2 Mouse Port.
> Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ 
> SERIAL_PCI edttyS00 at 0xef600300 (irq = 0) is a 16550A
> ttyS01 at 0xef600400 (irq = 1) is a 16550A
> block: 64 slots per queue, batch=16
> RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
> loop: loaded (max 8 devices)
> eth0: Phy @ 0x1, type DP83843 (0x20005c10)
> Reset ethernet interfaces
> 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 2048 bind 4096)
> opening eth0 on emac 0
> eth0: IBM EMAC: link up, 100 Mbps Full Duplex, auto-negotiation complete.
> eth0: IBM EMAC: MAC 00:04:ac:e3:0f:38.
> eth0: IBM EMAC: open completed
> Sending BOOTP and RARP requests . OK
> IP-Config: Got BOOTP answer from 192.0.1.50 , my address 
> is 192.0.1.253 
> IP-Config: Complete:
> device=eth0, addr=192.0.1.253 ,
> mask=255.255.255.0,
> gw=255.255.255.255 ,
> host=192.0.1.253 , dom

isp1362 usb driver

2005-06-22 Thread Wolfgang Denk
In message  
you wrote:
> 
>   I had similar issues with control/bulk/interrupt endpoints with
> the ISP1362 host controller driver from DENX.  I went ahead and added
> better support for control/bulk/interrupt endpoints.  I could send you a
> copy of the source if you like.  The driver is being used on an MPC880,

Maybe you can send me a copy of your patch so we can  include  it  in
our tree? Thanks.


Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If I ever needed a brain transplant, I'd choose a teenager's  because
I'd want a brain that had never been used.



[OT?] recommendations for a small footprint DB for PPC system?

2005-06-22 Thread Robert P. J. Day

  any recommendations for a small, relational database that can be
cross-compiled with ELDK 3.1.1 for a PPC system?  it's not going to be
holding a lot of records (about 1000, more or less), and will be
initialized and loaded at system boot time, at which point the
majority of operations will be read, with only occasional writes.

  thoughts?

rday



[PATCH] ppc32: remove some unnecessary includes of bootmem.h

2005-06-22 Thread Kumar Gala
Continue the Good Fight:  Limit bootmem.h include creep.

Signed-off-by: Jon Loeliger 
Signed-off-by: Kumar Gala 

---
commit abb3b231caa4b32fbd41dc5d59e09754854b786f
tree ec2bfdad42d1227f3aabee400a6a6c6e277a756f
parent 0db0912993b08ae4870aa370db5e5e6f83f2c5a3
author Kumar K. Gala  Wed, 22 Jun 2005 18:05:00 
-0500
committer Kumar K. Gala  Wed, 22 Jun 2005 18:05:00 
-0500

 arch/ppc/mm/44x_mmu.c  |1 -
 arch/ppc/mm/4xx_mmu.c  |1 -
 arch/ppc/mm/fsl_booke_mmu.c|1 -
 arch/ppc/platforms/chrp_pci.c  |1 -
 arch/ppc/platforms/katana.c|2 +-
 arch/ppc/platforms/pmac_pci.c  |1 -
 arch/ppc/syslib/cpm2_common.c  |2 +-
 arch/ppc/syslib/indirect_pci.c |1 -
 arch/ppc/syslib/mv64x60.c  |1 -
 arch/ppc/syslib/mv64x60_win.c  |1 -
 10 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/arch/ppc/mm/44x_mmu.c b/arch/ppc/mm/44x_mmu.c
--- a/arch/ppc/mm/44x_mmu.c
+++ b/arch/ppc/mm/44x_mmu.c
@@ -39,7 +39,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 #include 
diff --git a/arch/ppc/mm/4xx_mmu.c b/arch/ppc/mm/4xx_mmu.c
--- a/arch/ppc/mm/4xx_mmu.c
+++ b/arch/ppc/mm/4xx_mmu.c
@@ -36,7 +36,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 #include 
diff --git a/arch/ppc/mm/fsl_booke_mmu.c b/arch/ppc/mm/fsl_booke_mmu.c
--- a/arch/ppc/mm/fsl_booke_mmu.c
+++ b/arch/ppc/mm/fsl_booke_mmu.c
@@ -41,7 +41,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 #include 
diff --git a/arch/ppc/platforms/chrp_pci.c b/arch/ppc/platforms/chrp_pci.c
--- a/arch/ppc/platforms/chrp_pci.c
+++ b/arch/ppc/platforms/chrp_pci.c
@@ -9,7 +9,6 @@
 #include 
 #include 
 #include 
-#include 
 
 #include 
 #include 
diff --git a/arch/ppc/platforms/katana.c b/arch/ppc/platforms/katana.c
--- a/arch/ppc/platforms/katana.c
+++ b/arch/ppc/platforms/katana.c
@@ -27,12 +27,12 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #ifdef CONFIG_BOOTIMG
 #include 
 #endif
+#include 
 #include 
 #include 
 #include 
diff --git a/arch/ppc/platforms/pmac_pci.c b/arch/ppc/platforms/pmac_pci.c
--- a/arch/ppc/platforms/pmac_pci.c
+++ b/arch/ppc/platforms/pmac_pci.c
@@ -17,7 +17,6 @@
 #include 
 #include 
 #include 
-#include 
 
 #include 
 #include 
diff --git a/arch/ppc/syslib/cpm2_common.c b/arch/ppc/syslib/cpm2_common.c
--- a/arch/ppc/syslib/cpm2_common.c
+++ b/arch/ppc/syslib/cpm2_common.c
@@ -21,8 +21,8 @@
 #include 
 #include 
 #include 
-#include 
 #include 
+#include 
 #include 
 #include 
 #include 
diff --git a/arch/ppc/syslib/indirect_pci.c b/arch/ppc/syslib/indirect_pci.c
--- a/arch/ppc/syslib/indirect_pci.c
+++ b/arch/ppc/syslib/indirect_pci.c
@@ -14,7 +14,6 @@
 #include 
 #include 
 #include 
-#include 
 
 #include 
 #include 
diff --git a/arch/ppc/syslib/mv64x60.c b/arch/ppc/syslib/mv64x60.c
--- a/arch/ppc/syslib/mv64x60.c
+++ b/arch/ppc/syslib/mv64x60.c
@@ -17,7 +17,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 
diff --git a/arch/ppc/syslib/mv64x60_win.c b/arch/ppc/syslib/mv64x60_win.c
--- a/arch/ppc/syslib/mv64x60_win.c
+++ b/arch/ppc/syslib/mv64x60_win.c
@@ -17,7 +17,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 
 #include 



[PATCH] I2C-MPC: Remove OCP device model support

2005-06-22 Thread Kumar Gala
All consumers of the driver MPC10x, MPC52xx, MPC824x, MPC83xx,
and MPC85xx are all using platform devices.  We can get ride of
the dead code to support using this driver with the old OCP based
model

Signed-off-by: Kumar Gala 

---
commit 8589d0b1ac6dc3ab9aaee30eb943c2d231e28685
tree 1b9b8e9193c4118d652e70138bf389f9d771ff03
parent 96590616b248746bfc06dad1cb5b956b006f8926
author Kumar K. Gala  Wed, 22 Jun 2005 17:35:30 
-0500
committer Kumar K. Gala  Wed, 22 Jun 2005 17:35:30 
-0500

 drivers/i2c/busses/i2c-mpc.c |  204 --
 1 files changed, 0 insertions(+), 204 deletions(-)

diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
--- a/drivers/i2c/busses/i2c-mpc.c
+++ b/drivers/i2c/busses/i2c-mpc.c
@@ -20,13 +20,7 @@
 #include 
 #include 
 #include 
-#ifdef CONFIG_FSL_OCP
-#include 
-#define FSL_I2C_DEV_SEPARATE_DFSRR FS_I2C_SEPARATE_DFSRR
-#define FSL_I2C_DEV_CLOCK_5200 FS_I2C_CLOCK_5200
-#else
 #include 
-#endif
 #include 
 #include 
 #include 
@@ -293,204 +287,6 @@ static struct i2c_adapter mpc_ops = {
.timeout = 1,
.retries = 1
 };
-
-#ifdef CONFIG_FSL_OCP
-static int __devinit mpc_i2c_probe(struct ocp_device *ocp)
-{
-   int result = 0;
-   struct mpc_i2c *i2c;
-
-   if (!(i2c = kmalloc(sizeof(*i2c), GFP_KERNEL))) {
-   return -ENOMEM;
-   }
-   memset(i2c, 0, sizeof(*i2c));
-
-   i2c->irq = ocp->def->irq;
-   i2c->flags = ((struct ocp_fs_i2c_data *)ocp->def->additions)->flags;
-   init_waitqueue_head(&i2c->queue);
-
-   if (!request_mem_region(ocp->def->paddr, MPC_I2C_REGION, "i2c-mpc")) {
-   printk(KERN_ERR "i2c-mpc - resource unavailable\n");
-   return -ENODEV;
-   }
-
-   i2c->base = ioremap(ocp->def->paddr, MPC_I2C_REGION);
-
-   if (!i2c->base) {
-   printk(KERN_ERR "i2c-mpc - failed to map controller\n");
-   result = -ENOMEM;
-   goto fail_map;
-   }
-
-   if (i2c->irq != OCP_IRQ_NA)
-   {
-   if ((result = request_irq(ocp->def->irq, mpc_i2c_isr,
- SA_SHIRQ, "i2c-mpc", i2c)) < 0) {
-   printk(KERN_ERR
-  "i2c-mpc - failed to attach interrupt\n");
-   goto fail_irq;
-   }
-   } else
-   i2c->irq = 0;
-
-   mpc_i2c_setclock(i2c);
-   ocp_set_drvdata(ocp, i2c);
-
-   i2c->adap = mpc_ops;
-   i2c_set_adapdata(&i2c->adap, i2c);
-
-   if ((result = i2c_add_adapter(&i2c->adap)) < 0) {
-   printk(KERN_ERR "i2c-mpc - failed to add adapter\n");
-   goto fail_add;
-   }
-
-   return result;
-
-  fail_add:
-   if (ocp->def->irq != OCP_IRQ_NA)
-   free_irq(ocp->def->irq, 0);
-  fail_irq:
-   iounmap(i2c->base);
-  fail_map:
-   release_mem_region(ocp->def->paddr, MPC_I2C_REGION);
-   kfree(i2c);
-   return result;
-}
-static void __devexit mpc_i2c_remove(struct ocp_device *ocp)
-{
-   struct mpc_i2c *i2c = ocp_get_drvdata(ocp);
-   i2c_del_adapter(&i2c->adap);
-   ocp_set_drvdata(ocp, NULL);
-
-   if (ocp->def->irq != OCP_IRQ_NA)
-   free_irq(i2c->irq, i2c);
-   iounmap(i2c->base);
-   release_mem_region(ocp->def->paddr, MPC_I2C_REGION);
-   kfree(i2c);
-}
-
-static struct ocp_device_id mpc_iic_ids[] __devinitdata = {
-   {.vendor = OCP_VENDOR_FREESCALE,.function = OCP_FUNC_IIC},
-   {.vendor = OCP_VENDOR_INVALID}
-};
-
-MODULE_DEVICE_TABLE(ocp, mpc_iic_ids);
-
-static struct ocp_driver mpc_iic_driver = {
-   .name = "iic",
-   .id_table = mpc_iic_ids,
-   .probe = mpc_i2c_probe,
-   .remove = __devexit_p(mpc_i2c_remove)
-};
-
-static int __init iic_init(void)
-{
-   return ocp_register_driver(&mpc_iic_driver);
-}
-
-static void __exit iic_exit(void)
-{
-   ocp_unregister_driver(&mpc_iic_driver);
-}
-
-module_init(iic_init);
-module_exit(iic_exit);
-#else
-static int fsl_i2c_probe(struct device *device)
-{
-   int result = 0;
-   struct mpc_i2c *i2c;
-   struct platform_device *pdev = to_platform_device(device);
-   struct fsl_i2c_platform_data *pdata;
-   struct resource *r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-
-   pdata = (struct fsl_i2c_platform_data *) pdev->dev.platform_data;
-
-   if (!(i2c = kmalloc(sizeof(*i2c), GFP_KERNEL))) {
-   return -ENOMEM;
-   }
-   memset(i2c, 0, sizeof(*i2c));
-
-   i2c->irq = platform_get_irq(pdev, 0);
-   i2c->flags = pdata->device_flags;
-   init_waitqueue_head(&i2c->queue);
-
-   i2c->base = ioremap((phys_addr_t)r->start, MPC_I2C_REGION);
-
-   if (!i2c->base) {
-   printk(KERN_ERR "i2c-mpc - failed to map controller\n");
-   result = -ENOMEM;
-   goto fail_map;
-   }
-
-   if (i2c->irq != 0)
-   if ((result = request_ir

[PATCH] ppc32: Remove FSL OCP support

2005-06-22 Thread Kumar Gala
Support for the OCP device model on Freescale (FSL) PPC's is no
longer used.  All FSL PPC's that were using OCP have be converted
to using the platform device model.

Signed-off-by: Kumar Gala 

---
commit 0db0912993b08ae4870aa370db5e5e6f83f2c5a3
tree 43ce59fdb048f1cfdc13972d4524d8378e2d73b3
parent 8589d0b1ac6dc3ab9aaee30eb943c2d231e28685
author Kumar K. Gala  Wed, 22 Jun 2005 17:45:05 
-0500
committer Kumar K. Gala  Wed, 22 Jun 2005 17:45:05 
-0500

 arch/ppc/Kconfig.debug|2 +-
 include/asm-ppc/fsl_ocp.h |   54 -
 include/asm-ppc/ocp.h |4 ---
 3 files changed, 1 insertions(+), 59 deletions(-)

diff --git a/arch/ppc/Kconfig.debug b/arch/ppc/Kconfig.debug
--- a/arch/ppc/Kconfig.debug
+++ b/arch/ppc/Kconfig.debug
@@ -66,7 +66,7 @@ config SERIAL_TEXT_DEBUG
 
 config PPC_OCP
bool
-   depends on IBM_OCP || FSL_OCP || XILINX_OCP
+   depends on IBM_OCP || XILINX_OCP
default y
 
 endmenu
diff --git a/include/asm-ppc/fsl_ocp.h b/include/asm-ppc/fsl_ocp.h
deleted file mode 100644
--- a/include/asm-ppc/fsl_ocp.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * include/asm-ppc/fsl_ocp.h
- *
- * Definitions for the on-chip peripherals on Freescale PPC processors
- *
- * Maintainer: Kumar Gala (kumar.gala at freescale.com)
- *
- * Copyright 2004 Freescale Semiconductor, Inc
- *
- * This program is free software; you can redistribute  it and/or modify it
- * under  the terms of  the GNU General  Public License as published by the
- * Free Software Foundation;  either version 2 of the  License, or (at your
- * option) any later version.
- */
-
-#ifdef __KERNEL__
-#ifndef __ASM_FS_OCP_H__
-#define __ASM_FS_OCP_H__
-
-/* A table of information for supporting the Gianfar Ethernet Controller
- * This helps identify which enet controller we are dealing with,
- * and what type of enet controller it is
- */
-struct ocp_gfar_data {
-   uint interruptTransmit;
-   uint interruptError;
-   uint interruptReceive;
-   uint interruptPHY;
-   uint flags;
-   uint phyid;
-   uint phyregidx;
-   unsigned char mac_addr[6];
-};
-
-/* Flags in the flags field */
-#define GFAR_HAS_COALESCE  0x20
-#define GFAR_HAS_RMON  0x10
-#define GFAR_HAS_MULTI_INTR0x08
-#define GFAR_FIRM_SET_MACADDR  0x04
-#define GFAR_HAS_PHY_INTR  0x02/* if not set use a timer */
-#define GFAR_HAS_GIGABIT   0x01
-
-/* Data structure for I2C support.  Just contains a couple flags
- * to distinguish various I2C implementations*/
-struct ocp_fs_i2c_data {
-   uint flags;
-};
-
-/* Flags for I2C */
-#define FS_I2C_SEPARATE_DFSRR  0x02
-#define FS_I2C_CLOCK_5200  0x01
-
-#endif /* __ASM_FS_OCP_H__ */
-#endif /* __KERNEL__ */
diff --git a/include/asm-ppc/ocp.h b/include/asm-ppc/ocp.h
--- a/include/asm-ppc/ocp.h
+++ b/include/asm-ppc/ocp.h
@@ -202,10 +202,6 @@ static DEVICE_ATTR(name##_##field, S_IRU
 #include 
 #endif
 
-#ifdef CONFIG_FSL_OCP
-#include 
-#endif
-
 #endif /* CONFIG_PPC_OCP */
 #endif /* __OCP_H__ */
 #endif /* __KERNEL__ */



[PATCH] ppc32: Add support for Freescale e200 (Book-E) core

2005-06-22 Thread Kumar Gala
The e200 core is a Book-E core (similar to e500) that has a unified L1
cache and is not cache coherent on the bus.  The e200 core also adds a
separate exception level for debug exceptions.  Part of this patch helps 
to cleanup a few cases that are true for all Freescale Book-E parts, not 
just e500.

Signed-off-by: Kim Phillips 
Signed-off-by: Kumar Gala 

---
commit 575a595c982d029b2921675c6344aa6b2295d058
tree cd6ba641e4d6b038bce0636c2d96f0117b522c8f
parent 2a5a68b840cbab31baab2d9b2e1e6de3b289ae1e
author Kumar K. Gala  Wed, 22 Jun 2005 11:29:28 
-0500
committer Kumar K. Gala  Wed, 22 Jun 2005 11:29:28 
-0500

 arch/ppc/Kconfig |   17 ++
 arch/ppc/Makefile|3 +-
 arch/ppc/kernel/Makefile |2 +
 arch/ppc/kernel/cputable.c   |   25 ++-
 arch/ppc/kernel/entry.S  |9 +
 arch/ppc/kernel/head_booke.h |   64 +-
 arch/ppc/kernel/head_fsl_booke.S |   51 ++
 arch/ppc/kernel/misc.S   |8 +
 arch/ppc/kernel/perfmon.c|2 +
 arch/ppc/kernel/traps.c  |   24 --
 arch/ppc/mm/fsl_booke_mmu.c  |2 +
 include/asm-ppc/mmu.h|2 +
 include/asm-ppc/mmu_context.h|2 +
 include/asm-ppc/ppc_asm.h|2 +
 include/asm-ppc/reg.h|1 +
 include/asm-ppc/reg_booke.h  |   18 ++-
 16 files changed, 214 insertions(+), 18 deletions(-)

diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -88,6 +88,9 @@ config 8xx
depends on BROKEN
bool "8xx"
 
+config E200
+   bool "e200"
+
 config E500
bool "e500"
 
@@ -98,12 +101,12 @@ config PPC_FPU
 
 config BOOKE
bool
-   depends on E500
+   depends on E200 || E500
default y
 
 config FSL_BOOKE
bool
-   depends on E500
+   depends on E200 || E500
default y
 
 config PTE_64BIT
@@ -141,16 +144,16 @@ config ALTIVEC
 
 config SPE
bool "SPE Support"
-   depends on E500
+   depends on E200 || E500
---help---
  This option enables kernel support for the Signal Processing
  Extensions (SPE) to the PowerPC processor. The kernel currently
  supports saving and restoring SPE registers, and turning on the
  'spe enable' bit so user processes can execute SPE instructions.
 
- This option is only usefully if you have a processor that supports
+ This option is only useful if you have a processor that supports
  SPE (e500, otherwise known as 85xx series), but does not have any
- affect on a non-spe cpu (it does, however add code to the kernel).
+ effect on a non-spe cpu (it does, however add code to the kernel).
 
  If in doubt, say Y here.
 
@@ -200,7 +203,7 @@ config TAU_AVERAGE
 
 config MATH_EMULATION
bool "Math emulation"
-   depends on 4xx || 8xx || E500
+   depends on 4xx || 8xx || E200 || E500
---help---
  Some PowerPC chips designed for embedded applications do not have
  a floating-point unit and therefore do not implement the
@@ -254,7 +257,7 @@ config PPC_STD_MMU
 
 config NOT_COHERENT_CACHE
bool
-   depends on 4xx || 8xx
+   depends on 4xx || 8xx || E200
default y
 
 endmenu
diff --git a/arch/ppc/Makefile b/arch/ppc/Makefile
--- a/arch/ppc/Makefile
+++ b/arch/ppc/Makefile
@@ -29,7 +29,7 @@ CPP   = $(CC) -E $(CFLAGS)
 
 CHECKFLAGS += -D__powerpc__
 
-ifndef CONFIG_E500
+ifndef CONFIG_FSL_BOOKE
 CFLAGS += -mstring
 endif
 
@@ -38,6 +38,7 @@ cpu-as-$(CONFIG_4xx)  += -Wa,-m405
 cpu-as-$(CONFIG_6xx)   += -Wa,-maltivec
 cpu-as-$(CONFIG_POWER4)+= -Wa,-maltivec
 cpu-as-$(CONFIG_E500)  += -Wa,-me500
+cpu-as-$(CONFIG_E200)  += -Wa,-me200
 
 AFLAGS += $(cpu-as-y)
 CFLAGS += $(cpu-as-y)
diff --git a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile
--- a/arch/ppc/kernel/Makefile
+++ b/arch/ppc/kernel/Makefile
@@ -26,7 +26,9 @@ obj-$(CONFIG_KGDB)+= ppc-stub.o
 obj-$(CONFIG_SMP)  += smp.o smp-tbsync.o
 obj-$(CONFIG_TAU)  += temp.o
 obj-$(CONFIG_ALTIVEC)  += vecemu.o vector.o
+ifndef CONFIG_E200
 obj-$(CONFIG_FSL_BOOKE)+= perfmon_fsl_booke.o
+endif
 
 ifndef CONFIG_MATH_EMULATION
 obj-$(CONFIG_8xx)  += softemu8xx.o
diff --git a/arch/ppc/kernel/cputable.c b/arch/ppc/kernel/cputable.c
--- a/arch/ppc/kernel/cputable.c
+++ b/arch/ppc/kernel/cputable.c
@@ -903,7 +903,30 @@ struct cpu_speccpu_specs[] = {
.dcache_bsize   = 32,
},
 #endif /* CONFIG_44x */
-#ifdef CONFIG_E500
+#ifdef CONFIG_FSL_BOOKE
+   {   /* e200z5 */
+   .pvr_mask   = 0xfff0,
+   .pvr_value  = 0x8100,
+   .cpu_name   = "e200z5",
+   /* xxx - gal

[PATCH] ppc32: Check return of ppc_sys_get_pdata before accessing pointer

2005-06-22 Thread Kumar Gala
Ensure that the returned pointer from ppc_sys_get_pdata is not
NULL before we start using it.  This handles any cases where we
have variants of processors on the same board with different
functionality.

Signed-off-by: Kumar Gala 

---
commit b4b0dd5099cb8f08d57bcbf33fd06997ba993618
tree c176601bbe5bf0692fc6a948787319cb2fa74faa
parent 7d09ea22d5823fde9a508f5e04bd8e93712d6f44
author Kumar K. Gala  Wed, 22 Jun 2005 10:55:33 
-0500
committer Kumar K. Gala  Wed, 22 Jun 2005 10:55:33 
-0500

 arch/ppc/platforms/83xx/mpc834x_sys.c |   28 -
 arch/ppc/platforms/85xx/mpc8540_ads.c |   44 +++--
 arch/ppc/platforms/85xx/mpc8560_ads.c |   28 -
 arch/ppc/platforms/85xx/sbc8560.c |   28 -
 arch/ppc/platforms/85xx/stx_gp3.c |   26 +++-
 5 files changed, 88 insertions(+), 66 deletions(-)

diff --git a/arch/ppc/platforms/83xx/mpc834x_sys.c 
b/arch/ppc/platforms/83xx/mpc834x_sys.c
--- a/arch/ppc/platforms/83xx/mpc834x_sys.c
+++ b/arch/ppc/platforms/83xx/mpc834x_sys.c
@@ -94,20 +94,24 @@ mpc834x_sys_setup_arch(void)
 
/* setup the board related information for the enet controllers */
pdata = (struct gianfar_platform_data *) 
ppc_sys_get_pdata(MPC83xx_TSEC1);
-   pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
-   pdata->interruptPHY = MPC83xx_IRQ_EXT1;
-   pdata->phyid = 0;
-   /* fixup phy address */
-   pdata->phy_reg_addr += binfo->bi_immr_base;
-   memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
+   if (pdata) {
+   pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
+   pdata->interruptPHY = MPC83xx_IRQ_EXT1;
+   pdata->phyid = 0;
+   /* fixup phy address */
+   pdata->phy_reg_addr += binfo->bi_immr_base;
+   memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
+   }
 
pdata = (struct gianfar_platform_data *) 
ppc_sys_get_pdata(MPC83xx_TSEC2);
-   pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
-   pdata->interruptPHY = MPC83xx_IRQ_EXT2;
-   pdata->phyid = 1;
-   /* fixup phy address */
-   pdata->phy_reg_addr += binfo->bi_immr_base;
-   memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
+   if (pdata) {
+   pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
+   pdata->interruptPHY = MPC83xx_IRQ_EXT2;
+   pdata->phyid = 1;
+   /* fixup phy address */
+   pdata->phy_reg_addr += binfo->bi_immr_base;
+   memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
+   }
 
 #ifdef CONFIG_BLK_DEV_INITRD
if (initrd_start)
diff --git a/arch/ppc/platforms/85xx/mpc8540_ads.c 
b/arch/ppc/platforms/85xx/mpc8540_ads.c
--- a/arch/ppc/platforms/85xx/mpc8540_ads.c
+++ b/arch/ppc/platforms/85xx/mpc8540_ads.c
@@ -92,28 +92,34 @@ mpc8540ads_setup_arch(void)
 
/* setup the board related information for the enet controllers */
pdata = (struct gianfar_platform_data *) 
ppc_sys_get_pdata(MPC85xx_TSEC1);
-   pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
-   pdata->interruptPHY = MPC85xx_IRQ_EXT5;
-   pdata->phyid = 0;
-   /* fixup phy address */
-   pdata->phy_reg_addr += binfo->bi_immr_base;
-   memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
+   if (pdata) {
+   pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
+   pdata->interruptPHY = MPC85xx_IRQ_EXT5;
+   pdata->phyid = 0;
+   /* fixup phy address */
+   pdata->phy_reg_addr += binfo->bi_immr_base;
+   memcpy(pdata->mac_addr, binfo->bi_enetaddr, 6);
+   }
 
pdata = (struct gianfar_platform_data *) 
ppc_sys_get_pdata(MPC85xx_TSEC2);
-   pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
-   pdata->interruptPHY = MPC85xx_IRQ_EXT5;
-   pdata->phyid = 1;
-   /* fixup phy address */
-   pdata->phy_reg_addr += binfo->bi_immr_base;
-   memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
+   if (pdata) {
+   pdata->board_flags = FSL_GIANFAR_BRD_HAS_PHY_INTR;
+   pdata->interruptPHY = MPC85xx_IRQ_EXT5;
+   pdata->phyid = 1;
+   /* fixup phy address */
+   pdata->phy_reg_addr += binfo->bi_immr_base;
+   memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
+   }
 
-   pdata = (struct gianfar_platform_data *) ppc_sys_get_pdata(MPC85xx_FEC);
-   pdata->board_flags = 0;
-   pdata->interruptPHY = MPC85xx_IRQ_EXT5;
-   pdata->phyid = 3;
-   /* fixup phy address */
-   pdata->phy_reg_addr += binfo->bi_immr_base;
-   memcpy(pdata->mac_addr, binfo->bi_enet2addr, 6);
+   if (pdata) {
+   pdata = (struct gianfar_platform_data *) 
ppc_sys_get_pdata(MPC85xx_FEC);
+   pdata->board_flags = 0;
+   pdata->interruptPHY = MPC85xx_IRQ_EXT5;
+   pdata->phyid = 3;
+   /* 

[PATCH] ppc32: Fix building MPC8555 CDS

2005-06-22 Thread Kumar Gala
In adding support for MPC8548 w/o PCI support, broke building MPC8555 CDS
by trying to remove a loop variable that was used when PCI is enabled.

Signed-off-by: Kumar Gala 

---
commit 3136970402c782e9a1fd5c39ddc88d05e7b7b086
tree fc975ccebd712d1898871cdbcde10b6faeba4603
parent 957e37cba892cf088b9326ca2aff0de88fc1e9b0
author Kumar K. Gala  Wed, 22 Jun 2005 16:48:57 
-0500
committer Kumar K. Gala  Wed, 22 Jun 2005 16:48:57 
-0500

 arch/ppc/platforms/85xx/mpc85xx_cds_common.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c 
b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
--- a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
+++ b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
@@ -149,6 +149,7 @@ void __init
 mpc85xx_cds_init_IRQ(void)
 {
bd_t *binfo = (bd_t *) __res;
+   int i;
 
/* Determine the Physical Address of the OpenPIC regs */
phys_addr_t OpenPIC_PAddr = binfo->bi_immr_base + 
MPC85xx_OPENPIC_OFFSET;
/



[PATCH] ppc32: Add support for Freescale e200 (Book-E) core

2005-06-22 Thread Eugene Surovegin
On Wed, Jun 22, 2005 at 03:41:09PM -0500, Kumar Gala wrote:

[snip]

> +#ifdef CONFIG_E200
> +#define DEBUG_EXCEPTION  
>   \
> + START_EXCEPTION(Debug);   \
> + DEBUG_EXCEPTION_PROLOG;   \
> +   \
> + /*\
> +  * If there is a single step or branch-taken exception in an  \
> +  * exception entry sequence, it was probably meant to apply to\
> +  * the code where the exception occurred (since exception entry   \
> +  * doesn't turn off DE automatically).  We simulate the effect\
> +  * of turning off DE on entry to an exception handler by turning  \
> +  * off DE in the CSRR1 value and clearing the debug status.   \
> +  */   \
> + mfspr   r10,SPRN_DBSR;  /* check single-step/branch taken */  \
> + andis.  r10,r10,DBSR_IC at h; \
> + beq+2f;   \
> +   \
> + lis r10,KERNELBASE at h;/* check if exception in vectors */   \
> + ori r10,r10,KERNELBASE at l;
>   \

I think we can get rid of one instruction here :)

-- 
Eugene





isp1362 usb driver

2005-06-22 Thread Jianliang Lu
Hi Jordan,
yes I would be really, really gratefully if you could send me the 
source.

The adsl modem we are using is a eagle chipset modem, based on 
eagle-usb project. The modem could be Sagem or aethra on ADI eagle 
chipset.

Best regards,
Jianliang Lu
 
-- Original Message --
From: "Jordan, Kyle" <[EMAIL PROTECTED]>
Date: Wed, 22 Jun 2005 07:40:44 -0400

>Jianliang Lu,
>
>> the device is a adsl modem, it works correctly in other linux 
>> systems with kernel 2.4.2x. The problem is that the isp1362 
driver 
>> seems that supports only isochronous endpoints. We are 
>> implementing the code to support also control/bulk/interrupt 
>> endpoints.
>
>   I had similar issues with control/bulk/interrupt endpoints 
with
>the ISP1362 host controller driver from DENX.  I went ahead and 
added
>better support for control/bulk/interrupt endpoints.  I could 
send you a
>copy of the source if you like.  The driver is being used on an 
MPC880,
>with the 2.4.21 kernel.  Also, what ADSL modem are using?  We are
>looking into a solution requiring an ADSL modem and the one you 
are
>using may be a good solution for us also.
>
>- Kyle
>
>
>
   



booting linux on powerpc 405

2005-06-22 Thread vinod b
ps: kernel access of bad area, sig: 11
NIP: C00EB22C XER:  LR: C00E900C SP: C0121CB0 REGS: c0121bf0 TRAP: 
0800dMSR: 9030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
DEAR: , ESR: 
TASK = c011fff0[0] 'swapper' Last syscall: 120
last math  last altivec 
PLB0: bear= 0x1000 acr= 0x besr= 0x
PLB0 to OPB: bear= 0x1024 besr0= 0x besr1= 0x

GPR00:  C0121CB0 C011FFF0 C1FD0060 C0121CE8 C0121D08  
C1FD6000
GPR08: C0121D60    4444 0002 000C0804 

GPR16: 0002 FFFE21AD C0121D58 C0121D58 0153 0001 C1FD5D00 

GPR24:  C0121CE8 C0121D08 C0121D08 C0121CE8 C1FB0280  
C1FD6000
Call backtrace:
 C00E900C C00BD16C C00BD280 C00C0124 C00BFC24 C00B115C
C0017684 C0003BE0 C0002B4C C00215D4 C00040A8 C00040D0 C0002418
C01317A8 C0002318
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing



-- 
vinod
S.S.S.I.H.L
-- next part ------
An HTML attachment was scrubbed...
URL: 
http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20050622/e41cb071/attachment.htm
 


isp1362 usb driver

2005-06-22 Thread Jianliang Lu
Hi,
the device is a adsl modem, it works correctly in other linux 
systems with kernel 2.4.2x. The problem is that the isp1362 driver 
seems that supports only isochronous endpoints. We are 
implementing the code to support also control/bulk/interrupt 
endpoints.

Regards,
Jianliang Lu

-- Original Message --
From: Wolfgang Denk <[EMAIL PROTECTED]>
Date: Tue, 21 Jun 2005 22:18:34 +0200

>Hello,
>
>in message <200506211648.AA102695630 at tiesse.com> you wrote:
>>
>> sorry for my persistence, now I try to go to more detail:
>
>I'm afraid I can't help much. The only board with a  ISP1362  I  
have
>access  to at the moment has just the device interface equipped, 
so I
>cannot run any real tests on the host port.
>
>> Jan  1 01:01:30 IMOLA kernel: hub.c: USB new device connect on 
>> bus2/2, assigned device number 2
>> Jan  1 01:01:33 IMOLA kernel: usb_control/bulk_msg: timeout
>> Jan  1 01:01:45 IMOLA last message repeated 4 times
>> Jan  1 01:01:45 IMOLA kernel: usb.c: couldn't get all of config 
>> descriptors
>> Jan  1 01:01:45 IMOLA kernel: usb.c: unable to get device 2 
>> configuration (error=-110)
>
>Which sort of device is it what you connected? Are  you  sure  
it  is
>working  under  Linux at all? Did you test it on a standard x86 
Linux
>PC with a 2.4.2x kernel?
>
>
>Best regards,
>
>Wolfgang Denk
>
>-- 
>Software Engineering:  Embedded and Realtime Systems,  Embedded 
Linux
>Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: 
wd at denx.de
>A fanatic is a person who can't change his mind and won't change  
the
>subject.  - Winston 
Churchill
>
   



isp1362 usb driver

2005-06-22 Thread Jordan, Kyle
Jianliang Lu,

> the device is a adsl modem, it works correctly in other linux 
> systems with kernel 2.4.2x. The problem is that the isp1362 driver 
> seems that supports only isochronous endpoints. We are 
> implementing the code to support also control/bulk/interrupt 
> endpoints.

I had similar issues with control/bulk/interrupt endpoints with
the ISP1362 host controller driver from DENX.  I went ahead and added
better support for control/bulk/interrupt endpoints.  I could send you a
copy of the source if you like.  The driver is being used on an MPC880,
with the 2.4.21 kernel.  Also, what ADSL modem are using?  We are
looking into a solution requiring an ADSL modem and the one you are
using may be a good solution for us also.

- Kyle