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
+11
View File
@@ -0,0 +1,11 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "s6q-layer"
BBFILE_PATTERN_s6q-layer := "^${LAYERDIR}/"
LAYERSERIES_COMPAT_s6q-layer := "langdale mickledore"
@@ -0,0 +1,32 @@
# KMACHINE = "aspeed"
# KERNEL_DEVICETREE = "${KMACHINE}-bmc-quanta-${MACHINE}.dtb"
KERNEL_DEVICETREE = "aspeed-ast2600-evb.dtb"
UBOOT_MACHINE = "ast2600_openbmc_defconfig"
UBOOT_DEVICETREE = "ast2600a1-evb"
require conf/machine/include/ast2600.inc
require conf/machine/include/obmc-bsp-common.inc
FLASH_SIZE = "65536"
MACHINE_FEATURES += "\
obmc-bmc-state-mgmt \
obmc-chassis-state-mgmt \
obmc-host-ipmi \
obmc-host-state-mgmt \
obmc-phosphor-chassis-mgmt \
obmc-phosphor-fan-mgmt \
obmc-phosphor-flash-mgmt \
bonding \
"
VIRTUAL-RUNTIME_obmc-inventory-manager = "entity-manager"
PREFERRED_PROVIDER_virtual/obmc-inventory-data = "entity-manager"
VIRTUAL-RUNTIME_obmc-host-state-manager ?= "x86-power-control"
VIRTUAL-RUNTIME_obmc-chassis-state-manager ?= "x86-power-control"
PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-s6q-apps"
PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-s6q-apps"
PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-s6q-apps"
PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs"
PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-s6q-apps"
@@ -0,0 +1,18 @@
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "8"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
##OEROOT##/meta \
##OEROOT##/meta-poky \
##OEROOT##/meta-openembedded/meta-oe \
##OEROOT##/meta-openembedded/meta-networking \
##OEROOT##/meta-openembedded/meta-python \
##OEROOT##/meta-phosphor \
##OEROOT##/meta-aspeed \
##OEROOT##/meta-quanta \
##OEROOT##/meta-quanta/meta-s6q\
"
@@ -0,0 +1,2 @@
Common targets are:
obmc-phosphor-image
@@ -0,0 +1,258 @@
#
# This file is your local configuration file and is where all local user settings
# are placed. The comments in this file give some guide to the options a new user
# to the system might want to change but pretty much any configuration option can
# be set in this file. More adventurous users can look at local.conf.extended
# which contains other examples of configuration which can be placed in this file
# but new users likely won't need any of them initially.
#
# Lines starting with the '#' character are commented out and in some cases the
# default values are provided as comments to show people example syntax. Enabling
# the option is a question of removing the # character and making any change to the
# variable as required.
#
# Machine Selection
#
MACHINE ??= "s6q"
#
# Where to place downloads
#
# During a first build the system will download many different source code tarballs
# from various upstream projects. This can take a while, particularly if your network
# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
# can preserve this directory to speed up this part of subsequent builds. This directory
# is safe to share between multiple builds on the same machine too.
#
# The default is a downloads directory under TOPDIR which is the build directory.
#
#DL_DIR ?= "${TOPDIR}/downloads"
#
# Where to place shared-state files
#
# BitBake has the capability to accelerate builds based on previously built output.
# This is done using "shared state" files which can be thought of as cache objects
# and this option determines where those files are placed.
#
# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
# from these files if no changes were made to the configuration. If changes were made
# to the configuration, only shared state files where the state was still valid would
# be used (done using checksums).
#
# The default is a sstate-cache directory under TOPDIR.
#
#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
#
# Where to place the build output
#
# This option specifies where the bulk of the building work should be done and
# where BitBake should place its temporary files and output. Keep in mind that
# this includes the extraction and compilation of many applications and the toolchain
# which can use Gigabytes of hard disk space.
#
# The default is a tmp directory under TOPDIR.
#
#TMPDIR = "${TOPDIR}/tmp"
#
# Default policy config
#
# The distribution setting controls which policy settings are used as defaults.
# The default value is fine for general Yocto project use, at least initially.
# Ultimately when creating custom policy, people will likely end up subclassing
# these defaults.
#
DISTRO ?= "openbmc-phosphor"
# As an example of a subclass there is a "bleeding" edge policy configuration
# where many versions are set to the absolute latest code from the upstream
# source control systems. This is just mentioned here as an example, its not
# useful to most new users.
# DISTRO ?= "poky-bleeding"
#
# Package Management configuration
#
# This variable lists which packaging formats to enable. Multiple package backends
# can be enabled at once and the first item listed in the variable will be used
# to generate the root filesystems.
# Options are:
# - 'package_deb' for debian style deb files
# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
# - 'package_rpm' for rpm style packages
# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
# We default to ipk:
PACKAGE_CLASSES ?= "package_ipk"
#
# SDK target architecture
#
# This variable specifies the architecture to build SDK items for and means
# you can build the SDK packages for architectures other than the machine you are
# running the build on (i.e. building i686 packages on an x86_64 host).
# Supported values are i686, x86_64, aarch64
#SDKMACHINE ?= "i686"
SANITY_TESTED_DISTROS:append ?= " *"
#
# Extra image configuration defaults
#
# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
# images. Some of these options are added to certain image types automatically. The
# variable can contain the following options:
# "dbg-pkgs" - add -dbg packages for all installed packages
# (adds symbol information for debugging/profiling)
# "src-pkgs" - add -src packages for all installed packages
# (adds source code for debugging)
# "dev-pkgs" - add -dev packages for all installed packages
# (useful if you want to develop against libs in the image)
# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
# (useful if you want to run the package test suites)
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
# "tools-debug" - add debugging tools (gdb, strace)
# "eclipse-debug" - add Eclipse remote debugging support
# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
# "debug-tweaks" - make an image suitable for development
# e.g. ssh root access has a blank password
# There are other application targets that can be used here too, see
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
# We default to enabling the debugging tweaks.
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
#
# Additional image features
#
# The following is a list of additional classes to use when building images which
# enable extra features. Some available options which can be included in this variable
# are:
# - 'buildstats' collect build statistics
USER_CLASSES ?= "buildstats"
#
# Runtime testing of images
#
# The build system can test booting virtual machine images under qemu (an emulator)
# after any root filesystems are created and run tests against those images. It can also
# run tests against any SDK that are built. To enable this uncomment these lines.
# See classes/test{image,sdk}.bbclass for further details.
#IMAGE_CLASSES += "testimage testsdk"
#TESTIMAGE_AUTO_qemuall = "1"
#
# Interactive shell configuration
#
# Under certain circumstances the system may need input from you and to do this it
# can launch an interactive shell. It needs to do this since the build is
# multithreaded and needs to be able to handle the case where more than one parallel
# process may require the user's attention. The default is iterate over the available
# terminal types to find one that works.
#
# Examples of the occasions this may happen are when resolving patches which cannot
# be applied, to use the devshell or the kernel menuconfig
#
# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
# Note: currently, Konsole support only works for KDE 3.x due to the way
# newer Konsole versions behave
#OE_TERMINAL = "auto"
# By default disable interactive patch resolution (tasks will just fail instead):
PATCHRESOLVE = "noop"
#
# Disk Space Monitoring during the build
#
# Monitor the disk space during the build. If there is less that 1GB of space or less
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
# of the build. The reason for this is that running completely out of space can corrupt
# files and damages the build in ways which may not be easily recoverable.
# It's necessary to monitor /tmp, if there is no space left the build will fail
# with very exotic errors.
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
HALT,${TMPDIR},100M,1K \
HALT,${DL_DIR},100M,1K \
HALT,${SSTATE_DIR},100M,1K \
HALT,/tmp,10M,1K"
#
# Shared-state files from other locations
#
# As mentioned above, shared state files are prebuilt cache data objects which can be
# used to accelerate build time. This variable can be used to configure the system
# to search other mirror locations for these objects before it builds the data itself.
#
# This can be a filesystem directory, or a remote url such as http or ftp. These
# would contain the sstate-cache results from previous builds (possibly from other
# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
# cache locations to check for the shared objects.
# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
# at the end as shown in the examples below. This will be substituted with the
# correct path within the directory structure.
#SSTATE_MIRRORS ?= "\
#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
#file://.* file:///some/local/dir/sstate/PATH"
#
# Yocto Project SState Mirror
#
# The Yocto Project has prebuilt artefacts available for its releases, you can enable
# use of these by uncommenting the following line. This will mean the build uses
# the network to check for artefacts at the start of builds, which does slow it down
# equally, it will also speed up the builds by not having to build things if they are
# present in the cache. It assumes you can download something faster than you can build it
# which will depend on your network.
#
#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH"
#
# Qemu configuration
#
# By default native qemu will build with a builtin VNC server where graphical output can be
# seen. The line below enables the SDL UI frontend too.
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
#ASSUME_PROVIDED += "libsdl2-native"
# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
# a handy set of menus for controlling the emulator.
#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"
#
# Hash Equivalence
#
# Enable support for automatically running a local hash equivalence server and
# instruct bitbake to use a hash equivalence aware signature generator. Hash
# equivalence improves reuse of sstate by detecting when a given sstate
# artifact can be reused as equivalent, even if the current task hash doesn't
# match the one that generated the artifact.
#
# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
#
#BB_HASHSERVE = "auto"
#BB_SIGNATURE_HANDLER = "OEEquivHash"
#
# Memory Resident Bitbake
#
# Bitbake's server component can stay in memory after the UI for the current command
# has completed. This means subsequent commands can run faster since there is no need
# for bitbake to reload cache files and so on. Number is in seconds, after which the
# server will shut down.
#
#BB_SERVER_TIMEOUT = "60"
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
# track the version of this file when it was generated. This can safely be ignored if
# this doesn't mean anything to you.
CONF_VERSION = "2"
# Set the root password to '0penBmc'
# Defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
@@ -0,0 +1,3 @@
[NetDev]
Name=bond0
Kind=bond
@@ -0,0 +1,2 @@
[Network]
Bond=bond0
@@ -0,0 +1,4 @@
[Network]
Bond=bond0
[Link]
ActivationPolicy=always-down
@@ -0,0 +1,2 @@
[Network]
LinkLocalAddressing=ipv6
@@ -0,0 +1,3 @@
[Resolve]
LLMNR=no
MulticastDNS=resolve
@@ -0,0 +1,49 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
SRC_URI:append:s6q = " file://s6q-resolv.conf"
BONDING_CONF = "\
file://10-bmc-bond0.netdev \
file://bond-eth0.conf \
file://bond-eth1.conf \
file://bond0.conf \
"
SRC_URI:append:s6q = "${@bb.utils.contains('MACHINE_FEATURES', 'bonding',\
' ${BONDING_CONF}', '', d)}"
FILES:${PN}:append:s6q = "\
${sysconfdir}/systemd/resolved.conf.d/s6q-resolv.conf \
${sysconfdir}/systemd/network/00-bmc-eth0.network.d/ \
${sysconfdir}/systemd/network/00-bmc-eth1.network.d/ \
"
BONDING_CONF_PATH = "\
${sysconfdir}/systemd/network/10-bmc-bond0.netdev \
${sysconfdir}/systemd/network/00-bmc-bond0.network.d/bond0.conf \
"
FILES:${PN}:append:s6q = "${@bb.utils.contains('MACHINE_FEATURES', 'bonding',\
' ${BONDING_CONF_PATH}', '', d)}"
do_install:append:s6q() {
install -d ${D}${sysconfdir}/systemd/resolved.conf.d/
install -m 0644 ${WORKDIR}/s6q-resolv.conf \
${D}${sysconfdir}/systemd/resolved.conf.d/
install -d ${D}${sysconfdir}/systemd/network/
install -d ${D}${sysconfdir}/systemd/network/00-bmc-eth0.network.d/
install -d ${D}${sysconfdir}/systemd/network/00-bmc-eth1.network.d/
if ${@bb.utils.contains('MACHINE_FEATURES', 'bonding', 'true', 'false', d)};
then
install -d ${D}${sysconfdir}/systemd/network/00-bmc-bond0.network.d/
install -m 0644 ${WORKDIR}/bond-eth0.conf \
${D}${sysconfdir}/systemd/network/00-bmc-eth0.network.d/
install -m 0644 ${WORKDIR}/bond-eth1.conf \
${D}${sysconfdir}/systemd/network/00-bmc-eth1.network.d/
install -m 0644 ${WORKDIR}/10-bmc-bond0.netdev \
${D}${sysconfdir}/systemd/network/
install -m 0644 ${WORKDIR}/bond0.conf \
${D}${sysconfdir}/systemd/network/00-bmc-bond0.network.d/
else
echo -e "[Network]\nLinkLocalAddressing=ipv6" > \
${D}${sysconfdir}/systemd/network/00-bmc-eth0.network.d/eth0.conf
echo -e "[Network]\nLinkLocalAddressing=ipv6" > \
${D}${sysconfdir}/systemd/network/00-bmc-eth1.network.d/eth1.conf
fi
}
@@ -0,0 +1,31 @@
SUMMARY = "YAML configuration for s6q"
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://ipmi-fru.yaml \
file://ipmi-fru-properties.yaml \
file://ipmi-sensors.yaml \
file://ipmi-inventory-sensors.yaml \
"
S = "${WORKDIR}"
do_install() {
install -m 0644 -D ipmi-fru.yaml ${D}${datadir}/${BPN}/ipmi-fru-read.yaml
install -m 0644 -D ipmi-fru-properties.yaml ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
install -m 0644 -D ipmi-sensors.yaml ${D}${datadir}/${BPN}/ipmi-sensors.yaml
install -m 0644 -D ipmi-inventory-sensors.yaml ${D}${datadir}/${BPN}/ipmi-inventory-sensors.yaml
}
FILES:${PN}-dev = " \
${datadir}/${BPN}/ipmi-fru-read.yaml \
${datadir}/${BPN}/ipmi-extra-properties.yaml \
${datadir}/${BPN}/ipmi-sensors.yaml \
${datadir}/${BPN}/ipmi-inventory-sensors.yaml \
"
ALLOW_EMPTY:${PN} = "1"
@@ -0,0 +1,31 @@
/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/bmc:
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/mainboard:
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
@@ -0,0 +1,60 @@
0x00:
/system/chassis/bmc:
entityID: 6
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
CustomField:
IPMIFruProperty: CustomField
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: FRU File ID
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Item.NetworkInterface:
MACAddress:
IPMIFruProperty: Custom Field 1
IPMIFruSection: Board
0x01:
/system/chassis/mainboard:
entityID: 16
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: FRU File ID
IPMIFruSection: Board
@@ -0,0 +1,255 @@
/xyz/openbmc_project/sensors/current/PSU0_Current:
eventReadingType: 1
sensorID: 0x01
sensorType: 0x03
offset: 0xff
/xyz/openbmc_project/sensors/current/PSU1_Current:
eventReadingType: 1
sensorID: 0x02
sensorType: 0x03
offset: 0xff
/xyz/openbmc_project/sensors/power/PSU0_Input:
eventReadingType: 1
sensorID: 0x03
sensorType: 0x08
offset: 0xff
/xyz/openbmc_project/sensors/power/PSU1_Input:
eventReadingType: 1
sensorID: 0x04
sensorType: 0x08
offset: 0xff
/xyz/openbmc_project/sensors/power/Fan_Power_G0:
eventReadingType: 1
sensorID: 0x05
sensorType: 0x08
offset: 0xff
/xyz/openbmc_project/sensors/power/Fan_Power_G1:
eventReadingType: 1
sensorID: 0x06
sensorType: 0x08
offset: 0xff
/xyz/openbmc_project/sensors/utilization/CPU:
eventReadingType: 1
sensorID: 0x07
sensorType: 0x0B
offset: 0xff
/xyz/openbmc_project/sensors/utilization/Memory:
eventReadingType: 1
sensorID: 0x08
sensorType: 0x0B
offset: 0xff
/xyz/openbmc_project/sensors/utilization/Storage_RW:
eventReadingType: 1
sensorID: 0x09
sensorType: 0x0B
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_PSU0:
eventReadingType: 1
sensorID: 0x0A
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_PSU1:
eventReadingType: 1
sensorID: 0x0B
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_AON_VR_CPU0:
eventReadingType: 1
sensorID: 0x0C
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_AON_VR_CPU1:
eventReadingType: 1
sensorID: 0x0D
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_HV_VR_CPU0:
eventReadingType: 1
sensorID: 0x0E
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_HV_VR_CPU1:
eventReadingType: 1
sensorID: 0x0F
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_MB1:
eventReadingType: 1
sensorID: 0x10
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_MB2:
eventReadingType: 1
sensorID: 0x11
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_PCH:
eventReadingType: 1
sensorID: 0x12
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_VR_CPU0:
eventReadingType: 1
sensorID: 0x13
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_VR_CPU1:
eventReadingType: 1
sensorID: 0x14
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_Inlet:
eventReadingType: 1
sensorID: 0x15
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_SCM:
eventReadingType: 1
sensorID: 0x16
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/utilization/SYS_CPU_util:
eventReadingType: 1
sensorID: 0x17
sensorType: 0x0B
offset: 0xff
/xyz/openbmc_project/sensors/utilization/SYS_IO_util:
eventReadingType: 1
sensorID: 0x18
sensorType: 0x0B
offset: 0xff
/xyz/openbmc_project/sensors/utilization/SYS_MEM_util:
eventReadingType: 1
sensorID: 0x19
sensorType: 0x0B
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_FAON_CPU0:
eventReadingType: 1
sensorID: 0x1A
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_FAON_CPU1:
eventReadingType: 1
sensorID: 0x1B
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P1V0:
eventReadingType: 1
sensorID: 0x1C
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P1V2:
eventReadingType: 1
sensorID: 0x1D
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P1V2_MAX_MB:
eventReadingType: 1
sensorID: 0x1E
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P1V8:
eventReadingType: 1
sensorID: 0x1F
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P1V05PCH_MB:
eventReadingType: 1
sensorID: 0x20
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P2V5:
eventReadingType: 1
sensorID: 0x21
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P2V5_MAX_MB:
eventReadingType: 1
sensorID: 0x22
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P3V3:
eventReadingType: 1
sensorID: 0x23
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P3V3_AUX_MB:
eventReadingType: 1
sensorID: 0x64
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P3V3_MB:
eventReadingType: 1
sensorID: 0x65
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P3V_BAT:
eventReadingType: 1
sensorID: 0x66
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P5V:
eventReadingType: 1
sensorID: 0x67
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P5V_AUX_MB:
eventReadingType: 1
sensorID: 0x68
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P5V_MB:
eventReadingType: 1
sensorID: 0x69
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P12V:
eventReadingType: 1
sensorID: 0x6A
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P12V_AUX_MB:
eventReadingType: 1
sensorID: 0x6B
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_P12V_MB:
eventReadingType: 1
sensorID: 0x6C
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_PGPPA:
eventReadingType: 1
sensorID: 0x6D
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_PVCCFA_CPU0:
eventReadingType: 1
sensorID: 0x6E
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_PVCCFA_CPU1:
eventReadingType: 1
sensorID: 0x6F
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_PVCCIN_CPU0:
eventReadingType: 1
sensorID: 0x70
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/voltage/Volt_PVCCIN_CPU1:
eventReadingType: 1
sensorID: 0x71
sensorType: 0x02
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_CPU0:
eventReadingType: 1
sensorID: 0x72
sensorType: 0x01
offset: 0xff
/xyz/openbmc_project/sensors/temperature/Temp_CPU1:
eventReadingType: 1
sensorID: 0x73
sensorType: 0x01
offset: 0xff
@@ -0,0 +1,17 @@
SUMMARY = "Chassis Intrusion monitor for meta-s6q"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-dbus-monitor
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${BPN}:"
SRC_URI += "file://config.yaml"
do_install() {
install -D ${WORKDIR}/config.yaml ${D}${config_dir}/config.yaml
}
FILES:${PN} += "${config_dir}/config.yaml"
@@ -0,0 +1,111 @@
- name: chassis capabilities path
class: group
group: path
members:
- meta: PATH
path: /xyz/openbmc_project/control/chassis_capabilities
- name: intrusion property
class: group
group: property
type: boolean
members:
- interface: xyz.openbmc_project.Control.ChassisCapabilities
meta: PROPERTY
property: ChassisIntrusionEnabled
- name: watch intrusionenable
class: watch
watch: property
paths: chassis capabilities path
properties: intrusion property
callback: intrusion enable
- name: watch intrusiondisable
class: watch
watch: property
paths: chassis capabilities path
properties: intrusion property
callback: intrusion disable
- name: intrusion enable
class: condition
condition: count
paths: chassis capabilities path
properties: intrusion property
callback: enable log and event
countop: '=='
countbound: 1
op: '=='
bound: true
- name: intrusion disable
class: condition
condition: count
paths: chassis capabilities path
properties: intrusion property
callback: disable log and event
countop: '=='
countbound: 1
op: '=='
bound: false
- name: enable log and event
class: callback
callback: group
members:
- journal callback enable value
- start intrusion sensor
- name: disable log and event
class: callback
callback: group
members:
- journal callback disable value
- stop intrusion sensor
- name: journal callback enable value
class: callback
callback: journal
paths: chassis capabilities path
properties: intrusion property
severity: INFO
message: chassis intrusion enable
- name: journal callback disable value
class: callback
callback: journal
paths: chassis capabilities path
properties: intrusion property
severity: INFO
message: chassis intrusion disable
- name: stop intrusion sensor
description: >
'Stop intrusion sensor.'
class: callback
callback: method
service: org.freedesktop.systemd1
path: /org/freedesktop/systemd1
interface: org.freedesktop.systemd1.Manager
method: StopUnit
args:
- value: xyz.openbmc_project.intrusionsensor.service
type: string
- value: replace
type: string
- name: start intrusion sensor
description: >
'Start intrusion sensor.'
class: callback
callback: method
service: org.freedesktop.systemd1
path: /org/freedesktop/systemd1
interface: org.freedesktop.systemd1.Manager
method: StartUnit
args:
- value: xyz.openbmc_project.intrusionsensor.service
type: string
- value: replace
type: string
@@ -0,0 +1 @@
PHOSPHOR_DBUS_MONITOR_CONFIGS:append:s6q = " chassis-intrusion-monitor"
@@ -0,0 +1 @@
FILESEXTRAPATHS:append:s6q := ":${THISDIR}/${PN}"
@@ -0,0 +1,2 @@
OBMC_IMAGE_EXTRA_INSTALL:append:s6q = " usb-ethernet-gadget"
IMAGE_FEATURES:append:s6q = " obmc-dbus-monitor"
@@ -0,0 +1,14 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
SRC_URI:append:s6q = " file://bond_channel_config.json"
SRC_URI:append:s6q = " file://bond_channel_access.json"
do_install:append:s6q() {
if ${@bb.utils.contains('MACHINE_FEATURES', 'bonding', 'true', 'false', d)};
then
install -m 0644 -D ${WORKDIR}/bond_channel_access.json \
${D}${datadir}/ipmi-providers/channel_access.json
install -m 0644 -D ${WORKDIR}/bond_channel_config.json \
${D}${datadir}/ipmi-providers/channel_config.json
fi
}
@@ -0,0 +1,9 @@
{
"1" : {
"access_mode" : "always_available",
"user_auth_disabled" : false,
"per_msg_auth_disabled" : false,
"alerting_disabled" : false,
"priv_limit" : "priv-admin"
}
}
@@ -0,0 +1,178 @@
{
"0": {
"name": "IPMB",
"is_valid": true,
"active_sessions": 0,
"channel_info": {
"medium_type": "ipmb",
"protocol_type": "ipmb-1.0",
"session_supported": "session-less",
"is_ipmi": true
}
},
"1": {
"name": "bond0",
"is_valid": true,
"active_sessions": 0,
"channel_info": {
"medium_type": "lan-802.3",
"protocol_type": "ipmb-1.0",
"session_supported": "multi-session",
"is_ipmi": true
}
},
"2": {
"name": "eth1",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "lan-802.3",
"protocol_type": "ipmb-1.0",
"session_supported": "multi-session",
"is_ipmi": true
}
},
"3": {
"name": "usb0",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "lan-802.3",
"protocol_type": "ipmb-1.0",
"session_supported": "multi-session",
"is_ipmi": true
}
},
"4": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"5": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"6": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"7": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"8": {
"name": "INTRABMC",
"is_valid": true,
"active_sessions": 0,
"channel_info": {
"medium_type": "oem",
"protocol_type": "oem",
"session_supported": "session-less",
"is_ipmi": true
}
},
"9": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"10": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"11": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"12": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"13": {
"name": "RESERVED",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "reserved",
"protocol_type": "na",
"session_supported": "session-less",
"is_ipmi": true
}
},
"14": {
"name": "SELF",
"is_valid": false,
"active_sessions": 0,
"channel_info": {
"medium_type": "ipmb",
"protocol_type": "ipmb-1.0",
"session_supported": "session-less",
"is_ipmi": true
}
},
"15": {
"name": "ipmi_kcs3",
"is_valid": true,
"active_sessions": 0,
"channel_info": {
"medium_type": "system-interface",
"protocol_type": "kcs",
"session_supported": "session-less",
"is_ipmi": true
}
}
}
@@ -0,0 +1,8 @@
{
"id": 32,
"revision": 1,
"addn_dev_support": 141,
"manuf_id": 7244,
"prod_id": 13905,
"aux": 0
}
@@ -0,0 +1,3 @@
OF_NAME=scm_fru
SYSFS_PATH=/sys/bus/i2c/devices/14-0051/eeprom
FRUID=0
@@ -0,0 +1,3 @@
OF_NAME=mb_fru
SYSFS_PATH=/sys/bus/i2c/devices/3-0051/eeprom
FRUID=1
@@ -0,0 +1,24 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
inherit obmc-phosphor-systemd
DEPENDS:append:s6q = " s6q-yaml-config"
EEPROMS_NAME_LIST = "bmc motherboard"
EEPROMFMT = "system/chassis/{0}"
EEPROM_ESCAPEDFMT = "system-chassis-{0}"
EEPROMS = "${@compose_list(d, 'EEPROMFMT', 'EEPROMS_NAME_LIST')}"
EEPROMS_ESCAPED = "${@compose_list(d, 'EEPROM_ESCAPEDFMT', 'EEPROMS_NAME_LIST')}"
ENVFMT = "obmc/eeproms/{0}"
SYSTEMD_ENVIRONMENT_FILE:${PN}:append:s6q := " ${@compose_list(d, 'ENVFMT', 'EEPROMS')}"
TMPL = "obmc-read-eeprom@.service"
TGT = "multi-user.target"
INSTFMT = "obmc-read-eeprom@{0}.service"
FMT = "../${TMPL}:${TGT}.wants/${INSTFMT}"
SYSTEMD_LINK:${PN}:append:s6q := " ${@compose_list(d, 'FMT', 'EEPROMS_ESCAPED')}"
IPMI_FRU_YAML:s6q="${STAGING_DIR_HOST}${datadir}/s6q-yaml-config/ipmi-fru-read.yaml"
IPMI_FRU_PROP_YAML:s6q="${STAGING_DIR_HOST}${datadir}/s6q-yaml-config/ipmi-extra-properties.yaml"
@@ -0,0 +1,9 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
DEPENDS:append:s6q = " s6q-yaml-config"
EXTRA_OEMESON:append:s6q = " \
-Dfru-yaml-gen=${STAGING_DIR_HOST}${datadir}/s6q-yaml-config/ipmi-fru-read.yaml \
-Dsensor-yaml-gen=${STAGING_DIR_HOST}${datadir}/s6q-yaml-config/ipmi-sensors.yaml \
-Dinvsensor-yaml-gen=${STAGING_DIR_HOST}${datadir}/s6q-yaml-config/ipmi-inventory-sensors.yaml \
"
@@ -0,0 +1,10 @@
{
"channels": [
{
"type": "me",
"slave-path": "/dev/ipmb-2",
"bmc-addr": 32,
"remote-addr": 44
}
]
}
@@ -0,0 +1,8 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
SRC_URI:append:s6q = " file://s6q-ipmb-channels.json"
do_install:append:s6q(){
install -m 0644 -D ${WORKDIR}/s6q-ipmb-channels.json \
${D}/${datadir}/ipmbbridge/ipmb-channels.json
}
@@ -0,0 +1 @@
RMCPP_IFACE:s6q = "${@bb.utils.contains("MACHINE_FEATURES", "bonding", "bond0", "${DEFAULT_RMCPP_IFACE}", d)}"
@@ -0,0 +1,26 @@
{
"leds": [
{
"group" : "bmc_booted",
"members" : [
{
"Name" : "bmc_heartbeat_n",
"Action" : "Blink",
"DutyOn" : 50,
"Period" : 1000
}
]
},
{
"group": "enclosure_identify",
"members": [
{
"Name": "fm_id_led_n",
"Action": "Blink",
"DutyOn": 50,
"Period": 250
}
]
}
]
}
@@ -0,0 +1,9 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
SRC_URI:append:s6q = " file://led-group-config.json"
PACKAGECONFIG:append:s6q = " use-lamp-test"
do_install:append:s6q() {
install -m 0644 ${WORKDIR}/led-group-config.json ${D}${datadir}/phosphor-led-manager/
}
@@ -0,0 +1,14 @@
PACKAGECONFIG:append:s6q = " sync-mac"
FILES:${PN}:append:s6q = " ${datadir}/network/config.json"
do_install:append:s6q() {
install -d ${D}${datadir}/network/
if ${@bb.utils.contains('MACHINE_FEATURES', 'bonding', 'true', 'false', d)};
then
echo '{"bond0":"bmc","eth0":"bmc","eth1":"bmc"}' \
> ${D}${datadir}/network/config.json
else
echo '{"eth0":"bmc"}' > ${D}${datadir}/network/config.json
fi
}
@@ -0,0 +1 @@
PACKAGECONFIG:append:s6q = " log-threshold log-watchdog send-to-logger log-alarm"
@@ -0,0 +1,88 @@
[
{
"Desc": {
"Name": "Temp_CPU0",
"SensorType": "temperature",
"MaxValue": 127.0,
"MinValue": -128.0
},
"Threshold": {
"CriticalHigh": 99,
"WarningHigh": 91
},
"Associations":
[
[
"chassis",
"all_sensors",
"/xyz/openbmc_project/inventory/system/board/S6Q_MB"
]
],
"Params":
{
"DbusParam":
[
{
"ParamName": "T0",
"Desc":
{
"Name": "DTS_CPU0",
"SensorType": "temperature"
}
},
{
"ParamName": "T1",
"Desc":
{
"Name": "Die_CPU0",
"SensorType": "temperature"
}
}
]
},
"Expression": "max(0,(T0 == T0) ? T0 : NULL,(T1 == T1) ? T1 : NULL)"
},
{
"Desc": {
"Name": "Temp_CPU1",
"SensorType": "temperature",
"MaxValue": 127.0,
"MinValue": -128.0
},
"Threshold": {
"CriticalHigh": 99,
"WarningHigh": 91
},
"Associations":
[
[
"chassis",
"all_sensors",
"/xyz/openbmc_project/inventory/system/board/S6Q_MB"
]
],
"Params":
{
"DbusParam":
[
{
"ParamName": "T2",
"Desc":
{
"Name": "DTS_CPU1",
"SensorType": "temperature"
}
},
{
"ParamName": "T3",
"Desc":
{
"Name": "Die_CPU1",
"SensorType": "temperature"
}
}
]
},
"Expression": "max(0,(T2 == T2) ? T2 : NULL,(T3 == T3) ? T3 : NULL)"
}
]
@@ -0,0 +1,7 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
SRC_URI:append:s6q = " file://virtual_sensor_config.json "
do_install:append:s6q() {
install -m 0644 -D ${WORKDIR}/virtual_sensor_config.json ${D}${datadir}/phosphor-virtual-sensor/
}
@@ -0,0 +1,24 @@
# Chassis Control Capabilities set defaut value
/xyz/openbmc_project/control/chassis_capabilities:
- Interface: xyz.openbmc_project.Control.ChassisCapabilities
Properties:
CapabilitiesFlags:
Default: 1
ChassisIntrusionEnabled:
Default: 'true'
ChassisFrontPanelLockoutEnabled:
Default: 'false'
ChassisNMIEnabled:
Default: 'false'
ChassisPowerInterlockEnabled:
Default: 'false'
FRUDeviceAddress:
Default: 32
SDRDeviceAddress:
Default: 32
SELDeviceAddress:
Default: 32
SMDeviceAddress:
Default: 32
BridgeDeviceAddress:
Default: 32
@@ -0,0 +1,5 @@
/xyz/openbmc_project/control/host0/power_restore_policy:
- Interface: xyz.openbmc_project.Control.Power.RestorePolicy
Properties:
PowerRestorePolicy:
Default: RestorePolicy::Policy::Restore
@@ -0,0 +1,7 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
SRC_URI:append:s6q = " file://chassis-capabilities.override.yml \
file://power-policy-set-default.override.yml \
"
PACKAGECONFIG:append:s6q = " boot_type"
@@ -0,0 +1,9 @@
[Unit]
Description=Power Cycle Host Server
After=xyz.openbmc_project.Chassis.Control.Power.service
[Service]
Type=oneshot
ExecStart=busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.PowerCycle
ExecStart=busctl set-property xyz.openbmc_project.Control.Host.RestartCause /xyz/openbmc_project/control/host0/restart_cause xyz.openbmc_project.Control.Host.RestartCause RequestedRestartCause s xyz.openbmc_project.State.Host.RestartCause.WatchdogTimer
SyslogIdentifier=phosphor-watchdog
@@ -0,0 +1,8 @@
[Unit]
Description=Shutdown Host Server
After=xyz.openbmc_project.Chassis.Control.Power.service
[Service]
Type=oneshot
ExecStart=busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.Off
SyslogIdentifier=phosphor-watchdog
@@ -0,0 +1,9 @@
[Unit]
Description=Reset Host Server
After=xyz.openbmc_project.Chassis.Control.Power.service
[Service]
Type=oneshot
ExecStart=busctl set-property xyz.openbmc_project.State.Host /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host RequestedHostTransition s xyz.openbmc_project.State.Host.Transition.ForceWarmReboot
ExecStart=busctl set-property xyz.openbmc_project.Control.Host.RestartCause /xyz/openbmc_project/control/host0/restart_cause xyz.openbmc_project.Control.Host.RestartCause RequestedRestartCause s xyz.openbmc_project.State.Host.RestartCause.WatchdogTimer
SyslogIdentifier=phosphor-watchdog
@@ -0,0 +1,16 @@
[Unit]
Description=Phosphor Watchdog
[Service]
ExecStart=/usr/bin/env phosphor-watchdog --continue --service=xyz.openbmc_project.Watchdog \
--path=/xyz/openbmc_project/watchdog/host0 \
--action_target=xyz.openbmc_project.State.Watchdog.Action.HardReset=phosphor-watchdog-host-reset.service \
--action_target=xyz.openbmc_project.State.Watchdog.Action.PowerOff=phosphor-watchdog-host-poweroff.service \
--action_target=xyz.openbmc_project.State.Watchdog.Action.PowerCycle=phosphor-watchdog-host-powercycle.service \
SyslogIdentifier=phosphor-watchdog
BusName=xyz.openbmc_project.Watchdog
Type=dbus
[Install]
WantedBy=basic.target
@@ -0,0 +1,8 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
SYSTEMD_OVERRIDE:${PN}:remove:s6q = "poweron.conf:phosphor-watchdog@poweron.service.d/poweron.conf"
SYSTEMD_SERVICE:${PN}:s6q = " phosphor-watchdog.service \
phosphor-watchdog-host-reset.service \
phosphor-watchdog-host-poweroff.service \
phosphor-watchdog-host-powercycle.service \
"
@@ -0,0 +1,13 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
FILESEXTRAPATHS:append := "${THISDIR}/${PN}:"
SRC_URI:append = " file://00-bmc-usb0.network"
FILES:${PN}:append = " ${sysconfdir_native}/systemd/network/00-bmc-usb0.network"
do_install() {
install -d ${D}${sysconfdir_native}/systemd/network/
install -m 0644 ${WORKDIR}/00-bmc-usb0.network \
${D}${sysconfdir_native}/systemd/network
}
@@ -0,0 +1,8 @@
[Match]
Name=usb0
[Network]
DHCP=false
LinkLocalAddressing=no
IPv6AcceptRA=false
[Address]
Address=169.254.0.17/20
@@ -0,0 +1,50 @@
SUMMARY = "OpenBMC for S6Q - Applications"
PR = "r1"
inherit packagegroup
PROVIDES = "${PACKAGES}"
PACKAGES = " \
${PN}-chassis \
${PN}-fans \
${PN}-flash \
${PN}-system \
"
PROVIDES += " virtual/obmc-chassis-mgmt"
PROVIDES += " virtual/obmc-fan-mgmt"
PROVIDES += " virtual/obmc-flash-mgmt"
PROVIDES += " virtual/obmc-system-mgmt"
RPROVIDES:${PN}-chassis = " virtual-obmc-chassis-mgmt"
RPROVIDES:${PN}-fans = " virtual-obmc-fan-mgmt"
RPROVIDES:${PN}-flash = " virtual-obmc-flash-mgmt"
RPROVIDES:${PN}-system = " virtual-obmc-system-mgmt"
SUMMARY:${PN}-chassis = "S6Q Chassis"
RDEPENDS:${PN}-chassis = " \
x86-power-control \
"
SUMMARY:${PN}-fans = "S6Q Fans"
RDEPENDS:${PN}-fans = " \
phosphor-pid-control \
"
SUMMARY:${PN}-flash = "S6Q Flash"
RDEPENDS:${PN}-flash = " \
phosphor-software-manager \
"
SUMMARY_${PN}-system = "S6Q System"
RDEPENDS:${PN}-system = " \
phosphor-ipmi-ipmb \
phosphor-hostlogger \
phosphor-sel-logger \
ipmitool \
phosphor-post-code-manager \
phosphor-host-postd \
phosphor-watchdog \
phosphor-virtual-sensor \
"
@@ -0,0 +1,63 @@
{
"gpio_configs":[
{
"Name" : "IdButton",
"LineName" : "FP_ID_BTN_SCM_N",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "PostComplete",
"LineName" : "FM_BIOS_POST_CMPLT_BMC_N",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "PowerButton",
"LineName" : "SYS_BMC_PWRBTN_R_N",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "PowerOk",
"LineName" : "PWRGD_PS_PWROK_PLD_R",
"Type" : "GPIO",
"Polarity" : "ActiveHigh"
},
{
"Name" : "PowerOut",
"LineName" : "SYS_PWRBTN_N",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "ResetButton",
"LineName" : "FP_RST_BTN_N",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "ResetOut",
"LineName" : "FM_BMC_RSTBTN_OUT_N",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "NMIOut",
"LineName" : "IRQ_BMC_PCH_NMI_R",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
}
],
"timing_configs":{
"PowerPulseMs": 200,
"ForceOffPulseMs": 15000,
"ResetPulseMs": 5500,
"PowerCycleMs": 10000,
"SioPowerGoodWatchdogMs": 1000,
"PsPowerOKWatchdogMs": 8000,
"GracefulPowerOffS": 300,
"WarmResetCheckMs": 500,
"PowerOffSaveMs": 7000
}
}
@@ -0,0 +1,7 @@
FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
SRC_URI:append:s6q = " file://power-config-host0.json"
do_install:append:s6q() {
install -m 0755 -d ${D}/${datadir}/${BPN}
install -m 0644 ${WORKDIR}/power-config-host0.json ${D}${datadir}/${BPN}
}