qcacmn: Add HIF changes to support WCN7850
HIF changes to support WCN7850 WLAN chipset. Change-Id: I02cd0702839a09b13a10b95237519f900a4cb7f9
This commit is contained in:
@@ -126,6 +126,8 @@ ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid,
|
|||||||
case RUMIM2M_DEVICE_ID_NODE3: /*lithium emulation */
|
case RUMIM2M_DEVICE_ID_NODE3: /*lithium emulation */
|
||||||
case RUMIM2M_DEVICE_ID_NODE4: /*lithium emulation */
|
case RUMIM2M_DEVICE_ID_NODE4: /*lithium emulation */
|
||||||
case RUMIM2M_DEVICE_ID_NODE5: /*lithium emulation */
|
case RUMIM2M_DEVICE_ID_NODE5: /*lithium emulation */
|
||||||
|
case WCN7850_EMULATION_DEVICE_ID:
|
||||||
|
case WCN7850_DEVICE_ID:
|
||||||
return dp_soc_attach_wifi3(psoc, hif_handle, htc_handle,
|
return dp_soc_attach_wifi3(psoc, hif_handle, htc_handle,
|
||||||
qdf_dev, dp_ol_if_ops, devid);
|
qdf_dev, dp_ol_if_ops, devid);
|
||||||
break;
|
break;
|
||||||
|
@@ -69,6 +69,7 @@ typedef void *hif_handle_t;
|
|||||||
#define HIF_TYPE_QCA6750 23
|
#define HIF_TYPE_QCA6750 23
|
||||||
#define HIF_TYPE_QCA5018 24
|
#define HIF_TYPE_QCA5018 24
|
||||||
#define HIF_TYPE_QCN6122 25
|
#define HIF_TYPE_QCN6122 25
|
||||||
|
#define HIF_TYPE_WCN7850 26
|
||||||
|
|
||||||
#define DMA_COHERENT_MASK_DEFAULT 37
|
#define DMA_COHERENT_MASK_DEFAULT 37
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@ extern struct hostdef_s *QCA6290_HOSTdef;
|
|||||||
extern struct hostdef_s *QCA6390_HOSTdef;
|
extern struct hostdef_s *QCA6390_HOSTdef;
|
||||||
extern struct hostdef_s *QCA6490_HOSTdef;
|
extern struct hostdef_s *QCA6490_HOSTdef;
|
||||||
extern struct hostdef_s *QCA6750_HOSTdef;
|
extern struct hostdef_s *QCA6750_HOSTdef;
|
||||||
|
extern struct hostdef_s *WCN7850_HOSTdef;
|
||||||
|
|
||||||
#ifdef ATH_AHB
|
#ifdef ATH_AHB
|
||||||
extern struct hostdef_s *IPQ4019_HOSTdef;
|
extern struct hostdef_s *IPQ4019_HOSTdef;
|
||||||
|
@@ -70,6 +70,11 @@ extern "C" {
|
|||||||
#define TARGET_TYPE_QCN6122 30
|
#define TARGET_TYPE_QCN6122 30
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Hamilton */
|
||||||
|
#ifndef TARGET_TYPE_WCN7850
|
||||||
|
#define TARGET_TYPE_WCN7850 31
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -47,6 +47,7 @@ extern struct targetdef_s *QCA6018_TARGETDEF;
|
|||||||
extern struct targetdef_s *QCA5018_TARGETDEF;
|
extern struct targetdef_s *QCA5018_TARGETDEF;
|
||||||
extern struct targetdef_s *QCN9000_TARGETDEF;
|
extern struct targetdef_s *QCN9000_TARGETDEF;
|
||||||
extern struct targetdef_s *QCN6122_TARGETDEF;
|
extern struct targetdef_s *QCN6122_TARGETDEF;
|
||||||
|
extern struct targetdef_s *WCN7850_TARGETdef;
|
||||||
|
|
||||||
extern struct ce_reg_def *AR6002_CE_TARGETdef;
|
extern struct ce_reg_def *AR6002_CE_TARGETdef;
|
||||||
extern struct ce_reg_def *AR6003_CE_TARGETdef;
|
extern struct ce_reg_def *AR6003_CE_TARGETdef;
|
||||||
@@ -70,6 +71,6 @@ extern struct ce_reg_def *QCA6018_CE_TARGETDEF;
|
|||||||
extern struct ce_reg_def *QCA5018_CE_TARGETDEF;
|
extern struct ce_reg_def *QCA5018_CE_TARGETDEF;
|
||||||
extern struct ce_reg_def *QCN9000_CE_TARGETDEF;
|
extern struct ce_reg_def *QCN9000_CE_TARGETDEF;
|
||||||
extern struct ce_reg_def *QCN6122_CE_TARGETDEF;
|
extern struct ce_reg_def *QCN6122_CE_TARGETDEF;
|
||||||
|
extern struct ce_reg_def *WCN7850_CE_TARGETdef;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -108,7 +108,8 @@ static ssize_t ath_procfs_diag_read_legacy(struct file *file,
|
|||||||
(tgt_info->target_type == TARGET_TYPE_QCN6122) ||
|
(tgt_info->target_type == TARGET_TYPE_QCN6122) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA5018) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA5018) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA6018) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA6018) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCN7605))) ||
|
(tgt_info->target_type == TARGET_TYPE_QCN7605) ||
|
||||||
|
(tgt_info->target_type == TARGET_TYPE_WCN7850))) ||
|
||||||
(scn->bus_type == QDF_BUS_TYPE_IPCI &&
|
(scn->bus_type == QDF_BUS_TYPE_IPCI &&
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
|
||||||
((scn->bus_type == QDF_BUS_TYPE_USB) &&
|
((scn->bus_type == QDF_BUS_TYPE_USB) &&
|
||||||
@@ -187,7 +188,8 @@ static ssize_t ath_procfs_diag_write_legacy(struct file *file,
|
|||||||
(tgt_info->target_type == TARGET_TYPE_QCN6122) ||
|
(tgt_info->target_type == TARGET_TYPE_QCN6122) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA5018) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA5018) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA6018) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA6018) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCN7605))) ||
|
(tgt_info->target_type == TARGET_TYPE_QCN7605) ||
|
||||||
|
(tgt_info->target_type == TARGET_TYPE_WCN7850))) ||
|
||||||
(scn->bus_type == QDF_BUS_TYPE_IPCI &&
|
(scn->bus_type == QDF_BUS_TYPE_IPCI &&
|
||||||
(tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
|
(tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
|
||||||
((scn->bus_type == QDF_BUS_TYPE_USB) &&
|
((scn->bus_type == QDF_BUS_TYPE_USB) &&
|
||||||
@@ -333,7 +335,7 @@ static ssize_t ath_procfs_diag_read_ext(struct file *file, char __user *buf,
|
|||||||
switch (tgt_info->target_type) {
|
switch (tgt_info->target_type) {
|
||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
/* case Hamiltons: */
|
case TARGET_TYPE_WCN7850:
|
||||||
if (op_type == OP_TYPE_EXT_DIRECT)
|
if (op_type == OP_TYPE_EXT_DIRECT)
|
||||||
rv = ath_procfs_direct_read(scn,
|
rv = ath_procfs_direct_read(scn,
|
||||||
offset,
|
offset,
|
||||||
@@ -408,7 +410,7 @@ static ssize_t ath_procfs_diag_write_ext(struct file *file,
|
|||||||
switch (tgt_info->target_type) {
|
switch (tgt_info->target_type) {
|
||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
/* case Hamiltons: */
|
case TARGET_TYPE_WCN7850:
|
||||||
if (op_type == OP_TYPE_EXT_DIRECT)
|
if (op_type == OP_TYPE_EXT_DIRECT)
|
||||||
rv = ath_procfs_direct_write(scn,
|
rv = ath_procfs_direct_write(scn,
|
||||||
offset,
|
offset,
|
||||||
|
@@ -1368,4 +1368,53 @@ static struct CE_pipe_config target_ce_config_wlan_qca6750[] = {
|
|||||||
{ /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
|
{ /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
|
||||||
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
|
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define WCN_7850_CE_COUNT 9
|
||||||
|
static struct CE_attr host_ce_config_wlan_wcn7850[] = {
|
||||||
|
/* host->target HTC control and raw streams */
|
||||||
|
{ /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
|
||||||
|
/* target->host HTT + HTC control */
|
||||||
|
{ /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
|
||||||
|
/* target->host WMI */
|
||||||
|
{ /* CE2 */ CE_ATTR_FLAGS, 0, 0, 3200, 64, NULL,},
|
||||||
|
/* host->target WMI */
|
||||||
|
{ /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
|
||||||
|
/* host->target HTT */
|
||||||
|
{ /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
|
||||||
|
256, 256, 0, NULL,},
|
||||||
|
/* target -> host PKTLOG */
|
||||||
|
{ /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
|
||||||
|
/* Target autonomous HIF_memcpy */
|
||||||
|
{ /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
|
||||||
|
/* ce_diag, the Diagnostic Window */
|
||||||
|
{ /* CE7 */ (CE_ATTR_DIAG_FLAGS | CE_ATTR_DISABLE_INTR), 0,
|
||||||
|
0, DIAG_TRANSFER_LIMIT, 0, NULL,},
|
||||||
|
/* Reserved for target */
|
||||||
|
{ /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
|
||||||
|
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct CE_pipe_config target_ce_config_wlan_wcn7850[] = {
|
||||||
|
/* host->target HTC control and raw streams */
|
||||||
|
{ /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
|
||||||
|
/* target->host HTT */
|
||||||
|
{ /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
|
||||||
|
/* target->host WMI + HTC control */
|
||||||
|
{ /* CE2 */ 2, PIPEDIR_IN, 32, 3200, CE_ATTR_FLAGS, 0,},
|
||||||
|
/* host->target WMI */
|
||||||
|
{ /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
|
||||||
|
/* host->target HTT */
|
||||||
|
{ /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
|
||||||
|
(CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
|
||||||
|
/* Target -> host PKTLOG */
|
||||||
|
{ /* CE5 */ 5, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
|
||||||
|
/* Reserved for target autonomous HIF_memcpy */
|
||||||
|
{ /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
|
||||||
|
/* CE7 used only by Host */
|
||||||
|
{ /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0,
|
||||||
|
(CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
|
||||||
|
/* Reserved for target */
|
||||||
|
{ /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
|
||||||
|
/* CE 9, 10, 11 belong to CoreBsp & MHI driver */
|
||||||
|
};
|
||||||
#endif /* __HIF_PCI_INTERNAL_H__ */
|
#endif /* __HIF_PCI_INTERNAL_H__ */
|
||||||
|
@@ -53,8 +53,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6290) || \
|
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6290) || \
|
||||||
defined(QCA_WIFI_QCA6018) || defined(QCA_WIFI_QCA5018)) && \
|
defined(QCA_WIFI_QCA6018) || defined(QCA_WIFI_QCA5018) || \
|
||||||
!defined(QCA_WIFI_SUPPORT_SRNG)
|
defined(QCA_WIFI_WCN7850)) && !defined(QCA_WIFI_SUPPORT_SRNG)
|
||||||
#define QCA_WIFI_SUPPORT_SRNG
|
#define QCA_WIFI_SUPPORT_SRNG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -693,6 +693,33 @@ static struct service_to_pipe target_service_to_ce_map_qca6750[] = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (defined(QCA_WIFI_WCN7850))
|
||||||
|
static struct service_to_pipe target_service_to_ce_map_wcn7850[] = {
|
||||||
|
{ WMI_DATA_VO_SVC, PIPEDIR_OUT, 3, },
|
||||||
|
{ WMI_DATA_VO_SVC, PIPEDIR_IN, 2, },
|
||||||
|
{ WMI_DATA_BK_SVC, PIPEDIR_OUT, 3, },
|
||||||
|
{ WMI_DATA_BK_SVC, PIPEDIR_IN, 2, },
|
||||||
|
{ WMI_DATA_BE_SVC, PIPEDIR_OUT, 3, },
|
||||||
|
{ WMI_DATA_BE_SVC, PIPEDIR_IN, 2, },
|
||||||
|
{ WMI_DATA_VI_SVC, PIPEDIR_OUT, 3, },
|
||||||
|
{ WMI_DATA_VI_SVC, PIPEDIR_IN, 2, },
|
||||||
|
{ WMI_CONTROL_SVC, PIPEDIR_OUT, 3, },
|
||||||
|
{ WMI_CONTROL_SVC, PIPEDIR_IN, 2, },
|
||||||
|
{ HTC_CTRL_RSVD_SVC, PIPEDIR_OUT, 0, },
|
||||||
|
{ HTC_CTRL_RSVD_SVC, PIPEDIR_IN, 2, },
|
||||||
|
{ HTT_DATA_MSG_SVC, PIPEDIR_OUT, 4, },
|
||||||
|
{ HTT_DATA_MSG_SVC, PIPEDIR_IN, 1, },
|
||||||
|
#ifdef WLAN_FEATURE_WMI_DIAG_OVER_CE7
|
||||||
|
{ PACKET_LOG_SVC, PIPEDIR_IN, 5, },
|
||||||
|
#endif
|
||||||
|
/* (Additions here) */
|
||||||
|
{ 0, 0, 0, },
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
static struct service_to_pipe target_service_to_ce_map_wcn7850[] = {
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct service_to_pipe target_service_to_ce_map_ar900b[] = {
|
static struct service_to_pipe target_service_to_ce_map_ar900b[] = {
|
||||||
{
|
{
|
||||||
WMI_DATA_VO_SVC,
|
WMI_DATA_VO_SVC,
|
||||||
@@ -895,6 +922,11 @@ static void hif_select_service_to_pipe_map(struct hif_softc *scn,
|
|||||||
*sz_tgt_svc_map_to_use =
|
*sz_tgt_svc_map_to_use =
|
||||||
sizeof(target_service_to_ce_map_qca6750);
|
sizeof(target_service_to_ce_map_qca6750);
|
||||||
break;
|
break;
|
||||||
|
case TARGET_TYPE_WCN7850:
|
||||||
|
*tgt_svc_map_to_use = target_service_to_ce_map_wcn7850;
|
||||||
|
*sz_tgt_svc_map_to_use =
|
||||||
|
sizeof(target_service_to_ce_map_wcn7850);
|
||||||
|
break;
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
*tgt_svc_map_to_use = target_service_to_ce_map_qca8074;
|
*tgt_svc_map_to_use = target_service_to_ce_map_qca8074;
|
||||||
*sz_tgt_svc_map_to_use =
|
*sz_tgt_svc_map_to_use =
|
||||||
@@ -1152,6 +1184,7 @@ bool ce_srng_based(struct hif_softc *scn)
|
|||||||
case TARGET_TYPE_QCN9000:
|
case TARGET_TYPE_QCN9000:
|
||||||
case TARGET_TYPE_QCN6122:
|
case TARGET_TYPE_QCN6122:
|
||||||
case TARGET_TYPE_QCA5018:
|
case TARGET_TYPE_QCA5018:
|
||||||
|
case TARGET_TYPE_WCN7850:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@@ -3394,6 +3427,13 @@ void hif_ce_prepare_config(struct hif_softc *scn)
|
|||||||
|
|
||||||
scn->ce_count = QCA_6750_CE_COUNT;
|
scn->ce_count = QCA_6750_CE_COUNT;
|
||||||
break;
|
break;
|
||||||
|
case TARGET_TYPE_WCN7850:
|
||||||
|
hif_state->host_ce_config = host_ce_config_wlan_wcn7850;
|
||||||
|
hif_state->target_ce_config = target_ce_config_wlan_wcn7850;
|
||||||
|
hif_state->target_ce_config_sz =
|
||||||
|
sizeof(target_ce_config_wlan_wcn7850);
|
||||||
|
scn->ce_count = WCN_7850_CE_COUNT;
|
||||||
|
break;
|
||||||
case TARGET_TYPE_ADRASTEA:
|
case TARGET_TYPE_ADRASTEA:
|
||||||
if (hif_is_attribute_set(scn, HIF_LOWDESC_CE_NO_PKTLOG_CFG)) {
|
if (hif_is_attribute_set(scn, HIF_LOWDESC_CE_NO_PKTLOG_CFG)) {
|
||||||
hif_state->host_ce_config =
|
hif_state->host_ce_config =
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2018, 2020 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2012-2018, 2020-2021 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -33,6 +33,7 @@
|
|||||||
#define QCA9377_REV1_1_VERSION 0x5020001
|
#define QCA9377_REV1_1_VERSION 0x5020001
|
||||||
#define QCA6390_V1 0x50040000
|
#define QCA6390_V1 0x50040000
|
||||||
#define QCA6490_V1 0x50060000
|
#define QCA6490_V1 0x50060000
|
||||||
|
#define WCN7850_V1 0xDEADBEEF // TODO Define this
|
||||||
#define WCN3990_v1 0x40000000
|
#define WCN3990_v1 0x40000000
|
||||||
#define WCN3990_v2 0x40010000
|
#define WCN3990_v2 0x40010000
|
||||||
#define WCN3990_v2_1 0x40010002
|
#define WCN3990_v2_1 0x40010002
|
||||||
|
@@ -349,6 +349,11 @@ static const struct qwlan_hw qwlan_hw_list[] = {
|
|||||||
.id = QCA9379_REV1_VERSION,
|
.id = QCA9379_REV1_VERSION,
|
||||||
.subid = 0xD,
|
.subid = 0xD,
|
||||||
.name = "QCA9379_REV1_1",
|
.name = "QCA9379_REV1_1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.id = WCN7850_V1,
|
||||||
|
.subid = 0xE,
|
||||||
|
.name = "WCN7850_V1",
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -765,7 +770,8 @@ static inline int hif_get_num_active_grp_tasklets(struct hif_softc *scn)
|
|||||||
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \
|
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \
|
||||||
defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
|
defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
|
||||||
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6490) || \
|
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_QCA5018))
|
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_QCA5018) || \
|
||||||
|
defined(QCA_WIFI_WCN7850))
|
||||||
/**
|
/**
|
||||||
* hif_get_num_pending_work() - get the number of entries in
|
* hif_get_num_pending_work() - get the number of entries in
|
||||||
* the workqueue pending to be completed.
|
* the workqueue pending to be completed.
|
||||||
@@ -809,7 +815,8 @@ QDF_STATUS hif_try_complete_tasks(struct hif_softc *scn)
|
|||||||
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \
|
#if (defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \
|
||||||
defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
|
defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
|
||||||
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6490) || \
|
defined(QCA_WIFI_QCN9000) || defined(QCA_WIFI_QCA6490) || \
|
||||||
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_QCA5018))
|
defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_QCA5018) || \
|
||||||
|
defined(QCA_WIFI_WCN7850))
|
||||||
static QDF_STATUS hif_hal_attach(struct hif_softc *scn)
|
static QDF_STATUS hif_hal_attach(struct hif_softc *scn)
|
||||||
{
|
{
|
||||||
if (ce_srng_based(scn)) {
|
if (ce_srng_based(scn)) {
|
||||||
@@ -1216,6 +1223,13 @@ int hif_get_device_type(uint32_t device_id,
|
|||||||
hif_info(" *********** QCA6750 *************");
|
hif_info(" *********** QCA6750 *************");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WCN7850_DEVICE_ID:
|
||||||
|
case WCN7850_EMULATION_DEVICE_ID:
|
||||||
|
*hif_type = HIF_TYPE_WCN7850;
|
||||||
|
*target_type = TARGET_TYPE_WCN7850;
|
||||||
|
hif_info(" *********** WCN7850 *************");
|
||||||
|
break;
|
||||||
|
|
||||||
case QCA8074V2_DEVICE_ID:
|
case QCA8074V2_DEVICE_ID:
|
||||||
*hif_type = HIF_TYPE_QCA8074V2;
|
*hif_type = HIF_TYPE_QCA8074V2;
|
||||||
*target_type = TARGET_TYPE_QCA8074V2;
|
*target_type = TARGET_TYPE_QCA8074V2;
|
||||||
|
@@ -100,6 +100,10 @@
|
|||||||
#define QCA6750_EMULATION_DEVICE_ID (0x010c)
|
#define QCA6750_EMULATION_DEVICE_ID (0x010c)
|
||||||
#define QCA6750_DEVICE_ID (0x1105)
|
#define QCA6750_DEVICE_ID (0x1105)
|
||||||
|
|
||||||
|
/* TODO: change IDs for Hamilton */
|
||||||
|
#define WCN7850_EMULATION_DEVICE_ID (0xfffa)
|
||||||
|
#define WCN7850_DEVICE_ID (0x1107)
|
||||||
|
|
||||||
#define ADRASTEA_DEVICE_ID_P2_E12 (0x7021)
|
#define ADRASTEA_DEVICE_ID_P2_E12 (0x7021)
|
||||||
#define AR9887_DEVICE_ID (0x0050)
|
#define AR9887_DEVICE_ID (0x0050)
|
||||||
#define AR900B_DEVICE_ID (0x0040)
|
#define AR900B_DEVICE_ID (0x0040)
|
||||||
|
@@ -43,7 +43,8 @@
|
|||||||
#include "mp_dev.h"
|
#include "mp_dev.h"
|
||||||
#include "hif_debug.h"
|
#include "hif_debug.h"
|
||||||
|
|
||||||
#if (defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490))
|
#if (defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
||||||
|
defined(QCA_WIFI_WCN7850))
|
||||||
#include "hal_api.h"
|
#include "hal_api.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -3176,7 +3177,8 @@ int hif_pci_configure_grp_irq(struct hif_softc *scn,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490))
|
#if (defined(QCA_WIFI_QCA6390) || defined(QCA_WIFI_QCA6490) || \
|
||||||
|
defined(QCA_WIFI_WCN7850))
|
||||||
uint32_t hif_pci_reg_read32(struct hif_softc *hif_sc,
|
uint32_t hif_pci_reg_read32(struct hif_softc *hif_sc,
|
||||||
uint32_t offset)
|
uint32_t offset)
|
||||||
{
|
{
|
||||||
@@ -3378,6 +3380,8 @@ static bool hif_is_pld_based_target(struct hif_pci_softc *sc,
|
|||||||
case QCA6490_DEVICE_ID:
|
case QCA6490_DEVICE_ID:
|
||||||
case AR6320_DEVICE_ID:
|
case AR6320_DEVICE_ID:
|
||||||
case QCN7605_DEVICE_ID:
|
case QCN7605_DEVICE_ID:
|
||||||
|
case WCN7850_DEVICE_ID:
|
||||||
|
case WCN7850_EMULATION_DEVICE_ID:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -3622,7 +3626,8 @@ int hif_pci_addr_in_boundary(struct hif_softc *scn, uint32_t offset)
|
|||||||
tgt_info->target_type == TARGET_TYPE_QCA6390 ||
|
tgt_info->target_type == TARGET_TYPE_QCA6390 ||
|
||||||
tgt_info->target_type == TARGET_TYPE_QCA6490 ||
|
tgt_info->target_type == TARGET_TYPE_QCA6490 ||
|
||||||
tgt_info->target_type == TARGET_TYPE_QCN7605 ||
|
tgt_info->target_type == TARGET_TYPE_QCN7605 ||
|
||||||
tgt_info->target_type == TARGET_TYPE_QCA8074) {
|
tgt_info->target_type == TARGET_TYPE_QCA8074 ||
|
||||||
|
tgt_info->target_type == TARGET_TYPE_WCN7850) {
|
||||||
/*
|
/*
|
||||||
* Need to consider offset's memtype for QCA6290/QCA8074,
|
* Need to consider offset's memtype for QCA6290/QCA8074,
|
||||||
* also mem_len and DRAM_BASE_ADDRESS/DRAM_SIZE need to be
|
* also mem_len and DRAM_BASE_ADDRESS/DRAM_SIZE need to be
|
||||||
|
@@ -166,6 +166,14 @@ void hif_target_register_tbl_attach(struct hif_softc *scn, u32 target_type)
|
|||||||
break;
|
break;
|
||||||
#endif /* QCA6490_HEADERS_DEF */
|
#endif /* QCA6490_HEADERS_DEF */
|
||||||
|
|
||||||
|
#if defined(WCN7850_HEADERS_DEF)
|
||||||
|
case TARGET_TYPE_WCN7850:
|
||||||
|
scn->targetdef = WCN7850_TARGETdef;
|
||||||
|
scn->target_ce_def = WCN7850_CE_TARGETdef;
|
||||||
|
hif_info("TARGET_TYPE_WCN7850");
|
||||||
|
break;
|
||||||
|
#endif /* WCN7850_HEADERS_DEF */
|
||||||
|
|
||||||
#if defined(QCA6750_HEADERS_DEF)
|
#if defined(QCA6750_HEADERS_DEF)
|
||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
scn->targetdef = QCA6750_TARGETdef;
|
scn->targetdef = QCA6750_TARGETdef;
|
||||||
@@ -291,6 +299,13 @@ void hif_register_tbl_attach(struct hif_softc *scn, u32 hif_type)
|
|||||||
break;
|
break;
|
||||||
#endif /* QCA6490_HEADERS_DEF */
|
#endif /* QCA6490_HEADERS_DEF */
|
||||||
|
|
||||||
|
#if defined(WCN7850_HEADERS_DEF)
|
||||||
|
case HIF_TYPE_WCN7850:
|
||||||
|
scn->hostdef = WCN7850_HOSTdef;
|
||||||
|
hif_info("HIF_TYPE_WCN7850");
|
||||||
|
break;
|
||||||
|
#endif /* WCN7850_HEADERS_DEF */
|
||||||
|
|
||||||
#if defined(QCA6750_HEADERS_DEF)
|
#if defined(QCA6750_HEADERS_DEF)
|
||||||
case HIF_TYPE_QCA6750:
|
case HIF_TYPE_QCA6750:
|
||||||
scn->hostdef = QCA6750_HOSTdef;
|
scn->hostdef = QCA6750_HOSTdef;
|
||||||
|
225
hif/src/wcn7850def.c
Normal file
225
hif/src/wcn7850def.c
Normal file
@@ -0,0 +1,225 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
|
* above copyright notice and this permission notice appear in all
|
||||||
|
* copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||||
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||||
|
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||||
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||||
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(WCN7850_HEADERS_DEF)
|
||||||
|
|
||||||
|
#undef UMAC
|
||||||
|
#define WLAN_HEADERS 1
|
||||||
|
|
||||||
|
#include "beryllium_top_reg.h"
|
||||||
|
#include "wcss_version.h"
|
||||||
|
|
||||||
|
#define MISSING 0
|
||||||
|
|
||||||
|
#define SOC_RESET_CONTROL_OFFSET MISSING
|
||||||
|
#define GPIO_PIN0_OFFSET MISSING
|
||||||
|
#define GPIO_PIN1_OFFSET MISSING
|
||||||
|
#define GPIO_PIN0_CONFIG_MASK MISSING
|
||||||
|
#define GPIO_PIN1_CONFIG_MASK MISSING
|
||||||
|
#define LOCAL_SCRATCH_OFFSET 0x18
|
||||||
|
#define GPIO_PIN10_OFFSET MISSING
|
||||||
|
#define GPIO_PIN11_OFFSET MISSING
|
||||||
|
#define GPIO_PIN12_OFFSET MISSING
|
||||||
|
#define GPIO_PIN13_OFFSET MISSING
|
||||||
|
#define MBOX_BASE_ADDRESS MISSING
|
||||||
|
#define INT_STATUS_ENABLE_ERROR_LSB MISSING
|
||||||
|
#define INT_STATUS_ENABLE_ERROR_MASK MISSING
|
||||||
|
#define INT_STATUS_ENABLE_CPU_LSB MISSING
|
||||||
|
#define INT_STATUS_ENABLE_CPU_MASK MISSING
|
||||||
|
#define INT_STATUS_ENABLE_COUNTER_LSB MISSING
|
||||||
|
#define INT_STATUS_ENABLE_COUNTER_MASK MISSING
|
||||||
|
#define INT_STATUS_ENABLE_MBOX_DATA_LSB MISSING
|
||||||
|
#define INT_STATUS_ENABLE_MBOX_DATA_MASK MISSING
|
||||||
|
#define ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB MISSING
|
||||||
|
#define ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK MISSING
|
||||||
|
#define ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB MISSING
|
||||||
|
#define ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK MISSING
|
||||||
|
#define COUNTER_INT_STATUS_ENABLE_BIT_LSB MISSING
|
||||||
|
#define COUNTER_INT_STATUS_ENABLE_BIT_MASK MISSING
|
||||||
|
#define INT_STATUS_ENABLE_ADDRESS MISSING
|
||||||
|
#define CPU_INT_STATUS_ENABLE_BIT_LSB MISSING
|
||||||
|
#define CPU_INT_STATUS_ENABLE_BIT_MASK MISSING
|
||||||
|
#define HOST_INT_STATUS_ADDRESS MISSING
|
||||||
|
#define CPU_INT_STATUS_ADDRESS MISSING
|
||||||
|
#define ERROR_INT_STATUS_ADDRESS MISSING
|
||||||
|
#define ERROR_INT_STATUS_WAKEUP_MASK MISSING
|
||||||
|
#define ERROR_INT_STATUS_WAKEUP_LSB MISSING
|
||||||
|
#define ERROR_INT_STATUS_RX_UNDERFLOW_MASK MISSING
|
||||||
|
#define ERROR_INT_STATUS_RX_UNDERFLOW_LSB MISSING
|
||||||
|
#define ERROR_INT_STATUS_TX_OVERFLOW_MASK MISSING
|
||||||
|
#define ERROR_INT_STATUS_TX_OVERFLOW_LSB MISSING
|
||||||
|
#define COUNT_DEC_ADDRESS MISSING
|
||||||
|
#define HOST_INT_STATUS_CPU_MASK MISSING
|
||||||
|
#define HOST_INT_STATUS_CPU_LSB MISSING
|
||||||
|
#define HOST_INT_STATUS_ERROR_MASK MISSING
|
||||||
|
#define HOST_INT_STATUS_ERROR_LSB MISSING
|
||||||
|
#define HOST_INT_STATUS_COUNTER_MASK MISSING
|
||||||
|
#define HOST_INT_STATUS_COUNTER_LSB MISSING
|
||||||
|
#define RX_LOOKAHEAD_VALID_ADDRESS MISSING
|
||||||
|
#define WINDOW_DATA_ADDRESS MISSING
|
||||||
|
#define WINDOW_READ_ADDR_ADDRESS MISSING
|
||||||
|
#define WINDOW_WRITE_ADDR_ADDRESS MISSING
|
||||||
|
/* GPIO Register */
|
||||||
|
#define GPIO_ENABLE_W1TS_LOW_ADDRESS MISSING
|
||||||
|
#define GPIO_PIN0_CONFIG_LSB MISSING
|
||||||
|
#define GPIO_PIN0_PAD_PULL_LSB MISSING
|
||||||
|
#define GPIO_PIN0_PAD_PULL_MASK MISSING
|
||||||
|
/* SI reg */
|
||||||
|
#define SI_CONFIG_ERR_INT_MASK MISSING
|
||||||
|
#define SI_CONFIG_ERR_INT_LSB MISSING
|
||||||
|
|
||||||
|
#define RTC_SOC_BASE_ADDRESS MISSING
|
||||||
|
#define RTC_WMAC_BASE_ADDRESS MISSING
|
||||||
|
#define SOC_CORE_BASE_ADDRESS MISSING
|
||||||
|
#define WLAN_MAC_BASE_ADDRESS MISSING
|
||||||
|
#define GPIO_BASE_ADDRESS MISSING
|
||||||
|
#define ANALOG_INTF_BASE_ADDRESS MISSING
|
||||||
|
#define CE0_BASE_ADDRESS MISSING
|
||||||
|
#define CE1_BASE_ADDRESS MISSING
|
||||||
|
#define CE_COUNT 12
|
||||||
|
#define CE_WRAPPER_BASE_ADDRESS MISSING
|
||||||
|
#define SI_BASE_ADDRESS MISSING
|
||||||
|
#define DRAM_BASE_ADDRESS MISSING
|
||||||
|
|
||||||
|
#define WLAN_SYSTEM_SLEEP_DISABLE_LSB MISSING
|
||||||
|
#define WLAN_SYSTEM_SLEEP_DISABLE_MASK MISSING
|
||||||
|
#define CLOCK_CONTROL_OFFSET MISSING
|
||||||
|
#define CLOCK_CONTROL_SI0_CLK_MASK MISSING
|
||||||
|
#define RESET_CONTROL_SI0_RST_MASK MISSING
|
||||||
|
#define WLAN_RESET_CONTROL_OFFSET MISSING
|
||||||
|
#define WLAN_RESET_CONTROL_COLD_RST_MASK MISSING
|
||||||
|
#define WLAN_RESET_CONTROL_WARM_RST_MASK MISSING
|
||||||
|
#define CPU_CLOCK_OFFSET MISSING
|
||||||
|
|
||||||
|
#define CPU_CLOCK_STANDARD_LSB MISSING
|
||||||
|
#define CPU_CLOCK_STANDARD_MASK MISSING
|
||||||
|
#define LPO_CAL_ENABLE_LSB MISSING
|
||||||
|
#define LPO_CAL_ENABLE_MASK MISSING
|
||||||
|
#define WLAN_SYSTEM_SLEEP_OFFSET MISSING
|
||||||
|
|
||||||
|
#define SOC_CHIP_ID_ADDRESS MISSING
|
||||||
|
#define SOC_CHIP_ID_REVISION_MASK MISSING
|
||||||
|
#define SOC_CHIP_ID_REVISION_LSB MISSING
|
||||||
|
#define SOC_CHIP_ID_REVISION_MSB MISSING
|
||||||
|
|
||||||
|
#define FW_IND_EVENT_PENDING MISSING
|
||||||
|
#define FW_IND_INITIALIZED MISSING
|
||||||
|
|
||||||
|
#define MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_MASK MISSING
|
||||||
|
#define MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_MASK MISSING
|
||||||
|
#define MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_MASK MISSING
|
||||||
|
#define MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_MASK MISSING
|
||||||
|
#define MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_LSB MISSING
|
||||||
|
#define MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_LSB MISSING
|
||||||
|
#define MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_LSB MISSING
|
||||||
|
#define MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_LSB MISSING
|
||||||
|
|
||||||
|
#define SR_WR_INDEX_ADDRESS MISSING
|
||||||
|
#define DST_WATERMARK_ADDRESS MISSING
|
||||||
|
|
||||||
|
#define DST_WR_INDEX_ADDRESS MISSING
|
||||||
|
#define SRC_WATERMARK_ADDRESS MISSING
|
||||||
|
#define SRC_WATERMARK_LOW_MASK MISSING
|
||||||
|
#define SRC_WATERMARK_HIGH_MASK MISSING
|
||||||
|
#define DST_WATERMARK_LOW_MASK MISSING
|
||||||
|
#define DST_WATERMARK_HIGH_MASK MISSING
|
||||||
|
#define CURRENT_SRRI_ADDRESS MISSING
|
||||||
|
#define CURRENT_DRRI_ADDRESS MISSING
|
||||||
|
#define HOST_IS_SRC_RING_HIGH_WATERMARK_MASK MISSING
|
||||||
|
#define HOST_IS_SRC_RING_LOW_WATERMARK_MASK MISSING
|
||||||
|
#define HOST_IS_DST_RING_HIGH_WATERMARK_MASK MISSING
|
||||||
|
#define HOST_IS_DST_RING_LOW_WATERMARK_MASK MISSING
|
||||||
|
#define HOST_IS_ADDRESS MISSING
|
||||||
|
#define MISC_IS_ADDRESS MISSING
|
||||||
|
#define HOST_IS_COPY_COMPLETE_MASK MISSING
|
||||||
|
#define CE_WRAPPER_BASE_ADDRESS MISSING
|
||||||
|
#define CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS MISSING
|
||||||
|
#define CE_DDR_ADDRESS_FOR_RRI_LOW MISSING
|
||||||
|
#define CE_DDR_ADDRESS_FOR_RRI_HIGH MISSING
|
||||||
|
|
||||||
|
#if (defined(WCSS_VERSION) && (WCSS_VERSION >= 72))
|
||||||
|
#define HOST_IE_ADDRESS UMAC_CE_COMMON_WFSS_CE_COMMON_R0_CE_HOST_IE_0
|
||||||
|
#define HOST_IE_ADDRESS_2 UMAC_CE_COMMON_WFSS_CE_COMMON_R0_CE_HOST_IE_1
|
||||||
|
#else /* WCSS_VERSION < 72 */
|
||||||
|
#define HOST_IE_ADDRESS UMAC_CE_COMMON_CE_HOST_IE_0
|
||||||
|
#define HOST_IE_ADDRESS_2 UMAC_CE_COMMON_CE_HOST_IE_1
|
||||||
|
#endif /* WCSS_VERSION */
|
||||||
|
|
||||||
|
#define HOST_IE_COPY_COMPLETE_MASK MISSING
|
||||||
|
#define SR_BA_ADDRESS MISSING
|
||||||
|
#define SR_BA_ADDRESS_HIGH MISSING
|
||||||
|
#define SR_SIZE_ADDRESS MISSING
|
||||||
|
#define CE_CTRL1_ADDRESS MISSING
|
||||||
|
#define CE_CTRL1_DMAX_LENGTH_MASK MISSING
|
||||||
|
#define DR_BA_ADDRESS MISSING
|
||||||
|
#define DR_BA_ADDRESS_HIGH MISSING
|
||||||
|
#define DR_SIZE_ADDRESS MISSING
|
||||||
|
#define CE_CMD_REGISTER MISSING
|
||||||
|
#define CE_MSI_ADDRESS MISSING
|
||||||
|
#define CE_MSI_ADDRESS_HIGH MISSING
|
||||||
|
#define CE_MSI_DATA MISSING
|
||||||
|
#define CE_MSI_ENABLE_BIT MISSING
|
||||||
|
#define MISC_IE_ADDRESS MISSING
|
||||||
|
#define MISC_IS_AXI_ERR_MASK MISSING
|
||||||
|
#define MISC_IS_DST_ADDR_ERR_MASK MISSING
|
||||||
|
#define MISC_IS_SRC_LEN_ERR_MASK MISSING
|
||||||
|
#define MISC_IS_DST_MAX_LEN_VIO_MASK MISSING
|
||||||
|
#define MISC_IS_DST_RING_OVERFLOW_MASK MISSING
|
||||||
|
#define MISC_IS_SRC_RING_OVERFLOW_MASK MISSING
|
||||||
|
#define SRC_WATERMARK_LOW_LSB MISSING
|
||||||
|
#define SRC_WATERMARK_HIGH_LSB MISSING
|
||||||
|
#define DST_WATERMARK_LOW_LSB MISSING
|
||||||
|
#define DST_WATERMARK_HIGH_LSB MISSING
|
||||||
|
#define CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK MISSING
|
||||||
|
#define CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB MISSING
|
||||||
|
#define CE_CTRL1_DMAX_LENGTH_LSB MISSING
|
||||||
|
#define CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK MISSING
|
||||||
|
#define CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK MISSING
|
||||||
|
#define CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB MISSING
|
||||||
|
#define CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB MISSING
|
||||||
|
#define CE_CTRL1_IDX_UPD_EN_MASK MISSING
|
||||||
|
#define CE_WRAPPER_DEBUG_OFFSET MISSING
|
||||||
|
#define CE_WRAPPER_DEBUG_SEL_MSB MISSING
|
||||||
|
#define CE_WRAPPER_DEBUG_SEL_LSB MISSING
|
||||||
|
#define CE_WRAPPER_DEBUG_SEL_MASK MISSING
|
||||||
|
#define CE_DEBUG_OFFSET MISSING
|
||||||
|
#define CE_DEBUG_SEL_MSB MISSING
|
||||||
|
#define CE_DEBUG_SEL_LSB MISSING
|
||||||
|
#define CE_DEBUG_SEL_MASK MISSING
|
||||||
|
#define CE0_BASE_ADDRESS MISSING
|
||||||
|
#define CE1_BASE_ADDRESS MISSING
|
||||||
|
#define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES MISSING
|
||||||
|
#define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS MISSING
|
||||||
|
|
||||||
|
#define WCN7850_BOARD_DATA_SZ MISSING
|
||||||
|
#define WCN7850_BOARD_EXT_DATA_SZ MISSING
|
||||||
|
|
||||||
|
#define MY_TARGET_DEF WCN7850_TARGETdef
|
||||||
|
#define MY_HOST_DEF WCN7850_HOSTdef
|
||||||
|
#define MY_CEREG_DEF WCN7850_CE_TARGETdef
|
||||||
|
#define MY_TARGET_BOARD_DATA_SZ WCN7850_BOARD_DATA_SZ
|
||||||
|
#define MY_TARGET_BOARD_EXT_DATA_SZ WCN7850_BOARD_EXT_DATA_SZ
|
||||||
|
#include "targetdef.h"
|
||||||
|
#include "hostdef.h"
|
||||||
|
#else
|
||||||
|
#include "common_drv.h"
|
||||||
|
#include "targetdef.h"
|
||||||
|
#include "hostdef.h"
|
||||||
|
struct targetdef_s *WCN7850_TARGETdef;
|
||||||
|
struct hostdef_s *WCN7850_HOSTdef;
|
||||||
|
#endif /*WCN7850_HEADERS_DEF */
|
Reference in New Issue
Block a user