hc
2024-03-25 edb30157bad0c0001c32b854271ace01d3b9a16a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
/** @file
 
  @copyright
  Copyright 1999 - 2021 Intel Corporation. <BR>
 
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/
 
#ifndef _IIO_CONFIG_H
#define _IIO_CONFIG_H
#include <ConfigBlock/TraceHubConfig.h>
 
#pragma pack(1) //to align members on byte boundary
/**
The Silicon Policy allows the platform code to publish a set of configuration
information that the RC drivers will use to configure the silicon hardware.
**/
typedef struct {
  UINT8   ReservedAJ[MAX_TOTAL_PORTS];
  UINT8   ReservedAK[MAX_TOTAL_PORTS];
  UINT8   ReservedAL[MAX_TOTAL_PORTS];
  UINT8   ReservedAM[MAX_TOTAL_PORTS];
  UINT8   ReservedAN[MAX_TOTAL_PORTS];
  UINT8   ReservedAO[MAX_TOTAL_PORTS];
  UINT8   ReservedAP[MAX_TOTAL_PORTS];
  UINT8   ReservedAQ[MAX_TOTAL_PORTS];
  UINT8   ReservedAR[MAX_TOTAL_PORTS];
  UINT8   ReservedAS[MAX_TOTAL_PORTS];
  UINT8   ReservedAT[MAX_TOTAL_PORTS];
  UINT8   ReservedAU[MAX_TOTAL_PORTS];
  UINT8   ReservedAV[MAX_TOTAL_PORTS];
  UINT8   ReservedAW[MAX_TOTAL_PORTS];
  UINT8   ReservedAX[MAX_TOTAL_PORTS];
  UINT8   ReservedAY[MAX_TOTAL_PORTS];
  UINT8   ReservedE[MAX_TOTAL_PORTS];
  UINT8   ReservedF[MAX_TOTAL_PORTS];
  UINT8   ReservedG[MAX_TOTAL_PORTS];
  UINT8   ReservedAZ[MAX_TOTAL_PORTS];
  UINT8   ReservedBA[MAX_TOTAL_PORTS];
 
  UINT8   PciePortClkGateEnable[MAX_TOTAL_PORTS];
  UINT8   ExtendedSync[MAX_TOTAL_PORTS];
  UINT8   PciePortEnable[MAX_TOTAL_PORTS];
  UINT8   PcieMaxPayload[MAX_TOTAL_PORTS];
  UINT8   PcieAspm[MAX_SOCKET][NUMBER_PORTS_PER_SOCKET];   // On Setup
  UINT8   PcieTxRxDetPoll[MAX_SOCKET][NUMBER_PORTS_PER_SOCKET];
  UINT8   PciePortLinkSpeed[MAX_TOTAL_PORTS];
  UINT8   PciePtm;
  UINT8   PcieHotPlugEnable;
  UINT8   PCIe_LTR;
  UINT8   PcieUnsupportedRequests[MAX_TOTAL_PORTS];
  UINT8   RpCorrectableErrorEsc[MAX_SOCKET];           //on Setup
  UINT8   RpUncorrectableNonFatalErrorEsc[MAX_SOCKET]; //on Setup
  UINT8   RpUncorrectableFatalErrorEsc[MAX_SOCKET];    //on Setup
  UINT8   ComplianceMode[MAX_TOTAL_PORTS];
} IIO_PCIE_CONFIG_DATA;
 
typedef struct _IIO_RETIMER_DATA {
  UINT8       RetimerPresent;             // eq. 0 => there is no retimer data
  UINT32      GlParamReg0;                // current value of Global Param. Reg. 0
  UINT32      GlParamReg1;                // current value of Global Param. Reg. 1
  UINT32      PseudoPort0Reg2;            // current value of Pseudo Port0 Reg. 2
  UINT32      PseudoPort1Reg2;            // current value of Pseudo Port1 Reg. 2
  UINT32      GlParmReg0Override;         // value to write to Global Param. Reg. 0
  UINT32      PseudoPort0Reg2Override;    // value to write to Pseudo Port0 Reg. 2
  UINT32      PseudoPort1Reg2Override;    // value to write to Pseudo Port1 Reg. 2
} IIO_RETIMER_DATA;
 
