mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
Bluetooth: btintel: Add DSBR support for BlazarIW, BlazarU and GaP
Add DSBR support for BlazarIW, BlazarU and Gale Peak2 cores.
Refer commit eb9e749c01 ("Bluetooth: btintel: Allow configuring drive
strength of BRI") for details about DSBR.
Signed-off-by: Kiran K <kiran.k@intel.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
committed by
Luiz Augusto von Dentz
parent
6d83d955f6
commit
d88a8bb8bb
@@ -2747,20 +2747,32 @@ static int btintel_set_dsbr(struct hci_dev *hdev, struct intel_version_tlv *ver)
|
|||||||
|
|
||||||
struct btintel_dsbr_cmd cmd;
|
struct btintel_dsbr_cmd cmd;
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
|
u32 dsbr, cnvi;
|
||||||
u8 status;
|
u8 status;
|
||||||
u32 dsbr;
|
|
||||||
bool apply_dsbr;
|
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
/* DSBR command needs to be sent for BlazarI + B0 step product after
|
cnvi = ver->cnvi_top & 0xfff;
|
||||||
* downloading IML image.
|
/* 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.
|
||||||
*/
|
*/
|
||||||
apply_dsbr = (ver->img_type == BTINTEL_IMG_IML &&
|
|
||||||
((ver->cnvi_top & 0xfff) == BTINTEL_CNVI_BLAZARI) &&
|
|
||||||
INTEL_CNVX_TOP_STEP(ver->cnvi_top) == 0x01);
|
|
||||||
|
|
||||||
if (!apply_dsbr)
|
switch (cnvi) {
|
||||||
|
case BTINTEL_CNVI_BLAZARI:
|
||||||
|
case BTINTEL_CNVI_BLAZARIW:
|
||||||
|
if (ver->img_type == BTINTEL_IMG_IML &&
|
||||||
|
INTEL_CNVX_TOP_STEP(ver->cnvi_top) == 0x01)
|
||||||
|
break;
|
||||||
return 0;
|
return 0;
|
||||||
|
case BTINTEL_CNVI_GAP:
|
||||||
|
case BTINTEL_CNVI_BLAZARU:
|
||||||
|
if (ver->img_type == BTINTEL_IMG_OP &&
|
||||||
|
hdev->bus == HCI_USB)
|
||||||
|
break;
|
||||||
|
return 0;
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
dsbr = 0;
|
dsbr = 0;
|
||||||
err = btintel_uefi_get_dsbr(&dsbr);
|
err = btintel_uefi_get_dsbr(&dsbr);
|
||||||
|
|||||||
@@ -53,6 +53,9 @@ struct intel_tlv {
|
|||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
#define BTINTEL_CNVI_BLAZARI 0x900
|
#define BTINTEL_CNVI_BLAZARI 0x900
|
||||||
|
#define BTINTEL_CNVI_BLAZARIW 0x901
|
||||||
|
#define BTINTEL_CNVI_GAP 0x910
|
||||||
|
#define BTINTEL_CNVI_BLAZARU 0x930
|
||||||
|
|
||||||
#define BTINTEL_IMG_BOOTLOADER 0x01 /* Bootloader image */
|
#define BTINTEL_IMG_BOOTLOADER 0x01 /* Bootloader image */
|
||||||
#define BTINTEL_IMG_IML 0x02 /* Intermediate image */
|
#define BTINTEL_IMG_IML 0x02 /* Intermediate image */
|
||||||
|
|||||||
Reference in New Issue
Block a user