summaryrefslogtreecommitdiff
path: root/src/include/sar.h
diff options
context:
space:
mode:
authorJeremy Compostella <jeremy.compostella@intel.com>2024-10-29 10:40:27 -0700
committerJérémy Compostella <jeremy.compostella@intel.com>2024-11-27 21:28:05 +0000
commit67dff1b2b1023aecbe6fa169bee2a4ba342b15c3 (patch)
tree8f370bcb1d97317155b52c48a0f783415b7be776 /src/include/sar.h
parent3f535d3a0dcf17fadb98f52450ab79e693446040 (diff)
drivers/wifi: Support Bluetooth Dual Chain Mode
This feature provides ability to provide dual chain setting. The implementation follows document 559910 Intel Connectivity Platforms BIOS Guideline revision 9.2 specification. BUG=b:346600091 TEST=BDCM method is added to the bluetooth companion device and return the data supplied by the SAR binary blob Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e220 Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84943 Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Subrata Banik <subratabanik@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
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 0609bd34ef..d09ee0dd03 100644
--- a/src/include/sar.h
+++ b/src/include/sar.h
@@ -9,12 +9,13 @@
#define MAX_DENYLIST_ENTRY 16
#define MAX_DSAR_SET_COUNT 3
#define MAX_GEO_OFFSET_REVISION 3
-#define MAX_PROFILE_COUNT 9
+#define MAX_PROFILE_COUNT 10
#define MAX_SAR_REVISION 2
#define BSAR_REVISION 1
#define WBEM_REVISION 0
#define BPAG_REVISION 2
#define BBFB_REVISION 1
+#define BDCM_REVISION 1
#define REVISION_SIZE 1
#define SAR_REV0_CHAINS_COUNT 2
#define SAR_REV0_SUBBANDS_COUNT 5
@@ -93,6 +94,11 @@ struct bbfb_profile {
uint8_t enable_quad_filter_bypass;
} __packed;
+struct bdcm_profile {
+ uint8_t revision;
+ uint32_t dual_chain_mode;
+} __packed;
+
struct sar_header {
char marker[SAR_STR_PREFIX_SIZE];
uint8_t version;
@@ -111,6 +117,7 @@ union wifi_sar_limits {
struct wbem_profile *wbem;
struct bpag_profile *bpag;
struct bbfb_profile *bbfb;
+ struct bdcm_profile *bdcm;
};
void *profile[MAX_PROFILE_COUNT];
};