* [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards
@ 2026-02-23 17:20 Kiran K
2026-02-23 17:20 ` [PATCH v1 2/7] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: Kiran K @ 2026-02-23 17:20 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 v1 2/7] Bluetooth: btintel: Replace CNVi id with hardware variant
2026-02-23 17:20 [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
@ 2026-02-23 17:20 ` Kiran K
2026-02-23 17:09 ` Luiz Augusto von Dentz
2026-02-23 17:20 ` [PATCH v1 3/7] Bluetooth: btintel: Add support for Scorpious Peak2 support Kiran K
` (5 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Kiran K @ 2026-02-23 17:20 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..21c9a6c9eb9e 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -69,6 +69,13 @@ struct intel_tlv {
#define BTINTEL_FWID_MAXLEN 64
+/* Hardware ID */
+#define BTINTEL_HWID_GAP 0x1c
+#define BTINTEL_HWID_BZRI 0x1e
+#define BTINTEL_HWID_BZRU 0x1d
+#define BTINTEL_HWID_SCP 0x1f
+#define BTINTEL_HWID_BZRIW 0x22
+
struct intel_version_tlv {
u32 cnvi_top;
u32 cnvr_top;
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH v1 2/7] Bluetooth: btintel: Replace CNVi id with hardware variant
2026-02-23 17:20 ` [PATCH v1 2/7] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
@ 2026-02-23 17:09 ` Luiz Augusto von Dentz
0 siblings, 0 replies; 11+ messages in thread
From: Luiz Augusto von Dentz @ 2026-02-23 17:09 UTC (permalink / raw)
To: Kiran K
Cc: linux-bluetooth, ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan
Hi Kiran,
On Mon, Feb 23, 2026 at 12:05 PM Kiran K <kiran.k@intel.com> wrote:
>
> Use hardware variant instead of CNVi to send dsbr command.
I guess by this you mean to say that is what the firmware expects, right?
>
> 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..21c9a6c9eb9e 100644
> --- a/drivers/bluetooth/btintel.h
> +++ b/drivers/bluetooth/btintel.h
> @@ -69,6 +69,13 @@ struct intel_tlv {
>
> #define BTINTEL_FWID_MAXLEN 64
>
> +/* Hardware ID */
> +#define BTINTEL_HWID_GAP 0x1c
> +#define BTINTEL_HWID_BZRI 0x1e
> +#define BTINTEL_HWID_BZRU 0x1d
> +#define BTINTEL_HWID_SCP 0x1f
> +#define BTINTEL_HWID_BZRIW 0x22
> +
> struct intel_version_tlv {
> u32 cnvi_top;
> u32 cnvr_top;
> --
> 2.43.0
>
>
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v1 3/7] Bluetooth: btintel: Add support for Scorpious Peak2 support
2026-02-23 17:20 [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
2026-02-23 17:20 ` [PATCH v1 2/7] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
@ 2026-02-23 17:20 ` Kiran K
2026-02-23 17:21 ` [PATCH v1 4/7] Bluetooth: btintel: Add DSBR support for ScP2 onwards Kiran K
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-23 17:20 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 1a35cbabcc07..19abffca209f 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -2099,6 +2099,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 v1 4/7] Bluetooth: btintel: Add DSBR support for ScP2 onwards
2026-02-23 17:20 [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
2026-02-23 17:20 ` [PATCH v1 2/7] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
2026-02-23 17:20 ` [PATCH v1 3/7] Bluetooth: btintel: Add support for Scorpious Peak2 support Kiran K
@ 2026-02-23 17:21 ` Kiran K
2026-02-23 17:21 ` [PATCH v1 5/7] btintel_pcie: Add support for exception dump for ScP2 Kiran K
` (3 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-23 17:21 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 21c9a6c9eb9e..1d9dde3c7874 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -74,6 +74,7 @@ struct intel_tlv {
#define BTINTEL_HWID_BZRI 0x1e
#define BTINTEL_HWID_BZRU 0x1d
#define BTINTEL_HWID_SCP 0x1f
+#define BTINTEL_HWID_SCP2 0x20
#define BTINTEL_HWID_BZRIW 0x22
struct intel_version_tlv {
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH v1 5/7] btintel_pcie: Add support for exception dump for ScP2
2026-02-23 17:20 [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (2 preceding siblings ...)
2026-02-23 17:21 ` [PATCH v1 4/7] Bluetooth: btintel: Add DSBR support for ScP2 onwards Kiran K
@ 2026-02-23 17:21 ` Kiran K
2026-02-23 17:21 ` [PATCH v1 6/7] Bluetooth: btintel: Add support for Scorpious Peak2F support Kiran K
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-23 17:21 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 | 1 +
drivers/bluetooth/btintel_pcie.c | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h
index 1d9dde3c7874..bef7ea84b1e4 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -59,6 +59,7 @@ struct intel_tlv {
#define BTINTEL_CNVI_GAP 0x910
#define BTINTEL_CNVI_BLAZARU 0x930
#define BTINTEL_CNVI_SCP 0xA00
+#define BTINTEL_CNVI_SCP2 0xA10
/* CNVR */
#define BTINTEL_CNVR_FMP2 0x910
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index 19abffca209f..bf71817b1cc6 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -73,6 +73,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
@@ -1230,6 +1233,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 v1 6/7] Bluetooth: btintel: Add support for Scorpious Peak2F support
2026-02-23 17:20 [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (3 preceding siblings ...)
2026-02-23 17:21 ` [PATCH v1 5/7] btintel_pcie: Add support for exception dump for ScP2 Kiran K
@ 2026-02-23 17:21 ` Kiran K
2026-02-23 17:21 ` [PATCH v1 7/7] btintel_pcie: Add support for exception dump for ScP2F Kiran K
2026-02-23 17:59 ` [v1,1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards bluez.test.bot
6 siblings, 0 replies; 11+ messages in thread
From: Kiran K @ 2026-02-23 17:21 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 bf71817b1cc6..d0cabf4df7c0 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -2107,6 +2107,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 v1 7/7] btintel_pcie: Add support for exception dump for ScP2F
2026-02-23 17:20 [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (4 preceding siblings ...)
2026-02-23 17:21 ` [PATCH v1 6/7] Bluetooth: btintel: Add support for Scorpious Peak2F support Kiran K
@ 2026-02-23 17:21 ` Kiran K
2026-02-23 17:15 ` Luiz Augusto von Dentz
2026-02-23 17:59 ` [v1,1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards bluez.test.bot
6 siblings, 1 reply; 11+ messages in thread
From: Kiran K @ 2026-02-23 17:21 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 bef7ea84b1e4..b5e7f0aafb4c 100644
--- a/drivers/bluetooth/btintel.h
+++ b/drivers/bluetooth/btintel.h
@@ -60,6 +60,7 @@ struct intel_tlv {
#define BTINTEL_CNVI_BLAZARU 0x930
#define BTINTEL_CNVI_SCP 0xA00
#define BTINTEL_CNVI_SCP2 0xA10
+#define BTINTEL_CNVI_SCP2F 0xA20
/* CNVR */
#define BTINTEL_CNVR_FMP2 0x910
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
index d0cabf4df7c0..d903460bea76 100644
--- a/drivers/bluetooth/btintel_pcie.c
+++ b/drivers/bluetooth/btintel_pcie.c
@@ -1234,6 +1234,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* Re: [PATCH v1 7/7] btintel_pcie: Add support for exception dump for ScP2F
2026-02-23 17:21 ` [PATCH v1 7/7] btintel_pcie: Add support for exception dump for ScP2F Kiran K
@ 2026-02-23 17:15 ` Luiz Augusto von Dentz
2026-02-24 14:26 ` K, Kiran
0 siblings, 1 reply; 11+ messages in thread
From: Luiz Augusto von Dentz @ 2026-02-23 17:15 UTC (permalink / raw)
To: Kiran K
Cc: linux-bluetooth, ravishankar.srivatsa, chandrashekar.devegowda,
chethan.tumkur.narayan
Hi Kiran,
On Mon, Feb 23, 2026 at 12:02 PM Kiran K <kiran.k@intel.com> wrote:
>
> 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 bef7ea84b1e4..b5e7f0aafb4c 100644
> --- a/drivers/bluetooth/btintel.h
> +++ b/drivers/bluetooth/btintel.h
> @@ -60,6 +60,7 @@ struct intel_tlv {
> #define BTINTEL_CNVI_BLAZARU 0x930
> #define BTINTEL_CNVI_SCP 0xA00
> #define BTINTEL_CNVI_SCP2 0xA10
> +#define BTINTEL_CNVI_SCP2F 0xA20
Let's document these definitions with Marketing Product Name/Platform
Name e.g. /* BE2XX/Panther Lake */ to make correlation easier.
>
> /* CNVR */
> #define BTINTEL_CNVR_FMP2 0x910
> diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c
> index d0cabf4df7c0..d903460bea76 100644
> --- a/drivers/bluetooth/btintel_pcie.c
> +++ b/drivers/bluetooth/btintel_pcie.c
> @@ -1234,6 +1234,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
>
>
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 11+ messages in thread* RE: [PATCH v1 7/7] btintel_pcie: Add support for exception dump for ScP2F
2026-02-23 17:15 ` Luiz Augusto von Dentz
@ 2026-02-24 14:26 ` K, Kiran
0 siblings, 0 replies; 11+ messages in thread
From: K, Kiran @ 2026-02-24 14:26 UTC (permalink / raw)
To: Luiz Augusto von Dentz
Cc: linux-bluetooth@vger.kernel.org, Srivatsa, Ravishankar,
Devegowda, Chandrashekar, Tumkur Narayan, Chethan
Hi Luiz,
Thanks for the comments.
>Subject: Re: [PATCH v1 7/7] btintel_pcie: Add support for exception dump for
>ScP2F
>
>Hi Kiran,
>
>On Mon, Feb 23, 2026 at 12:02 PM Kiran K <kiran.k@intel.com> wrote:
>>
>> 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 bef7ea84b1e4..b5e7f0aafb4c 100644
>> --- a/drivers/bluetooth/btintel.h
>> +++ b/drivers/bluetooth/btintel.h
>> @@ -60,6 +60,7 @@ struct intel_tlv {
>> #define BTINTEL_CNVI_BLAZARU 0x930
>> #define BTINTEL_CNVI_SCP 0xA00
>> #define BTINTEL_CNVI_SCP2 0xA10
>> +#define BTINTEL_CNVI_SCP2F 0xA20
>
>Let's document these definitions with Marketing Product Name/Platform Name
>e.g. /* BE2XX/Panther Lake */ to make correlation easier.
Ack.
>
>>
>> /* CNVR */
>> #define BTINTEL_CNVR_FMP2 0x910
>> diff --git a/drivers/bluetooth/btintel_pcie.c
>> b/drivers/bluetooth/btintel_pcie.c
>> index d0cabf4df7c0..d903460bea76 100644
>> --- a/drivers/bluetooth/btintel_pcie.c
>> +++ b/drivers/bluetooth/btintel_pcie.c
>> @@ -1234,6 +1234,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
>>
>>
>
>
>--
>Luiz Augusto von Dentz
Regards,
Kiran
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [v1,1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards
2026-02-23 17:20 [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
` (5 preceding siblings ...)
2026-02-23 17:21 ` [PATCH v1 7/7] btintel_pcie: Add support for exception dump for ScP2F Kiran K
@ 2026-02-23 17:59 ` bluez.test.bot
6 siblings, 0 replies; 11+ messages in thread
From: bluez.test.bot @ 2026-02-23 17:59 UTC (permalink / raw)
To: linux-bluetooth, kiran.k
[-- Attachment #1: Type: text/plain, Size: 5891 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=1056669
---Test result---
Test Summary:
CheckPatch PENDING 0.30 seconds
GitLint PENDING 0.31 seconds
SubjectPrefix FAIL 1.15 seconds
BuildKernel PASS 25.84 seconds
CheckAllWarning PASS 28.09 seconds
CheckSparse WARNING 32.17 seconds
BuildKernel32 PASS 25.02 seconds
TestRunnerSetup PASS 557.32 seconds
TestRunner_l2cap-tester PASS 28.20 seconds
TestRunner_iso-tester PASS 93.80 seconds
TestRunner_bnep-tester PASS 6.36 seconds
TestRunner_mgmt-tester FAIL 116.46 seconds
TestRunner_rfcomm-tester PASS 9.44 seconds
TestRunner_sco-tester FAIL 14.51 seconds
TestRunner_ioctl-tester PASS 10.30 seconds
TestRunner_mesh-tester FAIL 12.44 seconds
TestRunner_smp-tester PASS 8.57 seconds
TestRunner_userchan-tester PASS 6.69 seconds
IncrementalBuild PENDING 0.82 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
"Bluetooth: " prefix is not specified in the subject
##############################
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_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.104 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.739 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
end of thread, other threads:[~2026-02-24 14:26 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-23 17:20 [PATCH v1 1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards Kiran K
2026-02-23 17:20 ` [PATCH v1 2/7] Bluetooth: btintel: Replace CNVi id with hardware variant Kiran K
2026-02-23 17:09 ` Luiz Augusto von Dentz
2026-02-23 17:20 ` [PATCH v1 3/7] Bluetooth: btintel: Add support for Scorpious Peak2 support Kiran K
2026-02-23 17:21 ` [PATCH v1 4/7] Bluetooth: btintel: Add DSBR support for ScP2 onwards Kiran K
2026-02-23 17:21 ` [PATCH v1 5/7] btintel_pcie: Add support for exception dump for ScP2 Kiran K
2026-02-23 17:21 ` [PATCH v1 6/7] Bluetooth: btintel: Add support for Scorpious Peak2F support Kiran K
2026-02-23 17:21 ` [PATCH v1 7/7] btintel_pcie: Add support for exception dump for ScP2F Kiran K
2026-02-23 17:15 ` Luiz Augusto von Dentz
2026-02-24 14:26 ` K, Kiran
2026-02-23 17:59 ` [v1,1/7] Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards bluez.test.bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox