|
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