The CONFIG_SWAP_IO_SPACE was set to Y, but I don't even see it using xconfig or menuconfig. So I set it manually to n into .config file and then did a compile - I am using buildroot. But somehow the value always comes back to y after I type in command "make". The kernel image still messes up the console after the console is handovered from early printk to really ttyS01. Thanks. On Thu, 29 Oct 2009 10:26 +0200, "Shmulik Ladkani" <jungoshmulik@xxxxxxxxx> wrote: > On Wed, 28 Oct 2009 14:36:15 -0500 myuboot@xxxxxxxxxxx wrote: > > I just tried UPIO_MEM32 without adding a offset of 3. But the result is > > bad - after the kernel initializes the serial console, the console print > > out messes up. The early printk is fine because the u-boot initialises > > the serial port fine. > > > > Did I miss anything? Thanks again for your help. > > I guess you did fine with UPIO_MEM32. > > Keeping the UPIO_MEM32 approach, I suggest also to fiddle Y/N with > CONFIG_SWAP_IO_SPACE (might be that you have it set to Y while you don't > really need it, or vice versa). > This is since 'readl' uses 'ioswabl' for (potential) byte-swapping of the > read > value. Take a look at asm/io.h and mangle-port.h. > > Most important, read your hardware documentation to determine correct > access > to the memory mapped serial registers. > > -- > Shmulik Ladkani Jungo Ltd.