1<?xml version="1.0"?> 2<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1"> 3<!-- 4 Copyright 2009 Sun Microsystems, Inc. All rights reserved. 5 Use is subject to license terms. 6 7 CDDL HEADER START 8 9 The contents of this file are subject to the terms of the 10 Common Development and Distribution License (the "License"). 11 You may not use this file except in compliance with the License. 12 13 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14 or http://www.opensolaris.org/os/licensing. 15 See the License for the specific language governing permissions 16 and limitations under the License. 17 18 When distributing Covered Code, include this CDDL HEADER in each 19 file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20 If applicable, add the following below this CDDL HEADER, with the 21 fields enclosed by brackets "[]" replaced with your own identifying 22 information: Portions Copyright [yyyy] [name of copyright owner] 23 24 CDDL HEADER END 25 26--> 27 28<topology name='psu' scheme='hc'> 29 30 <set type='product' setlist='Sun-Fire-X4100-Server|Sun-Fire-X4200-Server|Sun-Fire-X4100-M2|Sun-Fire-X4200-M2|Sun-Fire-X4240|Sun-Fire-X4440|Sun-Fire-X4600|Sun-Fire-X4600-M2'> 31 <range name='psu' min='0' max='100'> 32 <facility name='sys.psfail.led' type='indicator' provider='fac_prov_ipmi' > 33 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 34 <propval name='entity_ref' type='string' value='sys.psfail.led' /> 35 <propval name='type' type='uint32' value='0' /> 36 <propmethod name='ipmi_indicator_mode' version='0' 37 propname='mode' proptype='uint32' mutable='1' > 38 </propmethod> 39 </propgroup> 40 </facility> 41 <!-- 42 We override the 'vinok' and 'pwrok' sensors so that we can declare 43 them as TOPO_SENSOR_TYPE_GENERIC_OK, which has semantic meaning for 44 fan/psu fault diagnosis. 45 --> 46 <facility name='ps.vinok' type='sensor' provider='fac_prov_ipmi' > 47 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 48 <propval name='type' type='uint32' value='270' /> 49 <propval name='sensor-type' type='string' value='discrete' /> 50 <propmethod name='ipmi_entity' version='0' 51 propname='entity_ref' proptype='string' > 52 <argval name='format' type='string' value='ps%d.vinok' /> 53 <argval name='offset' type='uint32' value='0' /> 54 <argval name='nparams' type='uint32' value='1' /> 55 </propmethod> 56 <propmethod name='ipmi_sensor_state' version='0' 57 propname='state' proptype='uint32' > 58 </propmethod> 59 </propgroup> 60 </facility> 61 <facility name='ps.pwrok' type='sensor' provider='fac_prov_ipmi' > 62 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 63 <propval name='type' type='uint32' value='270' /> 64 <propval name='sensor-type' type='string' value='discrete' /> 65 <propmethod name='ipmi_entity' version='0' 66 propname='entity_ref' proptype='string' > 67 <argval name='format' type='string' value='ps%d.pwrok' /> 68 <argval name='offset' type='uint32' value='0' /> 69 <argval name='nparams' type='uint32' value='1' /> 70 </propmethod> 71 <propmethod name='ipmi_sensor_state' version='0' 72 propname='state' proptype='uint32' > 73 </propmethod> 74 </propgroup> 75 </facility> 76 <propgroup name='protocol' version='1' 77 name-stability='Private' data-stability='Private' > 78 79 <propmethod name='ipmi_fru_label' version='0' 80 propname='label' proptype='string' > 81 82 <argval name='format' type='string' value='PS%d' /> 83 <argval name='offset' type='uint32' value='0' /> 84 85 </propmethod> 86 </propgroup> 87 <propgroup name='ipmi' version='1' 88 name-stability='Private' data-stability='Private' > 89 90 <propmethod name='ipmi_entity' version='0' 91 propname='entity_ref' proptype='string' > 92 93 <argval name='format' type='string' value='ps%d.prsnt' /> 94 <argval name='offset' type='uint32' value='0' /> 95 <argval name='nparams' type='uint32' value='1' /> 96 97 </propmethod> 98 </propgroup> 99 </range> 100 </set> 101 102 <!-- 103 Thumper platforms explicitly have only two power supplies, as the third 104 (unused) bay is reported via IPMI but not actually valid. 105 See comments above for why we manually specify vinok/pwrok 106 --> 107 <set type='product' setlist='Sun-Fire-X4500|Sun-Fire-X4540'> 108 <range name='psu' min='0' max='100'> 109 <node instance='0'> 110 <facility name='ps0.vinok' type='sensor' provider='fac_prov_ipmi' > 111 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 112 <propval name='type' type='uint32' value='270' /> 113 <propval name='sensor-type' type='string' value='discrete' /> 114 <propmethod name='ipmi_entity' version='0' 115 propname='entity_ref' proptype='string' > 116 <argval name='format' type='string' value='ps%d.vinok' /> 117 <argval name='offset' type='uint32' value='0' /> 118 <argval name='nparams' type='uint32' value='1' /> 119 </propmethod> 120 <propmethod name='ipmi_sensor_state' version='0' 121 propname='state' proptype='uint32' > 122 </propmethod> 123 </propgroup> 124 </facility> 125 <facility name='ps0.pwrok' type='sensor' provider='fac_prov_ipmi' > 126 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 127 <propval name='type' type='uint32' value='270' /> 128 <propval name='sensor-type' type='string' value='discrete' /> 129 <propmethod name='ipmi_entity' version='0' 130 propname='entity_ref' proptype='string' > 131 <argval name='format' type='string' value='ps%d.pwrok' /> 132 <argval name='offset' type='uint32' value='0' /> 133 <argval name='nparams' type='uint32' value='1' /> 134 </propmethod> 135 <propmethod name='ipmi_sensor_state' version='0' 136 propname='state' proptype='uint32' > 137 </propmethod> 138 </propgroup> 139 </facility> 140 <propgroup name='protocol' version='1' 141 name-stability='Private' data-stability='Private' > 142 <propval name='label' type='string' value='PS0' /> 143 <propmethod name='ipmi_fru_fmri' version='0' 144 propname='FRU' proptype='fmri' > 145 <argval name='entity' type='string' value='self' /> 146 </propmethod> 147 </propgroup> 148 <propgroup name='ipmi' version='1' 149 name-stability='Private' data-stability='Private' > 150 151 <propval name='entity_ref' type='string' value='ps0.prsnt' /> 152 </propgroup> 153 <enum-method name='ipmi' version='1' /> 154 </node> 155 <node instance='1'> 156 <facility name='ps1.vinok' type='sensor' provider='fac_prov_ipmi' > 157 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 158 <propval name='type' type='uint32' value='270' /> 159 <propval name='sensor-type' type='string' value='discrete' /> 160 <propmethod name='ipmi_entity' version='0' 161 propname='entity_ref' proptype='string' > 162 <argval name='format' type='string' value='ps%d.vinok' /> 163 <argval name='offset' type='uint32' value='0' /> 164 <argval name='nparams' type='uint32' value='1' /> 165 </propmethod> 166 <propmethod name='ipmi_sensor_state' version='0' 167 propname='state' proptype='uint32' > 168 </propmethod> 169 </propgroup> 170 </facility> 171 <facility name='ps1.pwrok' type='sensor' provider='fac_prov_ipmi' > 172 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 173 <propval name='type' type='uint32' value='270' /> 174 <propval name='sensor-type' type='string' value='discrete' /> 175 <propmethod name='ipmi_entity' version='0' 176 propname='entity_ref' proptype='string' > 177 <argval name='format' type='string' value='ps%d.pwrok' /> 178 <argval name='offset' type='uint32' value='0' /> 179 <argval name='nparams' type='uint32' value='1' /> 180 </propmethod> 181 <propmethod name='ipmi_sensor_state' version='0' 182 propname='state' proptype='uint32' > 183 </propmethod> 184 </propgroup> 185 </facility> 186 <propgroup name='protocol' version='1' 187 name-stability='Private' data-stability='Private' > 188 <propval name='label' type='string' value='PS1' /> 189 <propmethod name='ipmi_fru_fmri' version='0' 190 propname='FRU' proptype='fmri' > 191 <argval name='entity' type='string' value='self' /> 192 </propmethod> 193 </propgroup> 194 <propgroup name='ipmi' version='1' 195 name-stability='Private' data-stability='Private' > 196 197 <propval name='entity_ref' type='string' value='ps1.prsnt' /> 198 </propgroup> 199 <enum-method name='ipmi' version='1' /> 200 </node> 201 </range> 202 </set> 203 <set type='product' setlist='SUN-FIRE-X4150|SUN-FIRE-X4250'> 204 <range name='psu' min='0' max='1'> 205 <fac-enum provider='fac_prov_ipmi' /> 206 <node instance='0'> 207 <facility name='PS0.VINOK' type='sensor' provider='fac_prov_ipmi' > 208 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 209 <propval name='type' type='uint32' value='270' /> 210 <propval name='sensor-type' type='string' value='discrete' /> 211 <propmethod name='ipmi_entity' version='0' 212 propname='entity_ref' proptype='string' > 213 <argval name='format' type='string' value='PS%d/VINOK' /> 214 <argval name='offset' type='uint32' value='0' /> 215 <argval name='nparams' type='uint32' value='1' /> 216 </propmethod> 217 <propmethod name='ipmi_sensor_state' version='0' 218 propname='state' proptype='uint32' > 219 </propmethod> 220 </propgroup> 221 </facility> 222 <facility name='PS0.PWROK' type='sensor' provider='fac_prov_ipmi' > 223 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 224 <propval name='type' type='uint32' value='270' /> 225 <propval name='sensor-type' type='string' value='discrete' /> 226 <propmethod name='ipmi_entity' version='0' 227 propname='entity_ref' proptype='string' > 228 <argval name='format' type='string' value='PS%d/PWROK' /> 229 <argval name='offset' type='uint32' value='0' /> 230 <argval name='nparams' type='uint32' value='1' /> 231 </propmethod> 232 <propmethod name='ipmi_sensor_state' version='0' 233 propname='state' proptype='uint32' > 234 </propmethod> 235 </propgroup> 236 </facility> 237 <propgroup name='protocol' version='1' 238 name-stability='Private' data-stability='Private' > 239 <propval name='label' type='string' value='PS0' /> 240 <propmethod name='ipmi_fru_fmri' version='0' 241 propname='FRU' proptype='fmri' > 242 <argval name='entity' type='string' value='self' /> 243 </propmethod> 244 </propgroup> 245 <propgroup name='ipmi' version='1' 246 name-stability='Private' data-stability='Private' > 247 248 <propval name='entity_ref' type='string' value='PS0/PRSNT' /> 249 </propgroup> 250 <enum-method name='ipmi' version='1' /> 251 </node> 252 <node instance='1'> 253 <facility name='PS1.VINOK' type='sensor' provider='fac_prov_ipmi' > 254 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 255 <propval name='type' type='uint32' value='270' /> 256 <propval name='sensor-type' type='string' value='discrete' /> 257 <propmethod name='ipmi_entity' version='0' 258 propname='entity_ref' proptype='string' > 259 <argval name='format' type='string' value='PS%d/VINOK' /> 260 <argval name='offset' type='uint32' value='0' /> 261 <argval name='nparams' type='uint32' value='1' /> 262 </propmethod> 263 <propmethod name='ipmi_sensor_state' version='0' 264 propname='state' proptype='uint32' > 265 </propmethod> 266 </propgroup> 267 </facility> 268 <facility name='PS1.PWROK' type='sensor' provider='fac_prov_ipmi' > 269 <propgroup name='facility' version='1' name-stability='Private' data-stability='Private' > 270 <propval name='type' type='uint32' value='270' /> 271 <propval name='sensor-type' type='string' value='discrete' /> 272 <propmethod name='ipmi_entity' version='0' 273 propname='entity_ref' proptype='string' > 274 <argval name='format' type='string' value='PS%d/PWROK' /> 275 <argval name='offset' type='uint32' value='0' /> 276 <argval name='nparams' type='uint32' value='1' /> 277 </propmethod> 278 <propmethod name='ipmi_sensor_state' version='0' 279 propname='state' proptype='uint32' > 280 </propmethod> 281 </propgroup> 282 </facility> 283 <propgroup name='protocol' version='1' 284 name-stability='Private' data-stability='Private' > 285 <propval name='label' type='string' value='PS1' /> 286 <propmethod name='ipmi_fru_fmri' version='0' 287 propname='FRU' proptype='fmri' > 288 <argval name='entity' type='string' value='self' /> 289 </propmethod> 290 </propgroup> 291 <propgroup name='ipmi' version='1' 292 name-stability='Private' data-stability='Private' > 293 294 <propval name='entity_ref' type='string' value='PS1/PRSNT' /> 295 </propgroup> 296 <enum-method name='ipmi' version='1' /> 297 </node> 298 </range> 299 </set> 300</topology> 301