meta-ampere: mtmitchell: add Host power control support
Support Host power control for Mt.Mitchell platform
Tested:
1. Verify if Host power ON/OFF/cycle/reset work via IPMI, Redfish and
WebUI.
Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: Ia397866ac3aef128958d84696209ecab80d16266
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-utils/ampere_power_on_driver_binder.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-utils/ampere_power_on_driver_binder.sh
new file mode 100644
index 0000000..a1f30c2
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-utils/ampere_power_on_driver_binder.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+# Each driver include driver name and driver path
+declare -a DRIVER_NAMEs=(
+ "107-0070"
+ "100-0071"
+ "101-0071"
+ "102-0071"
+ "103-0071"
+ "104-0071"
+ "100-0050"
+ "101-0050"
+ "102-0050"
+ "100-004c"
+ "101-004c"
+ "102-004c"
+ )
+# Driver path should include / at the end
+declare -a DRIVER_PATHs=(
+ "/sys/bus/i2c/drivers/pca954x/"
+ "/sys/bus/i2c/drivers/pca954x/"
+ "/sys/bus/i2c/drivers/pca954x/"
+ "/sys/bus/i2c/drivers/pca954x/"
+ "/sys/bus/i2c/drivers/pca954x/"
+ "/sys/bus/i2c/drivers/pca954x/"
+ "/sys/bus/i2c/drivers/at24/"
+ "/sys/bus/i2c/drivers/at24/"
+ "/sys/bus/i2c/drivers/at24/"
+ "/sys/bus/i2c/drivers/lm75/"
+ "/sys/bus/i2c/drivers/lm75/"
+ "/sys/bus/i2c/drivers/lm75/"
+ )
+
+# get length of an array
+arraylength=${#DRIVER_NAMEs[@]}
+
+# use for loop to read all values and indexes
+for (( i=0; i<"${arraylength}"; i++ ));
+do
+ bindFile="${DRIVER_PATHs[$i]}bind"
+ driverDir="${DRIVER_PATHs[$i]}${DRIVER_NAMEs[$i]}"
+ echo "binding ${DRIVER_NAMEs[$i]} path ${DRIVER_PATHs[$i]} on Chassi Power On"
+ if [ -d "$driverDir" ]; then
+ echo "Driver ${DRIVER_NAMEs[$i]} is already bound."
+ else
+ echo "${DRIVER_NAMEs[$i]}" > "$bindFile"
+ fi
+done
+
+exit 0