summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/runtime_attributes/pm_plat_attributes.xml
blob: fccd52ef12fda67d9eafe7195d44bf28e06e429b (plain)
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
<!-- IBM_PROLOG_BEGIN_TAG                                                   -->
<!-- This is an automatically generated prolog.                             -->
<!--                                                                        -->
<!-- $Source: src/usr/hwpf/hwp/runtime_attributes/pm_plat_attributes.xml $  -->
<!--                                                                        -->
<!-- IBM CONFIDENTIAL                                                       -->
<!--                                                                        -->
<!-- COPYRIGHT International Business Machines Corp. 2012,2013              -->
<!--                                                                        -->
<!-- p1                                                                     -->
<!--                                                                        -->
<!-- Object Code Only (OCO) source materials                                -->
<!-- Licensed Internal Code Source Materials                                -->
<!-- IBM HostBoot Licensed Internal Code                                    -->
<!--                                                                        -->
<!-- The source code for this program is not published or otherwise         -->
<!-- divested of its trade secrets, irrespective of what has been           -->
<!-- deposited with the U.S. Copyright Office.                              -->
<!--                                                                        -->
<!-- Origin: 30                                                             -->
<!--                                                                        -->
<!-- IBM_PROLOG_END_TAG                                                     -->
<!--
    XML file specifying Power Management HWPF attributes.
    These attributes are initialized by the platform.
-->

