meta-facebook: yosemite4: Add initial GPIO setting

Summary:
To initial GPIO setting by following yosemite4 hardware setting

Tested:
Check GPIO using devmem

Change-Id: I706ecfc8a41dcc12e4bd0f293c5ae38f5943d377
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
diff --git a/meta-facebook/meta-yosemite4/recipes-yosemite4/plat-svc/files/yosemite4-early-sys-init b/meta-facebook/meta-yosemite4/recipes-yosemite4/plat-svc/files/yosemite4-early-sys-init
new file mode 100644
index 0000000..bc1e54f
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-yosemite4/plat-svc/files/yosemite4-early-sys-init
@@ -0,0 +1,39 @@
+#!/bin/bash -e
+# shellcheck source=meta-facebook/meta-yosemite4/recipes-yosemite4/plat-tool/files/yosemite4-common-functions
+source /usr/libexec/yosemite4-common-functions
+
+# set initial value for GPIO output pins
+set_gpio EN_P5V_USB_CPLD_R    1
+set_gpio EN_NIC0_POWER_BMC_R  1
+set_gpio EN_NIC1_POWER_BMC_R  1
+set_gpio EN_NIC2_POWER_BMC_R  1
+set_gpio EN_NIC3_POWER_BMC_R  1
+set_gpio FM_BMC_RTCRST_R      0
+set_gpio RST_USB_HUB_R_N      1
+set_gpio FM_BMC_READY_R2      1
+set_gpio SPI_LOCK_REQ_BMC_N   1
+set_gpio EN_P3V_BAT_SCALED_R  0
+
+set_gpio P48V_OCP_GPIO1       0
+set_gpio P48V_OCP_GPIO2       0
+set_gpio P48V_OCP_GPIO3       0
+set_gpio RST_MUX_R_N          1
+set_gpio RST_LED_CONTROL_FAN_BOARD_0_N 1
+set_gpio RST_LED_CONTROL_FAN_BOARD_1_N 1
+set_gpio RST_IOEXP_FAN_BOARD_0_N       1
+set_gpio RST_IOEXP_FAN_BOARD_1_N       1
+set_gpio EN_P48V_AUX_0        1
+set_gpio EN_P48V_AUX_1        1
+set_gpio HSC_OCP_SLOT_ODD_GPIO1        0
+set_gpio HSC_OCP_SLOT_ODD_GPIO2        0
+set_gpio HSC_OCP_SLOT_ODD_GPIO3        0
+set_gpio HSC_OCP_SLOT_EVEN_GPIO1       0
+set_gpio HSC_OCP_SLOT_EVEN_GPIO2       0
+set_gpio HSC_OCP_SLOT_EVEN_GPIO3       0
+
+set_gpio NIC0_MAIN_PWR_EN 1
+set_gpio NIC1_MAIN_PWR_EN 1
+set_gpio NIC2_MAIN_PWR_EN 1
+set_gpio NIC3_MAIN_PWR_EN 1
+
+exit 0
diff --git a/meta-facebook/meta-yosemite4/recipes-yosemite4/plat-svc/files/yosemite4-sys-init.service b/meta-facebook/meta-yosemite4/recipes-yosemite4/plat-svc/files/yosemite4-sys-init.service
new file mode 100644
index 0000000..d2377f4
--- /dev/null
+++ b/meta-facebook/meta-yosemite4/recipes-yosemite4/plat-svc/files/yosemite4-sys-init.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Yosemite4 Early System Init
+Before=phosphor-pid-control.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/libexec/yosemite4-early-sys-init
+SyslogIdentifier=Yosemite4 Early Init
+
+[Install]
+WantedBy=multi-user.target