drivers/wifi: Support Wi-Fi 7 11be Enablement
Add 802.11be (aka. Wi-Fi 7) enable/disable support based on document 559910 Intel Connectivity Platforms BIOS_Guidelines revision 8.3. There are countries where Wi-Fi 7 should be disabled by default. This adds capability for OEM to enable or disable by updating the board specific Specific Absorption Rate (SAR) binary. BUG=b:348345300 BRANCH=firmware-rex-15709.B TEST=SSDT dump shows that the _DSM method returns the value supplied by the SAR binary for function 12 Change-Id: Ifa1482d7511f48f5138d4c68566f07ce79f37a7a Signed-off-by: Ravi Sarawadi <ravishankar.sarawadi@intel.com> Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/82207 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com> Reviewed-by: Eric Lai <ericllai@google.com> Reviewed-by: YH Lin <yueherngl@google.com>
This commit is contained in:
committed by
Subrata Banik
parent
a3dc6c0d35
commit
511222c187
@@ -143,6 +143,28 @@ static void wifi_dsm_unii4_control_enable(void *args)
|
||||
acpigen_write_return_integer(dsm_config->unii_4);
|
||||
}
|
||||
|
||||
/*
|
||||
* Function 12: Control Enablement 802.11be on certificated modules
|
||||
* Bit 0
|
||||
* 0 - 11BE disabled for China Mainland
|
||||
* 1 - 11BE enabled for China Mainland
|
||||
*
|
||||
* Bit 1
|
||||
* 0 - 11BE disabled for South Korea
|
||||
* 1 - 11BE enabled for South Korea
|
||||
*
|
||||
* Bit 2:27 - Reserved (shall be set to zeroes)
|
||||
*
|
||||
* Bit 28:31 - 11BE enablement revision
|
||||
*
|
||||
*/
|
||||
static void wifi_dsm_11be_country_enablement(void *args)
|
||||
{
|
||||
struct dsm_profile *dsm_config = (struct dsm_profile *)args;
|
||||
|
||||
acpigen_write_return_integer(dsm_config->enablement_11be);
|
||||
}
|
||||
|
||||
static void wifi_dsm_ddrrfim_func3_cb(void *ptr)
|
||||
{
|
||||
const bool is_cnvi_ddr_rfim_enabled = *(bool *)ptr;
|
||||
@@ -158,6 +180,11 @@ static void (*wifi_dsm_callbacks[])(void *) = {
|
||||
wifi_dsm_uart_configurations, /* Function 5 */
|
||||
wifi_dsm_ukrane_russia_11ax_enable, /* Function 6 */
|
||||
wifi_dsm_unii4_control_enable, /* Function 7 */
|
||||
NULL, /* Function 8 */
|
||||
NULL, /* Function 9 */
|
||||
NULL, /* Function 10 */
|
||||
NULL, /* Function 11 */
|
||||
wifi_dsm_11be_country_enablement, /* Function 12 */
|
||||
};
|
||||
|
||||
/*
|
||||
|
@@ -57,6 +57,7 @@ struct dsm_profile {
|
||||
uint32_t uart_configurations;
|
||||
uint32_t enablement_11ax;
|
||||
uint32_t unii_4;
|
||||
uint32_t enablement_11be;
|
||||
};
|
||||
|
||||
struct sar_header {
|
||||
|
Reference in New Issue
Block a user