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 2003 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 "PCI0"
34	PROP SlotType string r 0 "pci"
35    ENDNODE
36    NODE pci-slot location
37    	PROP Label string r 0 "PCI1"
38	PROP SlotType string r 0 "pci"
39    ENDNODE
40    NODE pci-slot location
41    	PROP Label string r 0 "PCI2"
42	PROP SlotType string r 0 "pci"
43    ENDNODE
44    NODE pci-slot location
45    	PROP Label string r 0 "PCI3"
46	PROP SlotType string r 0 "pci"
47    ENDNODE
48    NODE pci-slot location
49    	PROP Label string r 0 "PCI4"
50	PROP SlotType string r 0 "pci"
51    ENDNODE
52    NODE cpu-slot location
53    	PROP Label string r 0 "0"
54    	PROP Slot uint r 4 0
55	PROP SlotType string r 0 "cpu"
56    ENDNODE
57    NODE mem-slot location
58    	PROP Slot uint r 4 0
59    	PROP Label string r 0 "DIMM0"
60	PROP SlotType string r 0 "memory-module"
61    ENDNODE
62    NODE mem-slot location
63      	PROP Slot uint r 4 1
64    	PROP Label string r 0 "DIMM1"
65	PROP SlotType string r 0 "memory-module"
66    ENDNODE
67    NODE mem-slot location
68      	PROP Slot uint r 4 2
69    	PROP Label string r 0 "DIMM2"
70	PROP SlotType string r 0 "memory-module"
71    ENDNODE
72    NODE mem-slot location
73      	PROP Slot uint r 4 3
74    	PROP Label string r 0 "DIMM3"
75	PROP SlotType string r 0 "memory-module"
76    ENDNODE
77ENDNODE
78
79/*
80 * create the fru modules for CPU
81 */
82name:/frutree/chassis/MB/system-board/cpu-slot?Slot=0
83REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=0
84
85/*
86 * seeprom source for motherboard
87 */
88name:/frutree/chassis/MB/system-board
89PROP FRUDataAvailable void r
90REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/motherboard-fru-prom@0,a8
91
92/*
93 * Set up memory module fru
94 */
95name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM0
96REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,a0
97
98name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM1
99REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,a2
100
101name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM2
102REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,a4
103
104name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM3
105REFNODE mem-module fru WITH /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,a6
106
107/*
108 * Seeprom source for dimms
109 */
110name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM0/mem-module
111PROP FRUDataAvailable void r
112REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,a0
113
114name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM1/mem-module
115PROP FRUDataAvailable void r
116REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,a2
117
118name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM2/mem-module
119PROP FRUDataAvailable void r
120REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,a4
121
122name:/frutree/chassis/MB/system-board/mem-slot?Label=DIMM3/mem-module
123PROP FRUDataAvailable void r
124REFPROP _seeprom_source /platform/pci@1e,600000/isa@7/i2c@0,320/dimm-spd@0,a6
125
126/*
127 * _fru_parent memory modules
128 */
129name:/platform/memory-controller?portid=0/memory-module-group?ID=0/memory-module?ID=0
130REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM0/mem-module
131
132name:/platform/memory-controller?portid=0/memory-module-group?ID=0/memory-module?ID=1
133REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM1/mem-module
134
135name:/platform/memory-controller?portid=0/memory-module-group?ID=1/memory-module?ID=0
136REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM2/mem-module
137
138name:/platform/memory-controller?portid=0/memory-module-group?ID=1/memory-module?ID=1
139REFPROP _fru_parent /frutree/chassis/MB/system-board/mem-slot?Label=DIMM3/mem-module
140
141
142/*
143 * _fru_parent CPU, memory-controller devices
144 */
145_class:/PLATFORM_CLASS/cpu?ID=0
146REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot?Slot=0/cpu-module
147
148name:/platform/memory-controller?portid=0
149REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot?Slot=0/cpu-module
150
151/*
152 * _fru_parent motherboard
153 */
154_class:/PLATFORM_CLASS
155REFPROP _fru_parent /frutree/chassis/MB/system-board
156
157/*
158 * Populate PCI slots
159 */
160name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI0
161REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1e,600000/picl?DeviceID=2
162
163name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI1
164REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1e,600000/picl?DeviceID=3
165
166name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI2
167REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1e,600000/picl?DeviceID=4
168
169name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI3
170REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1e,600000/picl?DeviceID=5
171
172name:/frutree/chassis/MB/system-board/pci-slot?Label=PCI4
173REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci@1f,700000/picl?DeviceID=3
174
175/*
176 * _fru_parent PCI devices
177 */
178_class:/PLATFORM_CLASS/pci?UnitAddress=1e,600000/picl?DeviceID=2
179REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI0/pci-card
180
181_class:/PLATFORM_CLASS/pci?UnitAddress=1e,600000/picl?DeviceID=3
182REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI1/pci-card
183
184_class:/PLATFORM_CLASS/pci?UnitAddress=1e,600000/picl?DeviceID=4
185REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI2/pci-card
186
187_class:/PLATFORM_CLASS/pci?UnitAddress=1e,600000/picl?DeviceID=5
188REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI3/pci-card
189
190_class:/PLATFORM_CLASS/pci?UnitAddress=1f,700000/picl?DeviceID=3
191REFPROP _fru_parent /frutree/chassis/MB/system-board/pci-slot?Label=PCI4/pci-card
192
193/*
194 * _fru_parent for sensors and fans
195 */
196name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/cpu-fan
197REFPROP _fru_parent /frutree/chassis/F2/cpu-fan
198
199name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/intake-fan
200REFPROP _fru_parent /frutree/chassis/F1/front-fan
201
202name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/outtake-fan
203REFPROP _fru_parent /frutree/chassis/F0/rear-fan
204
205name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/cpu
206REFPROP _fru_parent /frutree/chassis/MB/system-board/cpu-slot/cpu-module
207
208name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/int-amb
209REFPROP _fru_parent /frutree/chassis/MB/system-board
210
211name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/sys-in
212REFPROP _fru_parent /frutree/chassis/MB/system-board
213
214/*
215 * Environmental devices associated with motherboard
216 */
217name:/frutree/chassis/MB/system-board
218	TABLE Devices
219	ROW
220	PROP Class string r 0 "temperature-sensor"
221	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/int-amb
222	ENDROW
223	ROW
224	PROP Class string r 0 "temperature-sensor"
225	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/sys-in
226	ENDROW
227	ENDTABLE
228
229/*
230 * Environmental devices of CPU
231 */
232name:/frutree/chassis/MB/system-board/cpu-slot/cpu-module
233	TABLE Devices
234	ROW
235	PROP Class string r 0 "temperature-sensor"
236	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/i2c@0,320/hardware-monitor@0,5c/cpu
237	ENDROW
238	ROW
239	PROP Class string r 0 "cpu"
240	REFPROP _cpu_ _class:/PLATFORM_CLASS/cpu
241	ENDROW
242	ENDTABLE
243
244/*
245 * Hard disk link between fru and device tree
246 */
247name:/frutree/chassis/HDD0/disk
248	TABLE Device
249	ROW
250	PROP Class string r 0 "block"
251	REFPROP _block_ name:/platform/pci@1e,600000/ide@d/dad@0,0
252	ENDROW
253	ENDTABLE
254name:/platform/pci@1e,600000/ide@d/dad@0,0
255	REFPROP _fru_parent name:/frutree/chassis/HDD0/disk
256
257name:/frutree/chassis/HDD1/disk
258	TABLE Device
259	ROW
260	PROP Class string r 0 "block"
261	REFPROP _block_ name:/platform/pci@1e,600000/ide@d/dad@1,0
262	ENDROW
263	ENDTABLE
264name:/platform/pci@1e,600000/ide@d/dad@1,0
265	REFPROP _fru_parent name:/frutree/chassis/HDD1/disk
266
267name:/frutree/chassis/RM0/cdrom
268	TABLE Device
269	ROW
270	PROP Class string r 0 "cdrom"
271	REFPROP _cdrom_ name:/platform/pci@1e,600000/ide@d/sd@2,0
272	ENDROW
273	ENDTABLE
274name:/platform/pci@1e,600000/ide@d/sd@2,0
275	REFPROP _fru_parent name:/frutree/chassis/RM0/cdrom
276