
Hi,
I've modified the 'evb405ep_early_serial_map' function in
I recommend to ONLY make the modification to the environment storage, and nothing else. Don't modify the serial drivers.
The only modification to the serial driver is to include printk statements to see what parameters it's getting. This is in the linux kernel, not u-boot. In both instances, I have been using an identical kernel image, the only difference is between the two u-boot images. The kernel image has been working fine using u-boot where the environment is stored in EEPROM.
Also, you might want to check the boot arguments you pass to the kernel. Are they really the same in both cases? Maybe your new version fails to pass a console= argument?
I'll verify that the arguments are the same in both cases. However, this is the command line seen by the non-working kernel:
Kernel command line: root=/dev/nfs rw nfsroot=191.53.51.22:/home/andyh/target ip=191.53.51.200:191.53.51.22::255.255.0.0:PPChameleonEVB:eth0:off panic=1 console=ttyS0:115200
This looks fine to me...
However, setserial returns the following:
setserial -a /dev/console /dev/console, Line 0, UART: 16550A, Port: 0x0000, IRQ: 0 Baud_base: 694444, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test
The baud_base looks odd to me. However, this is the value calculated as serial_baud_405ep in the kernel's evb405ep_early_serial_map function (which is the same in both instances), so is probably correct.
Thanks.
Andy