qcacmn: Add PEACH device support
Add support for peach device. Add peach conditional statements. Change-Id: Ia107e60fd00b4938984414fd92d6699d11fd3797 CRs-Fixed: 3394198
This commit is contained in:

committed by
Madan Koyyalamudi

parent
4bb2e1a3f2
commit
3cde321196
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. 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
|
||||||
@@ -135,6 +135,7 @@ static inline int cdp_get_arch_type_from_devid(uint16_t devid)
|
|||||||
case QCN9224_DEVICE_ID:
|
case QCN9224_DEVICE_ID:
|
||||||
case QCA5332_DEVICE_ID:
|
case QCA5332_DEVICE_ID:
|
||||||
case MANGO_DEVICE_ID:
|
case MANGO_DEVICE_ID:
|
||||||
|
case PEACH_DEVICE_ID:
|
||||||
return CDP_ARCH_TYPE_BE;
|
return CDP_ARCH_TYPE_BE;
|
||||||
default:
|
default:
|
||||||
return CDP_ARCH_TYPE_NONE;
|
return CDP_ARCH_TYPE_NONE;
|
||||||
@@ -180,6 +181,7 @@ ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid,
|
|||||||
case KIWI_DEVICE_ID:
|
case KIWI_DEVICE_ID:
|
||||||
case QCN9224_DEVICE_ID:
|
case QCN9224_DEVICE_ID:
|
||||||
case MANGO_DEVICE_ID:
|
case MANGO_DEVICE_ID:
|
||||||
|
case PEACH_DEVICE_ID:
|
||||||
case QCA5332_DEVICE_ID:
|
case QCA5332_DEVICE_ID:
|
||||||
return dp_soc_attach_wifi3(psoc, ¶ms);
|
return dp_soc_attach_wifi3(psoc, ¶ms);
|
||||||
break;
|
break;
|
||||||
|
@@ -10619,6 +10619,7 @@ static QDF_STATUS dp_set_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
|
|||||||
break;
|
break;
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
pdev->ch_band_lmac_id_mapping[REG_BAND_2G] = DP_MAC0_LMAC_ID;
|
pdev->ch_band_lmac_id_mapping[REG_BAND_2G] = DP_MAC0_LMAC_ID;
|
||||||
pdev->ch_band_lmac_id_mapping[REG_BAND_5G] = DP_MAC0_LMAC_ID;
|
pdev->ch_band_lmac_id_mapping[REG_BAND_5G] = DP_MAC0_LMAC_ID;
|
||||||
pdev->ch_band_lmac_id_mapping[REG_BAND_6G] = DP_MAC0_LMAC_ID;
|
pdev->ch_band_lmac_id_mapping[REG_BAND_6G] = DP_MAC0_LMAC_ID;
|
||||||
@@ -16913,6 +16914,7 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
|
|||||||
break;
|
break;
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
soc->ast_override_support = 1;
|
soc->ast_override_support = 1;
|
||||||
soc->per_tid_basize_max_tid = 8;
|
soc->per_tid_basize_max_tid = 8;
|
||||||
|
|
||||||
@@ -17034,6 +17036,7 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
|
|||||||
break;
|
break;
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
soc->wlan_cfg_ctx->rxdma1_enable = 0;
|
soc->wlan_cfg_ctx->rxdma1_enable = 0;
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
|
@@ -5550,6 +5550,7 @@ QDF_STATUS dp_mon_soc_cfg_init(struct dp_soc *soc)
|
|||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
/* do nothing */
|
/* do nothing */
|
||||||
break;
|
break;
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
@@ -5614,6 +5615,7 @@ static void dp_mon_pdev_per_target_config(struct dp_pdev *pdev)
|
|||||||
switch (target_type) {
|
switch (target_type) {
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
mon_pdev->is_tlv_hdr_64_bit = true;
|
mon_pdev->is_tlv_hdr_64_bit = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -6242,6 +6244,7 @@ void dp_mon_ops_register(struct dp_soc *soc)
|
|||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
case TARGET_TYPE_QCA8074V2:
|
case TARGET_TYPE_QCA8074V2:
|
||||||
case TARGET_TYPE_QCA6018:
|
case TARGET_TYPE_QCA6018:
|
||||||
@@ -6303,6 +6306,7 @@ void dp_mon_cdp_ops_register(struct dp_soc *soc)
|
|||||||
case TARGET_TYPE_QCA6750:
|
case TARGET_TYPE_QCA6750:
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
case TARGET_TYPE_QCA8074:
|
case TARGET_TYPE_QCA8074:
|
||||||
case TARGET_TYPE_QCA8074V2:
|
case TARGET_TYPE_QCA8074V2:
|
||||||
case TARGET_TYPE_QCA6018:
|
case TARGET_TYPE_QCA6018:
|
||||||
|
@@ -2382,6 +2382,7 @@ hal_rx_status_get_tlv_info_generic_be(void *rx_tlv_hdr, void *ppduinfo,
|
|||||||
break;
|
break;
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
ppdu_info->rx_status.is_stbc =
|
ppdu_info->rx_status.is_stbc =
|
||||||
HAL_RX_GET(vht_sig_a_info,
|
HAL_RX_GET(vht_sig_a_info,
|
||||||
VHT_SIG_A_INFO, STBC);
|
VHT_SIG_A_INFO, STBC);
|
||||||
|
@@ -444,6 +444,7 @@ static void hal_target_based_configure(struct hal_soc *hal)
|
|||||||
#ifdef QCA_WIFI_KIWI
|
#ifdef QCA_WIFI_KIWI
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
hal->use_register_windowing = true;
|
hal->use_register_windowing = true;
|
||||||
hal_kiwi_attach(hal);
|
hal_kiwi_attach(hal);
|
||||||
break;
|
break;
|
||||||
|
@@ -83,6 +83,7 @@ typedef void *hif_handle_t;
|
|||||||
#define HIF_TYPE_MANGO 29
|
#define HIF_TYPE_MANGO 29
|
||||||
#define HIF_TYPE_QCA5332 30
|
#define HIF_TYPE_QCA5332 30
|
||||||
#define HIF_TYPE_QCN9160 31
|
#define HIF_TYPE_QCN9160 31
|
||||||
|
#define HIF_TYPE_PEACH 32
|
||||||
|
|
||||||
#define DMA_COHERENT_MASK_DEFAULT 37
|
#define DMA_COHERENT_MASK_DEFAULT 37
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. 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
|
||||||
@@ -100,6 +100,10 @@ extern "C" {
|
|||||||
#define TARGET_TYPE_QCN9160 36
|
#define TARGET_TYPE_QCN9160 36
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef TARGET_TYPE_PEACH
|
||||||
|
#define TARGET_TYPE_PEACH 37
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -123,7 +123,8 @@ static ssize_t ath_procfs_diag_read_legacy(struct file *file,
|
|||||||
(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_KIWI) ||
|
(tgt_info->target_type == TARGET_TYPE_KIWI) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_MANGO))) ||
|
(tgt_info->target_type == TARGET_TYPE_MANGO) ||
|
||||||
|
(tgt_info->target_type == TARGET_TYPE_PEACH))) ||
|
||||||
(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) &&
|
||||||
@@ -208,7 +209,8 @@ static ssize_t ath_procfs_diag_write_legacy(struct file *file,
|
|||||||
(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_KIWI) ||
|
(tgt_info->target_type == TARGET_TYPE_KIWI) ||
|
||||||
(tgt_info->target_type == TARGET_TYPE_MANGO))) ||
|
(tgt_info->target_type == TARGET_TYPE_MANGO) ||
|
||||||
|
(tgt_info->target_type == TARGET_TYPE_PEACH))) ||
|
||||||
(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) &&
|
||||||
@@ -355,6 +357,7 @@ static ssize_t ath_procfs_diag_read_ext(struct file *file, char __user *buf,
|
|||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
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,
|
||||||
@@ -432,6 +435,7 @@ static ssize_t ath_procfs_diag_write_ext(struct file *file,
|
|||||||
case TARGET_TYPE_QCA6490:
|
case TARGET_TYPE_QCA6490:
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
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,
|
||||||
|
@@ -1451,6 +1451,7 @@ static void hif_select_service_to_pipe_map(struct hif_softc *scn,
|
|||||||
break;
|
break;
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
hif_select_service_to_pipe_map_kiwi(scn,
|
hif_select_service_to_pipe_map_kiwi(scn,
|
||||||
tgt_svc_map_to_use,
|
tgt_svc_map_to_use,
|
||||||
sz_tgt_svc_map_to_use);
|
sz_tgt_svc_map_to_use);
|
||||||
@@ -1768,6 +1769,7 @@ bool ce_srng_based(struct hif_softc *scn)
|
|||||||
case TARGET_TYPE_QCA5018:
|
case TARGET_TYPE_QCA5018:
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
case TARGET_TYPE_QCN9224:
|
case TARGET_TYPE_QCN9224:
|
||||||
case TARGET_TYPE_QCA9574:
|
case TARGET_TYPE_QCA9574:
|
||||||
case TARGET_TYPE_QCA5332:
|
case TARGET_TYPE_QCA5332:
|
||||||
@@ -3946,6 +3948,7 @@ int hif_wlan_enable(struct hif_softc *scn)
|
|||||||
switch (tgt_info->target_type) {
|
switch (tgt_info->target_type) {
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
hif_prepare_hal_shadow_reg_cfg_v3(scn, &cfg);
|
hif_prepare_hal_shadow_reg_cfg_v3(scn, &cfg);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -4246,6 +4249,7 @@ void hif_ce_prepare_config(struct hif_softc *scn)
|
|||||||
break;
|
break;
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
hif_ce_select_config_kiwi(hif_state);
|
hif_ce_select_config_kiwi(hif_state);
|
||||||
scn->ce_count = KIWI_CE_COUNT;
|
scn->ce_count = KIWI_CE_COUNT;
|
||||||
break;
|
break;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2018, 2020-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2012-2018, 2020-2021 The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. 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
|
||||||
@@ -40,6 +40,7 @@
|
|||||||
#define WCN3998 0x40030001
|
#define WCN3998 0x40030001
|
||||||
#define AR900B_REV_2 0x1
|
#define AR900B_REV_2 0x1
|
||||||
#define MANGO_V1 0xDEADBEEF // TODO Define this
|
#define MANGO_V1 0xDEADBEEF // TODO Define this
|
||||||
|
#define PEACH_V1 0x40210100
|
||||||
#define KIWI_V1 0x40170100
|
#define KIWI_V1 0x40170100
|
||||||
#define KIWI_V2 0x40170200
|
#define KIWI_V2 0x40170200
|
||||||
#define QCA6490_v2_1 0x400c1211
|
#define QCA6490_v2_1 0x400c1211
|
||||||
|
@@ -366,6 +366,12 @@ static const struct qwlan_hw qwlan_hw_list[] = {
|
|||||||
.subid = 0xF,
|
.subid = 0xF,
|
||||||
.name = "MANGO_V1",
|
.name = "MANGO_V1",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.id = PEACH_V1,
|
||||||
|
.subid = 0,
|
||||||
|
.name = "PEACH_V1",
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
.id = KIWI_V1,
|
.id = KIWI_V1,
|
||||||
.subid = 0,
|
.subid = 0,
|
||||||
@@ -1783,6 +1789,12 @@ int hif_get_device_type(uint32_t device_id,
|
|||||||
hif_info(" *********** MANGO *************");
|
hif_info(" *********** MANGO *************");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PEACH_DEVICE_ID:
|
||||||
|
*hif_type = HIF_TYPE_PEACH;
|
||||||
|
*target_type = TARGET_TYPE_PEACH;
|
||||||
|
hif_info(" *********** PEACH *************");
|
||||||
|
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;
|
||||||
|
@@ -99,6 +99,7 @@
|
|||||||
#define QCA6490_EMULATION_DEVICE_ID (0x010a)
|
#define QCA6490_EMULATION_DEVICE_ID (0x010a)
|
||||||
#define QCA6490_DEVICE_ID (0x1103)
|
#define QCA6490_DEVICE_ID (0x1103)
|
||||||
#define MANGO_DEVICE_ID (0x110a)
|
#define MANGO_DEVICE_ID (0x110a)
|
||||||
|
#define PEACH_DEVICE_ID (0x110e)
|
||||||
|
|
||||||
/* TODO: change IDs for Moselle */
|
/* TODO: change IDs for Moselle */
|
||||||
#define QCA6750_EMULATION_DEVICE_ID (0x010c)
|
#define QCA6750_EMULATION_DEVICE_ID (0x010c)
|
||||||
|
@@ -3726,6 +3726,7 @@ static bool hif_is_pld_based_target(struct hif_pci_softc *sc,
|
|||||||
case QCN7605_DEVICE_ID:
|
case QCN7605_DEVICE_ID:
|
||||||
case KIWI_DEVICE_ID:
|
case KIWI_DEVICE_ID:
|
||||||
case MANGO_DEVICE_ID:
|
case MANGO_DEVICE_ID:
|
||||||
|
case PEACH_DEVICE_ID:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -3755,6 +3756,7 @@ static void hif_pci_init_reg_windowing_support(struct hif_pci_softc *sc,
|
|||||||
case TARGET_TYPE_QCA6390:
|
case TARGET_TYPE_QCA6390:
|
||||||
case TARGET_TYPE_KIWI:
|
case TARGET_TYPE_KIWI:
|
||||||
case TARGET_TYPE_MANGO:
|
case TARGET_TYPE_MANGO:
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
sc->use_register_windowing = true;
|
sc->use_register_windowing = true;
|
||||||
qdf_spinlock_create(&sc->register_access_lock);
|
qdf_spinlock_create(&sc->register_access_lock);
|
||||||
sc->register_window = 0;
|
sc->register_window = 0;
|
||||||
@@ -3977,7 +3979,8 @@ int hif_pci_addr_in_boundary(struct hif_softc *scn, uint32_t offset)
|
|||||||
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_KIWI ||
|
tgt_info->target_type == TARGET_TYPE_KIWI ||
|
||||||
tgt_info->target_type == TARGET_TYPE_MANGO) {
|
tgt_info->target_type == TARGET_TYPE_MANGO ||
|
||||||
|
tgt_info->target_type == TARGET_TYPE_PEACH) {
|
||||||
/*
|
/*
|
||||||
* 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
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. 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
|
||||||
@@ -208,6 +208,12 @@ void hif_target_register_tbl_attach(struct hif_softc *scn, u32 target_type)
|
|||||||
scn->target_ce_def = KIWI_CE_TARGETdef;
|
scn->target_ce_def = KIWI_CE_TARGETdef;
|
||||||
hif_info("TARGET_TYPE_MANGO");
|
hif_info("TARGET_TYPE_MANGO");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TARGET_TYPE_PEACH:
|
||||||
|
scn->targetdef = KIWI_TARGETdef;
|
||||||
|
scn->target_ce_def = KIWI_CE_TARGETdef;
|
||||||
|
hif_info("TARGET_TYPE_PEACH");
|
||||||
|
break;
|
||||||
#endif /* KIWI_HEADERS_DEF */
|
#endif /* KIWI_HEADERS_DEF */
|
||||||
|
|
||||||
#if defined(QCA6750_HEADERS_DEF)
|
#if defined(QCA6750_HEADERS_DEF)
|
||||||
@@ -363,6 +369,11 @@ void hif_register_tbl_attach(struct hif_softc *scn, u32 hif_type)
|
|||||||
scn->hostdef = KIWI_HOSTdef;
|
scn->hostdef = KIWI_HOSTdef;
|
||||||
hif_info("HIF_TYPE_MANGO");
|
hif_info("HIF_TYPE_MANGO");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case HIF_TYPE_PEACH:
|
||||||
|
scn->hostdef = KIWI_HOSTdef;
|
||||||
|
hif_info("HIF_TYPE_PEACH");
|
||||||
|
break;
|
||||||
#endif /* KIWI_HEADERS_DEF */
|
#endif /* KIWI_HEADERS_DEF */
|
||||||
|
|
||||||
#if defined(QCA6750_HEADERS_DEF)
|
#if defined(QCA6750_HEADERS_DEF)
|
||||||
|
@@ -226,7 +226,8 @@ void target_if_cfr_fill_header(struct csi_cfr_header *hdr,
|
|||||||
target_type == TARGET_TYPE_QCA6490 ||
|
target_type == TARGET_TYPE_QCA6490 ||
|
||||||
target_type == TARGET_TYPE_QCA6750 ||
|
target_type == TARGET_TYPE_QCA6750 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO)
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH)
|
||||||
hdr->cmn.cfr_metadata_version = CFR_META_VERSION_7;
|
hdr->cmn.cfr_metadata_version = CFR_META_VERSION_7;
|
||||||
else if ((target_type == TARGET_TYPE_QCA6018) ||
|
else if ((target_type == TARGET_TYPE_QCA6018) ||
|
||||||
((target_type == TARGET_TYPE_QCA5018) && (!is_rcc)))
|
((target_type == TARGET_TYPE_QCA5018) && (!is_rcc)))
|
||||||
@@ -254,6 +255,8 @@ void target_if_cfr_fill_header(struct csi_cfr_header *hdr,
|
|||||||
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_KIWI;
|
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_KIWI;
|
||||||
else if (target_type == TARGET_TYPE_MANGO)
|
else if (target_type == TARGET_TYPE_MANGO)
|
||||||
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_MANGO;
|
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_MANGO;
|
||||||
|
else if (target_type == TARGET_TYPE_PEACH)
|
||||||
|
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_PEACH;
|
||||||
else
|
else
|
||||||
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_CYP;
|
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_CYP;
|
||||||
}
|
}
|
||||||
@@ -321,6 +324,8 @@ static QDF_STATUS target_if_cfr_init_target(struct wlan_objmgr_psoc *psoc,
|
|||||||
cfr_pdev->chip_type = CFR_CAPTURE_RADIO_KIWI;
|
cfr_pdev->chip_type = CFR_CAPTURE_RADIO_KIWI;
|
||||||
else if (target == TARGET_TYPE_MANGO)
|
else if (target == TARGET_TYPE_MANGO)
|
||||||
cfr_pdev->chip_type = CFR_CAPTURE_RADIO_MANGO;
|
cfr_pdev->chip_type = CFR_CAPTURE_RADIO_MANGO;
|
||||||
|
else if (target == TARGET_TYPE_PEACH)
|
||||||
|
cfr_pdev->chip_type = CFR_CAPTURE_RADIO_PEACH;
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -362,7 +367,8 @@ target_if_cfr_init_pdev(struct wlan_objmgr_psoc *psoc,
|
|||||||
if (target_type == TARGET_TYPE_QCA6490 ||
|
if (target_type == TARGET_TYPE_QCA6490 ||
|
||||||
target_type == TARGET_TYPE_QCA6750 ||
|
target_type == TARGET_TYPE_QCA6750 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO) {
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH) {
|
||||||
status = target_if_cfr_init_target(psoc,
|
status = target_if_cfr_init_target(psoc,
|
||||||
pdev, target_type);
|
pdev, target_type);
|
||||||
} else if (target_type == TARGET_TYPE_ADRASTEA) {
|
} else if (target_type == TARGET_TYPE_ADRASTEA) {
|
||||||
@@ -387,7 +393,8 @@ target_if_cfr_deinit_pdev(struct wlan_objmgr_psoc *psoc,
|
|||||||
if (target_type == TARGET_TYPE_QCA6490 ||
|
if (target_type == TARGET_TYPE_QCA6490 ||
|
||||||
target_type == TARGET_TYPE_QCA6750 ||
|
target_type == TARGET_TYPE_QCA6750 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO) {
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH) {
|
||||||
status = target_if_cfr_deinit_target(psoc, pdev);
|
status = target_if_cfr_deinit_target(psoc, pdev);
|
||||||
} else if (target_type == TARGET_TYPE_ADRASTEA) {
|
} else if (target_type == TARGET_TYPE_ADRASTEA) {
|
||||||
status = cfr_adrastea_deinit_pdev(psoc, pdev);
|
status = cfr_adrastea_deinit_pdev(psoc, pdev);
|
||||||
|
@@ -2119,7 +2119,8 @@ target_if_init_spectral_param_min_max(
|
|||||||
target_type == TARGET_TYPE_QCA5018 ||
|
target_type == TARGET_TYPE_QCA5018 ||
|
||||||
target_type == TARGET_TYPE_QCA6490 ||
|
target_type == TARGET_TYPE_QCA6490 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO) {
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH) {
|
||||||
param_min_max->fft_size_max[CH_WIDTH_40MHZ] =
|
param_min_max->fft_size_max[CH_WIDTH_40MHZ] =
|
||||||
SPECTRAL_PARAM_FFT_SIZE_MAX_GEN3_QCN9000;
|
SPECTRAL_PARAM_FFT_SIZE_MAX_GEN3_QCN9000;
|
||||||
param_min_max->fft_size_max[CH_WIDTH_80MHZ] =
|
param_min_max->fft_size_max[CH_WIDTH_80MHZ] =
|
||||||
@@ -2481,7 +2482,8 @@ target_if_init_spectral_capability(struct target_if_spectral *spectral,
|
|||||||
target_type == TARGET_TYPE_QCN9160 ||
|
target_type == TARGET_TYPE_QCN9160 ||
|
||||||
target_type == TARGET_TYPE_QCA6490 ||
|
target_type == TARGET_TYPE_QCA6490 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO) {
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH) {
|
||||||
pcap->num_detectors_160mhz = 1;
|
pcap->num_detectors_160mhz = 1;
|
||||||
pcap->num_detectors_80p80mhz = 1;
|
pcap->num_detectors_80p80mhz = 1;
|
||||||
pcap->num_detectors_320mhz = 0;
|
pcap->num_detectors_320mhz = 0;
|
||||||
@@ -3140,7 +3142,8 @@ target_if_spectral_len_adj_swar_init(struct spectral_fft_bin_len_adj_swar *swar,
|
|||||||
target_type == TARGET_TYPE_QCA6750 ||
|
target_type == TARGET_TYPE_QCA6750 ||
|
||||||
target_type == TARGET_TYPE_QCA6490 ||
|
target_type == TARGET_TYPE_QCA6490 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO) {
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH) {
|
||||||
swar->fftbin_size_war = SPECTRAL_FFTBIN_SIZE_WAR_2BYTE_TO_1BYTE;
|
swar->fftbin_size_war = SPECTRAL_FFTBIN_SIZE_WAR_2BYTE_TO_1BYTE;
|
||||||
rparams->hw_fft_bin_width = 2;
|
rparams->hw_fft_bin_width = 2;
|
||||||
} else if (target_type == TARGET_TYPE_QCA8074 ||
|
} else if (target_type == TARGET_TYPE_QCA8074 ||
|
||||||
@@ -3165,7 +3168,8 @@ target_if_spectral_len_adj_swar_init(struct spectral_fft_bin_len_adj_swar *swar,
|
|||||||
target_type == TARGET_TYPE_QCA6490 ||
|
target_type == TARGET_TYPE_QCA6490 ||
|
||||||
target_type == TARGET_TYPE_QCN9224 ||
|
target_type == TARGET_TYPE_QCN9224 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO) {
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH) {
|
||||||
swar->inband_fftbin_size_adj = 1;
|
swar->inband_fftbin_size_adj = 1;
|
||||||
swar->null_fftbin_adj = 1;
|
swar->null_fftbin_adj = 1;
|
||||||
} else {
|
} else {
|
||||||
@@ -3211,7 +3215,8 @@ target_if_spectral_report_params_init(
|
|||||||
target_type == TARGET_TYPE_QCA5332 ||
|
target_type == TARGET_TYPE_QCA5332 ||
|
||||||
target_type == TARGET_TYPE_QCN9224 ||
|
target_type == TARGET_TYPE_QCN9224 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO) {
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH) {
|
||||||
rparams->version = SPECTRAL_REPORT_FORMAT_VERSION_2;
|
rparams->version = SPECTRAL_REPORT_FORMAT_VERSION_2;
|
||||||
rparams->num_spectral_detectors =
|
rparams->num_spectral_detectors =
|
||||||
NUM_SPECTRAL_DETECTORS_GEN3_V2;
|
NUM_SPECTRAL_DETECTORS_GEN3_V2;
|
||||||
@@ -3252,7 +3257,8 @@ target_if_spectral_report_params_init(
|
|||||||
target_type == TARGET_TYPE_QCN9160 ||
|
target_type == TARGET_TYPE_QCN9160 ||
|
||||||
target_type == TARGET_TYPE_QCA6490 ||
|
target_type == TARGET_TYPE_QCA6490 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO) {
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH) {
|
||||||
rparams->detid_mode_table[SPECTRAL_DETECTOR_ID_1] =
|
rparams->detid_mode_table[SPECTRAL_DETECTOR_ID_1] =
|
||||||
SPECTRAL_SCAN_MODE_AGILE;
|
SPECTRAL_SCAN_MODE_AGILE;
|
||||||
rparams->detid_mode_table[SPECTRAL_DETECTOR_ID_2] =
|
rparams->detid_mode_table[SPECTRAL_DETECTOR_ID_2] =
|
||||||
@@ -3674,7 +3680,8 @@ target_if_pdev_spectral_init(struct wlan_objmgr_pdev *pdev)
|
|||||||
target_type == TARGET_TYPE_QCA6750 ||
|
target_type == TARGET_TYPE_QCA6750 ||
|
||||||
target_type == TARGET_TYPE_QCN9224 ||
|
target_type == TARGET_TYPE_QCN9224 ||
|
||||||
target_type == TARGET_TYPE_KIWI ||
|
target_type == TARGET_TYPE_KIWI ||
|
||||||
target_type == TARGET_TYPE_MANGO)
|
target_type == TARGET_TYPE_MANGO ||
|
||||||
|
target_type == TARGET_TYPE_PEACH)
|
||||||
spectral->direct_dma_support = true;
|
spectral->direct_dma_support = true;
|
||||||
|
|
||||||
target_if_spectral_report_params_init(&spectral->rparams,
|
target_if_spectral_report_params_init(&spectral->rparams,
|
||||||
@@ -3698,7 +3705,8 @@ target_if_pdev_spectral_init(struct wlan_objmgr_pdev *pdev)
|
|||||||
(target_type == TARGET_TYPE_QCN9224) ||
|
(target_type == TARGET_TYPE_QCN9224) ||
|
||||||
(target_type == TARGET_TYPE_QCA6750) ||
|
(target_type == TARGET_TYPE_QCA6750) ||
|
||||||
(target_type == TARGET_TYPE_KIWI) ||
|
(target_type == TARGET_TYPE_KIWI) ||
|
||||||
(target_type == TARGET_TYPE_MANGO)) {
|
(target_type == TARGET_TYPE_MANGO) ||
|
||||||
|
(target_type == TARGET_TYPE_PEACH)) {
|
||||||
spectral->spectral_gen = SPECTRAL_GEN3;
|
spectral->spectral_gen = SPECTRAL_GEN3;
|
||||||
spectral->hdr_sig_exp = SPECTRAL_PHYERR_SIGNATURE_GEN3;
|
spectral->hdr_sig_exp = SPECTRAL_PHYERR_SIGNATURE_GEN3;
|
||||||
spectral->tag_sscan_summary_exp =
|
spectral->tag_sscan_summary_exp =
|
||||||
|
@@ -122,6 +122,7 @@ enum cfrradiotype {
|
|||||||
CFR_CAPTURE_RADIO_MANGO,
|
CFR_CAPTURE_RADIO_MANGO,
|
||||||
CFR_CAPTURE_RADIO_MIAMI,
|
CFR_CAPTURE_RADIO_MIAMI,
|
||||||
CFR_CAPTURE_RADIO_YORK,
|
CFR_CAPTURE_RADIO_YORK,
|
||||||
|
CFR_CAPTURE_RADIO_PEACH,
|
||||||
CFR_CAPTURE_RADIO_MAX = 0xFF,
|
CFR_CAPTURE_RADIO_MAX = 0xFF,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user