ソースを参照

qcacmn: Add support for Mango device id

Add support for Mango device id.

Change-Id: I2b32a39e258caab408723db77f132af364dc6b04
CRs-Fixed: 3232512
Srinivas Girigowda 3 年 前
コミット
6d056b9959

+ 3 - 1
dp/inc/cdp_txrx_cmn_reg.h

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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
@@ -131,6 +131,7 @@ static inline int cdp_get_arch_type_from_devid(uint16_t devid)
 	case BERYLLIUM_DP:
 	case KIWI_DEVICE_ID:
 	case QCN9224_DEVICE_ID:
+	case MANGO_DEVICE_ID:
 		return CDP_ARCH_TYPE_BE;
 	default:
 		return CDP_ARCH_TYPE_NONE;
@@ -174,6 +175,7 @@ ol_txrx_soc_handle cdp_soc_attach(u_int16_t devid,
 	case RUMIM2M_DEVICE_ID_NODE5: /*lithium emulation */
 	case KIWI_DEVICE_ID:
 	case QCN9224_DEVICE_ID:
+	case MANGO_DEVICE_ID:
 		return dp_soc_attach_wifi3(psoc, &params);
 	break;
 	default:

+ 3 - 0
dp/wifi3.0/dp_main.c

@@ -9951,6 +9951,7 @@ static QDF_STATUS dp_set_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
 		pdev->ch_band_lmac_id_mapping[REG_BAND_6G] = DP_MAC0_LMAC_ID;
 		break;
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		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_6G] = DP_MAC0_LMAC_ID;
@@ -15474,6 +15475,7 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
 		soc->wlan_cfg_ctx->rxdma1_enable = 0;
 		break;
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
 					       REO_DST_RING_SIZE_QCA6290);
 		soc->ast_override_support = 1;
@@ -15576,6 +15578,7 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
 		soc->wlan_cfg_ctx->rxdma1_enable = 0;
 		break;
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
 					       REO_DST_RING_SIZE_QCA6290);
 		soc->wlan_cfg_ctx->rxdma1_enable = 0;

+ 4 - 0
dp/wifi3.0/monitor/dp_mon.c

@@ -4917,6 +4917,7 @@ QDF_STATUS dp_mon_soc_cfg_init(struct dp_soc *soc)
 	case TARGET_TYPE_QCA6490:
 	case TARGET_TYPE_QCA6750:
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		/* do nothing */
 		break;
 	case TARGET_TYPE_QCA8074:
