summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiran K <kiran.k@intel.com>2026-02-28 12:12:35 +0300
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2026-04-10 17:28:25 +0300
commite64621ef1500f9c0c26d0b680223d4f3819cf24d (patch)
treeceec2cf537225cabc28e6ef732fb62c284306c59
parent140f6afd3dd75a02d067b39806a998e5effb56b5 (diff)
downloadlinux-e64621ef1500f9c0c26d0b680223d4f3819cf24d.tar.xz
Bluetooth: btintel_pcie: Add support for exception dump for ScP2
Add device coredump support for Scorpious Peak2 product. Signed-off-by: Kiran K <kiran.k@intel.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-rw-r--r--drivers/bluetooth/btintel.h11
-rw-r--r--drivers/bluetooth/btintel_pcie.c7
2 files changed, 13 insertions, 5 deletions
diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h
index f16f852b83b8..b5c00be8277a 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -54,11 +54,12 @@ struct intel_tlv {
#define BTINTEL_HCI_OP_RESET 0xfc01
-#define BTINTEL_CNVI_BLAZARI 0x900
-#define BTINTEL_CNVI_BLAZARIW 0x901
-#define BTINTEL_CNVI_GAP 0x910
-#define BTINTEL_CNVI_BLAZARU 0x930
-#define BTINTEL_CNVI_SCP 0xA00
+#define BTINTEL_CNVI_BLAZARI 0x900 /* BlazarI - Lunar Lake */
+#define BTINTEL_CNVI_BLAZARIW 0x901 /* BlazarIW - Wildcat Lake */
+#define BTINTEL_CNVI_GAP 0x910 /* Gale Peak2 - Meteor Lake */
+#define BTINTEL_CNVI_BLAZARU 0x930 /* BlazarU - Meteor Lake */
+#define BTINTEL_CNVI_SCP 0xA00 /* Scorpius Peak - Panther Lake */
+#define BTINTEL_CNVI_SCP2 0xA10 /* Scorpius Peak2 - Nova Lake */
/* CNVR */
#define BTINTEL_CNVR_FMP2 0x910
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 0ce47b88db6e..0febdbd0d86e 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -74,6 +74,9 @@ struct btintel_pcie_dev_recovery {
#define BTINTEL_PCIE_SCP_HWEXP_SIZE 4096
#define BTINTEL_PCIE_SCP_HWEXP_DMP_ADDR 0xB030F800
+#define BTINTEL_PCIE_SCP2_HWEXP_SIZE 4096
+#define BTINTEL_PCIE_SCP2_HWEXP_DMP_ADDR 0xB031D000
+
#define BTINTEL_PCIE_MAGIC_NUM 0xA5A5A5A5
#define BTINTEL_PCIE_TRIGGER_REASON_USER_TRIGGER 0x17A2
@@ -1231,6 +1234,10 @@ static void btintel_pcie_read_hwexp(struct btintel_pcie_data *data)
len = BTINTEL_PCIE_SCP_HWEXP_SIZE;
addr = BTINTEL_PCIE_SCP_HWEXP_DMP_ADDR;
break;
+ case BTINTEL_CNVI_SCP2:
+ len = BTINTEL_PCIE_SCP2_HWEXP_SIZE;
+ addr = BTINTEL_PCIE_SCP2_HWEXP_DMP_ADDR;
+ break;
default:
bt_dev_err(data->hdev, "Unsupported cnvi 0x%8.8x", data->dmp_hdr.cnvi_top);
return;