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