From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Mon, 21 Nov 2011 08:21:03 +0100 Subject: [U-Boot] [PATCH] microblaze: usable uart16550 for big endian systems In-Reply-To: <1321704237-10626-1-git-send-email-linz@li-pro.net> References: <1321704237-10626-1-git-send-email-linz@li-pro.net> Message-ID: <4EC9FBDF.8070800@monstr.eu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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