mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-06-09 23:36:03 +09: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
|
@ -372,6 +372,25 @@ static int ns16550_serial_setconfig(struct udevice *dev, uint serial_config)
|
||||||
return 0;
|
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)
|
int ns16550_serial_probe(struct udevice *dev)
|
||||||
{
|
{
|
||||||
struct NS16550 *const com_port = dev_get_priv(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,
|
.pending = ns16550_serial_pending,
|
||||||
.getc = ns16550_serial_getc,
|
.getc = ns16550_serial_getc,
|
||||||
.setbrg = ns16550_serial_setbrg,
|
.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)
|
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user