upl: Add a command

Add a 'upl' command to work with Universal Payload features. For now it
only supports reading and writing a handoff structure.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2024-08-07 16:47:30 -06:00
committed by Tom Rini
parent 637be2e53f
commit 264f4b0b34
9 changed files with 371 additions and 0 deletions

View File

@@ -30,6 +30,7 @@
struct acpi_ctx;
struct driver_rt;
struct upl;
typedef struct global_data gd_t;
@@ -491,6 +492,12 @@ struct global_data {
* @dmtag_list: List of DM tags
*/
struct list_head dmtag_list;
#if CONFIG_IS_ENABLED(UPL)
/**
* @upl: Universal Payload-handoff information
*/
struct upl *upl;
#endif
};
#ifndef DO_DEPS_ONLY
static_assert(sizeof(struct global_data) == GD_SIZE);
@@ -590,6 +597,14 @@ static_assert(sizeof(struct global_data) == GD_SIZE);
#define gd_malloc_ptr() 0L
#endif
#if CONFIG_IS_ENABLED(UPL)
#define gd_upl() gd->upl
#define gd_set_upl(_val) gd->upl = (_val)
#else
#define gd_upl() NULL
#define gd_set_upl(val)
#endif
/**
* enum gd_flags - global data flags
*