[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