summaryrefslogtreecommitdiff
path: root/meta-quanta
diff options
context:
space:
mode:
Diffstat (limited to 'meta-quanta')
-rw-r--r--meta-quanta/conf/layer.conf5
-rw-r--r--meta-quanta/meta-f0b/conf/layer.conf2
-rw-r--r--meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb2
-rw-r--r--meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb2
-rw-r--r--meta-quanta/meta-gsj/conf/layer.conf2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service1
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json3
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json9
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf40
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf14
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager/restrictionmode-default-whitelist.override.yml6
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend1
-rw-r--r--meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb2
-rw-r--r--meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb2
-rw-r--r--meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb2
-rw-r--r--meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb2
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/conf/layer.conf4
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf23
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_RunBMC.xml166
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/UbootHeader_RunBMC.xml191
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_%.bbappend12
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend5
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg37
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/files/obmc-console.conf1
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend12
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-runbmc-nuvoton.json400
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh3
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service12
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service13
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend29
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-runbmc-channels.json11
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend11
40 files changed, 982 insertions, 59 deletions
diff --git a/meta-quanta/conf/layer.conf b/meta-quanta/conf/layer.conf
index 6bc649299..81759fe51 100644
--- a/meta-quanta/conf/layer.conf
+++ b/meta-quanta/conf/layer.conf
@@ -7,7 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "quanta-layer"
BBFILE_PATTERN_quanta-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_quanta-layer = "thud warrior"
-
-# Provide a variable that points the base of the quanta layer.
-QUANTABASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERSERIES_COMPAT_quanta-layer = "warrior zeus"
diff --git a/meta-quanta/meta-f0b/conf/layer.conf b/meta-quanta/meta-f0b/conf/layer.conf
index dc1004297..cfffcf275 100644
--- a/meta-quanta/meta-f0b/conf/layer.conf
+++ b/meta-quanta/meta-f0b/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "f0b-layer"
BBFILE_PATTERN_f0b-layer = ""
-LAYERSERIES_COMPAT_f0b-layer = "thud warrior"
+LAYERSERIES_COMPAT_f0b-layer = "warrior zeus"
diff --git a/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb b/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb
index 89d861033..ac198a177 100644
--- a/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb
+++ b/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "F0B inventory map for phosphor-ipmi-host"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb b/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb
index 1831e59a9..edd8364c0 100644
--- a/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb
+++ b/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "F0B IPMI to DBus Inventory mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-quanta/meta-gsj/conf/layer.conf b/meta-quanta/meta-gsj/conf/layer.conf
index e7dcbfeab..1da7654b5 100644
--- a/meta-quanta/meta-gsj/conf/layer.conf
+++ b/meta-quanta/meta-gsj/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "gsj-layer"
BBFILE_PATTERN_gsj-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_gsj-layer = "thud warrior"
+LAYERSERIES_COMPAT_gsj-layer = "warrior zeus"
diff --git a/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb b/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb
index 86303c359..24ca38d8f 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb
+++ b/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb
@@ -2,7 +2,7 @@ SUMMARY = "OpenBMC Quanta Detect Fan Fail Service"
DESCRIPTION = "OpenBMC Quanta Detect Fan Fail Daemon."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit systemd
diff --git a/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb b/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb
index 8d3fbf376..37e4e44cf 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb
+++ b/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb
@@ -2,7 +2,7 @@ SRC_URI = "git://github.com/quanta-bmc/mac-address.git;protocol=git"
SRCREV = "${AUTOREV}"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit autotools pkgconfig
inherit systemd
diff --git a/meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb b/meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb
index ada2a6a36..887b50305 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb
+++ b/meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb
@@ -2,7 +2,7 @@ SUMMARY = "Phosphor OpenBMC Quanta NVME Power Control Service"
DESCRIPTION = "Phosphor OpenBMC Quanta NVME Power Control Daemon."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
FILESEXTRAPATHS_append := "${THISDIR}/files:"
diff --git a/meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service b/meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service
index 913f5fbee..81a4e4244 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service
+++ b/meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service
@@ -1,5 +1,6 @@
[Unit]
Description=enable usb network
+After=phosphor-ipmi-host.service
[Service]
Type=oneshot
diff --git a/meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb b/meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb
index 591ca5afd..ad46c0b32 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb
+++ b/meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_append := "${THISDIR}/files:"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
DEPENDS += "systemd"
RDEPENDS_${PN} += "libsystemd"
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json
index c294a733a..694ea2a0b 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json
@@ -55,6 +55,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -64,6 +65,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -73,6 +75,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
}
],
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json
index 430c3f4d2..f323219d1 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json
@@ -55,6 +55,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -64,6 +65,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -73,6 +75,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -82,6 +85,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -91,6 +95,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -100,6 +105,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -109,6 +115,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -118,6 +125,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -127,6 +135,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
}
],
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb
index 340955c1a..c6061a23e 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb
+++ b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "gsj inventory map for phosphor-ipmi-host"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb
index db3aaf20e..d46a7abdd 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb
+++ b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "gsj IPMI to DBus Inventory mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb
index b716bf054..2389730e8 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb
+++ b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Quanta gsj IPMI to DBus Sensor mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf
index a0d18b480..5eabef339 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf
+++ b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf
@@ -6,26 +6,33 @@
0x00:0x06 //<Chassis>:<Set Power Restore Policy>
0x00:0x08 //<Chassis>:<Set System Boot Options>
0x00:0x09 //<Chassis>:<Get System Boot Options>
-0x00:0x0F //<Chassis>:<Get POH Counter Command>
-0x04:0x02 //<Sensor/Event>:<Platform event>
+0x04:0x20 //<Sensor/Event>:<Get Device SDR Info>
+0x04:0x21 //<Sensor/Event>:<Get Device SDR>
+0x04:0x22 //<Sensor/Event>:<Reserve Device SDR Repository>
+0x04:0x27 //<Sensor/Event>:<Get Sensor Threshold>
+0x04:0x29 //<Sensor/Event>:<Get Sensor Event Enable>
+0x04:0x2B //<Sensor/Event>:<Get Sensor Event Status>
0x04:0x2D //<Sensor/Event>:<Get Sensor Reading>
0x04:0x2F //<Sensor/Event>:<Get Sensor Type>
0x04:0x30 //<Sensor/Event>:<Set Sensor Reading and Event Status>
0x06:0x01 //<App>:<Get Device ID>
+0x06:0x02 //<App>:<Cold Reset>
+0x06:0x03 //<App>:<Warm Reset>
0x06:0x04 //<App>:<Get Self Test Results>
-0x06:0x06 //<App>:<Set ACPI Power State>
-0x06:0x07 //<App>:<Get ACPI Power State>
0x06:0x08 //<App>:<Get Device GUID>
-0x06:0x22 //<App>:<Reset Watchdog Timer>
-0x06:0x24 //<App>:<Set Watchdog Timer>
-0x06:0x25 //<App>:<Get Watchdog Timer>
-0x06:0x2E //<App>:<Set BMC Global Enables>
-0x06:0x2F //<App>:<Get BMC Global Enables>
-0x06:0x31 //<App>:<Get Message Flags>
0x06:0x35 //<App>:<Read Event Message Buffer>
-0x06:0x36 //<App>:<Get BT Interface Capabilities>
-0x06:0x37 //<App>:<Get System GUID>
-0x06:0x42 //<App>:<Get Channel Info Command>
+0x06:0x40 //<App>:<Set Channel Access>
+0x06:0x41 //<App>:<Get Channel Access>
+0x06:0x42 //<App>:<Get Channel Info>
+0x06:0x43 //<App>:<Set User Access>
+0x06:0x44 //<App>:<Get User Access>
+0x06:0x45 //<App>:<Set User Name>
+0x06:0x46 //<App>:<Get User Name>
+0x06:0x47 //<App>:<Set User Password>
+0x06:0x48 //<App>:<Activate Payload>
+0x06:0x49 //<App>:<Deactivate Payload>
+0x06:0x4A //<App>:<Get Payload Activation Status>
+0x06:0x4B //<App>:<Get Payload Instance Info>
0x06:0x54 //<App>:<Get Channel Cipher Suites>
0x0A:0x10 //<Storage>:<Get FRU Inventory Area Info>
0x0A:0x11 //<Storage>:<Read FRU Data>
@@ -34,9 +41,12 @@
0x0A:0x23 //<Storage>:<Get SDR>
0x0A:0x40 //<Storage>:<Get SEL Info>
0x0A:0x42 //<Storage>:<Reserve SEL>
+0x0A:0x43 //<Storage>:<Get SEL Entry>
0x0A:0x44 //<Storage>:<Add SEL Entry>
+0x0A:0x47 //<Storage>:<Clear SEL>
0x0A:0x48 //<Storage>:<Get SEL Time>
0x0A:0x49 //<Storage>:<Set SEL Time>
+0x0C:0x01 //<Transport>:<Set LAN Configuration Parameters>
0x0C:0x02 //<Transport>:<Get LAN Configuration Parameters>
0x2C:0x00 //<Group Extension>:<Group Extension Command>
0x2C:0x01 //<Group Extension>:<Get DCMI Capabilities>
@@ -45,3 +55,7 @@
0x2C:0x06 //<Group Extension>:<Get Asset Tag>
0x2C:0x07 //<Group Extension>:<Get Sensor Info>
0x2C:0x10 //<Group Extension>:<Get Temperature Readings>
+0x2C:0x3E //<Group Extension>:<Get HPM.x Capabilities>
+0x2E:0x02 //<Google OEM>:<I2C via Proxy Adapter>
+0x2E:0x30 //<Google OEM>:<Ethernet Statistics>
+0x2E:0x32 //<Google OEM>:<Sys Commands>
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb b/meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb
index c8a8291e1..a91420fe9 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb
+++ b/meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management for gsj"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf b/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf
index b1dc82192..c2060ccb9 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf
+++ b/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf
@@ -8,13 +8,14 @@ MAXVALUE_temp1 = "127"
EVENT_temp1= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_curr1= "P48V_HSC_Current"
-WARNLO_curr1= "3"
+WARNLO_curr1= "4"
CRITLO_curr1= "0"
-WARNHI_curr1= "13750"
-CRITHI_curr1= "15000"
+WARNHI_curr1= "17629"
+CRITHI_curr1= "19231"
MINVALUE_curr1 = "0"
MAXVALUE_curr1 = "23"
EVENT_curr1= "WARNHI,WARNLO,CRITHI,CRITLO"
+GAIN_curr1= "0.78"
LABEL_in3= "P48V_HSC_Vol"
WARNLO_in3= "39500"
@@ -26,10 +27,11 @@ MAXVALUE_in3 = "62"
EVENT_in3= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_power1= "P48V_HSC_Power"
-WARNLO_power1= "100000"
+WARNLO_power1= "128205"
CRITLO_power1= "0"
-WARNHI_power1= "550000000"
-CRITHI_power1= "600000000"
+WARNHI_power1= "705128205"
+CRITHI_power1= "769230770"
MINVALUE_power1 = "0"
MAXVALUE_power1 = "795"
EVENT_power1= "WARNHI,WARNLO,CRITHI,CRITLO"
+GAIN_power1= "0.78"
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager/restrictionmode-default-whitelist.override.yml b/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager/restrictionmode-default-whitelist.override.yml
new file mode 100644
index 000000000..b0de5dd1a
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager/restrictionmode-default-whitelist.override.yml
@@ -0,0 +1,6 @@
+---
+/xyz/openbmc_project/control/host0/restriction_mode:
+ - Interface: xyz.openbmc_project.Control.Security.RestrictionMode
+ Properties:
+ RestrictionMode:
+ Default: RestrictionMode::Modes::Whitelist
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend b/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
index da834423f..53db04d03 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
+++ b/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
@@ -1,2 +1,3 @@
FILESEXTRAPATHS_prepend_gsj := "${THISDIR}/${BPN}:"
SRC_URI_append_gsj = " file://time-default.override.yml"
+SRC_URI_append_gsj = " file://restrictionmode-default-whitelist.override.yml"
diff --git a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb
index 83bf5c2b2..f6db0c914 100644
--- a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb
+++ b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb
@@ -1,5 +1,5 @@
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb
index dbb59178f..85c085e99 100644
--- a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb
+++ b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Quanta-Q71l IPMI to DBus Inventory mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb
index 07c53e416..0c595fa71 100644
--- a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb
+++ b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Quanta Q71l IPMI to DBus Sensor mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb b/meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb
index f6f6458bf..37b27ac69 100644
--- a/meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb
+++ b/meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_append := "${THISDIR}/files:"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit systemd
inherit obmc-phosphor-systemd
diff --git a/meta-quanta/meta-runbmc-nuvoton/conf/layer.conf b/meta-quanta/meta-runbmc-nuvoton/conf/layer.conf
index e5aca0ef8..ccb683fe8 100644
--- a/meta-quanta/meta-runbmc-nuvoton/conf/layer.conf
+++ b/meta-quanta/meta-runbmc-nuvoton/conf/layer.conf
@@ -6,5 +6,5 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "runbmc-nuvoton-layer"
-BBFILE_PATTERN_runbmc-nuvoton-layer = ""
-LAYERSERIES_COMPAT_runbmc-nuvoton-layer = "thud warrior"
+BBFILE_PATTERN_runbmc-nuvoton-layer := "^${LAYERDIR}/"
+LAYERSERIES_COMPAT_runbmc-nuvoton-layer = "warrior zeus"
diff --git a/meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf b/meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf
index 4653ce568..c8e8257ca 100644
--- a/meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf
+++ b/meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf
@@ -1,11 +1,26 @@
KMACHINE = "nuvoton"
-KERNEL_DEVICETREE = "${KMACHINE}-npcm750-runbmc.dtb"
+KERNEL_DEVICETREE = "${KMACHINE}-npcm750-runbmc-olympus.dtb"
-UBOOT_MACHINE = "PolegSVB_config"
-
-FLASH_SIZE = "32768"
require conf/machine/include/npcm7xx.inc
require conf/machine/include/obmc-bsp-common.inc
+FLASH_SIZE = "32768"
+FLASH_UBOOT_OFFSET = "0"
+FLASH_KERNEL_OFFSET = "2048"
+FLASH_ROFS_OFFSET = "8192"
+FLASH_RWFS_OFFSET = "29696"
+
+UBOOT_MACHINE = "PolegRunBMC_defconfig"
+
IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
IMAGE_FSTYPES += " mtd-ubi-tar"
+
+OBMC_MACHINE_FEATURES += "\
+ obmc-phosphor-fan-mgmt \
+ obmc-phosphor-chassis-mgmt \
+ obmc-phosphor-flash-mgmt \
+ obmc-host-ipmi \
+ obmc-host-state-mgmt \
+ obmc-chassis-state-mgmt \
+ obmc-bmc-state-mgmt \
+ "
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_RunBMC.xml b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_RunBMC.xml
new file mode 100644
index 000000000..58723e60e
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_RunBMC.xml
@@ -0,0 +1,166 @@
+<!-- SPDX-License-Identifier: GPL-2.0
+#
+# Nuvoton IGPS: Image Generation And Programming Scripts For Poleg BMC
+#
+# Copyright (C) 2018 Nuvoton Technologies, All Rights Reserved
+#--------------------------------------------------------------------------->
+
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Bin_Ecc_Map>
+ <!-- BMC mandatory fields -->
+ <ImageProperties>
+ <BinSize>0</BinSize> <!-- If 0 the binary size will be calculated by the tool -->
+ <PadValue>0xFF</PadValue> <!-- Byte value to pad the empty areas, default is 0 -->
+ </ImageProperties>
+
+ <BinField>
+ <!-- BootBlock tag (0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42) or
+ uboot tag (0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B) -->
+ <name>StartTag</name> <!-- name of field -->
+ <config>
+ <offset>0</offset> <!-- offset in the header -->
+ <size>0x8</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Code destination address, 32-bit aligned: for BootBlock should be 0xFFFD5E00 so code will run in 0xFFFD6000 as linked for -->
+ <name>DestAddr</name> <!-- name of field -->
+ <config>
+ <offset>0x140</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0xFFFD5E00</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- BootBlock or u-boot Code size -->
+ <name>CodeSize</name> <!-- name of field -->
+ <config>
+ <offset>0x144</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='FileSize'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- The BootBlock or u-boot binary file -->
+ <name>Code</name> <!-- name of field -->
+ <config>
+ <offset>0x200</offset> <!-- offset in the header -->
+ <size format='FileSize'>Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
+ </config>
+ <content format='FileContent'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+ <BinField>
+ <!-- Word contents copied by ROM code to FIU0 FIU_DRD_CFG register -->
+ <name>FIU0_DRD_CFG_Set</name> <!-- name of field -->
+ <config>
+ <offset>0x108</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x030011BB</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines the clock divide ratio from AHB to FIU0 clock -->
+ <name>FIU_Clk_Divider</name> <!-- name of field -->
+ <config>
+ <offset>0x10C</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>4</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Version (Major.Minor) -->
+ <name>Version</name> <!-- name of field -->
+ <config>
+ <offset>0x148</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x0201</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Board manufaturer ( Dell = 0, Nuvoton = 100, Google = 1, MS = 2) -->
+ <name>BOARD_VENDOR</name> <!-- name of field -->
+ <config>
+ <offset>0x124</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>100</content> <!--Board_manufacturer: Nuvoton-->
+ </BinField>
+ <BinField>
+ <!-- Board type ( DRB = 0, SVB = 1, EB = 2,HORIZON = 3, SANDSTORM = 4, ROCKAWAY = 100 RunBMC = 10) -->
+ <!-- WARNING: Currently this value is only printed to serial. Set BOARD_VENDOR to 1 get Dell specific customization. -->
+ <name>BOARD_TYPE</name> <!-- name of field -->
+ <config>
+ <offset>0x120</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x0A</content> <!--Board_type: SVB-->
+ </BinField>
+
+ <!-- the next two fields are available since version 10.7.0 -->
+ <BinField>
+ <!-- supported values: 333,444,500,600,666,700,720,750,775,787,800,825,850,900,950,1000,1060 -->
+ <name>MC_FREQ_IN_MHZ</name> <!-- name of field -->
+ <config>
+ <offset>0x128</offset> <!-- offset in the header -->
+ <size>0x2</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>800</content>
+ </BinField>
+ <BinField>
+ <!-- supporeted values: 333,500,600,666,700,720,750,800,825,850,900,950,1000,1060 -->
+ <name>CPU_FREQ_IN_MHZ</name> <!-- name of field -->
+ <config>
+ <offset>0x12A</offset> <!-- offset in the header -->
+ <size>0x2</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>800</content>
+ </BinField>
+
+ <BinField>
+ <!-- MC_CONFIG.
+ Bit 0: MC_DISABLE_CAPABILITY_INPUT_DQS_ENHANCE_TRAINING (0x01)
+ Bit 1: MC_CAPABILITY_IGNORE_ECC_DEVICE (0x02) -->
+ <name>MC_CONFIG</name> <!-- name of field -->
+ <config>
+ <offset>0x12C</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x01</content>
+ </BinField>
+
+ <BinField>
+ <!-- HOST_IF.
+ 0xFF: LPC backward compatible
+ 0x00: LPC.
+ 0x01: eSPI
+ 0x02: GPIOs TRIS. -->
+ <name>HOST_IF</name> <!-- name of field -->
+ <config>
+ <offset>0x12D</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x00</content>
+ </BinField>
+
+ <!-- reserved fields -->
+ <BinField>
+ <!-- reserved field for sample -->
+ <name>My_reserved</name> <!-- name of field -->
+ <config>
+ <offset>0x110</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0xFF 0xFF 0xFF 0xFF</content> <!-- content the user should fill -->
+ </BinField>
+
+</Bin_Ecc_Map>
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/UbootHeader_RunBMC.xml b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/UbootHeader_RunBMC.xml
new file mode 100644
index 000000000..1612a8368
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/UbootHeader_RunBMC.xml
@@ -0,0 +1,191 @@
+<!-- SPDX-License-Identifier: GPL-2.0
+#
+# Nuvoton IGPS: Image Generation And Programming Scripts For Poleg BMC
+#
+# Copyright (C) 2018 Nuvoton Technologies, All Rights Reserved
+#--------------------------------------------------------------------------->
+
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Bin_Ecc_Map>
+ <!-- BMC mandatory fields -->
+ <ImageProperties>
+ <BinSize>0</BinSize> <!-- If 0 the binary size will be calculated by the tool -->
+ <PadValue>0xFF</PadValue> <!-- Byte value to pad the empty areas, default is 0 -->
+ </ImageProperties>
+
+ <BinField>
+ <!-- BootBlock tag (0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42) or
+ uboot tag (0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B) -->
+ <name>StartTag</name> <!-- name of field -->
+ <config>
+ <offset>0</offset> <!-- offset in the header -->
+ <size>0x8</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Code destination address, 32-bit aligned: for u-boot should be 0x80005000 so code will run in 0x80005200 as linked for -->
+ <name>DestAddr</name> <!-- name of field -->
+ <config>
+ <offset>0x140</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x8000</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- BootBlock or u-boot Code size -->
+ <name>CodeSize</name> <!-- name of field -->
+ <config>
+ <offset>0x144</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='FileSize'>u-boot.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- The BootBlock or u-boot binary file -->
+ <name>Code</name> <!-- name of field -->
+ <config>
+ <offset>0x200</offset> <!-- offset in the header -->
+ <size format='FileSize'>u-boot.bin</size> <!-- size in the header calculated by tool-->
+ </config>
+ <content format='FileContent'>u-boot.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+ <BinField>
+ <!-- Word contents copied by ROM code to FIU0 FIU_DRD_CFG register -->
+ <name>FIU0_DRD_CFG_Set</name> <!-- name of field -->
+ <config>
+ <offset>0x108</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x030111BC</content> <!-- content the user should fill 0x030032EB -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines the clock divide ratio from AHB to FIU0 clock -->
+ <name>FIU0_Clk_Divider</name> <!-- name of field -->
+ <config>
+ <offset>0x10C</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU0 CS1 is enabled -->
+ <name>fiu0_cs1_en</name> <!-- name of field -->
+ <config>
+ <offset>0x10D</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU0 CS2 is enabled -->
+ <name>fiu0_cs2_en</name> <!-- name of field -->
+ <config>
+ <offset>0x10E</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU0 CS3 is enabled -->
+ <name>fiu0_cs3_en</name> <!-- name of field -->
+ <config>
+ <offset>0x10F</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+ <BinField>
+ <!-- Word contents copied by ROM code to FIU3 FIU_DRD_CFG register -->
+ <name>FIU3_DRD_CFG_Set</name> <!-- name of field -->
+ <config>
+ <offset>0x110</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x030011BB</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+ <BinField>
+ <!-- Word contents copied by ROM code to FIU3 FIU_DRD_CFG register -->
+ <name>FIU3_DWR_CFG_Set</name> <!-- name of field -->
+ <config>
+ <offset>0x114</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines the clock divide ratio from AHB to FIU3 clock -->
+ <name>FIU3_Clk_Divider</name> <!-- name of field -->
+ <config>
+ <offset>0x118</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU3 CS0 is enabled -->
+ <name>fiu3_cs0_en</name> <!-- name of field -->
+ <config>
+ <offset>0x119</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU3 CS1 is enabled -->
+ <name>fiu3_cs1_en</name> <!-- name of field -->
+ <config>
+ <offset>0x11A</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU3 CS2 is enabled -->
+ <name>fiu3_cs2_en</name> <!-- name of field -->
+ <config>
+ <offset>0x11B</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU3 CS3 is enabled -->
+ <name>fiu3_cs3_en</name> <!-- name of field -->
+ <config>
+ <offset>0x11C</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Version (Major.Minor) -->
+ <name>Version</name> <!-- name of field -->
+ <config>
+ <offset>0x148</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x0201</content> <!-- content the user should fill -->
+ </BinField>
+
+</Bin_Ecc_Map>
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_%.bbappend
new file mode 100644
index 000000000..664fcb01d
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_%.bbappend
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI_remove = "file://BootBlockAndHeader_EB.xml"
+SRC_URI_remove = "file://UbootHeader_EB.xml"
+SRC_URI += " file://BootBlockAndHeader_RunBMC.xml"
+SRC_URI += " file://UbootHeader_RunBMC.xml"
+
+
+do_install_append() {
+ install ${WORKDIR}/BootBlockAndHeader_RunBMC.xml ${D}${bindir}/BootBlockAndHeader_EB.xml
+ install ${WORKDIR}/UbootHeader_RunBMC.xml ${D}${bindir}/UbootHeader_EB.xml
+}
+
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
deleted file mode 100644
index cdcbecb66..000000000
--- a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-UBRANCH = "runbmc_mdio"
-SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH}"
-SRCREV = "${AUTOREV}"
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg b/meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg
index 6890fbe35..d970410dd 100644
--- a/meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg
@@ -2,8 +2,21 @@ CONFIG_HWMON=y
CONFIG_SENSORS_TMP100=y
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_FAN=y
+CONFIG_SENSORS_ADC128D818=y
+CONFIG_SENSORS_ADM1275=y
+CONFIG_SENSORS_TMP102=y
+CONFIG_SENSORS_TMP421=y
+
+CONFIG_PMBUS=y
+CONFIG_SENSORS_PMBUS=y
+CONFIG_SENSORS_INA2XX=y
+CONFIG_SENSORS_TPS53679=y
+
+CONFIG_IIO=y
+CONFIG_IIO_MUX=y
+CONFIG_NPCM_ADC=y
+CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGERS=y
@@ -16,9 +29,9 @@ CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_XZ=y
CONFIG_JFFS2_FS=y
-CONFIG_MTD_M25P80=y
-CONFIG_SPI_NPCM_FIU=y
CONFIG_SPI=y
+CONFIG_SPI_NPCM_FIU=y
+CONFIG_MTD_M25P80=y
CONFIG_SPI_NPCM_PSPI=y
CONFIG_NET_NCSI=y
@@ -30,12 +43,6 @@ CONFIG_I2C_SLAVE_EEPROM=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCF857X=y
-CONFIG_PMBUS=y
-CONFIG_SENSORS_PMBUS=y
-CONFIG_SENSORS_ADM1275=y
-CONFIG_SENSORS_TMP102=y
-CONFIG_SENSORS_TMP421=y
-CONFIG_NUVOTON_JTAG=y
CONFIG_MUX_MMIO=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_F_ECM=y
@@ -56,3 +63,15 @@ CONFIG_VIDEO_NUVOTON=y
CONFIG_NPCM750_VCD=y
CONFIG_NPCM750_ECE=y
CONFIG_FORCE_MAX_ZONEORDER=12
+
+CONFIG_USB_GADGET_NPCM_USB2=y
+
+CONFIG_PECI=y
+CONFIG_PECI_NPCM=y
+CONFIG_MFD_INTEL_PECI_CLIENT=y
+CONFIG_SENSORS_PECI_CPUTEMP=y
+CONFIG_SENSORS_PECI_DIMMTEMP=y
+CONFIG_RESET_NPCM=y
+
+CONFIG_I2C_SLAVE_MQUEUE=y
+CONFIG_NUVOTON_JTAG=y
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/files/obmc-console.conf b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/files/obmc-console.conf
new file mode 100644
index 000000000..f99eaff47
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/files/obmc-console.conf
@@ -0,0 +1 @@
+baud = 57600
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend
new file mode 100644
index 000000000..5967ce1bb
--- /dev/null
+++ b/meta-quanta/meta-runbmc-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-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-runbmc-nuvoton.json b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-runbmc-nuvoton.json
new file mode 100644
index 000000000..5a78db6ee
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-runbmc-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-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh
new file mode 100644
index 000000000..9a0d8e2e7
--- /dev/null
+++ b/meta-quanta/meta-runbmc-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-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service
new file mode 100644
index 000000000..3ce2e01b0
--- /dev/null
+++ b/meta-quanta/meta-runbmc-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-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
new file mode 100644
index 000000000..57ae69c56
--- /dev/null
+++ b/meta-quanta/meta-runbmc-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-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
new file mode 100644
index 000000000..5d7e0f977
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
@@ -0,0 +1,29 @@
+FILESEXTRAPATHS_prepend_runbmc-nuvoton := "${THISDIR}/${PN}:"
+
+SRC_URI_append_runbmc-nuvoton = " file://config-runbmc-nuvoton.json"
+SRC_URI_append_runbmc-nuvoton = " file://fan-full-speed.sh"
+SRC_URI_append_runbmc-nuvoton = " file://phosphor-pid-control.service"
+SRC_URI_append_runbmc-nuvoton = " file://fan-reboot-control.service"
+
+FILES_${PN}_append_runbmc-nuvoton = " ${bindir}/fan-full-speed.sh"
+FILES_${PN}_append_runbmc-nuvoton = " ${datadir}/swampd/config.json"
+
+RDEPENDS_${PN} += "bash"
+
+SYSTEMD_SERVICE_${PN}_append_runbmc-nuvoton = " phosphor-pid-control.service"
+SYSTEMD_SERVICE_${PN}_append_runbmc-nuvoton = " fan-reboot-control.service"
+
+do_install_append_runbmc-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-runbmc-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-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-runbmc-channels.json b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-runbmc-channels.json
new file mode 100644
index 000000000..45100bd1d
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-runbmc-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-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
new file mode 100644
index 000000000..ef0838e10
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend_runbmc-nuvoton := "${THISDIR}/${PN}:"
+
+SRC_URI_append_runbmc-nuvoton = " file://ipmb-runbmc-channels.json"
+FILES_${PN}_append_runbmc-nuvoton = " ${datadir}/ipmbbridge/ipmb-channels.json"
+
+do_install_append_runbmc-nuvoton() {
+ install -d ${D}${datadir}/ipmbbridge
+ install -m 0644 -D ${WORKDIR}/ipmb-runbmc-channels.json \
+ ${D}${datadir}/ipmbbridge/ipmb-channels.json
+}
+