typedef struct {
/**
==================================================================================================
==================================      VTd Setup Options       ==================================
==================================================================================================
**/
    UINT8    VTdSupport;
    UINT8    DmaCtrlOptIn;
    UINT8    InterruptRemap;
    UINT8    PostedInterrupt;
    UINT8    ATS;
    UINT8    CoherencySupport;
    UINT8    VtdAcsWa;
    UINT8    VtdPciAcsCtl;                // Value to set in PCIe ACSCTL register if reqeusted
 
/**
==================================================================================================
==================================      PCIE Setup Options       ==================================
==================================================================================================
**/
    // Platform data needs to update these PCI Configuration settings
    UINT8    SLOTEIP[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];          // Electromechanical Interlock Present - Slot Capabilities (D0-10 / F0 / R0xA4 / B17)
    UINT8    SLOTHPCAP[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];        // Slot Hot Plug capable - Slot Capabilities (D0-10 / F0 / R0xA4 / B6)
    UINT8    SLOTHPSUP[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];        // Hot Plug surprise supported - Slot Capabilities (D0-10 / F0 / R0xA4 / B5)
    UINT8    SLOTPIP[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];          // Power Indicator Present - Slot Capabilities (D0-10 / F0 / R0xA4 / B4)
    UINT8    SLOTAIP[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];          // Attention Inductor Present - Slot Capabilities (D0-10 / F0 / R0xA4 / B3)
    UINT8    SLOTMRLSP[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];        // MRL Sensor Present - Slot Capabilities (D0-10 / F0 / R0xA4 / B2)
    UINT8    SLOTPCP[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];          // Power Controller Present - Slot Capabilities (D0-10 / F0 / R0xA4 /B1)
    UINT8    SLOTABP[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];          // Attention Button Present - Slot Capabilities (D0-10 / F0 / R0xA4 / B0)
    UINT8    PcieSSDCapable[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];   // Indicate if Port will PcieSSD capable.
 
    UINT8    PcieHotPlugOnPort[MAX_SOCKET][NUMBER_PORTS_PER_SOCKET];  // manual override of hotplug for port
 
    // General PCIE Configuration
    UINT8   PcieSubSystemMode[MAX_SOCKET][MAX_IOU_PER_SOCKET];  //on Setup
 
    UINT8   CompletionTimeoutGlobal;
    UINT8   CompletionTimeoutGlobalValue;
    UINT8   CompletionTimeout[MAX_SOCKET];  // On Setup
    UINT8   CompletionTimeoutValue[MAX_SOCKET]; // On Setup
    UINT8   CoherentReadPart;
    UINT8   CoherentReadFull;
    UINT8   PcieGlobalAspm;
    UINT8   StopAndScream;
    UINT8   SnoopResponseHoldOff;
    //
    // PCIE capability
    //
    UINT8   PcieExtendedTagField;
    UINT8   Pcie10bitTag;
    UINT8   PCIe_AtomicOpReq;
    UINT8   PcieMaxReadRequestSize;
 
 
    // mixc PCIE configuration
    UINT8    PcieLinkDis[MAX_TOTAL_PORTS];          // On Setup
    UINT8    PcieCommonClock[MAX_TOTAL_PORTS];  // On Setup
    UINT8    PcieDState[MAX_TOTAL_PORTS];           // On Setup
    UINT8    PcieL0sLatency[MAX_TOTAL_PORTS];       //On Setup
    UINT8    PcieL1Latency[MAX_TOTAL_PORTS];        //On Setup
    UINT8    MsiEn[MAX_TOTAL_PORTS];                // On Setup
    UINT8    IODC[MAX_TOTAL_PORTS];                 // On Setup
    //
    // VPP Control
    //
    BOOLEAN  VppEnabled[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];        // 00 -- Disable, 01 -- Enable  //no setup option defined- aj
    UINT8    VppPort[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];          // 00 -- Port 0, 01 -- Port 1   //no setup option defined- aj
    UINT8    VppAddress[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];       // 01-07 for SMBUS address of Vpp   //no setup option defined- aj
 
    //
    // Mux and channel for segment
    //
    UINT8    MuxAddress[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];        // SMBUS address of MUX              //no setup option defined
    UINT8    ChannelID[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];      // 00 -- channel 0, 01 -- channel 1  //no setup option defined
 
    //
    // PCIE setup options for Link Control2
    //
    UINT8    PciePortLinkMaxWidth[MAX_TOTAL_PORTS]; // On Setup
    UINT8    DeEmphasis[MAX_TOTAL_PORTS];       // On Setup
 
    //
    // PCIE RAS (Errors)
    //
    UINT8   Serr;
    UINT8   Perr;
    UINT8   IioErrorEn;
    UINT8   LerEn;
    UINT8   WheaPcieErrInjEn;
 
    //
    // PciePll
    //
    UINT8    PciePllSsc;                        //On Setup
 
    //
    // PCIE  Link Training Ctrl
    //
    UINT16   DelayBeforePCIeLinkTraining;       //On Setup
 
    //
    // Retimers related config
    //
    IIO_RETIMER_DATA Retimer[MAX_SOCKET][MAX_IIO_STACK][MAX_RETIMERS_PER_STACK];
    BOOLEAN  SkipRetimersDetection;  // Skip detection of retimers in UBA code
 
/**
==================================================================================================
==================================    Crystal Beach 3 Setup Options    ===========================
==================================================================================================
**/
      UINT8                 Cb3DmaEn[TOTAL_CB3_DEVICES];        // on setup
      UINT8                 Cb3NoSnoopEn[TOTAL_CB3_DEVICES];    // on setup
      UINT8                 DisableTPH;
      UINT8                 PrioritizeTPH;
      UINT8                 CbRelaxedOrdering;
      UINT8                 CbDmaMultiCastEnable;               // MultiCastEnable test enable
 
      UINT8                 DsaEn[NUM_DSA*MAX_SOCKET];                           // on setup
      UINT8                 IaxEn[NUM_IAX*MAX_SOCKET];                           // on setup
      UINT8                 CpmEn[NUM_CPM*MAX_SOCKET];                           // on setup
      UINT8                 HqmEn[NUM_HQM*MAX_SOCKET];                           // on setup
 
/**
==================================================================================================
==================================    MISC IOH Setup Options            ==========================
==================================================================================================
**/
 
    // The following are for hiding each individual device and function
    UINT8   PEXPHIDE[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];  // Hide any of the DMI or PCIE devices - SKT 0,1,2,3; Device 0-10 PRD
    UINT8   PCUF6Hide;                            // Hide Device PCU Device 30, Function 6
    UINT8   EN1K;                                 // Enable/Disable 1K granularity of IO for P2P bridges 0:20:0:98 bit 2
    UINT8   DualCvIoFlow;                         // Dual CV IO Flow
    UINT8   PcieBiosTrainEnable;                  // Used as a work around for A0 PCIe
    UINT8   MultiCastEnable;                      // MultiCastEnable test enable
    UINT8   McastBaseAddrRegion;                  // McastBaseAddrRegion
    UINT8   McastIndexPosition;                   // McastIndexPosition
    UINT8   McastNumGroup;                        // McastNumGroup
    UINT8   MctpEn[MAX_TOTAL_PORTS];              // Enable/Disable MCTP for each Root Port
 
    UINT8   LegacyVgaSoc;
    UINT8   LegacyVgaStack;
 
    UINT8   HidePEXPMenu[MAX_TOTAL_PORTS];          // to suppress /display the PCIe port menu
 
    BOOLEAN PoisonMmioReadEn[MAX_SOCKET][MAX_IIO_STACK]; // on setup
 
/**
==================================================================================================
==================================    NTB Related Setup Options ==========================
==================================================================================================
**/
  UINT8   NtbPpd[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];                   //on setup option
  UINT8   NtbBarSizeOverride[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];       //on setup option
  UINT8   NtbSplitBar[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];             //on setup option
  UINT8   NtbBarSizeImBar1[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];         //on setup option
  UINT8   NtbBarSizeImBar2[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];         //on setup option
  UINT8   NtbBarSizeImBar2_0[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];          //on setup option
  UINT8   NtbBarSizeImBar2_1[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];          //on setup option
  UINT8   NtbBarSizeEmBarSZ1[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];         //on setup option
  UINT8   NtbBarSizeEmBarSZ2[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];         //on setup option
  UINT8   NtbBarSizeEmBarSZ2_0[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];          //on setup option
  UINT8   NtbBarSizeEmBarSZ2_1[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];          //on setup option
  UINT8   NtbXlinkCtlOverride[MAX_SOCKET*NUMBER_NTB_PORTS_PER_SOCKET];      //on setup option
 
  UINT8   NtbLinkBiosTrainEn;                                                   // on setup option
/**
==================================================================================================
==================================    VMD Related Setup Options ==========================
==================================================================================================
**/
  UINT8   VMDEnabled[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
  UINT8   VMDPortEnable[MAX_SOCKET][NUMBER_PORTS_PER_SOCKET];
  UINT8   VMDHotPlugEnable[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
  UINT8   VMDCfgBarSz[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
  UINT8   VMDCfgBarAttr[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
  UINT8   VMDMemBarSz1[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
  UINT8   VMDMemBar1Attr[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
  UINT8   VMDMemBarSz2[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
  UINT8   VMDMemBar2Attr[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
  UINT8   VMDPchPortEnable[MAX_SOCKET][MAX_VMD_ROOTPORTS_PER_PCH];
  UINT8   VMDDirectAssign[MAX_SOCKET][MAX_VMD_STACKS_PER_SOCKET];
 
  /**
  ==================================================================================================
  ==================================    PcieSSD Related Setup Options ==========================
  ==================================================================================================
  **/
  UINT8   PcieAICEnabled[MAX_SOCKET*MAX_STACKS_PER_SOCKET];                         // Indicate if PCIE AIC Device will be connected behind an specific IOUx
  UINT8   PcieAICPortEnable[MAX_SOCKET*NUMBER_PORTS_PER_SOCKET];
  UINT8   PcieAICHotPlugEnable[MAX_SOCKET*MAX_STACKS_PER_SOCKET];
 
 
/**
==================================================================================================
==================================    Gen3 Related Setup Options ==========================
==================================================================================================
**/
 
  //PCIE Global Option
  UINT8   NoSnoopRdCfg;                             //on Setup
  UINT8   NoSnoopWrCfg;                             //on Setup
  UINT8   MaxReadCompCombSize;                      //on Setup
  UINT8   ProblematicPort;                          //on Setup
  UINT8   DmiAllocatingFlow;                        //on Setup
  UINT8   PcieAllocatingFlow;                       //on Setup
  UINT8   PcieAcpiHotPlugEnable;                    //on Setup
  BOOLEAN PcieLowLatencyRetimersEnabled;
  UINT8   HaltOnDmiDegraded;                        //on Setup
  UINT8   GlobalPme2AckTOCtrl;                      //on Setup
 
  UINT8   PcieSlotOprom1;                           //On Setup
  UINT8   PcieSlotOprom2;                           //On Setup
  UINT8   PcieSlotOprom3;                           //On Setup
  UINT8   PcieSlotOprom4;                           //On Setup
  UINT8   PcieSlotOprom5;                           //On Setup
  UINT8   PcieSlotOprom6;                           //On Setup
  UINT8   PcieSlotOprom7;                           //On Setup
  UINT8   PcieSlotOprom8;                           //On Setup
  UINT8   PcieSlotItemCtrl;                         //On Setup
  UINT8   PcieRelaxedOrdering;                      //On Setup
  UINT8   PciePhyTestMode;                          //On setup
  UINT8   PcieEnqCmdSupport;                        //On setup
/**
==================================================================================================
==================================    IOAPIC Related Setup Options ==========================
==================================================================================================
**/
 
  UINT8   DevPresIoApicIio[TOTAL_IIO_STACKS];
/**
==================================================================================================
==================================    Security Related Setup Options ==========================
==================================================================================================
**/
  UINT8   LockChipset;
  UINT8   PeciInTrustControlBit;
  UINT8   PeciAgtLegacyTrustBit;
  UINT8   PeciAgtSmbusTrustBit;
  UINT8   PeciAgtIeTrustBit;
  UINT8   PeciAgtGenericTrustBit;
  UINT8   PeciAgtEspiTrustBit;
  UINT8   ProcessorX2apic;
  UINT8   ProcessorMsrLockControl;
  UINT8   Xppdef;
  UINT8   Pci64BitResourceAllocation;
  UINT8   Imr2SupportEnable;
/**
==================================================================================================
==================================    Reserved Setup Options ==========================
==================================================================================================
**/
  UINT8   ReservedQ;                     // On Setup
  UINT8   ReservedR;
  UINT8   ReservedS;                // On Setup
  UINT8   ReservedT;            // On Setup
  UINT8   ReservedU;           // On Setup
  UINT8   ReservedV;            // On Setup
  UINT8   ReservedW;               // On Setup
  UINT8   ReservedX;                  // On Setup
  UINT8   ReservedY;            // On Setup
  UINT8   ReservedZ;        // On Setup
  UINT8   ReservedAA;       // On Setup
  UINT8   ReservedAB;          // On Setup
 
  UINT32  ReservedAC[MAX_SOCKET][NUM_DEVHIDE_UNCORE_STACKS][NUM_DEVHIDE_REGS_PER_STACK];
  UINT32  ReservedAD[MAX_SOCKET][NUM_DEVHIDE_IIO_STACKS][NUM_DEVHIDE_REGS_PER_STACK];
 
  UINT8   ReservedAE[MAX_TOTAL_PORTS];  // On Setup
 
  UINT8   ReservedAF[MAX_TOTAL_PORTS];
  UINT8   ReservedAG[MAX_TOTAL_PORTS];  // On Setup
  BOOLEAN ReservedAH;                // On Setup
 
 
/**
==================================================================================================
======================    IIO Global Performance Tuner Related Setup Options =====================
==================================================================================================
**/
  UINT8  PerformanceTuningMode;
 
/**
=================================================================================================
======================    PCI-E Data Link Feature Exchange Enable  ===============================
==================================================================================================
**/
  UINT8   PcieDataLinkFeatureExchangeEnable[MAX_TOTAL_PORTS];    //On Setup
 
/**
==================================================================================================
======================    IIO Trace Hub struct for setup options =================================
==================================================================================================
**/
  TRACE_HUB_CONFIG    CpuTraceHubConfig[MAX_SOCKET][NUMBER_TRACE_HUB_PER_SOCKET];
 
  UINT8   SLOTIMP[MAX_TOTAL_PORTS];
  UINT8   SLOTSPLS[MAX_TOTAL_PORTS];
  UINT8   SLOTSPLV[MAX_TOTAL_PORTS];
  UINT16  SLOTPSP[MAX_TOTAL_PORTS];
  UINT8   ConfigIOU[MAX_SOCKET][MAX_IOU_PER_SOCKET];         // 00-x4x4x4x4, 01-x4x4x8NA, 02-x8NAx4x4, 03-x8NAx8NA, 04-x16 (P1p2p3p4)
 
  UINT8   EOI[MAX_TOTAL_PORTS];
  UINT8   MSIFATEN[MAX_TOTAL_PORTS];
  UINT8   MSINFATEN[MAX_TOTAL_PORTS];
  UINT8   MSICOREN[MAX_TOTAL_PORTS];
  UINT8   ACPIPMEn[MAX_TOTAL_PORTS];
  UINT8   DISL0STx[MAX_TOTAL_PORTS];
  UINT8   P2PRdDis[MAX_TOTAL_PORTS];
  UINT8   DisPMETOAck[MAX_TOTAL_PORTS];
  UINT8   ACPIHP[MAX_TOTAL_PORTS];
  UINT8   ACPIPM[MAX_TOTAL_PORTS];
  UINT8   AltAttenTable[MAX_TOTAL_PORTS];
  UINT8   SRIS[MAX_TOTAL_PORTS];
  UINT8   TXEQ[MAX_TOTAL_PORTS];
  UINT8   EcrcGenEn[MAX_TOTAL_PORTS];
  UINT8   EcrcChkEn[MAX_TOTAL_PORTS];
  UINT8   SERRE[MAX_TOTAL_PORTS];
 
  //
  // Sierra Peak (SPK)
  //
  UINT8   SierraPeakMemBufferSize[MAX_SOCKET];        // on setup
  IIO_PCIE_CONFIG_DATA  IioPcieConfig;
 
  UINT32  VtdDisabledBitmask[MAX_SOCKET];
} IIO_CONFIG;
#pragma pack()
 
#endif // _IIO_CONFIG_H