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
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.
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]
23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
26 * #ident "%Z%%M% %I% %E% SMI"
28 * create the system board structure
32 PROP Label string r 0 "system-board"
33 NODE pci-slot location
34 PROP Label string r 0 "PCI1"
36 NODE pci-slot location
37 PROP Label string r 0 "PCI2"
39 NODE pci-slot location
40 PROP Label string r 0 "PCI3"
42 NODE cpu-slot location
44 PROP Label string r 0 "cpu0"
46 NODE mem-slot location
48 PROP Label string r 0 "DIMM0"
50 NODE mem-slot location
52 PROP Label string r 0 "DIMM1"
54 NODE mem-slot location
56 PROP Label string r 0 "DIMM2"
58 NODE mem-slot location
60 PROP Label string r 0 "DIMM3"
65 * Create transfer size property
68 PROP TransferSize uint r 4 64
71 * set the SlotType for the cpu slots
73 name:/frutree/chassis/system-board/cpu-slot
74 PROP SlotType string r 0 "cpu"
77 * Create fru node for memory module
78 * Use both OBP 4.10.6 (dimm-spd) and older (dimm) device names.
79 * Config file parser will ignore REFNODE with invalid device name.
81 name:/frutree/chassis/system-board/mem-slot?Label=DIMM0
82 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm?UnitAddress=0,a0
83 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a0
85 name:/frutree/chassis/system-board/mem-slot?Label=DIMM1
86 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm?UnitAddress=0,a2
87 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a2
89 name:/frutree/chassis/system-board/mem-slot?Label=DIMM2
90 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm?UnitAddress=0,a4
91 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a4
93 name:/frutree/chassis/system-board/mem-slot?Label=DIMM3
94 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm?UnitAddress=0,a6
95 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a6
98 * For memory module FRUs that are present, create _seeprom_source
99 * Use both OBP 4.10.6 (dimm-spd) and older (dimm) device names.
100 * Config file parser will ignore REFPROP with invalid device name.
102 name:/frutree/chassis/system-board/mem-slot?Label=DIMM0/mem-module
103 PROP FRUDataAvailable void r
104 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm?UnitAddress=0,a0
105 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a0
107 name:/frutree/chassis/system-board/mem-slot?Label=DIMM1/mem-module
108 PROP FRUDataAvailable void r
109 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm?UnitAddress=0,a2
110 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a2
112 name:/frutree/chassis/system-board/mem-slot?Label=DIMM2/mem-module
113 PROP FRUDataAvailable void r
114 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm?UnitAddress=0,a4
115 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a4
117 name:/frutree/chassis/system-board/mem-slot?Label=DIMM3/mem-module
118 PROP FRUDataAvailable void r
119 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm?UnitAddress=0,a6
120 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a6
123 * Set _fru_parent for memory seeprom devices
124 * Use both OBP 4.10.6 (dimm-spd) and older (dimm) device names.
125 * Config file parser will skip to next name entry if the device name is
128 name:/platform/pci/pmu/i2c/dimm?UnitAddress=0,a0
129 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM0/mem-module
131 name:/platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a0
132 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM0/mem-module
134 name:/platform/pci/pmu/i2c/dimm?UnitAddress=0,a2
135 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM1/mem-module
137 name:/platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a2
138 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM1/mem-module
140 name:/platform/pci/pmu/i2c/dimm?UnitAddress=0,a4
141 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM2/mem-module
143 name:/platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a4
144 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM2/mem-module
146 name:/platform/pci/pmu/i2c/dimm?UnitAddress=0,a6
147 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM3/mem-module
149 name:/platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a6
150 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM3/mem-module
155 name:/frutree/chassis/system-board/pci-slot?Label=PCI1
156 REFNODE pci-card fru WITH _class:/upa/pci/pci/picl?DeviceID=2
158 name:/frutree/chassis/system-board/pci-slot?Label=PCI2
159 REFNODE pci-card fru WITH _class:/upa/pci/pci/picl?DeviceID=1
161 name:/frutree/chassis/system-board/pci-slot?Label=PCI3
162 REFNODE pci-card fru WITH _class:/upa/pci/pci/picl?DeviceID=0
165 * Create cpu-module fru
167 name:/frutree/chassis/system-board/cpu-slot?Slot=0
168 REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=0
171 * Set _fru_parent of /platform to system-board
174 REFPROP _fru_parent /frutree/chassis/system-board
177 * Set _fru_parent of cpu to the cpu-module fru
179 _class:/PLATFORM_CLASS/cpu?ID=0
180 REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=0/cpu-module
183 * Set _fru_parent for temperature-device
185 _class:/upa/pci/pmu/i2c/temperature-device
186 REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=0/cpu-module
189 * _fru_parent memory modules
191 name:/platform/memory-controller/memory-module?ID=0
192 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM0/mem-module
194 name:/platform/memory-controller/memory-module?ID=1
195 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM1/mem-module
197 name:/platform/memory-controller/memory-module?ID=2
198 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM2/mem-module
200 name:/platform/memory-controller/memory-module?ID=3
201 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM3/mem-module
204 * Set _fru_parent of pci to the pci-card fru
206 _class:/PLATFORM_CLASS/pci/pci/picl?DeviceID=2
207 REFPROP _fru_parent /frutree/chassis/system-board/pci-slot?Label=PCI1/pci-card
209 _class:/PLATFORM_CLASS/pci/pci/picl?DeviceID=1
210 REFPROP _fru_parent /frutree/chassis/system-board/pci-slot?Label=PCI2/pci-card
212 _class:/PLATFORM_CLASS/pci/pci/picl?DeviceID=0
213 REFPROP _fru_parent /frutree/chassis/system-board/pci-slot?Label=PCI3/pci-card