x86: serial: Use NS16550_DYNAMIC in Slim Bootloader

Slim Bootloader provides serial port info in its HOB to support
both IO or MMIO serial ports, but it's controlled by SYS_NS16550_MEM32
or SYS_NS16550_PORT_MAPPED in U-Boot.
To support both serial port configurations dynamically at runtime,
Slim Bootloader serial driver leverages NS16550_DYNAMIC.

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: remove the obsolete comments for data->type]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Park, Aiden 2019-12-18 05:56:23 +00:00 committed by Bin Meng
parent b7c1e67a70
commit 18416ba119
2 changed files with 5 additions and 21 deletions

View File

@ -34,18 +34,15 @@ static int slimbootloader_serial_ofdata_to_platdata(struct udevice *dev)
data->stride,
data->clk);
/*
* The data->type provides port io or mmio access type info,
* but the access type will be controlled by
* CONFIG_SYS_NS16550_PORT_MAPPED or CONFIG_SYS_NS16550_MEM32.
*
* TBD: ns16550 access type configuration in runtime.
* ex) plat->access_type = data->type
*/
plat->base = data->base;
/* ns16550 uses reg_shift, then covert stride to shift */
plat->reg_shift = data->stride >> 1;
plat->reg_width = data->stride;
plat->clock = data->clk;
plat->fcr = UART_FCR_DEFVAL;
plat->flags = 0;
if (data->type == 1)
plat->flags |= NS16550_FLAG_IO;
return 0;
}

View File

@ -8,19 +8,6 @@
#include <configs/x86-common.h>
/*
* By default, CONFIG_SYS_NS16550_PORT_MAPPED is enabled for port io serial.
* To use mmio base serial, enable CONFIG_SYS_NS16550_MEM32 and disable
* CONFIG_SYS_NS16550_PORT_MAPPED until ns16550 driver supports serial port
* configuration in run-time.
*
* #define CONFIG_SYS_NS16550_MEM32
* #undef CONFIG_SYS_NS16550_PORT_MAPPED
*/
#ifdef CONFIG_SYS_NS16550_MEM32
#undef CONFIG_SYS_NS16550_PORT_MAPPED
#endif
#define CONFIG_STD_DEVICES_SETTINGS \
"stdin=serial,i8042-kbd,usbkbd\0" \
"stdout=serial\0" \