1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License").  You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24 * Use is subject to license terms.
25 *
26 * # ident	"%Z%%M%	%I%	%E% SMI"
27 *
28 * This file creates the system board structure
29 */
30
31NODE system-board fru
32    NODE pci-slot location
33    	PROP Label string r 0 "PCI5"
34	PROP SlotType string r 0 "pci"
35    ENDNODE
36    NODE pci-slot location
37    	PROP Label string r 0 "PCI4"
38	PROP SlotType string r 0 "pci"
39    ENDNODE
40    NODE pci-slot location
41    	PROP Label string r 0 "PCI3"
42	PROP SlotType string r 0 "pci"
43    ENDNODE
44    NODE pci-slot location
45    	PROP Label string r 0 "PCI2"
46	PROP SlotType string r 0 "pci"
47    ENDNODE
48    NODE pci-slot location
49    	PROP Label string r 0 "PCI1"
50	PROP SlotType string r 0 "pci"
51    ENDNODE
52    NODE pci-slot location
53    	PROP Label string r 0 "PCI0"
54	PROP SlotType string r 0 "pci"
55    ENDNODE
56    NODE audio-slot location
57    	PROP Label string r 0 "ARC"
58	PROP SlotType string r 0 "audio"
59    ENDNODE
60    NODE cpu-slot location
61    	PROP Label string r 0 "0"
62    	PROP Slot uint r 4 0
63	PROP SlotType string r 0 "cpu"
64    ENDNODE
65    NODE cpu-slot location
66    	PROP Label string r 0 "1"
67    	PROP Slot uint r 4 1
68	PROP SlotType string r 0 "cpu"
69    ENDNODE
70    NODE mem-slot location
71    	PROP Slot uint r 4 1
72    	PROP Label string r 0 "DIMM0"
73	PROP SlotType string r 0 "memory-module"
74    ENDNODE
75    NODE mem-slot location
76      	PROP Slot uint r 4 2
77    	PROP Label string r 0 "DIMM1"
78	PROP SlotType string r 0 "memory-module"
79    ENDNODE
80    NODE mem-slot location
81      	PROP Slot uint r 4 3
82    	PROP Label string r 0 "DIMM2"
83	PROP SlotType string r 0 "memory-module"
84    ENDNODE
85    NODE mem-slot location
86      	PROP Slot uint r 4 4
87    	PROP Label string r 0 "DIMM3"
88	PROP SlotType string r 0 "memory-module"
89    ENDNODE
90    NODE mem-slot location
91      	PROP Slot uint r 4 5
92    	PROP Label string r 0 "DIMM4"
93	PROP SlotType string r 0 "memory-module"
94    ENDNODE
95    NODE mem-slot location
96      	PROP Slot uint r 4 6
97    	PROP Label string r 0 "DIMM5"
98	PROP SlotType string r 0 "memory-module"
99    ENDNODE
100    NODE mem-slot location
101      	PROP Slot uint r 4 7
102    	PROP Label string r 0 "DIMM6"
103	PROP SlotType string r 0 "memory-module"
104    ENDNODE
105    NODE mem-slot location
106      	PROP Slot uint r 4 8
107    	PROP Label string r 0 "DIMM7"
108	PROP SlotType string r 0 "memory-module"
109    ENDNODE
110ENDNODE
111
112/*
113 * create the fru modules for CPU
114 */
115name:/frutree/chassis/MB/system-board/cpu-slot?Slot=0
116REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=0
117
118name:/frutree/chassis/MB/system-board/cpu-slot?Slot=1
119REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=1
120
121/*
122 * seeprom source for motherboard
123 */
124name:/frutree/chassis/MB/system-board
125PROP FRUDataAvailable void r
126REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/motherboard-fru-prom@0,a2
127
128/*
129 * Set up memory module fru
130 */
131name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM0
132REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,b6
133
134name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM1
135REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,b8
136
137name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM2
138REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,ba
139
140name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM3
141REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,bc
142
143name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM4
144REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,c6
145
146name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM5
147REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,c8
148
149name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM6
150REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,ca
151
152name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM7
153REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,cc
154
155/*
156 * Seeprom source for dimms
157 */
158name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM0/mem-module
159PROP FRUDataAvailable void r
160REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,b6
161
162name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM1/mem-module
163PROP FRUDataAvailable void r
164REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,b8
165
166name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM2/mem-module
167PROP FRUDataAvailable void r
168REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,ba
169
170name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM3/mem-module
171PROP FRUDataAvailable void r
172REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,bc
173
174name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM4/mem-module
175PROP FRUDataAvailable void r
176REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,c6
177
178name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM5/mem-module
179PROP FRUDataAvailable void r
180REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,c8
181
182name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM6/mem-module
183PROP FRUDataAvailable void r
184REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,ca
185
186name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM7/mem-module
187PROP FRUDataAvailable void r
188REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,cc
189
190/*
191 * _fru_parent memory modules
192 */
193name:/platform/memory-controller?portid=0/memory-module-group?ID=0/memory-module?ID=0
194REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM0/mem-module
195
196name:/platform/memory-controller?portid=0/memory-module-group?ID=0/memory-module?ID=1
197REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM1/mem-module
198
199name:/platform/memory-controller?portid=0/memory-module-group?ID=1/memory-module?ID=0
200REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM2/mem-module
201
202name:/platform/memory-controller?portid=0/memory-module-group?ID=1/memory-module?ID=1
203REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM3/mem-module
204
205name:/platform/memory-controller?portid=1/memory-module-group?ID=0/memory-module?ID=0
206REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM4/mem-module
207
208name:/platform/memory-controller?portid=1/memory-module-group?ID=0/memory-module?ID=1
209REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM5/mem-module
210
211name:/platform/memory-controller?portid=1/memory-module-group?ID=1/memory-module?ID=0
212REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM6/mem-module
213
214name:/platform/memory-controller?portid=1/memory-module-group?ID=1/memory-module?ID=1
215REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM7/mem-module
216
217
218/*
219 * _fru_parent CPU, memory-controller devices
220 */
221_class:/PLATFORM_CLASS/cpu?ID=0
222REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot?Slot=0/cpu-module
223
224name:/platform/memory-controller?portid=0
225REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot?Slot=0/cpu-module
226
227_class:/PLATFORM_CLASS/cpu?ID=1
228REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot?Slot=1/cpu-module
229
230name:/platform/memory-controller?portid=1
231REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot?Slot=1/cpu-module
232
233/*
234 * _fru_parent motherboard
235 */
236_class:/PLATFORM_CLASS
237REFPROP _fru_parent /frutree/chassis/MB/system-board
238
239/*
240 * Populate audio slot
241 */
242name:/frutree/chassis/MB/system-board/audio-slot
243REFNODE audio-card fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/audio-card-fru-prom
244
245name:/frutree/chassis/MB/system-board/audio-slot/audio-card
246PROP FRUDataAvailable void r
247REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/audio-card-fru-prom
248
249/*
250 * Populate PCI slots
251 */
252name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI5
253REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1f,700000/picl?DeviceID=2
254
255name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI4
256REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1e,600000/picl?DeviceID=2
257
258name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI3
259REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1c,600000/picl?DeviceID=2
260
261name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI2
262REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1d,700000/picl?DeviceID=2
263
264name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI1
265REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1e,600000/picl?DeviceID=3
266
267name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI0
268REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1e,600000/picl?DeviceID=4
269
270/*
271 * _fru_parent PCI devices
272 */
273_class:/PLATFORM_CLASS/pci?UnitAddress=1f,700000/picl?DeviceID=2
274REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI5/pci-card
275
276_class:/PLATFORM_CLASS/pci?UnitAddress=1e,600000/picl?DeviceID=2
277REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI4/pci-card
278
279_class:/PLATFORM_CLASS/pci?UnitAddress=1c,600000/picl?DeviceID=2
280REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI3/pci-card
281
282_class:/PLATFORM_CLASS/pci?UnitAddress=1d,700000/picl?DeviceID=2
283REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI2/pci-card
284
285_class:/PLATFORM_CLASS/pci?UnitAddress=1e,600000/picl?DeviceID=3
286REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI1/pci-card
287
288_class:/PLATFORM_CLASS/pci?UnitAddress=1e,600000/picl?DeviceID=4
289REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI0/pci-card
290
291/*
292 * _fru_parent for sensors and fans
293 */
294name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,58/cpu0-fan
295REFPROP _fru_parent	/frutree/chassis/F1/cpu0-fan
296
297name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,58/cpu1-fan
298REFPROP _fru_parent	/frutree/chassis/F2/cpu1-fan
299
300name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/outtake-fan
301REFPROP _fru_parent	/frutree/chassis/F3/outtake-fan
302
303name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/intake-fan
304REFPROP _fru_parent	/frutree/chassis/F0/intake-fan
305
306name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,58/cpu0
307REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot?Slot=0/cpu-module
308
309name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,58/cpu1
310REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot?Slot=1/cpu-module
311
312name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,58/int-amb0
313REFPROP _fru_parent /frutree/chassis/MB/system-board
314
315name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/sys-out
316REFPROP _fru_parent /frutree/chassis/MB/system-board
317
318name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/sys-in
319REFPROP _fru_parent /frutree/chassis/MB/system-board
320
321name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/int-amb1
322REFPROP _fru_parent /frutree/chassis/MB/system-board
323
324/*
325 * Environmental devices associated with motherboard
326 */
327name:/frutree/chassis/MB/system-board
328	TABLE Devices
329	ROW
330	PROP Class string r 0 "temperature-sensor"
331	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,58/int-amb0
332	ENDROW
333	ROW
334	PROP Class string r 0 "temperature-sensor"
335	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/int-amb1
336	ENDROW
337	ROW
338	PROP Class string r 0 "temperature-sensor"
339	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/sys-in
340	ENDROW
341	ROW
342	PROP Class string r 0 "temperature-sensor"
343	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/sys-out
344	ENDROW
345	ENDTABLE
346
347/*
348 * Environmental devices of CPU
349 */
350name:/frutree/chassis/MB/system-board/cpu-slot?Slot=0/cpu-module
351	TABLE Devices
352	ROW
353	PROP Class string r 0 "temperature-sensor"
354	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,58/cpu0
355	ENDROW
356	ROW
357	PROP Class string r 0 "cpu"
358	REFPROP _cpu_ _class:/PLATFORM_CLASS/cpu?ID=0
359	ENDROW
360	ENDTABLE
361
362
363name:/frutree/chassis/MB/system-board/cpu-slot?Slot=1/cpu-module
364	TABLE Devices
365	ROW
366	PROP Class string r 0 "temperature-sensor"
367	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,58/cpu1
368	ENDROW
369	ROW
370	PROP Class string r 0 "cpu"
371	REFPROP _cpu_ _class:/PLATFORM_CLASS/cpu?ID=1
372	ENDROW
373	ENDTABLE
374
375/*
376 * Hard disk link between fru and device tree
377 */
378name:/frutree/chassis/SCSI-BP/HDD0/disk
379	TABLE Device
380	ROW
381	PROP Class string r 0 "block"
382	REFPROP _block_ name:/platform/pci@1d,700000/scsi@4/sd@0,0
383	ENDROW
384	ENDTABLE
385name:/platform/pci@1d,700000/scsi@4/sd@0,0
386	REFPROP _fru_parent name:/frutree/chassis/SCSI-BP/HDD0/disk
387
388name:/platform/pci@1d,700000/scsi@4/sd@0,0/hard-disk0
389	REFPROP _fru_parent name:/frutree/chassis/SCSI-BP/HDD0/disk
390
391name:/frutree/chassis/SCSI-BP/HDD1/disk
392	TABLE Device
393	ROW
394	PROP Class string r 0 "block"
395	REFPROP _block_ name:/platform/pci@1d,700000/scsi@4/sd@1,0
396	ENDROW
397	ENDTABLE
398name:/platform/pci@1d,700000/scsi@4/sd@1,0
399	REFPROP _fru_parent name:/frutree/chassis/SCSI-BP/HDD1/disk
400
401name:/platform/pci@1d,700000/scsi@4/sd@1,0/hard-disk1
402	REFPROP _fru_parent name:/frutree/chassis/SCSI-BP/HDD1/disk
403
404name:/frutree/chassis/RM0/cdrom
405	TABLE Device
406	ROW
407	PROP Class string r 0 "cdrom"
408	REFPROP _cdrom_ name:/platform/pci@1e,600000/ide@d/sd@2,0
409	ENDROW
410	ENDTABLE
411name:/platform/pci@1e,600000/ide@d/sd@2,0
412	REFPROP _fru_parent name:/frutree/chassis/RM0/cdrom
413