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 * 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    /*
78     * SunMC physical view view_points for this platform
79     * This will get moved to a separate SunMC physical view plugin later.
80     */
81    PROP ViewPoints string r 0 "front rear side"
82	NODE SYS location
83	    PROP SlotType string r 0 "chassis"
84    	    PROP Label string r 0 "SYS"
85	    NODE led-location fru
86	    ENDNODE
87 	    NODE key-location fru
88 	    ENDNODE
89	ENDNODE
90	NODE SC location
91	    PROP SlotType string r 0 "system-controler-board"
92    	    PROP Label string r 0 "SC"
93	ENDNODE
94	NODE MB location
95	    PROP SlotType string r 0 "system-board"
96    	    PROP Label string r 0 "MB"
97	ENDNODE
98	NODE FT0 location
99	    PROP SlotType string r 0 "fan-tray"
100    	    PROP Label string r 0 "FT0"
101	ENDNODE
102	NODE FT1 location
103	    PROP SlotType string r 0 "fan-tray"
104    	    PROP Label string r 0 "FT1"
105	ENDNODE
106	NODE HDD0 location
107	    PROP SlotType string r 0 "disk-slot"
108	    PROP Label string r 0 "HDD0"
109	ENDNODE
110	NODE HDD1 location
111	    PROP SlotType string r 0 "disk-slot"
112	    PROP Label string r 0 "HDD1"
113	ENDNODE
114	NODE HDD2 location
115	    PROP SlotType string r 0 "disk-slot"
116	    PROP Label string r 0 "HDD2"
117	ENDNODE
118	NODE HDD3 location
119	    PROP SlotType string r 0 "disk-slot"
120	    PROP Label string r 0 "HDD3"
121	ENDNODE
122	NODE DVD location
123	    PROP SlotType string r 0 "cdrom-slot"
124	    PROP Label string r 0 "DVD"
125	ENDNODE
126	NODE SCC location
127    	    PROP Label string r 0 "SCC"
128	    NODE scc fru
129	    ENDNODE
130	ENDNODE
131	NODE PCI0 location
132	    PROP SlotType string r 0 "pci"
133	    PROP Label string r 0 "PCI0"
134	ENDNODE
135	NODE PCI1 location
136	    PROP SlotType string r 0 "pci"
137	    PROP Label string r 0 "PCI1"
138	ENDNODE
139	NODE PCI2 location
140	    PROP SlotType string r 0 "pci"
141	    PROP Label string r 0 "PCI2"
142	ENDNODE
143	NODE PCI3 location
144	    PROP SlotType string r 0 "pci"
145	    PROP Label string r 0 "PCI3"
146	ENDNODE
147	NODE PCI4 location
148	    PROP SlotType string r 0 "pci"
149	    PROP Label string r 0 "PCI4"
150	ENDNODE
151	NODE PCI5 location
152	    PROP SlotType string r 0 "pci"
153	    PROP Label string r 0 "PCI5"
154	ENDNODE
155	Node SCSIBP location
156            Prop Label string r 0 "SCSIBP"
157	ENDNODE
158
159/*
160 * nodes for extra hardware present in 19" version on Chalupa
161 */
162	REFNODE PDB location WITH /platform?PlatformName=SUNW,Netra-440
163	REFNODE ALARM location WITH /platform?PlatformName=SUNW,Netra-440
164	REFNODE PS0 location WITH /platform?PlatformName=SUNW,Sun-Fire-V440
165	REFNODE PS1 location WITH /platform?PlatformName=SUNW,Sun-Fire-V440
166	REFNODE PSU0 location WITH /platform?PlatformName=SUNW,Netra-440
167	REFNODE PSU1 location WITH /platform?PlatformName=SUNW,Netra-440
168	REFNODE PSU2 location WITH /platform?PlatformName=SUNW,Netra-440
169	REFNODE PSU3 location WITH /platform?PlatformName=SUNW,Netra-440
170	REFNODE FT2 location WITH /platform?PlatformName=SUNW,Netra-440
171	REFNODE FT3 location WITH /platform?PlatformName=SUNW,Netra-440
172    ENDNODE
173ENDNODE
174
175/*
176 * add power-supply nodes if their fru-proms are visible
177 */
178name:/frutree/chassis/SC
179	REFNODE system-controller fru with name:/platform/pci@1e,600000/isa@7/i2c@0,320/rmc-fru-prom@0,a6
180
181name:/frutree/chassis/PS0
182	REFNODE power-supply fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/power-supply-fru-prom@0,b0
183name:/frutree/chassis/PS1
184	REFNODE power-supply fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/power-supply-fru-prom@0,a4
185name:/frutree/chassis/PSU0
186	REFNODE power-supply fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/power-supply-fru-prom@0,c0
187name:/frutree/chassis/PSU1
188	REFNODE power-supply fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/power-supply-fru-prom@0,c2
189name:/frutree/chassis/PSU2
190	REFNODE power-supply fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/power-supply-fru-prom@0,70
191name:/frutree/chassis/PSU3
192	REFNODE power-supply fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/power-supply-fru-prom@0,72
193
194/*
195 * RMC Board Seeprom Source
196 */
197name:/frutree/chassis/SC/system-controller
198	PROP FRUDataAvailable void r
199	REFPROP _seeprom_source name:/platform/pci@1e,600000/isa@7/i2c@0,320/rmc-fru-prom@0,a6
200
201name:/platform/pci@1e,600000/isa@7/i2c@0,320/rmc-fru-prom@0,a6
202	REFPROP _fru_parent /frutree/chassis/SC/system-controller
203	PROP FRUDevicePath string r 0 "/devices/pci@1e,600000/isa@7/i2c@0,320/rmc-fru-prom@0,a6:rmc-fru-prom"
204/*
205 * SCSI Board Seeprom Source
206 */
207name:/frutree/chassis/SCSIBP
208REFNODE system-board fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/scsi-fru-prom@0,a8
209name:/frutree/chassis/SCSIBP/system-board
210	PROP FRUDataAvailable void r
211	REFPROP _seeprom_source name:/platform/pci@1e,600000/isa@7/i2c@0,320/scsi-fru-prom@0,a8
212
213name:/platform/pci@1e,600000/isa@7/i2c@0,320/scsi-fru-prom@0,a8
214PROP FRUDevicePath string r 0 "/devices/pci@1e,600000/isa@7/i2c@0,320/scsi-fru-prom@0,a8:scsi-fru-prom"
215
216name:/frutree/chassis/ALARM
217	PROP Label string r 0 "ALARM"
218	REFNODE alarm fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/alarm-fru-prom@0,ac
219
220name:/frutree/chassis/ALARM/alarm
221	PROP FRUDataAvailable void r
222	REFPROP _seeprom_source name:/platform/pci@1e,600000/isa@7/i2c@0,320/alarm-fru-prom@0,ac
223
224name:/platform/pci@1e,600000/isa@7/i2c@0,320/alarm-fru-prom@0,ac
225	REFPROP _fru_parent /frutree/chassis/ALARM/alarm
226
227name:/frutree/chassis/PDB
228	REFNODE pdb fru WITH name:/platform/pci@1e,600000/isa@7/i2c@0,320/pdb-fru-prom@0,7c
229
230name:/frutree/chassis/PDB/pdb
231	PROP FRUDataAvailable void r
232	REFPROP _seeprom_source name:/platform/pci@1e,600000/isa@7/i2c@0,320/pdb-fru-prom@0,7c
233
234name:/platform/pci@1e,600000/isa@7/i2c@0,320/pdb-fru-prom@0,7c
235	REFPROP _fru_parent /frutree/chassis/PDB/pdb
236
237/*
238 * Fan FRUs
239 */
240name:/frutree/chassis/FT0
241	Node F0 location
242	    PROP SlotType string r 0 "fan-unit"
243	    Prop Label string r 0 "F0"
244		NODE fan fru
245		ENDNODE
246	ENDNODE
247name:/frutree/chassis/FT1
248	Node F0 location
249	    PROP SlotType string r 0 "fan-unit"
250	    Prop Label string r 0 "F0"
251		NODE fan fru
252		ENDNODE
253	ENDNODE
254	Node F1 location
255	    PROP SlotType string r 0 "fan-unit"
256	    Prop Label string r 0 "F1"
257		NODE fan fru
258		ENDNODE
259	ENDNODE
260name:/frutree/chassis/FT2
261	PROP SlotType string r 0 "fan-tray"
262	PROP Label string r 0 "FT2"
263	Node F0 location
264	    PROP SlotType string r 0 "fan-unit"
265	    Prop Label string r 0 "F0"
266		NODE fan fru
267		ENDNODE
268	ENDNODE
269name:/frutree/chassis/FT3
270	PROP SlotType string r 0 "fan-tray"
271	PROP Label string r 0 "FT3"
272	Node F0 location
273	    PROP SlotType string r 0 "fan-unit"
274	    Prop Label string r 0 "F0"
275		NODE fan fru
276		ENDNODE
277	ENDNODE
278
279/* Power distribution board */
280name:/frutree/chassis/PDB
281	PROP SlotType string r 0 "pdb"
282	PROP Label string r 0 "PDB"
283
284/* extra power supply */
285name:/frutree/chassis/PS0
286	    PROP SlotType string r 0 "power-supply"
287	    PROP Label string r 0 "PS0"
288name:/frutree/chassis/PS1
289	    PROP SlotType string r 0 "power-supply"
290	    PROP Label string r 0 "PS1"
291
292name:/frutree/chassis/PSU0
293	PROP SlotType string r 0 "power-supply"
294	PROP Label string r 0 "PSU0"
295
296name:/frutree/chassis/PSU1
297	PROP SlotType string r 0 "power-supply"
298	PROP Label string r 0 "PSU1"
299
300name:/frutree/chassis/PSU2
301	PROP SlotType string r 0 "power-supply"
302	PROP Label string r 0 "PSU2"
303
304name:/frutree/chassis/PSU3
305	PROP SlotType string r 0 "power-supply"
306	PROP Label string r 0 "PSU3"
307
308/* add cdrom fru nodes for disks which are present */
309name:/frutree/chassis/DVD
310	REFNODE cdrom fru WITH name:/platform/pci@1e,600000/ide@d/sd@0,0
311
312/* add disk fru nodes for disks which are present */
313name:/frutree/chassis/HDD0
314	REFNODE disk fru WITH name:/platform/pci@1f,700000/scsi@2/sd@0,0
315name:/frutree/chassis/HDD1
316	REFNODE disk fru WITH name:/platform/pci@1f,700000/scsi@2/sd@1,0
317name:/frutree/chassis/HDD2
318	REFNODE disk fru WITH name:/platform/pci@1f,700000/scsi@2/sd@2,0
319name:/frutree/chassis/HDD3
320	REFNODE disk fru WITH name:/platform/pci@1f,700000/scsi@2/sd@3,0
321
322name:/frutree/chassis/PCI0
323	REFNODE pci-card fru WITH _class:/jbus/pci@1e,600000/picl?DeviceID=2
324name:/frutree/chassis/PCI1
325	REFNODE pci-card fru WITH _class:/jbus/pci@1e,600000/picl?DeviceID=3
326name:/frutree/chassis/PCI2
327	REFNODE pci-card fru WITH _class:/jbus/pci@1d,700000/picl?DeviceID=2
328name:/frutree/chassis/PCI3
329	REFNODE pci-card fru WITH _class:/jbus/pci@1e,600000/picl?DeviceID=4
330name:/frutree/chassis/PCI4
331	REFNODE pci-card fru WITH _class:/jbus/pci@1d,700000/picl?DeviceID=1
332name:/frutree/chassis/PCI5
333	REFNODE pci-card fru WITH _class:/jbus/pci@1c,600000/picl?DeviceID=1
334
335
336#include <fru_SC_data.info>
337#include "system-board.info"
338#include <SB-tables.info>
339
340_class:/jbus/pci@1c,600000/picl@1
341	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
342_class:/jbus/pci@1c,600000/picl@1,0
343	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
344_class:/jbus/pci@1c,600000/picl@1,1
345	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
346_class:/jbus/pci@1c,600000/picl@1,2
347	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
348_class:/jbus/pci@1c,600000/picl@1,3
349	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
350_class:/jbus/pci@1c,600000/picl@1,4
351	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
352_class:/jbus/pci@1c,600000/picl@1,5
353	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
354_class:/jbus/pci@1c,600000/picl@1,6
355	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
356_class:/jbus/pci@1c,600000/picl@1,7
357	REFPROP _fru_parent name:/frutree/chassis/PCI5/pci-card
358_class:/jbus/pci@1d,700000/picl@2
359	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
360_class:/jbus/pci@1d,700000/picl@2,0
361	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
362_class:/jbus/pci@1d,700000/picl@2,1
363	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
364_class:/jbus/pci@1d,700000/picl@2,2
365	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
366_class:/jbus/pci@1d,700000/picl@2,3
367	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
368_class:/jbus/pci@1d,700000/picl@2,4
369	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
370_class:/jbus/pci@1d,700000/picl@2,5
371	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
372_class:/jbus/pci@1d,700000/picl@2,6
373	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
374_class:/jbus/pci@1d,700000/picl@2,7
375	REFPROP _fru_parent name:/frutree/chassis/PCI2/pci-card
376_class:/jbus/pci@1d,700000/picl@1
377        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
378_class:/jbus/pci@1d,700000/picl@1,0
379        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
380_class:/jbus/pci@1d,700000/picl@1,1
381        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
382_class:/jbus/pci@1d,700000/picl@1,2
383        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
384_class:/jbus/pci@1d,700000/picl@1,3
385        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
386_class:/jbus/pci@1d,700000/picl@1,4
387        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
388_class:/jbus/pci@1d,700000/picl@1,5
389        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
390_class:/jbus/pci@1d,700000/picl@1,6
391        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
392_class:/jbus/pci@1d,700000/picl@1,7
393        REFPROP _fru_parent name:/frutree/chassis/PCI4/pci-card
394_class:/jbus/pci@1e,600000/picl@2
395	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
396_class:/jbus/pci@1e,600000/picl@2,0
397	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
398_class:/jbus/pci@1e,600000/picl@2,1
399	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
400_class:/jbus/pci@1e,600000/picl@2,2
401	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
402_class:/jbus/pci@1e,600000/picl@2,3
403	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
404_class:/jbus/pci@1e,600000/picl@2,4
405	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
406_class:/jbus/pci@1e,600000/picl@2,5
407	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
408_class:/jbus/pci@1e,600000/picl@2,6
409	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
410_class:/jbus/pci@1e,600000/picl@2,7
411	REFPROP _fru_parent name:/frutree/chassis/PCI0/pci-card
412_class:/jbus/pci@1e,600000/picl@3
413	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
414_class:/jbus/pci@1e,600000/picl@3,0
415	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
416_class:/jbus/pci@1e,600000/picl@3,1
417	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
418_class:/jbus/pci@1e,600000/picl@3,2
419	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
420_class:/jbus/pci@1e,600000/picl@3,3
421	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
422_class:/jbus/pci@1e,600000/picl@3,4
423	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
424_class:/jbus/pci@1e,600000/picl@3,5
425	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
426_class:/jbus/pci@1e,600000/picl@3,6
427	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
428_class:/jbus/pci@1e,600000/picl@3,7
429	REFPROP _fru_parent name:/frutree/chassis/PCI1/pci-card
430_class:/jbus/pci@1e,600000/picl@4
431        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
432_class:/jbus/pci@1e,600000/picl@4,0
433        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
434_class:/jbus/pci@1e,600000/picl@4,1
435        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
436_class:/jbus/pci@1e,600000/picl@4,2
437        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
438_class:/jbus/pci@1e,600000/picl@4,3
439        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
440_class:/jbus/pci@1e,600000/picl@4,4
441        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
442_class:/jbus/pci@1e,600000/picl@4,5
443        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
444_class:/jbus/pci@1e,600000/picl@4,6
445        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
446_class:/jbus/pci@1e,600000/picl@4,7
447        REFPROP _fru_parent name:/frutree/chassis/PCI3/pci-card
448