[U-Boot] [PATCH 12/26] [ns16550] Enable port-mapped access

Nishanth Menon menon.nishanth at gmail.com
Sun Apr 11 14:51:33 CEST 2010


On 04/11/2010 07:43 AM, Graeme Russ wrote:
> The x86 architecture exclusively uses Port-Mapped I/O (inb/outb) to access
> the 16550 UARTs. This patch mimics how Linux selects between Memory-Mapped
> and Port-Mapped I/O. This allows x86 boards to use CONFIG_SERIAL_MUTLI and
> drop the custom serial port driver
[...]

> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index b3bf10b..0e9beb7 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -7,6 +7,8 @@
>   #include<config.h>
>   #include<ns16550.h>
>   #include<watchdog.h>
> +#include<linux/types.h>
> +#include<asm/io.h>
>
>   #define UART_LCRVAL UART_LCR_8N1		/* 8 data, 1 stop, no parity */
>   #define UART_MCRVAL (UART_MCR_DTR | \
> @@ -14,28 +16,35 @@
>   #define UART_FCRVAL (UART_FCR_FIFO_EN |	\
>   		     UART_FCR_RXSR |	\
>   		     UART_FCR_TXSR)		/* Clear&  enable FIFOs */
> +#ifdef CONFIG_X86
> +#define serial_out(x,y)	outb(x,(ulong)y)
> +#define serial_in(y)	inb((ulong)y)
> +#else
> +#define serial_out(x,y) writeb(x,y)
> +#define serial_in(y) 	readb(y)
> +#endif

wont it be nice if we have:
CONFIG_NS16550_PORT_MAPPED
CONFIG_NS16550_MEMORY_MAPPED
? rather than being tied to x86?
[..]
Regards,
Nishanth Menon


More information about the U-Boot mailing list