lib/reg_script: Add display support
Add the ability to enable the display of the script:
* Added REG_SCRIPT_COMMAND_DISPLAY to enable and disable display output
* Added context values to manage display support
* display_state - Updated by the command to enable or disable display
* display_features - May be updated by step routine to control what
the step displays for register and value
* display_prefix - Prefix to display before register data
* Added REG_SCRIPT_DISPLAY_ON and REG_SCRIPT_DISPLAY_OFF macros to
control the display from the register script
* Added REG_SCRIPT_DISPLAY_REGISTER and REG_SCRIPT_DISPLAY_VALUE as
two features of the common display. With these features enabled
the following is output:
* Write: <optional prefix> register <-- value
* Read: <optional prefix> register --> value
TEST=Build and run on Galileo Gen2
Change-Id: If0d4d61ed8ef48ec20082b327f358fd1987e3fb9
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-on: https://review.coreboot.org/14553
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
@@ -47,6 +47,10 @@ enum {
|
||||
REG_SCRIPT_COMMAND_POLL,
|
||||
REG_SCRIPT_COMMAND_SET_DEV,
|
||||
REG_SCRIPT_COMMAND_NEXT,
|
||||
REG_SCRIPT_COMMAND_DISPLAY,
|
||||
|
||||
/* Insert new types above this comment */
|
||||
|
||||
REG_SCRIPT_COMMAND_END,
|
||||
};
|
||||
|
||||
@@ -92,6 +96,9 @@ struct reg_script_context {
|
||||
device_t dev;
|
||||
struct resource *res;
|
||||
const struct reg_script *step;
|
||||
uint8_t display_state; /* Only modified by reg_script_run_step */
|
||||
uint8_t display_features; /* Step routine modifies to control display */
|
||||
const char *display_prefix; /* Prefix tag to display */
|
||||
};
|
||||
|
||||
struct reg_script_bus_entry {
|
||||
@@ -132,6 +139,21 @@ struct reg_script_bus_entry {
|
||||
.res_index = res_index_, \
|
||||
}
|
||||
|
||||
/* Display control */
|
||||
#define REG_SCRIPT_DISPLAY_ALL 0xff
|
||||
#define REG_SCRIPT_DISPLAY_REGISTER 0x02
|
||||
#define REG_SCRIPT_DISPLAY_VALUE 0x01
|
||||
#define REG_SCRIPT_DISPLAY_NOTHING 0
|
||||
|
||||
#define REG_SCRIPT_DISPLAY_OFF \
|
||||
{ .command = REG_SCRIPT_COMMAND_DISPLAY, \
|
||||
.value = REG_SCRIPT_DISPLAY_NOTHING, \
|
||||
}
|
||||
#define REG_SCRIPT_DISPLAY_ON \
|
||||
{ .command = REG_SCRIPT_COMMAND_DISPLAY, \
|
||||
.value = REG_SCRIPT_DISPLAY_ALL, \
|
||||
}
|
||||
|
||||
/*
|
||||
* PCI
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user