meta-quanta: meta-runbmc-nuvoton: rename meta-olympus-nuvoton

For avoid confusing this layer only with RUNBMC module
(https://www.opencompute.org/documents/ocp-runbmc-daughterboard-card-
design-specification-v1-4-1-pdf)

The meta-runbmc-nuvoton will rename meta-olympus-nuvoton.
That means the Quanta Olympus product with RUNBMC module which based on
Nuvoton SoC.

The layer configuration will binding Olympus product hardware design.

Change-Id: I5dd78c173648ea5db8ae69ee18e340bcd6e52b25
Signed-off-by: Samuel Jiang <Samuel.Jiang@quantatw.com>
diff --git a/meta-olympus-nuvoton/recipes-phosphor/console/files/obmc-console.conf b/meta-olympus-nuvoton/recipes-phosphor/console/files/obmc-console.conf
new file mode 100644
index 0000000..f99eaff
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/console/files/obmc-console.conf
@@ -0,0 +1 @@
+baud = 57600
diff --git a/meta-olympus-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend b/meta-olympus-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend
new file mode 100644
index 0000000..5967ce1
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend
@@ -0,0 +1,12 @@
+SUMMARY = "Nuvoton OpenBMC console daemon"
+DESCRIPTION = "Nuvoton Daemon to handle UART console connections"
+HOMEPAGE = "http://github.com/openbmc/obmc-console"
+PR = "r1"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+OBMC_CONSOLE_HOST_TTY := "ttyS2"
+
+do_build_append() {
+        install -m 0644 ${THISDIR}/files/${PN}.conf ${WORKDIR}/${PN}.conf
+}
diff --git a/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-olympus-nuvoton.json b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-olympus-nuvoton.json
new file mode 100644
index 0000000..5a78db6
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-olympus-nuvoton.json
@@ -0,0 +1,400 @@
+{
+    "sensors" : [
+        {
+            "name": "fan1",
+            "type": "fan",
+            "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan1",
+            "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm1",
+            "min": 0,
+            "max": 255
+        },
+        {
+            "name": "Core_0_CPU0",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_0_CPU0",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_0_CPU1",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_0_CPU1",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_1_CPU0",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_1_CPU0",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_1_CPU1",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_1_CPU1",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_2_CPU0",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_2_CPU0",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_2_CPU1",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_2_CPU1",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_3_CPU0",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_3_CPU0",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_3_CPU1",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_3_CPU1",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_4_CPU0",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_4_CPU0",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_4_CPU1",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_4_CPU1",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_5_CPU0",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_5_CPU0",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        },
+        {
+            "name": "Core_5_CPU1",
+            "type": "temp",
+            "readPath": "/xyz/openbmc_project/sensors/temperature/Core_5_CPU1",
+            "writePath": "",
+            "min": 0,
+            "max": 0,
+            "timeout": 0
+        }
+    ],
+    "zones" : [
+        {
+            "id": 0,
+            "minThermalOutput": 0.0,
+            "failsafePercent": 100.0,
+            "pids": [
+                {
+                    "name": "fan1",
+                    "type": "fan",
+                    "inputs": ["fan1"],
+                    "setpoint": 40.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": 0.0,
+                        "integralCoeff": 0.0,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 1.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 3.0,
+                        "outLim_max": 100.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0
+                    }
+                },
+                {
+                    "name": "Core_0_CPU0",
+                    "type": "temp",
+                    "inputs": ["Core_0_CPU0"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_0_CPU1",
+                    "type": "temp",
+                    "inputs": ["Core_0_CPU1"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_1_CPU0",
+                    "type": "temp",
+                    "inputs": ["Core_1_CPU0"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_1_CPU1",
+                    "type": "temp",
+                    "inputs": ["Core_1_CPU1"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_2_CPU0",
+                    "type": "temp",
+                    "inputs": ["Core_2_CPU0"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_2_CPU1",
+                    "type": "temp",
+                    "inputs": ["Core_2_CPU1"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_3_CPU0",
+                    "type": "temp",
+                    "inputs": ["Core_3_CPU0"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_3_CPU1",
+                    "type": "temp",
+                    "inputs": ["Core_3_CPU1"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_4_CPU0",
+                    "type": "temp",
+                    "inputs": ["Core_4_CPU0"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_4_CPU1",
+                    "type": "temp",
+                    "inputs": ["Core_4_CPU1"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_5_CPU0",
+                    "type": "temp",
+                    "inputs": ["Core_5_CPU0"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                },
+                {
+                    "name": "Core_5_CPU1",
+                    "type": "temp",
+                    "inputs": ["Core_5_CPU1"],
+                    "setpoint": 30.0,
+                    "pid": {
+                        "samplePeriod": 1.0,
+                        "proportionalCoeff": -20.0,
+                        "integralCoeff": -0.1,
+                        "feedFwdOffsetCoeff": 0.0,
+                        "feedFwdGainCoeff": 0.0,
+                        "integralLimit_min": 0.0,
+                        "integralLimit_max": 0.0,
+                        "outLim_min": 0.0,
+                        "outLim_max": 16000.0,
+                        "slewNeg": 0.0,
+                        "slewPos": 0.0,
+                        "positiveHysteresis": 1.0,
+                        "negativeHysteresis": 1.0
+                    }
+                }
+            ]
+        }
+    ]
+}
diff --git a/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh
new file mode 100644
index 0000000..9a0d8e2
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh
@@ -0,0 +1,3 @@
+#!bin/bash
+
+echo 255 > /sys/class/hwmon/*/pwm1
diff --git a/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service
new file mode 100644
index 0000000..3ce2e01
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Set Fan to Full Speed as Rebooting
+DefaultDependencies=no
+After=shutdown.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/bin/fan-full-speed.sh
+
+[Install]
+WantedBy=shutdown.target
diff --git a/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
new file mode 100644
index 0000000..57ae69c
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=OpenBMC Fan Control Daemon
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/swampd
+Restart=always
+RestartSec=5
+StartLimitInterval=0
+ExecStopPost=/usr/bin/fan-full-speed.sh
+
+[Install]
+WantedBy=basic.target
diff --git a/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
new file mode 100644
index 0000000..a61181d
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
@@ -0,0 +1,29 @@
+FILESEXTRAPATHS_prepend_olympus-nuvoton := "${THISDIR}/${PN}:"
+
+SRC_URI_append_olympus-nuvoton = " file://config-olympus-nuvoton.json"
+SRC_URI_append_olympus-nuvoton = " file://fan-full-speed.sh"
+SRC_URI_append_olympus-nuvoton = " file://phosphor-pid-control.service"
+SRC_URI_append_olympus-nuvoton = " file://fan-reboot-control.service"
+
+FILES_${PN}_append_olympus-nuvoton = " ${bindir}/fan-full-speed.sh"
+FILES_${PN}_append_olympus-nuvoton = " ${datadir}/swampd/config.json"
+
+RDEPENDS_${PN} += "bash"
+
+SYSTEMD_SERVICE_${PN}_append_olympus-nuvoton = " phosphor-pid-control.service"
+SYSTEMD_SERVICE_${PN}_append_olympus-nuvoton = " fan-reboot-control.service"
+
+do_install_append_olympus-nuvoton() {
+    install -d ${D}/${bindir}
+    install -m 0755 ${WORKDIR}/fan-full-speed.sh ${D}/${bindir}
+
+    install -d ${D}${datadir}/swampd
+    install -m 0644 -D ${WORKDIR}/config-olympus-nuvoton.json \
+        ${D}${datadir}/swampd/config.json
+
+    install -d ${D}${systemd_unitdir}/system/
+    install -m 0644 ${WORKDIR}/phosphor-pid-control.service \
+        ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/fan-reboot-control.service \
+        ${D}${systemd_unitdir}/system
+}
diff --git a/meta-olympus-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-olympus-channels.json b/meta-olympus-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-olympus-channels.json
new file mode 100644
index 0000000..45100bd
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-olympus-channels.json
@@ -0,0 +1,11 @@
+{
+  "channels": [
+    {
+      "type": "me",
+      "master-path": "/dev/i2c-5",
+      "slave-path": "/sys/bus/i2c/devices/5-1010/slave-mqueue",
+      "bmc-addr": 32,
+      "remote-addr": 44
+    }
+  ]
+}
diff --git a/meta-olympus-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-olympus-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
new file mode 100644
index 0000000..6feb2be
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend_olympus-nuvoton := "${THISDIR}/${PN}:"
+
+SRC_URI_append_olympus-nuvoton = " file://ipmb-olympus-channels.json"
+FILES_${PN}_append_olympus-nuvoton = " ${datadir}/ipmbbridge/ipmb-channels.json"
+
+do_install_append_olympus-nuvoton() {
+    install -d ${D}${datadir}/ipmbbridge
+    install -m 0644 -D ${WORKDIR}/ipmb-olympus-channels.json \
+        ${D}${datadir}/ipmbbridge/ipmb-channels.json
+}
+