<attributes>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_EXTERNAL_VRM_STEPSIZE</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Step size (binary in microvolts) to take upon external VRM voltage
      transitions. The value set here must take into account where internal
      VRMs are enabled or not as, when they are enabled, the step size must
      account for the tracking (eg PFET strength recalculation) for the step.

      Consumer: proc_build_pstate_tables.C, proc_pmc_init.C -config

      Provided by the Machine Readable Workbook after system characterization.
    </description>
    <valueType>uint8</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_EXTERNAL_VRM_STEPDELAY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Step delay (binary in microseconds) after a voltage change

      Consumer: proc_pmc_init -config

      Provided by the Machine Readable Workbook after system characterization.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_PSTATE_UNDERVOLTING_MINIMUM</id>
    <targetType>TARGET_TYPE_PROC_CHIP</targetType>
    <description>
      Minimum frequency for which undervolting is allowed.  Will be internally
      rounded to the nearest ATTR_PROC_REFCLK_FREQUENCY / 8 value.

      Consumer: OCC FW; OCC Lab Tools

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint8</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_PSTATE_UNDERVOLTING_MAXIMUM</id>
    <targetType>TARGET_TYPE_PROC_CHIP</targetType>
    <description>
      Maximum frequency for which undervolting is allowed.  Will be internally
      rounded to the nearest ATTR_PROC_REFCLK_FREQUENCY / 8 value.

      Consumer: OCC FW; OCC Lab Tools

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint8</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_SPIVID_FREQUENCY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      SPI Clock Frequency (binary in MHz)

      Consumer: proc_pm_effective

      Produces ATTR_PM_SPIVID_CLOCK_DIVIDER

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_SPIVID_PORT_ENABLE</id>
    <targetType>TARGET_TYPE_PROC_CHIP</targetType>
    <description>
      Defines the configuration of the SPIVID ports from the target.
      - NONE means that no VRM is attached.
      - PORTxNONRED means that the indicated port is used in a non-redundant
                    configuration.
      - REDUNDANT means that all three are connected and considered redundant.

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint8</valueType>
    <enum>NONE = 0x00, PORT0NONRED = 0x04, PORT1NONRED = 0x02, PORT2NONRED = 0x01, REDUNDANT = 0x07</enum>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_SAFE_FREQUENCY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Indicates the frequency that the cores will be moved to in the event of
      the loss of the OCC Heartbead.  This value needs to be at or below the
      nominal frequency to make sure safe operation of all chiplets.

      Valid Values:-128 thru 127

      The value is translated to the Pstate space.

      Consumer: proc_pm_effective.C

      DYNAMIC_ATTRIBUTE: ATTR_PM_SAFE_PSTATE

      Consumer: proc_pcbs_init.C

      TODO: Dean said this may either be provided by the Machine Readable
            Workbook or Todd R's power management def file.
    </description>
    <valueType>uint8</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_RESONANT_CLOCK_FULL_CLOCK_SECTOR_BUFFER_FREQUENCY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Frequency (binary in MHz) for the point at which clock sector buffers
      should be at full strength.  This is to support Vmin operation.
      Setting cannot overlap the Low or High bands.

      Provided by the Machine Readable Workbook after system characterization.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_RESONANT_CLOCK_LOW_BAND_LOWER_FREQUENCY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Frequency (binary in MHz)) for the lower end of the Low Frequency
      Resonant band

      Provided by the Machine Readable Workbook after system characterization.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_RESONANT_CLOCK_LOW_BAND_UPPER_FREQUENCY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Frequency (binary in MHz) for the upper end of the Low Frequency
      Resonant band

      Provided by the Machine Readable Workbook after system characterization.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_RESONANT_CLOCK_HIGH_BAND_LOWER_FREQUENCY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Frequency (binary in MHz) for the lower end of the High Frequency
      Resonant band

      Provided by the Machine Readable Workbook after system characterization.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_RESONANT_CLOCK_HIGH_BAND_UPPER_FREQUENCY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Frequency (binary in MHz)) for the upper end of the High Frequency
      Resonant band

      Provided by the Machine Readable Workbook after system characterization.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_SPIPSS_FREQUENCY</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      SPIPSS Clock Frequency (binary in MHz)

      Valid range: 0.5MHz to 25MHz

      Consumer: proc_pmc_init

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_APSS_CHIP_SELECT</id>
    <targetType>TARGET_TYPE_PROC_CHIP</targetType>
    <description>
      Defines which of the PSS chip selects that the APSS is connected

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint8</valueType>
    <enum>NONE = 0xFF, CS0 = 0x00, CS1 = 0x01</enum>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_PBAX_NODEID</id>
    <targetType>TARGET_TYPE_PROC_CHIP</targetType>
    <description>
      Receive PBAX Nodeid. Value that indicates this PBA's PBAX Node affinity.
      This is matched to pbax_nodeid of the PMISC Address phase.

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint8</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_PBAX_CHIPID</id>
    <targetType>TARGET_TYPE_PROC_CHIP</targetType>
    <description>
      Receive PBAX Chipid. Value that indicates this PBA's PBAX Chipid within
      the PBAX node.  Is matched to pbax_chipid of the Address phase if
      pbax_type=unicast.

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint8</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PM_PBAX_BRDCST_ID_VECTOR</id>
    <targetType>TARGET_TYPE_PROC_CHIP</targetType>
    <description>
      Receive PBAX Broadcast Group. Vector that is indexed when decoded PMISC
      pbax_type=broadcast with the decoded PMISC pbax_chipid value.  If the
      bit in this vector at the decoded bit location is a 1, then this receive
      engine will participate in the broadcast operation.

      Provided by the Machine Readable Workbook.
    </description>
    <valueType>uint8</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PROC_R_LOADLINE</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Impedance (binary microOhms) of the load line from a processor VRM to the
      Processor Module pins.  This value is applied to each processor instance.

      Consumers: proc_build_gpstate_table.C

      Provided by the Machine Readable Workbook (via the power subsystem design
      per system)
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PROC_R_DISTLOSS</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Impedance (binary in microOhms) of the distribution loss the sense point
      to the circuit. This value is applied to each processor instance.

      Consumers: proc_build_gpstate_table.C

      Provided by the Machine Readable Workbook (via the power subsystem design
      per system)
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_PROC_VRM_VOFFSET</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Offset voltage (binary in microvolts) to apply to the VRM distribution to
      the processor module.  This value is applied to each processor instance.

      Consumers: proc_build_gpstate_table.C

      Provided by the Machine Readable Workbook (via the power subsystem design
      per system)
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
  <!-- ********************************************************************* -->
  <attribute>
    <id>ATTR_FREQ_CORE_MAX</id>
    <targetType>TARGET_TYPE_SYSTEM</targetType>
    <description>
      Maximum frequency (binary in MHz) that any processor in the system will
      run. Used to define the top end of the PState range in the frequency space.
      From this, the ATTR_PROCPM_PSTATE0_FREQUENCY is computed using
      ATTR_SYSTEM_REFCLK_FREQUENCY to determine the step size.

      Consumers: proc_build_gpstate_table.C (among others)

      TODO: Dean's proposal is that each platform will iterate over all chips,
            reading the super-turbo frequency from MVPD #V and set this attribute
            to the lowest value.
    </description>
    <valueType>uint32</valueType>
    <platInit/>
  </attribute>
</attributes>
OpenPOWER on IntegriCloud