diff --git a/hif/src/hif_hw_version.h b/hif/src/hif_hw_version.h index 7825d31e61..3267741e84 100644 --- a/hif/src/hif_hw_version.h +++ b/hif/src/hif_hw_version.h @@ -34,13 +34,18 @@ #define QCA9377_REV1_1_VERSION 0x5020001 #define QCA6390_V1 0x50040000 #define QCA6490_V1 0x50060000 -#define KIWI_V1 0xDEADBEEF // TODO Define this #define WCN3990_v1 0x40000000 #define WCN3990_v2 0x40010000 #define WCN3990_v2_1 0x40010002 #define WCN3998 0x40030001 #define AR900B_REV_2 0x1 #define MANGO_V1 0xDEADBEEF // TODO Define this +#define KIWI_V1 0x40170100 +#define KIWI_V2 0x40170200 +#define QCA6490_v2_1 0x400c1211 +#define QCA6490_v2 0x400c0200 +#define WCN3990_v2_2 0x400f0000 +#define WCN6750_V1 0x40140110 struct qwlan_hw { u32 id; diff --git a/hif/src/hif_main.c b/hif/src/hif_main.c index 903447b779..c4ba5e055d 100644 --- a/hif/src/hif_main.c +++ b/hif/src/hif_main.c @@ -359,15 +359,40 @@ static const struct qwlan_hw qwlan_hw_list[] = { .subid = 0xD, .name = "QCA9379_REV1_1", }, - { - .id = KIWI_V1, - .subid = 0xE, - .name = "KIWI_V1", - }, { .id = MANGO_V1, .subid = 0xF, .name = "MANGO_V1", + }, + { + .id = KIWI_V1, + .subid = 0, + .name = "KIWI_V1", + }, + { + .id = KIWI_V2, + .subid = 0, + .name = "KIWI_V2", + }, + { + .id = WCN6750_V1, + .subid = 0, + .name = "WCN6750_V1", + }, + { + .id = QCA6490_v2_1, + .subid = 0, + .name = "QCA6490", + }, + { + .id = QCA6490_v2, + .subid = 0, + .name = "QCA6490", + }, + { + .id = WCN3990_v2_2, + .subid = 0, + .name = "WCN3990_v2_2", } }; @@ -381,6 +406,10 @@ static const char *hif_get_hw_name(struct hif_target_info *info) { int i; + hif_debug("target version = %d, target revision = %d", + info->target_version, + info->target_revision); + if (info->hw_name) return info->hw_name; diff --git a/hif/src/ipcie/if_ipci.c b/hif/src/ipcie/if_ipci.c index ead7f8bc15..6067b99624 100644 --- a/hif/src/ipcie/if_ipci.c +++ b/hif/src/ipcie/if_ipci.c @@ -775,11 +775,15 @@ static void hif_ipci_get_soc_info_pld(struct hif_ipci_softc *sc, struct device *dev) { struct pld_soc_info info; + struct hif_softc *scn = HIF_GET_SOFTC(sc); pld_get_soc_info(dev, &info); sc->mem = info.v_addr; sc->ce_sc.ol_sc.mem = info.v_addr; sc->ce_sc.ol_sc.mem_pa = info.p_addr; + + scn->target_info.target_version = info.soc_id; + scn->target_info.target_revision = 0; } /**