/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 2001 by Sun Microsystems, Inc.
* All rights reserved.
*
* #ident "%Z%%M% %I% %E% SMI"
*
* This file creates the system board structure
*/
NODE system-board fru
PROP Label string r 0 "system-board"
NODE upa-slot location
PROP Slot uint r 4 0
PROP Label string r 0 "J4501"
ENDNODE
NODE upa-slot location
PROP Slot uint r 4 1
PROP Label string r 0 "J3501"
ENDNODE
NODE pci-slot location
PROP Label string r 0 "J2601"
ENDNODE
NODE pci-slot location
PROP Label string r 0 "J2501"
ENDNODE
NODE pci-slot location
PROP Label string r 0 "J2401"
ENDNODE
NODE pci-slot location
PROP Label string r 0 "J2301"
ENDNODE
NODE cpu-slot location
PROP Label string r 0 "cpu0"
PROP Slot uint r 4 0
ENDNODE
NODE cpu-slot location
PROP Label string r 0 "cpu1"
PROP Slot uint r 4 1
ENDNODE
NODE mem-slot location
PROP Slot uint r 4 0
PROP Label string r 0 "J0100"
ENDNODE
NODE mem-slot location
PROP Slot uint r 4 1
PROP Label string r 0 "J0101"
ENDNODE
NODE mem-slot location
PROP Slot uint r 4 2
PROP Label string r 0 "J0202"
ENDNODE
NODE mem-slot location
PROP Slot uint r 4 3
PROP Label string r 0 "J0203"
ENDNODE
NODE mem-slot location
PROP Slot uint r 4 4
PROP Label string r 0 "J0304"
ENDNODE
NODE mem-slot location
PROP Slot uint r 4 5
PROP Label string r 0 "J0305"
ENDNODE
NODE mem-slot location
PROP Slot uint r 4 6
PROP Label string r 0 "J0406"
ENDNODE
NODE mem-slot location
PROP Slot uint r 4 7
PROP Label string r 0 "J0407"
ENDNODE
ENDNODE
/*
* create the fru modules for CPU and upa in the fru tree
*/
name:/frutree/chassis/system-board/cpu-slot?Slot=0
REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=0
name:/frutree/chassis/system-board/cpu-slot?Slot=1
REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=1
/*
* set the SlotType for the cpu slots
*/
name:/frutree/chassis/system-board/cpu-slot?Slot=0
PROP SlotType string r 0 "cpu"
name:/frutree/chassis/system-board/cpu-slot?Slot=0x1
PROP SlotType string r 0 "cpu"
/*
* seeprom source for motherboard
*/
name:/frutree/chassis/system-board
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,30/motherboard-fru
/*
* seeprom source for cpus
*/
name:/frutree/chassis/system-board/cpu-slot?Slot=0/cpu-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,30/cpu-fru?UnitAddress=0,a0
name:/frutree/chassis/system-board/cpu-slot?Slot=1/cpu-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,30/cpu-fru?UnitAddress=0,a2
/*
* Set up upa card
*/
name:/frutree/chassis/system-board/upa-slot?Label=J4501
REFNODE upa-card fru WITH _class:/PLATFORM_CLASS/upa/display?upa-portid=0
name:/frutree/chassis/system-board/upa-slot?Label=J3501
REFNODE upa-card fru WITH _class:/PLATFORM_CLASS/upa/display?upa-portid=1
/*
* Set up memory module fru
*/
name:/frutree/chassis/system-board/mem-slot?Label=J0100
REFNODE mem-module fru WITH /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a0
name:/frutree/chassis/system-board/mem-slot?Label=J0101
REFNODE mem-module fru WITH /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a2
name:/frutree/chassis/system-board/mem-slot?Label=J0202
REFNODE mem-module fru WITH /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a4
name:/frutree/chassis/system-board/mem-slot?Label=J0203
REFNODE mem-module fru WITH /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a6
name:/frutree/chassis/system-board/mem-slot?Label=J0304
REFNODE mem-module fru WITH /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a8
name:/frutree/chassis/system-board/mem-slot?Label=J0305
REFNODE mem-module fru WITH /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,aa
name:/frutree/chassis/system-board/mem-slot?Label=J0406
REFNODE mem-module fru WITH /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,ac
name:/frutree/chassis/system-board/mem-slot?Label=J0407
REFNODE mem-module fru WITH /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,ae
/*
* seeprom source for memory fru
*/
name:/frutree/chassis/system-board/mem-slot?Label=J0100/mem-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a0
name:/frutree/chassis/system-board/mem-slot?Label=J0101/mem-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a2
name:/frutree/chassis/system-board/mem-slot?Label=J0202/mem-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a4
name:/frutree/chassis/system-board/mem-slot?Label=J0203/mem-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a6
name:/frutree/chassis/system-board/mem-slot?Label=J0304/mem-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a8
name:/frutree/chassis/system-board/mem-slot?Label=J0305/mem-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,aa
name:/frutree/chassis/system-board/mem-slot?Label=J0406/mem-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,ac
name:/frutree/chassis/system-board/mem-slot?Label=J0407/mem-module
PROP FRUDataAvailable void r
REFPROP _seeprom_source /platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,ae
/*
* _fru_parent memory seeprom devices
*/
name:/platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a0
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0100/mem-module
name:/platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a2
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0101/mem-module
name:/platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a4
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0202/mem-module
name:/platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a6
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0203/mem-module
name:/platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,a8
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0304/mem-module
name:/platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,aa
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0305/mem-module
name:/platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,ac
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0406/mem-module
name:/platform/pci/ebus/i2c?UnitAddress=1,2e/dimm-fru?UnitAddress=1,ae
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0407/mem-module
/*
* _fru_parent CPU, memory-controller devices
*/
_class:/PLATFORM_CLASS/cpu?ID=0
REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=0/cpu-module
name:/platform/memory-controller?portid=0
REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=0/cpu-module
_class:/PLATFORM_CLASS/cpu?ID=1
REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=1/cpu-module
name:/platform/memory-controller?portid=0x1
REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=0x1/cpu-module
/*
* _fru_parent UPA devices
*/
_class:/PLATFORM_CLASS/upa/display?upa-portid=0
REFPROP _fru_parent /frutree/chassis/system-board/upa-slot?Slot=0/upa-card
_class:/PLATFORM_CLASS/upa/display?upa-portid=1
REFPROP _fru_parent /frutree/chassis/system-board/upa-slot?Slot=1/upa-card
/*
* _fru_parent motherboard
*/
_class:/PLATFORM_CLASS
REFPROP _fru_parent /frutree/chassis/system-board
/*
* _fru_parent temperature device
*/
_class:/PLATFORM_CLASS/pci/ebus/i2c?UnitAddress=1,30/temperature-device?UnitAddress=0,30
REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=0/cpu-module
_class:/PLATFORM_CLASS/pci/ebus/i2c?UnitAddress=1,30/temperature-device?UnitAddress=0,98
REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=1/cpu-module
/*
* _fru_parent memory modules
*/
name:/platform/memory-controller?portid=0/memory-module-group?ID=0/memory-module?ID=0
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0100/mem-module
name:/platform/memory-controller?portid=0/memory-module-group?ID=0/memory-module?ID=1
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0202/mem-module
name:/platform/memory-controller?portid=0/memory-module-group?ID=0/memory-module?ID=2
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0304/mem-module
name:/platform/memory-controller?portid=0/memory-module-group?ID=0/memory-module?ID=3
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0406/mem-module
name:/platform/memory-controller?portid=0/memory-module-group?ID=1/memory-module?ID=0
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0101/mem-module
name:/platform/memory-controller?portid=0/memory-module-group?ID=1/memory-module?ID=1
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0203/mem-module
name:/platform/memory-controller?portid=0/memory-module-group?ID=1/memory-module?ID=2
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0305/mem-module
name:/platform/memory-controller?portid=0/memory-module-group?ID=1/memory-module?ID=3
REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=J0407/mem-module
/*
* Populate PCI slots
*/
name:/frutree/chassis/system-board/pci-slot?Label=J2601
REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci?UnitAddress=8,700000/picl?DeviceID=1
name:/frutree/chassis/system-board/pci-slot?Label=J2501
REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci?UnitAddress=8,700000/picl?DeviceID=2
name:/frutree/chassis/system-board/pci-slot?Label=J2401
REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci?UnitAddress=8,700000/picl?DeviceID=3
name:/frutree/chassis/system-board/pci-slot?Label=J2301
REFNODE pci-card fru WITH _class:/PLATFORM_CLASS/pci?UnitAddress=8,600000/picl?DeviceID=1
/*
* _fru_parent PCI devices
*/
_class:/PLATFORM_CLASS/pci?UnitAddress=8,700000/picl?DeviceID=1
REFPROP _fru_parent frutree/chassis/system-board/pci-slot?Label=J2601/pci-card
_class:/PLATFORM_CLASS/pci?UnitAddress=8,700000/picl?DeviceID=2
REFPROP _fru_parent frutree/chassis/system-board/pci-slot?Label=J2501/pci-card
_class:/PLATFORM_CLASS/pci?UnitAddress=8,700000/picl?DeviceID=3
REFPROP _fru_parent frutree/chassis/system-board/pci-slot?Label=J2401/pci-card
_class:/PLATFORM_CLASS/pci?UnitAddress=8,600000/picl?DeviceID=1
REFPROP _fru_parent frutree/chassis/system-board/pci-slot?Label=J2301/pci-card