diff --git a/meta-ampere/meta-mitchell/recipes-ampere/packagegroups/packagegroup-obmc-ampere-apps.bb b/meta-ampere/meta-mitchell/recipes-ampere/packagegroups/packagegroup-obmc-ampere-apps.bb
new file mode 100644
index 0000000..d1c7e7e
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/packagegroups/packagegroup-obmc-ampere-apps.bb
@@ -0,0 +1,53 @@
+SUMMARY = "OpenBMC for Ampere - Applications"
+PR = "r1"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = " \
+        ${PN}-chassis \
+        ${PN}-flash \
+        ${PN}-system \
+        "
+
+PROVIDES += "virtual/obmc-chassis-mgmt"
+PROVIDES += "virtual/obmc-flash-mgmt"
+PROVIDES += "virtual/obmc-system-mgmt"
+
+RPROVIDES:${PN}-chassis += "virtual-obmc-chassis-mgmt"
+RPROVIDES:${PN}-flash += "virtual-obmc-flash-mgmt"
+RPROVIDES:${PN}-system += "virtual-obmc-system-mgmt"
+
+SUMMARY:${PN}-chassis = "Ampere Chassis"
+RDEPENDS:${PN}-chassis = " \
+                            obmc-phosphor-buttons-signals \
+                            obmc-phosphor-buttons-handler \
+                            obmc-op-control-power \
+                            ampere-hostctrl \
+                            phosphor-hostlogger \
+                            phosphor-sel-logger \
+                            phosphor-logging \
+                         "
+
+SUMMARY:${PN}-system = "Ampere System"
+RDEPENDS:${PN}-system = " \
+                         smbios-mdr \
+                        "
+
+SUMMARY:${PN}-flash = "Ampere Flash"
+RDEPENDS:${PN}-flash = " \
+                        phosphor-software-manager \
+                       "
+
+RDEPENDS:${PN}-inventory:append = " \
+                                   dbus-sensors \
+                                   entity-manager \
+                                  "
+
+RDEPENDS:${PN}-extras:append = " \
+                                webui-vue \
+                                phosphor-virtual-sensor \
+                               "
+RDEPENDS:${PN}-extras:remove = " phosphor-hwmon"
+
+VIRTUAL-RUNTIME_obmc-sensors-hwmon ?= "dbus-sensors"
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init.bb b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init.bb
new file mode 100644
index 0000000..dd5f599
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Phosphor OpenBMC Platform Init Service"
+DESCRIPTION = "Phosphor OpenBMC Platform Init 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://ampere-platform-init.service \
+           file://ampere-bmc-heartbeat.service \
+           file://ampere_platform_init.sh \
+           file://ampere_bmc_heartbeat.sh \
+           file://${MACHINE}_platform_gpios_init.sh \
+           file://gpio-lib.sh \
+          "
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "ampere-platform-init.service ampere-bmc-heartbeat.service"
+
+do_install () {
+    install -d ${D}${sbindir}
+    install -m 0755 ${WORKDIR}/gpio-lib.sh ${D}${sbindir}/
+    install -m 0755 ${WORKDIR}/ampere_platform_init.sh ${D}${sbindir}/
+    install -m 0755 ${WORKDIR}/ampere_bmc_heartbeat.sh ${D}${sbindir}/
+    install -m 0755 ${WORKDIR}/${MACHINE}_platform_gpios_init.sh ${D}${sbindir}/platform_gpios_init.sh
+    install -d ${D}${systemd_unitdir}/system/
+    install -m 0644 ${WORKDIR}/ampere-platform-init.service ${D}${systemd_unitdir}/system
+}
+
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere-bmc-heartbeat.service b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere-bmc-heartbeat.service
new file mode 100644
index 0000000..d491fd9
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere-bmc-heartbeat.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Ampere BMC heartbeat service
+Wants=obmc-mapper.target
+After=obmc-mapper.target
+
+[Service]
+Type=simple
+Restart=always
+ExecStart=/usr/bin/env ampere_bmc_heartbeat.sh
+SyslogIdentifier = "ampere-bmc-heartbeat"
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere-platform-init.service b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere-platform-init.service
new file mode 100644
index 0000000..72a34cb
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere-platform-init.service
@@ -0,0 +1,11 @@
+[Unit]
+Description = Ampere Platform Initialization
+
+[Service]
+Restart=no
+RemainAfterExit=true
+Type=oneshot
+ExecStart=/usr/sbin/ampere_platform_init.sh
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_bmc_heartbeat.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_bmc_heartbeat.sh
new file mode 100644
index 0000000..5ecea31
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_bmc_heartbeat.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# shellcheck disable=SC2154
+# shellcheck source=/dev/null
+
+source /usr/sbin/gpio-lib.sh
+
+value=0
+while true;
+do
+	if [[ $value -eq 0 ]]; then
+		value=1
+		gpio_name_set led-sw-hb 1
+		gpio_name_set led-bmc-hb 0
+	else
+		value=0
+		gpio_name_set led-sw-hb 0
+		gpio_name_set led-bmc-hb 1
+	fi
+	sleep 1s
+done
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh
new file mode 100644
index 0000000..33dc7ea
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/ampere_platform_init.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+# shellcheck disable=SC2154
+# shellcheck source=/dev/null
+
+source /usr/sbin/gpio-lib.sh
+source /usr/sbin/platform_gpios_init.sh
+
+#pre platform init function. implemented in platform_gpios_init.sh
+pre-platform-init
+
+# =======================================================
+# Setting default value for device sel and mux
+bootstatus=$(cat /sys/class/watchdog/watchdog0/bootstatus)
+if [ "$bootstatus" == '32' ]; then
+    echo "CONFIGURE: gpio pins to output high after AC power"
+    for gpioName in "${output_high_gpios_in_ac[@]}"; do
+        gpio_name_set "$gpioName" 1
+    done
+    echo "CONFIGURE: gpio pins to output low after AC power"
+    for gpioName in "${output_low_gpios_in_ac[@]}"; do
+        gpio_name_set "$gpioName" 0
+    done
+    echo "CONFIGURE: gpio pins to input after AC power"
+    for gpioName in "${input_gpios_in_ac[@]}"; do
+        gpio_name_input "$gpioName"
+    done
+fi
+
+# =======================================================
+# Setting default value for others gpio pins
+echo "CONFIGURE: gpio pins to output high"
+for gpioName in "${output_high_gpios_in_bmc_reboot[@]}"; do
+    gpio_name_set "$gpioName" 1
+done
+echo "CONFIGURE: gpio pins to output low"
+for gpioName in "${output_low_gpios_in_bmc_reboot[@]}"; do
+    gpio_name_set "$gpioName" 0
+done
+echo "CONFIGURE: gpio pins to input"
+for gpioName in "${input_gpios_in_bmc_reboot[@]}"; do
+    gpio_name_input "$gpioName"
+done
+
+#post platform init function. implemented in platform_gpios_init.sh
+post-platform-init
+
+exit 0
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
new file mode 100644
index 0000000..3e503c4
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/gpio-lib.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+
+# shellcheck disable=SC2154
+# shellcheck source=/dev/null
+
+# Configure GPIO as output and set its value
+AST2600_GPIO_BASE=(
+    816
+    780
+)
+
+function gpio_configure_output() {
+	echo "$1" > /sys/class/gpio/export
+	echo out > /sys/class/gpio/gpio"$1"/direction
+	echo "$2" > /sys/class/gpio/gpio"$1"/value
+	echo "$1" > /sys/class/gpio/unexport
+}
+
+function gpio_get_val() {
+	echo "$1" > /sys/class/gpio/export
+	cat /sys/class/gpio/gpio"$1"/value
+	echo "$1" > /sys/class/gpio/unexport
+}
+
+# Configure GPIO as input
+function gpio_configure_input() {
+	echo "$1" > /sys/class/gpio/export
+	echo "in" > /sys/class/gpio/gpio"$1"/direction
+	echo "$1" > /sys/class/gpio/unexport
+}
+
+function gpio_name_set()
+{
+    str=$(gpiofind "$1")
+    #Verify error code when run gpiofind
+    if [ "$?" == '1' ]; then
+        echo "Invalid gpio name $1"
+    else
+        gpioid=$(echo "$str"|cut -c 9)
+        offset=$(echo "$str"|cut -d " " -f 2)
+        gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
+        gpio_configure_output "$gpioPin" "$2"
+    fi
+}
+
+function gpio_name_get()
+{
+    str=$(gpiofind "$1")
+    #Verify error code when run gpiofind
+    if [ "$?" == '1' ]; then
+        echo "Invalid gpio name $1"
+    else
+        offset=$(echo "$str"|cut -d " " -f 2)
+        gpioid=$(echo "$str"|cut -c 9)
+        gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
+        gpio_get_val "$gpioPin"
+    fi
+}
+
+function gpio_name_input()
+{
+    str=$(gpiofind "$1")
+    #Verify error code when run gpiofind
+    if [ "$?" == '1' ]; then
+        echo "Invalid gpio name $1"
+    else
+        gpioid=$(echo "$str"|cut -c 9)
+        offset=$(echo "$str"|cut -d " " -f 2)
+        gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
+        gpio_configure_input "$gpioPin"
+    fi
+}
\ No newline at end of file
diff --git a/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh
new file mode 100644
index 0000000..4c30466
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-ampere/platform/ampere-platform-init/mtmitchell_platform_gpios_init.sh
@@ -0,0 +1,105 @@
+#!/bin/bash
+
+# shellcheck disable=SC2154
+# shellcheck source=/dev/null
+
+source /usr/sbin/gpio-lib.sh
+
+function bind_rtc_driver() {
+    # If rtc device can not present, bind the device
+    if [[ ! -e /dev/rtc0 ]]; then
+        echo "Bind rtc driver"
+        echo 6-0051 > /sys/bus/i2c/drivers/rtc-pcf85063/bind
+    fi
+}
+
+function pre-platform-init() {
+    echo "Do pre platform init"
+}
+
+function post-platform-init() {
+    # gpio-leds is controlling bmc-ready, not by gpio
+    echo 1 > /sys/class/leds/bmc-ready/brightness
+
+    # Bind rtc driver
+    bind_rtc_driver
+}
+
+export output_high_gpios_in_ac=(
+    # add device enable, mux setting, device select gpios
+    "spi0-backup-sel"
+    "i2c-backup-sel"
+)
+
+export output_low_gpios_in_ac=(
+    # add device enable, mux setting, device select gpios
+    "spi0-program-sel"
+    "ocp-main-pwren"
+)
+
+export input_gpios_in_ac=(
+    # add device enable, mux setting, device select gpios
+)
+
+export output_high_gpios_in_bmc_reboot=(
+    "host0-sysreset-n"
+    "host0-pmin-n"
+    "vrd-sel"
+    "spd-sel"
+    "ext-high-temp-n"
+    "wd-disable-n"
+    "hpm-stby-rst-n"
+    "jtag-sel-s0"
+    "cpld-user-mode"
+    "jtag-srst-n"
+    "host0-shd-req-n"
+)
+
+export output_low_gpios_in_bmc_reboot=(
+    "rtc-battery-voltage-read-enable"
+    "s0-rtc-lock"
+    "hpm-fw-recovery"
+    "led-fault"
+    "spi-nor-access"
+    "host0-special-boot"
+)
+
+export input_gpios_in_bmc_reboot=(
+    "s0-vrd-fault-n"
+    "s1-vrd-fault-n"
+    "irq-n"
+    "presence-ps0"
+    "presence-ps1"
+    "hsc-12vmain-alt2-n"
+    "s0-pcp-oc-warn-n"
+    "s1-pcp-oc-warn-n"
+    "cpu-bios-recover"
+    "s0-heartbeat"
+    "hs-scout-proc-hot"
+    "s0-vr-hot-n"
+    "s1-vr-hot-n"
+    "hsc-12vmain-alt1-n"
+    "power-chassis-good"
+    "power-button"
+    "s0-ddr-save"
+    "soc-spi-nor-access"
+    "presence-cpu0"
+    "jtag-dbgr-prsnt-n"
+    "ps0-ac-loss-n"
+    "ps1-ac-loss-n"
+    "s1-ddr-save"
+    "sys-pgood"
+    "presence-cpu1"
+    "s0-fault-alert"
+    "s0-sys-auth-failure-n"
+    "host0-ready"
+    "ocp-pgood"
+    "s1-fault-alert"
+    "s1-fw-boot-ok"
+    "s0-spi-auth-fail-n"
+    "s1-sys-auth-failure-n"
+    "reset-button"
+    "ps0-pgood"
+    "ps1-pgood"
+    "s0-soc-pgood"
+)
