[U-Boot] [PATCH] microblaze: usable uart16550 for big endian systems

Michal Simek monstr at monstr.eu
Mon Nov 21 08:21:03 CET 2011


Hi Stephan,

Stephan Linz wrote:
> As a result of the commit 6833260 the uart16550 driver
> is broken for Microblaze big endian systems, because of
> the missing 3 byte offset. Other than as described, the
> U-Boot BSP does not treat properly the 3 byte offset.
> 
> However, with the new 32 bit access to ns16550 registers
> we can enable correct register access for Microblaze big
> and little endian systems in the same manner.

The reason why I have applied that patch is that baseaddress generation
was moved to u-boot BSP out of u-boot configs.

Here is example how addresses are generated.
BE system:
#define XILINX_UART16550
#define XILINX_UART16550_BASEADDR	0x83e00003

LE system:
#define XILINX_UART16550
#define XILINX_UART16550_BASEADDR	0x83e00000

Then you can use origin config file and change is only in xparameters.h in board folder.

Anyway you solution looks interesting and I will test it.

Thanks,
Michal


-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian


More information about the U-Boot mailing list