summaryrefslogtreecommitdiff
path: root/src/include/sar.h
diff options
context:
space:
mode:
authorJeremy Compostella <jeremy.compostella@intel.com>2024-10-28 16:32:55 -0700
committerJérémy Compostella <jeremy.compostella@intel.com>2024-11-27 21:27:59 +0000
commit3f535d3a0dcf17fadb98f52450ab79e693446040 (patch)
tree4d5f6f04e301a7b5b09bad2bb5a075aa84c47fe9 /src/include/sar.h
parent354cba21a41aa868b7b41804c2859f920d2e1b17 (diff)
drivers/wifi: Support Bluetooth BiQuad Bypass Filter
This feature provides ability to identify non-LTE platform and disable BiQuad Bypass filter logic in hardware for Bluetooth usecases reducing device power consumption. The implementation follows document 559910 Intel Connectivity Platforms BIOS Guideline revision 9.2 specification. BUG=b:346600091 TEST=BBFB method is added to the bluetooth companion device and return the data supplied by the SAR binary blob Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e213 Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84942 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com> Reviewed-by: Elyes Haouas <ehaouas@noos.fr> Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Diffstat (limited to 'src/include/sar.h')
-rw-r--r--src/include/sar.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/sar.h b/src/include/sar.h
index b9c83c3a05..0609bd34ef 100644
--- a/src/include/sar.h
+++ b/src/include/sar.h
@@ -9,11 +9,12 @@
#define MAX_DENYLIST_ENTRY 16
#define MAX_DSAR_SET_COUNT 3
#define MAX_GEO_OFFSET_REVISION 3
-#define MAX_PROFILE_COUNT 8
+#define MAX_PROFILE_COUNT 9
#define MAX_SAR_REVISION 2
#define BSAR_REVISION 1
#define WBEM_REVISION 0
#define BPAG_REVISION 2
+#define BBFB_REVISION 1
#define REVISION_SIZE 1
#define SAR_REV0_CHAINS_COUNT 2
#define SAR_REV0_SUBBANDS_COUNT 5
@@ -87,6 +88,11 @@ struct bpag_profile {
uint32_t antenna_gain_country_enablement;
} __packed;
+struct bbfb_profile {
+ uint8_t revision;
+ uint8_t enable_quad_filter_bypass;
+} __packed;
+
struct sar_header {
char marker[SAR_STR_PREFIX_SIZE];
uint8_t version;
@@ -104,6 +110,7 @@ union wifi_sar_limits {
struct bsar_profile *bsar;
struct wbem_profile *wbem;
struct bpag_profile *bpag;
+ struct bbfb_profile *bbfb;
};
void *profile[MAX_PROFILE_COUNT];
};