[U-Boot] ColdFire: mcfuart: M5271EVB baud rate is half of what is specified by u-boot and kernel bootargs

Richard Retanubun RichardRetanubun at RuggedCom.com
Thu Jan 8 16:20:57 CET 2009


Hello,

I am working on the freescale M5271EVB board on the 2009.01-rc1 u-boot 
baseline.

I was able to boot ok, but found out that the baud rate that comes out 
is half of what is specified in the board config file
(e.g. 57600 instead of 115200) I've tried changing baud rates, but it 
always comes out to be half of what is specified.

Also, I looked at /drivers/serial/mcfuart.c and noticed that the baud 
rate calculation method are different between
serial_init and serial_setbrg (A patch was submitted for serial_init, 
but not carried to serial_setbrg)
I realized that the "CPU frequency is 2xSys Frequency, so I think maybe 
there is a missmap of the frequency variable somewhere for the 5271?

This is the board's boot screen and bdinfo output

U-Boot 2009.01-rc1-00035-ga44e116-dirty (Jan 08 2009 - 08:17:14)

CPU:   Unknown - Freescale ColdFire MCF5271 family (PIN: 0x32) rev. 1, 
at 100 MHz
Board: Freescale M5271EVB
I2C:   ready
DRAM:  16 MB
FLASH:  2 MB
In:    serial
Out:   serial
Err:   serial
Net:   FEC0
=> bdinfo
memstart    = 0x00000000
memsize     = 0x00000000
flashstart  = 0xFFE00000
flashsize   = 0x00200000
flashoffset = 0x00000000
sramstart   = 0x20000000
sramsize    = 0x00001000
mbar        = 0x40000000
busfreq     =    100 MHz
ethaddr     = 00:E0:0C:BC:E5:60
ip_addr     = 192.168.1.1
baudrate    = 115200 bps

This is obtained with the serial connection at 57600 baud.

Also, what is the proper way to pass bootargs to a linux kernel?
I've tried setenv bootargs console=ttyS0,115200 but it is ignored and 
the kernel always comes up on 19200 baud
(my kernel is the DENXv2.6.20 release, using the M5271EVB_defconfig, so 
the console is not hardcoded in kconfig).

Please help enlighten me...

Thank you all for your time.

- Richard


More information about the U-Boot mailing list