diff options
author | Jason M. Bills <jason.m.bills@linux.intel.com> | 2020-12-08 00:38:17 +0300 |
---|---|---|
committer | Jason M. Bills <jason.m.bills@linux.intel.com> | 2020-12-08 00:38:17 +0300 |
commit | 8d6ae7f2a817751fad151168fa10ce28ee0869d8 (patch) | |
tree | 281032f7ec07c41589aa094bd165cc2a98f2d3a7 /meta-quanta/meta-olympus-nuvoton/recipes-olympus-nuvoton/power/first-boot-set-psu/first-boot-set-psu.sh | |
parent | c16fb8893b19075db4bcf3b5bf33c1db8c3ca2bd (diff) | |
parent | 5da3c2284560a7e08ffafd03c5b5ba44a3242228 (diff) | |
download | openbmc-8d6ae7f2a817751fad151168fa10ce28ee0869d8.tar.xz |
Merge tag '0.26' of ssh://git-amr-1.devtools.intel.com:29418/openbmc-openbmc into update
Diffstat (limited to 'meta-quanta/meta-olympus-nuvoton/recipes-olympus-nuvoton/power/first-boot-set-psu/first-boot-set-psu.sh')
-rw-r--r-- | meta-quanta/meta-olympus-nuvoton/recipes-olympus-nuvoton/power/first-boot-set-psu/first-boot-set-psu.sh | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-quanta/meta-olympus-nuvoton/recipes-olympus-nuvoton/power/first-boot-set-psu/first-boot-set-psu.sh b/meta-quanta/meta-olympus-nuvoton/recipes-olympus-nuvoton/power/first-boot-set-psu/first-boot-set-psu.sh new file mode 100644 index 000000000..04b447615 --- /dev/null +++ b/meta-quanta/meta-olympus-nuvoton/recipes-olympus-nuvoton/power/first-boot-set-psu/first-boot-set-psu.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +string='' +pmbus_read() { + data=$(i2cget -f -y $1 $2 $3 i $4) + + if [[ -z "$data" ]]; then + echo "i2c$1 device $2 command $3 error" >&2 + exit 1 + fi + + arry=$(echo ${data} | sed -e "s/$4\: //" | sed -e "s/\0x00//g" | sed -e "s/\0xff//g" | sed -e "s/\0x7f//g" | sed -e "s/\0x0f//g" | sed -e "s/\0x14//g") + + string='' + for d in ${arry} + do + hex=$(echo $d | sed -e "s/0\x//") + string+=$(echo -e "\x${hex}"); + done +} + +update_inventory() { + INVENTORY_SERVICE='xyz.openbmc_project.Inventory.Manager' + INVENTORY_OBJECT='/xyz/openbmc_project/inventory' + INVENTORY_PATH='xyz.openbmc_project.Inventory.Manager' + OBJECT_PATH="/system/chassis/motherboard/powersupply$1" + busctl call \ + ${INVENTORY_SERVICE} \ + ${INVENTORY_OBJECT} \ + ${INVENTORY_PATH} \ + Notify a{oa{sa{sv}}} 1 \ + ${OBJECT_PATH} 1 $2 $3 \ + $4 $5 $6 +} + +if [ $# -eq 0 ]; then + echo 'No PSU device is given' >&2 + exit 1 +fi + +input=$(echo $1 | tr "-" " ") +arr=(${input// / }); + + +pmbus_read ${arr[1]} ${arr[2]} 0x99 11 +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Decorator.Asset" 1 "Manufacturer" "s" $string + +pmbus_read ${arr[1]} ${arr[2]} 0x9a 11 +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Decorator.Asset" 1 "Model" "s" $string + +pmbus_read ${arr[1]} ${arr[2]} 0xad 21 +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Decorator.Asset" 1 "PartNumber" "s" $string + +pmbus_read ${arr[1]} ${arr[2]} 0x9e 18 +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Decorator.Asset" 1 "SerialNumber" "s" $string + +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Decorator.Cacheable" 1 "Cached" "b" "true" +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Decorator.Replaceable" 1 "FieldReplaceable" "b" "true" +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Item" 1 "Present" "b" "true" +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Item" 1 "PrettyName" "s" "powersupply${arr[0]}" +update_inventory ${arr[0]} "xyz.openbmc_project.Inventory.Item.PowerSupply" 0 |