public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* 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

* 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

* [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

* [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: [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

* 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

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