@@ -4978,6 +4979,7 @@ static void dp_mon_pdev_per_target_config(struct dp_pdev *pdev)
 	target_type = hal_get_target_type(soc->hal_soc);
 	switch (target_type) {
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		mon_pdev->is_tlv_hdr_64_bit = true;
 		break;
 	default:
@@ -5595,6 +5597,7 @@ void dp_mon_ops_register(struct dp_soc *soc)
 	case TARGET_TYPE_QCA6490:
 	case TARGET_TYPE_QCA6750:
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 	case TARGET_TYPE_QCA8074:
 	case TARGET_TYPE_QCA8074V2:
 	case TARGET_TYPE_QCA6018:
@@ -5653,6 +5656,7 @@ void dp_mon_cdp_ops_register(struct dp_soc *soc)
 	case TARGET_TYPE_QCA6490:
 	case TARGET_TYPE_QCA6750:
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 	case TARGET_TYPE_QCA8074:
 	case TARGET_TYPE_QCA8074V2:
 	case TARGET_TYPE_QCA6018:

+ 1 - 0
hal/wifi3.0/be/hal_be_api_mon.h

@@ -2266,6 +2266,7 @@ hal_rx_status_get_tlv_info_generic_be(void *rx_tlv_hdr, void *ppduinfo,
 		case TARGET_TYPE_QCA6490:
 		case TARGET_TYPE_QCA6750:
 		case TARGET_TYPE_KIWI:
+		case TARGET_TYPE_MANGO:
 			ppdu_info->rx_status.nss = 0;
 			break;
 		default:

+ 1 - 0
hal/wifi3.0/hal_srng.c

@@ -440,6 +440,7 @@ static void hal_target_based_configure(struct hal_soc *hal)
 #endif
 #ifdef QCA_WIFI_KIWI
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		hal->use_register_windowing = true;
 		hal_kiwi_attach(hal);
 		break;

+ 1 - 0
hif/inc/hif.h

@@ -80,6 +80,7 @@ typedef void *hif_handle_t;
 #define HIF_TYPE_KIWI 26
 #define HIF_TYPE_QCN9224 27
 #define HIF_TYPE_QCA9574 28
+#define HIF_TYPE_MANGO 29
 
 #define DMA_COHERENT_MASK_DEFAULT   37
 

+ 6 - 1
hif/inc/target_type.h

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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
@@ -85,6 +85,11 @@ extern "C" {
 #define TARGET_TYPE_QCA9574      33
 #endif
 
+/* Yamuna */
+#ifndef TARGET_TYPE_MANGO
+#define TARGET_TYPE_MANGO 34
+#endif
+
 #ifdef __cplusplus
 }
 #endif

+ 6 - 2
hif/src/ath_procfs.c

@@ -112,7 +112,8 @@ static ssize_t ath_procfs_diag_read_legacy(struct file *file,
 	     (tgt_info->target_type == TARGET_TYPE_QCA5018) ||
 	     (tgt_info->target_type == TARGET_TYPE_QCA6018) ||
 	     (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))) ||
 	    (scn->bus_type ==  QDF_BUS_TYPE_IPCI &&
 	     (tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
 	    ((scn->bus_type ==  QDF_BUS_TYPE_USB) &&
@@ -194,7 +195,8 @@ static ssize_t ath_procfs_diag_write_legacy(struct file *file,
 	      (tgt_info->target_type == TARGET_TYPE_QCA5018) ||
 	      (tgt_info->target_type == TARGET_TYPE_QCA6018) ||
 	      (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))) ||
 	    (scn->bus_type ==  QDF_BUS_TYPE_IPCI &&
 	     (tgt_info->target_type == TARGET_TYPE_QCA6750)) ||
 	    ((scn->bus_type ==  QDF_BUS_TYPE_USB) &&
@@ -341,6 +343,7 @@ static ssize_t ath_procfs_diag_read_ext(struct file *file, char __user *buf,
 		case TARGET_TYPE_QCA6390:
 		case TARGET_TYPE_QCA6490:
 		case TARGET_TYPE_KIWI:
+		case TARGET_TYPE_MANGO:
 			if (op_type == OP_TYPE_EXT_DIRECT)
 				rv = ath_procfs_direct_read(scn,
 							    offset,
@@ -416,6 +419,7 @@ static ssize_t ath_procfs_diag_write_ext(struct file *file,
 		case TARGET_TYPE_QCA6390:
 		case TARGET_TYPE_QCA6490:
 		case TARGET_TYPE_KIWI:
+		case TARGET_TYPE_MANGO:
 			if (op_type == OP_TYPE_EXT_DIRECT)
 				rv = ath_procfs_direct_write(scn,
 							     offset,

+ 4 - 0
hif/src/ce/ce_main.c

@@ -1365,6 +1365,7 @@ static void hif_select_service_to_pipe_map(struct hif_softc *scn,
 				sizeof(target_service_to_ce_map_qca6750);
 			break;
 		case TARGET_TYPE_KIWI:
+		case TARGET_TYPE_MANGO:
 			*tgt_svc_map_to_use = target_service_to_ce_map_kiwi;
 			*sz_tgt_svc_map_to_use =
 				sizeof(target_service_to_ce_map_kiwi);
@@ -1674,6 +1675,7 @@ bool ce_srng_based(struct hif_softc *scn)
 	case TARGET_TYPE_QCN6122:
 	case TARGET_TYPE_QCA5018:
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 	case TARGET_TYPE_QCN9224:
 	case TARGET_TYPE_QCA9574:
 		return true;
@@ -3804,6 +3806,7 @@ int hif_wlan_enable(struct hif_softc *scn)
 
 	switch (tgt_info->target_type) {
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		hif_prepare_hal_shadow_reg_cfg_v3(scn, &cfg);
 		break;
 	default:
@@ -4052,6 +4055,7 @@ void hif_ce_prepare_config(struct hif_softc *scn)
 		scn->ce_count = QCA_6750_CE_COUNT;
 		break;
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		hif_state->host_ce_config = host_ce_config_wlan_kiwi;
 		hif_state->target_ce_config = target_ce_config_wlan_kiwi;
 		hif_state->target_ce_config_sz =

+ 2 - 1
hif/src/hif_hw_version.h

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2012-2018, 2020-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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
@@ -40,6 +40,7 @@
 #define WCN3990_v2_1                    0x40010002
 #define WCN3998                         0x40030001
 #define AR900B_REV_2                    0x1
+#define MANGO_V1                        0xDEADBEEF	// TODO Define this
 
 struct qwlan_hw {
 	u32 id;

+ 11 - 0
hif/src/hif_main.c

@@ -362,6 +362,11 @@ static const struct qwlan_hw qwlan_hw_list[] = {
 		.id = KIWI_V1,
 		.subid = 0xE,
 		.name = "KIWI_V1",
+	},
+	{
+		.id = MANGO_V1,
+		.subid = 0xF,
+		.name = "MANGO_V1",
 	}
 };
 
@@ -1614,6 +1619,12 @@ int hif_get_device_type(uint32_t device_id,
 		hif_info(" *********** KIWI *************");
 		break;
 
+	case MANGO_DEVICE_ID:
+		*hif_type = HIF_TYPE_MANGO;
+		*target_type = TARGET_TYPE_MANGO;
+		hif_info(" *********** MANGO *************");
+		break;
+
 	case QCA8074V2_DEVICE_ID:
 		*hif_type = HIF_TYPE_QCA8074V2;
 		*target_type = TARGET_TYPE_QCA8074V2;

+ 1 - 0
hif/src/hif_main.h

@@ -97,6 +97,7 @@
 /* TODO: change IDs for HastingsPrime */
 #define QCA6490_EMULATION_DEVICE_ID (0x010a)
 #define QCA6490_DEVICE_ID (0x1103)
+#define MANGO_DEVICE_ID (0x110a)
 
 /* TODO: change IDs for Moselle */
 #define QCA6750_EMULATION_DEVICE_ID (0x010c)

+ 4 - 1
hif/src/pcie/if_pci.c

@@ -3668,6 +3668,7 @@ static bool hif_is_pld_based_target(struct hif_pci_softc *sc,
 	case AR6320_DEVICE_ID:
 	case QCN7605_DEVICE_ID:
 	case KIWI_DEVICE_ID:
+	case MANGO_DEVICE_ID:
 		return true;
 	}
 	return false;
@@ -3696,6 +3697,7 @@ static void hif_pci_init_reg_windowing_support(struct hif_pci_softc *sc,
 	case TARGET_TYPE_QCA6490:
 	case TARGET_TYPE_QCA6390:
 	case TARGET_TYPE_KIWI:
+	case TARGET_TYPE_MANGO:
 		sc->use_register_windowing = true;
 		qdf_spinlock_create(&sc->register_access_lock);
 		sc->register_window = 0;
@@ -3917,7 +3919,8 @@ int hif_pci_addr_in_boundary(struct hif_softc *scn, uint32_t offset)
 	    tgt_info->target_type == TARGET_TYPE_QCA6490 ||
 	    tgt_info->target_type == TARGET_TYPE_QCN7605 ||
 	    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) {
 		/*
 		 * Need to consider offset's memtype for QCA6290/QCA8074,
 		 * also mem_len and DRAM_BASE_ADDRESS/DRAM_SIZE need to be

+ 11 - 0
hif/src/regtable.c

@@ -180,6 +180,12 @@ void hif_target_register_tbl_attach(struct hif_softc *scn, u32 target_type)
 		scn->target_ce_def = KIWI_CE_TARGETdef;
 		hif_info("TARGET_TYPE_KIWI");
 		break;
+
+	case TARGET_TYPE_MANGO:
+		scn->targetdef = KIWI_TARGETdef;
+		scn->target_ce_def = KIWI_CE_TARGETdef;
+		hif_info("TARGET_TYPE_MANGO");
+		break;
 #endif /* KIWI_HEADERS_DEF */
 
 #if defined(QCA6750_HEADERS_DEF)
@@ -316,6 +322,11 @@ void hif_register_tbl_attach(struct hif_softc *scn, u32 hif_type)
 		scn->hostdef = KIWI_HOSTdef;
 		hif_info("HIF_TYPE_KIWI");
 		break;
+
+	case HIF_TYPE_MANGO:
+		scn->hostdef = KIWI_HOSTdef;
+		hif_info("HIF_TYPE_MANGO");
+		break;
 #endif /* KIWI_HEADERS_DEF */
 
 #if defined(QCA6750_HEADERS_DEF)

+ 10 - 3
target_if/cfr/src/target_if_cfr.c

@@ -250,7 +250,8 @@ void target_if_cfr_fill_header(struct csi_cfr_header *hdr,
 		else if (target_type == TARGET_TYPE_QCN9224 ||
 			 target_type == TARGET_TYPE_QCA6490 ||
 			 target_type == TARGET_TYPE_QCA6750 ||
-			 target_type == TARGET_TYPE_KIWI)
+			 target_type == TARGET_TYPE_KIWI ||
+			 target_type == TARGET_TYPE_MANGO)
 			hdr->cmn.cfr_metadata_version = CFR_META_VERSION_7;
 		else if ((target_type == TARGET_TYPE_QCA6018) ||
 			 ((target_type == TARGET_TYPE_QCA5018) && (!is_rcc)))
@@ -272,6 +273,8 @@ void target_if_cfr_fill_header(struct csi_cfr_header *hdr,
 			hdr->cmn.chip_type = CFR_CAPTURE_RADIO_MOSELLE;
 		else if (target_type == TARGET_TYPE_KIWI)
 			hdr->cmn.chip_type = CFR_CAPTURE_RADIO_KIWI;
+		else if (target_type == TARGET_TYPE_MANGO)
+			hdr->cmn.chip_type = CFR_CAPTURE_RADIO_MANGO;
 		else
 			hdr->cmn.chip_type = CFR_CAPTURE_RADIO_CYP;
 	}
@@ -337,6 +340,8 @@ static QDF_STATUS target_if_cfr_init_target(struct wlan_objmgr_psoc *psoc,
 		cfr_pdev->chip_type = CFR_CAPTURE_RADIO_MOSELLE;
 	else if (target == TARGET_TYPE_KIWI)
 		cfr_pdev->chip_type = CFR_CAPTURE_RADIO_KIWI;
+	else if (target == TARGET_TYPE_MANGO)
+		cfr_pdev->chip_type = CFR_CAPTURE_RADIO_MANGO;
 
 	return status;
 }
@@ -377,7 +382,8 @@ target_if_cfr_init_pdev(struct wlan_objmgr_psoc *psoc,
 
 	if (target_type == TARGET_TYPE_QCA6490 ||
 	    target_type == TARGET_TYPE_QCA6750 ||
-	    target_type == TARGET_TYPE_KIWI) {
+	    target_type == TARGET_TYPE_KIWI ||
+	    target_type == TARGET_TYPE_MANGO) {
 		status = target_if_cfr_init_target(psoc,
 						   pdev, target_type);
 	} else if (target_type == TARGET_TYPE_ADRASTEA) {
@@ -401,7 +407,8 @@ target_if_cfr_deinit_pdev(struct wlan_objmgr_psoc *psoc,
 
 	if (target_type == TARGET_TYPE_QCA6490 ||
 	    target_type == TARGET_TYPE_QCA6750 ||
-	    target_type == TARGET_TYPE_KIWI) {
+	    target_type == TARGET_TYPE_KIWI ||
+	    target_type == TARGET_TYPE_MANGO) {
 		status = target_if_cfr_deinit_target(psoc, pdev);
 	} else if (target_type == TARGET_TYPE_ADRASTEA) {
 		status = cfr_adrastea_deinit_pdev(psoc, pdev);

+ 16 - 8
target_if/spectral/target_if_spectral.c

@@ -2116,7 +2116,8 @@ target_if_init_spectral_param_min_max(
 		    target_type == TARGET_TYPE_QCN6122 ||
 		    target_type == TARGET_TYPE_QCA5018 ||
 		    target_type == TARGET_TYPE_QCA6490 ||
-		    target_type == TARGET_TYPE_KIWI) {
+		    target_type == TARGET_TYPE_KIWI ||
+		    target_type == TARGET_TYPE_MANGO) {
 			param_min_max->fft_size_max[CH_WIDTH_40MHZ] =
 				SPECTRAL_PARAM_FFT_SIZE_MAX_GEN3_QCN9000;
 			param_min_max->fft_size_max[CH_WIDTH_80MHZ] =
@@ -2476,7 +2477,8 @@ target_if_init_spectral_capability(struct target_if_spectral *spectral,
 	if (target_type == TARGET_TYPE_QCN9000 ||
 	    target_type == TARGET_TYPE_QCN6122 ||
 	    target_type == TARGET_TYPE_QCA6490 ||
-	    target_type == TARGET_TYPE_KIWI) {
+	    target_type == TARGET_TYPE_KIWI ||
+	    target_type == TARGET_TYPE_MANGO) {
 		pcap->num_detectors_160mhz = 1;
 		pcap->num_detectors_80p80mhz = 1;
 		pcap->num_detectors_320mhz = 0;
@@ -3133,7 +3135,8 @@ target_if_spectral_len_adj_swar_init(struct spectral_fft_bin_len_adj_swar *swar,
 	    target_type == TARGET_TYPE_QCA5018 ||
 	    target_type == TARGET_TYPE_QCA6750 ||
 	    target_type == TARGET_TYPE_QCA6490 ||
-	    target_type == TARGET_TYPE_KIWI) {
+	    target_type == TARGET_TYPE_KIWI ||
+	    target_type == TARGET_TYPE_MANGO) {
 		swar->fftbin_size_war = SPECTRAL_FFTBIN_SIZE_WAR_2BYTE_TO_1BYTE;
 		rparams->hw_fft_bin_width = 2;
 	} else if (target_type == TARGET_TYPE_QCA8074 ||
@@ -3155,7 +3158,8 @@ target_if_spectral_len_adj_swar_init(struct spectral_fft_bin_len_adj_swar *swar,
 	    target_type == TARGET_TYPE_QCN9000 ||
 	    target_type == TARGET_TYPE_QCA6490 ||
 	    target_type == TARGET_TYPE_QCN9224 ||
-	    target_type == TARGET_TYPE_KIWI) {
+	    target_type == TARGET_TYPE_KIWI ||
+	    target_type == TARGET_TYPE_MANGO) {
 		swar->inband_fftbin_size_adj = 1;
 		swar->null_fftbin_adj = 1;
 	} else {
@@ -3198,7 +3202,8 @@ target_if_spectral_report_params_init(
 	    target_type == TARGET_TYPE_QCA6750 ||
 	    target_type == TARGET_TYPE_QCA6490 ||
 	    target_type == TARGET_TYPE_QCN9224 ||
-	    target_type == TARGET_TYPE_KIWI) {
+	    target_type == TARGET_TYPE_KIWI ||
+	    target_type == TARGET_TYPE_MANGO) {
 		rparams->version = SPECTRAL_REPORT_FORMAT_VERSION_2;
 		rparams->num_spectral_detectors =
 				NUM_SPECTRAL_DETECTORS_GEN3_V2;
@@ -3237,7 +3242,8 @@ target_if_spectral_report_params_init(
 	    target_type == TARGET_TYPE_QCN6122 ||
 	    target_type == TARGET_TYPE_QCN9224 ||
 	    target_type == TARGET_TYPE_QCA6490 ||
-	    target_type == TARGET_TYPE_KIWI) {
+	    target_type == TARGET_TYPE_KIWI ||
+	    target_type == TARGET_TYPE_MANGO) {
 		rparams->detid_mode_table[SPECTRAL_DETECTOR_ID_1] =
 						SPECTRAL_SCAN_MODE_AGILE;
 		rparams->detid_mode_table[SPECTRAL_DETECTOR_ID_2] =
@@ -3660,7 +3666,8 @@ target_if_pdev_spectral_init(struct wlan_objmgr_pdev *pdev)
 	    target_type == TARGET_TYPE_QCN9000 ||
 	    target_type == TARGET_TYPE_QCA6750 ||
 	    target_type == TARGET_TYPE_QCN9224 ||
-	    target_type == TARGET_TYPE_KIWI)
+	    target_type == TARGET_TYPE_KIWI ||
+	    target_type == TARGET_TYPE_MANGO)
 		spectral->direct_dma_support = true;
 
 	target_if_spectral_report_params_init(&spectral->rparams,
@@ -3681,7 +3688,8 @@ target_if_pdev_spectral_init(struct wlan_objmgr_pdev *pdev)
 	    (target_type == TARGET_TYPE_QCA6490) ||
 	    (target_type == TARGET_TYPE_QCN9224) ||
 	    (target_type == TARGET_TYPE_QCA6750) ||
-	    (target_type == TARGET_TYPE_KIWI)) {
+	    (target_type == TARGET_TYPE_KIWI) ||
+	    (target_type == TARGET_TYPE_MANGO)) {
 		spectral->spectral_gen = SPECTRAL_GEN3;
 		spectral->hdr_sig_exp = SPECTRAL_PHYERR_SIGNATURE_GEN3;
 		spectral->tag_sscan_summary_exp =

+ 1 - 0
umac/cfr/dispatcher/inc/wlan_cfr_utils_api.h

@@ -119,6 +119,7 @@ enum cfrradiotype {
 	CFR_CAPTURE_RADIO_ALDER,
 	CFR_CAPTURE_RADIO_WAIKIKI,
 	CFR_CAPTURE_RADIO_KIWI,
+	CFR_CAPTURE_RADIO_MANGO,
 	CFR_CAPTURE_RADIO_MAX = 0xFF,
 };