lkml.org 
[lkml]   [2009]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: serial port 8250 messed up after coverting from little endian to big endian on kernel 2.6.31
    Date
    Thanks, Florian. I found the cause of the problem. My board is 32 bit
    based, so each serial port register is 32bit even only 8 bit is used. So
    when the board is switched endianess, I need to change the address
    offset to access the same registers.
    For example, original RHR register address is 0x8001000 with little
    endian mode. With big endian, I need to access it as 0x8001003.

    On Tue, 20 Oct 2009 08:17 +0200, "Florian Fainelli"
    <florian@openwrt.org> wrote:
    > Hi,
    >
    > Le mardi 20 octobre 2009 01:56:04, myuboot@fastmail.fm a écrit :
    > > I am trying to bringup a MIPS32 board using 2.6.31. It is working in
    > > little endian mode. After changing the board's hardware from little
    > > endian to bit endian, the serial port print messed up. It prints now
    > > something like - "àààààààààààààààà" on the screen. When I trace the
    > > execution, I can see the string the kernel is trying print is correct -
    > > "Linux version 2.6.31 ..." and etc.
    > >
    > > I guess it means the initialization of the serial port is not properly
    > > done. But I am not sure where I should check for the problem. The serial
    > > port device I am using is 8250. Please give me some advise.
    >
    > If the same initialization routine used to work in little-endian, check
    > how
    > you actually write and read characters from the UART FIFO and especially
    > if
    > your hardware requires you to do word or byte access to these registers.
    >
    > You can have a look at AR7, which has the same code working for Little
    > and Big
    > Endian modes in arch/mips/ar7/prom.c lines 272 to the end of the file. It
    > also
    > uses a 8250-compatible UART.
    --
    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: 2009-10-27 21:43    [W:0.024 / U:58.616 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site