summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru')
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru.bb27
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/LICENCE13
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600CYP.fru.binbin0 -> 513 bytes
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WC.fru.binbin0 -> 511 bytes
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WFT.fru.binbin0 -> 512 bytes
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WP.fru.binbin0 -> 512 bytes
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/SetBaseboardFru.service9
-rwxr-xr-xmeta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/checkFru.sh35
8 files changed, 84 insertions, 0 deletions
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
--- /dev/null
+++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600CYP.fru.bin
Binary files 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
--- /dev/null
+++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WC.fru.bin
Binary files 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
--- /dev/null
+++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WFT.fru.bin
Binary files 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
--- /dev/null
+++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fru/default-fru/S2600WP.fru.bin
Binary files 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