[PATCH v1] monitor/intel: Add decoding of cnvi core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add decoding of cnvi core from Intel read version event.

sudo hcitool cmd 3f 05 ff

HCI traces:
< HCI Command: Intel Read Version (0x3f|0x0005) plen 1
        Requested Type:
          All Supported Types(0xff)
> HCI Event: Command Complete (0x0e) plen 122
      Intel Read Version (0x3f|0x0005) ncmd 1
        Status: Success (0x00)
        CNVi TOP(16): 0x01080901
        CNVr TOP(17): 0x00002a10
        CNVi BT(18): cnvi (BlazarIW) cnvibt: (0x00223700)
        CNVr BT(19): 0x00313000
        CNVr OTP(21): 0x0344
	.....
	.....
---
 monitor/intel.c | 44 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/monitor/intel.c b/monitor/intel.c
index 0de864d8a41e..dd1e3396086a 100644
--- a/monitor/intel.c
+++ b/monitor/intel.c
@@ -196,6 +196,48 @@ static void print_version_tlv_enabled(const struct intel_version_tlv *tlv,
 					tlv->val[0]);
 }
 
+static void print_version_tlv_cnvi_bt(const struct intel_version_tlv *tlv,
+				      const char *type_str)
+{
+	const char *str;
+	uint32_t cnvibt = get_le32(tlv->val);
+
+	switch ((cnvibt >> 16) & 0x3f) {
+	case 0x17:
+		str = "Typhoon Peak2";
+		break;
+	case 0x18:
+		str = "Solar";
+		break;
+	case 0x19:
+		str = "Solar F";
+		break;
+	case 0x1b:
+		str = "Magnetor";
+		break;
+	case 0x1c:
+		str = "Gale Peak2";
+		break;
+	case 0x1d:
+		str = "BlazarU";
+		break;
+	case 0x1e:
+		str = "BlazarI";
+		break;
+	case 0x1f:
+		str = "Scorpious Peak";
+		break;
+	case 0x22:
+		str = "BlazarIW";
+		break;
+	default:
+		str = "Unknown";
+		break;
+	}
+	print_field("%s(%u): cnvi (%s) cnvi_bt: (0x%8.8x)", type_str, tlv->type,
+		    str, get_le32(tlv->val));
+}
+
 static void print_version_tlv_img_type(const struct intel_version_tlv *tlv,
 				       const char *type_str)
 {
@@ -259,7 +301,7 @@ static const struct intel_version_tlv_desc {
 } intel_version_tlv_table[] = {
 	{ 16, "CNVi TOP", print_version_tlv_u32 },
 	{ 17, "CNVr TOP", print_version_tlv_u32 },
-	{ 18, "CNVi BT", print_version_tlv_u32 },
+	{ 18, "CNVi BT", print_version_tlv_cnvi_bt},
 	{ 19, "CNVr BT", print_version_tlv_u32 },
 	{ 20, "CNVi OTP", print_version_tlv_u16 },
 	{ 21, "CNVr OTP", print_version_tlv_u16 },
-- 
2.43.0





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux