lkml.org 
[lkml]   [2005]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 2.6.13-git] 8250 tweaks
    Russell King <rmk+lkml@arm.linux.org.uk> wrote:
    > v. whining
    >
    > 1. To utter a plaintive, high-pitched,
    > protracted sound, as in pain,
    > fear, supplication, or complaint.
    > 2. To complain or protest in a childish fashion.
    > 3. To produce a sustained noise of relatively
    > high pitch: jet engines
    > whining.
    >
    > The kernel isn't doing any of those.

    Oops, I misused this word. Thanks for your correction.

    > Anyway, you're going to have to help me out a lot -

    I'd love to:-)

    > Also, having the contents of /sys/devices/platform
    > or /sys/bus/platform/* would be useful.
    >
    > For some reason, it appears that the serial driver
    > is being asked to register two serial ports at MMIO
    > address 0, from one platform device,
    > which it apparantly detects as being present. I
    > suspect these are coming from some table included
    > via asm-ppc/serial.h, but where that
    > is I've no idea.
    >
    > It's then asked to add two more ports from the
    > serial8250.0 device, which doesn't exist. These
    > come from a platform device in arch/ppc.
    > Again, where these come from I don't know.

    It doesn't matter. Your notes is good enough to put
    me the right direction to find out the bug in my
    platform.

    > So. The serial driver is being asked to create
    > _four_ ports. It's created two, but can't create
    > the other two, failing with error -22.
    > 22 is EINVAL, which means there was something wrong
    > with what was requested. That generally points to
    > uartclk being zero, which would
    > be a bug in the PPC architecture code. You can
    > confirm this by applying this patch:

    Sure. The uartclk printed zero. Your simple patch
    did a good help. Then I tracked down to the _four_
    port registering and finally picked out the "bug".

    It turned out the conflict of uart init definition
    like MPC10X_UART0_IRQ in ../syslib/mpc10x_common.c
    and SERIAL_PORT_DFNS in ../platform/sandpoint.h. By
    now, only MPC10X_UART0_IRQ stuff is needed.
    SERIAL_PORT_DFNS should be omitted.

    Seems it's time for me to stand with Russell:-)

    I must confess that I am a stupid guy on kernel
    programming. The result on PPC side, I mean sandpoint
    board, still needs Mark's confirmation.

    Following is the bug-fixed boot log on a custom
    8241 board.

    Loading kernel ......
    Linux version 2.6.13-rc3 (root@sam.acs.net) (gcc
    version 3.2.2 20030217 (Yellow Dog Linux 3.0 3.2.2-
    ......
    Based on the Freescale Sandpoint Development System
    Built 1 zonelists
    Kernel command line: console=ttyS1,115200
    root=/dev/nfs rw
    nfsroot=192.168.57.200:/opt/eldk3/ppc_82xx
    ip=192.168.57.243:192.1OpenPIC
    Version 1.2 (1 CPUs and 11 IRQ sources) at fdf40000
    OpenPIC timer frequency is 100.000000 MHz
    PID hash table entries: 512 (order: 9, 8192 bytes)
    time_init: decrementer frequency = 25.000000 MHz
    Dentry cache hash table entries: 16384 (order: 4,
    65536 bytes)
    Inode-cache hash table entries: 8192 (order: 3, 32768
    bytes)
    Memory: 62848k available (1572k kernel code, 388k
    data, 104k init, 0k highmem)
    Mount-cache hash table entries: 512
    NET: Registered protocol family 16
    PCI: Probing PCI hardware
    PCI: Cannot allocate resource region 1 of device
    0000:00:00.0
    inotify syscall
    VFS: Disk quotas dquot_6.5.1
    Dquot-cache hash table entries: 1024 (order 0, 4096
    bytes)
    Installing knfsd (copyright (C) 1996
    okir@monad.swb.de).
    Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports,
    IRQ sharing disabled
    ttyS0 at MMIO 0xfdf04500 (irq = 9) is a 16550A
    ttyS1 at MMIO 0xfdf04600 (irq = 10) is a 16550A
    io scheduler noop registered
    RAMDISK driver initialized: 16 RAM disks of 4096K size
    1024 blocksize
    PPP generic driver version 2.4.2
    PPP Deflate Compression module registered
    PPP BSD Compression module registered
    ......
    IP-Config: Guessing netmask 255.255.255.0
    IP-Config: Complete:
    device=eth0, addr=192.168.57.243,
    mask=255.255.255.0,
    gw=255.255.255.255,
    host=8241, domain=, nis-domain=(none),
    bootserver=192.168.57.200,
    rootserver=192.168.57.200, rootpath=
    Looking up port of RPC 100003/2 on 192.168.57.200
    Looking up port of RPC 100005/1 on 192.168.57.200
    VFS: Mounted root (nfs filesystem).
    Freeing unused kernel memory: 104k init
    INIT: version 2.84 booting
    Welcome to DENX Embedded Linux Environment
    Press 'I' to enter interactive startup.
    Building the cache [ OK ]
    Mounting proc filesystem: [ OK ]
    Configuring kernel parameters: [ OK ]
    ......
    Mounting NFS filesystems: [ OK ]
    Mounting other filesystems: [ OK ]
    Starting xinetd: [ OK ]

    8241 login: root
    Last login: Wed Dec 31 19:00:33 on console
    bash-2.05b# ls
    bash-2.05b# cd /
    bash-2.05b# ls
    bin dev images lib mnt root tmp var
    boot etc proc sbin usr
    bash-2.05b# cat /proc/interrupts
    CPU0
    0: 18707 OpenPIC Level eth0
    10: 258 OpenPIC Level serial
    BAD: 14

    Thanks for your time,

    Sam

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-07-14 09:15    [W:0.038 / U:0.944 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site