meta-fii/meta-kudo: configure kudo system during bmc boot
1. do initialize during BMC boot
Signed-off-by: Lancelot Kao <lancelot.kao@fii-usa.com>
Change-Id: I5d3ff526a973152a96d00433eb86f7d7dd59e2d3
Signed-off-by: Mohaimen Alsamarai <Mohaimen.Alsamarai@fii-na.com>
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb
new file mode 100644
index 0000000..ebb3207
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Phosphor OpenBMC Kudo System Power Control Service"
+DESCRIPTION = "Phosphor OpenBMC Kudo System Power Control Daemon"
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+inherit obmc-phosphor-systemd
+
+DEPENDS += "systemd"
+RDEPENDS_${PN} += "libsystemd"
+RDEPENDS_${PN} += "bash"
+
+SRC_URI += " \
+ file://init_once.sh \
+ file://host-powerctrl.service \
+ "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = " \
+ host-powerctrl.service \
+ "
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/init_once.sh ${D}${bindir}/
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/host-powerctrl.service ${D}${systemd_unitdir}/system
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service
new file mode 100644
index 0000000..2a8d739
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service
@@ -0,0 +1,12 @@
+[Unit]
+Description = Ampere Host Power Control Sequence
+
+[Service]
+Restart=no
+RemainAfterExit=true
+Type=oneshot
+ExecStart=/usr/bin/init_once.sh
+StandardOutput=syslog
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
new file mode 100644
index 0000000..1e928e5
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+source /usr/sbin/kudo-lib.sh
+
+# set all mux route to CPU before power on host
+# BMC_CPU_RTC_I2C_SEL #120
+set_gpio_ctrl 120 out 1
+# BMC_CPU_DDR_I2C_SEL #84
+set_gpio_ctrl 84 out 1
+# BMC_CPU_EEPROM_I2C_SEL #85
+set_gpio_ctrl 85 out 1
+# BMC_CPU_PMBUS_SEL #86
+set_gpio_ctrl 86 out 1
+
+# LED control
+# LED_BMC_LIVE #0
+set_gpio_ctrl 0 out 1
+
+# SPI control
+# Send command to CPLD to switch the bios spi interface to host
+i2cset -y -f -a 13 0x76 0x10 0x00
+
+# Power control
+# MON_BMC_ALIVE, GPIO 10
+set_gpio_ctrl 10 out 1
+# S0_BMC_OK, GPIO 69
+set_gpio_ctrl 69 out 1