Complete ccsr map for mpc8540 available?

2005-05-31 Thread Kumar Gala

On May 30, 2005, at 10:03 AM, Clemens Koller wrote:

 Hi, There!

 I want to access the local bus controller (LBC) registers
 of the mpc8540 from within a module.
 Therefore I want to use similar structures as for the 8560's cpm2_immr
 or the 8xx. However, I was not able to find a complete ccsr map for the
 mpc8540 in the 2.6.11.x kernels. (immap_85xx.h, 8xx_immr.h, ...)

 Can someone point me to get the memc_brx / orx and friends for mpc8540?
 (the complete CCSR map.) Or some code to recycle?
 Or do I need to patch more into immap_85xx.h on my own? I just want to
 avoid to do duplicate work.

 Or is it better to extend the fsl_ocp or the platform device 
 structures?

What do you plan on doing with the local bus controller in the kernel?  
If this is only configuration of the controller for a given chip select 
that I would suggest doing something similar to how we handle PCI.  You 
can probably find a description of the localbus registers in the u-boot 
source tree.

Is this a change you want to get back into the mainline kernel tree?

- kumar




Cross compiler

2005-05-31 Thread Rune Torgersen
  I'm trying to use crosstools to compile a gcc-3.4.3/glibc-2.3.4 for
  ppc-604 (actually for mpc826x) on i686.
 
 which version of crosstools?

Crosstools-0.31

  Anybody know of a solution?
 
 have you checked out:
 http://www.wwwdotorg.org/writings/code/nptl_tool/nptl_tool.html
 

Thanks, I'll have a look at that link.



[PATCH] ppc32: Added support for new MPC8548 family of PowerQUICC III processors

2005-05-31 Thread Kumar Gala
Added descriptions of the new MPC8548 family processors, e500 core and 
peripherals.

Signed-off-by: Kumar Gala kumar.gala at freescale.com

---
commit bcaf8337eca3e379a44b110ac28e06c4da07893a
tree d4095240ac6e9edbd6b011f5d84cd282c1787a0d
parent 5e485b7975472ba4a408523deb6541e70c451842
author Kumar K. Gala kumar.gala at freescale.com Tue, 31 May 2005 10:46:57 
-0500
committer Kumar K. Gala kumar.gala at freescale.com Tue, 31 May 2005 10:46:57 
-0500

 arch/ppc/kernel/cputable.c|   14 +++
 arch/ppc/syslib/mpc85xx_devices.c |  185 +
 arch/ppc/syslib/mpc85xx_sys.c |  105 +
 include/asm-ppc/irq.h |6 +
 include/asm-ppc/mpc85xx.h |7 +
 include/linux/fsl_devices.h   |8 +
 6 files changed, 323 insertions(+), 2 deletions(-)

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
@@ -907,6 +907,20 @@ struct cpu_speccpu_specs[] = {
.dcache_bsize   = 32,
.num_pmcs   = 4,
},
+   {   /* e500v2 */
+   .pvr_mask   = 0x,
+   .pvr_value  = 0x8021,
+   .cpu_name   = e500v2,
+   /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */
+   .cpu_features   = CPU_FTR_SPLIT_ID_CACHE |
+   CPU_FTR_USE_TB | CPU_FTR_BIG_PHYS,
+   .cpu_user_features  = PPC_FEATURE_32 |
+   PPC_FEATURE_HAS_MMU | PPC_FEATURE_SPE_COMP |
+   PPC_FEATURE_HAS_EFP_SINGLE | PPC_FEATURE_HAS_EFP_DOUBLE,
+   .icache_bsize   = 32,
+   .dcache_bsize   = 32,
+   .num_pmcs   = 4,
+   },
 #endif
 #if !CLASSIC_PPC
{   /* default match */
diff --git a/arch/ppc/syslib/mpc85xx_devices.c 
b/arch/ppc/syslib/mpc85xx_devices.c
--- a/arch/ppc/syslib/mpc85xx_devices.c
+++ b/arch/ppc/syslib/mpc85xx_devices.c
@@ -40,6 +40,42 @@ static struct gianfar_platform_data mpc8
.phy_reg_addr = MPC85xx_ENET1_OFFSET,
 };
 
