mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-23 17:55:05 +03:00
- support Android-14 - support Linux kernel 6.9 - support 6G regulation - support Thermal protection - support TX shortcut to reduce CPU loading - fix some coverity issues - Use RTW regulatory version rtk_8852CE_M.2_2230-67-52 - default enable con-current and MCC Bug 4667769 Bug 4667981 Change-Id: Iee069ecdd1f00a0b78285d0a4ef5778ed9ace478 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3195601 Tested-by: Shobek Attupurath <sattupurath@nvidia.com> Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com> GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com> Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
84 lines
2.2 KiB
C
84 lines
2.2 KiB
C
/******************************************************************************
|
|
*
|
|
* Copyright(c) 2020 Realtek Corporation.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of version 2 of the GNU General Public License as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*
|
|
*****************************************************************************/
|
|
#ifndef _PHL_REGULATION_H_
|
|
#define _PHL_REGULATION_H_
|
|
|
|
#define MAX_CH_NUM_GROUP 24
|
|
|
|
enum rtw_regulation_freq_group {
|
|
FREQ_GROUP_2GHZ = 0x0,
|
|
FREQ_GROUP_5GHZ_BAND1,
|
|
FREQ_GROUP_5GHZ_BAND2,
|
|
FREQ_GROUP_5GHZ_BAND3,
|
|
FREQ_GROUP_5GHZ_BAND4,
|
|
FREQ_GROUP_6GHZ_UNII5,
|
|
FREQ_GROUP_6GHZ_UNII6,
|
|
FREQ_GROUP_6GHZ_UNII7,
|
|
FREQ_GROUP_6GHZ_UNII8,
|
|
FREQ_GROUP_MAX
|
|
};
|
|
|
|
enum rtw_regulation_status {
|
|
REGULATION_SUCCESS = 0x0,
|
|
REGULATION_FAILURE,
|
|
REGULATION_DOMAIN_MISMATCH,
|
|
REGULATION_INVALID_2GHZ_RD,
|
|
REGULATION_INVALID_5GHZ_RD,
|
|
REGULATION_INVALID_DOMAIN
|
|
};
|
|
|
|
struct rtw_regulation_chplan_group {
|
|
u32 cnt;
|
|
struct rtw_regulation_channel ch[MAX_CH_NUM_GROUP];
|
|
};
|
|
|
|
struct rtw_domain {
|
|
u8 code;
|
|
u8 reason;
|
|
};
|
|
|
|
bool rtw_phl_set_regulation_info(void* phl,
|
|
struct rtw_regulation_info *regu_info);
|
|
|
|
bool rtw_phl_regu_interface_init(void *phl);
|
|
|
|
bool rtw_phl_regu_interface_deinit(void *phl);
|
|
|
|
enum rtw_regulation_freq_group
|
|
rtw_phl_get_regu_freq_group(enum band_type band, u8 ch);
|
|
|
|
u8 rtw_phl_get_regu_country_ver_ex(
|
|
void *phl, u8 tbl_idx);
|
|
|
|
u8 rtw_phl_get_regu_chplan_ver_ex(
|
|
void *phl, u8 tbl_idx);
|
|
|
|
void rtw_phl_get_6g_regulatory_info(void *phl,
|
|
u8 domain, u8 *dm_code, u8 *regulation, u8 *ch_idx,
|
|
u8 tbl_idx);
|
|
|
|
void rtw_phl_get_chdef_6g(void *phl,
|
|
u8 ch_idx, struct chdef_6ghz *chdef, u8 tbl_idx);
|
|
|
|
u8 rtw_phl_get_cat6g_by_country_ex(void *phl,
|
|
char *country, u8 tbl_idx);
|
|
|
|
/* legacy api, will be removed */
|
|
u8 rtw_phl_get_cat6g_by_country(char *cntry);
|
|
u8 rtw_phl_get_regu_country_ver(void);
|
|
u8 rtw_phl_get_regu_chplan_ver(void);
|
|
|
|
#endif /* _PHL_REGULATION_H_ */
|