• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2020 The ChromiumOS Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5syntax = "proto3";
6
7option go_package = "go.chromium.org/chromiumos/config/go/api";
8
9package chromiumos.config.api;
10
11// Sets limits on maximum WiFi transmit power for tablet and non-tablet
12// device configurations. This config must contain properties for ath10k, rtw88,
13// rtw89, Intel, or mtk wifi driver only.
14message WifiConfig {
15  message Ath10kConfig {
16    // WiFi power chain for use with QCA ath10k drivers. Limits in units
17    // of 1 dBm. 5g band power limit applies to all 5g bands.
18    message TransmitPowerChain {
19      // 2G band power limit (dBm)
20      uint32 limit_2g = 1;
21      // 5G band power limit (dBm)
22      uint32 limit_5g = 2;
23    }
24
25    // TransmitPowerChain settings when operating in tablet and non-tablet
26    // modes.
27    TransmitPowerChain tablet_mode_power_table = 1;
28    TransmitPowerChain non_tablet_mode_power_table = 2;
29  }
30
31  message Rtw88Config {
32    // WiFi power chain for use with Realtek rtw88 drivers. Limits in units
33    // of 0.125 dBm. 5g band 2 (channels 5.35G-5.47G) power limit is not
34    // supported.
35    message TransmitPowerChain {
36      // 2G band power limit: All 2G band channels. (0.125 dBm)
37      uint32 limit_2g = 1;
38      // 5G band 1 power limit: 5.15G-5.35G channels. (0.125 dBm)
39      uint32 limit_5g_1 = 2;
40      // 5G band 3 power limit: 5.47G-5.725G channels. (0.125 dBm)
41      uint32 limit_5g_3 = 3;
42      // 5G band 4 power limit: 5.725G-5.95G channels. (0.125 dBm)
43      uint32 limit_5g_4 = 4;
44    }
45
46    // TransmitPowerChain settings when operating in tablet and non-tablet
47    // modes.
48    TransmitPowerChain tablet_mode_power_table = 1;
49    TransmitPowerChain non_tablet_mode_power_table = 2;
50
51    // Offsets which are applied to WiFi power limits depending on the current
52    // regulatory domain. Offsets in units of 0.125 dBm. The sum of a geo offset
53    // and any power limit to which it applies cannot exceed 255. When the
54    // current regulatory domain is unknown or has yet to be determined, the
55    // base transmit power limits are used without any geo offsets applied.
56    // 'geo-offsets-fcc' is used for regulatory domains which follow FCC
57    // guidelines, 'geo-offsets-eu' is used for regulatory domains which follow
58    // ETSI guidelines, and 'geo-offsets-rest-of-world' is used for regulatory
59    // domains which don't follow FCC or ETSI guidelines.
60    message GeoOffsets {
61      // Value to be added to the 2.4GHz WiFi band. (0.125 dBm)
62      uint32 offset_2g = 1;
63      // Value to be added to all 5GHz WiFi bands. (0.125 dBm)
64      uint32 offset_5g = 2;
65    }
66
67    // GeoOffsets in different regulatory domains.
68    GeoOffsets offset_fcc = 3;
69    GeoOffsets offset_eu = 4;
70    GeoOffsets offset_other = 5;
71  }
72
73  message IntelConfig {
74
75    message SarTable {
76        // Wireless SAR table Settings.
77        uint32 sar_table_version = 1;
78        // WiFi power chain for use with Intel drivers. Limits in units
79        // of 0.125 dBm.
80        message TransmitPowerChain {
81          // 2G band power limit: All 2G band channels. (0.125 dBm)
82          uint32 limit_2g = 1;
83          // 5G band 1 power limit: 5.15G-5.35G channels. (0.125 dBm)
84          uint32 limit_5g_1 = 2;
85          // 5G band 2 power limit: 5.35G-5.47G channels. (0.125 dBm)
86          uint32 limit_5g_2 = 3;
87          // 5G band 3 power limit: 5.47G-5.725G channels. (0.125 dBm)
88          uint32 limit_5g_3 = 4;
89          // 5G band 4 power limit: 5.725G-5.95G channels. (0.125 dBm)
90          uint32 limit_5g_4 = 5;
91          // 5G band 5 power limit: 5.95G-6.165G channels. (0.125 dBm)
92          uint32 limit_5g_5 = 6;
93          // 6G band 1 power limit: 6.165G-6.405G channels. (0.125 dBm)
94          uint32 limit_6g_1 = 7;
95          // 6G band 2 power limit: 6.405G-6.525G channels. (0.125 dBm)
96          uint32 limit_6g_2 = 8;
97          // 6G band 3 power limit: 6.525G-6.705G channels. (0.125 dBm)
98          uint32 limit_6g_3 = 9;
99          // 6G band 4 power limit: 6.705G-6.865G channels. (0.125 dBm)
100          uint32 limit_6g_4 = 10;
101          // 6G band 5 power limit: 6.865G-7.105G channels. (0.125 dBm)
102          uint32 limit_6g_5 = 11;
103        }
104
105        // TransmitPowerChain settings when operating in tablet and non-tablet
106        // modes. Each mode additionally provides chain a and chain b settings.
107        // Revision 2 provides concurrency dual band settings.
108        // These are power configs for a given antenna, a vs. b.
109        TransmitPowerChain tablet_mode_power_table_a = 3;
110        TransmitPowerChain tablet_mode_power_table_b = 4;
111        TransmitPowerChain non_tablet_mode_power_table_a = 5;
112        TransmitPowerChain non_tablet_mode_power_table_b = 6;
113        TransmitPowerChain cdb_tablet_mode_power_table_a = 7;
114        TransmitPowerChain cdb_tablet_mode_power_table_b = 8;
115        TransmitPowerChain cdb_non_tablet_mode_power_table_a = 9;
116        TransmitPowerChain cdb_non_tablet_mode_power_table_b = 10;
117    }
118
119    SarTable sar_table = 1;
120
121    message Offsets {
122        // Wireless Geo Delta Settings version.
123        uint32 wgds_version = 1;
124
125        // Offsets which are applied to WiFi power limits depending on the current
126        // regulatory domain. Offsets in units of 0.125 dBm. When the
127        // current regulatory domain is unknown or has yet to be determined, the
128        // base transmit power limits are used without any geo offsets applied.
129        // 'geo-offsets-fcc' is used for regulatory domains which follow FCC
130        // guidelines, 'geo-offsets-eu' is used for regulatory domains which follow
131        // ETSI guidelines, and 'geo-offsets-rest-of-world' is used for regulatory
132        // domains which don't follow FCC or ETSI guidelines.
133        message GeoOffsets {
134          // Defines the 2.4 GHz upper value for the allowed power to not be crossed
135          // by applying the Geo offset.
136          uint32 max_2g = 1;
137          // Value to be added to the 2.4GHz WiFi band for chain a. (0.125 dBm)
138          uint32 offset_2g_a = 2;
139          // Value to be added to the 2.4GHz WiFi band for chain b. (0.125 dBm)
140          uint32 offset_2g_b = 3;
141          // Defines the 5 GHz upper value for the allowed power to not be crossed
142          // by applying the Geo offset.
143          uint32 max_5g = 4;
144          // Value to be added to 5GHz WiFi bands for chain a. (0.125 dBm)
145          uint32 offset_5g_a = 5;
146          // Value to be added to 5GHz WiFi bands for chain b. (0.125 dBm)
147          uint32 offset_5g_b = 6;
148          // Defines the 6 GHz upper value for the allowed power to not be crossed
149          // by applying the Geo offset.
150          uint32 max_6g = 7;
151          // Value to be added to 6GHz WiFi bands for chain a. (0.125 dBm)
152          uint32 offset_6g_a = 8;
153          // Value to be added to 6GHz WiFi bands for chain b. (0.125 dBm)
154          uint32 offset_6g_b = 9;
155        }
156
157        // GeoOffsets in different regulatory domains.
158        GeoOffsets offset_fcc = 2;
159        GeoOffsets offset_eu = 3;
160        GeoOffsets offset_other = 4;
161    }
162    Offsets wgds_table = 2;
163
164    message Gains {
165        // Antenna Gains table version.
166        uint32 ant_table_version = 1;
167        uint32 ant_mode_ppag = 2;
168
169        message AntennaGain {
170          uint32 ant_gain_2g = 1;
171          uint32 ant_gain_5g_1 = 2;
172          uint32 ant_gain_5g_2 = 3;
173          uint32 ant_gain_5g_3 = 4;
174          uint32 ant_gain_5g_4 = 5;
175          uint32 ant_gain_5g_5 = 6;
176          uint32 ant_gain_6g_1 = 7;
177          uint32 ant_gain_6g_2 = 8;
178          uint32 ant_gain_6g_3 = 9;
179          uint32 ant_gain_6g_4 = 10;
180          uint32 ant_gain_6g_5 = 11;
181        }
182
183        AntennaGain ant_gain_table_a = 3;
184        AntennaGain ant_gain_table_b = 4;
185    }
186    Gains ant_table = 3;
187
188    message Average {
189      uint32 sar_avg_version = 1;
190      uint32 tas_selection = 2;
191      uint32 tas_list_size = 3;
192      uint32 deny_list_entry_1 = 4;
193      uint32 deny_list_entry_2 = 5;
194      uint32 deny_list_entry_3 = 6;
195      uint32 deny_list_entry_4 = 7;
196      uint32 deny_list_entry_5 = 8;
197      uint32 deny_list_entry_6 = 9;
198      uint32 deny_list_entry_7 = 10;
199      uint32 deny_list_entry_8 = 11;
200      uint32 deny_list_entry_9 = 12;
201      uint32 deny_list_entry_10 = 13;
202      uint32 deny_list_entry_11 = 14;
203      uint32 deny_list_entry_12 = 15;
204      uint32 deny_list_entry_13 = 16;
205      uint32 deny_list_entry_14 = 17;
206      uint32 deny_list_entry_15 = 18;
207      uint32 deny_list_entry_16 = 19;
208    }
209    Average wtas_table = 4;
210
211    // Device Specific methods used by intel wifi driver.
212    message Dsm {
213      // Function 1.
214      int64 disable_active_sdr_channels = 2;
215      // Function 2.
216      int64 support_indonesia_5g_band = 3;
217      // Function 3.
218      int64 support_ultra_high_band = 4;
219      // Function 4.
220      int64 regulatory_configurations = 5;
221      // Function 5.
222      int64 uart_configurations = 6;
223      // Function 6.
224      int64 enablement_11ax = 7;
225      // Function 7.
226      int64 unii_4 = 8;
227
228      // For different regions.
229      message Enablement11beCountries {
230          bool china = 1;
231          bool south_korea = 2;
232      }
233      // Function 12.
234      Enablement11beCountries enablement_11be_countries = 9;
235
236      message EnergyDetectionThreshold {
237          uint32 revision = 1;
238          bool etsi_hb = 2;
239          bool fcc_uhb = 3;
240          bool hb_5g2_3 = 4;
241          bool hb_5g4 = 5;
242          bool hb_5g6 = 6;
243          bool hb_5g8_9 = 7;
244          bool uhb_6g1 = 8;
245          bool uhb_6g3 = 9;
246          bool uhb_6g5 = 10;
247          bool uhb_6g6 = 11;
248          bool uhb_6g8 = 12;
249          bool uhb_7g0 = 13;
250      }
251
252      // Function 10.
253      EnergyDetectionThreshold energy_detection_threshold = 10;
254
255      message RfiMitigation {
256          bool dlvr = 1;
257          bool ddr = 2;
258      }
259
260      RfiMitigation rfi_mitigation = 11;
261    }
262    Dsm dsm = 5;
263
264    message BluetoothSarPowerTable {
265        uint32 restriction_for_2g4 = 1;
266        uint32 restriction_for_5g2 = 2;
267        uint32 restriction_for_5g8_5g9 = 3;
268        uint32 restriction_for_6g1 = 4;
269        uint32 restriction_for_6g3 = 5;
270    }
271
272    message BluetoothSar {
273      // Bluetooth SAR table.
274      uint32 revision = 1;
275      // Increased Power Mode Limitation.
276      uint32 increased_power_mode_limitation = 2;
277      // SAR Power Restriction for the Lower Band (LB).
278      uint32 sar_lb_power_restriction = 3;
279      // SAR power restriction for BR Modulation.
280      uint32 br_modulation = 4;
281      // SAR power restriction for EDR2 Modulation.
282      uint32 edr2_modulation = 5;
283      // SAR power restriction for EDR3 Modulation.
284      uint32 edr3_modulation = 6;
285      // SAR power restriction for LE Modulation.
286      uint32 le_modulation = 7;
287      // SAR power restriction for LE 2 MHz Modulation.
288      uint32 le2_mhz_modulation = 8;
289      // SAR power restriction for LE LR Modulation.
290      uint32 le_lr_modulation = 9;
291
292      BluetoothSarPowerTable set_1_chain_a = 10;
293      BluetoothSarPowerTable set_1_chain_b = 11;
294    }
295    BluetoothSar bt_sar = 6;
296
297    message Wbem {
298      // Wi-Fi 320MHz Bandwidth Enablement table.
299      uint32 revision = 1;
300
301      // For different regions.
302      message EnablementWbemCountries {
303          bool japan = 1;
304          bool south_korea = 2;
305      }
306      // Enablement of Wi-Fi 320MHz per MCC.
307      EnablementWbemCountries enablement_wbem_countries = 2;
308    }
309    Wbem wbem = 7;
310
311    message BluetoothPpag {
312      // Bluetooth PPAG table.
313      uint32 revision = 1;
314
315      // For different regions.
316      message EnablementBpagCountries {
317          bool eu = 1;
318          bool china = 2;
319          bool eu_uhb = 3;
320          bool fcc_uhb = 4;
321          bool ised_uhb = 5;
322      }
323
324      EnablementBpagCountries enablement_bpag_countries = 2;
325    }
326    BluetoothPpag bpag = 8;
327
328    message Bbfb {
329      // Bluetooth BBFB table.
330      uint32 revision = 1;
331      // Bluetooth ByPassFilter.
332      bool enable_quad_filter_bypass = 2;
333    }
334    Bbfb bbfb = 9;
335
336    message Bdcm {
337      // Bluetooth BDCM table.
338      uint32 revision = 1;
339
340      // Dual Chain Mode.
341      message BdcmDualChainMode {
342          bool chain_a_and_chain_b = 1;
343      }
344
345      BdcmDualChainMode bdcm_dual_chain_mode = 2;
346    }
347    Bdcm bdcm = 10;
348
349    message Bbsm {
350      // Bluetooth BBSM table.
351      uint32 revision = 1;
352
353      // Bluetooth Bands Selection.
354      message BbsmBandsSelection {
355          bool band_2_4_ghz_disable = 1;
356          bool band_5_2_ghz_disable = 2;
357          bool band_5_8_ghz_disable = 3;
358          bool band_6_2_ghz_disable = 4;
359      }
360
361      BbsmBandsSelection bands_selection = 2;
362    }
363    Bbsm bbsm = 11;
364
365    message Bucs {
366      // Bluetooth BUCS table.
367      uint32 revision = 1;
368
369      // Bluetooth Bands Selection.
370      message BucsUhbCountrySelection {
371          bool force_disable_bt_in_all_other_countries = 1;
372          bool allow_6_ghz_in_usa = 2;
373          bool allow_6_ghz_in_rest_of_the_world = 3;
374          bool allow_6_ghz_in_eu = 4;
375          bool allow_6_ghz_in_south_korea = 5;
376          bool allow_6_ghz_in_brazil = 6;
377          bool allow_6_ghz_in_chile = 7;
378          bool allow_6_ghz_in_japan = 8;
379          bool allow_6_ghz_in_canada = 9;
380          bool allow_6_ghz_in_morocco = 10;
381          bool allow_6_ghz_in_mongolia = 11;
382          bool allow_6_ghz_in_malaysia = 12;
383          bool allow_6_ghz_in_saudi_arabia = 13;
384          bool allow_6_ghz_in_mexico = 14;
385          bool allow_6_ghz_in_nigeria = 15;
386          bool allow_6_ghz_in_thailand = 16;
387          bool allow_6_ghz_in_singapore = 17;
388          bool allow_6_ghz_in_taiwan = 18;
389          bool allow_6_ghz_in_south_africa = 19;
390      }
391
392      BucsUhbCountrySelection uhb_country_selection = 2;
393    }
394    Bucs bucs = 12;
395
396    message Bdmm {
397      // Bluetooth BDMM table.
398      uint32 revision = 1;
399
400      // Bluetooth Dual Mac Mode.
401      bool dual_mac_enable = 2;
402    }
403    Bdmm bdmm = 13;
404
405    message Ebrd {
406      // Bluetooth EBRD table.
407      uint32 revision = 1;
408
409      bool dynamic_sar_enable = 2;
410
411      uint32 number_of_optional_sar = 3;
412
413      BluetoothSarPowerTable set_2_chain_a = 4;
414      BluetoothSarPowerTable set_2_chain_b = 5;
415
416      BluetoothSarPowerTable set_3_chain_a = 6;
417      BluetoothSarPowerTable set_3_chain_b = 7;
418
419      BluetoothSarPowerTable set_4_chain_a = 8;
420      BluetoothSarPowerTable set_4_chain_b = 9;
421    }
422    Ebrd ebrd = 14;
423
424    message Wpfc {
425      // Wi-Fi PHY Filter Configuration Table.
426      uint32 revision = 1;
427
428      // Chain A Filter Platform Configuration.
429      uint32 filter_cfg_chain_a = 2;
430
431      // Chain B Filter Platform Configuration.
432      uint32 filter_cfg_chain_b = 3;
433
434      // Chain C Filter Platform Configuration.
435      uint32 filter_cfg_chain_c = 4;
436
437      // Chain D Filter Platform Configuration.
438      uint32 filter_cfg_chain_d = 5;
439    }
440    Wpfc wpfc = 15;
441
442    message Dsbr {
443      // Drive Strength BRI Rsp Table.
444      uint32 revision = 1;
445
446      // Override device FW default values.
447      bool override = 2;
448
449      // Bluetooth Radio Interface.
450      uint32 bluetooth_radio_resistor_ohm = 3;
451    }
452    Dsbr dsbr = 16;
453  }
454
455  // An empty message indicating that Intel wifi is used, but the config values
456  // are stored elsewhere.
457  message LegacyIntelConfig {
458  }
459
460  message MtkConfig {
461    // WiFi power chain for use with MediaTek mt7921 driver. Limits in units of
462    // 0.25 dBm.
463    message TransmitPowerChain {
464      // 2G band power limit. (0.25 dBm)
465      uint32 limit_2g = 1;
466      // 5G band 1 power limit: 5.15G-5.35G frequency. (0.25 dBm)
467      uint32 limit_5g_1 = 2;
468      // 5G band 2 power limit: 5.35G-5.47G frequency. (0.25 dBm)
469      uint32 limit_5g_2 = 3;
470      // 5G band 3 power limit: 5.47G-5.725G frequency. (0.25 dBm)
471      uint32 limit_5g_3 = 4;
472      // 5G band 4 power limit: 5.725G-5.95G frequency. (0.25 dBm)
473      uint32 limit_5g_4 = 5;
474      // 6G band 1 power limit: 5.945G-6.165G frequency. (0.25 dBm)
475      uint32 limit_6g_1 = 6;
476      // 6G band 2 power limit: 6.165G-6.405G frequency. (0.25 dBm)
477      uint32 limit_6g_2 = 7;
478      // 6G band 3 power limit: 6.405G-6.525G frequency. (0.25 dBm)
479      uint32 limit_6g_3 = 8;
480      // 6G band 4 power limit: 6.525G-6.705G frequency. (0.25 dBm)
481      uint32 limit_6g_4 = 9;
482      // 6G band 5 power limit: 6.705G-6.865G frequency. (0.25 dBm)
483      uint32 limit_6g_5 = 10;
484      // 6G band 6 power limit: 6.865G-7.125G frequency. (0.25 dBm)
485      uint32 limit_6g_6 = 11;
486    }
487
488    // TransmitPowerChain settings when operating in tablet and non-tablet
489    // modes.
490    TransmitPowerChain tablet_mode_power_table = 1;
491    TransmitPowerChain non_tablet_mode_power_table = 2;
492
493    // WiFi power chain of regulatory domain for use with MediaTek mt7921
494    // driver. Limits in units of 0.25 dBm, Offset in units of 0.25 dBm.
495    message GeoTransmitPowerChain {
496      // 2G band geo power limit. (0.25 dBm)
497      uint32 limit_2g = 1;
498      // 5G band geo power limit. (0.25 dBm)
499      uint32 limit_5g = 2;
500      // Value to be added to the 2.4GHz WiFi band. (0.25 dBm)
501      uint32 offset_2g = 3;
502      // Value to be added to all 5GHz WiFi bands. (0.25 dBm)
503      uint32 offset_5g = 4;
504      // 6G band geo power limit. (0.25 dBm)
505      uint32 limit_6g = 5;
506      // Value to be added to all 6GHz WiFi bands. (0.25 dBm)
507      uint32 offset_6g = 6;
508    }
509
510    // GeoTransmitPowerChain settings in different regulatory domains.
511    GeoTransmitPowerChain fcc_power_table = 3;
512    GeoTransmitPowerChain eu_power_table = 4;
513    GeoTransmitPowerChain other_power_table = 5;
514
515    message MtclTable {
516      // MediaTek Country List definition.
517      uint32 version = 1;
518      // Support 6GHz. 0 is force disable, 1 enable if driver and BIOS table
519      // both support this country, 2 support depends only on kernel driver.
520      uint32 support_6ghz = 2;
521      // 6GHz country list bitmask. This is a bitmask that defines which
522      // countries shall have 6GHz operation enabled. The field is 6 bytes
523      // wide, with the last 2 bytes reserved.
524      // Valid values range 0x0 - 0xFFFFFFFF0000, with the last two bytes being
525      // zero.
526      uint64 bitmask_6ghz = 3;
527      // Support 5.9GHz. 0 is force disable, 1 enable if driver and BIOS table
528      // both support this country, 2 support depends only on kernel driver.
529      uint32 support_5p9ghz = 4;
530      // 5.9GHz country list bitmask. This is a bitmask that defines which
531      // countries shall have 5.9GHz operation enabled. The field is 6 bytes
532      // wide, with the last 2 bytes reserved.
533      // Valid values range 0x0 - 0xFFFFFFFF0000, with the last two bytes being
534      // zero.
535      uint64 bitmask_5p9ghz = 5;
536    }
537
538    // MtclTable optionally configures the MediaTek Country List.
539    MtclTable country_list = 6;
540  }
541
542  message Rtw89Config {
543    // WiFi power chain for use with Realtek rtw89 drivers. Limits in units
544    // of 0.25 dBm. 5g band 2 (channels 5.35G-5.47G) power limit is not
545    // supported.
546    message TransmitPowerChain {
547      // 2G band power limit: All 2G band channels. (0.25 dBm)
548      uint32 limit_2g = 1;
549      // 5G band 1 power limit: 5.15G-5.35G channels. (0.25 dBm)
550      uint32 limit_5g_1 = 2;
551      // 5G band 3 power limit: 5.47G-5.725G channels. (0.25 dBm)
552      uint32 limit_5g_3 = 3;
553      // 5G band 4 power limit: 5.725G-5.95G channels. (0.25 dBm)
554      uint32 limit_5g_4 = 4;
555      // 6G band 1 power limit: 5.955G-6.155G channels. (0.25 dBm)
556      uint32 limit_6g_1 = 5;
557      // 6G band 2 power limit: 6.175G-6.415G channels. (0.25 dBm)
558      uint32 limit_6g_2 = 6;
559      // 6G band 3 power limit: 6.435G-6.515G channels. (0.25 dBm)
560      uint32 limit_6g_3 = 7;
561      // 6G band 4 power limit: 6.535G-6.695G channels. (0.25 dBm)
562      uint32 limit_6g_4 = 8;
563      // 6G band 5 power limit: 6.715G-6.855G channels. (0.25 dBm)
564      uint32 limit_6g_5 = 9;
565      // 6G band 6 power limit: 6.895G-7.115G channels. (0.25 dBm)
566      uint32 limit_6g_6 = 10;
567    }
568
569    // TransmitPowerChain settings when operating in tablet and non-tablet
570    // modes.
571    TransmitPowerChain tablet_mode_power_table = 1;
572    TransmitPowerChain non_tablet_mode_power_table = 2;
573
574    // Offsets which are applied to WiFi power limits depending on the current
575    // regulatory domain. Offsets in units of 0.25 dBm. The sum of a geo offset
576    // and any power limit to which it applies cannot exceed 255. When the
577    // current regulatory domain is unknown or has yet to be determined, the
578    // base transmit power limits are used without any geo offsets applied.
579    // 'geo-offsets-fcc' is used for regulatory domains which follow FCC
580    // guidelines, 'geo-offsets-eu' is used for regulatory domains which follow
581    // ETSI guidelines, and 'geo-offsets-rest-of-world' is used for regulatory
582    // domains which don't follow FCC or ETSI guidelines.
583    message GeoOffsets {
584      // Value to be added to the 2.4GHz WiFi band. (0.25 dBm)
585      uint32 offset_2g = 1;
586      // Value to be added to all 5GHz WiFi bands. (0.25 dBm)
587      uint32 offset_5g = 2;
588      // Value to be added to all 6GHz WiFi bands. (0.25 dBm)
589      uint32 offset_6g = 3;
590    }
591
592    // GeoOffsets in different regulatory domains.
593    GeoOffsets offset_fcc = 3;
594    GeoOffsets offset_eu = 4;
595    GeoOffsets offset_other = 5;
596  }
597
598  oneof wifi_config {
599    Ath10kConfig ath10k_config = 1;
600    Rtw88Config rtw88_config = 2;
601    IntelConfig intel_config = 3;
602    MtkConfig mtk_config = 4;
603    Rtw89Config rtw89_config = 5;
604    LegacyIntelConfig legacy_intel_config = 6;
605  }
606}
607