drivers/wifi: Support 320Mhz Bandwidth Enablement per MCC

Add support for the configuration of 320MHz Bandwidth per MCC based on
countries. The implementation follows document #559910 Intel
Connectivity Platforms BIOS Guidelines revision 8.3.

BUG=b:333804562
BRANCH=firmware-rex-15709.B
TEST=WBEM method is added to the CNVW device and return the data
     supplied by the SAR binary blob

Change-Id: Ie76794825f1a0104d199c078aa4ffc714aa95b17
Signed-off-by: Poornima Tom <poornima.tom@intel.com>
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81790
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Poornima Tom 2024-04-11 07:07:42 +05:30 committed by Jérémy Compostella
commit 89566946fb
3 changed files with 58 additions and 1 deletions

View file

@ -9,9 +9,10 @@
#define MAX_DENYLIST_ENTRY 16
#define MAX_DSAR_SET_COUNT 3
#define MAX_GEO_OFFSET_REVISION 3
#define MAX_PROFILE_COUNT 6
#define MAX_PROFILE_COUNT 7
#define MAX_SAR_REVISION 2
#define BSAR_REVISION 1
#define WBEM_REVISION 0
#define REVISION_SIZE 1
#define SAR_REV0_CHAINS_COUNT 2
#define SAR_REV0_SUBBANDS_COUNT 5
@ -73,6 +74,11 @@ struct bsar_profile {
uint8_t le_lr_modulation;
} __packed;
struct wbem_profile {
uint8_t revision;
uint32_t bandwidth_320mhz_country_enablement;
} __packed;
struct sar_header {
char marker[SAR_STR_PREFIX_SIZE];
uint8_t version;
@ -88,6 +94,7 @@ union wifi_sar_limits {
struct avg_profile *wtas;
struct dsm_profile *dsm;
struct bsar_profile *bsar;
struct wbem_profile *wbem;
};
void *profile[MAX_PROFILE_COUNT];
};