1<?xml version="1.0"?>
2<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/topology.dtd.1">
3<!--
4
5 This file and its contents are supplied under the terms of the
6 Common Development and Distribution License ("CDDL"), version 1.0.
7 You may only use this file in accordance with the terms of version
8 1.0 of the CDDL.
9
10 A full copy of the text of the CDDL should have accompanied this
11 source.  A copy of the CDDL is also available via the Internet at
12 http://www.illumos.org/license/CDDL.
13
14 Copyright 2020 Joyent, Inc.
15
16-->
17
18<topology name='i86pc' scheme='hc'>
19
20  <range name='motherboard' min='0' max='0'>
21    <enum-method name='smbios' version='1' />
22    <node instance='0' static='true'>
23        <fac-enum provider='fac_prov_ipmi' />
24        <propgroup name='protocol' version='1'
25            name-stability='Private' data-stability='Private' >
26            <propval name='label' type='string' value='MB' />
27        </propgroup>
28        <propgroup name='ipmi' version='1'
29            name-stability='Private' data-stability='Private' >
30            <propval name='entity-list' type='string_array' >
31                <propitem value='CPU1 Temp' />
32                <propitem value='CPU2 Temp' />
33                <propitem value='MB_NIC_Temp1' />
34                <propitem value='MB_NIC_Temp2' />
35                <propitem value='PCH Temp' />
36                <propitem value='Peripheral Temp' />
37                <propitem value='5VSB' />
38                <propitem value='5VCC' />
39                <propitem value='3.3VSB' />
40                <propitem value='3.3VCC' />
41                <propitem value='1.5V PCH' />
42                <propitem value='1.2V BMC' />
43                <propitem value='1.05V PCH' />
44                <propitem value='12V' />
45                <propitem value='5VCC' />
46                <propitem value='5VSB' />
47                <propitem value='NVMe_SSD Temp' />
48                <propitem value='VBAT' />
49                <propitem value='Vcpu1' />
50                <propitem value='Vcpu2' />
51                <propitem value='VDIMMAB' />
52                <propitem value='VDIMMCD' />
53                <propitem value='VDIMMEF' />
54                <propitem value='VDIMMGH' />
55                <propitem value='VmemABVRM' />
56                <propitem value='VmemCDVRM' />
57                <propitem value='VmemEFVRM' />
58                <propitem value='VmemGHVRM' />
59           </propval>
60        </propgroup>
61    </node>
62
63    <dependents grouping='children'>
64      <range name='chip' min='0' max='1'>
65        <enum-method name='chip' version='1' />
66      </range>
67      <range name='hostbridge' min='0' max='254'>
68        <enum-method name='hostbridge' version='1' />
69      </range>
70      <range name='sp' min='0' max='0'>
71        <enum-method name='ipmi' version='1' />
72      </range>
73      <range name='usb-mobo' min='0' max='256'>
74        <enum-method name='usb' version='1' />
75      </range>
76    </dependents>
77
78  </range>
79
80  <range name='chassis' min='0' max='0'>
81    <propmap name='SYS-2028U-E1CNRT+-chassis' />
82
83    <dependents grouping='children'>
84
85       <range name='psu' min='0' max='1'>
86          <enum-method name='ipmi' version='1' />
87       </range>
88       <range name='fan' min='0' max='8'>
89          <enum-method name='ipmi' version='1' />
90       </range>
91      <range name='usb-chassis' min='0' max='256'>
92        <enum-method name='usb' version='1' />
93      </range>
94
95    </dependents>
96
97  </range>
98
99  <range name='ses-enclosure' min='0' max='0'>
100      <enum-method name='ses' version='1' />
101      <node instance='0' static='true'>
102      <dependents grouping='children'>
103      <range name='bay' min='0' max='23'>
104        <node instance='20' static='true'>
105          <propgroup name='binding' version='1'
106              name-stability='Private' data-stability='Private' >
107              <propval name='driver' type='string' value='nvme' />
108              <propval name='parent-device' type='string'
109                value='/pci@0,0/pci8086,6f08@3' />
110          </propgroup>
111          <dependents grouping='children'>
112          <range name='nvme' min='0' max='0'>
113            <enum-method name='disk' version='1' />
114          </range>
115          </dependents>
116        </node>
117        <node instance='21' static='true'>
118          <propgroup name='binding' version='1'
119              name-stability='Private' data-stability='Private' >
120              <propval name='driver' type='string' value='nvme' />
121              <propval name='parent-device' type='string'
122                value='/pci@0,0/pci8086,6f09@3,1' />
123          </propgroup>
124          <dependents grouping='children'>
125          <range name='nvme' min='0' max='0'>
126            <enum-method name='disk' version='1' />
127          </range>
128          </dependents>
129        </node>
130        <node instance='22' static='true'>
131          <propgroup name='binding' version='1'
132            name-stability='Private' data-stability='Private' >
133              <propval name='driver' type='string' value='nvme' />
134              <propval name='parent-device' type='string'
135                value='/pci@0,0/pci8086,6f0a@3,2' />
136          </propgroup>
137          <dependents grouping='children'>
138          <range name='nvme' min='0' max='0'>
139            <enum-method name='disk' version='1' />
140          </range>
141          </dependents>
142        </node>
143        <node instance='23' static='true'>
144          <propgroup name='binding' version='1'
145              name-stability='Private' data-stability='Private' >
146              <propval name='driver' type='string' value='nvme' />
147              <propval name='parent-device' type='string'
148                value='/pci@0,0/pci8086,6f0b@3,3' />
149          </propgroup>
150          <dependents grouping='children'>
151          <range name='nvme' min='0' max='0'>
152            <enum-method name='disk' version='1' />
153          </range>
154          </dependents>
155        </node>
156      </range> <!-- bay -->
157      </dependents>
158    </node> <!-- ses-enclosure=0 -->
159  </range> <!-- ses-enclosure -->
160
161</topology>
162