summaryrefslogtreecommitdiffstats
path: root/drivers/serial/sandbox.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2018-11-20 23:52:33 +0200
committerSimon Glass <sjg@chromium.org>2018-12-05 06:08:31 -0700
commitd5bb4f862b47ad9112132071ad18f9936494e307 (patch)
treeba4c615f53874d52b17a25dbf02c10b357c31789 /drivers/serial/sandbox.c
parentac7f5db9dc690901d99fe0afbcb3d4241c3cab8e (diff)
downloadu-boot-d5bb4f862b47ad9112132071ad18f9936494e307.tar.gz
u-boot-d5bb4f862b47ad9112132071ad18f9936494e307.tar.xz
u-boot-d5bb4f862b47ad9112132071ad18f9936494e307.zip
dm: serial: Introduce ->getinfo() callback
New callback will give a necessary information to fill up ACPI SPCR table, for example. Maybe used later for other purposes. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Simon Glass <sjg@chromium.org> Change ADR_SPACE_SYSTEM_IO to SERIAL_ADDRESS_SPACE_IO to fix build error: Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/serial/sandbox.c')
-rw-r--r--drivers/serial/sandbox.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/serial/sandbox.c b/drivers/serial/sandbox.c
index 76d26d3c59..33102fc872 100644
--- a/drivers/serial/sandbox.c
+++ b/drivers/serial/sandbox.c
@@ -188,6 +188,26 @@ static int sandbox_serial_setconfig(struct udevice *dev, uint serial_config)
return 0;
}
+static int sandbox_serial_getinfo(struct udevice *dev,
+ struct serial_device_info *serial_info)
+{
+ struct serial_device_info info = {
+ .type = SERIAL_CHIP_UNKNOWN,
+ .addr_space = SERIAL_ADDRESS_SPACE_IO,
+ .addr = SERIAL_DEFAULT_ADDRESS,
+ .reg_width = 1,
+ .reg_offset = 0,
+ .reg_shift = 0,
+ };
+
+ if (!serial_info)
+ return -EINVAL;
+
+ *serial_info = info;
+
+ return 0;
+}
+
#if CONFIG_IS_ENABLED(OF_CONTROL)
static const char * const ansi_colour[] = {
"black", "red", "green", "yellow", "blue", "megenta", "cyan",
@@ -221,6 +241,7 @@ static const struct dm_serial_ops sandbox_serial_ops = {
.getc = sandbox_serial_getc,
.getconfig = sandbox_serial_getconfig,
.setconfig = sandbox_serial_setconfig,
+ .getinfo = sandbox_serial_getinfo,
};
static const struct udevice_id sandbox_serial_ids[] = {