meta-ampere: Initial AmpereOne(TM) Mt. Mitchell's non-DC-SCM BMC support

Add new Mt.Mitchell platform with basic features so that it can be
compiled and works.

Tested:
1. Compile for Mt.Mitchell successful.
2. Flash and check for the firmware can boot on the Mt.Mitchell
non-DC-SCM system without issue

Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: I8dc9db9029b27c0c6325c31d368cdbb614a3c8b6
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"
+)