From cd13141c95c6ec68ce3d72f06ff2a181911866d1 Mon Sep 17 00:00:00 2001 From: Kiran K Date: Thu, 24 Jul 2025 17:39:53 +0530 Subject: [PATCH] monitor/intel: Add decoding of cnvi core Add decoding of cnvi core from Intel read version event. bluetooctl> hci.cmd 0xfc05 0xff 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): 0x001c3700 - Gale Peak2(0x1c) CNVr BT(19): 0x00313000 CNVr OTP(21): 0x0344 ..... ..... --- monitor/intel.c | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/monitor/intel.c b/monitor/intel.c index 0de864d8a..a6e9cebe9 100644 --- a/monitor/intel.c +++ b/monitor/intel.c @@ -196,6 +196,50 @@ 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); + uint8_t variant = (cnvibt >> 16) & 0x3f; + + switch (variant) { + 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): 0x%8.8x - %s(0x%2.2x)", type_str, tlv->type, + cnvibt, str, variant); +} + static void print_version_tlv_img_type(const struct intel_version_tlv *tlv, const char *type_str) { @@ -259,7 +303,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.47.3