summaryrefslogtreecommitdiffstats
path: root/meta-quanta/meta-gsj/recipes-phosphor/quanta-nvme-powerctrl/files/init_once.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta-quanta/meta-gsj/recipes-phosphor/quanta-nvme-powerctrl/files/init_once.sh')
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/quanta-nvme-powerctrl/files/init_once.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/quanta-nvme-powerctrl/files/init_once.sh b/meta-quanta/meta-gsj/recipes-phosphor/quanta-nvme-powerctrl/files/init_once.sh
new file mode 100644
index 000000000..2ea02ef8d
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/quanta-nvme-powerctrl/files/init_once.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+function set_gpio() {
+ #$1 gpio pin
+ echo $1 > /sys/class/gpio/export
+}
+
+function set_gpio_direction(){
+ #$1 gpio pin, $2 'in','high','low'
+ echo $2 > /sys/class/gpio/gpio$1/direction
+}
+
+function read_gpio_input(){
+ #$1 read input gpio pin
+ cat /sys/class/gpio/gpio$1/value
+}
+
+function read_present_set_related_power(){
+ #$1 read present gpio, $2 output power gpio,$3 output direction
+ var=$(cat /sys/class/gpio/gpio$1/value)
+ # present 0 is plugged,present 1 is removal
+ if [ "$var" == "0" ];then
+ set_gpio_direction $2 "high"
+ else
+ set_gpio_direction $2 "low"
+ fi
+}
+
+
+## Initial U2_PRESNET_N
+U2_PRESENT=( 148 149 150 151 152 153 154 155 )
+for i in "${U2_PRESENT[@]}";
+do
+ set_gpio $i;
+ set_gpio_direction $i 'in';
+done
+
+## Initial POWER_U2_EN
+POWER_U2=( 195 196 202 199 198 197 127 126 )
+for i in "${POWER_U2[@]}";
+do
+ set_gpio $i;
+done
+
+## Initial PWRGD_U2
+PWRGD_U2=( 161 162 163 164 165 166 167 168 )
+for i in "${PWRGD_U2[@]}";
+do
+ set_gpio $i;
+ set_gpio_direction $i 'in';
+done
+
+### Initial SSD Power reference U2_PRESNET_N
+for i in {0..7};
+do
+ read_present_set_related_power "${U2_PRESENT[$i]}" "${POWER_U2[$i]}";
+done
+
+
+exit 0; \ No newline at end of file
OpenPOWER on IntegriCloud