From a7715486507e75e4a7cee843a48067b15595defa Mon Sep 17 00:00:00 2001 From: Ed Tanous Date: Wed, 13 Feb 2019 16:51:50 -0800 Subject: Initial commit of intel repository Signed-off-by: Ed Tanous --- .../recipes-phosphor/fru/default-fru.bb | 27 ++++++++++++++++ .../recipes-phosphor/fru/default-fru/LICENCE | 13 ++++++++ .../fru/default-fru/S2600CYP.fru.bin | Bin 0 -> 513 bytes .../fru/default-fru/S2600WC.fru.bin | Bin 0 -> 511 bytes .../fru/default-fru/S2600WFT.fru.bin | Bin 0 -> 512 bytes .../fru/default-fru/S2600WP.fru.bin | Bin 0 -> 512 bytes .../fru/default-fru/SetBaseboardFru.service | 9 ++++++ .../recipes-phosphor/fru/default-fru/checkFru.sh | 35 +++++++++++++++++++++ 8 files changed, 84 insertions(+) create mode 100644 meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru.bb create mode 100644 meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/LICENCE create mode 100644 meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600CYP.fru.bin create mode 100644 meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WC.fru.bin create mode 100644 meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WFT.fru.bin create mode 100644 meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WP.fru.bin create mode 100644 meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/SetBaseboardFru.service create mode 100755 meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/checkFru.sh (limited to 'meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru') diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru.bb b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru.bb new file mode 100644 index 000000000..af0505d1f --- /dev/null +++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru.bb @@ -0,0 +1,27 @@ +SUMMARY = "Default Fru" +DESCRIPTION = "Installs a default fru file to image" + +inherit systemd + +SYSTEMD_SERVICE_${PN} = "SetBaseboardFru.service" + +S = "${WORKDIR}" +SRC_URI = "file://checkFru.sh \ + file://SetBaseboardFru.service \ + file://*.fru.bin" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" + +RDEPENDS_${PN} = "bash" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/checkFru.sh ${D}/${bindir}/checkFru.sh + + install -d ${D}${sysconfdir}/fru + cp ${S}/*.fru.bin ${D}/${sysconfdir}/fru + + install -d ${D}${base_libdir}/systemd/system + install -m 0644 ${S}/SetBaseboardFru.service ${D}${base_libdir}/systemd/system +} diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/LICENCE b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/LICENCE new file mode 100644 index 000000000..dd0408376 --- /dev/null +++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/LICENCE @@ -0,0 +1,13 @@ +Copyright 2018 Intel Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600CYP.fru.bin b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600CYP.fru.bin new file mode 100644 index 000000000..ba5b96392 Binary files /dev/null and b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600CYP.fru.bin differ diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WC.fru.bin b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WC.fru.bin new file mode 100644 index 000000000..76c4b8d4b Binary files /dev/null and b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WC.fru.bin differ diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WFT.fru.bin b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WFT.fru.bin new file mode 100644 index 000000000..1b9f97ff4 Binary files /dev/null and b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WFT.fru.bin differ diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WP.fru.bin b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WP.fru.bin new file mode 100644 index 000000000..fb219c0ce Binary files /dev/null and b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WP.fru.bin differ diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/SetBaseboardFru.service b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/SetBaseboardFru.service new file mode 100644 index 000000000..dec53725e --- /dev/null +++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/SetBaseboardFru.service @@ -0,0 +1,9 @@ +[Unit] +Description=Reads GPIO and Loads the FRU + +[Service] +ExecStart=/usr/bin/checkFru.sh +Type=oneshot + +[Install] +WantedBy=basic.target diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/checkFru.sh b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/checkFru.sh new file mode 100755 index 000000000..b619dac8b --- /dev/null +++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/checkFru.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# this script checks the gpio id and loads the correct baseboard fru +fruFile="/etc/fru/baseboard.fru.bin" +idGpio=( 8 9 10 11 12) +result=0 +idx=0 + +if [ -f $fruFile ]; then + exit 0 +fi + +cd /etc/fru +for gpio in "${idGpio[@]}" +do + echo $gpio > /sys/class/gpio/export + typeset -i value=$(cat /sys/class/gpio/gpio$gpio/value) + value=$((value << idx)) + result=$((result | value)) + idx=$((idx+1)) +done + +# wp +if (($result == 30)); then + cat S2600WP.fru.bin > $fruFile +# wc +elif (($result == 13)); then + cat S2600WC.fru.bin > $fruFile +# cyp +elif (($result == 28)); then + cat S2600CYP.fru.bin > $fruFile +# default to wft +else + cat S2600WFT.fru.bin > $fruFile +fi -- cgit v1.2.3