/* * 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 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * #ident "%Z%%M% %I% %E% SMI" * * create the system board structure */ NODE system-board fru PROP Label string r 0 "system-board" NODE pci-slot location PROP Label string r 0 "PCI1" ENDNODE NODE pci-slot location PROP Label string r 0 "PCI2" ENDNODE NODE pci-slot location PROP Label string r 0 "PCI3" ENDNODE NODE cpu-slot location PROP Slot uint r 4 0 PROP Label string r 0 "cpu0" ENDNODE NODE mem-slot location PROP Slot uint r 4 0 PROP Label string r 0 "DIMM0" ENDNODE NODE mem-slot location PROP Slot uint r 4 1 PROP Label string r 0 "DIMM1" ENDNODE NODE mem-slot location PROP Slot uint r 4 2 PROP Label string r 0 "DIMM2" ENDNODE NODE mem-slot location PROP Slot uint r 4 3 PROP Label string r 0 "DIMM3" ENDNODE ENDNODE /* * Create transfer size property */ name:/platform/memory PROP TransferSize uint r 4 64 /* * set the SlotType for the cpu slots */ name:/frutree/chassis/system-board/cpu-slot PROP SlotType string r 0 "cpu" /* * Create fru node for memory module * Use both OBP 4.10.6 (dimm-spd) and older (dimm) device names. * Config file parser will ignore REFNODE with invalid device name. */ name:/frutree/chassis/system-board/mem-slot?Label=DIMM0 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm?UnitAddress=0,a0 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a0 name:/frutree/chassis/system-board/mem-slot?Label=DIMM1 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm?UnitAddress=0,a2 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a2 name:/frutree/chassis/system-board/mem-slot?Label=DIMM2 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm?UnitAddress=0,a4 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a4 name:/frutree/chassis/system-board/mem-slot?Label=DIMM3 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm?UnitAddress=0,a6 REFNODE mem-module fru WITH /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a6 /* * For memory module FRUs that are present, create _seeprom_source * Use both OBP 4.10.6 (dimm-spd) and older (dimm) device names. * Config file parser will ignore REFPROP with invalid device name. */ name:/frutree/chassis/system-board/mem-slot?Label=DIMM0/mem-module PROP FRUDataAvailable void r REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm?UnitAddress=0,a0 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a0 name:/frutree/chassis/system-board/mem-slot?Label=DIMM1/mem-module PROP FRUDataAvailable void r REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm?UnitAddress=0,a2 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a2 name:/frutree/chassis/system-board/mem-slot?Label=DIMM2/mem-module PROP FRUDataAvailable void r REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm?UnitAddress=0,a4 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a4 name:/frutree/chassis/system-board/mem-slot?Label=DIMM3/mem-module PROP FRUDataAvailable void r REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm?UnitAddress=0,a6 REFPROP _seeprom_source /platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a6 /* * Set _fru_parent for memory seeprom devices * Use both OBP 4.10.6 (dimm-spd) and older (dimm) device names. * Config file parser will skip to next name entry if the device name is * invalid. */ name:/platform/pci/pmu/i2c/dimm?UnitAddress=0,a0 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM0/mem-module name:/platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a0 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM0/mem-module name:/platform/pci/pmu/i2c/dimm?UnitAddress=0,a2 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM1/mem-module name:/platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a2 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM1/mem-module name:/platform/pci/pmu/i2c/dimm?UnitAddress=0,a4 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM2/mem-module name:/platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a4 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM2/mem-module name:/platform/pci/pmu/i2c/dimm?UnitAddress=0,a6 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM3/mem-module name:/platform/pci/pmu/i2c/dimm-spd?UnitAddress=0,a6 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM3/mem-module /* * Populate PCI slots */ name:/frutree/chassis/system-board/pci-slot?Label=PCI1 REFNODE pci-card fru WITH _class:/upa/pci/pci/picl?DeviceID=2 name:/frutree/chassis/system-board/pci-slot?Label=PCI2 REFNODE pci-card fru WITH _class:/upa/pci/pci/picl?DeviceID=1 name:/frutree/chassis/system-board/pci-slot?Label=PCI3 REFNODE pci-card fru WITH _class:/upa/pci/pci/picl?DeviceID=0 /* * Create cpu-module fru */ name:/frutree/chassis/system-board/cpu-slot?Slot=0 REFNODE cpu-module fru WITH _class:/PLATFORM_CLASS/cpu?ID=0 /* * Set _fru_parent of /platform to system-board */ name:/platform REFPROP _fru_parent /frutree/chassis/system-board /* * Set _fru_parent of cpu to the cpu-module fru */ _class:/PLATFORM_CLASS/cpu?ID=0 REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=0/cpu-module /* * Set _fru_parent for temperature-device */ _class:/upa/pci/pmu/i2c/temperature-device REFPROP _fru_parent /frutree/chassis/system-board/cpu-slot?Slot=0/cpu-module /* * _fru_parent memory modules */ name:/platform/memory-controller/memory-module?ID=0 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM0/mem-module name:/platform/memory-controller/memory-module?ID=1 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM1/mem-module name:/platform/memory-controller/memory-module?ID=2 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM2/mem-module name:/platform/memory-controller/memory-module?ID=3 REFPROP _fru_parent /frutree/chassis/system-board/mem-slot?Label=DIMM3/mem-module /* * Set _fru_parent of pci to the pci-card fru */ _class:/PLATFORM_CLASS/pci/pci/picl?DeviceID=2 REFPROP _fru_parent /frutree/chassis/system-board/pci-slot?Label=PCI1/pci-card _class:/PLATFORM_CLASS/pci/pci/picl?DeviceID=1 REFPROP _fru_parent /frutree/chassis/system-board/pci-slot?Label=PCI2/pci-card _class:/PLATFORM_CLASS/pci/pci/picl?DeviceID=0 REFPROP _fru_parent /frutree/chassis/system-board/pci-slot?Label=PCI3/pci-card