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 2005 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
73/*
74 * add disk leds
75 */
76name:/frutree/chassis/HDD0
77	TABLE Devices
78	ROW
79	PROP Class string r 0 "led"
80	REFPROP _led_ name:RMCLOMV/hdd0_act
81	ENDROW
82	ROW
83	PROP Class string r 0 "led"
84	REFPROP _led_ name:RMCLOMV/hdd0_service
85	ENDROW
86	ROW
87	PROP Class string r 0 "led"
88	REFPROP _led_ name:RMCLOMV/hdd0_ok2rm
89	ENDROW
90	ENDTABLE
91
92name:RMCLOMV/hdd0_act
93	REFPROP _location_parent name:/frutree/chassis/HDD0
94name:RMCLOMV/hdd0_service
95	REFPROP _location_parent name:/frutree/chassis/HDD0
96name:RMCLOMV/hdd0_ok2rm
97	REFPROP _location_parent name:/frutree/chassis/HDD0
98
99name:/frutree/chassis/HDD1
100	TABLE Devices
101	ROW
102	PROP Class string r 0 "led"
103	REFPROP _led_ name:RMCLOMV/hdd1_act
104	ENDROW
105	ROW
106	PROP Class string r 0 "led"
107	REFPROP _led_ name:RMCLOMV/hdd1_service
108	ENDROW
109	ROW
110	PROP Class string r 0 "led"
111	REFPROP _led_ name:RMCLOMV/hdd1_ok2rm
112	ENDROW
113	ENDTABLE
114
115name:RMCLOMV/hdd1_act
116	REFPROP _location_parent name:/frutree/chassis/HDD1
117name:RMCLOMV/hdd1_service
118	REFPROP _location_parent name:/frutree/chassis/HDD1
119name:RMCLOMV/hdd1_ok2rm
120	REFPROP _location_parent name:/frutree/chassis/HDD1
121
122name:/frutree/chassis/HDD2
123	TABLE Devices
124	ROW
125	PROP Class string r 0 "led"
126	REFPROP _led_ name:RMCLOMV/hdd2_act
127	ENDROW
128	ROW
129	PROP Class string r 0 "led"
130	REFPROP _led_ name:RMCLOMV/hdd2_service
131	ENDROW
132	ROW
133	PROP Class string r 0 "led"
134	REFPROP _led_ name:RMCLOMV/hdd2_ok2rm
135	ENDROW
136	ENDTABLE
137
138name:RMCLOMV/hdd2_act
139	REFPROP _location_parent name:/frutree/chassis/HDD2
140name:RMCLOMV/hdd2_service
141	REFPROP _location_parent name:/frutree/chassis/HDD2
142name:RMCLOMV/hdd2_ok2rm
143	REFPROP _location_parent name:/frutree/chassis/HDD2
144
145name:/frutree/chassis/HDD3
146	TABLE Devices
147	ROW
148	PROP Class string r 0 "led"
149	REFPROP _led_ name:RMCLOMV/hdd3_act
150	ENDROW
151	ROW
152	PROP Class string r 0 "led"
153	REFPROP _led_ name:RMCLOMV/hdd3_service
154	ENDROW
155	ROW
156	PROP Class string r 0 "led"
157	REFPROP _led_ name:RMCLOMV/hdd3_ok2rm
158	ENDROW
159	ENDTABLE
160
161name:RMCLOMV/hdd3_act
162	REFPROP _location_parent name:/frutree/chassis/HDD3
163name:RMCLOMV/hdd3_service
164	REFPROP _location_parent name:/frutree/chassis/HDD3
165name:RMCLOMV/hdd3_ok2rm
166	REFPROP _location_parent name:/frutree/chassis/HDD3
167
168/* add disk Device tables and _fru_parent refprops */
169#include "fru_HDD0_data.info"
170#include "fru_HDD1_data.info"
171#include "fru_HDD2_data.info"
172#include "fru_HDD3_data.info"
173
174name:/frutree/chassis/HCM/hcm
175	TABLE Devices
176	ROW
177	PROP Class string r 0 "hcm"
178	REFPROP _hcm_ name:/platform/pci@1c,600000/cpu?DeviceID=1
179	ENDROW
180	ENDTABLE
181
182/*
183 * power supplies
184 */
185#include "fru_PS0_data.info"
186#include "fru_PS1_data.info"
187
188/*
189 * USB ports
190 */
191#include "fru_usb-a-1_data.info"
192#include "fru_usb-a-2_data.info"
193
194/*
195 * add tables and fru parents for system fans
196 */
197name:/frutree/chassis/F0/fan-unit
198	TABLE Devices
199	ROW
200	PROP Class string r 0 "fan"
201	REFPROP _fan_ name:RMCLOMV/f0_rs
202	ENDROW
203	ENDTABLE
204name:/frutree/chassis/F1/fan-unit
205	TABLE Devices
206	ROW
207	PROP Class string r 0 "fan"
208	REFPROP _fan_ name:RMCLOMV/f1_rs
209	ENDROW
210	ENDTABLE
211name:/frutree/chassis/F2/fan-unit
212	TABLE Devices
213	ROW
214	PROP Class string r 0 "fan"
215	REFPROP _fan_ name:RMCLOMV/f2_rs
216	ENDROW
217	ENDTABLE
218name:/frutree/chassis/F3/fan-unit
219	TABLE Devices
220	ROW
221	PROP Class string r 0 "fan"
222	REFPROP _fan_ name:RMCLOMV/f3_rs
223	ENDROW
224	ENDTABLE
225
226name:RMCLOMV/f0_rs
227	REFPROP _fru_parent name:/frutree/chassis/F0/fan-unit
228name:RMCLOMV/f1_rs
229	REFPROP _fru_parent name:/frutree/chassis/F1/fan-unit
230name:RMCLOMV/f2_rs
231	REFPROP _fru_parent name:/frutree/chassis/F2/fan-unit
232name:RMCLOMV/f3_rs
233	REFPROP _fru_parent name:/frutree/chassis/F3/fan-unit
234
235/*
236 * Sas_controller
237 */
238name:/frutree/chassis/SASPCI/saspci
239	TABLE Devices
240	ROW
241	PROP Class string r 0 "temperature-sensor"
242	REFPROP _temperature-sensor_ name:/platform/pci@1e,600000/isa@7/rmc-comm@0,3e8/SUNW,rmclomv/sas_controller
243	ENDROW
244	ENDTABLE
245name:/platform/pci@1e,600000/isa@7/rmc-comm@0,3e8/SUNW,rmclomv/sas_controller
246	REFPROP _fru_parent name:/frutree/chassis/SASPCI/saspci
247
248