drm: bridge: adv7511: remove s32 format from i2s capabilities
[drm/drm-misc.git] / drivers / net / wireless / mediatek / mt76 / mt792x_acpi_sar.h
blob2298983b6342fde6b4cc415317460874bb463abb
1 /* SPDX-License-Identifier: ISC */
2 /* Copyright (C) 2023 MediaTek Inc. */
4 #ifndef __MT7921_ACPI_SAR_H
5 #define __MT7921_ACPI_SAR_H
7 #define MT792x_ASAR_MIN_DYN 1
8 #define MT792x_ASAR_MAX_DYN 8
9 #define MT792x_ASAR_MIN_GEO 3
10 #define MT792x_ASAR_MAX_GEO 8
11 #define MT792x_ASAR_MIN_FG 8
13 #define MT792x_ACPI_MTCL "MTCL"
14 #define MT792x_ACPI_MTDS "MTDS"
15 #define MT792x_ACPI_MTGS "MTGS"
16 #define MT792x_ACPI_MTFG "MTFG"
18 struct mt792x_asar_dyn_limit {
19 u8 idx;
20 u8 frp[5];
21 } __packed;
23 struct mt792x_asar_dyn {
24 u8 names[4];
25 u8 enable;
26 u8 nr_tbl;
27 DECLARE_FLEX_ARRAY(struct mt792x_asar_dyn_limit, tbl);
28 } __packed;
30 struct mt792x_asar_dyn_limit_v2 {
31 u8 idx;
32 u8 frp[11];
33 } __packed;
35 struct mt792x_asar_dyn_v2 {
36 u8 names[4];
37 u8 enable;
38 u8 rsvd;
39 u8 nr_tbl;
40 DECLARE_FLEX_ARRAY(struct mt792x_asar_dyn_limit_v2, tbl);
41 } __packed;
43 struct mt792x_asar_geo_band {
44 u8 pwr;
45 u8 offset;
46 } __packed;
48 struct mt792x_asar_geo_limit {
49 u8 idx;
50 /* 0:2G, 1:5G */
51 struct mt792x_asar_geo_band band[2];
52 } __packed;
54 struct mt792x_asar_geo {
55 u8 names[4];
56 u8 version;
57 u8 nr_tbl;
58 DECLARE_FLEX_ARRAY(struct mt792x_asar_geo_limit, tbl);
59 } __packed;
61 struct mt792x_asar_geo_limit_v2 {
62 u8 idx;
63 /* 0:2G, 1:5G, 2:6G */
64 struct mt792x_asar_geo_band band[3];
65 } __packed;
67 struct mt792x_asar_geo_v2 {
68 u8 names[4];
69 u8 version;
70 u8 rsvd;
71 u8 nr_tbl;
72 DECLARE_FLEX_ARRAY(struct mt792x_asar_geo_limit_v2, tbl);
73 } __packed;
75 struct mt792x_asar_cl {
76 u8 names[4];
77 u8 version;
78 u8 mode_6g;
79 u8 cl6g[6];
80 u8 mode_5g9;
81 u8 cl5g9[6];
82 } __packed;
84 struct mt792x_asar_fg {
85 u8 names[4];
86 u8 version;
87 u8 rsvd;
88 u8 nr_flag;
89 u8 rsvd1;
90 u8 flag[];
91 } __packed;
93 struct mt792x_acpi_sar {
94 u8 ver;
95 union {
96 struct mt792x_asar_dyn *dyn;
97 struct mt792x_asar_dyn_v2 *dyn_v2;
99 union {
100 struct mt792x_asar_geo *geo;
101 struct mt792x_asar_geo_v2 *geo_v2;
103 struct mt792x_asar_cl *countrylist;
104 struct mt792x_asar_fg *fg;
107 #endif