Complete ccsr map for mpc8540 available?
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
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
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
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?
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?
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?
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
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
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
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