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 };