mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
serial: ns16550: Provide ->getinfo() implementation
New callback will supply necessary information, for example, to ACPI SPCR table. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
4e7207791c
commit
50bf7d03c2
1 changed files with 21 additions and 1 deletions
|
@ -372,6 +372,25 @@ static int ns16550_serial_setconfig(struct udevice *dev, uint serial_config)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int ns16550_serial_getinfo(struct udevice *dev,
|
||||
struct serial_device_info *info)
|
||||
{
|
||||
struct NS16550 *const com_port = dev_get_priv(dev);
|
||||
struct ns16550_platdata *plat = com_port->plat;
|
||||
|
||||
info->type = SERIAL_CHIP_16550_COMPATIBLE;
|
||||
#ifdef CONFIG_SYS_NS16550_PORT_MAPPED
|
||||
info->addr_space = SERIAL_ADDRESS_SPACE_IO;
|
||||
#else
|
||||
info->addr_space = SERIAL_ADDRESS_SPACE_MEMORY;
|
||||
#endif
|
||||
info->addr = plat->base;
|
||||
info->reg_width = plat->reg_width;
|
||||
info->reg_shift = plat->reg_shift;
|
||||
info->reg_offset = plat->reg_offset;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ns16550_serial_probe(struct udevice *dev)
|
||||
{
|
||||
struct NS16550 *const com_port = dev_get_priv(dev);
|
||||
|
@ -479,7 +498,8 @@ const struct dm_serial_ops ns16550_serial_ops = {
|
|||
.pending = ns16550_serial_pending,
|
||||
.getc = ns16550_serial_getc,
|
||||
.setbrg = ns16550_serial_setbrg,
|
||||
.setconfig = ns16550_serial_setconfig
|
||||
.setconfig = ns16550_serial_setconfig,
|
||||
.getinfo = ns16550_serial_getinfo,
|
||||
};
|
||||
|
||||
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||
|
|
Loading…
Add table
Reference in a new issue