+static struct gianfar_platform_data mpc85xx_etsec1_pdata = {
+   .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT |
+   FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON |
+   FSL_GIANFAR_DEV_HAS_MULTI_INTR |
+   FSL_GIANFAR_DEV_HAS_CSUM | FSL_GIANFAR_DEV_HAS_VLAN |
+   FSL_GIANFAR_DEV_HAS_EXTENDED_HASH,
+   .phy_reg_addr = MPC85xx_ENET1_OFFSET,
+};
+
+static struct gianfar_platform_data mpc85xx_etsec2_pdata = {
+   .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT |
+   FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON |
+   FSL_GIANFAR_DEV_HAS_MULTI_INTR |
+   FSL_GIANFAR_DEV_HAS_CSUM | FSL_GIANFAR_DEV_HAS_VLAN |
+   FSL_GIANFAR_DEV_HAS_EXTENDED_HASH,
+   .phy_reg_addr = MPC85xx_ENET1_OFFSET,
+};
+
+static struct gianfar_platform_data mpc85xx_etsec3_pdata = {
+   .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT |
+   FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON |
+   FSL_GIANFAR_DEV_HAS_MULTI_INTR |
+   FSL_GIANFAR_DEV_HAS_CSUM | FSL_GIANFAR_DEV_HAS_VLAN |
+   FSL_GIANFAR_DEV_HAS_EXTENDED_HASH,
+   .phy_reg_addr = MPC85xx_ENET1_OFFSET,
+};
+
+static struct gianfar_platform_data mpc85xx_etsec4_pdata = {
+   .device_flags = FSL_GIANFAR_DEV_HAS_GIGABIT |
+   FSL_GIANFAR_DEV_HAS_COALESCE | FSL_GIANFAR_DEV_HAS_RMON |
+   FSL_GIANFAR_DEV_HAS_MULTI_INTR |
+   FSL_GIANFAR_DEV_HAS_CSUM | FSL_GIANFAR_DEV_HAS_VLAN |
+   FSL_GIANFAR_DEV_HAS_EXTENDED_HASH,
+   .phy_reg_addr = MPC85xx_ENET1_OFFSET,
+};
+
 static struct gianfar_platform_data mpc85xx_fec_pdata = {
.phy_reg_addr = MPC85xx_ENET1_OFFSET,
 };
@@ -48,6 +84,10 @@ static struct fsl_i2c_platform_data mpc8
.device_flags = FSL_I2C_DEV_SEPARATE_DFSRR,
 };
 
+static struct fsl_i2c_platform_data mpc85xx_fsl_i2c2_pdata = {
+   .device_flags = FSL_I2C_DEV_SEPARATE_DFSRR,
+};
+
 static struct plat_serial8250_port serial_platform_data[] = {
[0] = {
.mapbase= 0x4500,
@@ -536,6 +576,151 @@ struct platform_device ppc_sys_platform_
},
},
 #endif /* CONFIG_CPM2 */
