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
+17
View File
@@ -0,0 +1,17 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+175
View File
@@ -0,0 +1,175 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
+13
View File
@@ -0,0 +1,13 @@
Full Description:
Different components of meta-amd are under different licenses (a mix
of MIT and Apache-2.0). Please see:
COPYING.Apache-2.0
COPYING.MIT (MIT)
All metadata is MIT licensed unless otherwise stated. Source code
included in tree for individual recipes is under the LICENSE stated in
the associated recipe (.bb file) unless otherwise stated.
License information for any other files is either explicitly stated
or defaults to Apache-2.0.
+2
View File
@@ -0,0 +1,2 @@
owners:
- supreeth.venkatesh@amd.com
+20
View File
@@ -0,0 +1,20 @@
# meta-amd
The meta-amd project consists of collection of BSP and distro layers for AMD customer reference server platforms.
This repository contains a set of distro policy for AMD customer reference server platforms:
conf/
classes/
recipes-*/
Subsequent description applies to the distro policy for AMD customer reference server platforms only in
conf, classes, and recipes-*, for description of the BSP layers consult the
README files there.
Dependencies
============
This layer depends on:
URI: https://github.com/openbmc/meta-phosphor
branch: master
+10
View File
@@ -0,0 +1,10 @@
# 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 += "amd-layer"
BBFILE_PATTERN_amd-layer = "^${LAYERDIR}/"
LAYERSERIES_COMPAT_amd-layer = "langdale mickledore"
+23
View File
@@ -0,0 +1,23 @@
MACHINE_FEATURES += "\
obmc-bmc-state-mgmt \
obmc-chassis-state-mgmt \
obmc-host-state-mgmt \
obmc-phosphor-chassis-mgmt \
obmc-host-ipmi \
obmc-phosphor-fan-mgmt \
obmc-phosphor-flash-mgmt \
"
VIRTUAL-RUNTIME_obmc-host-state-manager ?= "x86-power-control"
VIRTUAL-RUNTIME_obmc-chassis-state-manager ?= "x86-power-control"
VIRTUAL-RUNTIME_obmc-sensors-hwmon ?= "dbus-sensors"
VIRTUAL-RUNTIME_obmc-inventory-manager = "entity-manager"
PREFERRED_PROVIDER_virtual/obmc-inventory-data = "entity-manager"
PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-amd-apps"
PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-amd-apps"
PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-amd-apps"
PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs"
PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-amd-apps"
OVERRIDES .= ":amd"
+12
View File
@@ -0,0 +1,12 @@
# 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 += "daytonax-layer"
BBFILE_PATTERN_daytonax-layer = "^${LAYERDIR}/"
BBFILE_PRIORITY_daytonax-layer = "6"
LAYERSERIES_COMPAT_daytonax-layer = "langdale mickledore"
@@ -0,0 +1,15 @@
KMACHINE = "aspeed"
KERNEL_DEVICETREE = "${KMACHINE}-bmc-amd-${MACHINE}.dtb"
UBOOT_DEVICETREE = "ast2500-evb"
UBOOT_MACHINE = "evb-ast2500_defconfig"
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
require conf/machine/include/amd.inc
SERIAL_CONSOLES = "115200;ttyS4"
FLASH_SIZE = "32768"
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "daytonax-led-manager-config-native"
@@ -0,0 +1,17 @@
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "8"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
##OEROOT##/meta \
##OEROOT##/meta-openembedded/meta-oe \
##OEROOT##/meta-openembedded/meta-networking \
##OEROOT##/meta-openembedded/meta-python \
##OEROOT##/meta-phosphor \
##OEROOT##/meta-aspeed \
##OEROOT##/meta-amd \
##OEROOT##/meta-amd/meta-daytonax \
"
@@ -0,0 +1,2 @@
Common targets are:
obmc-phosphor-image
@@ -0,0 +1,236 @@
#
# 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
#
# You need to select a specific machine to target the build with. There are a selection
# of emulated machines available which can boot and run in the QEMU emulator:
#
#MACHINE ?= "qemuarm"
#MACHINE ?= "qemuarm64"
#MACHINE ?= "qemumips"
#MACHINE ?= "qemuppc"
#MACHINE ?= "qemux86"
#MACHINE ?= "qemux86-64"
#
# There are also the following hardware board target machines included for
# demonstration purposes:
#
#MACHINE ?= "beaglebone"
#MACHINE ?= "genericx86"
#MACHINE ?= "genericx86-64"
#MACHINE ?= "mpc8315e-rdb"
#MACHINE ?= "edgerouter"
#
# This sets the default machine to be qemux86 if no other machine is selected:
MACHINE ??= "daytonax"
#
# 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/ADT target architecture
#
# This variable specifies the architecture to build SDK/ADT 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 and x86_64
#SDKMACHINE ?= "i686"
SANITY_TESTED_DISTROS:append ?= " RedHatEnterpriseWorkstation-6.*"
#
# 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)
# "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, exmap, 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
# - 'image-swab' to perform host system intrusion detection
# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
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. To
# enable this uncomment this line. See classes/testimage(-auto).bbclass for
# further details.
#TEST_IMAGE = "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 that 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
# 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"
#
# Qemu configuration
#
# By default qemu will build with a builtin VNC server where graphical output can be
# seen. The two lines below enable the SDL backend too. This assumes there is a
# libsdl library available on your build system.
PACKAGECONFIG:append:pn-qemu-native = " sdl"
PACKAGECONFIG:append:pn-nativesdk-qemu = " sdl"
#ASSUME_PROVIDED += "libsdl-native"
# 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"
@@ -0,0 +1,9 @@
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_SBTSI=y
CONFIG_I2C_ASPEED=y
CONFIG_SENSORS_ISL68137=y
CONFIG_EEPROM_AT24=y
CONFIG_SENSORS_INA2XX=y
CONFIG_SENSORS_TPS53679=y
CONFIG_SENSORS_JC42=y
CONFIG_I2C_MUX_LTC4306=y
@@ -0,0 +1,4 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/linux-aspeed:"
SRC_URI += "file://daytonax.cfg \
"
@@ -0,0 +1,33 @@
SUMMARY = "YAML configuration for Daytonax"
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://daytonax-ipmi-fru.yaml \
file://daytonax-ipmi-fru-properties.yaml \
file://daytonax-ipmi-sensors.yaml \
"
S = "${WORKDIR}"
do_install() {
cat daytonax-ipmi-fru.yaml > fru-read.yaml
install -m 0644 -D daytonax-ipmi-fru-properties.yaml \
${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
install -m 0644 -D fru-read.yaml \
${D}${datadir}/${BPN}/ipmi-fru-read.yaml
install -m 0644 -D daytonax-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,140 @@
/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/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/cpu1:
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/dimm10:
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/dimm11:
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/dimm12:
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/dimm13:
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/dimm14:
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/dimm15:
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/dimm4:
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/dimm5:
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/dimm6:
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/dimm7:
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/dimm8:
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/dimm9:
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,582 @@
0:
/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
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: FRU File ID
IPMIFruSection: Board
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/motherboard/cpu1:
entityID: 3
entityInstance: 2
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
Value: false
3:
/system:
entityID: 7
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
Model:
IPMIFruProperty: Part Number
IPMIFruSection: Chassis
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Chassis
/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
4:
/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
5:
/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
6:
/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
7:
/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
8:
/system/chassis/motherboard/dimm4:
entityID: 32
entityInstance: 5
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
9:
/system/chassis/motherboard/dimm5:
entityID: 32
entityInstance: 6
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
10:
/system/chassis/motherboard/dimm6:
entityID: 32
entityInstance: 7
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
11:
/system/chassis/motherboard/dimm7:
entityID: 32
entityInstance: 8
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
12:
/system/chassis/motherboard/dimm8:
entityID: 32
entityInstance: 9
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
13:
/system/chassis/motherboard/dimm9:
entityID: 32
entityInstance: 10
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/dimm10:
entityID: 32
entityInstance: 11
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
15:
/system/chassis/motherboard/dimm11:
entityID: 32
entityInstance: 12
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
16:
/system/chassis/motherboard/dimm12:
entityID: 32
entityInstance: 13
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
17:
/system/chassis/motherboard/dimm13:
entityID: 32
entityInstance: 14
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
18:
/system/chassis/motherboard/dimm14:
entityID: 32
entityInstance: 15
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
19:
/system/chassis/motherboard/dimm15:
entityID: 32
entityInstance: 16
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
20:
/system/chassis/motherboard/fan1:
entityID: 29
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
21:
/system/chassis/motherboard/fan2:
entityID: 29
entityInstance: 2
interfaces:
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
@@ -0,0 +1,724 @@
1:
sensorType: 0x01
entityID: 0x03
path: /xyz/openbmc_project/sensors/temperature/CPU0
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
scale: 0
offsetB: 0
bExp: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
2:
sensorType: 0x01
entityID: 0x03
path: /xyz/openbmc_project/sensors/temperature/CPU1
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
scale: 0
offsetB: 0
bExp: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
3:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS0_0
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
4:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS0_1
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
5:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS1_0
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
6:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS1_1
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
7:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS2_0
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
8:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS2_1
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
9:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS3_0
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
10:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS3_1
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
11:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS4_0
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
12:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS4_1
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
13:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS5_0
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
14:
entityID: 0x1D
sensorType: 0x04
path: /xyz/openbmc_project/sensors/fan_tach/Fan_SYS5_1
sensorReadingType: 0x01
multiplierM: 40
offsetB: 0
bExp: 0
unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
scale: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0x0:
type: double
15:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P12V
sensorName: P12V
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 60
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
16:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P3V3
sensorName: P3V3
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 15
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
17:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P1V8_P0
sensorName: P1V8_P0
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 10
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
18:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P1V8_P1
sensorName: P1V8_P1
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 10
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
19:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P5V
sensorName: P5V
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 30
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
20:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P12V_AUX
sensorName: P12V_AUX
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 60
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
21:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P1V15_AUX
sensorName: P1V15_AUX
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 8
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
22:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P3V_BAT
sensorName: P3V_BAT
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 15
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
23:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P0_VDDCR_CPU
sensorName: P0_VDDCR_CPU
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 8
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
24:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P1_VDDCR_CPU
sensorName: P1_VDDCR_CPU
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 8
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
25:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P0_VDDCR_SOC
sensorName: P0_VDDCR_SOC
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 6
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
26:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_P1_VDDCR_SOC
sensorName: P1_VDDCR_SOC
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 6
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
27:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_PVDDIO_ABCD
sensorName: PVDDIO_ABCD
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 8
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
28:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_PVDDIO_EFGH
sensorName: PVDDIO_EFGH
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 8
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
29:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_PVDDIO_IJKL
sensorName: PVDDIO_IJKL
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 8
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
30:
sensorType: 0x02
entityID: 0x07
path: /xyz/openbmc_project/sensors/voltage/ADC_PVDDIO_MNOP
sensorName: PVDDIO_MNOP
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
multiplierM: 8
scale: 0
offsetB: 0
bExp: 0
rExp: -3
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
31:
sensorType: 0x01
entityID: 0x20
path: /xyz/openbmc_project/sensors/temperature/Outlet1_Temp1
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
scale: 0
offsetB: 0
bExp: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
32:
sensorType: 0x01
entityID: 0x20
path: /xyz/openbmc_project/sensors/temperature/Outlet1_Temp2
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
scale: 0
offsetB: 0
bExp: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
33:
sensorType: 0x01
entityID: 0x20
path: /xyz/openbmc_project/sensors/temperature/MB_TEMP1
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
scale: 0
offsetB: 0
bExp: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
34:
sensorType: 0x01
entityID: 0x20
path: /xyz/openbmc_project/sensors/temperature/MB_TEMP2
sensorReadingType: 0x01
unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
scale: 0
offsetB: 0
bExp: 0
rExp: 0
mutability: Mutability::Read
serviceInterface: org.freedesktop.DBus.Properties
readingType: readingData
interfaces:
xyz.openbmc_project.Sensor.Value:
Value:
Offsets:
0xFF:
type: double
@@ -0,0 +1,3 @@
{
"buses": [0, 1, 2, 4, 5, 6, 7, 8, 12]
}
@@ -0,0 +1,403 @@
{
"Exposes": [
{
"Index": 0,
"BindConnector": "Fan SYS0 connector",
"MaxReading": 6000,
"Name": "Fan_SYS0_0",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 1,
"BindConnector": "Fan SYS0 connector",
"MaxReading": 6000,
"Name": "Fan_SYS0_1",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 2,
"BindConnector": "Fan SYS1 connector",
"MaxReading": 6000,
"Name": "Fan_SYS1_0",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 3,
"BindConnector": "Fan SYS1 connector",
"MaxReading": 6000,
"Name": "Fan_SYS1_1",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 4,
"BindConnector": "Fan SYS2 connector",
"MaxReading": 6000,
"Name": "Fan_SYS2_0",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 5,
"BindConnector": "Fan SYS2 connector",
"MaxReading": 6000,
"Name": "Fan_SYS2_1",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 6,
"BindConnector": "Fan SYS3 connector",
"MaxReading": 6000,
"Name": "Fan_SYS3_0",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 7,
"BindConnector": "Fan SYS3 connector",
"MaxReading": 6000,
"Name": "Fan_SYS3_1",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 8,
"BindConnector": "Fan SYS4 connector",
"MaxReading": 6000,
"Name": "Fan_SYS4_0",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 9,
"BindConnector": "Fan SYS4 connector",
"MaxReading": 6000,
"Name": "Fan_SYS4_1",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 10,
"BindConnector": "Fan SYS5 connector",
"MaxReading": 6000,
"Name": "Fan_SYS5_0",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 11,
"BindConnector": "Fan SYS5 connector",
"MaxReading": 6000,
"Name": "Fan_SYS5_1",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
}
],
"Name": "AMD DaytonaX Chassis",
"Probe": "FOUND('AMD DaytonaX Baseboard')",
"Type": "Chassis"
}
@@ -0,0 +1,12 @@
FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
SRC_URI:append = " file://daytonax-baseboard.json \
file://daytonax-chassis.json \
"
do_install:append() {
rm -f ${D}${datadir}/entity-manager/configurations/*.json
install -d ${D}${datadir}/entity-manager/configurations
install -m 0444 ${WORKDIR}/daytonax-baseboard.json ${D}${datadir}/entity-manager/configurations
install -m 0444 ${WORKDIR}/daytonax-chassis.json ${D}${datadir}/entity-manager/configurations
}
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:daytonax := "${THISDIR}/${PN}:"
@@ -0,0 +1,178 @@
{
"0" : {
"name" : "RESERVED",
"is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "reserved",
"protocol_type" : "na",
"session_supported" : "session-less",
"is_ipmi" : true
}
},
"1" : {
"name" : "eth0",
"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" : "RESERVED",
"is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "reserved",
"protocol_type" : "na",
"session_supported" : "session-less",
"is_ipmi" : true
}
},
"3" : {
"name" : "RESERVED",
"is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "reserved",
"protocol_type" : "na",
"session_supported" : "session-less",
"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" : "RESERVED",
"is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "reserved",
"protocol_type" : "na",
"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,11 @@
{
"inlet": [
],
"baseboard": [
],
"cpu": [
]
}
@@ -0,0 +1,4 @@
DEPENDS:append:daytonax = " daytonax-yaml-config"
IPMI_FRU_YAML:daytonax="${STAGING_DIR_HOST}${datadir}/daytonax-yaml-config/ipmi-fru-read.yaml"
IPMI_FRU_PROP_YAML:daytonax="${STAGING_DIR_HOST}${datadir}/daytonax-yaml-config/ipmi-extra-properties.yaml"
@@ -0,0 +1,10 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/phosphor-ipmi-host:"
DEPENDS:append:daytonax = " daytonax-yaml-config"
PACKAGECONFIG:remove = " i2c-allowlist"
EXTRA_OEMESON:daytonax = " \
-Dsensor-yaml-gen=${STAGING_DIR_HOST}${datadir}/daytonax-yaml-config/ipmi-sensors.yaml \
-Dfru-yaml-gen=${STAGING_DIR_HOST}${datadir}/daytonax-yaml-config/ipmi-fru-read.yaml \
"
@@ -0,0 +1,19 @@
SUMMARY = "Phosphor LED Group Management for DaytonaX"
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}"
# Overwrite the example led layout yaml file prior
# to building the phosphor-led-manager package
do_install() {
SRC=${S}
DEST=${D}${datadir}/phosphor-led-manager
install -D ${SRC}/led.yaml ${DEST}/led.yaml
}
@@ -0,0 +1,199 @@
BmcBooted:
PowerOn:
enclosure_fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
enclosure_identify:
led-identify:
Action: 'Blink'
DutyOn: 50
Period: 1000
lamp_test:
led-fault:
Action: 'Blink'
DutyOn: 50
Period: 1000
Priority: 'Blink'
led-identify:
Action: 'On'
# All kinds of faults using the same action as enclosure_fault
Fan0Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan1Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan2Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan3Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan4Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan5Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan6Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan7Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
bmcFault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
cpu0Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
cpu1Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm0Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm1Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm2Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm3Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm4Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm5Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm6Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm7Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm8Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm9Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm10Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm11Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm12Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm13Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm14Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm15Fault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
motherboardFault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
systemFault:
led-fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
@@ -0,0 +1,8 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/dbus-sensors:"
PACKAGECONFIG:daytonax = "\
hwmontempsensor \
fansensor \
psusensor \
adcsensor \
"
@@ -0,0 +1,17 @@
/xyz/openbmc_project/ipmi/sol/eth0:
- Interface: xyz.openbmc_project.Ipmi.SOL
Properties:
AccumulateIntervalMS:
Default: 1
Enable:
Default: 'true'
Privilege:
Default: 4
Progress:
Default: 0
RetryCount:
Default: 7
RetryIntervalMS:
Default: 100
Threshold:
Default: 1
@@ -0,0 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
PACKAGECONFIG:append:daytonax = " boot_type"
SRC_URI += " file://sol-default.override.yml"
@@ -0,0 +1,64 @@
{
"gpio_configs":[
{
"Name" : "IdButton",
"LineName" : "id-button",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "NMIOut",
"LineName" : "ASSERT_NMI_BTN",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "PostComplete",
"LineName" : "power-ok",
"Type" : "GPIO",
"Polarity" : "ActiveHigh"
},
{
"Name" : "PowerButton",
"LineName" : "power-button",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "PowerOk",
"LineName" : "power-good",
"Type" : "GPIO",
"Polarity" : "ActiveHigh"
},
{
"Name" : "PowerOut",
"LineName" : "power-control",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "ResetButton",
"LineName" : "reset-button",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "ResetOut",
"LineName" : "reset-control",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
}
],
"timing_configs":{
"PowerPulseMs": 200,
"ForceOffPulseMs": 15000,
"ResetPulseMs": 500,
"PowerCycleMs": 5000,
"SioPowerGoodWatchdogMs": 1000,
"PsPowerOKWatchdogMs": 8000,
"GracefulPowerOffS": 300,
"WarmResetCheckMs": 500,
"PowerOffSaveMs": 7000
}
}
@@ -0,0 +1,9 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://power-config-host0.json \
"
do_install:append() {
install -d ${D}/${datadir}/${PN}
install -m 0644 ${WORKDIR}/power-config-host0.json ${D}/${datadir}/${PN}
}
+2
View File
@@ -0,0 +1,2 @@
recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
recipes-phosphor - Phosphor OpenBMC applications and configuration
+12
View File
@@ -0,0 +1,12 @@
# 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 += "ethanolx-layer"
BBFILE_PATTERN_ethanolx-layer = "^${LAYERDIR}/"
BBFILE_PRIORITY_ethanolx-layer = "6"
LAYERSERIES_COMPAT_ethanolx-layer = "langdale mickledore"
@@ -0,0 +1,15 @@
KMACHINE = "aspeed"
KERNEL_DEVICETREE = "${KMACHINE}-bmc-amd-${MACHINE}.dtb"
UBOOT_DEVICETREE = "ast2500-evb"
UBOOT_MACHINE = "evb-ast2500_defconfig"
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
require conf/machine/include/amd.inc
SERIAL_CONSOLES = "115200;ttyS4"
FLASH_SIZE = "32768"
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "ethanolx-led-manager-config-native"
@@ -0,0 +1,17 @@
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "8"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
##OEROOT##/meta \
##OEROOT##/meta-openembedded/meta-oe \
##OEROOT##/meta-openembedded/meta-networking \
##OEROOT##/meta-openembedded/meta-python \
##OEROOT##/meta-phosphor \
##OEROOT##/meta-aspeed \
##OEROOT##/meta-amd \
##OEROOT##/meta-amd/meta-ethanolx \
"
@@ -0,0 +1,2 @@
Common targets are:
obmc-phosphor-image
@@ -0,0 +1,236 @@
#
# 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
#
# You need to select a specific machine to target the build with. There are a selection
# of emulated machines available which can boot and run in the QEMU emulator:
#
#MACHINE ?= "qemuarm"
#MACHINE ?= "qemuarm64"
#MACHINE ?= "qemumips"
#MACHINE ?= "qemuppc"
#MACHINE ?= "qemux86"
#MACHINE ?= "qemux86-64"
#
# There are also the following hardware board target machines included for
# demonstration purposes:
#
#MACHINE ?= "beaglebone"
#MACHINE ?= "genericx86"
#MACHINE ?= "genericx86-64"
#MACHINE ?= "mpc8315e-rdb"
#MACHINE ?= "edgerouter"
#
# This sets the default machine to be qemux86 if no other machine is selected:
MACHINE ??= "ethanolx"
#
# 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/ADT target architecture
#
# This variable specifies the architecture to build SDK/ADT 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 and x86_64
#SDKMACHINE ?= "i686"
SANITY_TESTED_DISTROS:append ?= " RedHatEnterpriseWorkstation-6.*"
#
# 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)
# "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, exmap, 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
# - 'image-swab' to perform host system intrusion detection
# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
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. To
# enable this uncomment this line. See classes/testimage(-auto).bbclass for
# further details.
#TEST_IMAGE = "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 that 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
# 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"
#
# Qemu configuration
#
# By default qemu will build with a builtin VNC server where graphical output can be
# seen. The two lines below enable the SDL backend too. This assumes there is a
# libsdl library available on your build system.
PACKAGECONFIG:append:pn-qemu-native = " sdl"
PACKAGECONFIG:append:pn-nativesdk-qemu = " sdl"
#ASSUME_PROVIDED += "libsdl-native"
# 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"
@@ -0,0 +1 @@
RDEPENDS:${PN}-system:append:ethanolx = " ip-to-fpga"
@@ -0,0 +1,5 @@
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_SBTSI=y
CONFIG_I2C_ASPEED=y
CONFIG_SENSORS_ISL68137=y
CONFIG_EEPROM_AT24=y
@@ -0,0 +1,2 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/linux-aspeed:"
SRC_URI += "file://ethanolx.cfg"
@@ -0,0 +1,3 @@
{
"buses": [0, 1, 2, 4, 5, 6, 7, 8]
}
@@ -0,0 +1,271 @@
{
"Exposes": [
{
"Index": 0,
"BindConnector": "P0 Fan connector",
"MaxReading": 6000,
"Name": "P0_Fan",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 1,
"BindConnector": "P1 Fan connector",
"MaxReading": 6000,
"Name": "P1_Fan",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 2,
"BindConnector": "SYS FAN1 connector",
"MaxReading": 6000,
"Name": "SYS_FAN1",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 3,
"BindConnector": "SYS FAN2 connector",
"MaxReading": 6000,
"Name": "SYS_FAN2",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 4,
"BindConnector": "SYS FAN3 connector",
"MaxReading": 6000,
"Name": "SYS_FAN3",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 5,
"BindConnector": "SYS FAN4 connector",
"MaxReading": 6000,
"Name": "SYS_FAN4",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 6,
"BindConnector": "SYS FAN5 connector",
"MaxReading": 6000,
"Name": "SYS_FAN5",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
},
{
"Index": 7,
"BindConnector": "SYS FAN6 connector",
"MaxReading": 6000,
"Name": "SYS_FAN6",
"Type": "AspeedFan",
"Thresholds": [
{
"Direction": "less than",
"Name": "lower critical",
"Severity": 1,
"Value": 0
},
{
"Direction": "less than",
"Name": "lower non critical",
"Severity": 0,
"Value": 10
},
{
"Direction": "greater than",
"Name": "upper critical",
"Severity": 1,
"Value": 10000
},
{
"Direction": "greater than",
"Name": "upper non critical",
"Severity": 0,
"Value": 8000
}
]
}
],
"Name": "AMD EthanolX Chassis",
"Probe": "FOUND('AMD EthanolX Baseboard')",
"Type": "Chassis"
}
@@ -0,0 +1,10 @@
FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
SRC_URI:append = " file://ethanolx-baseboard.json \
file://ethanolx-chassis.json"
do_install:append() {
rm -f ${D}${datadir}/entity-manager/configurations/*.json
install -d ${D}${datadir}/entity-manager/configurations
install -m 0444 ${WORKDIR}/ethanolx-baseboard.json ${D}${datadir}/entity-manager/configurations
install -m 0444 ${WORKDIR}/ethanolx-chassis.json ${D}${datadir}/entity-manager/configurations
}
@@ -0,0 +1,33 @@
SUMMARY = "YAML configuration for Ethanolx"
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://ethanolx-ipmi-fru.yaml \
file://ethanolx-ipmi-fru-properties.yaml \
file://ethanolx-ipmi-sensors.yaml \
"
S = "${WORKDIR}"
do_install() {
cat ethanolx-ipmi-fru.yaml > fru-read.yaml
install -m 0644 -D ethanolx-ipmi-fru-properties.yaml \
${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
install -m 0644 -D fru-read.yaml \
${D}${datadir}/${BPN}/ipmi-fru-read.yaml
install -m 0644 -D ethanolx-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,140 @@
/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/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/cpu1:
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/dimm10:
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/dimm11:
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/dimm12:
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/dimm13:
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/dimm14:
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/dimm15:
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/dimm4:
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/dimm5:
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/dimm6:
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/dimm7:
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/dimm8:
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/dimm9:
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,582 @@
0:
/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
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: FRU File ID
IPMIFruSection: Board
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/motherboard/cpu1:
entityID: 3
entityInstance: 2
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
Value: false
3:
/system:
entityID: 7
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
Model:
IPMIFruProperty: Part Number
IPMIFruSection: Chassis
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Chassis
/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
4:
/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
5:
/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
6:
/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
7:
/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
8:
/system/chassis/motherboard/dimm4:
entityID: 32
entityInstance: 5
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
9:
/system/chassis/motherboard/dimm5:
entityID: 32
entityInstance: 6
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
10:
/system/chassis/motherboard/dimm6:
entityID: 32
entityInstance: 7
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
11:
/system/chassis/motherboard/dimm7:
entityID: 32
entityInstance: 8
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
12:
/system/chassis/motherboard/dimm8:
entityID: 32
entityInstance: 9
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
13:
/system/chassis/motherboard/dimm9:
entityID: 32
entityInstance: 10
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/dimm10:
entityID: 32
entityInstance: 11
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
15:
/system/chassis/motherboard/dimm11:
entityID: 32
entityInstance: 12
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
16:
/system/chassis/motherboard/dimm12:
entityID: 32
entityInstance: 13
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
17:
/system/chassis/motherboard/dimm13:
entityID: 32
entityInstance: 14
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
18:
/system/chassis/motherboard/dimm14:
entityID: 32
entityInstance: 15
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
19:
/system/chassis/motherboard/dimm15:
entityID: 32
entityInstance: 16
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
20:
/system/chassis/motherboard/fan1:
entityID: 29
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
21:
/system/chassis/motherboard/fan2:
entityID: 29
entityInstance: 2
interfaces:
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:ethanolx := "${THISDIR}/${PN}:"
@@ -0,0 +1,178 @@
{
"0" : {
"name" : "RESERVED",
"is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "reserved",
"protocol_type" : "na",
"session_supported" : "session-less",
"is_ipmi" : true
}
},
"1" : {
"name" : "eth0",
"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" : "RESERVED",
"is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "reserved",
"protocol_type" : "na",
"session_supported" : "session-less",
"is_ipmi" : true
}
},
"3" : {
"name" : "RESERVED",
"is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "reserved",
"protocol_type" : "na",
"session_supported" : "session-less",
"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" : "RESERVED",
"is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
"medium_type" : "reserved",
"protocol_type" : "na",
"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,11 @@
{
"inlet": [
],
"baseboard": [
],
"cpu": [
]
}
@@ -0,0 +1,4 @@
DEPENDS:append:ethanolx = " ethanolx-yaml-config"
IPMI_FRU_YAML:ethanolx="${STAGING_DIR_HOST}${datadir}/ethanolx-yaml-config/ipmi-fru-read.yaml"
IPMI_FRU_PROP_YAML:ethanolx="${STAGING_DIR_HOST}${datadir}/ethanolx-yaml-config/ipmi-extra-properties.yaml"
@@ -0,0 +1,6 @@
DEPENDS:append:ethanolx = " ethanolx-yaml-config"
EXTRA_OEMESON:ethanolx = " \
-Dsensor-yaml-gen=${STAGING_DIR_HOST}${datadir}/ethanolx-yaml-config/ipmi-sensors.yaml \
-Dfru-yaml-gen=${STAGING_DIR_HOST}${datadir}/ethanolx-yaml-config/ipmi-fru-read.yaml \
"
@@ -0,0 +1,19 @@
SUMMARY = "Phosphor LED Group Management for EthanolX"
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}"
# Overwrite the example led layout yaml file prior
# to building the phosphor-led-manager package
do_install() {
SRC=${S}
DEST=${D}${datadir}/phosphor-led-manager
install -D ${SRC}/led.yaml ${DEST}/led.yaml
}
@@ -0,0 +1,199 @@
BmcBooted:
PowerOn:
enclosure_fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
enclosure_identify:
identify:
Action: 'Blink'
DutyOn: 50
Period: 1000
lamp_test:
fault:
Action: 'Blink'
DutyOn: 50
Period: 1000
Priority: 'Blink'
identify:
Action: 'On'
# All kinds of faults using the same action as enclosure_fault
Fan0Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan1Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan2Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan3Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan4Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan5Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan6Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan7Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
bmcFault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
cpu0Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
cpu1Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm0Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm1Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm2Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm3Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm4Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm5Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm6Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm7Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm8Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm9Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm10Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm11Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm12Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm13Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm14Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm15Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
motherboardFault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
systemFault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
@@ -0,0 +1,6 @@
PACKAGECONFIG:ethanolx = "\
hwmontempsensor \
fansensor \
psusensor \
adcsensor \
"
@@ -0,0 +1,17 @@
/xyz/openbmc_project/ipmi/sol/eth0:
- Interface: xyz.openbmc_project.Ipmi.SOL
Properties:
AccumulateIntervalMS:
Default: 1
Enable:
Default: 'true'
Privilege:
Default: 4
Progress:
Default: 0
RetryCount:
Default: 7
RetryIntervalMS:
Default: 100
Threshold:
Default: 1
@@ -0,0 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
PACKAGECONFIG:append:ethanolx = " boot_type"
SRC_URI += " file://sol-default.override.yml"
@@ -0,0 +1,58 @@
{
"gpio_configs":[
{
"Name" : "IdButton",
"LineName" : "CHASSIS_ID_BTN",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "NMIButton",
"LineName" : "MON_P0_NMI_BTN",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "NMIOut",
"LineName" : "ASSERT_NMI_BTN",
"Type" : "GPIO",
"Polarity" : "ActiveHigh"
},
{
"Name" : "PostComplete",
"LineName" : "MON_PWROK",
"Type" : "GPIO",
"Polarity" : "ActiveHigh"
},
{
"Name" : "PowerButton",
"LineName" : "MON_P0_PWR_BTN",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "PowerOk",
"LineName" : "MON_P0_PWR_GOOD",
"Type" : "GPIO",
"Polarity" : "ActiveHigh"
},
{
"Name" : "PowerOut",
"LineName" : "ASSERT_PWR_BTN",
"Type" : "GPIO",
"Polarity" : "ActiveHigh"
},
{
"Name" : "ResetButton",
"LineName" : "MON_P0_RST_BTN",
"Type" : "GPIO",
"Polarity" : "ActiveLow"
},
{
"Name" : "ResetOut",
"LineName" : "ASSERT_RST_BTN",
"Type" : "GPIO",
"Polarity" : "ActiveHigh"
}
]
}
@@ -0,0 +1,9 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://power-config-host0.json \
"
do_install:append() {
install -d ${D}/${datadir}/${PN}
install -m 0644 ${WORKDIR}/power-config-host0.json ${D}/${datadir}/${PN}
}
+2
View File
@@ -0,0 +1,2 @@
recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
recipes-phosphor - Phosphor OpenBMC applications and configuration
+18
View File
@@ -0,0 +1,18 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/${MACHINE}:"
SUMMARY = "AMD FPGA Register Dump Utility"
DESCRIPTION = "AMD FPGA Register Dump Utility"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5e24678b8d0883d9dfa9e9473069ddd2"
RDEPENDS:${PN} = "bash"
SRCREV = "${AUTOREV}"
SRC_URI = "file://fpgardu.sh"
SRC_URI += "file://LICENSE"
S = "${WORKDIR}"
do_install () {
install -d ${D}${bindir}
install -m 0755 ${S}/fpgardu.sh ${D}${bindir}/
}
@@ -0,0 +1,13 @@
Full Description:
Different components of meta-amd are under different licenses (a mix
of MIT and Apache-2.0). Please see:
COPYING.Apache-2.0
COPYING.MIT (MIT)
All metadata is MIT licensed unless otherwise stated. Source code
included in tree for individual recipes is under the LICENSE stated in
the associated recipe (.bb file) unless otherwise stated.
License information for any other files is either explicitly stated
or defaults to Apache-2.0.
@@ -0,0 +1,277 @@
#!/bin/bash
echo
echo "-----FPGA Daytona<x> CRB Register Dump Utility"
echo
I2CBUS=2
FPGAADDR=0x41
FPGA_REG=1
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo M_ABCD_EVENT_R_BUF_N----- : $(((DATA & 0x80) >> 7))
echo M_EFGH_EVENT_R_BUF_N----- : $(((DATA & 0x40) >> 6))
echo M_IJKL_EVENT_R_BUF_N----- : $(((DATA & 0x20) >> 5))
echo M_MNOP_EVENT_R_BUF_N----- : $(((DATA & 0x10) >> 4))
FPGA_REG=2
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo BMC_NVDIMM_PRSNT_R_N----- : $(((DATA & 0x80) >> 7))
echo FM_ADR_TRIGGER_CPU_BUFF_N : $(((DATA & 0x40) >> 6))
echo FM_BMC_ONCTL_N----------- : $(((DATA & 0x20) >> 5))
echo FM_NVDIMM_EVENT_N-------- : $(((DATA & 0x10) >> 4))
echo P0_FORCE_SELFREFRESH----- : $(((DATA & 0x08) >> 3))
echo P0_NV_SAVE--------------- : $(((DATA & 0x04) >> 2))
echo P1_FORCE_SELFREFRESH----- : $(((DATA & 0x02) >> 1))
echo P1_NV_SAVE--------------- : $((DATA & 0x01))
FPGA_REG=3
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo CPLD_PWR_BTN_N----------- : $(((DATA & 0x80) >> 7))
echo FM_DEBUG_RST_BTN_N------- : $(((DATA & 0x40) >> 6))
echo P0_PWR_BTN_N------------- : $(((DATA & 0x20) >> 5))
echo PWRBTN_CPLD_IN_N--------- : $(((DATA & 0x10) >> 4))
echo FM_PLD_DEBUG_MODE_N------ : $(((DATA & 0x08) >> 3))
echo FM_PLD_DEBUG0------------ : $(((DATA & 0x04) >> 2))
echo FM_PLD_DEBUG1------------ : $(((DATA & 0x02) >> 1))
echo FM_PLD_DEBUG0------------ : $((DATA & 0x01))
FPGA_REG=4
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo FM_PLD_DEBUG3------------ : $(((DATA & 0x80) >> 7))
echo FM_PLD_DEBUG4------------ : $(((DATA & 0x40) >> 6))
echo FM_PLD_DEBUG5------------ : $(((DATA & 0x20) >> 5))
echo FM_PLD_DEBUG6------------ : $(((DATA & 0x10) >> 4))
echo FM_PLD_DEBUG7------------ : $(((DATA & 0x08) >> 3))
echo BP_SIG_CABLE_PRES_R_N---- : $(((DATA & 0x04) >> 2))
echo CPLD_P0_THERMTRIP_N------ : $(((DATA & 0x02) >> 1))
echo CPLD_P1_THERMTRIP_N------ : $((DATA & 0x01))
FPGA_REG=5
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo FM_BMC_CPLD_GPO---------- : $(((DATA & 0x80) >> 7))
echo FM_BMC_READY_N----------- : $(((DATA & 0x40) >> 6))
echo FM_CPLD_BMC_PWRDN_N------ : $(((DATA & 0x20) >> 5))
echo LED_PWR_AMBER_R---------- : $(((DATA & 0x10) >> 4))
echo LED_PWR_GRN_R------------ : $(((DATA & 0x08) >> 3))
echo P0_CORETYPE-------------- : $(((DATA & 0x04) >> 2))
echo P0_CPU_PRESENT_HDT------- : $(((DATA & 0x02) >> 1))
echo P0_CPU_PRESENT_N--------- : $((DATA & 0x01))
FPGA_REG=6
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo P0_NMI_SYNC_FLOOD_N------ : $(((DATA & 0x80) >> 7))
echo P0_PWROK_RST_BUF_EN_N---- : $(((DATA & 0x40) >> 6))
echo P0_SP3R1----------------- : $(((DATA & 0x20) >> 5))
echo P0_SP3R2_R--------------- : $(((DATA & 0x10) >> 4))
echo P1_CORETYPE-------------- : $(((DATA & 0x08) >> 3))
echo P1_CPU_PRESENT_HDT------- : $(((DATA & 0x04) >> 2))
echo P1_CPU_PRESENT_N--------- : $(((DATA & 0x02) >> 1))
echo P1_PWROK_RST_BUF_EN_N---- : $((DATA & 0x01))
FPGA_REG=7
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo P1_SP3R1----------------- : $(((DATA & 0x80) >> 7))
echo P1_SP3R2_R--------------- : $(((DATA & 0x40) >> 6))
echo PSU1_BLADE_EN_R_N-------- : $(((DATA & 0x20) >> 5))
echo SLOT1_CLKREQ_N----------- : $(((DATA & 0x10) >> 4))
echo SLOT1_PRSNT_N------------ : $(((DATA & 0x08) >> 3))
echo SLOT2_CLKREQ_N----------- : $(((DATA & 0x04) >> 2))
echo SLOT2_PRSNT_N------------ : $(((DATA & 0x02) >> 1))
echo SMB_M2_S0_ALERT_N-------- : $((DATA & 0x01))
FPGA_REG=8
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo SMB_M2_S1_ALERT_N-------- : $(((DATA & 0x80) >> 7))
echo FM_BMC_READ_SPD_TEMP----- : $(((DATA & 0x40) >> 6))
echo PWR_ALL_ON_N------------- : $(((DATA & 0x20) >> 5))
echo I2C_SELECT_CPLD---------- : $(((DATA & 0x10) >> 4))
echo CPLD_PWRBRK_N------------ : $(((DATA & 0x08) >> 3))
echo FM_PWRBRK_N-------------- : $(((DATA & 0x04) >> 2))
echo PSU1_THROTTLE_N---------- : $(((DATA & 0x02) >> 1))
echo PSU2_ALERT_EN_N---------- : $((DATA & 0x01))
FPGA_REG=9
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo PSU2_ALERT_N------------- : $(((DATA & 0x80) >> 7))
echo RM_THROTTLE_EN_N----- ----: $(((DATA & 0x40) >> 6))
echo FM_P1V8_AUX_P0_EN-------- : $(((DATA & 0x20) >> 5))
echo FM_P1V8_AUX_P1_EN-------- : $(((DATA & 0x10) >> 4))
echo FM_P1V8_P0_EN------------ : $(((DATA & 0x08) >> 3))
echo FM_P1V8_P1_EN------------ : $(((DATA & 0x04) >> 2))
echo FM_P5V_EN---------------- : $(((DATA & 0x02) >> 1))
echo FM_PS_P12V_EN------------ : $((DATA & 0x01))
FPGA_REG=10
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo FM_PS_P12V_FAN_EN-------- : $(((DATA & 0x80) >> 7))
echo FM_PVDDIO_ABCD_EN-------- : $(((DATA & 0x40) >> 6))
echo FM_PVDDIO_EFGH_EN-------- : $(((DATA & 0x20) >> 5))
echo FM_PVDDIO_IJKL_EN-------- : $(((DATA & 0x10) >> 4))
echo FM_PVDDIO_MNOP_EN-------- : $(((DATA & 0x08) >> 3))
echo FM_PVPP_ABCD_EN---------- : $(((DATA & 0x04) >> 2))
echo FM_PVPP_EFGH_EN---------- : $(((DATA & 0x02) >> 1))
echo FM_PVPP_IJKL_EN---------- : $((DATA & 0x01))
FPGA_REG=11
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo FM_PVPP_MNOP_EN---------- : $(((DATA & 0x80) >> 7))
echo P0_VDDCR_CPU_EN1--------- : $(((DATA & 0x40) >> 6))
echo P0_VDDCR_CPU_PWROK_R----- : $(((DATA & 0x20) >> 5))
echo P0_VDDCR_SOC_AUX_EN------ : $(((DATA & 0x10) >> 4))
echo P0_VDDCR_SOC_EN1--------- : $(((DATA & 0x08) >> 3))
echo P0_VDDCR_SOC_PWROK_R----- : $(((DATA & 0x04) >> 2))
echo P1_VDDCR_CPU_EN1--------- : $(((DATA & 0x02) >> 1))
echo P1_VDDCR_CPU_PWROK_R----- : $((DATA & 0x01))
FPGA_REG=12
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo P1_VDDCR_SOC_AUX_EN------ : $(((DATA & 0x80) >> 7))
echo P1_VDDCR_SOC_EN1--------- : $(((DATA & 0x40) >> 6))
echo P1_VDDCR_SOC_PWROK_R----- : $(((DATA & 0x20) >> 5))
echo PVTT_ABCD_EN------------- : $(((DATA & 0x10) >> 4))
echo PVTT_EFGH_EN------------- : $(((DATA & 0x08) >> 3))
echo PVTT_IJKL_EN------------- : $(((DATA & 0x04) >> 2))
echo PVTT_MNOP_EN------------- : $(((DATA & 0x02) >> 1))
echo VR_P3V3_EN_N------------- : $((DATA & 0x01))
FPGA_REG=13
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo ASSERT_P0_PWROK_L------- : $(((DATA & 0x80) >> 7))
echo ASSERT_P1_PWROK_L------- : $(((DATA & 0x40) >> 6))
echo HDT_HDR_PWROK----------- : $(((DATA & 0x20) >> 5))
echo P0_33_PWROK------------- : $(((DATA & 0x10) >> 4))
echo P0_PWR_GOOD------------- : $(((DATA & 0x08) >> 3))
echo P0_PWRGD_OUT------------ : $(((DATA & 0x04) >> 2))
echo P0_VDDCR_CPU_PG1-------- : $(((DATA & 0x02) >> 1))
echo P0_VDDCR_SOC_PG1-------- : $((DATA & 0x01))
FPGA_REG=14
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo P1_33_PWROK------------- : $(((DATA & 0x80) >> 7))
echo P1_PWR_GOOD------------- : $(((DATA & 0x40) >> 6))
echo P1_PWRGD_OUT------------ : $(((DATA & 0x20) >> 5))
echo P1_VDDCR_CPU_PG1-------- : $(((DATA & 0x10) >> 4))
echo P1_VDDCR_SOC_PG1-------- : $(((DATA & 0x08) >> 3))
echo P3V3_AUX_PWRGD---------- : $(((DATA & 0x04) >> 2))
echo PWRGD_BMC_ALL----------- : $(((DATA & 0x02) >> 1))
echo PWRGD_P0_VDDCR_SOC_AUX-- : $((DATA & 0x01))
FPGA_REG=15
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo PWRGD_P1_VDDCR_SOC_AUX-- : $(((DATA & 0x80) >> 7))
echo PWRGD_P12V-------------- : $(((DATA & 0x40) >> 6))
echo PWRGD_P12V_FAN_R-------- : $(((DATA & 0x20) >> 5))
echo PWRGD_P1V8_AUX_P0------- : $(((DATA & 0x10) >> 4))
echo PWRGD_P1V8_AUX_P1------- : $(((DATA & 0x08) >> 3))
echo PWRGD_P1V8_P0----------- : $(((DATA & 0x04) >> 2))
echo PWRGD_P1V8_P1----------- : $(((DATA & 0x02) >> 1))
echo PWRGD_P3V3_R3----------- : $((DATA & 0x01))
FPGA_REG=16
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo PWRGD_P5V_CPLD_R-------- : $(((DATA & 0x80) >> 7))
echo PWRGD_PVDDIO_ABCD------- : $(((DATA & 0x40) >> 6))
echo PWRGD_PVDDIO_EFGH------- : $(((DATA & 0x20) >> 5))
echo PWRGD_PVDDIO_IJKL------- : $(((DATA & 0x10) >> 4))
echo PWRGD_PVDDIO_MNOP------- : $(((DATA & 0x08) >> 3))
echo PWRGD_PVPP_ABCD--------- : $(((DATA & 0x04) >> 2))
echo PWRGD_PVPP_EFGH--------- : $(((DATA & 0x02) >> 1))
echo PWRGD_PVPP_IJKL--------- : $((DATA & 0x01))
FPGA_REG=17
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo PWRGD_PVPP_MNOP--------- : $(((DATA & 0x80) >> 7))
echo PWRGD_PVTT_ABCD--------- : $(((DATA & 0x40) >> 6))
echo PWRGD_PVTT_EFGH--------- : $(((DATA & 0x20) >> 5))
echo PWRGD_PVTT_IJKL--------- : $(((DATA & 0x10) >> 4))
echo PWRGD_PVTT_MNOP--------- : $(((DATA & 0x08) >> 3))
echo PWRGD_SYS_BMC_PWROK----- : $(((DATA & 0x04) >> 2))
echo P0_SLP_S3_N------------- : $(((DATA & 0x02) >> 1))
echo P0_SLP_S5_N------------- : $((DATA & 0x01))
FPGA_REG=18
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo PSU2_PS_ON_N----------- : $(((DATA & 0x80) >> 7))
echo BMC_PWRCAP_N----------- : $(((DATA & 0x40) >> 6))
echo CPLD_FPH_ALERT_R_N----- : $(((DATA & 0x20) >> 5))
echo FAST_PROCHOT_R_N------- : $(((DATA & 0x10) >> 4))
echo FM_THROTTLE_IN_N------- : $(((DATA & 0x08) >> 3))
echo HSC_GPIO0_PLD_N-------- : $(((DATA & 0x04) >> 2))
echo HSC_GPIO1_PLD_N-------- : $(((DATA & 0x02) >> 1))
echo P0_BMC_PROCHOT_N------- : $((DATA & 0x01))
FPGA_REG=19
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo P1_BMC_PROCHOT_N------- : $(((DATA & 0x80) >> 7))
echo PMB_ALERT_SW_N--------- : $(((DATA & 0x40) >> 6))
echo RM_THROTTLE_SW_N------- : $(((DATA & 0x20) >> 5))
echo RST_PLTRST_DLY--------- : $(((DATA & 0x10) >> 4))
echo UV_ALERT_R_N----------- : $(((DATA & 0x08) >> 3))
echo ASSERT_P0_RESET-------- : $(((DATA & 0x04) >> 2))
echo ASSERT_P1_RESET-------- : $(((DATA & 0x02) >> 1))
echo HDT_HDR_RESET_L-------- : $((DATA & 0x01))
FPGA_REG=20
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo RST_CPLD_BMC_R_N------- : $(((DATA & 0x80) >> 7))
echo RST_CPU_1V8_N---------- : $(((DATA & 0x40) >> 6))
echo RST_KBRST_P0_N--------- : $(((DATA & 0x20) >> 5))
echo RST_P0_3V3_N----------- : $(((DATA & 0x10) >> 4))
echo RST_P0_PE0_N----------- : $(((DATA & 0x08) >> 3))
echo RST_P0_PE1_N----------- : $(((DATA & 0x04) >> 2))
echo RST_P0_PE2_N----------- : $(((DATA & 0x02) >> 1))
echo RST_P0_PE3_N,---------- : $((DATA & 0x01))
FPGA_REG=21
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo RST_P0_SASHD_0_R_N----- : $(((DATA & 0x80) >> 7))
echo RST_P0_SASHD_1_R_N----- : $(((DATA & 0x40) >> 6))
echo RST_P1_3V3_N----------- : $(((DATA & 0x20) >> 5))
echo RST_P1_OCU1_R_N-------- : $(((DATA & 0x10) >> 4))
echo RST_P1_PE0_N----------- : $(((DATA & 0x08) >> 3))
echo RST_P1_PE1_N----------- : $(((DATA & 0x04) >> 2))
echo RST_P1_PE2_N----------- : $(((DATA & 0x02) >> 1))
echo RST_P1_PE3_N,---------- : $((DATA & 0x01))
FPGA_REG=22
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo RST_BMC_RSTBTN_OUT_N_CPLD : $(((DATA & 0x80) >> 7))
echo RST_PE_NVME0_N----------- : $(((DATA & 0x40) >> 6))
echo RST_PE_NVME1_N----------- : $(((DATA & 0x20) >> 5))
echo RST_PE_NVME2_N----------- : $(((DATA & 0x10) >> 4))
echo RST_PE_NVME3_N----------- : $(((DATA & 0x08) >> 3))
echo RST_PE_SLOT1_N----------- : $(((DATA & 0x04) >> 2))
echo RST_PE_SLOT2_N----------- : $(((DATA & 0x02) >> 1))
echo RST_PE_SLOT3_N----------- : $((DATA & 0x01))
FPGA_REG=23
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-------------------------
echo RST_PE_SLOT4_N----------- : $(((DATA & 0x80) >> 7))
echo RST_PE_SLOT5_N----------- : $(((DATA & 0x40) >> 6))
echo RST_RSMRST_P0_N---------- : $(((DATA & 0x20) >> 5))
echo RST_RSMRST_P1_N---------- : $(((DATA & 0x10) >> 4))
echo RST_SYSTEM_BTN_CPLD_N---- : $(((DATA & 0x08) >> 3))
echo RST_VSBPWR_BMC_BUF_N----- : $(((DATA & 0x04) >> 2))
@@ -0,0 +1,398 @@
#!/bin/bash
echo
echo "-----FPGA Ethanol<x> CRB Register Dump Utility"
echo
I2CBUS=2
FPGAADDR=0x50
# FPGA FW Version Information
FPGA_REG=39
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
MAJOR=$((DATA >> 4))
MINOR=$((DATA & 0x0F))
echo FPGA FW Version: $MAJOR.$MINOR
# IP register information
FPGA_REG=0
IP_REG_MAX=3
printf "IP Address Registers: "
while [ $FPGA_REG -le $IP_REG_MAX ]
do
# not using printf as integer and hex values are the same for this use
DATA=$(i2cget -y $I2CBUS $FPGAADDR $FPGA_REG)
if [ $FPGA_REG -ne $IP_REG_MAX ] ; then
printf "%d." "$DATA"
else
printf "%d\n\n" "$DATA"
fi
((FPGA_REG=FPGA_REG+1))
done
# VDD block - Addresses 16 - 23
FPGA_REG=16
VDD_REG_MAX=23
SOCKET=0
while [ $FPGA_REG -le $VDD_REG_MAX ]
do
VDD_LOOP_CNT=0
while [ $VDD_LOOP_CNT -le 1 ]
do
if [ $VDD_LOOP_CNT -eq 0 ] ; then
VDD_LOOP_CNT_TXT="Enables"
else
VDD_LOOP_CNT_TXT="Power Goods"
fi
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----P$SOCKET VDD "$VDD_LOOP_CNT_TXT"
echo VDD_18_DUAL : $((DATA & 0x01))
echo VDD_SOC_DUAL: $(((DATA & 0x02) >> 1))
echo VDD_SPD_ABCD: $(((DATA & 0x04) >> 2))
echo VDD_VPP_ABCD: $(((DATA & 0x08) >> 3))
echo VDD_VTT_ABCD: $(((DATA & 0x10) >> 4))
echo VDD_MEM_ABCD: $(((DATA & 0x20) >> 5))
echo VDD_SPD_EFGH: $(((DATA & 0x40) >> 6))
echo VDD_VPP_EFGH: $(((DATA & 0x80) >> 7))
((FPGA_REG=FPGA_REG+1))
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo VDD_VTT_EFGH : $((DATA & 0x01))
echo VDD_MEM_EFGH : $(((DATA & 0x02) >> 1))
echo VDD_18_RUN-- : $(((DATA & 0x04) >> 2))
echo VDD_SOC_RUN- : $(((DATA & 0x08) >> 3))
echo VDD_CORE_RUN : $(((DATA & 0x10) >> 4))
((FPGA_REG=FPGA_REG+1))
((VDD_LOOP_CNT=VDD_LOOP_CNT+1))
done
((SOCKET=SOCKET+1))
done
# Power State/Reset Data
FPGA_REG=24
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Power state Information:
echo P0_SLP_S5_L--- : $((DATA & 0x01))
echo P0_SLP_S3_L--- : $(((DATA & 0x02) >> 1))
echo ATX_PS_ON----- : $(((DATA & 0x04) >> 2))
echo FPGA_5_DUAL_EN : $(((DATA & 0x08) >> 3))
# Power Good information
FPGA_REG=25
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Power Good Information:
echo VDD_33_DUAL_PG------- : $((DATA & 0x01))
echo FPGA_VDD_CORE_DUAL_PG : $(((DATA & 0x02) >> 1))
echo MGMT_VDD_VPP_DUAL_PG- : $(((DATA & 0x04) >> 2))
echo MGMT_VDD_MEM_DUAL_PG- : $(((DATA & 0x08) >> 3))
echo MGMT_VDD_CORE_DUAL_PG : $(((DATA & 0x10) >> 4))
echo ATX_PWR_OK----------- : $(((DATA & 0x20) >> 5))
# Power and Reset Signals
FPGA_REG=26
PWRRST_REG_MAX=27
SOCKET=0
while [ $FPGA_REG -le $PWRRST_REG_MAX ]
do
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----P$SOCKET Power and Reset Signals:
echo RSMRST_L----------------- : $((DATA & 0x01))
echo PWR_GOOD----------------- : $(((DATA & 0x02) >> 1))
echo PWRGD_OUT---------------- : $(((DATA & 0x04) >> 2))
echo FPGA_PWROK_RESET_BUF_EN_L : $(((DATA & 0x08) >> 3))
echo 33_PWROK----------------- : $(((DATA & 0x10) >> 4))
echo VDD_CORE_RUN_PWROK------- : $(((DATA & 0x20) >> 5))
echo VDD_SOC_RUN_PWROK-------- : $(((DATA & 0x40) >> 6))
echo 33_RESET_L--------------- : $(((DATA & 0x80) >> 7))
((FPGA_REG=FPGA_REG+1))
done
# Processor and power cable preset signals
FPGA_REG=28
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Processor and power cable preset signals:
echo P0_PRESENT_L--------------------- : $((DATA & 0x01))
echo P0_VDD_MEM_ABCD_12_RUN_PLUG_PRSNT : $(((DATA & 0x02) >> 1))
echo P0_VDD_MEM_EFGH_12_RUN_PLUG_PRSNT : $(((DATA & 0x04) >> 2))
echo P0_VDD_12_RUN_PLUG_PRSNT--------- : $(((DATA & 0x08) >> 3))
echo P1_PRESENT_L--------------------- : $(((DATA & 0x10) >> 4))
echo P1_VDD_MEM_ABCD_12_RUN_PLUG_PRSNT : $(((DATA & 0x20) >> 5))
echo P1_VDD_MEM_EFGH_12_RUN_PLUG_PRSNT : $(((DATA & 0x40) >> 6))
echo P1_VDD_12_RUN_PLUG_PRSNT--------- : $(((DATA & 0x80) >> 7))
# Board LEDs
FPGA_REG=29
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----LED States:
echo PWR_GOOD_LED--- : $((DATA & 0x01))
echo PWROK_LED------ : $(((DATA & 0x02) >> 1))
echo RESET_LED_L---- : $(((DATA & 0x04) >> 2))
echo P0_PROCHOT_LED- : $(((DATA & 0x08) >> 3))
echo P1_PROCHOT_LED- : $(((DATA & 0x10) >> 4))
# VR thermal errors
FPGA_REG=30
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----VR Thermal Errors:
echo P0_VDD_MEM_ABCD_SUS_VRHOT_L : $((DATA & 0x01))
echo P0_VDD_MEM_EFGH_SUS_VRHOT_L : $(((DATA & 0x02) >> 1))
echo P0_VDD_SOC_RUN_VRHOT_L----- : $(((DATA & 0x04) >> 2))
echo P0_VDD_CORE_RUN_VRHOT_L---- : $(((DATA & 0x08) >> 3))
echo P1_VDD_MEM_ABCD_SUS_VRHOT_L : $(((DATA & 0x10) >> 4))
echo P1_VDD_MEM_EFGH_SUS_VRHOT_L : $(((DATA & 0x20) >> 5))
echo P1_VDD_SOC_RUN_VRHOT_L----- : $(((DATA & 0x40) >> 6))
echo P1_VDD_CORE_RUN_VRHOT_L---- : $(((DATA & 0x80) >> 7))
# Processor and board Thermal Errors
FPGA_REG=31
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Processor and board Thermal Errors:
echo FPGA_P0_THERMTRIP_L : $((DATA & 0x01))
echo FPGA_P1_THERMTRIP_L : $(((DATA & 0x02) >> 1))
echo SENSOR_THERM_L----- : $(((DATA & 0x04) >> 2))
echo P0_PROCHOT_L------- : $(((DATA & 0x08) >> 3))
echo P1_PROCHOT_L------- : $(((DATA & 0x10) >> 4))
# AST2500 control Signals
FPGA_REG=32
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----AST2500 Control Signals:
echo MGMT_ASSERT_BMC_READY--- : $((DATA & 0x01))
echo MGMT_ASSERT_LOCAL_LOCK-- : $(((DATA & 0x02) >> 1))
echo MGMT_ASSERT_PWR_BTN----- : $(((DATA & 0x04) >> 2))
echo MGMT_ASSERT_RST_BTN----- : $(((DATA & 0x08) >> 3))
echo MGMT_ASSERT_NMI_BTN----- : $(((DATA & 0x10) >> 4))
echo MGMT_ASSERT_P0_PROCHOT-- : $(((DATA & 0x20) >> 5))
echo MGMT_ASSERT_P1_PROCHOT-- : $(((DATA & 0x40) >> 6))
echo MGMT_ASSERT_WARM_RST_BTN : $(((DATA & 0x80) >> 7))
# FPGA processor control signals
FPGA_REG=33
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----FPGA processor Control Signals:
echo ASSERT_P0_PWROK_L-------- : $((DATA & 0x01))
echo ASSERT_P0_RESET_L-------- : $(((DATA & 0x02) >> 1))
echo ASSERT_P0_PROCHOT_L------ : $(((DATA & 0x04) >> 2))
echo MGMT_SYS_MON_P0_PROCHOT_L : $(((DATA & 0x08) >> 3))
echo ASSERT_P1_PWROK_L-------- : $(((DATA & 0x10) >> 4))
echo ASSERT_P1_RESET_L-------- : $(((DATA & 0x20) >> 5))
echo ASSERT_P1_PROCHOT_L------ : $(((DATA & 0x40) >> 6))
echo MGMT_SYS_MON_P1_PROCHOT_L : $(((DATA & 0x80) >> 7))
# Buttons/Resets
FPGA_REG=34
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Button and Reset Signals:
echo PWR_BTN_L----- : $((DATA & 0x01))
echo RST_BTN_L----- : $(((DATA & 0x02) >> 1))
echo WARM_RST_BTN_L : $(((DATA & 0x04) >> 2))
echo NMI_BTN_L----- : $(((DATA & 0x08) >> 3))
echo FPGA_BTN_L---- : $(((DATA & 0x10) >> 4))
echo P0_PWR_BTN_L-- : $(((DATA & 0x20) >> 5))
echo P0_SYS_RESET_L : $(((DATA & 0x40) >> 6))
echo P0_KBRST_L---- : $(((DATA & 0x80) >> 7))
# Miscellaneous Block 1
FPGA_REG=35
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Miscellaneous 35 Signals:
echo MGMT_AC_LOSS_L---------- : $((DATA & 0x01))
echo P0_NV_FORCE_SELF_REFRESH : $(((DATA & 0x02) >> 1))
echo P1_NV_FORCE_SELF_REFRESH : $(((DATA & 0x04) >> 2))
echo P0_LOCAL_SPI_ROM_SEL_L-- : $(((DATA & 0x08) >> 3))
echo PCIE_SLOT4_HP_FON_L----- : $(((DATA & 0x10) >> 4))
echo P0_NMI_SYNC_FLOOD_L----- : $(((DATA & 0x20) >> 5))
echo FPGA_LPC_RST_L---------- : $(((DATA & 0x40) >> 6))
echo MGMT_SMBUS_ALERT_L------ : $(((DATA & 0x80) >> 7))
# Miscellaneous Block 2
FPGA_REG=36
SHUTDOWNERR=0
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Miscellaneous 36 Signals:
echo physical_pg------------------- : $((DATA & 0x01))
echo shutdown_error---------------- : $(((DATA & 0x02) >> 1))
SHUTDOWNERR=$(((DATA & 0x02) >> 1))
echo P0_PRESENT_HDT---------------- : $(((DATA & 0x04) >> 2))
echo P1_PRESENT_HDT---------------- : $(((DATA & 0x08) >> 3))
echo DAP_EXT_P0_CORE_RUN_VOLTAGE_PG : $(((DATA & 0x10) >> 4))
echo FPGA_BRD_ID------------------- : $(((DATA & 0x20) >> 5))
echo FPGA_BRD_ID------------------- : $(((DATA & 0x40) >> 6))
echo MGMT_FPGA_RSVD---------------- : $(((DATA & 0x80) >> 7))
# Switch S1
FPGA_REG=37
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Switch Bank S1:
if [ $((DATA & 0x01)) -eq 1 ] ; then
echo "FPGA_SW1-1 - OFF - P0 PwrReg PU with Proc"
else
echo "FPGA_SW1-1 - ON - P0 PwrReg PU without Proc"
fi
if [ $(((DATA & 0x02) >> 1)) -eq 1 ] ; then
echo "FPGA_SW1-1 - OFF - P1 PwrReg PU with Proc"
else
echo "FPGA_SW1-1 - ON - P1 PwrReg PU without Proc"
fi
if [ $(((DATA & 0x04) >> 2)) -eq 1 ] ; then
echo "FPGA_SW1-3 - OFF - ATX Connectors Valid"
else
echo "FPGA_SW1-3 - ON - ATX Connectors Ignored"
fi
if [ $(((DATA & 0x08) >> 3)) -eq 1 ] ; then
echo "FPGA_SW1-4 - OFF - Wait for BMC Boot"
else
echo "FPGA_SW1-4 - ON - Do Not Wait for BMC Boot"
fi
if [ $(((DATA & 0x10) >> 4)) -eq 1 ] ; then
echo "FPGA_SW1-5 - OFF - MemPwrReg PU after ATX"
else
echo "FPGA_SW1-5 - ON - MemPwrReg PU before ATX"
fi
if [ $(((DATA & 0x20) >> 5)) -eq 1 ] ; then
echo "FPGA_SW1-6 - OFF - DAP CORE Reg Bypass DISABLED"
else
echo "FPGA_SW1-6 - ON - DAP CORE Reg Bypass ENABLED"
fi
if [ $(((DATA & 0x40) >> 6)) -eq 1 ] ; then
echo "FPGA_SW1-7 - OFF - Bypass P0 in HDT JTAG Chain DISABLED"
else
echo "FPGA_SW1-7 - ON - Bypass P0 in HDT JTAG Chain ENABLED"
fi
if [ $(((DATA & 0x80) >> 7)) -eq 1 ] ; then
echo "FPGA_SW1-8 - OFF - Bypass P1 in HDT JTAG Chain DISABLED"
else
echo "FPGA_SW1-8 - ON - Bypass P1 in HDT JTAG Chain ENABLED"
fi
# Switch S2
FPGA_REG=38
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
echo ----------FPGAreg$FPGA_REG-----Switch Bank S2:
if [ $((DATA & 0x01)) -eq 1 ] ; then
echo "FPGA_SW2-1 - OFF - Boot from SPI ROM behind BMC"
else
echo "FPGA_SW2-1 - ON - Boot from P0 local SPI ROM"
fi
if [ $(((DATA & 0x02) >> 1)) -eq 1 ] ; then
echo "FPGA_SW2-2 - OFF - PCIe SLOT4 hot plug forced PwrON without driver"
else
echo "FPGA_SW2-2 - ON - PCIe SLOT4 hot plug NOT forced PwrON without driver"
fi
if [ $(((DATA & 0x04) >> 2)) -eq 1 ] ; then
echo "FPGA_SW2-3 - OFF - SMI testing DISABLED"
else
echo "FPGA_SW2-3 - ON - SMI testing ENABLED"
fi
if [ $(((DATA & 0x08) >> 3)) -eq 1 ] ; then
echo "FPGA_SW2-4 - OFF - PROCHOT testing DISABLED"
else
echo "FPGA_SW2-4 - ON - PROCHOT testing ENABLED"
fi
if [ $(((DATA & 0x10) >> 4)) -eq 1 ] ; then
echo "FPGA_SW2-5 - OFF - PwrCycle on post code C0 DISABLED"
else
echo "FPGA_SW2-5 - ON - PwrCycle on post code C0 ENABLED"
fi
if [ $(((DATA & 0x20) >> 5)) -eq 1 ] ; then
echo "FPGA_SW2-6 - OFF - PwrCycle Px DISABLED"
else
echo "FPGA_SW2-6 - ON - PwrCycle - Px Present - RESET_L | Px Not Present VR PwrGood"
fi
if [ $(((DATA & 0x40) >> 6)) -eq 1 ] ; then
echo "FPGA_SW2-7 - OFF - BMC IP Address display DISABLED"
else
echo "FPGA_SW2-7 - ON - BMC IP Address display ENABLED"
fi
if [ $(((DATA & 0x80) >> 7)) -eq 1 ] ; then
echo "FPGA_SW1-8 - OFF - FORCE_SELFREFRESH support diabled"
else
echo "FPGA_SW1-8 - ON - FORCE_SELFREFRESH support diabled"
fi
# Powerup Error Group
echo ------------------------Power and Thermal Error Group
if [ $SHUTDOWNERR = 0 ] ; then
echo NO Shutdown Errors Detected
fi
FPGA_REG=40
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x0F)) != 0 ] ; then
echo PU Error: PU1$((DATA & 0x0F))
echo "$DATA"
fi
FPGA_REG=41
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x07)) != 0 ] ; then
echo PU Error: PU2$((DATA & 0x07))
fi
FPGA_REG=42
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x0F)) != 0 ] ; then
echo PU Error: PU1$((DATA & 0x0F))
fi
FPGA_REG=43
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x07)) != 0 ] ; then
echo PU Error: PU4$((DATA & 0x07))
fi
FPGA_REG=44
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x03)) != 0 ] ; then
echo PU Error: PU5$((DATA & 0x03))
fi
FPGA_REG=45
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x07)) != 0 ] ; then
echo PU Error: PU6$((DATA & 0x07))
fi
# Powerdown Error Group
FPGA_REG=46
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x0F)) != 0 ] ; then
echo PD Error: PD1$((DATA & 0x0F))
fi
FPGA_REG=47
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x07)) != 0 ] ; then
echo PD Error: PD2$((DATA & 0x07))
fi
FPGA_REG=48
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x0F)) != 0 ] ; then
echo PD Error: PD3$((DATA & 0x0F))
fi
FPGA_REG=49
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x07)) != 0 ] ; then
echo PD Error: PD4$((DATA & 0x07))
fi
FPGA_REG=50
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x03)) != 0 ] ; then
echo PD Error: PD5$((DATA & 0x03))
fi
FPGA_REG=51
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x03)) != 0 ] ; then
echo PD Error: PD6$((DATA & 0x03))
fi
FPGA_REG=52
DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf "0x%x" $FPGA_REG)")
if [ $((DATA & 0x0F)) != 0 ] ; then
echo Thermal Error: H_0$((DATA & 0x0F))
fi
echo ------------- end of data -----------------
@@ -0,0 +1,11 @@
[Unit]
Description=Transfer IP address to the FPGA
BindsTo=sys-subsystem-net-devices-eth0.device
After=sys-subsystem-net-devices-eth0.device
[Service]
Type=simple
ExecStart=/usr/bin/ip-to-fpga.sh
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,33 @@
#!/bin/bash
OLD_IP=""
while true
do
IP=$(ip a | awk '/inet.*global/ {split ($2,A,"/"); print A[1]}')
if [ "${IP}" != "${OLD_IP}" ]
then
if [ -n "${IP}" ]
then
IP_1=$(echo "${IP}" | cut -d "." -f 1)
IP_2=$(echo "${IP}" | cut -d "." -f 2)
IP_3=$(echo "${IP}" | cut -d "." -f 3)
IP_4=$(echo "${IP}" | cut -d "." -f 4)
else
IP_1=0
IP_2=0
IP_3=0
IP_4=0
fi
echo "Transfer current IP address (${IP_1}.${IP_2}.${IP_3}.${IP_4}) to the FPGA"
i2cset -y 2 0x50 0 "${IP_1}"
i2cset -y 2 0x50 1 "${IP_2}"
i2cset -y 2 0x50 2 "${IP_3}"
i2cset -y 2 0x50 3 "${IP_4}"
OLD_IP=${IP}
fi
sleep 5
done
@@ -0,0 +1,25 @@
DESCRIPTION = "Transfer BMC IP address to the FPGA"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit systemd
SRC_URI = " file://ip-to-fpga.sh \
file://ip-to-fpga.service \
"
S = "${WORKDIR}"
DEPENDS = "systemd"
RDEPENDS:${PN} = "bash"
SYSTEMD_SERVICE:${PN} = "ip-to-fpga.service"
do_install() {
install -d ${D}${bindir}
install -m 0755 ${S}/ip-to-fpga.sh ${D}${bindir}/
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${S}/ip-to-fpga.service ${D}${systemd_system_unitdir}
}
@@ -0,0 +1,50 @@
SUMMARY = "OpenBMC for AMD - 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 = "AMD Chassis"
RDEPENDS:${PN}-chassis = " \
x86-power-control \
obmc-host-failure-reboots \
"
SUMMARY:${PN}-fans = "AMD Fans"
RDEPENDS:${PN}-fans = " \
phosphor-pid-control \
"
SUMMARY:${PN}-flash = "AMD Flash"
RDEPENDS:${PN}-flash = " \
phosphor-software-manager \
"
SUMMARY:${PN}-system = "AMD System"
RDEPENDS:${PN}-system = " \
amd-fpga \
bmcweb \
dbus-sensors \
entity-manager \
ipmitool \
phosphor-hostlogger \
webui-vue \
srvcfg-manager \
"
@@ -0,0 +1,3 @@
lpc-address = 0x3f8
sirq = 4
baud = 115200
@@ -0,0 +1 @@
baud = 115200
@@ -0,0 +1,17 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/${MACHINE}:"
OBMC_CONSOLE_HOST_TTY:ethanolx = "ttyS0"
OBMC_CONSOLE_HOST_TTY:daytonax = "ttyVUART0"
SRC_URI:remove = "file://${BPN}.conf"
SRC_URI:append:ethanolx = " file://server.ttyS0.conf"
SRC_URI:append:daytonax = " file://server.ttyVUART0.conf"
do_install:append() {
# Remove upstream-provided configuration
rm -rf ${D}${sysconfdir}/${BPN}
# Install the server configuration
install -m 0755 -d ${D}${sysconfdir}/${BPN}
install -m 0644 ${WORKDIR}/*.conf ${D}${sysconfdir}/${BPN}/
}
@@ -0,0 +1,14 @@
[Unit]
Description=Phosphor-Pid-Control Margin-based Fan Control Daemon
After=xyz.openbmc_project.EntityManager.service
After=xyz.openbmc_project.ObjectMapper.service
[Service]
Restart=always
ExecStart={bindir}/swampd -t
RestartSec=5
StartLimitInterval=0
Type=simple
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
inherit obmc-phosphor-systemd
SYSTEMD_SERVICE:${PN} = "phosphor-pid-control.service"
@@ -0,0 +1,7 @@
SOCKET_ID=
BUF_MAXSIZE=3000
BUF_MAXTIME=0
FLUSH_FULL=false
HOST_STATE=/xyz/openbmc_project/state/host0
OUT_DIR=/var/lib/obmc/hostlogs
MAX_FILES=10
@@ -0,0 +1,7 @@
SOCKET_ID=
BUF_MAXSIZE=3000
BUF_MAXTIME=0
FLUSH_FULL=false
HOST_STATE=/xyz/openbmc_project/state/host0
OUT_DIR=/var/lib/obmc/hostlogs
MAX_FILES=10
@@ -0,0 +1,9 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/${MACHINE}:"
# Default service instance to install (single-host mode)
DEFAULT_INSTANCE:ethanolx = "ttyS0"
DEFAULT_INSTANCE:daytonax = "ttyVUART0"
SRC_URI:remove = "file://${BPN}.conf"
SRC_URI:append:ethanolx = " file://ttyS0.conf"
SRC_URI:append:daytonax = " file://ttyVUART0.conf"
@@ -0,0 +1 @@
PACKAGECONFIG:append = " log-threshold log-pulse"