Path: blob/main/sys/contrib/dev/mediatek/mt76/mt792x_acpi_sar.h
48378 views
/* SPDX-License-Identifier: ISC */1/* Copyright (C) 2023 MediaTek Inc. */23#ifndef __MT7921_ACPI_SAR_H4#define __MT7921_ACPI_SAR_H56#define MT792x_ASAR_MIN_DYN 17#define MT792x_ASAR_MAX_DYN 88#define MT792x_ASAR_MIN_GEO 39#define MT792x_ASAR_MAX_GEO 810#define MT792x_ASAR_MIN_FG 81112#define MT792x_ACPI_MTCL "MTCL"13#define MT792x_ACPI_MTDS "MTDS"14#define MT792x_ACPI_MTGS "MTGS"15#define MT792x_ACPI_MTFG "MTFG"1617#define MT792X_ACPI_MTCL_INVALID 0xffffffff1819struct mt792x_asar_dyn_limit {20u8 idx;21u8 frp[5];22} __packed;2324struct mt792x_asar_dyn {25u8 names[4];26u8 enable;27u8 nr_tbl;28DECLARE_FLEX_ARRAY(struct mt792x_asar_dyn_limit, tbl);29} __packed;3031struct mt792x_asar_dyn_limit_v2 {32u8 idx;33u8 frp[11];34} __packed;3536struct mt792x_asar_dyn_v2 {37u8 names[4];38u8 enable;39u8 rsvd;40u8 nr_tbl;41DECLARE_FLEX_ARRAY(struct mt792x_asar_dyn_limit_v2, tbl);42} __packed;4344struct mt792x_asar_geo_band {45u8 pwr;46u8 offset;47} __packed;4849struct mt792x_asar_geo_limit {50u8 idx;51/* 0:2G, 1:5G */52struct mt792x_asar_geo_band band[2];53} __packed;5455struct mt792x_asar_geo {56u8 names[4];57u8 version;58u8 nr_tbl;59DECLARE_FLEX_ARRAY(struct mt792x_asar_geo_limit, tbl);60} __packed;6162struct mt792x_asar_geo_limit_v2 {63u8 idx;64/* 0:2G, 1:5G, 2:6G */65struct mt792x_asar_geo_band band[3];66} __packed;6768struct mt792x_asar_geo_v2 {69u8 names[4];70u8 version;71u8 rsvd;72u8 nr_tbl;73DECLARE_FLEX_ARRAY(struct mt792x_asar_geo_limit_v2, tbl);74} __packed;7576struct mt792x_asar_cl_v3 {77u8 names[4];78u8 version;79u8 mode_6g;80u8 cl6g[6];81u8 mode_5g9;82u8 cl5g9[6];83u8 mode_be;84u8 clbe[6];85} __packed;8687struct mt792x_asar_cl {88u8 names[4];89u8 version;90u8 mode_6g;91u8 cl6g[6];92u8 mode_5g9;93u8 cl5g9[6];94} __packed;9596struct mt792x_asar_fg {97u8 names[4];98u8 version;99u8 rsvd;100u8 nr_flag;101u8 rsvd1;102u8 flag[];103} __packed;104105struct mt792x_acpi_sar {106u8 ver;107union {108struct mt792x_asar_dyn *dyn;109struct mt792x_asar_dyn_v2 *dyn_v2;110};111union {112struct mt792x_asar_geo *geo;113struct mt792x_asar_geo_v2 *geo_v2;114};115union {116struct mt792x_asar_cl *countrylist;117struct mt792x_asar_cl_v3 *countrylist_v3;118};119struct mt792x_asar_fg *fg;120};121122#endif123124125