* [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards
@ 2026-02-28 9:12 Kiran K
2026-02-28 9:12 ` [PATCH v3 2/9] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
If FW image has hybrid signature (ECDSA and LMS) then send CSS header,
ECDSA public key, ECDSA signature, LMS public key, LMS signature and
command buffer to device.
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel.c | 80 +++++++++++++++++++++++++++++++++----
1 file changed, 72 insertions(+), 8 deletions(-)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index 9d29ab811f80..5999be2efef8 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -35,6 +35,19 @@ enum {
DSM_SET_RESET_METHOD = 3,
};
+/* Hybrid ECDSA + LMS */
+#define BTINTEL_RSA_HEADER_VER 0x00010000
+#define BTINTEL_ECDSA_HEADER_VER 0x00020000
+#define BTINTEL_HYBRID_HEADER_VER 0x00069700
+#define BTINTEL_ECDSA_OFFSET 128
+#define BTINTEL_CSS_HEADER_SIZE 128
+#define BTINTEL_ECDSA_PUB_KEY_SIZE 96
+#define BTINTEL_ECDSA_SIG_SIZE 96
+#define BTINTEL_LMS_OFFSET 320
+#define BTINTEL_LMS_PUB_KEY_SIZE 52
+#define BTINTEL_LMS_SIG_SIZE 1744
+#define BTINTEL_CMD_BUFFER_OFFSET 2116
+
#define BTINTEL_BT_DOMAIN 0x12
#define BTINTEL_SAR_LEGACY 0
#define BTINTEL_SAR_INC_PWR 1
@@ -505,8 +518,8 @@ int btintel_version_info_tlv(struct hci_dev *hdev,
return -EINVAL;
}
- /* Secure boot engine type should be either 1 (ECDSA) or 0 (RSA) */
- if (version->sbe_type > 0x01) {
+ /* Secure boot engine type can be 0 (RSA), 1 (ECDSA), 2 (LMS), 3 (ECDSA + LMS) */
+ if (version->sbe_type > 0x03) {
bt_dev_err(hdev, "Unsupported Intel secure boot engine type (0x%x)",
version->sbe_type);
return -EINVAL;
@@ -1025,6 +1038,48 @@ static int btintel_sfi_ecdsa_header_secure_send(struct hci_dev *hdev,
return 0;
}
+static int btintel_sfi_hybrid_header_secure_send(struct hci_dev *hdev,
+ const struct firmware *fw)
+{
+ int err;
+
+ err = btintel_secure_send(hdev, 0x00, BTINTEL_CSS_HEADER_SIZE, fw->data);
+ if (err < 0) {
+ bt_dev_err(hdev, "Failed to send firmware CSS header (%d)", err);
+ return err;
+ }
+
+ err = btintel_secure_send(hdev, 0x03, BTINTEL_ECDSA_PUB_KEY_SIZE,
+ fw->data + BTINTEL_ECDSA_OFFSET);
+ if (err < 0) {
+ bt_dev_err(hdev, "Failed to send firmware ECDSA pkey (%d)", err);
+ return err;
+ }
+
+ err = btintel_secure_send(hdev, 0x02, BTINTEL_ECDSA_SIG_SIZE,
+ fw->data + BTINTEL_ECDSA_OFFSET + BTINTEL_ECDSA_PUB_KEY_SIZE);
+ if (err < 0) {
+ bt_dev_err(hdev, "Failed to send firmware ECDSA signature (%d)", err);
+ return err;
+ }
+
+ err = btintel_secure_send(hdev, 0x05, BTINTEL_LMS_PUB_KEY_SIZE,
+ fw->data + BTINTEL_LMS_OFFSET);
+ if (err < 0) {
+ bt_dev_err(hdev, "Failed to send firmware LMS pkey (%d)", err);
+ return err;
+ }
+
+ err = btintel_secure_send(hdev, 0x04, BTINTEL_LMS_SIG_SIZE,
+ fw->data + BTINTEL_LMS_OFFSET + BTINTEL_LMS_PUB_KEY_SIZE);
+ if (err < 0) {
+ bt_dev_err(hdev, "Failed to send firmware LMS signature (%d)", err);
+ return err;
+ }
+
+ return 0;
+}
+
static int btintel_download_firmware_payload(struct hci_dev *hdev,
const struct firmware *fw,
size_t offset)
@@ -1198,11 +1253,12 @@ static int btintel_download_fw_tlv(struct hci_dev *hdev,
* Command Buffer.
*
* CSS Header byte positions 0x08 to 0x0B represent the CSS Header
- * version: RSA(0x00010000) , ECDSA (0x00020000)
+ * version: RSA(0x00010000) , ECDSA (0x00020000) , HYBRID (0x00069700)
*/
css_header_ver = get_unaligned_le32(fw->data + CSS_HEADER_OFFSET);
- if (css_header_ver != 0x00010000) {
- bt_dev_err(hdev, "Invalid CSS Header version");
+ if (css_header_ver != BTINTEL_RSA_HEADER_VER &&
+ css_header_ver != BTINTEL_HYBRID_HEADER_VER) {
+ bt_dev_err(hdev, "Invalid CSS Header version: 0x%8.8x", css_header_ver);
return -EINVAL;
}
@@ -1220,15 +1276,15 @@ static int btintel_download_fw_tlv(struct hci_dev *hdev,
err = btintel_download_firmware_payload(hdev, fw, RSA_HEADER_LEN);
if (err)
return err;
- } else if (hw_variant >= 0x17) {
+ } else if (hw_variant >= 0x17 && css_header_ver == BTINTEL_RSA_HEADER_VER) {
/* Check if CSS header for ECDSA follows the RSA header */
if (fw->data[ECDSA_OFFSET] != 0x06)
return -EINVAL;
/* Check if the CSS Header version is ECDSA(0x00020000) */
css_header_ver = get_unaligned_le32(fw->data + ECDSA_OFFSET + CSS_HEADER_OFFSET);
- if (css_header_ver != 0x00020000) {
- bt_dev_err(hdev, "Invalid CSS Header version");
+ if (css_header_ver != BTINTEL_ECDSA_HEADER_VER) {
+ bt_dev_err(hdev, "Invalid CSS Header version: 0x%8.8x", css_header_ver);
return -EINVAL;
}
@@ -1251,6 +1307,14 @@ static int btintel_download_fw_tlv(struct hci_dev *hdev,
if (err)
return err;
}
+ } else if (hw_variant >= 0x20 && css_header_ver == BTINTEL_HYBRID_HEADER_VER) {
+ err = btintel_sfi_hybrid_header_secure_send(hdev, fw);
+ if (err)
+ return err;
+
+ err = btintel_download_firmware_payload(hdev, fw, BTINTEL_CMD_BUFFER_OFFSET);
+ if (err)
+ return err;
}
return 0;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 2/9] Bluetooth: btintel: Replace CNVi id with hardware variant
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
@ 2026-02-28 9:12 ` Kiran K
2026-02-28 9:12 ` [PATCH v3 3/9] Bluetooth: btintel: Add support for Scorpious Peak2 support Kiran K
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
Use hardware variant instead of CNVi to send dsbr command.
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel.c | 18 +++++++++---------
drivers/bluetooth/btintel.h | 7 +++++++
2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index 5999be2efef8..2547b590f87a 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2813,31 +2813,31 @@ static int btintel_set_dsbr(struct hci_dev *hdev, struct intel_version_tlv *ver)
struct btintel_dsbr_cmd cmd;
struct sk_buff *skb;
- u32 dsbr, cnvi;
- u8 status;
+ u32 dsbr;
+ u8 status, hw_variant;
int err;
- cnvi = ver->cnvi_top & 0xfff;
+ hw_variant = INTEL_HW_VARIANT(ver->cnvi_bt);
/* DSBR command needs to be sent for,
* 1. BlazarI or BlazarIW + B0 step product in IML image.
* 2. Gale Peak2 or BlazarU in OP image.
* 3. Scorpious Peak in IML image.
*/
- switch (cnvi) {
- case BTINTEL_CNVI_BLAZARI:
- case BTINTEL_CNVI_BLAZARIW:
+ switch (hw_variant) {
+ case BTINTEL_HWID_BZRI:
+ case BTINTEL_HWID_BZRIW:
if (ver->img_type == BTINTEL_IMG_IML &&
INTEL_CNVX_TOP_STEP(ver->cnvi_top) == 0x01)
break;
return 0;
- case BTINTEL_CNVI_GAP:
- case BTINTEL_CNVI_BLAZARU:
+ case BTINTEL_HWID_GAP:
+ case BTINTEL_HWID_BZRU:
if (ver->img_type == BTINTEL_IMG_OP &&
hdev->bus == HCI_USB)
break;
return 0;
- case BTINTEL_CNVI_SCP:
+ case BTINTEL_HWID_SCP:
if (ver->img_type == BTINTEL_IMG_IML)
break;
return 0;
diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h
index 431998049e68..b7ff183f8886 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -69,6 +69,13 @@ struct intel_tlv {
#define BTINTEL_FWID_MAXLEN 64
+/* CNVi Hardware variant */
+#define BTINTEL_HWID_GAP 0x1c /* Gale Peak2 - Meteor Lake */
+#define BTINTEL_HWID_BZRI 0x1e /* BlazarI - Lunar Lake */
+#define BTINTEL_HWID_BZRU 0x1d /* BlazarU - Meteor Lake */
+#define BTINTEL_HWID_SCP 0x1f /* Scorpius Peak - Panther Lake */
+#define BTINTEL_HWID_BZRIW 0x22 /* BlazarIW - Wildcat Lake */
+
struct intel_version_tlv {
u32 cnvi_top;
u32 cnvr_top;
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 3/9] Bluetooth: btintel: Add support for Scorpious Peak2 support
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
2026-02-28 9:12 ` [PATCH v3 2/9] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
@ 2026-02-28 9:12 ` Kiran K
2026-02-28 9:12 ` [PATCH v3 4/9] Bluetooth: btintel: Add DSBR support for ScP2 onwards Kiran K
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
Add support for Intel Bluetooth Scorpious Peak2 core.
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel.c | 3 +++
drivers/bluetooth/btintel_pcie.c | 1 +
2 files changed, 4 insertions(+)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index 2547b590f87a..26aa8ea7d33e 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -497,6 +497,7 @@ int btintel_version_info_tlv(struct hci_dev *hdev,
case 0x1d: /* BlazarU (BzrU) */
case 0x1e: /* BlazarI (Bzr) */
case 0x1f: /* Scorpious Peak */
+ case 0x20: /* Scorpious Peak2 */
case 0x22: /* BlazarIW (BzrIW) */
break;
default:
@@ -3318,6 +3319,7 @@ void btintel_set_msft_opcode(struct hci_dev *hdev, u8 hw_variant)
case 0x1d:
case 0x1e:
case 0x1f:
+ case 0x20:
case 0x22:
hci_set_msft_opcode(hdev, 0xFC1E);
break;
@@ -3659,6 +3661,7 @@ static int btintel_setup_combined(struct hci_dev *hdev)
case 0x1d:
case 0x1e:
case 0x1f:
+ case 0x20:
case 0x22:
/* Display version information of TLV type */
btintel_version_info_tlv(hdev, &ver_tlv);
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 5442a6af5cca..308482d0c581 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -2100,6 +2100,7 @@ static int btintel_pcie_setup_internal(struct hci_dev *hdev)
switch (INTEL_HW_VARIANT(ver_tlv.cnvi_bt)) {
case 0x1e: /* BzrI */
case 0x1f: /* ScP */
+ case 0x20: /* ScP2 */
case 0x22: /* BzrIW */
/* Display version information of TLV type */
btintel_version_info_tlv(hdev, &ver_tlv);
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 4/9] Bluetooth: btintel: Add DSBR support for ScP2 onwards
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
2026-02-28 9:12 ` [PATCH v3 2/9] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
2026-02-28 9:12 ` [PATCH v3 3/9] Bluetooth: btintel: Add support for Scorpious Peak2 support Kiran K
@ 2026-02-28 9:12 ` Kiran K
2026-02-28 9:12 ` [PATCH v3 5/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2 Kiran K
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
Add DSBR support for Scorpious Peak2 cores onwards.
Refer commit eb9e749c0182 ("Bluetooth: btintel: Allow configuring drive
strength of BRI") for details about DSBR.
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel.c | 5 +++++
drivers/bluetooth/btintel.h | 1 +
2 files changed, 6 insertions(+)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index 26aa8ea7d33e..b3cbb61065d1 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2823,6 +2823,7 @@ static int btintel_set_dsbr(struct hci_dev *hdev, struct intel_version_tlv *ver)
* 1. BlazarI or BlazarIW + B0 step product in IML image.
* 2. Gale Peak2 or BlazarU in OP image.
* 3. Scorpious Peak in IML image.
+ * 4. Scorpious Peak2 onwards + PCIe transport in IML image.
*/
switch (hw_variant) {
@@ -2843,6 +2844,10 @@ static int btintel_set_dsbr(struct hci_dev *hdev, struct intel_version_tlv *ver)
break;
return 0;
default:
+ /* Scorpius Peak2 onwards */
+ if (hw_variant >= BTINTEL_HWID_SCP2 && hdev->bus == HCI_PCI
+ && ver->img_type == BTINTEL_IMG_IML)
+ break;
return 0;
}
diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h
index b7ff183f8886..f16f852b83b8 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -74,6 +74,7 @@ struct intel_tlv {
#define BTINTEL_HWID_BZRI 0x1e /* BlazarI - Lunar Lake */
#define BTINTEL_HWID_BZRU 0x1d /* BlazarU - Meteor Lake */
#define BTINTEL_HWID_SCP 0x1f /* Scorpius Peak - Panther Lake */
+#define BTINTEL_HWID_SCP2 0x20 /* Scorpius Peak2 - Nova Lake */
#define BTINTEL_HWID_BZRIW 0x22 /* BlazarIW - Wildcat Lake */
struct intel_version_tlv {
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 5/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (2 preceding siblings ...)
2026-02-28 9:12 ` [PATCH v3 4/9] Bluetooth: btintel: Add DSBR support for ScP2 onwards Kiran K
@ 2026-02-28 9:12 ` Kiran K
2026-02-28 9:12 ` [PATCH v3 6/9] Bluetooth: btintel: Add support for Scorpious Peak2F support Kiran K
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
Add device coredump support for Scorpious Peak2 product.
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel.h | 11 ++++++-----
drivers/bluetooth/btintel_pcie.c | 7 +++++++
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 308482d0c581..83b09a63eae1 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;
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 6/9] Bluetooth: btintel: Add support for Scorpious Peak2F support
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (3 preceding siblings ...)
2026-02-28 9:12 ` [PATCH v3 5/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2 Kiran K
@ 2026-02-28 9:12 ` Kiran K
2026-02-28 9:12 ` [PATCH v3 7/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2F Kiran K
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
Add support for Intel Bluetooth Scorpious Peak2F core.
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel.c | 3 +++
drivers/bluetooth/btintel_pcie.c | 1 +
2 files changed, 4 insertions(+)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index b3cbb61065d1..b6dd3ab830c7 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -498,6 +498,7 @@ int btintel_version_info_tlv(struct hci_dev *hdev,
case 0x1e: /* BlazarI (Bzr) */
case 0x1f: /* Scorpious Peak */
case 0x20: /* Scorpious Peak2 */
+ case 0x21: /* Scorpious Peak2 F */
case 0x22: /* BlazarIW (BzrIW) */
break;
default:
@@ -3325,6 +3326,7 @@ void btintel_set_msft_opcode(struct hci_dev *hdev, u8 hw_variant)
case 0x1e:
case 0x1f:
case 0x20:
+ case 0x21:
case 0x22:
hci_set_msft_opcode(hdev, 0xFC1E);
break;
@@ -3667,6 +3669,7 @@ static int btintel_setup_combined(struct hci_dev *hdev)
case 0x1e:
case 0x1f:
case 0x20:
+ case 0x21:
case 0x22:
/* Display version information of TLV type */
btintel_version_info_tlv(hdev, &ver_tlv);
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 83b09a63eae1..5f281403bcfa 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -2108,6 +2108,7 @@ static int btintel_pcie_setup_internal(struct hci_dev *hdev)
case 0x1e: /* BzrI */
case 0x1f: /* ScP */
case 0x20: /* ScP2 */
+ case 0x21: /* ScP2 F */
case 0x22: /* BzrIW */
/* Display version information of TLV type */
btintel_version_info_tlv(hdev, &ver_tlv);
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 7/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2F
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (4 preceding siblings ...)
2026-02-28 9:12 ` [PATCH v3 6/9] Bluetooth: btintel: Add support for Scorpious Peak2F support Kiran K
@ 2026-02-28 9:12 ` Kiran K
2026-02-28 9:12 ` [PATCH v3 8/9] Bluetooth: btintel_pcie: Add device id of Scorpius Peak2, Nova Lake-PCD-H Kiran K
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
Add device coredump support for Scorpious Peak2F product.
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel.h | 1 +
drivers/bluetooth/btintel_pcie.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h
index b5c00be8277a..0e9ca99aaaae 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -60,6 +60,7 @@ struct intel_tlv {
#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 */
+#define BTINTEL_CNVI_SCP2F 0xA20 /* Scorpius Peak2F - Nova Lake */
/* CNVR */
#define BTINTEL_CNVR_FMP2 0x910
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 5f281403bcfa..058ccb328112 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -1235,6 +1235,7 @@ static void btintel_pcie_read_hwexp(struct btintel_pcie_data *data)
addr = BTINTEL_PCIE_SCP_HWEXP_DMP_ADDR;
break;
case BTINTEL_CNVI_SCP2:
+ case BTINTEL_CNVI_SCP2F:
len = BTINTEL_PCIE_SCP2_HWEXP_SIZE;
addr = BTINTEL_PCIE_SCP2_HWEXP_DMP_ADDR;
break;
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 8/9] Bluetooth: btintel_pcie: Add device id of Scorpius Peak2, Nova Lake-PCD-H
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (5 preceding siblings ...)
2026-02-28 9:12 ` [PATCH v3 7/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2F Kiran K
@ 2026-02-28 9:12 ` Kiran K
2026-02-28 9:12 ` [PATCH v3 9/9] Bluetooth: btintel_pcie: Add device id of Scorpious2, Nova Lake-PCD-S Kiran K
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
sudo lspci -v -k -d 8086:d346
00:14.7 Bluetooth: Intel Corporation Device d346
Subsystem: Intel Corporation Device 0011
Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 14
Memory at b018378000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] MSI-X: Enable+ Count=32 Masked-
Capabilities: [100] Latency Tolerance Reporting
Kernel driver in use: btintel_pcie
Kernel modules: btintel_pcie
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel_pcie.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 058ccb328112..7aef219770e5 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -47,6 +47,8 @@ static const struct pci_device_id btintel_pcie_table[] = {
{ BTINTEL_PCI_DEVICE(0xE376, PCI_ANY_ID) },
/* Scorpious, Panther Lake-H404 */
{ BTINTEL_PCI_DEVICE(0xE476, PCI_ANY_ID) },
+ /* Scorpious2, Nova Lake-PCD-H */
+ { BTINTEL_PCI_DEVICE(0xD346, PCI_ANY_ID) },
{ 0 }
};
MODULE_DEVICE_TABLE(pci, btintel_pcie_table);
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v3 9/9] Bluetooth: btintel_pcie: Add device id of Scorpious2, Nova Lake-PCD-S
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (6 preceding siblings ...)
2026-02-28 9:12 ` [PATCH v3 8/9] Bluetooth: btintel_pcie: Add device id of Scorpius Peak2, Nova Lake-PCD-H Kiran K
@ 2026-02-28 9:12 ` Kiran K
2026-02-28 9:44 ` [v3,1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards bluez.test.bot
2026-03-02 20:30 ` [PATCH v3 1/9] " patchwork-bot+bluetooth
9 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-28 9:12 UTC (permalink / raw)
To: linux-bluetooth
Cc: ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan, Kiran K
sudo lspci -v -k -d 8086:6e74
80:14.7 Bluetooth: Intel Corporation Device 6e74 (rev 10)
Subsystem: Intel Corporation Device 0011
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at 200002a8000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] MSI-X: Enable+ Count=32 Masked-
Capabilities: [100] Latency Tolerance Reporting
Kernel driver in use: btintel_pcie
Kernel modules: btintel_pcie
Signed-off-by: Kiran K <kiran.k@intel.com>
---
drivers/bluetooth/btintel_pcie.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 7aef219770e5..943e5704f5e4 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -49,6 +49,8 @@ static const struct pci_device_id btintel_pcie_table[] = {
{ BTINTEL_PCI_DEVICE(0xE476, PCI_ANY_ID) },
/* Scorpious2, Nova Lake-PCD-H */
{ BTINTEL_PCI_DEVICE(0xD346, PCI_ANY_ID) },
+ /* Scorpious2, Nova Lake-PCD-S */
+ { BTINTEL_PCI_DEVICE(0x6E74, PCI_ANY_ID) },
{ 0 }
};
MODULE_DEVICE_TABLE(pci, btintel_pcie_table);
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* RE: [v3,1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (7 preceding siblings ...)
2026-02-28 9:12 ` [PATCH v3 9/9] Bluetooth: btintel_pcie: Add device id of Scorpious2, Nova Lake-PCD-S Kiran K
@ 2026-02-28 9:44 ` bluez.test.bot
2026-03-02 20:30 ` [PATCH v3 1/9] " patchwork-bot+bluetooth
9 siblings, 0 replies; 11+ messages in thread
From: bluez.test.bot @ 2026-02-28 9:44 UTC (permalink / raw)
To: linux-bluetooth, kiran.k
[-- Attachment #1: Type: text/plain, Size: 6020 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1059383
---Test result---
Test Summary:
CheckPatch PENDING 0.27 seconds
GitLint PENDING 0.20 seconds
SubjectPrefix PASS 1.10 seconds
BuildKernel PASS 26.36 seconds
CheckAllWarning PASS 28.75 seconds
CheckSparse WARNING 33.57 seconds
BuildKernel32 PASS 25.51 seconds
TestRunnerSetup PASS 564.20 seconds
TestRunner_l2cap-tester FAIL 32.72 seconds
TestRunner_iso-tester PASS 109.99 seconds
TestRunner_bnep-tester PASS 6.52 seconds
TestRunner_mgmt-tester FAIL 127.78 seconds
TestRunner_rfcomm-tester PASS 9.70 seconds
TestRunner_sco-tester FAIL 14.62 seconds
TestRunner_ioctl-tester PASS 10.45 seconds
TestRunner_mesh-tester FAIL 12.45 seconds
TestRunner_smp-tester PASS 8.88 seconds
TestRunner_userchan-tester PASS 6.87 seconds
IncrementalBuild PENDING 0.45 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: CheckSparse - WARNING
Desc: Run sparse tool with linux kernel
Output:
drivers/bluetooth/btintel.c:3867:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3868:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3869:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3871:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3872:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3873:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3874:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3867:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3868:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3869:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3871:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3872:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3873:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3874:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3867:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3868:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3869:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3871:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3872:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3873:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3874:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3867:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3868:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3869:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3871:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3872:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3873:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3874:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3867:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3868:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3869:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3870:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3871:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3872:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3873:1: error: bad constant expressiondrivers/bluetooth/btintel.c:3874:1: error: bad constant expression
##############################
Test: TestRunner_l2cap-tester - FAIL
Desc: Run l2cap-tester with test-runner
Output:
Total: 96, Passed: 94 (97.9%), Failed: 2, Not Run: 0
Failed Test Cases
L2CAP LE Client - Read 32k Success Timed out 2.232 seconds
L2CAP LE Client - RX Timestamping 32k Timed out 1.877 seconds
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 494, Passed: 489 (99.0%), Failed: 1, Not Run: 4
Failed Test Cases
Read Exp Feature - Success Failed 0.107 seconds
##############################
Test: TestRunner_sco-tester - FAIL
Desc: Run sco-tester with test-runner
Output:
WARNING: possible circular locking dependency detected
BUG: sleeping function called from invalid context at net/core/sock.c:3782
Total: 30, Passed: 30 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0
Failed Test Cases
Mesh - Send cancel - 1 Timed out 2.725 seconds
Mesh - Send cancel - 2 Timed out 1.998 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (8 preceding siblings ...)
2026-02-28 9:44 ` [v3,1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards bluez.test.bot
@ 2026-03-02 20:30 ` patchwork-bot+bluetooth
9 siblings, 0 replies; 11+ messages in thread
From: patchwork-bot+bluetooth @ 2026-03-02 20:30 UTC (permalink / raw)
To: Kiran K
Cc: linux-bluetooth, ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan
Hello:
This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Sat, 28 Feb 2026 14:42:31 +0530 you wrote:
> If FW image has hybrid signature (ECDSA and LMS) then send CSS header,
> ECDSA public key, ECDSA signature, LMS public key, LMS signature and
> command buffer to device.
>
> Signed-off-by: Kiran K <kiran.k@intel.com>
> ---
> drivers/bluetooth/btintel.c | 80 +++++++++++++++++++++++++++++++++----
> 1 file changed, 72 insertions(+), 8 deletions(-)
Here is the summary with links:
- [v3,1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards
https://git.kernel.org/bluetooth/bluetooth-next/c/806c3369febe
- [v3,2/9] Bluetooth: btintel: Replace CNVi id with hardware variant
https://git.kernel.org/bluetooth/bluetooth-next/c/48afb18d3d40
- [v3,3/9] Bluetooth: btintel: Add support for Scorpious Peak2 support
https://git.kernel.org/bluetooth/bluetooth-next/c/444b6f088fd5
- [v3,4/9] Bluetooth: btintel: Add DSBR support for ScP2 onwards
https://git.kernel.org/bluetooth/bluetooth-next/c/bc83e129f7fc
- [v3,5/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2
https://git.kernel.org/bluetooth/bluetooth-next/c/4aa6235a0fc7
- [v3,6/9] Bluetooth: btintel: Add support for Scorpious Peak2F support
https://git.kernel.org/bluetooth/bluetooth-next/c/1beeb9ac1e2f
- [v3,7/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2F
https://git.kernel.org/bluetooth/bluetooth-next/c/f91e668aaa9f
- [v3,8/9] Bluetooth: btintel_pcie: Add device id of Scorpius Peak2, Nova Lake-PCD-H
https://git.kernel.org/bluetooth/bluetooth-next/c/e297775d002c
- [v3,9/9] Bluetooth: btintel_pcie: Add device id of Scorpious2, Nova Lake-PCD-S
https://git.kernel.org/bluetooth/bluetooth-next/c/ff4941388c7e
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-03-02 20:30 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-28 9:12 [PATCH v3 1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
2026-02-28 9:12 ` [PATCH v3 2/9] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
2026-02-28 9:12 ` [PATCH v3 3/9] Bluetooth: btintel: Add support for Scorpious Peak2 support Kiran K
2026-02-28 9:12 ` [PATCH v3 4/9] Bluetooth: btintel: Add DSBR support for ScP2 onwards Kiran K
2026-02-28 9:12 ` [PATCH v3 5/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2 Kiran K
2026-02-28 9:12 ` [PATCH v3 6/9] Bluetooth: btintel: Add support for Scorpious Peak2F support Kiran K
2026-02-28 9:12 ` [PATCH v3 7/9] Bluetooth: btintel_pcie: Add support for exception dump for ScP2F Kiran K
2026-02-28 9:12 ` [PATCH v3 8/9] Bluetooth: btintel_pcie: Add device id of Scorpius Peak2, Nova Lake-PCD-H Kiran K
2026-02-28 9:12 ` [PATCH v3 9/9] Bluetooth: btintel_pcie: Add device id of Scorpious2, Nova Lake-PCD-S Kiran K
2026-02-28 9:44 ` [v3,1/9] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards bluez.test.bot
2026-03-02 20:30 ` [PATCH v3 1/9] " patchwork-bot+bluetooth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox