diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ec_commands.h | 18 | ||||
-rw-r--r-- | include/rgb_keyboard.h | 6 |
2 files changed, 24 insertions, 0 deletions
diff --git a/include/ec_commands.h b/include/ec_commands.h index d86063ba27..ade6eff070 100644 --- a/include/ec_commands.h +++ b/include/ec_commands.h @@ -7159,6 +7159,7 @@ enum ec_rgbkbd_subcmd { EC_RGBKBD_SUBCMD_CLEAR = 1, EC_RGBKBD_SUBCMD_DEMO = 2, EC_RGBKBD_SUBCMD_SET_SCALE = 3, + EC_RGBKBD_SUBCMD_GET_CONFIG = 4, EC_RGBKBD_SUBCMD_COUNT }; @@ -7171,6 +7172,15 @@ enum ec_rgbkbd_demo { BUILD_ASSERT(EC_RGBKBD_DEMO_COUNT <= 255); +enum ec_rgbkbd_type { + EC_RGBKBD_TYPE_UNKNOWN = 0, + EC_RGBKBD_TYPE_PER_KEY = 1, /* e.g. Vell */ + EC_RGBKBD_TYPE_FOUR_ZONES_40_LEDS = 2, /* e.g. Taniks */ + EC_RGBKBD_TYPE_FOUR_ZONES_12_LEDS = 3, /* e.g. Osiris */ + EC_RGBKBD_TYPE_FOUR_ZONES_15_LEDS = 4, /* e.g. Mithrax */ + EC_RGBKBD_TYPE_COUNT, +}; + struct ec_rgbkbd_set_scale { uint8_t key; struct rgb_s scale; @@ -7185,6 +7195,14 @@ struct ec_params_rgbkbd { }; } __ec_align1; +struct ec_response_rgbkbd { + /* + * RGBKBD type supported by the device. + */ + + uint8_t rgbkbd_type; /* enum ec_rgbkbd_type */ +} __ec_align1; + struct ec_params_rgbkbd_set_color { /* Specifies the starting key ID whose color is being changed. */ uint8_t start_key; diff --git a/include/rgb_keyboard.h b/include/rgb_keyboard.h index e795389225..4f948542d9 100644 --- a/include/rgb_keyboard.h +++ b/include/rgb_keyboard.h @@ -154,6 +154,12 @@ extern const uint8_t rgbkbd_hsize; extern const uint8_t rgbkbd_vsize; /* + * rgbkbd_type describes the rgb kb type supported. + * i.e. Number of zones and number of LEDs + */ +extern const enum ec_rgbkbd_type rgbkbd_type; + +/* * rgbkbd_map describes a mapping from key IDs to LED IDs. * * Multiple keys can be mapped to one LED and one key can be mapped to multiple |