13062Scindi /* 23062Scindi * CDDL HEADER START 33062Scindi * 43062Scindi * The contents of this file are subject to the terms of the 53062Scindi * Common Development and Distribution License (the "License"). 63062Scindi * You may not use this file except in compliance with the License. 73062Scindi * 83062Scindi * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 93062Scindi * or http://www.opensolaris.org/os/licensing. 103062Scindi * See the License for the specific language governing permissions 113062Scindi * and limitations under the License. 123062Scindi * 133062Scindi * When distributing Covered Code, include this CDDL HEADER in each 143062Scindi * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 153062Scindi * If applicable, add the following below this CDDL HEADER, with the 163062Scindi * fields enclosed by brackets "[]" replaced with your own identifying 173062Scindi * information: Portions Copyright [yyyy] [name of copyright owner] 183062Scindi * 193062Scindi * CDDL HEADER END 203062Scindi */ 213062Scindi 223062Scindi /* 2312106SStephen.Hanson@Sun.COM * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 243062Scindi */ 253062Scindi 263062Scindi #ifndef _TOPO_HC_H 273062Scindi #define _TOPO_HC_H 283062Scindi 293062Scindi #ifdef __cplusplus 303062Scindi extern "C" { 313062Scindi #endif 323062Scindi 333062Scindi /* 343062Scindi * Allowable hardware component names for hc FMRIs 353062Scindi */ 367205Ssd77468 #define BANK "bank" 374582Scth #define BAY "bay" 387205Ssd77468 #define BLADE "blade" 393325Ssd77468 #define BRANCH "branch" 403062Scindi #define CMP "CMP" 413062Scindi #define CENTERPLANE "centerplane" 423062Scindi #define CHASSIS "chassis" 433062Scindi #define CHIP "chip" 447349SAdrian.Frost@Sun.COM #define CORE "core" 457349SAdrian.Frost@Sun.COM #define STRAND "strand" 463062Scindi #define CHIP_SELECT "chip-select" 476869Seschrock #define CONTROLLER "controller" 483062Scindi #define CPU "cpu" 495430Ssd77468 #define CPUBOARD "cpuboard" 503062Scindi #define DIMM "dimm" 513062Scindi #define DISK "disk" 527205Ssd77468 #define DRAM "dram" 533062Scindi #define DRAMCHANNEL "dram-channel" 546070Srobj #define FAN "fan" 5512632SHyon.Kim@Sun.COM #define FANBOARD "fanboard" 566070Srobj #define FANMODULE "fanmodule" 57*12956STom.Pothier@Sun.COM #define HBA "hba" 583062Scindi #define HOSTBRIDGE "hostbridge" 593062Scindi #define INTERCONNECT "interconnect" 603062Scindi #define IOBOARD "ioboard" 6112126SHyon.Kim@Sun.COM #define IPORT "iport" 625430Ssd77468 #define MEMBOARD "memboard" 637205Ssd77468 #define MEMORYBUFFER "memory-buffer" 643062Scindi #define MEMORYCONTROL "memory-controller" 657205Ssd77468 #define MICROCORE "micro-core" 663062Scindi #define MOTHERBOARD "motherboard" 673325Ssd77468 #define NIU "niu" 683325Ssd77468 #define NIUFN "niufn" 693062Scindi #define PCI_BUS "pcibus" 703062Scindi #define PCI_DEVICE "pcidev" 713062Scindi #define PCI_FUNCTION "pcifn" 723062Scindi #define PCIEX_BUS "pciexbus" 733062Scindi #define PCIEX_DEVICE "pciexdev" 743062Scindi #define PCIEX_FUNCTION "pciexfn" 753062Scindi #define PCIEX_ROOT "pciexrc" 763062Scindi #define PCIEX_SWUP "pciexswu" 773062Scindi #define PCIEX_SWDWN "pciexswd" 7812632SHyon.Kim@Sun.COM #define POWERBOARD "powerboard" 796070Srobj #define POWERMODULE "powermodule" 806070Srobj #define PSU "psu" 813062Scindi #define RANK "rank" 8212126SHyon.Kim@Sun.COM #define RECEPTACLE "receptacle" 837205Ssd77468 #define RISER "riser" 8412126SHyon.Kim@Sun.COM #define SASEXPANDER "sas-expander" 857205Ssd77468 #define SHELF "shelf" 8612126SHyon.Kim@Sun.COM #define SCSI_DEVICE "scsi-device" 876869Seschrock #define SES_ENCLOSURE "ses-enclosure" 8812126SHyon.Kim@Sun.COM #define SMP_DEVICE "smp-device" 8911304SJanie.Lu@Sun.COM #define SP "sp" 9010519SSundeep.Panicker@Sun.COM #define SUBCHASSIS "subchassis" 913062Scindi #define SYSTEMBOARD "systemboard" 923325Ssd77468 #define XAUI "xaui" 933325Ssd77468 #define XFP "xfp" 943062Scindi 953062Scindi /* 963062Scindi * Allowable hc node property group and property names 973062Scindi */ 983062Scindi #define TOPO_PGROUP_IO "io" 993062Scindi #define TOPO_IO_DEVTYPE "devtype" 1003062Scindi #define TOPO_IO_DRIVER "driver" 1013323Scindi #define TOPO_IO_MODULE "module" 1023062Scindi #define TOPO_IO_DEV "dev" 1036640Scth #define TOPO_IO_DEVID "devid" 1043062Scindi #define TOPO_IO_DEV_PATH "devfs-path" 1053062Scindi #define TOPO_IO_AP_PATH "ap-path" 1066640Scth #define TOPO_IO_PHYS_PATH "phys-path" 1073062Scindi 1083062Scindi #define TOPO_PGROUP_PCI "pci" 1093062Scindi #define TOPO_PCI_VENDID "vendor-id" 1103062Scindi #define TOPO_PCI_DEVID "device-id" 1113062Scindi #define TOPO_PCI_EXCAP "extended-capabilities" 1123062Scindi #define TOPO_PCI_BDF "BDF" 1133062Scindi #define TOPO_PCI_CLASS "class-code" 1146313Skrishnae #define TOPO_PCI_AADDR "assigned-addresses" 1153062Scindi 11612126SHyon.Kim@Sun.COM #define TOPO_PGROUP_BINDING "binding" 11712126SHyon.Kim@Sun.COM #define TOPO_BINDING_OCCUPANT "occupant-path" 11812126SHyon.Kim@Sun.COM 11912106SStephen.Hanson@Sun.COM #define TOPO_PGROUP_STORAGE "storage" 12012126SHyon.Kim@Sun.COM #define TOPO_STORAGE_INITIATOR_PORT "initiator-port" 12112126SHyon.Kim@Sun.COM #define TOPO_STORAGE_INITIATOR_PORT_PM "initiator-port-pm" 12212126SHyon.Kim@Sun.COM #define TOPO_STORAGE_TARGET_PORT "target-port" 12312106SStephen.Hanson@Sun.COM #define TOPO_STORAGE_TARGET_PORT_L0ID "target-port-l0id" 12412106SStephen.Hanson@Sun.COM #define TOPO_STORAGE_TARGET_PORT_L0IDS "target-port-l0ids" 12512126SHyon.Kim@Sun.COM #define TOPO_STORAGE_ATTACHED_PORT "attached-port" 12612126SHyon.Kim@Sun.COM #define TOPO_STORAGE_TARGET_PORT_PM "target-port-pm" 12712126SHyon.Kim@Sun.COM #define TOPO_STORAGE_ATTACHED_PORT_PM "attached-port-pm" 12812126SHyon.Kim@Sun.COM #define TOPO_STORAGE_DEVID "devid" 12912126SHyon.Kim@Sun.COM #define TOPO_STORAGE_LUN64 "lun64" 13012126SHyon.Kim@Sun.COM #define TOPO_STORAGE_DEVICE_TYPE "inquiry-device-type" 13112126SHyon.Kim@Sun.COM #define TOPO_STORAGE_MANUFACTURER "manufacturer" 13212126SHyon.Kim@Sun.COM #define TOPO_STORAGE_MODEL "model" 13312126SHyon.Kim@Sun.COM #define TOPO_STORAGE_FIRMWARE_REV "firmware-revision" 13412126SHyon.Kim@Sun.COM #define TOPO_STORAGE_SAS_PHY_MASK "receptacle-pm" 13512126SHyon.Kim@Sun.COM #define TOPO_STORAGE_SAS_CONNECTOR_TYPE "sas-connector-type" 13611859STom.Pothier@Sun.COM 13712618SStephen.Hanson@Sun.COM #define TOPO_PGROUP_SES "ses" 13812618SStephen.Hanson@Sun.COM /* Applied any SES standard related topo node. */ 13912618SStephen.Hanson@Sun.COM #define TOPO_PROP_NODE_ID "node-id" 14012618SStephen.Hanson@Sun.COM #define TOPO_PROP_TARGET_PATH "target-path" 14112618SStephen.Hanson@Sun.COM #define TOPO_PROP_SES_DEVID "ses-devid" 14212618SStephen.Hanson@Sun.COM #define TOPO_PROP_SES_DEV_PATH "ses-devfs-path" 14312618SStephen.Hanson@Sun.COM #define TOPO_PROP_SES_PHYS_PATH "ses-phys-path" 14412618SStephen.Hanson@Sun.COM #define TOPO_PROP_SES_TARGET_PORT "ses-target-port" 14512618SStephen.Hanson@Sun.COM 14612618SStephen.Hanson@Sun.COM #define TOPO_PGROUP_SMP "smp" 14712618SStephen.Hanson@Sun.COM /* host SMP target related info for an expander node. */ 14812618SStephen.Hanson@Sun.COM #define TOPO_PROP_SMP_DEVID "smp-devid" 14912618SStephen.Hanson@Sun.COM #define TOPO_PROP_SMP_DEV_PATH "smp-devfs-path" 15012618SStephen.Hanson@Sun.COM #define TOPO_PROP_SMP_PHYS_PATH "smp-phys-path" 15112618SStephen.Hanson@Sun.COM #define TOPO_PROP_SMP_TARGET_PORT "smp-target-port" 15212618SStephen.Hanson@Sun.COM #define TOPO_PROP_SAS_ADDR "sas-address" 15312618SStephen.Hanson@Sun.COM #define TOPO_PROP_PHY_COUNT "phy-count" 15412618SStephen.Hanson@Sun.COM #define TOPO_PROP_PATHS "paths" 15512618SStephen.Hanson@Sun.COM #define TOPO_PROP_CHASSIS_TYPE "chassis-type" 15612618SStephen.Hanson@Sun.COM #define TOPO_PROP_SAS_PHY_MASK "phy-mask" 15712618SStephen.Hanson@Sun.COM #define TOPO_PROP_SAS_CONNECTOR_TYPE "sas-connector-type" 15812618SStephen.Hanson@Sun.COM 1593062Scindi #ifdef __cplusplus 1603062Scindi } 1613062Scindi #endif 1623062Scindi 1633062Scindi #endif /* _TOPO_HC_H */ 164