xref: /freebsd/sys/contrib/dev/mediatek/mt76/mt7996/mac.h (revision 397e83df75e0fcd0d3fcb95ae4d794cb7600fc89)
1 /* SPDX-License-Identifier: ISC */
2 /*
3  * Copyright (C) 2022 MediaTek Inc.
4  */
5 
6 #ifndef __MT7996_MAC_H
7 #define __MT7996_MAC_H
8 
9 #include "../mt76_connac3_mac.h"
10 
11 struct mt7996_dfs_pulse {
12 	u32 max_width;		/* us */
13 	int max_pwr;		/* dbm */
14 	int min_pwr;		/* dbm */
15 	u32 min_stgr_pri;	/* us */
16 	u32 max_stgr_pri;	/* us */
17 	u32 min_cr_pri;		/* us */
18 	u32 max_cr_pri;		/* us */
19 };
20 
21 struct mt7996_dfs_pattern {
22 	u8 enb;
23 	u8 stgr;
24 	u8 min_crpn;
25 	u8 max_crpn;
26 	u8 min_crpr;
27 	u8 min_pw;
28 	u32 min_pri;
29 	u32 max_pri;
30 	u8 max_pw;
31 	u8 min_crbn;
32 	u8 max_crbn;
33 	u8 min_stgpn;
34 	u8 max_stgpn;
35 	u8 min_stgpr;
36 	u8 rsv[2];
37 	u32 min_stgpr_diff;
38 } __packed;
39 
40 struct mt7996_dfs_radar_spec {
41 	struct mt7996_dfs_pulse pulse_th;
42 	struct mt7996_dfs_pattern radar_pattern[16];
43 };
44 
45 #endif
46