+   [MPC85xx_eTSEC1] = {
+   .name = fsl-gianfar,
+   .id = 1,
+   .dev.platform_data = mpc85xx_etsec1_pdata,
+   .num_resources   = 4,
+   .resource = (struct resource[]) {
+   {
+   .start  = MPC85xx_ENET1_OFFSET,
+   .end= MPC85xx_ENET1_OFFSET +
+   MPC85xx_ENET1_SIZE - 1,
+   .flags  = IORESOURCE_MEM,
+   },
+   {
+   .name   = tx,
+  

[PATCH] ppc32: Added preliminary support for the MPC8548 CDS board

2005-05-31 Thread Kumar Gala
Adds support for using the MPC8548 processor on the CDS reference board.
Currently all the major busses (PCI, PCI-X, PCI-Express, sRIO) and eTSEC3
and eTSEC4 are not supported.

Signed-off-by: Kumar Gala kumar.gala at freescale.com

---
commit 3288959347cb639411c735f97bbfd94e388347ce
tree d0d17af480ce3548879e20bc3f01175390540de3
parent d5cb2a6df9041a0124dee44838c01e4fbca367e6
author Kumar K. Gala kumar.gala at freescale.com Tue, 31 May 2005 10:49:55 
-0500
committer Kumar K. Gala kumar.gala at freescale.com Tue, 31 May 2005 10:49:55 
-0500

 arch/ppc/configs/mpc8548_cds_defconfig   |  659 ++
 arch/ppc/platforms/85xx/Kconfig  |   10 
 arch/ppc/platforms/85xx/Makefile |1 
 arch/ppc/platforms/85xx/mpc85xx_cds_common.c |   50 +
 arch/ppc/syslib/Makefile |1 
 arch/ppc/syslib/ppc85xx_setup.c  |6 
 include/asm-ppc/mpc85xx.h|2 
 7 files changed, 713 insertions(+), 16 deletions(-)

diff --git a/arch/ppc/configs/mpc8548_cds_defconfig 
b/arch/ppc/configs/mpc8548_cds_defconfig
new file mode 100644
--- /dev/null
+++ b/arch/ppc/configs/mpc8548_cds_defconfig
@@ -0,0 +1,659 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12-rc4
+# Tue May 24 22:36:27 2005
+#
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_HAVE_DEC_LOCK=y
+CONFIG_PPC=y
+CONFIG_PPC32=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_HOTPLUG is not set
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+# CONFIG_EPOLL is not set
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+# CONFIG_MODULES is not set
+
+#
+# Processor
+#
+# CONFIG_6xx is not set
+# CONFIG_40x is not set
+# CONFIG_44x is not set
+# CONFIG_POWER3 is not set
+# CONFIG_POWER4 is not set
+# CONFIG_8xx is not set
+CONFIG_E500=y
+CONFIG_BOOKE=y
+CONFIG_FSL_BOOKE=y
+# CONFIG_PHYS_64BIT is not set
+CONFIG_SPE=y
+CONFIG_MATH_EMULATION=y
+# CONFIG_CPU_FREQ is not set
+# CONFIG_PM is not set
+CONFIG_85xx=y
+CONFIG_PPC_INDIRECT_PCI_BE=y
+
+#
+# Freescale 85xx options
+#
+# CONFIG_MPC8540_ADS is not set
+CONFIG_MPC8548_CDS=y
+# CONFIG_MPC8555_CDS is not set
+# CONFIG_MPC8560_ADS is not set
+# CONFIG_SBC8560 is not set
+# CONFIG_STX_GP3 is not set
+CONFIG_MPC8548=y
+
+#
+# Platform options
+#
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+# CONFIG_PCI is not set
+# CONFIG_PCI_DOMAINS is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=0xfe00
+CONFIG_LOWMEM_SIZE=0x3000
+CONFIG_KERNEL_START=0xc000
+CONFIG_TASK_SIZE=0x8000
+CONFIG_BOOT_LOAD=0x0080
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=32768
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=
+# CONFIG_LBD is not set
+# CONFIG_CDROM_PKTCDVD is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Macintosh device drivers
+#
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set

Complete ccsr map for mpc8540 available?

2005-05-31 Thread Clemens Koller
Hello, Kumar!

Yes, I want to add another Local Bus Address Range for our FPGA on
an extra CS line. I've tried to do that in U-Boot as the Code is already there.
But my modified (some old 1.1.2 (not the official release) version) U-Boot
didn't work (I guess compiling issues) and rendered my Board non-bootable, which
was really no fun!
I also want to play around with the bus-timing and GPCM/UPM configurations.
So, changing U-Boot for every little waitstate and re-booting just to get
a register changed is a showstopper for me. (Yes, I know, a BDI2000 would be 
fun).
So I decided to do all my stuff first in linux in a module to shorten the design
cycle by a factor of 1E+3 which works fine now, as I started this immr_t thingy
for mpc8540 on my own...

Now it seems that u-boot's immap_85xx.h is pretty much what I was looking
for, I will try to merge my stuff with it and get a immap_8540.h out of it.
So, you answered my question indirectly (get back to mainline) that there
is no code available on the linux side yet, right?

I can release my stuff, if anybody is interested... no problem.
The LBC part is verified (some others are dummys and untested) and in
a /works for me/ state.

Thanks and best greets,

Clemens Koller
___
RD Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany

http://www.anagramm.de
Phone: +49-89-741518-50
Fax: +49-89-741518-19

 Hi, There!

 I want to access the local bus controller (LBC) registers
 of the mpc8540 from within a module.
 Therefore I want to use similar structures as for the 8560's cpm2_immr
 or the 8xx. However, I was not able to find a complete ccsr map for the
 mpc8540 in the 2.6.11.x kernels. (immap_85xx.h, 8xx_immr.h, ...)

 Can someone point me to get the memc_brx / orx and friends for mpc8540?
 (the complete CCSR map.) Or some code to recycle?
 Or do I need to patch more into immap_85xx.h on my own? I just want to
 avoid to do duplicate work.

 Or is it better to extend the fsl_ocp or the platform device structures?
 
 
 What do you plan on doing with the local bus controller in the kernel?  
 If this is only configuration of the controller for a given chip select 
 that I would suggest doing something similar to how we handle PCI.  You 
 can probably find a description of the localbus registers in the u-boot 
 source tree.
 
 Is this a change you want to get back into the mainline kernel tree?
 
 - kumar
 



Complete ccsr map for mpc8540 available?

2005-05-31 Thread Kumar Gala

On May 31, 2005, at 11:03 AM, Clemens Koller wrote:

 Hello, Kumar!

 Yes, I want to add another Local Bus Address Range for our FPGA on
 an extra CS line. I've tried to do that in U-Boot as the Code is 
 already there.
 But my modified (some old 1.1.2 (not the official release) version) 
 U-Boot
 didn't work (I guess compiling issues) and rendered my Board 
 non-bootable, which
 was really no fun!
 I also want to play around with the bus-timing and GPCM/UPM 
 configurations.
 So, changing U-Boot for every little waitstate and re-booting just to 
 get
 a register changed is a showstopper for me. (Yes, I know, a BDI2000 
 would be fun).
 So I decided to do all my stuff first in linux in a module to shorten 
 the design
 cycle by a factor of 1E+3 which works fine now, as I started this 
 immr_t thingy
 for mpc8540 on my own...

 Now it seems that u-boot's immap_85xx.h is pretty much what I was 
 looking
 for, I will try to merge my stuff with it and get a immap_8540.h out 
 of it.
 So, you answered my question indirectly (get back to mainline) that 
 there
 is no code available on the linux side yet, right?

Yes, that was my thinking.  You can grab just the lbc bits and put them 
in immap_85xx.h and do the same ioremap thing we do for pci in 
arch/ppc/syslib/ppc85xx_setup.c.

 I can release my stuff, if anybody is interested... no problem.
 The LBC part is verified (some others are dummys and untested) and in
 a /works for me/ state.

It sounds like this is custom to your board so I wouldn't bother 
releasing it out unless it something you want to get into the standard 
kernel tree.

- kumar




Complete ccsr map for mpc8540 available?

2005-05-31 Thread Clemens Koller
Hello, Kumar!

   [...]
 Yes, that was my thinking.  You can grab just the lbc bits and put them 
 in immap_85xx.h and do the same ioremap thing we do for pci in 
 arch/ppc/syslib/ppc85xx_setup.c.

Yes, ioremap() and ioremap_nocache() works fine.
I just try to get the maximum speed out of the Local Bus Mapped dual port
SRAM in our FPGA.

 I can release my stuff, if anybody is interested... no problem.
 The LBC part is verified (some others are dummys and untested) and in
 a /works for me/ state.
 
 It sounds like this is custom to your board so I wouldn't bother 
 releasing it out unless it something you want to get into the standard 
 kernel tree.

Well, the immr is good for every mpc8540 and the other friends you know.
(more than me)

Greets,

Clemens Koller
___
RD Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany

http://www.anagramm.de
Phone: +49-89-741518-50
Fax: +49-89-741518-19



Dynamic libraries do not work

2005-05-31 Thread Theo Gjaltema
I 've found the problem, the ramdisk used contained executables as well 
as dyn. libs from the mpc8260 instead of the mpc862.
I don't know why the whole system came to a halt without any message but 
replacing the dyn. libs and executables with the correct ones solved the 
problem of crashing.

Many thanks for your responses,
   Theo.



Jaap-Jan Boor schreef:

 Theo,

 What type of processor are you using? 8xx?
 Did you build a tool-chain yourself and are
 you perhaps using floating point?

 Jaap-Jan

 On 26-mei-2005, at 23:04, Theo Gjaltema wrote:

 Hello,

 I have a linux 2.4.20 kernel running, but the files in the ramdisk  
 fail to execute if they are dynamically build.
 The whole system stops (debuggers shows that it crashed while in an  
 erea where no flash/ram is present.
 Anyone an idea?
 There is nog difference between the use of a ramdisk or an nfs  
 mounted root filesystem.

 Greetings,
Theo.


 ___
 Linuxppc-embedded mailing list
 Linuxppc-embedded at ozlabs.org
 https://ozlabs.org/mailman/listinfo/linuxppc-embedded


 
 J.G.J. Boor   Anton Philipsweg 1
 Software Engineer 1223 KZ Hilversum
 AimSys bv tel. +31 35 689 1941
 Postbus 2194, 1200 CD Hilversum   jjboor at aimsys dot nl







bd_t Cleaning: Interface Part

2005-05-31 Thread Jon Loeliger
On Mon, 2005-05-30 at 05:13, Clemens Koller wrote:
 Hello, Jon!
 
 I guess there is a little typo:
 spped - speed?

Rats.

Thanks for looking into the mess, and catching that!

jdl





set_multicast_list() commented out in fcc_enet.c

2005-05-31 Thread Benjamin Dapon-Pigatto
Hi Alex,

I had the same problem few months ago with arch/ppc/cpm2_io/fcc_enet.c. 
It should be the same driver.
I suppose that multicast is not correctly implemented. I have commented this
return and promiscuous mode works fine but I have never tried with
multicast.

Benjamin

-Message d'origine-
De?: linuxppc-embedded-bounces at ozlabs.org
[mailto:linuxppc-embedded-bounces at ozlabs.org] De la part de Alex Zeffertt
Envoy??: mardi 31 mai 2005 11:23
??: linuxppc-embedded at ozlabs.org
Objet?: set_multicast_list() commented out in fcc_enet.c

Hi all,

I've noticed that in arch/ppc/8260_io/fcc_enet.c at the very top of the
function set_multicast_list() there is a return statement - effectively
commenting out the rest of the code.  There is no comment saying why it
is there.

An effect of this is that you cannot put the device in promiscuous mode,
which is required when adding it to a bridge.

Please can anyone say why this return; is there?

Thanks,

Alex

PS I'm using denx's linuxppc_devel tagged 2005-03-06, which is based
on linux-2.4.25.
___
Linuxppc-embedded mailing list
Linuxppc-embedded at ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded