platform/chrome: cros_ec_lightbar - Add lightbar program feature to sysfs
Add a program feature so we can upload and run programs for lightbar sequences. We should be able to use this to shift sequences out of the EC and save space there. $ cat <suitable program bin> > /sys/devices/.../cros_ec/program $ echo program > /sys/devices/.../cros_ec/sequence Signed-off-by: Eric Caruso <ejcaruso@chromium.org> Signed-off-by: Guenter Roeck <groeck@chromium.org> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Benson Leung <bleung@chromium.org>
This commit is contained in:

committed by
Benson Leung

parent
a6df7798d0
commit
be3ebebf43
@@ -1162,6 +1162,13 @@ struct lightbar_params_v1 {
|
||||
struct rgb_s color[8]; /* 0-3 are Google colors */
|
||||
} __packed;
|
||||
|
||||
/* Lightbar program */
|
||||
#define EC_LB_PROG_LEN 192
|
||||
struct lightbar_program {
|
||||
uint8_t size;
|
||||
uint8_t data[EC_LB_PROG_LEN];
|
||||
};
|
||||
|
||||
struct ec_params_lightbar {
|
||||
uint8_t cmd; /* Command (see enum lightbar_command) */
|
||||
union {
|
||||
@@ -1188,6 +1195,7 @@ struct ec_params_lightbar {
|
||||
|
||||
struct lightbar_params_v0 set_params_v0;
|
||||
struct lightbar_params_v1 set_params_v1;
|
||||
struct lightbar_program set_program;
|
||||
};
|
||||
} __packed;
|
||||
|
||||
@@ -1220,7 +1228,8 @@ struct ec_response_lightbar {
|
||||
struct {
|
||||
/* no return params */
|
||||
} off, on, init, set_brightness, seq, reg, set_rgb,
|
||||
demo, set_params_v0, set_params_v1;
|
||||
demo, set_params_v0, set_params_v1,
|
||||
set_program;
|
||||
};
|
||||
} __packed;
|
||||
|
||||
@@ -1244,6 +1253,7 @@ enum lightbar_command {
|
||||
LIGHTBAR_CMD_GET_DEMO = 15,
|
||||
LIGHTBAR_CMD_GET_PARAMS_V1 = 16,
|
||||
LIGHTBAR_CMD_SET_PARAMS_V1 = 17,
|
||||
LIGHTBAR_CMD_SET_PROGRAM = 18,
|
||||
LIGHTBAR_NUM_CMDS
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user