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

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
participants (1)
-
Richard Retanubun