LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 0/2] RFC: Port Virtex-II Pro code to use the platform bus
From: Grant Likely @ 2005-09-11  6:57 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <528646bc0509100033167dae7f@mail.gmail.com>

BTW, I'll be out of town and computer-free until Sept. 19, so I won't
answer any comments until then.

Cheers,
g.

On 9/10/05, Grant Likely <glikely@gmail.com> wrote:
> Here is my work to date to bring the V2Pro port over to the platform
> bus.  I don't expect these to be accepted as-is, but I'm looking for
> comments before I get it polished.
>=20
> Should apply cleanly against 2.6.13 (but may require the TLB patch first)
> http://patchwork.ozlabs.org/linuxppc/patch?id=3D2058
>=20
> Patch 1: changes from the ML300 perspective.  I temporarly don't have
> access to an ML300 so this is untested (but it compiles).  Could
> somebody please test this for me?
>=20
> Patch 2: example patch for another V2PRO based board.  This isn't
> really acceptable for mainline because it's not based on a reference
> or published FPGA design, but it shows the work required to bring up
> another board.  It also shines some light on what code should be
> common between all V2Pro ports (which I'm working on).  This one runs
> on a 2VP4-FG456 eval board (pls ignore all the references to 2VP30).
>

^ permalink raw reply

* Msn Messenger 7.0 update now available
From: MSN @ 2005-09-07 20:46 UTC (permalink / raw)
  To: linuxppc-dev

[-- Attachment #1: Type: text/html, Size: 17181 bytes --]

^ permalink raw reply

* Re: newbie question : how to register for a new interrupt
From: Arthur Othieno @ 2005-09-11 17:41 UTC (permalink / raw)
  To: Nuguru Susheel; +Cc: linuxppc-embedded
In-Reply-To: <1126102465.14131.16.camel@localhost.localdomain>

On Wed, Sep 07, 2005 at 02:14:25PM +0000, Nuguru Susheel wrote:
> Hi all,
> 
>    I have written an service routine for handling the GPIO_WAKEUP
> interrupt PSC2_4 pin (MPC5200 Core), but I donno how to register this
> routine into the kernel. 

request_irq/free_irq() are what you're looking for.
See include/linux/interrupt.h for the details.

	Arthur

^ permalink raw reply

* A bug in div64.s
From: Liu Fred-a18596 @ 2005-09-12  7:21 UTC (permalink / raw)
  To: linuxppc-dev

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

Hello, Greetings,

 

I found there was a bug in arch/ppc/lib/div64.s.

The original div64_32() function would produce a zero divide exception in case of div64_32(0x100000000, 0xFFFFFFFF).

 

Here is the bug-fixed new div64_32()function.

 

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

/*

 * Divide a 64-bit unsigned number by a 32-bit unsigned number.

 * This routine assumes that the top 32 bits of the dividend are

 * non-zero to start with.

 * On entry, r3 points to the dividend, which get overwritten with

 * the 64-bit quotient, and r4 contains the divisor.

 * On exit, r3 contains the remainder.

 *

 * Copyright (C) 2002 Paul Mackerras, IBM Corp.

 *

 * 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 <asm/ppc_asm.h>

#include <asm/processor.h>

 

_GLOBAL(__div64_32)

               lwz          r5,0(r3)   # get the dividend into r5/r6

               lwz          r6,4(r3)

               cmplw    r5,r4

               li              r7,0

               li              r8,0

               blt           1f

               divwu      r7,r5,r4   # if dividend.hi >= divisor,

               mullw      r0,r7,r4   # quotient.hi = dividend.hi / divisor

               subf.       r5,r0,r5   # dividend.hi %= divisor

               beq         3f

1:            mr           r11,r5                     # here dividend.hi != 0

               andis.      r0,r5,0xc000

               bne         2f

               cntlzw     r0,r5                       # we are shifting the dividend right

               li              r10,-1                     # to make it < 2^32, and shifting

               srw         r10,r10,r0              # the divisor right the same amount,

               addc.      r9,r4,r10 # rounding up (so the estimate cannot

               andc       r11,r6,r10              # ever be too large, only too small)

               andc       r9,r9,r10

               mfxer   r12                    #

               rlwinm. r12, r12, 3, 31, 31    # XER[CA]

               cmpwi   r12, 1                 # carry ?

               bne     5f

               ori     r9, r9, 0x1            # carry !

5:

               or            r11,r5,r11

               rotlw       r9,r9,r0

               rotlw       r11,r11,r0

               divwu      r11,r11,r9              # then we divide the shifted quantities

2:            mullw      r10,r11,r4              # to get an estimate of the quotient,

               mulhwu  r9,r11,r4 # multiply the estimate by the divisor,

               subfc      r6,r10,r6 # take the product from the divisor,

               add         r8,r8,r11 # and add the estimate to the accumulated

               subfe.     r5,r9,r5   # quotient

               bne         1b

3:            cmplw    r6,r4

               blt           4f

               divwu      r0,r6,r4   # perform the remaining 32-bit division

               mullw      r10,r0,r4 # and get the remainder

               add         r8,r8,r0

               subf        r6,r10,r6

4:            stw          r7,0(r3)   # return the quotient in *r3

               stw          r8,4(r3)

               mr           r3,r6                       # return the remainder in r3

               blr

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

 

BR,

Fred

 


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

^ permalink raw reply

* Building Linux kernel with GCC 3.4.3 fails
From: IGOR LURI @ 2005-09-12  7:02 UTC (permalink / raw)
  To: linuxppc-embedded

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

Hi all

I have a MPC5200 Lite evaluation board and I use uClibc buildroot 
to build toolchain and root file system.

If I build toolchain using binutils 2.16.1 and gcc 3.4.3, 3.4.4 or 3.3.6,  
I can`t build u-boot and kernel properly.

With binutils version 2.14.90.0.8 and GCC 3.4.3, 
I can build u-boot correctly, and it works. But I can´t boot a Linux kernel 
compiled with this gcc, when Linux is booting it crashes with a segmentation fault. 

However, if I use gcc 2.95.4 and binutils 2.12.1 to build u-boot and kernel, everything works.

I want to use gcc version 3.x . What version of binutils and gcc should I use to build u-boot and Linux kernel properly?
Have someone use buildroot with to obtain a toolchain for PowerPC?


-Igor





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

^ permalink raw reply

* Re: A bug in div64.s
From: Paul Mackerras @ 2005-09-12  8:26 UTC (permalink / raw)
  To: Liu Fred-a18596; +Cc: linuxppc-dev
In-Reply-To: <AD266326EC54D9118CE700110A9E2BE2069F5B90@zch07exm01.corp.mot.com>

Liu Fred-a18596 writes:

> I found there was a bug in arch/ppc/lib/div64.s.
> 
> The original div64_32() function would produce a zero divide
> exception in case of div64_32(0x100000000, 0xFFFFFFFF).

Thanks for pointing this out.

> Here is the bug-fixed new div64_32()function.

A patch would have been more helpful, so we could see immediately what
you have changed.  Also, notes (or outlook or whatever mail program
you are using) has completely munged all the spacing of the code you
posted.

Anyway, I have some comments on your proposed fix:

>                addc.      r9,r4,r10 # rounding up (so the estimate cannot

I understand that the add that I had here can overflow in the case you
pointed out, so we need to preserve the carry.  But why did you use
"addc." rather than "addc" ?

>                mfxer   r12                    #
> 
>                rlwinm. r12, r12, 3, 31, 31    # XER[CA]
> 
>                cmpwi   r12, 1                 # carry ?
> 
>                bne     5f
> 
>                ori     r9, r9, 0x1            # carry !

I think just "addze r9,r9" would do instead of these 5 instructions,
wouldn't it?

Paul.

^ permalink raw reply

* RE: A bug in div64.s
From: Liu Fred-a18596 @ 2005-09-12 10:05 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev

Hello, Paul,

Thank you very much. Your code is really cool.

Best regards,
Fred

-----Original Message-----
From: Paul Mackerras [mailto:paulus@samba.org] 
Sent: Monday, September 12, 2005 4:26 PM
To: Liu Fred-a18596
Cc: linuxppc-dev@ozlabs.org
Subject: Re: A bug in div64.s

Liu Fred-a18596 writes:

> I found there was a bug in arch/ppc/lib/div64.s.
> 
> The original div64_32() function would produce a zero divide
> exception in case of div64_32(0x100000000, 0xFFFFFFFF).

Thanks for pointing this out.

> Here is the bug-fixed new div64_32()function.

A patch would have been more helpful, so we could see immediately what
you have changed.  Also, notes (or outlook or whatever mail program
you are using) has completely munged all the spacing of the code you
posted.

Anyway, I have some comments on your proposed fix:

>                addc.      r9,r4,r10 # rounding up (so the estimate cannot

I understand that the add that I had here can overflow in the case you
pointed out, so we need to preserve the carry.  But why did you use
"addc." rather than "addc" ?

>                mfxer   r12                    #
> 
>                rlwinm. r12, r12, 3, 31, 31    # XER[CA]
> 
>                cmpwi   r12, 1                 # carry ?
> 
>                bne     5f
> 
>                ori     r9, r9, 0x1            # carry !

I think just "addze r9,r9" would do instead of these 5 instructions,
wouldn't it?

Paul.

^ permalink raw reply

* Re: Marvell MV64360 interrupt question
From: Brian Waite @ 2005-09-12 13:05 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <20050909211819.GB5034@mag.az.mvista.com>

On Friday 09 September 2005 5:18 pm, Mark A. Greer wrote:
> On Fri, Sep 09, 2005 at 01:49:55PM -0700, Dale Farnsworth wrote:
> > On Fri, Sep 09, 2005 at 08:20:20PM +0000, Walter L. Wimer III wrote:
> > > On Fri, 2005-09-09 at 12:27 -0700, Dale Farnsworth wrote:
> > > > No additional locking is necessary.  In fact, it seems to me that the
> > > > 32-bit register reads and writes are already atomic and all of the
> > > > locking using mv64x60_lock is superfluous.
Unless somthing has changed, on the get_irq case, the interrupts are only 
handled by CPU0. At least that is the way all the platforms have handled it 
in the past. I'd be wary of distributing across other cpus until you really 
look at the enet and mpsc drivers. I don't know of any races off the top of 
my head, but this code was tested and developed with boards only handling 
IRQs on one processor.
> > >
> > > Ah ha.  mv64x60.h also defines an mv64x60_modify() function that isn't
> > > intrinsically atomic, so it needs the spinlock.  That in turn requires
> > > mv64x60_read() and mv64x60_write() to play along too.

> >
> > Yes, the lock is needed for mv64x60_modify(), mv64x60_write().  I still
> > don't think it's needed for mv64x60_read().
>
> IMHO, the mv64x60_read/write/modify routines should be deleted and the
> locking + I/O done explicitly.  That makes it more obvious, more
> efficient in places where there are multiple writes, etc. in a row (not
> as much grabbing/releasing of the spinlock), and is the preferred way to do
> things in linux.
mv64360_read() need not be locked. The data is intrinsicly stale by the time 
the read has completed. The action on the Marvell to write the register is 
atomic, so you will not get partial reads, thus the data is only accurate at 
the instant it is read. By the time code sees it, the data, is not accurate.

Mark is right, locking must be abstracted. The basic r/w functions should do 
locking whatsoever, it is a performance hit on SMP and has no benefit. 
mv64360_modify() is right out. It should never have been included (no insult 
intended Mark), because it appears to have the same behavior (ie atomicity) 
as the mv64360_{read,write}() but it does not. I say the the IO be locked and 
bit twiddled explicity by the user. 

Just my 2 cents. 

Thanks
Brian 
 

>
> A few times now, I almost started to do that...looked at it and went off
> to do something else.  :)  Yes, I'm lazy.  Yes, I should do it.
> Eventually, I will (however, if you want to, I won't complain ;).
>
> Mark
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded

^ permalink raw reply

* Re: Marvell MV64360 interrupt question
From: Brian Waite @ 2005-09-12 12:56 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <1126292945.21092.26.camel@excalibur.timesys.com>

On Friday 09 September 2005 3:09 pm, Walter L. Wimer III wrote:
> Thinking about this some more, I think the cascade mechanism I suggested
> earlier is backwards.  Architecturally, I think it makes more sense to
> define a platform-specific function like boardXYZ_get_irq() in
> boardXYZ_setup.c that knows all of the idiosyncrasies of the board and
> calls whatever standard PIC libraries it needs in order to do the right
> thing.  Then we set ppc_md.get_irq = boardXYZ_get_irq;
>
> I looked around, and lo and behold, the Radstone PPC7D already "stole"
> my idea.  :-)  :-)
>
>
Yes, the syslib case in the general case. You can easily override the 
get_irq() routine for your own platform to match a priority scheme you 
desire. 

Thanks
Brian

^ permalink raw reply

* "Lost interrupt" with promise20268 PCI-IDE chard on mpc8540_ads platform!
From: KylongMu @ 2005-09-12 13:46 UTC (permalink / raw)
  To: linuxppc-embedded

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

Hi, all
        Please help solve this problem , or give me some advise .
Thanks a lot !


Distribution: kernel from kernel.org , cross compiler from www.DENX.de
Hardware Environment: mpc8540_ads demo board + promise20268 PCI-IDE chard +
HD
Software Environment: kernel from kernel.org , cross compiler for powerpc
from www.DENX.de , and simple file system with busybox.
Problem Description:
    The kernel shows "lost interrupt" after the promise20268 PCI-IDE card be
finded , and the /proc/partitions shows correct message , but when mount the
HD , it shows " lost interrupt " again

Steps to reproduce: Include the .config file and the steps of boot are below
.

.config file
#-----------------start here------------------------
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.13
# Fri Sep  9 15:48:15 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_E200 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_KEXEC is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_WANT_EARLY_SERIAL is not set
CONFIG_PPC_GEN550=y
CONFIG_85xx=y
CONFIG_PPC_INDIRECT_PCI_BE=y

#
# Freescale 85xx options
#
CONFIG_MPC8540_ADS=y
# CONFIG_MPC8548_CDS is not set
# CONFIG_MPC8555_CDS is not set
# CONFIG_MPC8560_ADS is not set
# CONFIG_SBC8560 is not set
# CONFIG_STX_GP3 is not set
CONFIG_MPC8540=y

#
# Platform options
#
# CONFIG_HIGHMEM is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# 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_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_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_PM is not set
CONFIG_SECCOMP=y
CONFIG_ISA_DMA_API=y

#
# Bus options
#
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y

#
# 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=0xfe000000
CONFIG_LOWMEM_SIZE=0x30000000
CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000
CONFIG_BOOT_LOAD=0x00800000

#
# 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=y
# 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_IP_MROUTE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP 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_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE 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

#
# 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_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=y
# CONFIG_BLK_DEV_CRYPTOLOOP 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=32768
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_LBD=y
# 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=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_SL82C105 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_PDC202XX_FORCE is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD 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
#
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Macintosh device drivers
#

#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_NET_PCI is not set

#
# Ethernet (1000 Mbit)
#
# 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_SKGE is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
CONFIG_GIANFAR=y
CONFIG_GFAR_NAPI=y

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Wan interfaces
#
# 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

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC 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_NR_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
CONFIG_GEN_RTC=y
# CONFIG_GEN_RTC_X is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set

#
# TPM devices
#
# CONFIG_TCG_TPM is not set

#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y

#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_ISA is not set
CONFIG_I2C_MPC=y
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set
# CONFIG_I2C_SENSOR is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_M41T00 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# Dallas's 1-wire bus
#
# CONFIG_W1 is not set

#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Misc devices
#

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
# CONFIG_FB is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# MMC/SD Card support
#
# CONFIG_MMC is not set

#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set

#
# SN Devices
#

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set

#
# XFS support
#
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_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_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=y
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# 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 is not set
# 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 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_NFS_COMMON=y
CONFIG_SUNRPC=y
# 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=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
CONFIG_LDM_PARTITION=y
CONFIG_LDM_DEBUG=y
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
CONFIG_NLS_CODEPAGE_936=y
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Library routines
#
# CONFIG_CRC_CCITT is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
# CONFIG_DEBUG_KERNEL is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_SERIAL_TEXT_DEBUG is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
# CONFIG_CRYPTO is not set

#
# Hardware crypto devices
#
#-----------------config file end here------------------------


Kernel boot message and opp steps:

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


U-Boot 1.1.2(pq3-20040622-0) (Sep 27 2004 - 16:46:03)              
         ##########################################################     

    Core:   E500, Version: 2.0, (0x80200020)              
done   
Bytes transferred = 1292138 (13b76a hex)rsion: 2.0,
(0x80300020)               
MPC8540SK=> bootm 400000 ff800000locks: CPU: 833 MHz             
## Booting image at 00400000 ...Hz                       
    
   Image Name:   Linux-2.6.13            
            LBC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)che 32KB
enabled.                                           
   Data Size:    1292074 Bytes =  1.2 MBev.
B.                                 
   Load Address: 00000000ot Flash is U13         
   Entry Point:  00000000I1:   32 bit            
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)

    Net:    MOTO ENET0: PHY is Marvell 88E111
   Data Size:    4710501 Bytes =  4.5 MB                           
          
   Load Address: 00000000l 88E1111S (1410cc1)    
   Entry Point:  00000000                        
   Verifying Checksum ... OK is Realtek RTL8201CP (8201)
   Loading Ramdisk to 07750000, end 07bce065 ... OK  
            MOTO ENET0, MOTO ENET1, MOTO ENET2
Memory CAM mapping: CAM0=64Mb, CAM1=64Mb, CAM2=0Mb residual: 0Mbp autoboot: 
0                               

MPC8540SK=>    
Linux version 2.6.13 (root@mqy-linux) (gcc version 3.3.3 (DENX ELDK 3.1.1
3.0,
full duplex                      
Using MOTO ENET0 de                
Freeing initrd memory: 4600k freed
    DRAM:   Initializing        
NET: Registered protocol family 16              
    DDR:    128 MB
PCI: Probing PCI hardwareSH:  8 MB               
NTFS driver 2.1.23 [Flags: R/W DEBUG].               
    In:     serial  
Generic RTC Driver v1.07   serial              
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing
disabledrvell
88E1111S (1410cc1)                                                
ttyS0 at MMIO 0xe0004500 (irq = 26) is a 16550A88E1111S
(1410cc1)                            
ttyS1 at MMIO 0xe0004600 (irq = 26) is a 16550AET2: PHY is Realtek RTL8201CP
(8201)          
io scheduler noop registered              
           
io scheduler anticipatory registered                                   
io scheduler deadline registeredboot:  0                       
io scheduler cfq registered00000 uImage              
RAMDISK driver initialized: 16 RAM disks of 32768K size 1024
Using MOTO ENET0 device                      
           
eth1: Gianfar Ethernet Controller Version 1.1,
00:e0:0c:40:01:03####################################################

 
eth1: Running with NAPI enabled                             

eth1: 256/256 RX/TX BD ring size################################
eth2: Gianfar Ethernet Controller Version 1.1,
00:e0:0c:40:02:03                 
         ####################################
eth2: Running with NAPI enabled                              
eth2: 256/256 RX/TX BD ring sizensferred = 1264114 (1349f2 hex)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 4000000
ff800000                                 
## B
ide: Assuming 33MHz system bus speed for P                
Bad Magic Nu         
    ide2: BM-DMA at 0xffffd0-0xffffd7, BIOS settings: hde:pio,
hdf:pio                       
   Load Address: 00000000                   
    ide3: BM-DMA at 0xffffd8-0xffffdf, BIOS settings: hdg:pio,
hdh:piohecksum ... OK                           
   Uncompressing Kernel Ima
hde: QUANTUM FIREBALL CR8.4A, ATA DISK drive
## Loading RAMDisk Image at ff800000 ...  
ide2 at 0xfffff8-0xffffff,0xfffff6 on irq 50e Name:   MPC85xx
ramdisk                  
hde: max request size: 128KiB PowerPC Linux RAMDisk Image
hde: lost interrupt                  
hde: lost interrupt                  
hde: lost interrupt710501 Bytes =  4.5
hde: lost interrupt                  
PDC202XX: Primary channel reset.ux version 2.6.13 (root@mqy-linu
hde: DMA interrupt recoveryELDK 3.1.1 3.3.3-         
hde: lost interrupt                  
 hde1    
i2c /dev entries driver #11 Sun Sep 4 12:52:07
NET: Registered protocol family 2         
Built 1 zonelists    
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
0,115200                                                     
TCP established hash table entries: 8192 (order: 4, 65536
bytes)                                                         
PID h
TCP bind hash table entries: 8192 (order: 3, 32768
bytes)                                          
Dentry cache
TCP: Hash tables configured (e                            
RAMDISK: Compressed image found at block 0                          
Mount-cache ha
VFS: Mounted root (ext2 filesystem).                  
checking if imag
Freeing unused kernel memory: 336k init); looks like an initrd

INIT: version 2.78 booting                         
INIT: Entering runlevel: 2emory: 4600k freed       

Welcome to Linux on Puff!NET: Registered protocol
PuffLinux login: root                    
PuffLinux:root$cat /proc/partitions              

33      0       hde    
33      1       hde1   
PuffLinux:root$cd /dev
PuffLinux:dev$mknod hde b 33 0
PuffLinux:dev$mknod hde1 b 33 1
PuffLinux:dev$mount /dev/hde1 /mnt
hde: dma_timer_expiry: dma status == 0x24
PDC202XX: Primary channel reset.
hde: DMA interrupt recovery
hde: lost interrupt
hde: dma_timer_expiry: dma status == 0x24
PDC202XX: Primary channel reset.
hde: DMA interrupt recovery
hde: lost interrupt
hde: dma_timer_expiry: dma status == 0x24
PDC202XX: Primary channel reset.
hde: DMA interrupt recovery
hde: lost interrupt
hde: dma_timer_expiry: dma status == 0x24
PDC202XX: Primary channel reset.
hde: DMA interrupt recovery
hde: lost interrupt
FAT: codepage cp437 not found
mount: wrong fs type, bad option, bad superblock on /dev/hde1,
       or too many mounted file systems
PuffLinux:dev$



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

^ permalink raw reply

* RE: [PATCH] cpm_uart: Made non-console uart work
From: Murch, Christopher @ 2005-09-12 13:47 UTC (permalink / raw)
  To: linuxppc-embedded

Our IMAP_ADDR is not a constant and is set according to which platform we
are running.  On our 885 platforms its 0xE0000000.  On our 857T platforms
its 0xFF000000.
CONSISTENT_START is 0xC8000000 and that was a guess on our part.
So it seems that our choices for these addresses may have contributed to the
issue we observed.

Is there work being done to remove the use of virt_to_bus() and
bus_to_virt() in the future?

Thanks for your help.
Chris
cmurch@mrv.com

-----Original Message-----
From: Pantelis Antoniou [mailto:pantelis.antoniou@gmail.com]
Sent: Friday, September 09, 2005 4:00 PM
To: linuxppc-embedded@ozlabs.org
Cc: Murch, Christopher
Subject: Re: [PATCH] cpm_uart: Made non-console uart work


On Friday 09 September 2005 22:21, Murch, Christopher wrote:
> We've recently applied the 2.6.13 patch.  We're running on an embedded
> platform using 3 of the cpm uart ports on an 8xx cpu.  After applying the
> 2.6.13 patch the non-console uarts no longer work.  Upon investigation, we
> have found that cpu2cpm_addr() is giving us invalid results for memory
> addresses derived from dma_alloc_coherent().  This causes the cpm to hang.
> We believe that the better approach would be to use the dma address
> supplied by the call to dma_alloc_coherent() instead of trying to convert
> using bus_to_virt() and virt_to_bus().  We believe this is the approach
> taken by other drivers in the 2.6 kernel.  Any comments?
> Thanks for your help.
>

Yes, it would be proper. This is a temporary hack.

What is the IMAP_ADDR value?

And where is the consistent pool located at your board?

> -Chris
> cmurch@mrv.com

Regards

Pantelis

^ permalink raw reply

* Why IRQ8 infects the timer on mpc8541?
From: chao yu @ 2005-09-12 14:23 UTC (permalink / raw)
  To: linuxppc-embedded

Hi, All
    I am working for a project based on mpc8541. Decrementer was ok
when external interrupt was disabled( in my board, IRQ8 connected to
other PCI device, EIVPR8 value was 0x8001000B ), but when i set the
value 0x0000100B to EIVPR to set IRQ8 enable, decrementer does not
work( IP will not go to 0x900 offset).

Who can give a hand?

Thanks

Regards,
cchaoyu

^ permalink raw reply

* Re: "Lost interrupt" with promise20268 PCI-IDE chard on mpc8540_ads platform!
From: Clemens Koller @ 2005-09-12 15:22 UTC (permalink / raw)
  To: KylongMu; +Cc: linuxppc-embedded
In-Reply-To: <20050912134644.02C34936@smtp.263.net>

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

Hi KylongMu!

KylongMu wrote:
> Hi, all
>         Please help solve this problem , or give me some advise .
> Thanks a lot !

Try to turn off DMA. It doesn't work yet AFAIK.
I am using a PDC20269 on PCI on a MPC8540, too. See my .config file...
I didn't focus on this problem yet. Let me know if you get it going.

My board PM854 is similar to the MPC8540_ADS

Best greets,

Clemens Koller
_______________________________
R&D 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

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 5090 bytes --]

^ permalink raw reply

* Re Re: "Lost interrupt" with promise20268 PCI-IDE chard on mpc8540_ads
From: KylongMu @ 2005-09-12 15:57 UTC (permalink / raw)
  To: Linuxppc-embedded

 

Hi Koller
	Thanks for you help , I'll try what you tell me tomorow , and sand
back the test result to you , but which PCI-IDE bridge will support DMA on
MPC8540 ? I wonder the bandwidth of IDE will be a bottleneck of my system
requirement .

Thanks a lot !

KylongMu


Hi KylongMu!

KylongMu wrote:
> Hi, all
>         Please help solve this problem , or give me some advise .
> Thanks a lot !

Try to turn off DMA. It doesn't work yet AFAIK.
I am using a PDC20269 on PCI on a MPC8540, too. See my .config file...
I didn't focus on this problem yet. Let me know if you get it going.

My board PM854 is similar to the MPC8540_ADS

Best greets,

Clemens Koller
_______________________________
R&D 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

^ permalink raw reply

* RE: Re Re: "Lost interrupt" with promise20268 PCI-IDE chard onmpc8540_ads
From: Rune Torgersen @ 2005-09-12 16:23 UTC (permalink / raw)
  To: KylongMu, Linuxppc-embedded

=20

> -----Original Message-----
> From:KylongMu
> Sent: Monday, September 12, 2005 10:58
> To: Linuxppc-embedded@ozlabs.org
> Subject: Re Re: "Lost interrupt" with promise20268 PCI-IDE=20

> back the test result to you , but which PCI-IDE bridge will=20
> support DMA on
> MPC8540 ? I wonder the bandwidth of IDE will be a bottleneck=20
> of my system
> requirement .

I have run a Silicon Image SiI0680 based card on a MPC8560ADS board
without problems

^ permalink raw reply

* Help on 8260 board
From: prabha.j @ 2005-09-13  4:18 UTC (permalink / raw)
  To: linuxppc-embedded

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


Hi All,
I am newbie to porting of linux to ppc board.Actually i have MPC8260ADS 
board with RAM version Bootloader(u-boot). I have to convert it to ROM 
version . How to do it.
I have compiled the kernel with denx toolchain. Now i want to know if i 
have to configure according to my board what i have to change in the 
source and which source file i have to change.
With default settings i have built both the kernel and u-boot image. But i 
want to do according to the board.
Please give me some advice on this.
Regards

Prabha J.
Tata Consultancy Services Limited
Mailto: prabha.j@tcs.com
Website: http://www.tcs.com

Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information.   If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited.   If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments.  Thank you

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

^ permalink raw reply

* New message about: "Lost interrupt" with promise20268 PCI-IDE chard onmpc8540_ads
From: KylongMu @ 2005-09-13  4:52 UTC (permalink / raw)
  To: 'Rune Torgersen'; +Cc: Linuxppc-embedded
In-Reply-To: <DCEAAC0833DD314AB0B58112AD99B93B859452@ismail.innsys.innovsys.com>

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

Hi , all
	First I according  Clemens Koller' suggestion : remove DMA part ,
but the result is no change.
According Clemens Koller's message , I guess mabe the problem is on the
hardware configuration.
So I checked my schematics and
"arch/ppc/platforms/85xx/mpc85xx_ads_common.c" at line 170 .
The attached file is changed .
	After these , "Lost interrupt" appears on PCI1-Slot1 , but my
PCI1-Slot2 shows no "Lost interrupt"
the .config file is still without change .
	Another new problem is I can't mount it on , I attached the steps
message of new operation.
Please help me check it .

Thanks a lot !

Rune Torgersen wrote :

>I have run a Silicon Image SiI0680 based card on a MPC8560ADS board without
problems

Clemens Koller wrote:

>Try to turn off DMA. It doesn't work yet AFAIK.
>I am using a PDC20269 on PCI on a MPC8540, too. See my .config file...
>I didn't focus on this problem yet. Let me know if you get it going.

>My board PM854 is similar to the MPC8540_ADS

[-- Attachment #2: mpc8540.zip --]
[-- Type: application/octet-stream, Size: 9511 bytes --]

^ permalink raw reply

* Re: Help on 8260 board
From: Alex Zeffertt @ 2005-09-13  8:52 UTC (permalink / raw)
  To: prabha.j; +Cc: linuxppc-embedded
In-Reply-To: <OF29F8842B.21C92BA3-ON6525707B.0016F392-6525707B.0017A365@tcs.com>

On Tue, 13 Sep 2005 09:48:26 +0530
prabha.j@tcs.com wrote:

> With default settings i have built both the kernel and u-boot image. But i 
> want to do according to the board.
> Please give me some advice on this.

Don't use the defaults.  The configuration is already done for you -

In u-boot-<version>:

	make MPC8260_config
	...

In linux-<version>:


	make ads8260_config
	make oldconfig

Also, I suggest you read the DULG wiki on using linux with u-boot in PPC environments.  It's mostly
aimed at the 8xx but it all still applies to the 82xx:

	http://www.denx.de/twiki/bin/view/DULG/Manual

Alex

^ permalink raw reply

* Re: Help on 8260 board
From: Alex Zeffertt @ 2005-09-13  8:58 UTC (permalink / raw)
  To: Alex Zeffertt; +Cc: linuxppc-embedded
In-Reply-To: <20050913095211.3d477dc2.ajz@cambridgebroadband.com>

I wrote:
> In u-boot-<version>:
> 
> 	make MPC8260_config
> 	...
> 

Sorry that should be "make MPC8260ADS_config"

^ permalink raw reply

* gdb hangs on Linux 2.6.11 on 8xx
From: Chris @ 2005-09-13  9:06 UTC (permalink / raw)
  To: linuxppc-embedded

Hi,

I am running Linux 2.6.11 on a TQM823L development board. I find that 
gdb (version 6.3) hangs when I try to run an application - any 
application, even a simple helloworld. It's not just gdb hanging, the 
whole system is stone dead.

Before I start digging into the problem I would like to ask if anybody 
on this list has any experience, good or bad, of gdb on 2.6.xx on 8xx.

TIA,

Chris.

^ permalink raw reply

* Re: Marvell MV6436xx ethernet driver patch
From: Nicolas DET @ 2005-09-13 10:35 UTC (permalink / raw)
  To: Nicolas DET, linuxppc-dev; +Cc: Sven Luther
In-Reply-To: <20050830181119.E3A491C000B2@mwinf1203.wanadoo.fr>

Hello !

I was wondering what is the status of the mv eth driver?

> The main changes (AFAIR):
> * Workaround for the TCP/UDP hw checksum
Should be included in my opinion. It gives a serious boost on TX.

> * Use hardware for statistics
Dunno if it should be commited. I don't think you would gain more than 0.1%
;-)

> * Define and use SRAM (for pegasos II archp/ppc/chrp_pegasos_eth.c)
Should be include IMO. It only applies for the Pegasos II

> * Able to use max burst size from/to DDR (serious transfer boost)
see notes below.

> * Option can be selected through the menu (drivers/net/Kconfig)
Should be removed/ignored as discussed previously

> * ...

> some testing...

> By the way, I noticed that page_address() sometimes returns NULL when
> using highmem (with a lot of mem).

Implementating MAXBURST...
Using kmap/kunmap instead of page_address (which is the right way do to, as
far as I understood), is a bit more complex.
Indeed, kunmap() can't be called from an interrupt.
However, this would have been very simple to kunmap() the page from there.

It would be possible to put every pages to kunmap into
a list (list_add() would be inside the interrupt) and to kunmap() the whole
list at another moment.

This would probably mean to extend pkt_info/eth_tx_desc.
also, I wonder what would happen if a page is:

- kmap() into xmit
- then put in the list into the interuupt
- kmap again into xmit
- and kunmap() afterwards...

Is there any other way to get the bus address of a page ?
The first thing, if we want to keep 'max burst size' should be to disable
it
if high mem is enable. At least, it would be stable.

Bye
-- 
Nicolas DET
MorphOS & Linux developer

^ permalink raw reply

* Re: Marvell MV6436xx ethernet driver patch
From: Christoph Hellwig @ 2005-09-13 10:35 UTC (permalink / raw)
  To: Nicolas DET; +Cc: linuxppc-dev, Sven Luther
In-Reply-To: <20050913094045.301A31C00087@mwinf1104.wanadoo.fr>

On Tue, Sep 13, 2005 at 11:35:31AM +0100, Nicolas DET wrote:
> Using kmap/kunmap instead of page_address (which is the right way do to, as
> far as I understood), is a bit more complex.
> Indeed, kunmap() can't be called from an interrupt.

kmap_atomic/kunmap_atomic can.

anywya, I think the patch discussion is rather offtopic here.  Network
driver patches are discussed and reviewed at netdev@oss.sgi.com

^ permalink raw reply

* Re: New message about: "Lost interrupt" with promise20268 PCI-IDE chard onmpc8540_ads
From: Clemens Koller @ 2005-09-13 10:36 UTC (permalink / raw)
  To: KylongMu; +Cc: Linuxppc-embedded
In-Reply-To: <20050913045242.7EF2C82D@smtp.263.net>

Hello, KylongMu, Rune!

(Please reply to the thread.)

> 	First I according  Clemens Koller' suggestion : remove DMA part ,
> but the result is no change.

Okay, sorry if my 'workaround' (let's call it 'cheat') didn't do it for you...

> According Clemens Koller's message , I guess mabe the problem is on the
> hardware configuration.
> So I checked my schematics and
> "arch/ppc/platforms/85xx/mpc85xx_ads_common.c" at line 170 .
> The attached file is changed .
> 	After these , "Lost interrupt" appears on PCI1-Slot1 , but my
> PCI1-Slot2 shows no "Lost interrupt"
> the .config file is still without change .
> 	Another new problem is I can't mount it on , I attached the steps
> message of new operation.
> Please help me check it .

To be honest, I didn't tell you that there are still issues with my
mpc85xx_map_irq() and friends(). I didn't fix the table for my board
yet as the official CR854 demo board has only on PCI slot and I just
didn't care about proper IDSEL->IRQ mapping.
The hardware add-on we design should be compatible to the ADS board (or to
be precise to the default mpc8540_ads behaviour in the kernel) as much
as possible, so there should be no need for a separate platform port.

> Rune Torgersen wrote :
>>I have run a Silicon Image SiI0680 based card on a MPC8560ADS board without
> problems

Yes, but AFAIK it's only 32bit/33MHz PCI and therefore not speedy enough for
the things we want to achieve (100..200Mbyte+/sec).
So, this problem with the PDC has to be fixed... but it will take some time.

Best greets,

Clemens Koller
_______________________________
R&D 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

^ permalink raw reply

* USB root filesytem using a 2.6 kernel?
From: Jeff Stevens @ 2005-09-13 12:17 UTC (permalink / raw)
  To: linuxppc-embedded

Has anyone had any luck booting from a linux filesytem
on a USB pen drive running 2.6?  I am running kernel
2.6.9 that is programmed into flash and am trying to
boot from a root filesystem on a USB pen drive.  I am
using the kernel command line option "root=/dev/sda1".
 I am able to NFS boot my system, and then mount my
pen drive, and can see all of the files fine. 
However, it tells me that I have an invalid root
option if I try setting root to /dev/sda1.  I
understand under 2.4 there is a patch that keeps
trying to mount the sda1 device with time delays in
between each try.  I tried that, but it didn't help. 
I also tried the 2.6 patch that keeps a list of ready
devices, and that didn't work.  I was trying to do
this without a ramdisk, but so far it looks like I'll
have to use one after all.

Thanks,
   Jeff Stevens
   jsteve17@yahoo.com

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply

* Re: gdb hangs on Linux 2.6.11 on 8xx
From: Aristeu Sergio Rozanski Filho @ 2005-09-13 12:25 UTC (permalink / raw)
  To: Chris; +Cc: linuxppc-embedded
In-Reply-To: <4326968F.5030609@2net.co.uk>

> I am running Linux 2.6.11 on a TQM823L development board. I find that 
> gdb (version 6.3) hangs when I try to run an application - any 
> application, even a simple helloworld. It's not just gdb hanging, the 
> whole system is stone dead.
"me too"
actually the system is not completely dead, you still can use sysrq keys.
Tried to use gdbserver too, but it also doesn't work (hangs after the first
breakpoint and timeouts).

gdb           S 30106778     0   691    687   692               (NOTLB)
Call trace:
 [c0005330] __switch_to+0x44/0x78
 [c015beb0] schedule+0x30c/0x730
 [c015c888] schedule_timeout+0xdc/0xe0
 [c0068918] sys_poll+0x27c/0x404
 [c0002810] syscall_dotrace_cont+0x24/0x38
flash_test    t 100009E4     0   692    691                     (NOTLB)
Call trace:
 [c0005330] __switch_to+0x44/0x78
 [c015beb0] schedule+0x30c/0x730
 [c0026248] ptrace_stop+0x68/0x88
 [c0026604] get_signal_to_deliver+0x130/0x2b4
 [c00063dc] do_signal+0x38/0x464
 [c0003034] do_user_signal+0x74/0xc4

-- 
Aristeu

^ 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