|
46 | 46 | #define FIRMWARE_SECURE_IW624 "uartiw624_bt.bin.se"
|
47 | 47 | #define FIRMWARE_AW693 "uartaw693_bt.bin"
|
48 | 48 | #define FIRMWARE_SECURE_AW693 "uartaw693_bt.bin.se"
|
| 49 | +#define FIRMWARE_AW693_A1 "uartaw693_bt_v1.bin" |
| 50 | +#define FIRMWARE_SECURE_AW693_A1 "uartaw693_bt_v1.bin.se" |
49 | 51 | #define FIRMWARE_HELPER "helper_uart_3000000.bin"
|
50 | 52 |
|
51 | 53 | #define CHIP_ID_W9098 0x5c03
|
52 | 54 | #define CHIP_ID_IW416 0x7201
|
53 | 55 | #define CHIP_ID_IW612 0x7601
|
54 | 56 | #define CHIP_ID_IW624a 0x8000
|
55 | 57 | #define CHIP_ID_IW624c 0x8001
|
56 |
| -#define CHIP_ID_AW693 0x8200 |
| 58 | +#define CHIP_ID_AW693a0 0x8200 |
| 59 | +#define CHIP_ID_AW693a1 0x8201 |
57 | 60 |
|
58 | 61 | #define FW_SECURE_MASK 0xc0
|
59 | 62 | #define FW_OPEN 0x00
|
@@ -906,14 +909,22 @@ static char *nxp_get_fw_name_from_chipid(struct hci_dev *hdev, u16 chipid,
|
906 | 909 | else
|
907 | 910 | bt_dev_err(hdev, "Illegal loader version %02x", loader_ver);
|
908 | 911 | break;
|
909 |
| - case CHIP_ID_AW693: |
| 912 | + case CHIP_ID_AW693a0: |
910 | 913 | if ((loader_ver & FW_SECURE_MASK) == FW_OPEN)
|
911 | 914 | fw_name = FIRMWARE_AW693;
|
912 | 915 | else if ((loader_ver & FW_SECURE_MASK) != FW_AUTH_ILLEGAL)
|
913 | 916 | fw_name = FIRMWARE_SECURE_AW693;
|
914 | 917 | else
|
915 | 918 | bt_dev_err(hdev, "Illegal loader version %02x", loader_ver);
|
916 | 919 | break;
|
| 920 | + case CHIP_ID_AW693a1: |
| 921 | + if ((loader_ver & FW_SECURE_MASK) == FW_OPEN) |
| 922 | + fw_name = FIRMWARE_AW693_A1; |
| 923 | + else if ((loader_ver & FW_SECURE_MASK) != FW_AUTH_ILLEGAL) |
| 924 | + fw_name = FIRMWARE_SECURE_AW693_A1; |
| 925 | + else |
| 926 | + bt_dev_err(hdev, "Illegal loader version %02x", loader_ver); |
| 927 | + break; |
917 | 928 | default:
|
918 | 929 | bt_dev_err(hdev, "Unknown chip signature %04x", chipid);
|
919 | 930 | break;
|
|
0 commit comments