Diff between 3a28583216c6f9bd45b8850f6c1fa4004e3d2bb4 and 56618fa4e243da17ea9b3020b888697832f15a58

Changed Files

File Additions Deletions Status
monitor/broadcom.c +41 -0 modified

Full Patch

diff --git a/monitor/broadcom.c b/monitor/broadcom.c
index 475a248..fb96609 100644
--- a/monitor/broadcom.c
+++ b/monitor/broadcom.c
@@ -529,6 +529,44 @@ static void read_verbose_version_info_rsp(const void *data, uint8_t size)
 	print_field("Build number: %u (0x%4.4x)", build_num, build_num);
 }
 
+static void enable_wbs_cmd(const void *data, uint8_t size)
+{
+	uint8_t mode = get_u8(data);
+	uint16_t codec = get_le16(data + 1);
+	const char *str;
+
+	switch (mode) {
+	case 0x00:
+		str = "Disable WBS";
+		break;
+	case 0x01:
+		str = "Enable WBS";
+		break;
+	default:
+		str = "Reserved";
+		break;
+	}
+
+	print_field("Mode: %s (0x%2.2x)", str, mode);
+
+	switch (codec) {
+	case 0x0000:
+		str = "None";
+		break;
+	case 0x0001:
+		str = "CVSD";
+		break;
+	case 0x0002:
+		str = "mSBC";
+		break;
+	default:
+		str = "Reserved";
+		break;
+	}
+
+	print_field("Codec: %s (0x%4.4x)", str, codec);
+}
+
 static const struct vendor_ocf vendor_ocf_table[] = {
 	{ 0x001, "Write BD ADDR",
 			write_bd_addr_cmd, 6, true,
@@ -588,6 +626,9 @@ static const struct vendor_ocf vendor_ocf_table[] = {
 	{ 0x079, "Read Verbose Config Version Info",
 			null_cmd, 0, true,
 			read_verbose_version_info_rsp, 7, true },
+	{ 0x07e, "Enable WBS",
+			enable_wbs_cmd, 3, true,
+			status_rsp, 1, true },
 	{ }
 };