Initial commit
This commit is contained in:
@@ -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.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,12 @@
|
||||
Different components of meta-ibm 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,8 @@
|
||||
owners:
|
||||
- geissonator@yahoo.com
|
||||
- anoo@us.ibm.com
|
||||
|
||||
matchers:
|
||||
- partial_regex: recipes-kernel
|
||||
reviewers:
|
||||
- joel@jms.id.au
|
||||
@@ -0,0 +1,75 @@
|
||||
OpenEmbedded/Yocto/OpenBMC BSP layer for IBM systems
|
||||
====================================================
|
||||
|
||||
This layer provides support for the BMC firmware on IBM POWER systems server
|
||||
products.
|
||||
|
||||
```
|
||||
This layer depends on:
|
||||
|
||||
URI: git://git.openembedded.org/openembedded-core
|
||||
layers: meta
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: https://github.com/openbmc/meta-phosphor
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: https://github.com/openbmc/meta-openpower
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: https://github.com/openbmc/meta-aspeed
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
The following systems are supported.
|
||||
|
||||
Witherspoon, or AC922, is an IBM POWER9 two-socket, 2U Accelerated Compute
|
||||
Server with up to 6 NVIDIA Tesla GPUs. More information can be found
|
||||
[here](https://www.ibm.com/us-en/marketplace/power-systems-ac922).
|
||||
|
||||
In addition to witherspoon, this layer contains additional machine
|
||||
configurations such as swift. The default machine target is witherspoon,
|
||||
so in order to build a different configuration, or to build witherspoon
|
||||
after building a different one, set the MACHINE environment to the desired
|
||||
configuration name (see the conf/machine/ subdirectory for available options):
|
||||
|
||||
export MACHINE=machine_configuration_name
|
||||
|
||||
Then build:
|
||||
|
||||
bitbake obmc-phosphor-image
|
||||
|
||||
Example:
|
||||
|
||||
export MACHINE=swift
|
||||
bitbake obmc-phosphor-image
|
||||
bitbake phosphor-logging
|
||||
|
||||
export MACHINE=witherspoon
|
||||
bitbake obmc-phosphor-image
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
meta-ibm patches are reviewed using the Gerrit instance at
|
||||
https://gerrit.openbmc.org.
|
||||
|
||||
Please submit patches to Gerrit. More information on using Gerrit can be found
|
||||
[here](https://github.com/openbmc/docs/blob/master/CONTRIBUTING.md#submitting-changes-via-gerrit-server).
|
||||
https://github.com/openbmc/meta-ibm is a hosting mirror only and GitHub
|
||||
pull requests are not monitored and will not be accepted.
|
||||
|
||||
Patch checklist. Please ensure patches adhere to the following guidelines:
|
||||
|
||||
- meta-ibm uses the [OE style
|
||||
guidelines](https://www.openembedded.org/wiki/Styleguide).
|
||||
- follow [the seven rules of a great git commit
|
||||
message](https://chris.beams.io/posts/git-commit/#seven-rules)
|
||||
|
||||
For questions or help please come join us on the [mailing
|
||||
list](https://lists.ozlabs.org/listinfo/openbmc) or on
|
||||
[Discord](https://discord.gg/69Km47zH98).
|
||||
@@ -0,0 +1,3 @@
|
||||
# mpreboot is an ibm specific system reboot which preserves the host
|
||||
# memory. This is utilized to debug issues in the host software.
|
||||
DISTRO_FEATURES += "mpreboot"
|
||||
@@ -0,0 +1 @@
|
||||
OBMC_ORG_YAML_SUBDIRS += " com/ibm"
|
||||
@@ -0,0 +1,16 @@
|
||||
# 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 += "ibm-layer"
|
||||
BBFILE_PATTERN_ibm-layer := "^${LAYERDIR}/"
|
||||
LAYERSERIES_COMPAT_ibm-layer = "langdale mickledore"
|
||||
|
||||
# Only bring in meta-openpower bbappend files if meta-openpower is
|
||||
# included in the layer
|
||||
BBFILES_DYNAMIC += "\
|
||||
openpower-layer:${LAYERDIR}/dynamic-layers/meta-openpower/recipes-*/*/*.bbappend \
|
||||
"
|
||||
@@ -0,0 +1,4 @@
|
||||
MACHINEOVERRIDES =. "p10bmc:"
|
||||
require conf/machine/p10bmc.conf
|
||||
require conf/distro/include/etcd.inc
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
DISTRO_NAME = "IBM eBMC (OpenBMC for IBM Enterprise Systems)"
|
||||
|
||||
# The first dtb listed is the one used by default on a BMC genesis boot.
|
||||
# Need bonnell to be the first one because it contains an eeprom that's bigger
|
||||
# than in the other systems. Otherwise the device driver would truncate the data
|
||||
# on that eeprom on a bonnell system.
|
||||
KERNEL_DEVICETREE = \
|
||||
"aspeed-bmc-ibm-bonnell.dtb \
|
||||
aspeed-bmc-ibm-rainier.dtb \
|
||||
aspeed-bmc-ibm-rainier-4u.dtb \
|
||||
aspeed-bmc-ibm-everest.dtb"
|
||||
UBOOT_MACHINE = "ast2600_openbmc_spl_emmc_defconfig"
|
||||
UBOOT_DEVICETREE = "ast2600-p10bmc"
|
||||
SPL_BINARY = "spl/u-boot-spl.bin"
|
||||
|
||||
OBMC_POWER_SUPPLY_INSTANCES = "0 1 2 3"
|
||||
|
||||
require conf/distro/include/phosphor-mmc.inc
|
||||
require conf/machine/include/ast2600.inc
|
||||
require conf/machine/include/obmc-bsp-common.inc
|
||||
require conf/machine/include/openpower.inc
|
||||
require conf/machine/include/p10.inc
|
||||
require conf/distro/include/openpower-virtual-pnor.inc
|
||||
require conf/distro/include/openpower-hostfw-over-pldm.inc
|
||||
require conf/distro/include/ibm-mpreboot.inc
|
||||
require conf/distro/include/ibm-yaml.inc
|
||||
include conf/distro/include/extra-dev-debug-tools.inc
|
||||
DISTRO_FEATURES += "ibm-service-account-policy mctp"
|
||||
MACHINE_FEATURES += 'phal tpm2'
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyS4"
|
||||
|
||||
MRW_XML = "witherspoon.xml"
|
||||
PHOSPHOR_MRW_LICENSE = "Apache-2.0"
|
||||
PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
PHOSPHOR_MRW_URI = "git://github.com/open-power/witherspoon-xml;branch=master;protocol=https"
|
||||
PHOSPHOR_MRW_REV = "c622cb5a5dd3ebc2a4eef558d1b70740f914e6f7"
|
||||
|
||||
VIRTUAL-RUNTIME_phosphor-hwmon-config:df-mrw = ""
|
||||
|
||||
PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config:df-mrw = \
|
||||
"phosphor-fan-control-fan-config"
|
||||
PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config:df-mrw = \
|
||||
"phosphor-fan-presence-config"
|
||||
|
||||
SKIP_BROKEN_MRW = "1"
|
||||
|
||||
IMAGE_FEATURES:remove = "obmc-ikvm"
|
||||
|
||||
UBOOT_SIGN_ENABLE = "1"
|
||||
SPL_SIGN_ENABLE = "1"
|
||||
|
||||
FIT_HASH_ALG = "sha512"
|
||||
FIT_SIGN_ALG = "rsa4096"
|
||||
FIT_SIGN_NUMBITS = "4096"
|
||||
UBOOT_FITIMAGE_ENABLE = "1"
|
||||
UBOOT_FIT_HASH_ALG = "sha512"
|
||||
UBOOT_FIT_SIGN_ALG = "rsa4096"
|
||||
UBOOT_FIT_SIGN_NUMBITS = "4096"
|
||||
|
||||
UBOOT_SIGN_KEYNAME = "rsa_oem_fitimage_key"
|
||||
SPL_SIGN_KEYNAME = "rsa_oem_fitimage_key"
|
||||
|
||||
UBOOT_SIGN_KEYDIR = "${WORKDIR}"
|
||||
SPL_SIGN_KEYDIR = "${WORKDIR}"
|
||||
|
||||
SOCSEC_SIGN_ENABLE = "1"
|
||||
|
||||
DEBUG_TRIGGERS = "kcs2"
|
||||
PACKAGECONFIG:append:pn-debug-trigger = " triggers"
|
||||
|
||||
PACKAGECONFIG:pn-opkg = "curl openssl ssl-curl"
|
||||
|
||||
# Add zImage to images directory for Qemu
|
||||
KERNEL_IMAGETYPES +=" zImage "
|
||||
|
||||
# Produce a .qcow2 of the wic for Qemu
|
||||
IMAGE_FSTYPES +=" wic.qcow2 "
|
||||
|
||||
QB_ROOTFS_OPT:p10bmc="-drive file=@ROOTFS@,if=sd,format=qcow2,index=2"
|
||||
QB_MACHINE:p10bmc="-machine rainier-bmc"
|
||||
QB_DTB:p10bmc="aspeed-bmc-ibm-rainier.dtb"
|
||||
QB_MEM:p10bmc="-m 1024"
|
||||
QB_DEFAULT_FSTYPE:p10bmc="wic.qcow2"
|
||||
QB_FSINFO = "wic:no-kernel-in-fs"
|
||||
QB_DEFAULT_KERNEL:p10bmc="zImage"
|
||||
QB_KERNEL_ROOT:p10bmc="PARTLABEL=rofs-a"
|
||||
|
||||
FLASH_SIZE = "16777216"
|
||||
@@ -0,0 +1,22 @@
|
||||
require conf/machine/witherspoon.conf
|
||||
|
||||
IMAGE_FSTYPES += "ext4 mmc-ext4-tar"
|
||||
|
||||
KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
|
||||
|
||||
PHOSPHOR_MRW_LICENSE = "Apache-2.0"
|
||||
PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
PHOSPHOR_MRW_URI = "git://git@github.com/open-power/swift-xml;protocol=ssh;branch=master;protocol=https"
|
||||
PHOSPHOR_MRW_REV = "2b59e12db44e167a1652777b770674d235ec55ba"
|
||||
|
||||
# 128MB flash size
|
||||
FLASH_SIZE = "131072"
|
||||
|
||||
# 32MB read-write filesystem
|
||||
FLASH_UBI_RWFS_SIZE ?= "32768"
|
||||
FLASH_UBI_RWFS_TXT_SIZE ?= "32MiB"
|
||||
BMC_RW_SIZE = "0x2000000"
|
||||
|
||||
# Inhibit swift-led-manager-config-native
|
||||
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native:df-mrw = \
|
||||
"swift-led-manager-config-native"
|
||||
@@ -0,0 +1,46 @@
|
||||
KERNEL_DEVICETREE = "aspeed-bmc-opp-tacoma.dtb"
|
||||
UBOOT_MACHINE = "ast2600_openbmc_spl_emmc_defconfig"
|
||||
UBOOT_DEVICETREE = "ast2600-tacoma"
|
||||
SPL_BINARY = "spl/u-boot-spl.bin"
|
||||
SOCSEC_SIGN_ENABLE = "0"
|
||||
|
||||
OBMC_POWER_SUPPLY_INSTANCES = "0 1"
|
||||
|
||||
MACHINEOVERRIDES =. "ibm-ac-server:witherspoon:"
|
||||
require conf/distro/include/phosphor-mmc.inc
|
||||
require conf/machine/include/ast2600.inc
|
||||
require conf/machine/include/obmc-bsp-common.inc
|
||||
require conf/machine/include/openpower.inc
|
||||
require conf/machine/include/p9.inc
|
||||
require conf/distro/include/ibm-yaml.inc
|
||||
require conf/distro/include/openpower-virtual-pnor.inc
|
||||
require conf/distro/include/ibm-mpreboot.inc
|
||||
include conf/distro/include/extra-dev-debug-tools.inc
|
||||
DISTRO_FEATURES += "ibm-service-account-policy"
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyS4"
|
||||
|
||||
MRW_XML = "witherspoon.xml"
|
||||
PHOSPHOR_MRW_LICENSE = "Apache-2.0"
|
||||
PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
PHOSPHOR_MRW_URI = "git://github.com/open-power/witherspoon-xml;branch=master;protocol=https"
|
||||
PHOSPHOR_MRW_REV = "c622cb5a5dd3ebc2a4eef558d1b70740f914e6f7"
|
||||
|
||||
VIRTUAL-RUNTIME_phosphor-hwmon-config:df-mrw = ""
|
||||
|
||||
PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config:df-mrw = \
|
||||
"phosphor-fan-control-fan-config"
|
||||
PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config:df-mrw = \
|
||||
"phosphor-fan-presence-config"
|
||||
|
||||
# The eMMC on Tacoma is just 1GB smaller than Rainier. The template file
|
||||
# meta-aspeed/wic/emmc-aspeed.wks.in builds an image for the size of Rainier as
|
||||
# the default. To be able to re-use that template for Tacoma, the size of the
|
||||
# last partition (hostfw) was made configurable. The default size of the hostfw
|
||||
# partition is 5GB, therefore setting it to 4GB for Tacoma.
|
||||
WKS_HOSTFW_SIZE = "4G"
|
||||
|
||||
IMAGE_FEATURES:remove = "obmc-ikvm"
|
||||
|
||||
DEBUG_TRIGGERS = "kcs2"
|
||||
PACKAGECONFIG:append:pn-debug-trigger = " triggers"
|
||||
@@ -0,0 +1,43 @@
|
||||
KMACHINE = "aspeed"
|
||||
KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-aspeed"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-aspeed"
|
||||
PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils-aspeed"
|
||||
UBOOT_MACHINE = "ast_g5_ncsi_config"
|
||||
|
||||
OBMC_POWER_SUPPLY_INSTANCES = "0 1"
|
||||
|
||||
# A machine override for common machine configuration for all of IBM's
|
||||
# "Accelerated Computing" class of systems.
|
||||
MACHINEOVERRIDES =. "ibm-ac-server:"
|
||||
require conf/distro/include/phosphor-ubi.inc
|
||||
require conf/distro/include/openpower-mrw.inc
|
||||
require conf/distro/include/openpower-ubi.inc
|
||||
require conf/machine/include/ast2500.inc
|
||||
require conf/machine/include/obmc-bsp-common.inc
|
||||
require conf/machine/include/openpower.inc
|
||||
require conf/machine/include/p9.inc
|
||||
require conf/distro/include/ibm-yaml.inc
|
||||
|
||||
PHOSPHOR_MRW_LICENSE = "Apache-2.0"
|
||||
PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
PHOSPHOR_MRW_URI = "git://github.com/open-power/witherspoon-xml;branch=master;protocol=https"
|
||||
PHOSPHOR_MRW_REV = "c622cb5a5dd3ebc2a4eef558d1b70740f914e6f7"
|
||||
|
||||
# Inhibit phosphor-hwmon-config-mrw
|
||||
VIRTUAL-RUNTIME_phosphor-hwmon-config:df-mrw = ""
|
||||
|
||||
# Inhibit phosphor-fan-presence-mrw-native
|
||||
PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config:df-mrw = \
|
||||
"phosphor-fan-presence-config"
|
||||
|
||||
# Inhibit phosphor-fan-control-fan-config-mrw-native
|
||||
PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config:df-mrw = \
|
||||
"phosphor-fan-control-fan-config"
|
||||
|
||||
IMAGE_FEATURES:remove = "obmc-ikvm"
|
||||
|
||||
QB_DEFAULT_FSTYPE:witherspoon = "ubi.mtd"
|
||||
QB_MACHINE:witherspoon = "-machine witherspoon-bmc"
|
||||
QB_MEM:witherspoon = "-m 512"
|
||||
@@ -0,0 +1,19 @@
|
||||
# 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-perl \
|
||||
##OEROOT##/meta-openembedded/meta-python \
|
||||
##OEROOT##/meta-security/meta-tpm \
|
||||
##OEROOT##/meta-phosphor \
|
||||
##OEROOT##/meta-aspeed \
|
||||
##OEROOT##/meta-openpower \
|
||||
##OEROOT##/meta-ibm \
|
||||
"
|
||||
@@ -0,0 +1,12 @@
|
||||
Example build invocations:
|
||||
|
||||
p10bmc:
|
||||
MACHINE=p10bmc bitbake obmc-phosphor-image
|
||||
p10bmc-distributed:
|
||||
MACHINE=p10bmc-distributed bitbake obmc-phosphor-image
|
||||
swift:
|
||||
MACHINE=swift bitbake obmc-phosphor-image
|
||||
witherspoon:
|
||||
MACHINE=witherspoon bitbake obmc-phosphor-image
|
||||
witherspoon-tacoma:
|
||||
MACHINE=witherspoon-tacoma bitbake obmc-phosphor-image
|
||||
@@ -0,0 +1,19 @@
|
||||
#MACHINE ?= "p10bmc"
|
||||
#MACHINE ?= "swift"
|
||||
MACHINE ??= "witherspoon"
|
||||
DISTRO ?= "openbmc-openpower"
|
||||
PACKAGE_CLASSES ?= "package_ipk"
|
||||
SANITY_TESTED_DISTROS:append ?= " *"
|
||||
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
|
||||
USER_CLASSES ?= "buildstats"
|
||||
PATCHRESOLVE = "noop"
|
||||
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"
|
||||
CONF_VERSION = "2"
|
||||
+1
@@ -0,0 +1 @@
|
||||
EXTRA_OEMESON:append:p10bmc = " -Dhostboot-dump-collection=enabled "
|
||||
+1
@@ -0,0 +1 @@
|
||||
PACKAGECONFIG:append:ibm-ac-server = " verify_pnor_signature"
|
||||
+1
@@ -0,0 +1 @@
|
||||
PACKAGECONFIG:append:p10bmc = " phal"
|
||||
@@ -0,0 +1,3 @@
|
||||
RDEPENDS:${PN}:append:ibm-ac-server = " avsbus-control"
|
||||
RDEPENDS:${PN}:append:witherspoon = " vrm-control"
|
||||
RDEPENDS:${PN}:append:ibm-ac-server = " power-workarounds"
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
DEPENDS:append:ibm-ac-server = " acx22-yaml-config"
|
||||
|
||||
EXTRA_OECONF:ibm-ac-server = " \
|
||||
INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-inventory-sensors.yaml \
|
||||
"
|
||||
+1
@@ -0,0 +1 @@
|
||||
RDEPENDS:${PN}-system:remove:witherspoon = "croserver"
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
DEPENDS:append:p10bmc = " cli11"
|
||||
DEPENDS:append:p10bmc = " nlohmann-json"
|
||||
DEPENDS:append:p10bmc = " phosphor-dbus-interfaces"
|
||||
DEPENDS:append:p10bmc = " libgpiod"
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SYSTEMD_SERVICE:${PN}:append:p10bmc = " ibm-vpd-parser@.service"
|
||||
SYSTEMD_SERVICE:${PN}:append:p10bmc = " system-vpd.service"
|
||||
SYSTEMD_SERVICE:${PN}:append:p10bmc = " com.ibm.VPD.Manager.service"
|
||||
SYSTEMD_SERVICE:${PN}:append:p10bmc = " wait-vpd-parsers.service"
|
||||
SYSTEMD_SERVICE:${PN}:remove:p10bmc = " op-vpd-parser.service"
|
||||
PACKAGECONFIG:append:p10bmc = " ibm-parser vpd-manager"
|
||||
|
||||
FILES:${PN}:append:p10bmc = " ${datadir}/vpd/*.json"
|
||||
|
||||
do_install:append:p10bmc() {
|
||||
# Remove files that are used by openpower-read-vpd
|
||||
DEST=${D}${inventory_envdir}
|
||||
rm ${DEST}/inventory
|
||||
rm ${D}/${nonarch_base_libdir}/udev/rules.d/70-op-vpd.rules
|
||||
}
|
||||
|
||||
do_install:append:witherspoon() {
|
||||
DEST=${D}${inventory_envdir}
|
||||
printf "\nEEPROM=/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-11/11-0051/eeprom" >> ${DEST}/inventory
|
||||
}
|
||||
|
||||
do_install:append:swift() {
|
||||
DEST=${D}${inventory_envdir}
|
||||
printf "\nEEPROM=/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0051/eeprom" >> ${DEST}/inventory
|
||||
}
|
||||
|
||||
do_install:append:witherspoon-tacoma() {
|
||||
DEST=${D}${inventory_envdir}
|
||||
printf "FRUS=BMC,ETHERNET" > ${DEST}/inventory
|
||||
printf "\nPATHS=/system/chassis/motherboard/bmc,/system/chassis/motherboard/bmc/eth0" >> ${DEST}/inventory
|
||||
printf "\nEEPROM=/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a600.i2c-bus/i2c-11/11-0051/eeprom" >> ${DEST}/inventory
|
||||
}
|
||||
|
||||
pkg_postinst:${PN}:p10bmc() {
|
||||
mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants
|
||||
LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants/wait-vpd-parsers.service"
|
||||
TARGET="../wait-vpd-parsers.service"
|
||||
ln -s $TARGET $LINK
|
||||
}
|
||||
pkg_prerm:${PN}:p10bmc() {
|
||||
LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants/wait-vpd-parsers.service"
|
||||
rm $LINK
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,12 @@
|
||||
Different components of Phosphor OpenBMC 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,9 @@
|
||||
# We have a conf and classes directory, add to BBPATH
|
||||
BBPATH .= ":${LAYERDIR}"
|
||||
|
||||
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
|
||||
${LAYERDIR}/recipes-*/*/*.bbappend"
|
||||
|
||||
BBFILE_PATTERN_fsp2-layer := "^${LAYERDIR}/"
|
||||
BBFILE_COLLECTIONS += "fsp2-layer"
|
||||
LAYERVERSION_fsp2-layer = "1"
|
||||
@@ -0,0 +1,14 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: fsp2
|
||||
#@DESCRIPTION: evaluation machine board configuration for the fsp2 ppc476
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-fsp2"
|
||||
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-fsp2"
|
||||
|
||||
DEFAULTTUNE = "powerpc-nf"
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyS0"
|
||||
|
||||
MACHINEOVERRIDES .= ":fsp2"
|
||||
|
||||
require conf/machine/include/powerpc/arch-powerpc.inc
|
||||
@@ -0,0 +1,10 @@
|
||||
MACHINE = "sunray2"
|
||||
KERNEL_DEVICETREE = "fsp2.dtb"
|
||||
KBUILD_DEFCONFIG = "44x/fsp2_defconfig"
|
||||
|
||||
require conf/machine/include/fsp2.inc
|
||||
|
||||
UBOOT_MACHINE:sunray2 = "fsp2_defconfig"
|
||||
UBOOT_ENTRYPOINT = "0x10000000"
|
||||
UBOOT_LOADADDRESS = "0x10000000"
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
require recipes-bsp/u-boot/u-boot.inc
|
||||
|
||||
SRC_URI = "git://github.com/openbmc/u-boot;branch=v2017.11-fsp2-openbmc;protocol=https"
|
||||
SRCREV = "d675f0a16ecc876b1aa78b4151af89c80fe0f4b9"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PROVIDES += "u-boot"
|
||||
@@ -0,0 +1,31 @@
|
||||
DESCRIPTION = "Linux kernel for the FSP2 system on a chip"
|
||||
SECTION = "kernel"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
|
||||
KCONFIG_MODE="--alldefconfig"
|
||||
|
||||
KSRC ?= "git://github.com/openbmc/linux;protocol=https;branch=dev-4.17"
|
||||
SRC_URI = "${KSRC}"
|
||||
|
||||
LINUX_VERSION_EXTENSION ?= "-${SRCREV}"
|
||||
|
||||
PV = "${LINUX_VERSION}+git${SRCPV}"
|
||||
|
||||
COMPATIBLE_MACHINE_${MACHINE} = "^${MACHINE}$"
|
||||
KERNEL_CLASSES ?= "kernel-uimage"
|
||||
KERNEL_IMAGETYPE ?= "uImage"
|
||||
|
||||
do_patch:append() {
|
||||
for DTB in "${KERNEL_DEVICETREE}"; do
|
||||
DT=`basename ${DTB} .dtb`
|
||||
if [ -r "${WORKDIR}/${DT}.dts" ]; then
|
||||
cp ${WORKDIR}/${DT}.dts \
|
||||
${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
inherit kernel
|
||||
require recipes-kernel/linux/linux-yocto.inc
|
||||
|
||||
INSANE_SKIP:kernel-vmlinux = "ldflags"
|
||||
@@ -0,0 +1,5 @@
|
||||
LINUX_VERSION ?= "4.17.18"
|
||||
|
||||
SRCREV="80d901318acc389e6e09698a8927bf6eb29da314"
|
||||
|
||||
require linux-fsp2.inc
|
||||
@@ -0,0 +1,2 @@
|
||||
recipes-bsp - Anything with links to specific hardware or hardware configuration information
|
||||
recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
|
||||
@@ -0,0 +1,9 @@
|
||||
# We have a conf and classes directory, add to BBPATH
|
||||
BBPATH .= ":${LAYERDIR}/"
|
||||
|
||||
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
|
||||
${LAYERDIR}/recipes-*/*/*.bbappend"
|
||||
|
||||
BBFILE_COLLECTIONS += "genesis3-layer"
|
||||
BBFILE_PATTERN_genesis3-layer := "^${LAYERDIR}/"
|
||||
LAYERSERIES_COMPAT_genesis3-layer = "langdale mickledore"
|
||||
@@ -0,0 +1,24 @@
|
||||
KMACHINE = "aspeed"
|
||||
KERNEL_DEVICETREE = "${KMACHINE}-ast2500-evb.dtb"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-aspeed"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-aspeed"
|
||||
PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils-aspeed"
|
||||
UBOOT_MACHINE = "ast_g5_phy_defconfig"
|
||||
UBOOT_DEVICETREE = "ast2500-evb"
|
||||
|
||||
OBMC_POWER_SUPPLY_INSTANCES = "0 1"
|
||||
|
||||
MACHINE_FEATURES += " \
|
||||
obmc-bmc-state-mgmt \
|
||||
obmc-phosphor-fan-mgmt \
|
||||
obmc-phosphor-chassis-mgmt \
|
||||
obmc-chassis-state-mgmt \
|
||||
obmc-host-state-mgmt \
|
||||
"
|
||||
|
||||
require conf/machine/include/ast2500.inc
|
||||
require conf/machine/include/obmc-bsp-common.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "gen3-led-manager-config-native"
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
|
||||
# changes incompatibly
|
||||
LCONF_VERSION = "8"
|
||||
|
||||
BBPATH = "${TOPDIR}"
|
||||
BBFILES ?= ""
|
||||
|
||||
BBLAYERS ?= " \
|
||||
##OEROOT##/meta \
|
||||
##OEROOT##/meta-poky \
|
||||
##OEROOT##/meta-openembedded/meta-oe \
|
||||
##OEROOT##/meta-openembedded/meta-networking \
|
||||
##OEROOT##/meta-openembedded/meta-python \
|
||||
##OEROOT##/meta-phosphor \
|
||||
##OEROOT##/meta-aspeed \
|
||||
##OEROOT##/meta-ibm \
|
||||
##OEROOT##/meta-ibm/meta-genesis3 \
|
||||
"
|
||||
@@ -0,0 +1,255 @@
|
||||
#
|
||||
# This file is your local configuration file and is where all local user settings
|
||||
# are placed. The comments in this file give some guide to the options a new user
|
||||
# to the system might want to change but pretty much any configuration option can
|
||||
# be set in this file. More adventurous users can look at local.conf.extended
|
||||
# which contains other examples of configuration which can be placed in this file
|
||||
# but new users likely won't need any of them initially.
|
||||
#
|
||||
# Lines starting with the '#' character are commented out and in some cases the
|
||||
# default values are provided as comments to show people example syntax. Enabling
|
||||
# the option is a question of removing the # character and making any change to the
|
||||
# variable as required.
|
||||
|
||||
#
|
||||
# Machine Selection
|
||||
#
|
||||
MACHINE ??= "genesis3"
|
||||
|
||||
#
|
||||
# Where to place downloads
|
||||
#
|
||||
# During a first build the system will download many different source code tarballs
|
||||
# from various upstream projects. This can take a while, particularly if your network
|
||||
# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
|
||||
# can preserve this directory to speed up this part of subsequent builds. This directory
|
||||
# is safe to share between multiple builds on the same machine too.
|
||||
#
|
||||
# The default is a downloads directory under TOPDIR which is the build directory.
|
||||
#
|
||||
#DL_DIR ?= "${TOPDIR}/downloads"
|
||||
|
||||
#
|
||||
# Where to place shared-state files
|
||||
#
|
||||
# BitBake has the capability to accelerate builds based on previously built output.
|
||||
# This is done using "shared state" files which can be thought of as cache objects
|
||||
# and this option determines where those files are placed.
|
||||
#
|
||||
# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
|
||||
# from these files if no changes were made to the configuration. If changes were made
|
||||
# to the configuration, only shared state files where the state was still valid would
|
||||
# be used (done using checksums).
|
||||
#
|
||||
# The default is a sstate-cache directory under TOPDIR.
|
||||
#
|
||||
#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
|
||||
|
||||
#
|
||||
# Where to place the build output
|
||||
#
|
||||
# This option specifies where the bulk of the building work should be done and
|
||||
# where BitBake should place its temporary files and output. Keep in mind that
|
||||
# this includes the extraction and compilation of many applications and the toolchain
|
||||
# which can use Gigabytes of hard disk space.
|
||||
#
|
||||
# The default is a tmp directory under TOPDIR.
|
||||
#
|
||||
#TMPDIR = "${TOPDIR}/tmp"
|
||||
|
||||
#
|
||||
# Default policy config
|
||||
#
|
||||
# The distribution setting controls which policy settings are used as defaults.
|
||||
# The default value is fine for general Yocto project use, at least initially.
|
||||
# Ultimately when creating custom policy, people will likely end up subclassing
|
||||
# these defaults.
|
||||
#
|
||||
DISTRO ?= "openbmc-phosphor"
|
||||
# As an example of a subclass there is a "bleeding" edge policy configuration
|
||||
# where many versions are set to the absolute latest code from the upstream
|
||||
# source control systems. This is just mentioned here as an example, its not
|
||||
# useful to most new users.
|
||||
# DISTRO ?= "poky-bleeding"
|
||||
|
||||
#
|
||||
# Package Management configuration
|
||||
#
|
||||
# This variable lists which packaging formats to enable. Multiple package backends
|
||||
# can be enabled at once and the first item listed in the variable will be used
|
||||
# to generate the root filesystems.
|
||||
# Options are:
|
||||
# - 'package_deb' for debian style deb files
|
||||
# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
|
||||
# - 'package_rpm' for rpm style packages
|
||||
# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
|
||||
# We default to ipk:
|
||||
PACKAGE_CLASSES ?= "package_ipk"
|
||||
|
||||
#
|
||||
# SDK target architecture
|
||||
#
|
||||
# This variable specifies the architecture to build SDK items for and means
|
||||
# you can build the SDK packages for architectures other than the machine you are
|
||||
# running the build on (i.e. building i686 packages on an x86_64 host).
|
||||
# Supported values are i686, x86_64, aarch64
|
||||
#SDKMACHINE ?= "i686"
|
||||
|
||||
SANITY_TESTED_DISTROS:append ?= " *"
|
||||
|
||||
#
|
||||
# Extra image configuration defaults
|
||||
#
|
||||
# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
|
||||
# images. Some of these options are added to certain image types automatically. The
|
||||
# variable can contain the following options:
|
||||
# "dbg-pkgs" - add -dbg packages for all installed packages
|
||||
# (adds symbol information for debugging/profiling)
|
||||
# "src-pkgs" - add -src packages for all installed packages
|
||||
# (adds source code for debugging)
|
||||
# "dev-pkgs" - add -dev packages for all installed packages
|
||||
# (useful if you want to develop against libs in the image)
|
||||
# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
|
||||
# (useful if you want to run the package test suites)
|
||||
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
|
||||
# "tools-debug" - add debugging tools (gdb, strace)
|
||||
# "eclipse-debug" - add Eclipse remote debugging support
|
||||
# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
|
||||
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
|
||||
# "debug-tweaks" - make an image suitable for development
|
||||
# e.g. ssh root access has a blank password
|
||||
# There are other application targets that can be used here too, see
|
||||
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
|
||||
# We default to enabling the debugging tweaks.
|
||||
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
|
||||
|
||||
#
|
||||
# Additional image features
|
||||
#
|
||||
# The following is a list of additional classes to use when building images which
|
||||
# enable extra features. Some available options which can be included in this variable
|
||||
# are:
|
||||
# - 'buildstats' collect build statistics
|
||||
USER_CLASSES ?= "buildstats"
|
||||
|
||||
#
|
||||
# Runtime testing of images
|
||||
#
|
||||
# The build system can test booting virtual machine images under qemu (an emulator)
|
||||
# after any root filesystems are created and run tests against those images. It can also
|
||||
# run tests against any SDK that are built. To enable this uncomment these lines.
|
||||
# See classes/test{image,sdk}.bbclass for further details.
|
||||
#IMAGE_CLASSES += "testimage testsdk"
|
||||
#TESTIMAGE_AUTO_qemuall = "1"
|
||||
|
||||
#
|
||||
# Interactive shell configuration
|
||||
#
|
||||
# Under certain circumstances the system may need input from you and to do this it
|
||||
# can launch an interactive shell. It needs to do this since the build is
|
||||
# multithreaded and needs to be able to handle the case where more than one parallel
|
||||
# process may require the user's attention. The default is iterate over the available
|
||||
# terminal types to find one that works.
|
||||
#
|
||||
# Examples of the occasions this may happen are when resolving patches which cannot
|
||||
# be applied, to use the devshell or the kernel menuconfig
|
||||
#
|
||||
# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
|
||||
# Note: currently, Konsole support only works for KDE 3.x due to the way
|
||||
# newer Konsole versions behave
|
||||
#OE_TERMINAL = "auto"
|
||||
# By default disable interactive patch resolution (tasks will just fail instead):
|
||||
PATCHRESOLVE = "noop"
|
||||
|
||||
#
|
||||
# Disk Space Monitoring during the build
|
||||
#
|
||||
# Monitor the disk space during the build. If there is less that 1GB of space or less
|
||||
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
|
||||
# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
|
||||
# of the build. The reason for this is that running completely out of space can corrupt
|
||||
# files and damages the build in ways which may not be easily recoverable.
|
||||
# It's necessary to monitor /tmp, if there is no space left the build will fail
|
||||
# with very exotic errors.
|
||||
BB_DISKMON_DIRS ??= "\
|
||||
STOPTASKS,${TMPDIR},1G,100K \
|
||||
STOPTASKS,${DL_DIR},1G,100K \
|
||||
STOPTASKS,${SSTATE_DIR},1G,100K \
|
||||
STOPTASKS,/tmp,100M,100K \
|
||||
ABORT,${TMPDIR},100M,1K \
|
||||
ABORT,${DL_DIR},100M,1K \
|
||||
ABORT,${SSTATE_DIR},100M,1K \
|
||||
ABORT,/tmp,10M,1K"
|
||||
|
||||
#
|
||||
# Shared-state files from other locations
|
||||
#
|
||||
# As mentioned above, shared state files are prebuilt cache data objects which can be
|
||||
# used to accelerate build time. This variable can be used to configure the system
|
||||
# to search other mirror locations for these objects before it builds the data itself.
|
||||
#
|
||||
# This can be a filesystem directory, or a remote url such as http or ftp. These
|
||||
# would contain the sstate-cache results from previous builds (possibly from other
|
||||
# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
|
||||
# cache locations to check for the shared objects.
|
||||
# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
|
||||
# at the end as shown in the examples below. This will be substituted with the
|
||||
# correct path within the directory structure.
|
||||
#SSTATE_MIRRORS ?= "\
|
||||
#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
|
||||
#file://.* file:///some/local/dir/sstate/PATH"
|
||||
|
||||
#
|
||||
# Yocto Project SState Mirror
|
||||
#
|
||||
# The Yocto Project has prebuilt artefacts available for its releases, you can enable
|
||||
# use of these by uncommenting the following line. This will mean the build uses
|
||||
# the network to check for artefacts at the start of builds, which does slow it down
|
||||
# equally, it will also speed up the builds by not having to build things if they are
|
||||
# present in the cache. It assumes you can download something faster than you can build it
|
||||
# which will depend on your network.
|
||||
#
|
||||
#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH"
|
||||
|
||||
#
|
||||
# Qemu configuration
|
||||
#
|
||||
# By default native qemu will build with a builtin VNC server where graphical output can be
|
||||
# seen. The line below enables the SDL UI frontend too.
|
||||
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
|
||||
# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
|
||||
# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
|
||||
#ASSUME_PROVIDED += "libsdl2-native"
|
||||
|
||||
# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
|
||||
# a handy set of menus for controlling the emulator.
|
||||
#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"
|
||||
|
||||
#
|
||||
# Hash Equivalence
|
||||
#
|
||||
# Enable support for automatically running a local hash equivalence server and
|
||||
# instruct bitbake to use a hash equivalence aware signature generator. Hash
|
||||
# equivalence improves reuse of sstate by detecting when a given sstate
|
||||
# artifact can be reused as equivalent, even if the current task hash doesn't
|
||||
# match the one that generated the artifact.
|
||||
#
|
||||
# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
|
||||
#
|
||||
#BB_HASHSERVE = "auto"
|
||||
#BB_SIGNATURE_HANDLER = "OEEquivHash"
|
||||
|
||||
#
|
||||
# Memory Resident Bitbake
|
||||
#
|
||||
# Bitbake's server component can stay in memory after the UI for the current command
|
||||
# has completed. This means subsequent commands can run faster since there is no need
|
||||
# for bitbake to reload cache files and so on. Number is in seconds, after which the
|
||||
# server will shut down.
|
||||
#
|
||||
#BB_SERVER_TIMEOUT = "60"
|
||||
|
||||
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
|
||||
# track the version of this file when it was generated. This can safely be ignored if
|
||||
# this doesn't mean anything to you.
|
||||
CONF_VERSION = "2"
|
||||
@@ -0,0 +1,27 @@
|
||||
SUMMARY = "YAML configuration for IBM Genesis3"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit allarch
|
||||
|
||||
SRC_URI:genesis3 = " \
|
||||
file://genesis3-ipmi-fru.yaml \
|
||||
file://genesis3-ipmi-fru-properties.yaml \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install:genesis3() {
|
||||
install -m 0644 -D genesis3-ipmi-fru.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-fru-read.yaml
|
||||
install -m 0644 -D genesis3-ipmi-fru-properties.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
|
||||
}
|
||||
|
||||
FILES:${PN}-dev = " \
|
||||
${datadir}/${BPN}/ipmi-fru-read.yaml \
|
||||
${datadir}/${BPN}/ipmi-extra-properties.yaml \
|
||||
"
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
/system/chassis/motherboard/bmc/ethernet0:
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
|
||||
/system/chassis/motherboard/bmc/ethernet1:
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'false'
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
0:
|
||||
/system/chassis/motherboard/bmc/ethernet0:
|
||||
entityID: 6
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Item.NetworkInterface:
|
||||
MACAddress:
|
||||
IPMIFruProperty: Custom Field 2
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item.Ethernet:
|
||||
/system/chassis/motherboard/bmc/ethernet1:
|
||||
entityID: 6
|
||||
entityInstance: 2
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Item.NetworkInterface:
|
||||
MACAddress:
|
||||
IPMIFruProperty: Custom Field 3
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item.Ethernet:
|
||||
|
||||
+1952
File diff suppressed because it is too large
Load Diff
+7
@@ -0,0 +1,7 @@
|
||||
FILESEXTRAPATHS:append := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI:append = " file://inventory.yaml"
|
||||
|
||||
do_install:append() {
|
||||
install -D ${WORKDIR}/inventory.yaml ${D}${base_datadir}/events.d/inventory.yaml
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
SYSFS_PATH=/sys/bus/i2c/devices/25-0051/eeprom
|
||||
FRUID=0
|
||||
@@ -0,0 +1,27 @@
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
FILESEXTRAPATHS:prepend:genesis3 := "${THISDIR}/${PN}:"
|
||||
|
||||
DEPENDS:append:genesis3 = " genesis3-yaml-config"
|
||||
|
||||
EXTRA_OECONF:genesis3 = " \
|
||||
YAML_GEN=${STAGING_DIR_HOST}${datadir}/genesis3-yaml-config/ipmi-fru-read.yaml \
|
||||
PROP_YAML=${STAGING_DIR_HOST}${datadir}/genesis3-yaml-config/ipmi-extra-properties.yaml \
|
||||
"
|
||||
|
||||
EEPROM_NAMES = "motherboard"
|
||||
|
||||
EEPROMFMT = "system/chassis/{0}"
|
||||
EEPROM_ESCAPEDFMT = "system-chassis-{0}"
|
||||
EEPROMS = "${@compose_list(d, 'EEPROMFMT', 'EEPROM_NAMES')}"
|
||||
EEPROMS_ESCAPED = "${@compose_list(d, 'EEPROM_ESCAPEDFMT', 'EEPROM_NAMES')}"
|
||||
|
||||
ENVFMT = "obmc/eeproms/{0}"
|
||||
SYSTEMD_ENVIRONMENT_FILE:${PN}:append:genesis3 := " ${@compose_list(d, 'ENVFMT', 'EEPROMS')}"
|
||||
|
||||
TMPL = "obmc-read-eeprom@.service"
|
||||
TGT = "${SYSTEMD_DEFAULT_TARGET}"
|
||||
INSTFMT = "obmc-read-eeprom@{0}.service"
|
||||
FMT = "../${TMPL}:${TGT}.wants/${INSTFMT}"
|
||||
|
||||
SYSTEMD_LINK:${PN}:append:genesis3 := " ${@compose_list(d, 'FMT', 'EEPROMS_ESCAPED')}"
|
||||
@@ -0,0 +1,19 @@
|
||||
SUMMARY = "Phosphor LED Group Management for Romulus"
|
||||
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,375 @@
|
||||
bmc_booted:
|
||||
power:
|
||||
Action: 'On'
|
||||
LED_ID_DWR_FRNT_P:
|
||||
Action: 'Off'
|
||||
LED_ID_DWR_BACK_P:
|
||||
Action: 'Off'
|
||||
|
||||
power_on:
|
||||
power:
|
||||
Action: 'On'
|
||||
led_id_dwr:
|
||||
LED_ID_DWR_FRNT_P:
|
||||
Action: 'On'
|
||||
LED_ID_DWR_BACK_P:
|
||||
Action: 'On'
|
||||
led_pwr_dwr:
|
||||
LED_PWR_DWR_FRNT:
|
||||
Action: 'On'
|
||||
LED_PWR_DWR_BACK:
|
||||
Action: 'On'
|
||||
led_id_cpu0:
|
||||
LED_ID_CPU0:
|
||||
Action: 'On'
|
||||
led_id_cpu1:
|
||||
LED_ID_CPU1:
|
||||
Action: 'On'
|
||||
led_id_cpu2:
|
||||
LED_ID_CPU2:
|
||||
Action: 'On'
|
||||
led_id_cpu3:
|
||||
LED_ID_CPU3:
|
||||
Action: 'On'
|
||||
led_rssd01_power:
|
||||
rssd01_power_green:
|
||||
Action: 'On'
|
||||
led_rssd02_power:
|
||||
rssd02_power_green:
|
||||
Action: 'On'
|
||||
led_rssd03_power:
|
||||
rssd03_power_green:
|
||||
Action: 'On'
|
||||
led_rssd04_power:
|
||||
rssd04_power_green:
|
||||
Action: 'On'
|
||||
led_rssd05_power:
|
||||
rssd05_power_green:
|
||||
Action: 'On'
|
||||
led_rssd06_power:
|
||||
rssd06_power_green:
|
||||
Action: 'On'
|
||||
led_rssd07_power:
|
||||
rssd07_power_green:
|
||||
Action: 'On'
|
||||
led_rssd08_power:
|
||||
rssd08_power_green:
|
||||
Action: 'On'
|
||||
led_rssd09_power:
|
||||
rssd09_power_green:
|
||||
Action: 'On'
|
||||
led_rssd10_power:
|
||||
rssd10_power_green:
|
||||
Action: 'On'
|
||||
led_rssd11_power:
|
||||
rssd11_power_green:
|
||||
Action: 'On'
|
||||
led_rssd12_power:
|
||||
rssd12_power_green:
|
||||
Action: 'On'
|
||||
led_rssd13_power:
|
||||
rssd13_power_green:
|
||||
Action: 'On'
|
||||
led_rssd14_power:
|
||||
rssd14_power_green:
|
||||
Action: 'On'
|
||||
led_rssd15_power:
|
||||
rssd15_power_green:
|
||||
Action: 'On'
|
||||
led_rssd16_power:
|
||||
rssd16_power_green:
|
||||
Action: 'On'
|
||||
led_rssd17_power:
|
||||
rssd17_power_green:
|
||||
Action: 'On'
|
||||
led_rssd18_power:
|
||||
rssd18_power_green:
|
||||
Action: 'On'
|
||||
led_rssd19_power:
|
||||
rssd19_power_green:
|
||||
Action: 'On'
|
||||
led_rssd20_power:
|
||||
rssd20_power_green:
|
||||
Action: 'On'
|
||||
led_rssd21_power:
|
||||
rssd21_power_green:
|
||||
Action: 'On'
|
||||
led_rssd22_power:
|
||||
rssd22_power_green:
|
||||
Action: 'On'
|
||||
led_rssd23_power:
|
||||
rssd23_power_green:
|
||||
Action: 'On'
|
||||
led_rssd24_power:
|
||||
rssd24_power_green:
|
||||
Action: 'On'
|
||||
led_rssd25_power:
|
||||
rssd25_power_green:
|
||||
Action: 'On'
|
||||
led_rssd26_power:
|
||||
rssd26_power_green:
|
||||
Action: 'On'
|
||||
led_rssd27_power:
|
||||
rssd27_power_green:
|
||||
Action: 'On'
|
||||
led_rssd28_power:
|
||||
rssd28_power_green:
|
||||
Action: 'On'
|
||||
led_rssd29_power:
|
||||
rssd29_power_green:
|
||||
Action: 'On'
|
||||
led_rssd30_power:
|
||||
rssd30_power_green:
|
||||
Action: 'On'
|
||||
led_rssd31_power:
|
||||
rssd31_power_green:
|
||||
Action: 'On'
|
||||
led_rssd32_power:
|
||||
rssd32_power_green :
|
||||
Action: 'On'
|
||||
led_m2_ssb_ssd1_power:
|
||||
m2_ssb_ssd1_power_green:
|
||||
Action: 'On'
|
||||
led_m2_ssb_ssd2_power:
|
||||
m2_ssb_ssd2_power_green:
|
||||
Action: 'On'
|
||||
led_id_dimm_a0:
|
||||
LED_ID_DIMM_A0:
|
||||
Action: 'On'
|
||||
led_id_dimm_a1:
|
||||
LED_ID_DIMM_A1:
|
||||
Action: 'On'
|
||||
led_id_dimm_b0:
|
||||
LED_ID_DIMM_B0:
|
||||
Action: 'On'
|
||||
led_id_dimm_b1:
|
||||
LED_ID_DIMM_B1:
|
||||
Action: 'On'
|
||||
led_id_dimm_c0:
|
||||
LED_ID_DIMM_C0:
|
||||
Action: 'On'
|
||||
led_id_dimm_c1:
|
||||
LED_ID_DIMM_C1:
|
||||
Action: 'On'
|
||||
led_id_dimm_d0:
|
||||
LED_ID_DIMM_D0:
|
||||
Action: 'On'
|
||||
led_id_dimm_d1:
|
||||
LED_ID_DIMM_D1:
|
||||
Action: 'On'
|
||||
led_id_dimm_e0:
|
||||
LED_ID_DIMM_E0:
|
||||
Action: 'On'
|
||||
led_id_dimm_e1:
|
||||
LED_ID_DIMM_E1:
|
||||
Action: 'On'
|
||||
led_id_dimm_f0:
|
||||
LED_ID_DIMM_F0:
|
||||
Action: 'On'
|
||||
led_id_dimm_f1:
|
||||
LED_ID_DIMM_F1:
|
||||
Action: 'On'
|
||||
led_id_dimm_g0:
|
||||
LED_ID_DIMM_G0:
|
||||
Action: 'On'
|
||||
led_id_dimm_g1:
|
||||
LED_ID_DIMM_G1:
|
||||
Action: 'On'
|
||||
led_id_dimm_h0:
|
||||
LED_ID_DIMM_H0:
|
||||
Action: 'On'
|
||||
led_id_dimm_h1:
|
||||
LED_ID_DIMM_H1:
|
||||
Action: 'On'
|
||||
led_id_dimm_j0:
|
||||
LED_ID_DIMM_J0:
|
||||
Action: 'On'
|
||||
led_id_dimm_j1:
|
||||
LED_ID_DIMM_J1:
|
||||
Action: 'On'
|
||||
led_id_dimm_k0:
|
||||
LED_ID_DIMM_K0:
|
||||
Action: 'On'
|
||||
led_id_dimm_k1:
|
||||
LED_ID_DIMM_K1:
|
||||
Action: 'On'
|
||||
led_id_dimm_l0:
|
||||
LED_ID_DIMM_L0:
|
||||
Action: 'On'
|
||||
led_id_dimm_l1:
|
||||
LED_ID_DIMM_L1:
|
||||
Action: 'On'
|
||||
led_id_dimm_m0:
|
||||
LED_ID_DIMM_M0:
|
||||
Action: 'On'
|
||||
led_id_dimm_m1:
|
||||
LED_ID_DIMM_M1:
|
||||
Action: 'On'
|
||||
led_id_dimm_n0:
|
||||
LED_ID_DIMM_N0:
|
||||
Action: 'On'
|
||||
led_id_dimm_n1:
|
||||
LED_ID_DIMM_N1:
|
||||
Action: 'On'
|
||||
led_id_dimm_p0:
|
||||
LED_ID_DIMM_P0:
|
||||
Action: 'On'
|
||||
led_id_dimm_p1:
|
||||
LED_ID_DIMM_P1:
|
||||
Action: 'On'
|
||||
led_id_dimm_q0:
|
||||
LED_ID_DIMM_Q0:
|
||||
Action: 'On'
|
||||
led_id_dimm_q1:
|
||||
LED_ID_DIMM_Q1:
|
||||
Action: 'On'
|
||||
led_id_dimm_r0:
|
||||
LED_ID_DIMM_R0:
|
||||
Action: 'On'
|
||||
led_id_dimm_r1:
|
||||
LED_ID_DIMM_R1:
|
||||
Action: 'On'
|
||||
led_id_dimm_s0:
|
||||
LED_ID_DIMM_S0:
|
||||
Action: 'On'
|
||||
led_id_dimm_s1:
|
||||
LED_ID_DIMM_S1:
|
||||
Action: 'On'
|
||||
led_id_dimm_t0:
|
||||
LED_ID_DIMM_T0:
|
||||
Action: 'On'
|
||||
led_id_dimm_t1:
|
||||
LED_ID_DIMM_T1:
|
||||
Action: 'On'
|
||||
led_id_dimm_u0:
|
||||
LED_ID_DIMM_U0:
|
||||
Action: 'On'
|
||||
led_id_dimm_u1:
|
||||
LED_ID_DIMM_U1:
|
||||
Action: 'On'
|
||||
led_id_dimm_v0:
|
||||
LED_ID_DIMM_V0:
|
||||
Action: 'On'
|
||||
led_id_dimm_v1:
|
||||
LED_ID_DIMM_V1:
|
||||
Action: 'On'
|
||||
led_id_dimm_w0:
|
||||
LED_ID_DIMM_W0:
|
||||
Action: 'On'
|
||||
led_id_dimm_w1:
|
||||
LED_ID_DIMM_W1:
|
||||
Action: 'On'
|
||||
led_id_dimm_x0:
|
||||
LED_ID_DIMM_X0:
|
||||
Action: 'On'
|
||||
led_id_dimm_x1:
|
||||
LED_ID_DIMM_X1:
|
||||
Action: 'On'
|
||||
led_id_dimm_y0:
|
||||
LED_ID_DIMM_Y0:
|
||||
Action: 'On'
|
||||
led_id_dimm_y1:
|
||||
LED_ID_DIMM_Y1:
|
||||
Action: 'On'
|
||||
led_id_dimm_z0:
|
||||
LED_ID_DIMM_Z0:
|
||||
Action: 'On'
|
||||
led_id_dimm_z1:
|
||||
LED_ID_DIMM_Z1:
|
||||
Action: 'On'
|
||||
led_id_rssd01:
|
||||
LED_ID_RSSD01:
|
||||
Action: 'On'
|
||||
led_id_rssd02:
|
||||
LED_ID_RSSD02:
|
||||
Action: 'On'
|
||||
led_id_rssd03:
|
||||
LED_ID_RSSD03:
|
||||
Action: 'On'
|
||||
led_id_rssd04:
|
||||
LED_ID_RSSD04:
|
||||
Action: 'On'
|
||||
led_id_rssd05:
|
||||
LED_ID_RSSD05:
|
||||
Action: 'On'
|
||||
led_id_rssd06:
|
||||
LED_ID_RSSD06:
|
||||
Action: 'On'
|
||||
led_id_rssd07:
|
||||
LED_ID_RSSD07:
|
||||
Action: 'On'
|
||||
led_id_rssd08:
|
||||
LED_ID_RSSD08:
|
||||
Action: 'On'
|
||||
led_id_rssd09:
|
||||
LED_ID_RSSD09:
|
||||
Action: 'On'
|
||||
led_id_rssd10:
|
||||
LED_ID_RSSD10:
|
||||
Action: 'On'
|
||||
led_id_rssd11:
|
||||
LED_ID_RSSD11:
|
||||
Action: 'On'
|
||||
led_id_rssd12:
|
||||
LED_ID_RSSD12:
|
||||
Action: 'On'
|
||||
led_id_rssd13:
|
||||
LED_ID_RSSD13:
|
||||
Action: 'On'
|
||||
led_id_rssd14:
|
||||
LED_ID_RSSD14:
|
||||
Action: 'On'
|
||||
led_id_rssd15:
|
||||
LED_ID_RSSD15:
|
||||
Action: 'On'
|
||||
led_id_rssd16:
|
||||
LED_ID_RSSD16:
|
||||
Action: 'On'
|
||||
led_id_rssd17:
|
||||
LED_ID_RSSD17:
|
||||
Action: 'On'
|
||||
led_id_rssd18:
|
||||
LED_ID_RSSD18:
|
||||
Action: 'On'
|
||||
led_id_rssd19:
|
||||
LED_ID_RSSD19:
|
||||
Action: 'On'
|
||||
led_id_rssd20:
|
||||
LED_ID_RSSD20:
|
||||
Action: 'On'
|
||||
led_id_rssd21:
|
||||
LED_ID_RSSD21:
|
||||
Action: 'On'
|
||||
led_id_rssd22:
|
||||
LED_ID_RSSD22:
|
||||
Action: 'On'
|
||||
led_id_rssd23:
|
||||
LED_ID_RSSD23:
|
||||
Action: 'On'
|
||||
led_id_rssd24:
|
||||
LED_ID_RSSD24:
|
||||
Action: 'On'
|
||||
led_id_rssd25:
|
||||
LED_ID_RSSD25:
|
||||
Action: 'On'
|
||||
led_id_rssd26:
|
||||
LED_ID_RSSD26:
|
||||
Action: 'On'
|
||||
led_id_rssd27:
|
||||
LED_ID_RSSD27:
|
||||
Action: 'On'
|
||||
led_id_rssd28:
|
||||
LED_ID_RSSD28:
|
||||
Action: 'On'
|
||||
led_id_rssd29:
|
||||
LED_ID_RSSD29:
|
||||
Action: 'On'
|
||||
led_id_rssd30:
|
||||
LED_ID_RSSD30:
|
||||
Action: 'On'
|
||||
led_id_rssd31:
|
||||
LED_ID_RSSD31:
|
||||
Action: 'On'
|
||||
led_id_rssd32:
|
||||
LED_ID_RSSD32:
|
||||
Action: 'On'
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"eth0":"ethernet0",
|
||||
"eth1":"ethernet1"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
PACKAGECONFIG:append = " sync-mac"
|
||||
SRC_URI += " \
|
||||
file://config.json \
|
||||
"
|
||||
FILES:${PN} += "${datadir}/network/*.json"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${datadir}/network/
|
||||
install -m 0644 ${WORKDIR}/config.json ${D}${datadir}/network/
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
RDEPENDS:${PN}-extras:append = " \
|
||||
phosphor-software-manager \
|
||||
phosphor-ipmi-flash \
|
||||
phosphor-post-code-manager \
|
||||
phosphor-host-postd \
|
||||
phosphor-state-manager-chassis \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN}-devtools:append = " \
|
||||
entity-manager \
|
||||
webui-vue \
|
||||
ldd \
|
||||
ethtool \
|
||||
net-tools \
|
||||
lmsensors-sensors \
|
||||
screen \
|
||||
ipmitool \
|
||||
"
|
||||
|
||||
PACKAGES += " \
|
||||
${PN}-chassis \
|
||||
${PN}-fans \
|
||||
${PN}-system \
|
||||
"
|
||||
PROVIDES += " \
|
||||
virtual/obmc-chassis-mgmt \
|
||||
virtual/obmc-fan-mgmt \
|
||||
virtual/obmc-system-mgmt \
|
||||
"
|
||||
|
||||
RPROVIDES:${PN}-system += "virtual-obmc-system-mgmt"
|
||||
RPROVIDES:${PN}-fans += "virtual-obmc-fan-mgmt"
|
||||
RPROVIDES:${PN}-chassis += "virtual-obmc-chassis-mgmt"
|
||||
SUMMARY:${PN}-chassis = "IBM Chassis"
|
||||
RDEPENDS:${PN}-chassis += " \
|
||||
phosphor-post-code-manager \
|
||||
phosphor-host-postd \
|
||||
phosphor-state-manager-chassis \
|
||||
"
|
||||
|
||||
SUMMARY:${PN}-flash = "IBM Flash"
|
||||
RDEPENDS:${PN}-flash = " \
|
||||
phosphor-software-manager \
|
||||
phosphor-ipmi-flash \
|
||||
"
|
||||
|
||||
SUMMARY:${PN}-fans = "IBM Fans"
|
||||
RDEPENDS:${PN}-fans = " \
|
||||
phosphor-pid-control \
|
||||
"
|
||||
@@ -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 += "palmetto-layer"
|
||||
BBFILE_PATTERN_palmetto-layer := "^${LAYERDIR}/"
|
||||
LAYERSERIES_COMPAT_palmetto-layer = "langdale mickledore"
|
||||
@@ -0,0 +1,25 @@
|
||||
KMACHINE = "aspeed"
|
||||
KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
|
||||
|
||||
require conf/machine/include/ast2400.inc
|
||||
require conf/machine/include/obmc-bsp-common.inc
|
||||
require conf/machine/include/openpower.inc
|
||||
require conf/machine/include/p8.inc
|
||||
|
||||
UBOOT_MACHINE = "evb-ast2400_defconfig"
|
||||
UBOOT_DEVICETREE = "ast2400-palmetto"
|
||||
UBOOT_ENTRYPOINT = "0x40008000"
|
||||
UBOOT_LOADADDRESS = "0x40008000"
|
||||
|
||||
FLASH_SIZE = "32768"
|
||||
|
||||
PHOSPHOR_MRW_LICENSE = "Apache-2.0"
|
||||
PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
|
||||
PHOSPHOR_MRW_URI = "git://github.com/open-power/palmetto-xml;branch=master;protocol=https"
|
||||
PHOSPHOR_MRW_REV = "82818682f2c2009c30d700df6d5f8897a3096e4f"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "palmetto-led-manager-config-native"
|
||||
PREFERRED_PROVIDER_virtual/openpower-occ-control-config-native = "palmetto-occ-control-config-native"
|
||||
|
||||
QB_MACHINE:palmetto = "-machine palmetto-bmc"
|
||||
QB_MEM:palmetto = "-m 512"
|
||||
@@ -0,0 +1,18 @@
|
||||
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
|
||||
# changes incompatibly
|
||||
LCONF_VERSION = "8"
|
||||
|
||||
BBPATH = "${TOPDIR}"
|
||||
BBFILES ?= ""
|
||||
|
||||
BBLAYERS ?= " \
|
||||
##OEROOT##/meta \
|
||||
##OEROOT##/meta-openembedded/meta-oe \
|
||||
##OEROOT##/meta-openembedded/meta-networking \
|
||||
##OEROOT##/meta-openembedded/meta-perl \
|
||||
##OEROOT##/meta-openembedded/meta-python \
|
||||
##OEROOT##/meta-phosphor \
|
||||
##OEROOT##/meta-aspeed \
|
||||
##OEROOT##/meta-openpower \
|
||||
##OEROOT##/meta-ibm/meta-palmetto \
|
||||
"
|
||||
@@ -0,0 +1,2 @@
|
||||
Common targets are:
|
||||
obmc-phosphor-image
|
||||
@@ -0,0 +1,277 @@
|
||||
#
|
||||
# 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 ?= "qemumips64"
|
||||
#MACHINE ?= "qemuppc"
|
||||
#MACHINE ?= "qemux86"
|
||||
#MACHINE ?= "qemux86-64"
|
||||
#
|
||||
# There are also the following hardware board target machines included for
|
||||
# demonstration purposes:
|
||||
#
|
||||
#MACHINE ?= "beaglebone-yocto"
|
||||
#MACHINE ?= "genericx86"
|
||||
#MACHINE ?= "genericx86-64"
|
||||
#MACHINE ?= "edgerouter"
|
||||
#
|
||||
# This sets the default machine to be qemux86 if no other machine is selected:
|
||||
MACHINE ??= "palmetto"
|
||||
|
||||
#
|
||||
# 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-openpower"
|
||||
# As an example of a subclass there is a "bleeding" edge policy configuration
|
||||
# where many versions are set to the absolute latest code from the upstream
|
||||
# source control systems. This is just mentioned here as an example, its not
|
||||
# useful to most new users.
|
||||
# DISTRO ?= "poky-bleeding"
|
||||
|
||||
#
|
||||
# Package Management configuration
|
||||
#
|
||||
# This variable lists which packaging formats to enable. Multiple package backends
|
||||
# can be enabled at once and the first item listed in the variable will be used
|
||||
# to generate the root filesystems.
|
||||
# Options are:
|
||||
# - 'package_deb' for debian style deb files
|
||||
# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
|
||||
# - 'package_rpm' for rpm style packages
|
||||
# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
|
||||
# We default to ipk:
|
||||
PACKAGE_CLASSES ?= "package_ipk"
|
||||
|
||||
#
|
||||
# SDK target architecture
|
||||
#
|
||||
# This variable specifies the architecture to build SDK items for and means
|
||||
# you can build the SDK packages for architectures other than the machine you are
|
||||
# running the build on (i.e. building i686 packages on an x86_64 host).
|
||||
# Supported values are i686, x86_64, aarch64
|
||||
#SDKMACHINE ?= "i686"
|
||||
|
||||
SANITY_TESTED_DISTROS:append ?= " 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)
|
||||
# "src-pkgs" - add -src packages for all installed packages
|
||||
# (adds source code for debugging)
|
||||
# "dev-pkgs" - add -dev packages for all installed packages
|
||||
# (useful if you want to develop against libs in the image)
|
||||
# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
|
||||
# (useful if you want to run the package test suites)
|
||||
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
|
||||
# "tools-debug" - add debugging tools (gdb, strace)
|
||||
# "eclipse-debug" - add Eclipse remote debugging support
|
||||
# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
|
||||
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
|
||||
# "debug-tweaks" - make an image suitable for development
|
||||
# e.g. ssh root access has a blank password
|
||||
# There are other application targets that can be used here too, see
|
||||
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
|
||||
# We default to enabling the debugging tweaks.
|
||||
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
|
||||
|
||||
#
|
||||
# Additional image features
|
||||
#
|
||||
# The following is a list of additional classes to use when building images which
|
||||
# enable extra features. Some available options which can be included in this variable
|
||||
# are:
|
||||
# - 'buildstats' collect build statistics
|
||||
USER_CLASSES ?= "buildstats"
|
||||
|
||||
#
|
||||
# Runtime testing of images
|
||||
#
|
||||
# The build system can test booting virtual machine images under qemu (an emulator)
|
||||
# after any root filesystems are created and run tests against those images. It can also
|
||||
# run tests against any SDK that are built. To enable this uncomment these lines.
|
||||
# See classes/test{image,sdk}.bbclass for further details.
|
||||
#IMAGE_CLASSES += "testimage testsdk"
|
||||
#TESTIMAGE_AUTO_qemuall = "1"
|
||||
|
||||
#
|
||||
# Interactive shell configuration
|
||||
#
|
||||
# Under certain circumstances the system may need input from you and to do this it
|
||||
# can launch an interactive shell. It needs to do this since the build is
|
||||
# multithreaded and needs to be able to handle the case where more than one parallel
|
||||
# process may require the user's attention. The default is iterate over the available
|
||||
# terminal types to find one that works.
|
||||
#
|
||||
# Examples of the occasions this may happen are when resolving patches which cannot
|
||||
# be applied, to use the devshell or the kernel menuconfig
|
||||
#
|
||||
# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
|
||||
# Note: currently, Konsole support only works for KDE 3.x due to the way
|
||||
# newer Konsole versions behave
|
||||
#OE_TERMINAL = "auto"
|
||||
# By default disable interactive patch resolution (tasks will just fail instead):
|
||||
PATCHRESOLVE = "noop"
|
||||
|
||||
#
|
||||
# Disk Space Monitoring during the build
|
||||
#
|
||||
# Monitor the disk space during the build. If there is less that 1GB of space or less
|
||||
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
|
||||
# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
|
||||
# of the build. The reason for this is that running completely out of space can corrupt
|
||||
# files and damages the build in ways which may not be easily recoverable.
|
||||
# It's necessary to monitor /tmp, if there is no space left the build will fail
|
||||
# with very exotic errors.
|
||||
BB_DISKMON_DIRS ??= "\
|
||||
STOPTASKS,${TMPDIR},1G,100K \
|
||||
STOPTASKS,${DL_DIR},1G,100K \
|
||||
STOPTASKS,${SSTATE_DIR},1G,100K \
|
||||
STOPTASKS,/tmp,100M,100K \
|
||||
HALT,${TMPDIR},100M,1K \
|
||||
HALT,${DL_DIR},100M,1K \
|
||||
HALT,${SSTATE_DIR},100M,1K \
|
||||
HALT,/tmp,10M,1K"
|
||||
|
||||
#
|
||||
# Shared-state files from other locations
|
||||
#
|
||||
# As mentioned above, shared state files are prebuilt cache data objects which can be
|
||||
# used to accelerate build time. This variable can be used to configure the system
|
||||
# to search other mirror locations for these objects before it builds the data itself.
|
||||
#
|
||||
# This can be a filesystem directory, or a remote url such as http or ftp. These
|
||||
# would contain the sstate-cache results from previous builds (possibly from other
|
||||
# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
|
||||
# cache locations to check for the shared objects.
|
||||
# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
|
||||
# at the end as shown in the examples below. This will be substituted with the
|
||||
# correct path within the directory structure.
|
||||
#SSTATE_MIRRORS ?= "\
|
||||
#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
|
||||
#file://.* file:///some/local/dir/sstate/PATH"
|
||||
|
||||
#
|
||||
# Yocto Project SState Mirror
|
||||
#
|
||||
# The Yocto Project has prebuilt artefacts available for its releases, you can enable
|
||||
# use of these by uncommenting the following line. This will mean the build uses
|
||||
# the network to check for artefacts at the start of builds, which does slow it down
|
||||
# equally, it will also speed up the builds by not having to build things if they are
|
||||
# present in the cache. It assumes you can download something faster than you can build it
|
||||
# which will depend on your network.
|
||||
#
|
||||
#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH"
|
||||
|
||||
#
|
||||
# Qemu configuration
|
||||
#
|
||||
# By default native qemu will build with a builtin VNC server where graphical output can be
|
||||
# seen. The line below enables the SDL UI frontend too.
|
||||
#PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
|
||||
PACKAGECONFIG:append:pn-qemu-native = " sdl"
|
||||
PACKAGECONFIG:append:pn-nativesdk-qemu = " sdl"
|
||||
# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
|
||||
# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
|
||||
#ASSUME_PROVIDED += "libsdl2-native"
|
||||
|
||||
# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
|
||||
# a handy set of menus for controlling the emulator.
|
||||
#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"
|
||||
|
||||
#
|
||||
# Hash Equivalence
|
||||
#
|
||||
# Enable support for automatically running a local hash equivalence server and
|
||||
# instruct bitbake to use a hash equivalence aware signature generator. Hash
|
||||
# equivalence improves reuse of sstate by detecting when a given sstate
|
||||
# artifact can be reused as equivalent, even if the current task hash doesn't
|
||||
# match the one that generated the artifact.
|
||||
#
|
||||
# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
|
||||
#
|
||||
#BB_HASHSERVE = "auto"
|
||||
#BB_SIGNATURE_HANDLER = "OEEquivHash"
|
||||
|
||||
#
|
||||
# Memory Resident Bitbake
|
||||
#
|
||||
# Bitbake's server component can stay in memory after the UI for the current command
|
||||
# has completed. This means subsequent commands can run faster since there is no need
|
||||
# for bitbake to reload cache files and so on. Number is in seconds, after which the
|
||||
# server will shut down.
|
||||
#
|
||||
#BB_SERVER_TIMEOUT = "60"
|
||||
|
||||
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
|
||||
# track the version of this file when it was generated. This can safely be ignored if
|
||||
# this doesn't mean anything to you.
|
||||
CONF_VERSION = "2"
|
||||
@@ -0,0 +1,3 @@
|
||||
CONFIG_SENSORS_NCT7904=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_SENSORS_TMP421=y
|
||||
@@ -0,0 +1,2 @@
|
||||
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
|
||||
SRC_URI += "file://palmetto.cfg"
|
||||
@@ -0,0 +1,31 @@
|
||||
SUMMARY = "YAML configuration for Palmetto"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit allarch
|
||||
|
||||
SRC_URI = " \
|
||||
file://palmetto-ipmi-fru.yaml \
|
||||
file://palmetto-ipmi-fru-properties.yaml \
|
||||
file://palmetto-ipmi-sensors.yaml \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
install -m 0644 -D palmetto-ipmi-fru-properties.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
|
||||
install -m 0644 -D palmetto-ipmi-fru.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-fru-read.yaml
|
||||
install -m 0644 -D palmetto-ipmi-sensors.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-sensors.yaml
|
||||
}
|
||||
|
||||
FILES:${PN}-dev = " \
|
||||
${datadir}/${BPN}/ipmi-extra-properties.yaml \
|
||||
${datadir}/${BPN}/ipmi-fru-read.yaml \
|
||||
${datadir}/${BPN}/ipmi-sensors.yaml \
|
||||
"
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
/system:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
/system/chassis:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
/system/chassis/motherboard:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
/system/chassis/motherboard/cpu0:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
/system/chassis/motherboard/dimm0:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
/system/chassis/motherboard/dimm1:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
/system/chassis/motherboard/dimm2:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
/system/chassis/motherboard/dimm3:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
/system/chassis/motherboard/membuf0:
|
||||
xyz.openbmc_project.Inventory.Decorator.Cacheable:
|
||||
Cached: 'true'
|
||||
xyz.openbmc_project.Inventory.Decorator.Replaceable:
|
||||
FieldReplaceable: 'true'
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
Present: 'true'
|
||||
+219
@@ -0,0 +1,219 @@
|
||||
1:
|
||||
/system/chassis/motherboard/cpu0:
|
||||
entityID: 3
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: Custom Field 2
|
||||
IPMIFruSection: Board
|
||||
IPMIFruValueDelimiter: 58
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
2:
|
||||
/system/chassis:
|
||||
entityID: 23
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
Model:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Chassis
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Chassis
|
||||
/system/chassis/motherboard/membuf:
|
||||
entityID: 23
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
3:
|
||||
/system/chassis/motherboard/dimm0:
|
||||
entityID: 32
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Product
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Product
|
||||
Model:
|
||||
IPMIFruProperty: Model Number
|
||||
IPMIFruSection: Product
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Product
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Product
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: Version
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Product
|
||||
4:
|
||||
/system/chassis/motherboard/dimm1:
|
||||
entityID: 32
|
||||
entityInstance: 2
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Product
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Product
|
||||
Model:
|
||||
IPMIFruProperty: Model Number
|
||||
IPMIFruSection: Product
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Product
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Product
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: Version
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Product
|
||||
5:
|
||||
/system/chassis/motherboard/dimm2:
|
||||
entityID: 32
|
||||
entityInstance: 3
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Product
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Product
|
||||
Model:
|
||||
IPMIFruProperty: Model Number
|
||||
IPMIFruSection: Product
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Product
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Product
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: Version
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Product
|
||||
6:
|
||||
/system/chassis/motherboard/dimm3:
|
||||
entityID: 32
|
||||
entityInstance: 4
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Product
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Product
|
||||
Model:
|
||||
IPMIFruProperty: Model Number
|
||||
IPMIFruSection: Product
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Product
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Product
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: Version
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Product
|
||||
14:
|
||||
/system/chassis/motherboard:
|
||||
entityID: 7
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
15:
|
||||
/system:
|
||||
entityID: 25
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: Version
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
+1082
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
||||
lpc-address = 0x3f8
|
||||
sirq = 4
|
||||
local-tty = ttyS0
|
||||
local-tty-baud = 115200
|
||||
@@ -0,0 +1 @@
|
||||
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
|
||||
@@ -0,0 +1 @@
|
||||
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
|
||||
@@ -0,0 +1,4 @@
|
||||
DEVPATH=/dev/input/by-path/platform-gpio-keys-event
|
||||
KEY=125
|
||||
POLARITY=1
|
||||
TARGET=obmc-host-crash@0.target
|
||||
@@ -0,0 +1 @@
|
||||
OBMC_IMAGE_EXTRA_INSTALL:append:palmetto = " mboxd"
|
||||
@@ -0,0 +1,17 @@
|
||||
SUMMARY = "Copy the inventory cleanup yaml for inventory manager"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit allarch
|
||||
inherit phosphor-inventory-manager
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
SRC_URI = "file://inventory-cleanup.yaml"
|
||||
|
||||
do_install() {
|
||||
install -D inventory-cleanup.yaml ${D}${base_datadir}/events.d/inventory-cleanup.yaml
|
||||
}
|
||||
|
||||
FILES:${PN} += "${base_datadir}/events.d/inventory-cleanup.yaml"
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
description: >
|
||||
Palmetto inventory fixups
|
||||
|
||||
events:
|
||||
- name: Add Chassis interface
|
||||
description: >
|
||||
Add the chassis interface on the chassis inventory path
|
||||
type: startup
|
||||
actions:
|
||||
- name: createObjects
|
||||
objs:
|
||||
/system/chassis:
|
||||
xyz.openbmc_project.Inventory.Item.Chassis:
|
||||
Type:
|
||||
value: "xyz.openbmc_project.Inventory.Item.Chassis.ChassisType.RackMount"
|
||||
type: string
|
||||
+1
@@ -0,0 +1 @@
|
||||
DEPENDS:append = " inventory-cleanup"
|
||||
@@ -0,0 +1,4 @@
|
||||
DEPENDS:append:palmetto = " palmetto-yaml-config"
|
||||
|
||||
IPMI_FRU_YAML:palmetto="${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-fru-read.yaml"
|
||||
IPMI_FRU_PROP_YAML:palmetto="${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-extra-properties.yaml"
|
||||
@@ -0,0 +1,6 @@
|
||||
DEPENDS:append:palmetto = " palmetto-yaml-config"
|
||||
|
||||
EXTRA_OEMESON:palmetto = " \
|
||||
-Dsensor-yaml-gen=${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-sensors.yaml \
|
||||
-Dfru-yaml-gen=${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-fru-read.yaml \
|
||||
"
|
||||
@@ -0,0 +1,18 @@
|
||||
SUMMARY = "Phosphor LED Group Management for Palmetto"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit native
|
||||
|
||||
PROVIDES += "virtual/phosphor-led-manager-config-native"
|
||||
|
||||
SRC_URI += "file://led.yaml"
|
||||
S = "${WORKDIR}"
|
||||
|
||||
# Copies example led layout yaml file
|
||||
do_install() {
|
||||
SRC=${S}
|
||||
DEST=${D}${datadir}/phosphor-led-manager
|
||||
install -D ${SRC}/led.yaml ${DEST}/led.yaml
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
BmcBooted:
|
||||
heartbeat:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 0
|
||||
PowerOn:
|
||||
power:
|
||||
Action: 'On'
|
||||
DutyOn: 50
|
||||
Period: 0
|
||||
EnclosureFault:
|
||||
identify:
|
||||
Action: 'On'
|
||||
DutyOn: 50
|
||||
Period: 0
|
||||
EnclosureIdentify:
|
||||
identify:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 1000
|
||||
LampTest:
|
||||
heartbeat:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 1000
|
||||
identify:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 1000
|
||||
power:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 1000
|
||||
@@ -0,0 +1,473 @@
|
||||
<patches>
|
||||
|
||||
<targetFile>palmetto.xml</targetFile>
|
||||
|
||||
<!-- Add in the 5 fan and connector instances -->
|
||||
<targetInstance xpath="/">
|
||||
<id>fanconn-0</id>
|
||||
<type>connector-card-generic</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fanconn</instance_name>
|
||||
<position>0</position>
|
||||
<child_id>fan-0</child_id>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CONNECTOR</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fan-0</id>
|
||||
<type>card-fan</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fan</instance_name>
|
||||
<position>0</position>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CARD</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_ID</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_NAME</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fanconn-1</id>
|
||||
<type>connector-card-generic</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fanconn</instance_name>
|
||||
<position>1</position>
|
||||
<child_id>fan-1</child_id>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CONNECTOR</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>1</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fan-1</id>
|
||||
<type>card-fan</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fan</instance_name>
|
||||
<position>1</position>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CARD</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_ID</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_NAME</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>1</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fanconn-2</id>
|
||||
<type>connector-card-generic</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fanconn</instance_name>
|
||||
<position>2</position>
|
||||
<child_id>fan-2</child_id>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CONNECTOR</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>2</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fan-2</id>
|
||||
<type>card-fan</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fan</instance_name>
|
||||
<position>2</position>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CARD</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_ID</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_NAME</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>2</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fanconn-3</id>
|
||||
<type>connector-card-generic</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fanconn</instance_name>
|
||||
<position>3</position>
|
||||
<child_id>fan-3</child_id>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CONNECTOR</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>3</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fan-3</id>
|
||||
<type>card-fan</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fan</instance_name>
|
||||
<position>3</position>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CARD</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_ID</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_NAME</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>3</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fanconn-4</id>
|
||||
<type>connector-card-generic</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fanconn</instance_name>
|
||||
<position>4</position>
|
||||
<child_id>fan-4</child_id>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CONNECTOR</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>4</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
<targetInstance xpath="/">
|
||||
<id>fan-4</id>
|
||||
<type>card-fan</type>
|
||||
<library_target>false</library_target>
|
||||
<instance_name>fan</instance_name>
|
||||
<position>4</position>
|
||||
<attribute>
|
||||
<id>CLASS</id>
|
||||
<default>CARD</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_ID</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>FRU_NAME</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>LOCATION_CODE</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MODEL</id>
|
||||
<default></default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>MRW_TYPE</id>
|
||||
<default>NA</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>POSITION</id>
|
||||
<default>4</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>RESOURCE_IS_CRITICAL</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<id>TYPE</id>
|
||||
<default>FAN</default>
|
||||
</attribute>
|
||||
</targetInstance>
|
||||
|
||||
<!-- place the fan connectors on the motherboard -->
|
||||
<targetInstance type="add-child" xpath="targetInstance[id='motherboard-0']">
|
||||
<child_id>fanconn-0</child_id>
|
||||
<child_id>fanconn-1</child_id>
|
||||
<child_id>fanconn-2</child_id>
|
||||
<child_id>fanconn-3</child_id>
|
||||
<child_id>fanconn-4</child_id>
|
||||
</targetInstance>
|
||||
|
||||
<!-- Add in the motherboard FRU name -->
|
||||
<attribute type="add" xpath="targetInstance[id='motherboard-0']">
|
||||
<id>FRU_NAME</id>
|
||||
<default>MOTHERBOARD</default>
|
||||
</attribute>
|
||||
|
||||
<!-- add in some new types -->
|
||||
<enumerationType type="add-child" xpath="enumerationType[id='TYPE']">
|
||||
<enumerator>
|
||||
<name>FAN</name>
|
||||
<value>35</value>
|
||||
</enumerator>
|
||||
<enumerator>
|
||||
<name>PCIE_CARD</name>
|
||||
<value>36</value>
|
||||
</enumerator>
|
||||
</enumerationType>
|
||||
|
||||
|
||||
|
||||
<!--fix up the other enums that come at the end of the list-->
|
||||
<enumerationType type="replace-child" key="name" xpath="enumerationType[id='TYPE']">
|
||||
<enumerator>
|
||||
<name>TEST_FAIL</name>
|
||||
<value>37</value>
|
||||
</enumerator>
|
||||
<enumerator>
|
||||
<name>LAST_IN_RANGE</name>
|
||||
<value>38</value>
|
||||
</enumerator>
|
||||
</enumerationType>
|
||||
|
||||
<!-- Fix the PCIE card's type -->
|
||||
<attribute type="replace" xpath="targetInstance[id='pciecard_x8-0']/attribute[id='TYPE']">
|
||||
<id>TYPE</id>
|
||||
<default>PCIE_CARD</default>
|
||||
</attribute>
|
||||
|
||||
<!-- Add the card's FRU name -->
|
||||
<attribute type="add" xpath="targetInstance[id='pciecard_x8-0']">
|
||||
<id>FRU_NAME</id>
|
||||
<default>PCIE_CARD</default>
|
||||
</attribute>
|
||||
|
||||
<!-- Fix the PCIE card's type -->
|
||||
<attribute type="replace" xpath="targetInstance[id='pciecard_x16-0']/attribute[id='TYPE']">
|
||||
<id>TYPE</id>
|
||||
<default>PCIE_CARD</default>
|
||||
</attribute>
|
||||
|
||||
<!-- Add the card's FRU name -->
|
||||
<attribute type="add" xpath="targetInstance[id='pciecard_x16-0']">
|
||||
<id>FRU_NAME</id>
|
||||
<default>PCIE_CARD</default>
|
||||
</attribute>
|
||||
|
||||
<!-- new parser requires FABRIC_GROUP_ID, though it's unused by the BMC -->
|
||||
<attribute type="replace" xpath="targetInstance[id='proc_socket-0']/attribute[id='FABRIC_NODE_ID']">
|
||||
<id>FABRIC_GROUP_ID</id>
|
||||
<default>0</default>
|
||||
</attribute>
|
||||
|
||||
</patches>
|
||||
@@ -0,0 +1,2 @@
|
||||
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
|
||||
SRC_URI:append:palmetto = " file://palmetto.xml.patch.xml"
|
||||
@@ -0,0 +1,3 @@
|
||||
- Instance: 0
|
||||
SensorID: 0x08
|
||||
SensorName: occ0
|
||||
@@ -0,0 +1,18 @@
|
||||
SUMMARY = "Palmetto OCC Control sensor IDs"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit native
|
||||
inherit openpower-occ-control
|
||||
|
||||
SRC_URI += "file://occ_sensor.yaml"
|
||||
|
||||
PROVIDES += "virtual/openpower-occ-control-config-native"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
install -d ${YAML_DEST}/
|
||||
install -D occ_sensor.yaml ${YAML_DEST}/occ_sensor.yaml
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
RDEPENDS:${PN}-inventory:append:palmetto = " openpower-occ-control webui-vue"
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
MODE_temp1 = "label"
|
||||
MODE_temp2 = "label"
|
||||
MODE_temp3 = "label"
|
||||
MODE_temp4 = "label"
|
||||
MODE_temp5 = "label"
|
||||
MODE_temp6 = "label"
|
||||
MODE_temp7 = "label"
|
||||
MODE_temp8 = "label"
|
||||
MODE_temp9 = "label"
|
||||
MODE_temp10 = "label"
|
||||
MODE_temp11 = "label"
|
||||
MODE_temp12 = "label"
|
||||
MODE_temp13 = "label"
|
||||
MODE_temp14 = "label"
|
||||
MODE_temp15 = "label"
|
||||
MODE_temp16 = "label"
|
||||
MODE_temp17 = "label"
|
||||
MODE_temp18 = "label"
|
||||
LABEL_temp13 = "cpu0_temp"
|
||||
LABEL_temp101 = "centaur0_temp"
|
||||
LABEL_temp102 = "dimm0_temp"
|
||||
LABEL_temp103 = "dimm1_temp"
|
||||
LABEL_temp104 = "dimm2_temp"
|
||||
LABEL_temp105 = "dimm3_temp"
|
||||
LABEL_temp106 = "core0_temp"
|
||||
LABEL_temp107 = "core1_temp"
|
||||
LABEL_temp108 = "core2_temp"
|
||||
LABEL_temp109 = "core3_temp"
|
||||
LABEL_temp110 = "core4_temp"
|
||||
LABEL_temp111 = "core5_temp"
|
||||
LABEL_temp112 = "core6_temp"
|
||||
LABEL_temp113 = "core7_temp"
|
||||
LABEL_temp114 = "core8_temp"
|
||||
LABEL_temp115 = "core9_temp"
|
||||
LABEL_temp116 = "core10_temp"
|
||||
LABEL_temp117 = "core11_temp"
|
||||
LABEL_power1 = "p0_power"
|
||||
LABEL_power2 = "p0_pcie_power"
|
||||
LABEL_power3 = "p0_io_power"
|
||||
LABEL_power4 = "centaur0_power"
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
LABEL_temp1=rtc
|
||||
WARNLO_temp1=10000
|
||||
WARNHI_temp1=35000
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
LABEL_temp1=ambient
|
||||
WARNLO_temp1=10000
|
||||
WARNHI_temp1=40000
|
||||
|
||||
LABEL_temp2=cpu
|
||||
WARNLO_temp2=10000
|
||||
WARNHI_temp2=80000
|
||||
@@ -0,0 +1,13 @@
|
||||
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
|
||||
|
||||
NAMES = " \
|
||||
bus@1e78a000/i2c-bus@40/rtc@68 \
|
||||
bus@1e78a000/i2c-bus@c0/tmp423@4c \
|
||||
bus@1e78a000/i2c-bus@100/occ-hwmon@50 \
|
||||
"
|
||||
ITEMSFMT = "ahb/apb/{0}.conf"
|
||||
|
||||
ITEMS = "${@compose_list(d, 'ITEMSFMT', 'NAMES')}"
|
||||
|
||||
ENVS = "obmc/hwmon/{0}"
|
||||
SYSTEMD_ENVIRONMENT_FILE:${PN}:append:palmetto = " ${@compose_list(d, 'ENVS', 'ITEMS')}"
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"gpio_configs": {
|
||||
|
||||
"power_config": {
|
||||
"power_good_in": "PGOOD",
|
||||
"power_up_outs": [
|
||||
{"name": "POWER_PIN", "polarity": false}
|
||||
],
|
||||
"reset_outs": [
|
||||
{"name": "USB_RESET", "polarity": false}
|
||||
],
|
||||
"pci_reset_outs": [
|
||||
{"name": "PCIE_RESET", "polarity": false, "hold": false}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
"gpio_definitions": [
|
||||
{
|
||||
"name": "POWER_PIN",
|
||||
"pin": "E1",
|
||||
"direction": "out"
|
||||
},
|
||||
{
|
||||
"name": "PGOOD",
|
||||
"pin": "C7",
|
||||
"direction": "in"
|
||||
},
|
||||
{
|
||||
"name": "BMC_THROTTLE",
|
||||
"pin": "J3",
|
||||
"direction": "out"
|
||||
},
|
||||
{
|
||||
"name": "IDBTN",
|
||||
"pin": "Q7",
|
||||
"direction": "out"
|
||||
},
|
||||
{
|
||||
"name": "POWER_BUTTON",
|
||||
"pin": "E0",
|
||||
"direction": "both"
|
||||
},
|
||||
{
|
||||
"name": "PCIE_RESET",
|
||||
"pin": "B5",
|
||||
"direction": "out"
|
||||
},
|
||||
{
|
||||
"name": "USB_RESET",
|
||||
"pin": "B6",
|
||||
"direction": "out"
|
||||
},
|
||||
{
|
||||
"name": "CHECKSTOP",
|
||||
"pin": "P5",
|
||||
"direction": "falling"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
FILESEXTRAPATHS:prepend:palmetto := "${THISDIR}/${PN}:"
|
||||
@@ -0,0 +1,2 @@
|
||||
recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
|
||||
recipes-phosphor - Phosphor OpenBMC applications and configuration
|
||||
@@ -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 += "romulus-layer"
|
||||
BBFILE_PATTERN_romulus-layer := "^${LAYERDIR}/"
|
||||
LAYERSERIES_COMPAT_romulus-layer = "langdale mickledore"
|
||||
@@ -0,0 +1,22 @@
|
||||
KMACHINE = "aspeed"
|
||||
KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
|
||||
|
||||
UBOOT_MACHINE = "evb-ast2500_defconfig"
|
||||
UBOOT_DEVICETREE = "ast2500-romulus"
|
||||
|
||||
require conf/machine/include/ast2500.inc
|
||||
require conf/machine/include/obmc-bsp-common.inc
|
||||
require conf/machine/include/openpower.inc
|
||||
require conf/machine/include/p9.inc
|
||||
|
||||
PHOSPHOR_MRW_LICENSE = "Apache-2.0"
|
||||
PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
|
||||
PHOSPHOR_MRW_URI = "git://github.com/open-power/romulus-xml;branch=master;protocol=https"
|
||||
PHOSPHOR_MRW_REV = "14b471fbf37f5fb60261de001df83caf5f96d81f"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/openpower-occ-control-config-native = "romulus-occ-control-config-native"
|
||||
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "romulus-led-manager-config-native"
|
||||
PREFERRED_PROVIDER_virtual/phosphor-logging-callouts = "romulus-phosphor-logging-callouts-native"
|
||||
|
||||
QB_MACHINE:romulus = "-machine romulus-bmc"
|
||||
QB_MEM:romulus = "-m 512"
|
||||
@@ -0,0 +1,18 @@
|
||||
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
|
||||
# changes incompatibly
|
||||
LCONF_VERSION = "8"
|
||||
|
||||
BBPATH = "${TOPDIR}"
|
||||
BBFILES ?= ""
|
||||
|
||||
BBLAYERS ?= " \
|
||||
##OEROOT##/meta \
|
||||
##OEROOT##/meta-openembedded/meta-oe \
|
||||
##OEROOT##/meta-openembedded/meta-networking \
|
||||
##OEROOT##/meta-openembedded/meta-perl \
|
||||
##OEROOT##/meta-openembedded/meta-python \
|
||||
##OEROOT##/meta-phosphor \
|
||||
##OEROOT##/meta-aspeed \
|
||||
##OEROOT##/meta-openpower \
|
||||
##OEROOT##/meta-ibm/meta-romulus \
|
||||
"
|
||||
@@ -0,0 +1,2 @@
|
||||
Common targets are:
|
||||
obmc-phosphor-image
|
||||
@@ -0,0 +1,255 @@
|
||||
#
|
||||
# This file is your local configuration file and is where all local user settings
|
||||
# are placed. The comments in this file give some guide to the options a new user
|
||||
# to the system might want to change but pretty much any configuration option can
|
||||
# be set in this file. More adventurous users can look at local.conf.extended
|
||||
# which contains other examples of configuration which can be placed in this file
|
||||
# but new users likely won't need any of them initially.
|
||||
#
|
||||
# Lines starting with the '#' character are commented out and in some cases the
|
||||
# default values are provided as comments to show people example syntax. Enabling
|
||||
# the option is a question of removing the # character and making any change to the
|
||||
# variable as required.
|
||||
|
||||
#
|
||||
# Machine Selection
|
||||
#
|
||||
MACHINE ??= "romulus"
|
||||
|
||||
#
|
||||
# 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-openpower"
|
||||
# As an example of a subclass there is a "bleeding" edge policy configuration
|
||||
# where many versions are set to the absolute latest code from the upstream
|
||||
# source control systems. This is just mentioned here as an example, its not
|
||||
# useful to most new users.
|
||||
# DISTRO ?= "poky-bleeding"
|
||||
|
||||
#
|
||||
# Package Management configuration
|
||||
#
|
||||
# This variable lists which packaging formats to enable. Multiple package backends
|
||||
# can be enabled at once and the first item listed in the variable will be used
|
||||
# to generate the root filesystems.
|
||||
# Options are:
|
||||
# - 'package_deb' for debian style deb files
|
||||
# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
|
||||
# - 'package_rpm' for rpm style packages
|
||||
# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
|
||||
# We default to ipk:
|
||||
PACKAGE_CLASSES ?= "package_ipk"
|
||||
|
||||
#
|
||||
# SDK target architecture
|
||||
#
|
||||
# This variable specifies the architecture to build SDK items for and means
|
||||
# you can build the SDK packages for architectures other than the machine you are
|
||||
# running the build on (i.e. building i686 packages on an x86_64 host).
|
||||
# Supported values are i686, x86_64, aarch64
|
||||
#SDKMACHINE ?= "i686"
|
||||
|
||||
SANITY_TESTED_DISTROS:append ?= " *"
|
||||
|
||||
#
|
||||
# Extra image configuration defaults
|
||||
#
|
||||
# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
|
||||
# images. Some of these options are added to certain image types automatically. The
|
||||
# variable can contain the following options:
|
||||
# "dbg-pkgs" - add -dbg packages for all installed packages
|
||||
# (adds symbol information for debugging/profiling)
|
||||
# "src-pkgs" - add -src packages for all installed packages
|
||||
# (adds source code for debugging)
|
||||
# "dev-pkgs" - add -dev packages for all installed packages
|
||||
# (useful if you want to develop against libs in the image)
|
||||
# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
|
||||
# (useful if you want to run the package test suites)
|
||||
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
|
||||
# "tools-debug" - add debugging tools (gdb, strace)
|
||||
# "eclipse-debug" - add Eclipse remote debugging support
|
||||
# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
|
||||
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
|
||||
# "debug-tweaks" - make an image suitable for development
|
||||
# e.g. ssh root access has a blank password
|
||||
# There are other application targets that can be used here too, see
|
||||
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
|
||||
# We default to enabling the debugging tweaks.
|
||||
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
|
||||
|
||||
#
|
||||
# Additional image features
|
||||
#
|
||||
# The following is a list of additional classes to use when building images which
|
||||
# enable extra features. Some available options which can be included in this variable
|
||||
# are:
|
||||
# - 'buildstats' collect build statistics
|
||||
USER_CLASSES ?= "buildstats"
|
||||
|
||||
#
|
||||
# Runtime testing of images
|
||||
#
|
||||
# The build system can test booting virtual machine images under qemu (an emulator)
|
||||
# after any root filesystems are created and run tests against those images. It can also
|
||||
# run tests against any SDK that are built. To enable this uncomment these lines.
|
||||
# See classes/test{image,sdk}.bbclass for further details.
|
||||
#IMAGE_CLASSES += "testimage testsdk"
|
||||
#TESTIMAGE_AUTO_qemuall = "1"
|
||||
|
||||
#
|
||||
# Interactive shell configuration
|
||||
#
|
||||
# Under certain circumstances the system may need input from you and to do this it
|
||||
# can launch an interactive shell. It needs to do this since the build is
|
||||
# multithreaded and needs to be able to handle the case where more than one parallel
|
||||
# process may require the user's attention. The default is iterate over the available
|
||||
# terminal types to find one that works.
|
||||
#
|
||||
# Examples of the occasions this may happen are when resolving patches which cannot
|
||||
# be applied, to use the devshell or the kernel menuconfig
|
||||
#
|
||||
# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
|
||||
# Note: currently, Konsole support only works for KDE 3.x due to the way
|
||||
# newer Konsole versions behave
|
||||
#OE_TERMINAL = "auto"
|
||||
# By default disable interactive patch resolution (tasks will just fail instead):
|
||||
PATCHRESOLVE = "noop"
|
||||
|
||||
#
|
||||
# Disk Space Monitoring during the build
|
||||
#
|
||||
# Monitor the disk space during the build. If there is less that 1GB of space or less
|
||||
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
|
||||
# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
|
||||
# of the build. The reason for this is that running completely out of space can corrupt
|
||||
# files and damages the build in ways which may not be easily recoverable.
|
||||
# It's necessary to monitor /tmp, if there is no space left the build will fail
|
||||
# with very exotic errors.
|
||||
BB_DISKMON_DIRS ??= "\
|
||||
STOPTASKS,${TMPDIR},1G,100K \
|
||||
STOPTASKS,${DL_DIR},1G,100K \
|
||||
STOPTASKS,${SSTATE_DIR},1G,100K \
|
||||
STOPTASKS,/tmp,100M,100K \
|
||||
HALT,${TMPDIR},100M,1K \
|
||||
HALT,${DL_DIR},100M,1K \
|
||||
HALT,${SSTATE_DIR},100M,1K \
|
||||
HALT,/tmp,10M,1K"
|
||||
|
||||
#
|
||||
# Shared-state files from other locations
|
||||
#
|
||||
# As mentioned above, shared state files are prebuilt cache data objects which can be
|
||||
# used to accelerate build time. This variable can be used to configure the system
|
||||
# to search other mirror locations for these objects before it builds the data itself.
|
||||
#
|
||||
# This can be a filesystem directory, or a remote url such as http or ftp. These
|
||||
# would contain the sstate-cache results from previous builds (possibly from other
|
||||
# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
|
||||
# cache locations to check for the shared objects.
|
||||
# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
|
||||
# at the end as shown in the examples below. This will be substituted with the
|
||||
# correct path within the directory structure.
|
||||
#SSTATE_MIRRORS ?= "\
|
||||
#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
|
||||
#file://.* file:///some/local/dir/sstate/PATH"
|
||||
|
||||
#
|
||||
# Yocto Project SState Mirror
|
||||
#
|
||||
# The Yocto Project has prebuilt artefacts available for its releases, you can enable
|
||||
# use of these by uncommenting the following line. This will mean the build uses
|
||||
# the network to check for artefacts at the start of builds, which does slow it down
|
||||
# equally, it will also speed up the builds by not having to build things if they are
|
||||
# present in the cache. It assumes you can download something faster than you can build it
|
||||
# which will depend on your network.
|
||||
#
|
||||
#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH"
|
||||
|
||||
#
|
||||
# Qemu configuration
|
||||
#
|
||||
# By default native qemu will build with a builtin VNC server where graphical output can be
|
||||
# seen. The line below enables the SDL UI frontend too.
|
||||
#PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
|
||||
# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
|
||||
# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
|
||||
#ASSUME_PROVIDED += "libsdl2-native"
|
||||
|
||||
# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
|
||||
# a handy set of menus for controlling the emulator.
|
||||
#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"
|
||||
|
||||
#
|
||||
# Hash Equivalence
|
||||
#
|
||||
# Enable support for automatically running a local hash equivalence server and
|
||||
# instruct bitbake to use a hash equivalence aware signature generator. Hash
|
||||
# equivalence improves reuse of sstate by detecting when a given sstate
|
||||
# artifact can be reused as equivalent, even if the current task hash doesn't
|
||||
# match the one that generated the artifact.
|
||||
#
|
||||
# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
|
||||
#
|
||||
#BB_HASHSERVE = "auto"
|
||||
#BB_SIGNATURE_HANDLER = "OEEquivHash"
|
||||
|
||||
#
|
||||
# Memory Resident Bitbake
|
||||
#
|
||||
# Bitbake's server component can stay in memory after the UI for the current command
|
||||
# has completed. This means subsequent commands can run faster since there is no need
|
||||
# for bitbake to reload cache files and so on. Number is in seconds, after which the
|
||||
# server will shut down.
|
||||
#
|
||||
#BB_SERVER_TIMEOUT = "60"
|
||||
|
||||
# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
|
||||
# track the version of this file when it was generated. This can safely be ignored if
|
||||
# this doesn't mean anything to you.
|
||||
CONF_VERSION = "2"
|
||||
@@ -0,0 +1,4 @@
|
||||
CONFIG_SENSORS_TMP421=y
|
||||
CONFIG_SENSORS_MAX31785=y
|
||||
CONFIG_RTC_DRV_RV8803=y
|
||||
CONFIG_SENSORS_W83773G=y
|
||||
@@ -0,0 +1,2 @@
|
||||
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${PN}:"
|
||||
SRC_URI:append:romulus = " file://romulus.cfg"
|
||||
@@ -0,0 +1,33 @@
|
||||
SUMMARY = "Romulus AVSBus control"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
RDEPENDS:${PN} += "i2c-tools bash"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
SRC_URI += "file://avsbus-enable.sh \
|
||||
file://avsbus-disable.sh"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${WORKDIR}/avsbus-disable.sh \
|
||||
${D}${bindir}/avsbus-disable.sh
|
||||
install -m 0755 ${WORKDIR}/avsbus-enable.sh \
|
||||
${D}${bindir}/avsbus-enable.sh
|
||||
}
|
||||
|
||||
TMPL_EN= "avsbus-enable@.service"
|
||||
TMPL_DIS= "avsbus-disable@.service"
|
||||
INSTFMT_EN= "avsbus-enable@{0}.service"
|
||||
INSTFMT_DIS= "avsbus-disable@{0}.service"
|
||||
TGTFMT = "obmc-chassis-poweron@{0}.target"
|
||||
FMT_EN = "../${TMPL_EN}:${TGTFMT}.requires/${INSTFMT_EN}"
|
||||
FMT_DIS = "../${TMPL_DIS}:${TGTFMT}.requires/${INSTFMT_DIS}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += "${TMPL_EN}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_EN', 'OBMC_CHASSIS_INSTANCES')}"
|
||||
SYSTEMD_SERVICE:${PN} += "${TMPL_DIS}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_DIS', 'OBMC_CHASSIS_INSTANCES')}"
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
i2cset -y 4 0x70 0x00 0x00 b # VDD 0 - PAGE set
|
||||
i2cset -y 4 0x70 0x01 0x80 b # VDD 0
|
||||
i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set
|
||||
i2cset -y 4 0x70 0x01 0x80 b # VCS 0
|
||||
i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset
|
||||
i2cset -y 4 0x73 0x00 0x00 b # VDN 0 - PAGE set
|
||||
i2cset -y 4 0x73 0x01 0x80 b # VDN 0
|
||||
i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set
|
||||
i2cset -y 5 0x70 0x01 0x80 b # VDD 1
|
||||
i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set
|
||||
i2cset -y 5 0x70 0x01 0x80 b # VCS 1
|
||||
i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset
|
||||
i2cset -y 5 0x73 0x00 0x00 b # VDN 1 - PAGE set
|
||||
i2cset -y 5 0x73 0x01 0x80 b # VDN 1
|
||||
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Disable the AVS bus on the VRMs
|
||||
Wants=obmc-power-start@.service
|
||||
After=obmc-power-start@.service
|
||||
Before=vrm-control@%i.service
|
||||
Conflicts=obmc-chassis-poweroff@%i.target
|
||||
ConditionPathExists=!/run/openbmc/chassis@%i-on
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/avsbus-disable.sh
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-chassis-poweron@%i.target
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
i2cset -y 4 0x70 0x00 0x00 b # VDD 0 - PAGE set
|
||||
i2cset -y 4 0x70 0x01 0xB0 b # VDD 0
|
||||
i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set
|
||||
i2cset -y 4 0x70 0x01 0xB0 b # VCS 0
|
||||
i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset
|
||||
i2cset -y 4 0x73 0x00 0x00 b # VDN 0 - PAGE set
|
||||
i2cset -y 4 0x73 0x01 0xB0 b # VDN 0
|
||||
i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set
|
||||
i2cset -y 5 0x70 0x01 0xB0 b # VDD 1
|
||||
i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set
|
||||
i2cset -y 5 0x70 0x01 0xB0 b # VCS 1
|
||||
i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset
|
||||
i2cset -y 5 0x73 0x00 0x00 b # VDN 1 - PAGE set
|
||||
i2cset -y 5 0x73 0x01 0xB0 b # VDN 1
|
||||
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Enable the AVS bus on VRMs
|
||||
Wants=vrm-control@%i.service
|
||||
After=vrm-control@%i.service
|
||||
Conflicts=obmc-chassis-poweroff@%i.target
|
||||
ConditionPathExists=!/run/openbmc/chassis@%i-on
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/avsbus-enable.sh
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-chassis-poweron@%i.target
|
||||
@@ -0,0 +1,27 @@
|
||||
SUMMARY = "Romulus VRM Overrides"
|
||||
DESCRIPTION = "Sets Rolumus VRMs to custom voltages"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
RDEPENDS:${PN} += "i2c-tools bash"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
SRC_URI += "file://vrm-control.sh \
|
||||
file://vrm.sh"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${WORKDIR}/vrm.sh ${D}${bindir}/vrm.sh
|
||||
install -m 0755 ${WORKDIR}/vrm-control.sh ${D}${bindir}/vrm-control.sh
|
||||
}
|
||||
|
||||
TMPL = "vrm-control@.service"
|
||||
INSTFMT = "vrm-control@{0}.service"
|
||||
TGTFMT = "obmc-chassis-poweron@{0}.target"
|
||||
FMT = "../${TMPL}:${TGTFMT}.requires/${INSTFMT}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} += "${TMPL}"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'OBMC_CHASSIS_INSTANCES')}"
|
||||
@@ -0,0 +1,137 @@
|
||||
#!/bin/bash
|
||||
# #########################################################
|
||||
# Script to run on Romulus BMC to read/set vrm voltages
|
||||
|
||||
|
||||
# #########################################################
|
||||
function d2v() {
|
||||
# usage: d2v <decimal volts>
|
||||
|
||||
echo "$1" | awk '{print $1 * 256 + .5}' | cut -d '.' -f 1
|
||||
}
|
||||
|
||||
|
||||
# #########################################################
|
||||
function v2d() {
|
||||
# usage: v2d <hex val>
|
||||
|
||||
printf " %0.3fV" "$(echo "$1" | awk '{print $1 / 256}')"
|
||||
}
|
||||
|
||||
|
||||
# #########################################################
|
||||
function i2d() {
|
||||
# usage: i2d <hex val> <current divisor>
|
||||
|
||||
# parse current mantisa and exponent
|
||||
# format: SEEE ESMM MMMM MMMM
|
||||
e=$(( $1/0x800 ))
|
||||
esign=$(( e/0x10 ))
|
||||
m=$(( $1 & 0x07FF ))
|
||||
msign=$(( m/0x0400 ))
|
||||
|
||||
if [ $msign -eq 1 ]
|
||||
then
|
||||
# calc ones compliment
|
||||
m=$(( (m^0x07FF)+1 ))
|
||||
m=$(( -m ))
|
||||
fi
|
||||
if [ $esign -eq 1 ]
|
||||
then
|
||||
# calc ones compliment
|
||||
e=$(( (e^0x1F)+1 ))
|
||||
e=$(( -e ))
|
||||
fi
|
||||
printf " %0.3fA\n" "$(echo $m $e "$2" | awk '{print ($1 * 2^$2) / $3}')"
|
||||
}
|
||||
|
||||
|
||||
# #########################################################
|
||||
function rw_vc() {
|
||||
# usage: rw_vc <bus> <addr> <current divisor> <channel> <value>
|
||||
|
||||
# select channel
|
||||
if [ "$4" != "x" ]
|
||||
then
|
||||
i2cset -y "$1" "$2" 0 "$4" b
|
||||
fi
|
||||
|
||||
# write new voltage set point
|
||||
if [ ! -e "$5" ]
|
||||
then
|
||||
i2cset -y "$1" "$2" 0x21 "$(d2v "$5")" w
|
||||
fi
|
||||
|
||||
# print voltage set point
|
||||
v2d "$(i2cget -y "$1" "$2" 0x21 w)"
|
||||
|
||||
# print voltage
|
||||
v2d "$(i2cget -y "$1" "$2" 0x8B w)"
|
||||
|
||||
# print current
|
||||
i2d "$(i2cget -y "$1" "$2" 0x8C w)" "$3"
|
||||
|
||||
# default back to channel 0
|
||||
if [ "$4" != "x" ]
|
||||
then
|
||||
i2cset -y "$1" "$2" 0 0 b
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# #########################################################
|
||||
# Main
|
||||
|
||||
if [ -e "$1" ]
|
||||
then
|
||||
$0 vdda vcsa vdna vioa vddb vcsb vdnb viob
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "$1" == "-h" ]
|
||||
then
|
||||
echo " Usage: vrm [<rail>=[value] [<rail>=[value]] ...]"
|
||||
echo " rail: vdda vcsa vdna vioa vddb vcsb vdnb viob"
|
||||
echo " value: volts"
|
||||
echo
|
||||
echo " e.g., vrm vioa=1.0 viob=1.0"
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "rail set read current"
|
||||
echo "------- ------- ------- -------"
|
||||
for param in "${@:1}"
|
||||
do
|
||||
rail=$(echo "$param" | cut -d'=' -f 1)
|
||||
val=$(echo "${param}=" | cut -d'=' -f 2)
|
||||
echo -n "$rail"
|
||||
case "$rail" in
|
||||
vdda)
|
||||
rw_vc 4 0x70 2 0 "$val"
|
||||
;;
|
||||
vddb)
|
||||
rw_vc 5 0x70 2 0 "$val"
|
||||
;;
|
||||
vcsa)
|
||||
rw_vc 4 0x70 4 1 "$val"
|
||||
;;
|
||||
vcsb)
|
||||
rw_vc 5 0x70 4 1 "$val"
|
||||
;;
|
||||
vdna)
|
||||
rw_vc 4 0x73 2 0 "$val"
|
||||
;;
|
||||
vdnb)
|
||||
rw_vc 5 0x73 2 0 "$val"
|
||||
;;
|
||||
vioa)
|
||||
rw_vc 4 0x73 2 1 "$val"
|
||||
;;
|
||||
viob)
|
||||
rw_vc 5 0x73 2 1 "$val"
|
||||
;;
|
||||
*)
|
||||
echo " non-existant"
|
||||
esac
|
||||
done
|
||||
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Apply voltage overrides to VRMs
|
||||
Wants=avsbus-disable@%i.service
|
||||
After=avsbus-disable@%i.service
|
||||
Before=avsbus-enable@%i.service
|
||||
Conflicts=obmc-chassis-poweroff@%i.target
|
||||
ConditionPathExists=!/run/openbmc/chassis@%i-on
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/vrm.sh
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-chassis-poweron@%i.target
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
vrm-control.sh vdna=0.9 vdnb=0.9
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user