
-----Original Message----- From: Stefan Roese [mailto:sr@denx.de] Sent: Wednesday, October 27, 2010 3:24 PM To: u-boot@lists.denx.de; Prabhanjan Sarnaik Cc: Prafulla Wadaskar; Manas Saksena; Lei Wen; Eric Miao Subject: Re: [U-Boot] [PATCH 2/5] Serial: Add UART support for Marvell ARMADA 100 SoCs.
Hi Prafulla,
On Wednesday 27 October 2010 15:53:21 Prafulla Wadaskar wrote:
ARMADA 100 SoCs has NS16550 compatible UART peripheral This patch enables the same for ARMADA100 platforms
Signed-off-by: Mahavir Jain mjain@marvell.com Signed-off-by: Prafulla WADASKAR prafulla@marvell.com
drivers/serial/ns16550.c | 16 ++++++++++++++++ drivers/serial/serial.c | 3 +++ 2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 32f24de..e57ed1f 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -26,7 +26,15 @@
void NS16550_init (NS16550_t com_port, int baud_divisor) { +#ifdef CONFIG_ARMADA100
- /*
* For ARMADA 100 Based Processors bit 6 in IER register
* represents UART Unit Enable bit.
*/
- serial_out((1 << 6), &com_port->ier);
+#else serial_out(0x00, &com_port->ier); +#endif
These board/platform specific driver additions are really ugly. A better way to do this would be something like this:
Add this to your board/platform header:
#define CONFIG_SYS_NS16550_IER (1 << 6)
And then to ns16550.c or even ns16550.h:
#ifndef CONFIG_SYS_NS16550_IER #define CONFIG_SYS_NS16550_IER 0x00 #endif
This macro can now be used unconditionally when initializing this "ier" register:
serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);
Thanks... I will do it for next version post.
Regards.. Prafulla . .