Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,31 @@
SUMMARY = "YAML configuration for Palmetto"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
SRC_URI = " \
file://palmetto-ipmi-fru.yaml \
file://palmetto-ipmi-fru-properties.yaml \
file://palmetto-ipmi-sensors.yaml \
"
S = "${WORKDIR}"
do_install() {
install -m 0644 -D palmetto-ipmi-fru-properties.yaml \
${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
install -m 0644 -D palmetto-ipmi-fru.yaml \
${D}${datadir}/${BPN}/ipmi-fru-read.yaml
install -m 0644 -D palmetto-ipmi-sensors.yaml \
${D}${datadir}/${BPN}/ipmi-sensors.yaml
}
FILES:${PN}-dev = " \
${datadir}/${BPN}/ipmi-extra-properties.yaml \
${datadir}/${BPN}/ipmi-fru-read.yaml \
${datadir}/${BPN}/ipmi-sensors.yaml \
"
ALLOW_EMPTY:${PN} = "1"
@@ -0,0 +1,63 @@
/system:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/cpu0:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm0:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm1:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm2:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm3:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/membuf0:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
@@ -0,0 +1,219 @@
1:
/system/chassis/motherboard/cpu0:
entityID: 3
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Custom Field 2
IPMIFruSection: Board
IPMIFruValueDelimiter: 58
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
2:
/system/chassis:
entityID: 23
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
Model:
IPMIFruProperty: Part Number
IPMIFruSection: Chassis
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Chassis
/system/chassis/motherboard/membuf:
entityID: 23
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
3:
/system/chassis/motherboard/dimm0:
entityID: 32
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
4:
/system/chassis/motherboard/dimm1:
entityID: 32
entityInstance: 2
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
5:
/system/chassis/motherboard/dimm2:
entityID: 32
entityInstance: 3
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
6:
/system/chassis/motherboard/dimm3:
entityID: 32
entityInstance: 4
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
14:
/system/chassis/motherboard:
entityID: 7
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
15:
/system:
entityID: 25
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
@@ -0,0 +1,4 @@
lpc-address = 0x3f8
sirq = 4
local-tty = ttyS0
local-tty-baud = 115200
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
@@ -0,0 +1,4 @@
DEVPATH=/dev/input/by-path/platform-gpio-keys-event
KEY=125
POLARITY=1
TARGET=obmc-host-crash@0.target
@@ -0,0 +1 @@
OBMC_IMAGE_EXTRA_INSTALL:append:palmetto = " mboxd"
@@ -0,0 +1,17 @@
SUMMARY = "Copy the inventory cleanup yaml for inventory manager"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-inventory-manager
S = "${WORKDIR}"
SRC_URI = "file://inventory-cleanup.yaml"
do_install() {
install -D inventory-cleanup.yaml ${D}${base_datadir}/events.d/inventory-cleanup.yaml
}
FILES:${PN} += "${base_datadir}/events.d/inventory-cleanup.yaml"
@@ -0,0 +1,16 @@
description: >
Palmetto inventory fixups
events:
- name: Add Chassis interface
description: >
Add the chassis interface on the chassis inventory path
type: startup
actions:
- name: createObjects
objs:
/system/chassis:
xyz.openbmc_project.Inventory.Item.Chassis:
Type:
value: "xyz.openbmc_project.Inventory.Item.Chassis.ChassisType.RackMount"
type: string
@@ -0,0 +1 @@
DEPENDS:append = " inventory-cleanup"
@@ -0,0 +1,4 @@
DEPENDS:append:palmetto = " palmetto-yaml-config"
IPMI_FRU_YAML:palmetto="${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-fru-read.yaml"
IPMI_FRU_PROP_YAML:palmetto="${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-extra-properties.yaml"
@@ -0,0 +1,6 @@
DEPENDS:append:palmetto = " palmetto-yaml-config"
EXTRA_OEMESON:palmetto = " \
-Dsensor-yaml-gen=${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-sensors.yaml \
-Dfru-yaml-gen=${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-fru-read.yaml \
"
@@ -0,0 +1,18 @@
SUMMARY = "Phosphor LED Group Management for Palmetto"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
PROVIDES += "virtual/phosphor-led-manager-config-native"
SRC_URI += "file://led.yaml"
S = "${WORKDIR}"
# Copies example led layout yaml file
do_install() {
SRC=${S}
DEST=${D}${datadir}/phosphor-led-manager
install -D ${SRC}/led.yaml ${DEST}/led.yaml
}
@@ -0,0 +1,33 @@
BmcBooted:
heartbeat:
Action: 'Blink'
DutyOn: 50
Period: 0
PowerOn:
power:
Action: 'On'
DutyOn: 50
Period: 0
EnclosureFault:
identify:
Action: 'On'
DutyOn: 50
Period: 0
EnclosureIdentify:
identify:
Action: 'Blink'
DutyOn: 50
Period: 1000
LampTest:
heartbeat:
Action: 'Blink'
DutyOn: 50
Period: 1000
identify:
Action: 'Blink'
DutyOn: 50
Period: 1000
power:
Action: 'Blink'
DutyOn: 50
Period: 1000
@@ -0,0 +1,473 @@
<patches>
<targetFile>palmetto.xml</targetFile>
<!-- Add in the 5 fan and connector instances -->
<targetInstance xpath="/">
<id>fanconn-0</id>
<type>connector-card-generic</type>
<library_target>false</library_target>
<instance_name>fanconn</instance_name>
<position>0</position>
<child_id>fan-0</child_id>
<attribute>
<id>CLASS</id>
<default>CONNECTOR</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>0</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NA</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fan-0</id>
<type>card-fan</type>
<library_target>false</library_target>
<instance_name>fan</instance_name>
<position>0</position>
<attribute>
<id>CLASS</id>
<default>CARD</default>
</attribute>
<attribute>
<id>FRU_ID</id>
<default></default>
</attribute>
<attribute>
<id>FRU_NAME</id>
<default>FAN</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>0</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>FAN</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fanconn-1</id>
<type>connector-card-generic</type>
<library_target>false</library_target>
<instance_name>fanconn</instance_name>
<position>1</position>
<child_id>fan-1</child_id>
<attribute>
<id>CLASS</id>
<default>CONNECTOR</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>1</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NA</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fan-1</id>
<type>card-fan</type>
<library_target>false</library_target>
<instance_name>fan</instance_name>
<position>1</position>
<attribute>
<id>CLASS</id>
<default>CARD</default>
</attribute>
<attribute>
<id>FRU_ID</id>
<default></default>
</attribute>
<attribute>
<id>FRU_NAME</id>
<default>FAN</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>1</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>FAN</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fanconn-2</id>
<type>connector-card-generic</type>
<library_target>false</library_target>
<instance_name>fanconn</instance_name>
<position>2</position>
<child_id>fan-2</child_id>
<attribute>
<id>CLASS</id>
<default>CONNECTOR</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>2</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NA</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fan-2</id>
<type>card-fan</type>
<library_target>false</library_target>
<instance_name>fan</instance_name>
<position>2</position>
<attribute>
<id>CLASS</id>
<default>CARD</default>
</attribute>
<attribute>
<id>FRU_ID</id>
<default></default>
</attribute>
<attribute>
<id>FRU_NAME</id>
<default>FAN</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>2</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>FAN</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fanconn-3</id>
<type>connector-card-generic</type>
<library_target>false</library_target>
<instance_name>fanconn</instance_name>
<position>3</position>
<child_id>fan-3</child_id>
<attribute>
<id>CLASS</id>
<default>CONNECTOR</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>3</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NA</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fan-3</id>
<type>card-fan</type>
<library_target>false</library_target>
<instance_name>fan</instance_name>
<position>3</position>
<attribute>
<id>CLASS</id>
<default>CARD</default>
</attribute>
<attribute>
<id>FRU_ID</id>
<default></default>
</attribute>
<attribute>
<id>FRU_NAME</id>
<default>FAN</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>3</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>FAN</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fanconn-4</id>
<type>connector-card-generic</type>
<library_target>false</library_target>
<instance_name>fanconn</instance_name>
<position>4</position>
<child_id>fan-4</child_id>
<attribute>
<id>CLASS</id>
<default>CONNECTOR</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>4</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>NA</default>
</attribute>
</targetInstance>
<targetInstance xpath="/">
<id>fan-4</id>
<type>card-fan</type>
<library_target>false</library_target>
<instance_name>fan</instance_name>
<position>4</position>
<attribute>
<id>CLASS</id>
<default>CARD</default>
</attribute>
<attribute>
<id>FRU_ID</id>
<default></default>
</attribute>
<attribute>
<id>FRU_NAME</id>
<default>FAN</default>
</attribute>
<attribute>
<id>LOCATION_CODE</id>
<default></default>
</attribute>
<attribute>
<id>MODEL</id>
<default></default>
</attribute>
<attribute>
<id>MRW_TYPE</id>
<default>NA</default>
</attribute>
<attribute>
<id>POSITION</id>
<default>4</default>
</attribute>
<attribute>
<id>RESOURCE_IS_CRITICAL</id>
<default>0</default>
</attribute>
<attribute>
<id>TYPE</id>
<default>FAN</default>
</attribute>
</targetInstance>
<!-- place the fan connectors on the motherboard -->
<targetInstance type="add-child" xpath="targetInstance[id='motherboard-0']">
<child_id>fanconn-0</child_id>
<child_id>fanconn-1</child_id>
<child_id>fanconn-2</child_id>
<child_id>fanconn-3</child_id>
<child_id>fanconn-4</child_id>
</targetInstance>
<!-- Add in the motherboard FRU name -->
<attribute type="add" xpath="targetInstance[id='motherboard-0']">
<id>FRU_NAME</id>
<default>MOTHERBOARD</default>
</attribute>
<!-- add in some new types -->
<enumerationType type="add-child" xpath="enumerationType[id='TYPE']">
<enumerator>
<name>FAN</name>
<value>35</value>
</enumerator>
<enumerator>
<name>PCIE_CARD</name>
<value>36</value>
</enumerator>
</enumerationType>
<!--fix up the other enums that come at the end of the list-->
<enumerationType type="replace-child" key="name" xpath="enumerationType[id='TYPE']">
<enumerator>
<name>TEST_FAIL</name>
<value>37</value>
</enumerator>
<enumerator>
<name>LAST_IN_RANGE</name>
<value>38</value>
</enumerator>
</enumerationType>
<!-- Fix the PCIE card's type -->
<attribute type="replace" xpath="targetInstance[id='pciecard_x8-0']/attribute[id='TYPE']">
<id>TYPE</id>
<default>PCIE_CARD</default>
</attribute>
<!-- Add the card's FRU name -->
<attribute type="add" xpath="targetInstance[id='pciecard_x8-0']">
<id>FRU_NAME</id>
<default>PCIE_CARD</default>
</attribute>
<!-- Fix the PCIE card's type -->
<attribute type="replace" xpath="targetInstance[id='pciecard_x16-0']/attribute[id='TYPE']">
<id>TYPE</id>
<default>PCIE_CARD</default>
</attribute>
<!-- Add the card's FRU name -->
<attribute type="add" xpath="targetInstance[id='pciecard_x16-0']">
<id>FRU_NAME</id>
<default>PCIE_CARD</default>
</attribute>
<!-- new parser requires FABRIC_GROUP_ID, though it's unused by the BMC -->
<attribute type="replace" xpath="targetInstance[id='proc_socket-0']/attribute[id='FABRIC_NODE_ID']">
<id>FABRIC_GROUP_ID</id>
<default>0</default>
</attribute>
</patches>
@@ -0,0 +1,2 @@
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
SRC_URI:append:palmetto = " file://palmetto.xml.patch.xml"
@@ -0,0 +1,3 @@
- Instance: 0
SensorID: 0x08
SensorName: occ0
@@ -0,0 +1,18 @@
SUMMARY = "Palmetto OCC Control sensor IDs"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-occ-control
SRC_URI += "file://occ_sensor.yaml"
PROVIDES += "virtual/openpower-occ-control-config-native"
S = "${WORKDIR}"
do_install() {
install -d ${YAML_DEST}/
install -D occ_sensor.yaml ${YAML_DEST}/occ_sensor.yaml
}
@@ -0,0 +1 @@
RDEPENDS:${PN}-inventory:append:palmetto = " openpower-occ-control webui-vue"
@@ -0,0 +1,40 @@
MODE_temp1 = "label"
MODE_temp2 = "label"
MODE_temp3 = "label"
MODE_temp4 = "label"
MODE_temp5 = "label"
MODE_temp6 = "label"
MODE_temp7 = "label"
MODE_temp8 = "label"
MODE_temp9 = "label"
MODE_temp10 = "label"
MODE_temp11 = "label"
MODE_temp12 = "label"
MODE_temp13 = "label"
MODE_temp14 = "label"
MODE_temp15 = "label"
MODE_temp16 = "label"
MODE_temp17 = "label"
MODE_temp18 = "label"
LABEL_temp13 = "cpu0_temp"
LABEL_temp101 = "centaur0_temp"
LABEL_temp102 = "dimm0_temp"
LABEL_temp103 = "dimm1_temp"
LABEL_temp104 = "dimm2_temp"
LABEL_temp105 = "dimm3_temp"
LABEL_temp106 = "core0_temp"
LABEL_temp107 = "core1_temp"
LABEL_temp108 = "core2_temp"
LABEL_temp109 = "core3_temp"
LABEL_temp110 = "core4_temp"
LABEL_temp111 = "core5_temp"
LABEL_temp112 = "core6_temp"
LABEL_temp113 = "core7_temp"
LABEL_temp114 = "core8_temp"
LABEL_temp115 = "core9_temp"
LABEL_temp116 = "core10_temp"
LABEL_temp117 = "core11_temp"
LABEL_power1 = "p0_power"
LABEL_power2 = "p0_pcie_power"
LABEL_power3 = "p0_io_power"
LABEL_power4 = "centaur0_power"
@@ -0,0 +1,3 @@
LABEL_temp1=rtc
WARNLO_temp1=10000
WARNHI_temp1=35000
@@ -0,0 +1,7 @@
LABEL_temp1=ambient
WARNLO_temp1=10000
WARNHI_temp1=40000
LABEL_temp2=cpu
WARNLO_temp2=10000
WARNHI_temp2=80000
@@ -0,0 +1,13 @@
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
NAMES = " \
bus@1e78a000/i2c-bus@40/rtc@68 \
bus@1e78a000/i2c-bus@c0/tmp423@4c \
bus@1e78a000/i2c-bus@100/occ-hwmon@50 \
"
ITEMSFMT = "ahb/apb/{0}.conf"
ITEMS = "${@compose_list(d, 'ITEMSFMT', 'NAMES')}"
ENVS = "obmc/hwmon/{0}"
SYSTEMD_ENVIRONMENT_FILE:${PN}:append:palmetto = " ${@compose_list(d, 'ENVS', 'ITEMS')}"
@@ -0,0 +1,60 @@
{
"gpio_configs": {
"power_config": {
"power_good_in": "PGOOD",
"power_up_outs": [
{"name": "POWER_PIN", "polarity": false}
],
"reset_outs": [
{"name": "USB_RESET", "polarity": false}
],
"pci_reset_outs": [
{"name": "PCIE_RESET", "polarity": false, "hold": false}
]
}
},
"gpio_definitions": [
{
"name": "POWER_PIN",
"pin": "E1",
"direction": "out"
},
{
"name": "PGOOD",
"pin": "C7",
"direction": "in"
},
{
"name": "BMC_THROTTLE",
"pin": "J3",
"direction": "out"
},
{
"name": "IDBTN",
"pin": "Q7",
"direction": "out"
},
{
"name": "POWER_BUTTON",
"pin": "E0",
"direction": "both"
},
{
"name": "PCIE_RESET",
"pin": "B5",
"direction": "out"
},
{
"name": "USB_RESET",
"pin": "B6",
"direction": "out"
},
{
"name": "CHECKSTOP",
"pin": "P5",
"direction": "falling"
}
]
}
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"