diff --git a/docs/supported_devices.md b/docs/supported_devices.md
index f317043..55a28c6 100644
--- a/docs/supported_devices.md
+++ b/docs/supported_devices.md
@@ -10,6 +10,7 @@
| Alpha 15 B5EE / B5EEK | 158LEMS1 | Issues:
- [#16](https://github.com/BeardOverflow/msi-ec/issues/16)
PRs:
- [#22](https://github.com/BeardOverflow/msi-ec/pull/22) | 5 | ✔️ Battery thresholds
✔️ Webcam toggle
✔️ Webcam block
✔️ Fn <-> Win
✔️ Cooler boost
✔️ Shift mode
✔️ Fan mode
✔️ Mic mute LED
✔️ Sound mute LED
❌ Keyboard backlight intensity |
| Alpha 17 B5EEK | 17LLEMS1 | Issues:
- [#45](https://github.com/BeardOverflow/msi-ec/issues/45)
PRs:
- [#122](https://github.com/BeardOverflow/msi-ec/pull/122) | 22 | ✔️ Battery thresholds
✔️ Webcam toggle
✔️ Webcam block
✔️ Fn <-> Win
✔️ Cooler boost
✔️ Shift mode
✔️ Fan mode
✔️ Mic mute LED
✔️ Sound mute LED
❌ Keyboard backlight intensity |
| Bravo 15 A4DDR | 16WKEMS1 | Issues:
- [#134](https://github.com/BeardOverflow/msi-ec/issues/134)
PRs:
- [#135](https://github.com/BeardOverflow/msi-ec/pull/135) | 23 | ✔️ Battery thresholds
✔️ Webcam toggle
❌ Webcam block
✔️ Fn <-> Win
✔️ Cooler boost
✔️ Shift mode
✔️ Fan mode
❌ Mic mute LED
❌ Sound mute LED
✔️ Keyboard backlight intensity |
+| Bravo 15 B7E | 158PIMS1 | PRs:
- [#165](https://github.com/BeardOverflow/msi-ec/pull/165) | 32 | ✔️ Battery thresholds
❌ Webcam toggle
❌ Webcam block
✔️ Fn <-> Win
✔️ Cooler boost
✔️ Shift mode
✔️ Fan mode
✔️ Mic mute LED
✔️ Sound mute LED
✔️ Keyboard backlight intensity |
| Bravo 17 A4DDR / A4DDK | 17FKEMS1 | Issues:
- [#20](https://github.com/BeardOverflow/msi-ec/issues/20)
PRs:
- [#22](https://github.com/BeardOverflow/msi-ec/pull/22) | 7 | ✔️ Battery thresholds
✔️ Webcam toggle
❌ Webcam block
✔️ Fn <-> Win
✔️ Cooler boost
✔️ Shift mode
✔️ Fan mode
❌ Mic mute LED
✔️ Sound mute LED
✔️ Keyboard backlight intensity |
| Delta 15 A5EFK | 15CKEMS1 | Issues:
- [#41](https://github.com/BeardOverflow/msi-ec/issues/41)
PRs:
- [#107](https://github.com/BeardOverflow/msi-ec/pull/107) | 15 | ✔️ Battery thresholds
✔️ Webcam toggle
✔️ Webcam block
✔️ Fn <-> Win
✔️ Cooler boost
✔️ Shift mode
✔️ Fan mode
✔️ Mic mute LED
✔️ Sound mute LED
❌ Keyboard backlight intensity |
| Cyborg 15 A12VF | 15K1IMS1 | Issues:
- [#90](https://github.com/BeardOverflow/msi-ec/issues/90)
PRs:
- [#102](https://github.com/BeardOverflow/msi-ec/pull/102) | 17 | ✔️ Battery thresholds
✔️ Webcam toggle
✔️ Webcam block
✔️ Fn <-> Win
✔️ Cooler boost
✔️ Shift mode
✔️ Fan mode
✔️ Mic mute LED
✔️ Sound mute LED
✔️ Keyboard backlight intensity |
diff --git a/msi-ec.c b/msi-ec.c
index 6ff504d..ae2dd94 100644
--- a/msi-ec.c
+++ b/msi-ec.c
@@ -2626,6 +2626,84 @@ static struct msi_ec_conf CONF31 __initdata = {
},
};
+static const char *ALLOWED_FW_32[] __initconst = {
+ "158PIMS1.207", // Bravo 15 B7E
+ NULL
+};
+
+static struct msi_ec_conf CONF32 __initdata = {
+ .allowed_fw = ALLOWED_FW_32,
+ .charge_control = {
+ .address = 0xd7,
+ .offset_start = 0x8a,
+ .offset_end = 0x80,
+ .range_min = 0x8a,
+ .range_max = 0xe4,
+ },
+ .webcam = {
+ .address = MSI_EC_ADDR_UNSUPP,
+ .block_address = MSI_EC_ADDR_UNSUPP,
+ .bit = 1,
+ },
+ .fn_win_swap = {
+ .address = 0xe8,
+ .bit = 4,
+ .invert = false,
+ },
+ .cooler_boost = {
+ .address = 0x98,
+ .bit = 7,
+ },
+ .shift_mode = {
+ .address = 0xd2,
+ .modes = {
+ { SM_ECO_NAME, 0xc2 },
+ { SM_COMFORT_NAME, 0xc1 },
+ { SM_TURBO_NAME, 0xc4 },
+ MSI_EC_MODE_NULL
+ },
+ },
+ .super_battery = {
+ .address = MSI_EC_ADDR_UNKNOWN,
+ .mask = 0x0f,
+ },
+ .fan_mode = {
+ .address = 0xd4,
+ .modes = {
+ { FM_AUTO_NAME, 0x0d },
+ { FM_SILENT_NAME, 0x1d },
+ { FM_ADVANCED_NAME, 0x8d },
+ MSI_EC_MODE_NULL
+ },
+ },
+ .cpu = {
+ .rt_temp_address = 0x68,
+ .rt_fan_speed_address = MSI_EC_ADDR_UNKNOWN,
+ .rt_fan_speed_base_min = 0x00,
+ .rt_fan_speed_base_max = 0x96,
+ .bs_fan_speed_address = MSI_EC_ADDR_UNSUPP,
+ .bs_fan_speed_base_min = 0x00,
+ .bs_fan_speed_base_max = 0x0f,
+ },
+ .gpu = {
+ .rt_temp_address = MSI_EC_ADDR_UNSUPP,
+ .rt_fan_speed_address = MSI_EC_ADDR_UNKNOWN,
+ },
+ .leds = {
+ .micmute_led_address = 0x2c,
+ .mute_led_address = 0x2d,
+ .bit = 1,
+ },
+ .kbd_bl = {
+ .bl_mode_address = MSI_EC_ADDR_UNSUPP,
+ .bl_modes = { },
+ .max_mode = 1,
+ .bl_state_address = 0xd3,
+ .state_base_value = 0x80,
+ .max_state = 3,
+ },
+};
+
static struct msi_ec_conf *CONFIGURATIONS[] __initdata = {
&CONF0,
&CONF1,
@@ -2659,6 +2737,7 @@ static struct msi_ec_conf *CONFIGURATIONS[] __initdata = {
&CONF29,
&CONF30,
&CONF31,
+ &CONF32,
NULL
};