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 * supported prop types: void, int, uint, float, string
29 * supported prop access_modes: r, w, rw
30 *
31 * VERSION <version_number>  -- supported version number is 1.0
32 *
33 * name:<namepath> --     gives the anchor node
34 *      where <namepath> is <nodename>[@<bus-addr>][?<prop>=<val>]
35 *
36 * _class:<classpath> --   gives the anchor node
37 *      where <classpath> is <classname>[@<bus-addr>][?<prop>=<val>]
38 *
39 * NODE <name> <class>
40 *       {describes a subtree}
41 * ENDNODE
42 *
43 * PROP <name> <type> <access_mode> [<size> <value>] -- per property
44 *
45 * REFPROP <name> <dstnode>
46 *
47 * REFNODE <name> <class> with <destnode> -- Associates a new node
48 *       with <destnode> if exists
49 *       where
50 *             <name> is the nodename
51 *             <class> is the picl class.
52 *             <destnode> is name:<namepath> or _class:<classpath>
53 *
54 * If "name:" or "_class:" is not specified in the <path>,
55 * the default is "name:"
56 *
57 */
58
59/*
60 * define a macro to force a #ident line into the output stream
61 * otherwise cpp removes it. Use #ifndef because of #included definitions.
62 */
63#ifndef id
64#define	id(s)	#ident s
65#endif
66id("%Z%%M% %I%	%E% SMI")
67
68/*
69 * There are a lot of nodes below the rmclomv node, define a shortname
70 */
71#define	RMCLOMV	/platform/pci@1e,600000/isa@7/rmc-comm@0,3e8/SUNW,rmclomv
72
73VERSION 1.1
74VERBOSE 1
75NODE frutree picl
76    NODE chassis fru
77	NODE MB location
78	    PROP SlotType string r 0 "system-board"
79    	    PROP Label string r 0 "MB"
80	ENDNODE
81	NODE FT0 location
82	    PROP SlotType string r 0 "fan-tray"
83	    PROP Label string r 0 "FT0"
84	    NODE fan-tray fru
85		NODE F0 location
86		    PROP SlotType string r 0 "fan-unit"
87		    PROP Label string r 0 "F0"
88		ENDNODE
89		NODE F1 location
90		    PROP SlotType string r 0 "fan-unit"
91		    PROP Label string r 0 "F1"
92		ENDNODE
93	    ENDNODE
94	ENDNODE
95	NODE FT1 location
96	    PROP SlotType string r 0 "fan-tray"
97	    PROP Label string r 0 "FT1"
98	    NODE fan-tray fru
99		NODE F0 location
100		    PROP SlotType string r 0 "fan-unit"
101		    PROP Label string r 0 "F0"
102		ENDNODE
103	    ENDNODE
104	ENDNODE
105	NODE FT2 location
106	    PROP SlotType string r 0 "fan-tray"
107	    PROP Label string r 0 "FT2"
108	    NODE fan-tray fru
109		NODE F0 location
110		    PROP SlotType string r 0 "fan-unit"
111		    PROP Label string r 0 "F0"
112		ENDNODE
113	    ENDNODE
114	ENDNODE
115	NODE PS0 location
116	    PROP SlotType string r 0 "power-supply"
117	    PROP Label string r 0 "PS0"
118	ENDNODE
119	NODE PS1 location
120	    PROP SlotType string r 0 "power-supply"
121	    PROP Label string r 0 "PS1"
122	ENDNODE
123	NODE HDD0 location
124	    PROP SlotType string r 0 "disk-slot"
125	    PROP Label string r 0 "HDD0"
126	ENDNODE
127	NODE HDD1 location
128	    PROP SlotType string r 0 "disk-slot"
129	    PROP Label string r 0 "HDD1"
130	ENDNODE
131	NODE HDD2 location
132	    PROP SlotType string r 0 "disk-slot"
133	    PROP Label string r 0 "HDD2"
134	ENDNODE
135	NODE HDD3 location
136	    PROP SlotType string r 0 "disk-slot"
137	    PROP Label string r 0 "HDD3"
138	ENDNODE
139	NODE HDD4 location
140	    PROP SlotType string r 0 "disk-slot"
141	    PROP Label string r 0 "HDD4"
142	ENDNODE
143	NODE HDD5 location
144	    PROP SlotType string r 0 "disk-slot"
145	    PROP Label string r 0 "HDD5"
146	ENDNODE
147	NODE HDD6 location
148	    PROP SlotType string r 0 "disk-slot"
149	    PROP Label string r 0 "HDD6"
150	ENDNODE
151	NODE HDD7 location
152	    PROP SlotType string r 0 "disk-slot"
153	    PROP Label string r 0 "HDD7"
154	ENDNODE
155	NODE RMD0 location
156	    PROP Label string r 0 "RMD0"
157	ENDNODE
158	NODE RMD1 location
159	    PROP SlotType string r 0 "cdrom-slot"
160	    PROP Label string r 0 "RMD1"
161	ENDNODE
162    	NODE PCI0 location
163	    PROP SlotType string r 0 "pci"
164	    PROP Label string r 0 "PCI0"
165	ENDNODE
166	NODE PCI1 location
167	    PROP SlotType string r 0 "pci"
168	    PROP Label string r 0 "PCI1"
169	ENDNODE
170	NODE PCI2 location
171	    PROP SlotType string r 0 "pci"
172	    PROP Label string r 0 "PCI2"
173	ENDNODE
174	NODE PCI3 location
175	    PROP SlotType string r 0 "pci"
176	    PROP Label string r 0 "PCI3"
177	ENDNODE
178	NODE PCI4 location
179	    PROP SlotType string r 0 "pci"
180	    PROP Label string r 0 "PCI4"
181	ENDNODE
182	NODE PCI5 location
183	    PROP SlotType string r 0 "pci"
184	    PROP Label string r 0 "PCI5"
185	ENDNODE
186	NODE SCCR location
187	    PROP Label string r 0 "SCCR"
188	    NODE sccr fru
189	    ENDNODE
190	ENDNODE
191	NODE SCC location
192	    PROP Label string r 0 "SCC"
193	    NODE scc fru
194	    ENDNODE
195	ENDNODE
196	NODE SCSIBP location
197	    PROP Label string r 0 "SCSIBP"
198	    NODE scsibp fru
199	    ENDNODE
200	ENDNODE
201        NODE USB0 location
202            PROP Label string r 0 "USB0"
203        ENDNODE
204        NODE USB1 location
205            PROP Label string r 0 "USB1"
206        ENDNODE
207        NODE USB2 location
208            PROP Label string r 0 "USB2"
209        ENDNODE
210        NODE USB3 location
211            PROP Label string r 0 "USB3"
212        ENDNODE
213    ENDNODE
214ENDNODE
215
216/*
217 * add power-supply nodes if their fru-proms are visible
218 */
219name:/frutree/chassis/PS0
220	REFNODE power-supply fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/power-supply-fru-prom@0,b0
221name:/frutree/chassis/PS1
222	REFNODE power-supply fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/power-supply-fru-prom@0,a4
223
224/* add disk fru nodes for disks which are present */
225name:/frutree/chassis/HDD0
226	REFNODE disk fru WITH name:/platform/pci@1d,700000/scsi@4/sd@0,0
227name:/frutree/chassis/HDD1
228	REFNODE disk fru WITH name:/platform/pci@1d,700000/scsi@4/sd@1,0
229name:/frutree/chassis/HDD2
230	REFNODE disk fru WITH name:/platform/pci@1d,700000/scsi@4/sd@2,0
231name:/frutree/chassis/HDD3
232	REFNODE disk fru WITH name:/platform/pci@1d,700000/scsi@4/sd@3,0
233name:/frutree/chassis/HDD4
234	REFNODE disk fru WITH name:/platform/pci@1d,700000/scsi@4/sd@8,0
235name:/frutree/chassis/HDD5
236	REFNODE disk fru WITH name:/platform/pci@1d,700000/scsi@4/sd@9,0
237name:/frutree/chassis/HDD6
238	REFNODE disk fru WITH name:/platform/pci@1d,700000/scsi@4/sd@a,0
239name:/frutree/chassis/HDD7
240	REFNODE disk fru WITH name:/platform/pci@1d,700000/scsi@4/sd@b,0
241
242/* add dvd/cdrom fru nodes for disks which are present */
243name:/frutree/chassis/RMD0
244	REFNODE cdrom fru WITH name:/platform/pci@1e,600000/ide@d/sd@0,0
245name:/frutree/chassis/RMD0
246	REFNODE tape fru WITH name:/platform/pci@1d,700000/scsi@4/st@4,0
247name:/frutree/chassis/RMD1
248	REFNODE cdrom fru WITH name:/platform/pci@1e,600000/ide@d/sd@2,0
249
250/* populate fan locations with fans which are present */
251name:/frutree/chassis/FT0/fan-tray/F0
252	REFNODE fan-unit fru WITH name:RMCLOMV/ft0_f0_rs
253name:/frutree/chassis/FT0/fan-tray/F1
254	REFNODE fan-unit fru WITH name:RMCLOMV/ft0_f1_rs
255name:/frutree/chassis/FT1/fan-tray/F0
256	REFNODE fan-unit fru WITH name:RMCLOMV/ft1_f0_rs
257name:/frutree/chassis/FT2/fan-tray/F0
258	REFNODE fan-unit fru WITH name:RMCLOMV/ft2_f0_rs
259
260/* Power distribution board */
261name:/frutree/chassis/PDB
262	PROP Label string r 0 "PDB"
263	NODE pdb fru
264	ENDNODE
265
266/* SCSI backplane */
267name:/frutree/chassis/SCSIBP/scsibp
268	PROP FRUDataAvailable void r
269	REFPROP _seeprom_source name:/platform/pci@1e,600000/isa@7/i2c@0,320/scsi-backplane-fru-prom@0,a8
270name:/platform/pci@1e,600000/isa@7/i2c@0,320/scsi-backplane-fru-prom@0,a8
271	REFPROP _fru_parent /frutree/chassis/SCSIBP/scsibp
272
273name:/frutree/chassis/PCI0
274	REFNODE pci-card fru WITH _class:/jbus/pci@1e,600000/picl?DeviceID=4
275name:/frutree/chassis/PCI1
276	REFNODE pci-card fru WITH _class:/jbus/pci@1e,600000/picl?DeviceID=3
277name:/frutree/chassis/PCI2
278	REFNODE pci-card fru WITH _class:/jbus/pci@1d,700000/picl?DeviceID=2
279name:/frutree/chassis/PCI3
280	REFNODE pci-card fru WITH _class:/jbus/pci@1c,600000/picl?DeviceID=2
281name:/frutree/chassis/PCI4
282	REFNODE pci-card fru WITH _class:/jbus/pci@1e,600000/picl?DeviceID=2
283name:/frutree/chassis/PCI5
284	REFNODE pci-card fru WITH _class:/jbus/pci@1f,700000/picl?DeviceID=2
285
286#include <fru_SC_data.info>
287#include "system-board.info"
288#include <SB-tables.info>
289
290_class:/jbus/pci@1e,600000/picl@4
291	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
292_class:/jbus/pci@1e,600000/picl@4,0
293	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
294_class:/jbus/pci@1e,600000/picl@4,1
295	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
296_class:/jbus/pci@1e,600000/picl@4,2
297	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
298_class:/jbus/pci@1e,600000/picl@4,3
299	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
300_class:/jbus/pci@1e,600000/picl@4,4
301	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
302_class:/jbus/pci@1e,600000/picl@4,5
303	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
304_class:/jbus/pci@1e,600000/picl@4,6
305	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
306_class:/jbus/pci@1e,600000/picl@4,7
307	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
308_class:/jbus/pci@1e,600000/picl@3
309	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
310_class:/jbus/pci@1e,600000/picl@3,0
311	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
312_class:/jbus/pci@1e,600000/picl@3,1
313	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
314_class:/jbus/pci@1e,600000/picl@3,2
315	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
316_class:/jbus/pci@1e,600000/picl@3,3
317	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
318_class:/jbus/pci@1e,600000/picl@3,4
319	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
320_class:/jbus/pci@1e,600000/picl@3,5
321	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
322_class:/jbus/pci@1e,600000/picl@3,6
323	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
324_class:/jbus/pci@1e,600000/picl@3,7
325	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
326_class:/jbus/pci@1d,700000/picl@2
327	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
328_class:/jbus/pci@1d,700000/picl@2,0
329	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
330_class:/jbus/pci@1d,700000/picl@2,1
331	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
332_class:/jbus/pci@1d,700000/picl@2,2
333	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
334_class:/jbus/pci@1d,700000/picl@2,3
335	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
336_class:/jbus/pci@1d,700000/picl@2,4
337	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
338_class:/jbus/pci@1d,700000/picl@2,5
339	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
340_class:/jbus/pci@1d,700000/picl@2,6
341	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
342_class:/jbus/pci@1d,700000/picl@2,7
343	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
344_class:/jbus/pci@1c,600000/picl@2
345	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
346_class:/jbus/pci@1c,600000/picl@2,0
347	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
348_class:/jbus/pci@1c,600000/picl@2,1
349	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
350_class:/jbus/pci@1c,600000/picl@2,2
351	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
352_class:/jbus/pci@1c,600000/picl@2,3
353	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
354_class:/jbus/pci@1c,600000/picl@2,4
355	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
356_class:/jbus/pci@1c,600000/picl@2,5
357	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
358_class:/jbus/pci@1c,600000/picl@2,6
359	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
360_class:/jbus/pci@1c,600000/picl@2,7
361	REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
362_class:/jbus/pci@1e,600000/picl@2
363	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
364_class:/jbus/pci@1e,600000/picl@2,0
365	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
366_class:/jbus/pci@1e,600000/picl@2,1
367	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
368_class:/jbus/pci@1e,600000/picl@2,2
369	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
370_class:/jbus/pci@1e,600000/picl@2,3
371	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
372_class:/jbus/pci@1e,600000/picl@2,4
373	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
374_class:/jbus/pci@1e,600000/picl@2,5
375	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
376_class:/jbus/pci@1e,600000/picl@2,6
377	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
378_class:/jbus/pci@1e,600000/picl@2,7
379	REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
380_class:/jbus/pci@1f,700000/picl@2
381	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
382_class:/jbus/pci@1f,700000/picl@2,0
383	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
384_class:/jbus/pci@1f,700000/picl@2,1
385	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
386_class:/jbus/pci@1f,700000/picl@2,2
387	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
388_class:/jbus/pci@1f,700000/picl@2,3
389	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
390_class:/jbus/pci@1f,700000/picl@2,4
391	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
392_class:/jbus/pci@1f,700000/picl@2,5
393	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
394_class:/jbus/pci@1f,700000/picl@2,6
395	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
396_class:/jbus/pci@1f,700000/picl@2,7
397	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
398