summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-ast2600
diff options
context:
space:
mode:
authorJason M. Bills <jason.m.bills@linux.intel.com>2020-08-04 01:40:26 +0300
committerJason M. Bills <jason.m.bills@linux.intel.com>2020-08-04 23:23:32 +0300
commit40108db4434d8c2e0a1ad2d1dd3f5ae34b17352c (patch)
tree14edb2241a48b600f217aa8ebc03a59ed62ca268 /meta-openbmc-mods/meta-ast2600
parentd071adf43ac87f21dde2f84287120960c723962c (diff)
downloadopenbmc-40108db4434d8c2e0a1ad2d1dd3f5ae34b17352c.tar.xz
Update to internal 0.72
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Diffstat (limited to 'meta-openbmc-mods/meta-ast2600')
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0004-AST2600-Adjust-default-GPIO-settings.patch19
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0008-AST2600-Add-TPM-pulse-trigger.patch12
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0016-Add-system-reset-status-support.patch154
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0017-Manufacturing-mode-physical-presence-detection.patch106
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0018-Add-a-workaround-to-cover-VGA-memory-size-bug-in-A0.patch52
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0019-Apply-WDT-reset-mask-to-reset-needed-controller.patch78
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0020-Add-BMC-running-indicator-LED-control.patch62
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0022-Reboot-into-UBOOT-on-Watchdog-Failures.patch87
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0001-image-Correct-comment-for-fit_conf_get_node.patch77
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0002-image-Be-a-little-more-verbose-when-checking-signatu.patch45
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0003-image-Return-an-error-message-from-fit_config_verify.patch39
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0007-image-Check-hash-nodes-when-checking-configurations.patch97
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0008-image-Load-the-correct-configuration-in-fit_check_si.patch51
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0009-fit_check_sign-Allow-selecting-the-configuration-to-.patch101
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0012-image-Use-constants-for-required-and-key-name-hint.patch152
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/intel.cfg4
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend18
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-phosphor/configuration/entity-manager/AC-Baseboard.json86
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console/obmc-console.conf3
-rwxr-xr-xmeta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console/sol-option-check.sh25
-rw-r--r--meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console_%.bbappend16
21 files changed, 1183 insertions, 101 deletions
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0004-AST2600-Adjust-default-GPIO-settings.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0004-AST2600-Adjust-default-GPIO-settings.patch
index 8659e4bfc..3a15830f7 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0004-AST2600-Adjust-default-GPIO-settings.patch
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0004-AST2600-Adjust-default-GPIO-settings.patch
@@ -1,4 +1,4 @@
-From 0381bd2a345dade03721a1244fa30eed4fade9fa Mon Sep 17 00:00:00 2001
+From 538ebb0466d1063963e0d3a489b98c5fb8b62fb2 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Fri, 3 Jan 2020 15:14:09 -0800
Subject: [PATCH] AST2600: Adjust default GPIO settings
@@ -11,14 +11,14 @@ Subject: [PATCH] AST2600: Adjust default GPIO settings
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- board/aspeed/ast2600_intel/intel.c | 56 ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 56 insertions(+)
+ board/aspeed/ast2600_intel/intel.c | 55 ++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
-index d1ac8651ac6c..45f01a095340 100644
+index d1ac8651ac6c..fc4745a11585 100644
--- a/board/aspeed/ast2600_intel/intel.c
+++ b/board/aspeed/ast2600_intel/intel.c
-@@ -162,6 +162,60 @@ static void sgpio_init(void)
+@@ -162,6 +162,59 @@ static void sgpio_init(void)
SCU_BASE | SCU_414);
}
@@ -69,17 +69,16 @@ index d1ac8651ac6c..45f01a095340 100644
+ writel(readl(AST_GPIO_BASE | GPIO_004) & ~GPIO_C5,
+ AST_GPIO_BASE | GPIO_004);
+
++ /* GPIO G6 is also an open-drain output so set it as an input. */
+#define GPIO_G6 BIT(22)
-+ writel(readl(AST_GPIO_BASE | GPIO_024) | GPIO_G6,
++ writel(readl(AST_GPIO_BASE | GPIO_024) & ~GPIO_G6,
+ AST_GPIO_BASE | GPIO_024);
-+ writel(readl(AST_GPIO_BASE | GPIO_020) | GPIO_G6,
-+ AST_GPIO_BASE | GPIO_020);
+}
+
static void timer_handler(void *regs)
{
printf("+");
-@@ -175,6 +229,8 @@ int board_early_init_f(void)
+@@ -175,6 +228,8 @@ int board_early_init_f(void)
* I am not sure if it actually does anything... */
arch_interrupt_init_early();
@@ -89,5 +88,5 @@ index d1ac8651ac6c..45f01a095340 100644
port80h_snoop_init();
--
-2.7.4
+2.17.1
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0008-AST2600-Add-TPM-pulse-trigger.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0008-AST2600-Add-TPM-pulse-trigger.patch
index 19606ee38..edad150af 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0008-AST2600-Add-TPM-pulse-trigger.patch
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0008-AST2600-Add-TPM-pulse-trigger.patch
@@ -1,4 +1,4 @@
-From b7f02c074c0dee6b5d6d1c1f632993f7b0e3e952 Mon Sep 17 00:00:00 2001
+From 627e49e75963fb372f1d6cd2297c8f73d6ec91e0 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Wed, 25 Mar 2020 15:04:26 -0700
Subject: [PATCH] AST2600: Add TPM pulse trigger
@@ -11,11 +11,11 @@ Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
1 file changed, 17 insertions(+)
diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
-index 22a377d2cb77..47e5ad21d66d 100644
+index e1fd06a142b9..63af3d0f9034 100644
--- a/board/aspeed/ast2600_intel/intel.c
+++ b/board/aspeed/ast2600_intel/intel.c
-@@ -204,6 +204,21 @@ static void set_gpio_default_state(void)
- AST_GPIO_BASE | GPIO_020);
+@@ -215,6 +215,21 @@ static void set_gpio_default_state(void)
+ AST_GPIO_BASE | GPIO_024);
}
+void enable_onboard_tpm(void)
@@ -36,7 +36,7 @@ index 22a377d2cb77..47e5ad21d66d 100644
static void timer_handler(void *regs)
{
printf("+");
-@@ -234,6 +249,8 @@ int board_early_init_r(void)
+@@ -245,6 +260,8 @@ int board_early_init_r(void)
debug("board_early_init_r\n");
/* timer_enable(0, 1, timer_handler); */
@@ -46,5 +46,5 @@ index 22a377d2cb77..47e5ad21d66d 100644
}
--
-2.7.4
+2.17.1
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0016-Add-system-reset-status-support.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0016-Add-system-reset-status-support.patch
new file mode 100644
index 000000000..89a8808eb
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0016-Add-system-reset-status-support.patch
@@ -0,0 +1,154 @@
+From 0a2511d407ad9294b8c08f5228d85e042c104aaa Mon Sep 17 00:00:00 2001
+From: Yong Li <yong.b.li@linux.intel.com>
+Date: Tue, 9 Apr 2019 14:42:05 +0800
+Subject: [PATCH] Add system reset status support
+
+Will display the reset reasons and other CPU information in u-boot,
+and save the reset reasons into kernel command line,
+for applications to query.
+
+Change-Id: I87ada3ecf14368519e4d09035bb1e09fdc05469b
+Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ arch/arm/mach-aspeed/ast2600/scu_info.c | 4 ++
+ board/aspeed/ast2600_intel/intel.c | 65 +++++++++++++++++++++++++++++++++
+ include/asm-generic/global_data.h | 3 ++
+ 3 files changed, 72 insertions(+)
+
+diff --git a/arch/arm/mach-aspeed/ast2600/scu_info.c b/arch/arm/mach-aspeed/ast2600/scu_info.c
+index 2ee88b4dd39b..2cc6c3652bab 100644
+--- a/arch/arm/mach-aspeed/ast2600/scu_info.c
++++ b/arch/arm/mach-aspeed/ast2600/scu_info.c
+@@ -9,6 +9,8 @@
+ #include <asm/io.h>
+ #include <asm/arch/aspeed_scu_info.h>
+
++DECLARE_GLOBAL_DATA_PTR;
++
+ /* SoC mapping Table */
+ #define SOC_ID(str, rev) { .name = str, .rev_id = rev, }
+
+@@ -237,6 +239,8 @@ void aspeed_print_sysrst_info(void)
+ writel(SYS_EXT_RESET, ASPEED_SYS_RESET_CTRL);
+ }
+ }
++
++ gd->reset_reason = rest;
+ }
+
+ #define SOC_FW_INIT_DRAM BIT(7)
+diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
+index 05872b439361..95e5492009d7 100644
+--- a/board/aspeed/ast2600_intel/intel.c
++++ b/board/aspeed/ast2600_intel/intel.c
+@@ -5,6 +5,7 @@
+ #include <common.h>
+ #include <asm/gpio.h>
+ #include <asm/io.h>
++#include <malloc.h>
+
+ /* use GPIOC0 on intel boards */
+ #define FFUJ_GPIO "gpio@1e78000016"
+@@ -274,6 +275,65 @@ int board_early_init_r(void)
+ return 0;
+ }
+
++static void update_bootargs_cmd(const char *key, const char *value)
++{
++ int buf_len;
++ char *buf;
++ char *cmdline;
++ char comp_key[128];
++
++ if (!key || (key[0] == '\0')) {
++ printf("%s - Empty key not allowed\n", __func__);
++ return;
++ }
++
++ cmdline = env_get("bootargs");
++
++ /* Allocate space for maximum possible new command line */
++ if (value)
++ buf_len = strlen(cmdline) + strlen(key) + 3 + strlen(value);
++ else
++ buf_len = strlen(cmdline) + strlen(key) + 3;
++
++ buf = malloc(buf_len);
++ if (!buf) {
++ printf("%s: out of memory\n", __func__);
++ return;
++ }
++ memset(buf, 0, buf_len);
++
++ if (!cmdline) {
++ /* lets add key-value, though bootargs are empty */
++ snprintf(buf, buf_len, "%s=%s", key, (value ? value : ""));
++ env_set("bootargs", buf);
++ free(buf);
++ return;
++ }
++
++ snprintf(comp_key, sizeof(comp_key), "%s=", key);
++ char *start = strstr(cmdline, comp_key);
++
++ /* Check for full word match. Match should be start of cmdline
++ * or there should be space before match */
++ if (start && ((start == cmdline) || (*(start-1) == ' '))) {
++ char *end = strchr(start, ' ');
++ strncpy(buf, cmdline, (start - cmdline));
++
++ if (end)
++ snprintf(buf, buf_len, "%s%s=%s %s", buf, key,
++ (value ? value : ""), end+1);
++ else
++ snprintf(buf, buf_len, "%s%s=%s", buf, key,
++ (value ? value : ""));
++ } else {
++ snprintf(buf, buf_len, "%s %s=%s", cmdline, key,
++ (value ? value : ""));
++ }
++
++ env_set("bootargs", buf);
++ free(buf);
++}
++
+ extern void espi_init(void);
+ extern void kcs_init(void);
+ extern void timer_enable(int n, u32 interval_us, interrupt_handler_t *handler,
+@@ -283,12 +343,17 @@ int board_late_init(void)
+ #define SCU_014 0x014 /* Silicon Revision ID */
+ #define REV_ID_AST2600A0 0x05000303 /* AST2600 A0 */
+ #define ONE_MSEC_IN_USEC 1000
++ char value[11];
+
+ if (readl(SCU_BASE | SCU_014) == REV_ID_AST2600A0)
+ timer_enable(0, ONE_MSEC_IN_USEC, timer_callback, (void *)0);
+
+ espi_init();
+
++ /* Add reset reason to bootargs */
++ snprintf(value, sizeof(value), "0x%x", gd->reset_reason);
++ update_bootargs_cmd("resetreason", value);
++
+ if (read_ffuj())
+ kcs_init();
+
+diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
+index 78dcf40bff48..fa51e384520f 100644
+--- a/include/asm-generic/global_data.h
++++ b/include/asm-generic/global_data.h
+@@ -133,6 +133,9 @@ typedef struct global_data {
+ struct spl_handoff *spl_handoff;
+ # endif
+ #endif
++#ifdef CONFIG_ARCH_ASPEED
++ u32 reset_reason;
++#endif
+ } gd_t;
+ #endif
+
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0017-Manufacturing-mode-physical-presence-detection.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0017-Manufacturing-mode-physical-presence-detection.patch
new file mode 100644
index 000000000..0b0fb466d
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0017-Manufacturing-mode-physical-presence-detection.patch
@@ -0,0 +1,106 @@
+From 8bfaae756740589ec9644a5ddcd8b19d7d7b9b73 Mon Sep 17 00:00:00 2001
+From: AppaRao Puli <apparao.puli@linux.intel.com>
+Date: Thu, 20 Jun 2019 18:11:43 +0530
+Subject: [PATCH] Manufacturing mode physical presence detection
+
+Support for physical presence of manufacturing mode added.
+Front panel power button press for 15 seconds will be detected
+and marked as special mode for manufacturing request.
+//TODO:
+//There will be 10 second Status LED blink for 10 seconds to
+//do the physical indication to the user. This indicates the
+//user that he has pressed power button long enough for
+//manufacturing mode detection.
+
+Tested:
+1. Verified by holding the power button when u-boot boots for
+15 seconds, and confirmed that bootargs passed to linux has
+special=mfg string and status led blink physical indication
+has been provided
+2. Verified in normal condition special=mfg string is not passed
+and no physical indication has been provided
+
+Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ board/aspeed/ast2600_intel/intel.c | 49 ++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 49 insertions(+)
+
+diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
+index 95e5492009d7..367657df56d1 100644
+--- a/board/aspeed/ast2600_intel/intel.c
++++ b/board/aspeed/ast2600_intel/intel.c
+@@ -39,6 +39,26 @@ int gpio_abort(void)
+ return value <= 0 ? 0 : 1;
+ }
+
++int read_frontpanel_power_button(void)
++{
++#define FP_PWRBTN_GPIO "gpio@1e780000122" /* GPIOP2 */
++ struct gpio_desc desc;
++ int ret;
++
++ ret = dm_gpio_lookup_name(FP_PWRBTN_GPIO, &desc);
++ if (ret)
++ return ret;
++ ret = dm_gpio_request(&desc, "fp_pwrbtn");
++ if (ret)
++ return ret;
++ ret = dm_gpio_set_dir_flags(&desc, GPIOD_ACTIVE_LOW);
++ if (ret)
++ return ret;
++ ret = dm_gpio_get_value(&desc);
++ dm_gpio_free(desc.dev, &desc);
++ return ret;
++}
++
+ #define SCU_BASE 0x1E6E2000
+ #define SCU_338 0x338 //Generate UART 24 MHz Reference from UXCLK
+ #define SCU_33C 0x33c //Generate UART 24 MHz Reference from HUXCLK
+@@ -334,6 +354,31 @@ static void update_bootargs_cmd(const char *key, const char *value)
+ free(buf);
+ }
+
++static bool is_mfg_mode_phy_req(void)
++{
++ /*
++ * Assume mfg mode physical request is made, if power button
++ * is pressed continously for 15 seconds, indicate the
++ * same in bootargs
++ */
++ const uint32_t delay_in_ms = 100;
++ const uint32_t read_count = ((15 * 1000) / delay_in_ms);
++ const uint32_t delay_for_indication = 10 * 1000;
++ for (uint32_t count = 0; count < read_count; ++count) {
++ if (read_frontpanel_power_button() != 1)
++ return false;
++
++ mdelay(delay_in_ms);
++ }
++ debug("is_mfg_mode_phy_req : detected mfg mode request\n");
++ // TODO: enable id led control
++ //id_led_control(GPIO_GREEN_LED, EIDLED_Blink_3HZ);
++ /* Delay the boot to do physical indication for mfg mode */
++ mdelay(delay_for_indication);
++
++ return true;
++}
++
+ extern void espi_init(void);
+ extern void kcs_init(void);
+ extern void timer_enable(int n, u32 interval_us, interrupt_handler_t *handler,
+@@ -354,6 +399,10 @@ int board_late_init(void)
+ snprintf(value, sizeof(value), "0x%x", gd->reset_reason);
+ update_bootargs_cmd("resetreason", value);
+
++ /* Update the special mode in bootargs */
++ if (is_mfg_mode_phy_req())
++ update_bootargs_cmd("special", "mfg");
++
+ if (read_ffuj())
+ kcs_init();
+
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0018-Add-a-workaround-to-cover-VGA-memory-size-bug-in-A0.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0018-Add-a-workaround-to-cover-VGA-memory-size-bug-in-A0.patch
new file mode 100644
index 000000000..2ae8978e6
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0018-Add-a-workaround-to-cover-VGA-memory-size-bug-in-A0.patch
@@ -0,0 +1,52 @@
+From 28f797376ec5d9bf62a12a6c91686588cf73d09a Mon Sep 17 00:00:00 2001
+From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+Date: Thu, 18 Jun 2020 15:08:57 -0700
+Subject: [PATCH] Add a workaround to cover VGA memory size bug in A0
+
+AST2600 A0 has a silicon bug which requires setting of VGA memory
+size limit. This commit add VGA memory size setting of 8MB for A0
+and 16MB for A1.
+
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ arch/arm/mach-aspeed/ast2600/platform.S | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/arch/arm/mach-aspeed/ast2600/platform.S b/arch/arm/mach-aspeed/ast2600/platform.S
+index 0316e5364b78..d881ba8565f2 100644
+--- a/arch/arm/mach-aspeed/ast2600/platform.S
++++ b/arch/arm/mach-aspeed/ast2600/platform.S
+@@ -183,6 +183,12 @@ do_primary_core_setup:
+
+ bne 0f
+
++ /* limit VGA memory size to 8MB (A0 bug) */
++ ldr r0, =AST_SCU_HW_STRAP1_CLR
++ movw r1, #0x6000
++ movt r1, #0x0000
++ str r1, [r0]
++
+ /* tune up CPU clocks (A0 only) */
+ ldr r0, =AST_SCU_HW_STRAP1
+ ldr r1, [r0]
+@@ -234,6 +240,17 @@ wait_lock:
+ orr r1, #0x40
+ str r1, [r0]
+
++ /* set VGA memory size to 16MB (A1 only) */
++ ldr r0, =AST_SCU_HW_STRAP1_CLR
++ movw r1, #0x4000
++ movt r1, #0x0000
++ str r1, [r0]
++
++ ldr r0, =AST_SCU_HW_STRAP1
++ ldr r1, [r0]
++ orr r1, #0x2000
++ str r1, [r0]
++
+ /* disable DMA arbitration on MAC1 (A1 bug) */
+ ldr r0, =AST_MAC1_CTRL2
+ ldr r1, [r0]
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0019-Apply-WDT-reset-mask-to-reset-needed-controller.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0019-Apply-WDT-reset-mask-to-reset-needed-controller.patch
new file mode 100644
index 000000000..b68975c40
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0019-Apply-WDT-reset-mask-to-reset-needed-controller.patch
@@ -0,0 +1,78 @@
+From 5179bc2cba159b9167fee90a2c6a7ea2824df8ad Mon Sep 17 00:00:00 2001
+From: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
+Date: Thu, 18 Jun 2020 05:32:48 +0530
+Subject: [PATCH] Apply WDT reset mask to reset needed controller
+
+Issue:
+Whenever BIOS and BMC warm reset happens at a time.
+BIOS is not booting.
+
+Root caused:
+BMC resetting the LPC controller during BMC warm reset.
+Which cause BIOS hang as BIOS cannot dump the BIOS serial data.
+
+Fix:
+WDT reset mask has been updated from default to proper value,
+such that controllers interacting with host will not be reset
+during wdt reset operation.
+This was missed earlier, causing BIOS to hang whenever BMC resets,
+as BIOS was accessing the serial port (LPC controller).
+De-coupling LPC controller will make sure BIOS serial port access
+is not disturbed.
+Reset mask is updated not to reset the following controllers
+additionally on the default mask setting.
+1. LPC controller
+2. PWM controller
+3. GPIO controller
+
+Quick Step to reproduce:
+Stop the BMC in uboot and add below bootcmd command
+setenv bootcmd "reset"
+Do the System power ON or System warm reset.
+
+Tested:
+1. Ran overnight continous BIOS and BMC warm reset on two SUTs.
+
+2. Ran the TestApp which dump the BIOS serial port continously and
+do the BMC reset.
+
+3. Stop the BMC in uboot and add below bootcmd command
+setenv bootcmd "reset"
+Do the System Power ON or System warm reset.
+
+Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ arch/arm/mach-aspeed/ast2600/platform.S | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/arch/arm/mach-aspeed/ast2600/platform.S b/arch/arm/mach-aspeed/ast2600/platform.S
+index d881ba8565f2..68eb0000922a 100644
+--- a/arch/arm/mach-aspeed/ast2600/platform.S
++++ b/arch/arm/mach-aspeed/ast2600/platform.S
+@@ -66,6 +66,9 @@
+ #define AST_MAC2_BASE (0x1E680000)
+ #define AST_MAC2_CTRL2 (AST_MAC2_BASE + 0x058)
+
++#define AST_WDT1_BASE 0x1E785000
++#define AST_WDT1_RESET_MASK2 (AST_WDT1_BASE + 0x020)
++
+ #define AST_GPIO_BASE (0x1E780000)
+ #define AST_GPIOYZ_DATA_VALUE (AST_GPIO_BASE + 0x1E0)
+
+@@ -264,6 +267,12 @@ wait_lock:
+ str r1, [r0]
+
+ 1:
++ /* disable LPC, PWM and GPIO2 resets on WDT1 reset */
++ ldr r0, =AST_WDT1_RESET_MASK2
++ ldr r1, [r0]
++ bic r1, #0x2A00
++ str r1, [r0]
++
+ /* release display port reset */
+ ldr r0, =AST_SCU_SYSRST_CTRL_CLR
+ movw r1, #0x0000
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0020-Add-BMC-running-indicator-LED-control.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0020-Add-BMC-running-indicator-LED-control.patch
new file mode 100644
index 000000000..a30f7a7b8
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0020-Add-BMC-running-indicator-LED-control.patch
@@ -0,0 +1,62 @@
+From 5029f400e62981278957f62c5f8b4e22c2faecd9 Mon Sep 17 00:00:00 2001
+From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+Date: Fri, 26 Jun 2020 14:35:47 -0700
+Subject: [PATCH] Add BMC running indicator LED control
+
+HBLED cannot be enabled due to a conflict with PWM15 pin and H/W
+team is not going to change board layout for supporting HBLED to
+keep compatibility between board revisions. Instead, we are going
+to use the LED connected to GPIO V5 as BMC running indicator LED.
+This commit adds the LED control.
+
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ board/aspeed/ast2600_intel/intel.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
+index e93ef57dabed..565893777ffc 100644
+--- a/board/aspeed/ast2600_intel/intel.c
++++ b/board/aspeed/ast2600_intel/intel.c
+@@ -192,6 +192,8 @@ static void sgpio_init(void)
+ #define GPIO_024 0x024 /* GPIO E/F/G/H Direction */
+ #define GPIO_070 0x070 /* GPIO I/J/K/L Value */
+ #define GPIO_074 0x074 /* GPIO I/J/K/L Direction */
++#define GPIO_088 0x088 /* GPIO U/V/W/X Value */
++#define GPIO_08C 0x08C /* GPIO U/V/W/X Direction */
+
+ static void set_gpio_default_state(void)
+ {
+@@ -252,6 +254,20 @@ void enable_onboard_tpm(void)
+ AST_GPIO_BASE | GPIO_000);
+ }
+
++void bmc_running_indicator(bool on)
++{
++#define GPIO_V5 BIT(13)
++
++ writel(readl(AST_GPIO_BASE | GPIO_08C) | GPIO_V5,
++ AST_GPIO_BASE | GPIO_08C);
++ if (on)
++ writel(readl(AST_GPIO_BASE | GPIO_088) & ~GPIO_V5,
++ AST_GPIO_BASE | GPIO_088);
++ else
++ writel(readl(AST_GPIO_BASE | GPIO_088) | GPIO_V5,
++ AST_GPIO_BASE | GPIO_088);
++}
++
+ static void timer_callback(void *cookie)
+ {
+ uint timer_nr = (uint)cookie;
+@@ -292,6 +308,8 @@ int board_early_init_r(void)
+
+ enable_onboard_tpm();
+
++ bmc_running_indicator(true);
++
+ return 0;
+ }
+
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0022-Reboot-into-UBOOT-on-Watchdog-Failures.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0022-Reboot-into-UBOOT-on-Watchdog-Failures.patch
new file mode 100644
index 000000000..d5ccddf27
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/0022-Reboot-into-UBOOT-on-Watchdog-Failures.patch
@@ -0,0 +1,87 @@
+From b81b62f2ca4d4e434f2fec090725e99f198f64ef Mon Sep 17 00:00:00 2001
+From: James Feist <james.feist@linux.intel.com>
+Date: Wed, 31 Jul 2019 16:01:49 -0700
+Subject: [PATCH] Reboot into UBOOT on Watchdog Failures
+
+We use watchdog1 to reboot when there is a watchdog
+error. Reboot into u-boot as we are using that as
+safe mode.
+
+Tested: watchdog -T 0 -F /dev/watchdog1 reboots into
+uboot after 3 times
+
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ board/aspeed/ast2600_intel/intel.c | 34 ++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
+index 565893777ffc..2fb84e880e5c 100644
+--- a/board/aspeed/ast2600_intel/intel.c
++++ b/board/aspeed/ast2600_intel/intel.c
+@@ -7,6 +7,28 @@
+ #include <asm/io.h>
+ #include <malloc.h>
+
++#define WATCHDOG_RESET_BIT BIT(20)
++#define BOOT_FAILURE_LIMIT 3
++
++static int get_boot_failures(void)
++{
++ return env_get_ulong("bootfailures", 10, 0);
++}
++
++static void set_boot_failures(u32 count)
++{
++ if (count > BOOT_FAILURE_LIMIT)
++ return;
++
++ env_set_ulong("bootfailures", count);
++ env_save();
++}
++
++int intel_failed_boot(void)
++{
++ return get_boot_failures() >= BOOT_FAILURE_LIMIT;
++}
++
+ /* use GPIOC0 on intel boards */
+ #define FFUJ_GPIO "gpio@1e78000016"
+
+@@ -33,6 +55,10 @@ int read_ffuj(void)
+ int gpio_abort(void)
+ {
+ int value;
++
++ if (intel_failed_boot())
++ return 1;
++
+ /* check ffuj to abort the autoboot */
+ value = read_ffuj();
+ printf("FFUJ: %d\n", value);
+@@ -407,6 +433,7 @@ int board_late_init(void)
+ #define REV_ID_AST2600A0 0x05000303 /* AST2600 A0 */
+ #define ONE_MSEC_IN_USEC 1000
+ char value[11];
++ u32 boot_failures;
+
+ if (readl(SCU_BASE | SCU_014) == REV_ID_AST2600A0)
+ timer_enable(0, ONE_MSEC_IN_USEC, timer_callback, (void *)0);
+@@ -417,6 +444,13 @@ int board_late_init(void)
+ snprintf(value, sizeof(value), "0x%x", gd->reset_reason);
+ update_bootargs_cmd("resetreason", value);
+
++ boot_failures = get_boot_failures();
++
++ if (gd->reset_reason & WATCHDOG_RESET_BIT)
++ set_boot_failures(boot_failures + 1);
++ else
++ set_boot_failures(0);
++
+ /* Update the special mode in bootargs */
+ if (is_mfg_mode_phy_req())
+ update_bootargs_cmd("special", "mfg");
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0001-image-Correct-comment-for-fit_conf_get_node.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0001-image-Correct-comment-for-fit_conf_get_node.patch
new file mode 100644
index 000000000..8c922f5e8
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0001-image-Correct-comment-for-fit_conf_get_node.patch
@@ -0,0 +1,77 @@
+From 211549e16fa6601f9783e6e3802db9aaa3f4922e Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Tue, 31 Mar 2020 18:43:55 +0200
+Subject: [PATCH] image: Correct comment for fit_conf_get_node()
+
+This should mention that conf_uname can be NULL and should be in the
+header file. Fix this.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
+---
+ common/image-fit.c | 18 ------------------
+ include/image.h | 19 +++++++++++++++++++
+ 2 files changed, 19 insertions(+), 18 deletions(-)
+
+diff --git a/common/image-fit.c b/common/image-fit.c
+index ac901e131ca1..06f3358c931c 100644
+--- a/common/image-fit.c
++++ b/common/image-fit.c
+@@ -1612,24 +1612,6 @@ int fit_conf_find_compat(const void *fit, const void *fdt)
+ return best_match_offset;
+ }
+
+-/**
+- * fit_conf_get_node - get node offset for configuration of a given unit name
+- * @fit: pointer to the FIT format image header
+- * @conf_uname: configuration node unit name
+- *
+- * fit_conf_get_node() finds a configuration (within the '/configurations'
+- * parent node) of a provided unit name. If configuration is found its node
+- * offset is returned to the caller.
+- *
+- * When NULL is provided in second argument fit_conf_get_node() will search
+- * for a default configuration node instead. Default configuration node unit
+- * name is retrieved from FIT_DEFAULT_PROP property of the '/configurations'
+- * node.
+- *
+- * returns:
+- * configuration node offset when found (>=0)
+- * negative number on failure (FDT_ERR_* code)
+- */
+ int fit_conf_get_node(const void *fit, const char *conf_uname)
+ {
+ int noffset, confs_noffset;
+diff --git a/include/image.h b/include/image.h
+index 765ffecee0a7..4b764d11c70d 100644
+--- a/include/image.h
++++ b/include/image.h
+@@ -1045,6 +1045,25 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp);
+ int fit_check_format(const void *fit);
+
+ int fit_conf_find_compat(const void *fit, const void *fdt);
++
++/**
++ * fit_conf_get_node - get node offset for configuration of a given unit name
++ * @fit: pointer to the FIT format image header
++ * @conf_uname: configuration node unit name (NULL to use default)
++ *
++ * fit_conf_get_node() finds a configuration (within the '/configurations'
++ * parent node) of a provided unit name. If configuration is found its node
++ * offset is returned to the caller.
++ *
++ * When NULL is provided in second argument fit_conf_get_node() will search
++ * for a default configuration node instead. Default configuration node unit
++ * name is retrieved from FIT_DEFAULT_PROP property of the '/configurations'
++ * node.
++ *
++ * returns:
++ * configuration node offset when found (>=0)
++ * negative number on failure (FDT_ERR_* code)
++ */
+ int fit_conf_get_node(const void *fit, const char *conf_uname);
+
+ /**
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0002-image-Be-a-little-more-verbose-when-checking-signatu.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0002-image-Be-a-little-more-verbose-when-checking-signatu.patch
new file mode 100644
index 000000000..230a7bb0a
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0002-image-Be-a-little-more-verbose-when-checking-signatu.patch
@@ -0,0 +1,45 @@
+From 63c22eddb8fba1b6ffb845765e91587e998e470e Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Tue, 31 Mar 2020 18:43:55 +0200
+Subject: [PATCH] image: Be a little more verbose when checking signatures
+
+It is useful to be a little more specific about what is being checked.
+Update a few messages to help with this.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
+---
+ common/image-fit.c | 2 +-
+ tools/image-host.c | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/common/image-fit.c b/common/image-fit.c
+index 06f3358c931c..58923cbc9371 100644
+--- a/common/image-fit.c
++++ b/common/image-fit.c
+@@ -1850,7 +1850,7 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
+ fit_uname = fit_get_name(fit, noffset, NULL);
+ }
+ if (noffset < 0) {
+- puts("Could not find subimage node\n");
++ printf("Could not find subimage node type '%s'\n", prop_name);
+ bootstage_error(bootstage_id + BOOTSTAGE_SUB_SUBNODE);
+ return -ENOENT;
+ }
+diff --git a/tools/image-host.c b/tools/image-host.c
+index 88b329502ca3..8e94ee8f3e31 100644
+--- a/tools/image-host.c
++++ b/tools/image-host.c
+@@ -743,7 +743,8 @@ int fit_check_sign(const void *fit, const void *key)
+ if (!cfg_noffset)
+ return -1;
+
+- printf("Verifying Hash Integrity ... ");
++ printf("Verifying Hash Integrity for node '%s'... ",
++ fdt_get_name(fit, cfg_noffset, NULL));
+ ret = fit_config_verify(fit, cfg_noffset);
+ if (ret)
+ return ret;
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0003-image-Return-an-error-message-from-fit_config_verify.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0003-image-Return-an-error-message-from-fit_config_verify.patch
new file mode 100644
index 000000000..5f82abeda
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0003-image-Return-an-error-message-from-fit_config_verify.patch
@@ -0,0 +1,39 @@
+From 2fa27334977ba688f17edb6b66c8eb355d4a53a5 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Tue, 31 Mar 2020 18:43:55 +0200
+Subject: [PATCH] image: Return an error message from fit_config_verify_sig()
+
+This function only returns an error message sometimes. Update it to always
+return an error message if one is available. This makes it easier to see
+what went wrong.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
+---
+ common/image-sig.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/common/image-sig.c b/common/image-sig.c
+index 4f6b4ec412c3..48c89f930276 100644
+--- a/common/image-sig.c
++++ b/common/image-sig.c
+@@ -470,13 +470,14 @@ static int fit_config_verify_sig(const void *fit, int conf_noffset,
+ goto error;
+ }
+
+- return verified ? 0 : -EPERM;
++ if (verified)
++ return 0;
+
+ error:
+ printf(" error!\n%s for '%s' hash node in '%s' config node\n",
+ err_msg, fit_get_name(fit, noffset, NULL),
+ fit_get_name(fit, conf_noffset, NULL));
+- return -1;
++ return -EPERM;
+ }
+
+ int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0007-image-Check-hash-nodes-when-checking-configurations.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0007-image-Check-hash-nodes-when-checking-configurations.patch
new file mode 100644
index 000000000..9dd5e6668
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0007-image-Check-hash-nodes-when-checking-configurations.patch
@@ -0,0 +1,97 @@
+From c7c1af4f9996986f05ced17694b68a575eda328e Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Tue, 31 Mar 2020 18:43:55 +0200
+Subject: [PATCH] image: Check hash-nodes when checking configurations
+
+It is currently possible to use a different configuration's signature and
+thus bypass the configuration check. Make sure that the configuration node
+that was hashed matches the one being checked, to catch this problem.
+
+Also add a proper function comment to fit_config_check_sig() and make it
+static.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
+---
+ common/image-sig.c | 36 +++++++++++++++++++++++++++++++++---
+ 1 file changed, 33 insertions(+), 3 deletions(-)
+
+diff --git a/common/image-sig.c b/common/image-sig.c
+index 48c89f930276..4526c82acf75 100644
+--- a/common/image-sig.c
++++ b/common/image-sig.c
+@@ -330,20 +330,39 @@ int fit_image_verify_required_sigs(const void *fit, int image_noffset,
+ return 0;
+ }
+
+-int fit_config_check_sig(const void *fit, int noffset, int required_keynode,
+- char **err_msgp)
++/**
++ * fit_config_check_sig() - Check the signature of a config
++ *
++ * @fit: FIT to check
++ * @noffset: Offset of configuration node (e.g. /configurations/conf-1)
++ * @required_keynode: Offset in the control FDT of the required key node,
++ * if any. If this is given, then the configuration wil not
++ * pass verification unless that key is used. If this is
++ * -1 then any signature will do.
++ * @conf_noffset: Offset of the configuration subnode being checked (e.g.
++ * /configurations/conf-1/kernel)
++ * @err_msgp: In the event of an error, this will be pointed to a
++ * help error string to display to the user.
++ * @return 0 if all verified ok, <0 on error
++ */
++static int fit_config_check_sig(const void *fit, int noffset,
++ int required_keynode, int conf_noffset,
++ char **err_msgp)
+ {
+ char * const exc_prop[] = {"data"};
+ const char *prop, *end, *name;
+ struct image_sign_info info;
+ const uint32_t *strings;
++ const char *config_name;
+ uint8_t *fit_value;
+ int fit_value_len;
++ bool found_config;
+ int max_regions;
+ int i, prop_len;
+ char path[200];
+ int count;
+
++ config_name = fit_get_name(fit, conf_noffset, NULL);
+ debug("%s: fdt=%p, conf='%s', sig='%s'\n", __func__, gd_fdt_blob(),
+ fit_get_name(fit, noffset, NULL),
+ fit_get_name(gd_fdt_blob(), required_keynode, NULL));
+@@ -384,9 +403,20 @@ int fit_config_check_sig(const void *fit, int noffset, int required_keynode,
+ char *node_inc[count];
+
+ debug("Hash nodes (%d):\n", count);
++ found_config = false;
+ for (name = prop, i = 0; name < end; name += strlen(name) + 1, i++) {
+ debug(" '%s'\n", name);
+ node_inc[i] = (char *)name;
++ if (!strncmp(FIT_CONFS_PATH, name, strlen(FIT_CONFS_PATH)) &&
++ name[sizeof(FIT_CONFS_PATH) - 1] == '/' &&
++ !strcmp(name + sizeof(FIT_CONFS_PATH), config_name)) {
++ debug(" (found config node %s)", config_name);
++ found_config = true;
++ }
++ }
++ if (!found_config) {
++ *err_msgp = "Selected config not in hashed nodes";
++ return -1;
+ }
+
+ /*
+@@ -454,7 +484,7 @@ static int fit_config_verify_sig(const void *fit, int conf_noffset,
+ if (!strncmp(name, FIT_SIG_NODENAME,
+ strlen(FIT_SIG_NODENAME))) {
+ ret = fit_config_check_sig(fit, noffset, sig_offset,
+- &err_msg);
++ conf_noffset, &err_msg);
+ if (ret) {
+ puts("- ");
+ } else {
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0008-image-Load-the-correct-configuration-in-fit_check_si.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0008-image-Load-the-correct-configuration-in-fit_check_si.patch
new file mode 100644
index 000000000..9a6b64b06
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0008-image-Load-the-correct-configuration-in-fit_check_si.patch
@@ -0,0 +1,51 @@
+From 0b274994cc0fe1631c27837a4e4c546b37d7dc77 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Tue, 31 Mar 2020 18:43:55 +0200
+Subject: [PATCH] image: Load the correct configuration in fit_check_sign
+
+At present bootm_host_load_images() is passed the configuration that has
+been verified, but ignores it and just uses the default configuration.
+This may not be the same.
+
+Update this function to use the selected configuration.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
+---
+ common/bootm.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/common/bootm.c b/common/bootm.c
+index 3adbceaa38e3..29091be0a1c8 100644
+--- a/common/bootm.c
++++ b/common/bootm.c
+@@ -929,7 +929,8 @@ void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
+ memmove(to, from, len);
+ }
+
+-static int bootm_host_load_image(const void *fit, int req_image_type)
++static int bootm_host_load_image(const void *fit, int req_image_type,
++ int cfg_noffset)
+ {
+ const char *fit_uname_config = NULL;
+ ulong data, len;
+@@ -941,6 +942,7 @@ static int bootm_host_load_image(const void *fit, int req_image_type)
+ void *load_buf;
+ int ret;
+
++ fit_uname_config = fdt_get_name(fit, cfg_noffset, NULL);
+ memset(&images, '\0', sizeof(images));
+ images.verify = 1;
+ noffset = fit_image_load(&images, (ulong)fit,
+@@ -985,7 +987,7 @@ int bootm_host_load_images(const void *fit, int cfg_noffset)
+ for (i = 0; i < ARRAY_SIZE(image_types); i++) {
+ int ret;
+
+- ret = bootm_host_load_image(fit, image_types[i]);
++ ret = bootm_host_load_image(fit, image_types[i], cfg_noffset);
+ if (!err && ret && ret != -ENOENT)
+ err = ret;
+ }
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0009-fit_check_sign-Allow-selecting-the-configuration-to-.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0009-fit_check_sign-Allow-selecting-the-configuration-to-.patch
new file mode 100644
index 000000000..3094e7ecc
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0009-fit_check_sign-Allow-selecting-the-configuration-to-.patch
@@ -0,0 +1,101 @@
+From 77b652268cacc0f114ba9e92b79e7ff372ec62ee Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Tue, 31 Mar 2020 18:43:55 +0200
+Subject: [PATCH] fit_check_sign: Allow selecting the configuration to verify
+
+This tool always verifies the default configuration. It is useful to be
+able to verify a specific one. Add a command-line flag for this and plumb
+the logic through.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
+---
+ tools/fdt_host.h | 3 ++-
+ tools/fit_check_sign.c | 8 ++++++--
+ tools/image-host.c | 6 ++++--
+ 3 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/tools/fdt_host.h b/tools/fdt_host.h
+index 99b009b22109..15c07c7a96ed 100644
+--- a/tools/fdt_host.h
++++ b/tools/fdt_host.h
+@@ -27,6 +27,7 @@
+ */
+ int fdt_remove_unused_strings(const void *old, void *new);
+
+-int fit_check_sign(const void *working_fdt, const void *key);
++int fit_check_sign(const void *fit, const void *key,
++ const char *fit_uname_config);
+
+ #endif /* __FDT_HOST_H__ */
+diff --git a/tools/fit_check_sign.c b/tools/fit_check_sign.c
+index 62adc751cbce..303e878ddb4d 100644
+--- a/tools/fit_check_sign.c
++++ b/tools/fit_check_sign.c
+@@ -41,6 +41,7 @@ int main(int argc, char **argv)
+ void *fit_blob;
+ char *fdtfile = NULL;
+ char *keyfile = NULL;
++ char *config_name = NULL;
+ char cmdname[256];
+ int ret;
+ void *key_blob;
+@@ -48,7 +49,7 @@ int main(int argc, char **argv)
+
+ strncpy(cmdname, *argv, sizeof(cmdname) - 1);
+ cmdname[sizeof(cmdname) - 1] = '\0';
+- while ((c = getopt(argc, argv, "f:k:")) != -1)
++ while ((c = getopt(argc, argv, "f:k:c:")) != -1)
+ switch (c) {
+ case 'f':
+ fdtfile = optarg;
+@@ -56,6 +57,9 @@ int main(int argc, char **argv)
+ case 'k':
+ keyfile = optarg;
+ break;
++ case 'c':
++ config_name = optarg;
++ break;
+ default:
+ usage(cmdname);
+ break;
+@@ -78,7 +82,7 @@ int main(int argc, char **argv)
+ return EXIT_FAILURE;
+
+ image_set_host_blob(key_blob);
+- ret = fit_check_sign(fit_blob, key_blob);
++ ret = fit_check_sign(fit_blob, key_blob, config_name);
+ if (!ret) {
+ ret = EXIT_SUCCESS;
+ fprintf(stderr, "Signature check OK\n");
+diff --git a/tools/image-host.c b/tools/image-host.c
+index 8e94ee8f3e31..28474bc7fc8b 100644
+--- a/tools/image-host.c
++++ b/tools/image-host.c
+@@ -734,12 +734,13 @@ int fit_add_verification_data(const char *keydir, void *keydest, void *fit,
+ }
+
+ #ifdef CONFIG_FIT_SIGNATURE
+-int fit_check_sign(const void *fit, const void *key)
++int fit_check_sign(const void *fit, const void *key,
++ const char *fit_uname_config)
+ {
+ int cfg_noffset;
+ int ret;
+
+- cfg_noffset = fit_conf_get_node(fit, NULL);
++ cfg_noffset = fit_conf_get_node(fit, fit_uname_config);
+ if (!cfg_noffset)
+ return -1;
+
+@@ -748,6 +749,7 @@ int fit_check_sign(const void *fit, const void *key)
+ ret = fit_config_verify(fit, cfg_noffset);
+ if (ret)
+ return ret;
++ printf("Verified OK, loading images\n");
+ ret = bootm_host_load_images(fit, cfg_noffset);
+
+ return ret;
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0012-image-Use-constants-for-required-and-key-name-hint.patch b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0012-image-Use-constants-for-required-and-key-name-hint.patch
new file mode 100644
index 000000000..6cdaaa656
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/CVE-2020-10648/0012-image-Use-constants-for-required-and-key-name-hint.patch
@@ -0,0 +1,152 @@
+From b7249b8a036200cd461d0676a330b865f7309231 Mon Sep 17 00:00:00 2001
+From: Simon Glass <sjg@chromium.org>
+Date: Tue, 31 Mar 2020 18:43:55 +0200
+Subject: [PATCH] image: Use constants for 'required' and 'key-name-hint'
+
+These are used in multiple places so update them to use a shared #define.
+
+Signed-off-by: Simon Glass <sjg@chromium.org>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
+---
+ common/image-fit.c | 6 +++---
+ common/image-sig.c | 8 +++++---
+ include/image.h | 4 +++-
+ lib/rsa/rsa-sign.c | 6 +++---
+ tools/image-host.c | 6 +++---
+ 5 files changed, 17 insertions(+), 13 deletions(-)
+
+diff --git a/common/image-fit.c b/common/image-fit.c
+index 58923cbc9371..b2f41ba408be 100644
+--- a/common/image-fit.c
++++ b/common/image-fit.c
+@@ -166,7 +166,7 @@ static void fit_image_print_data(const void *fit, int noffset, const char *p,
+ int value_len;
+ char *algo;
+ const char *padding;
+- int required;
++ bool required;
+ int ret, i;
+
+ debug("%s %s node: '%s'\n", p, type,
+@@ -177,8 +177,8 @@ static void fit_image_print_data(const void *fit, int noffset, const char *p,
+ return;
+ }
+ printf("%s", algo);
+- keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL);
+- required = fdt_getprop(fit, noffset, "required", NULL) != NULL;
++ keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL);
++ required = fdt_getprop(fit, noffset, FIT_KEY_REQUIRED, NULL) != NULL;
+ if (keyname)
+ printf(":%s", keyname);
+ if (required)
+diff --git a/common/image-sig.c b/common/image-sig.c
+index 4526c82acf75..e0987af4f5e8 100644
+--- a/common/image-sig.c
++++ b/common/image-sig.c
+@@ -200,7 +200,7 @@ static int fit_image_setup_verify(struct image_sign_info *info,
+ padding_name = RSA_DEFAULT_PADDING_NAME;
+
+ memset(info, '\0', sizeof(*info));
+- info->keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL);
++ info->keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL);
+ info->fit = (void *)fit;
+ info->node_offset = noffset;
+ info->name = algo_name;
+@@ -311,7 +311,8 @@ int fit_image_verify_required_sigs(const void *fit, int image_noffset,
+ const char *required;
+ int ret;
+
+- required = fdt_getprop(sig_blob, noffset, "required", NULL);
++ required = fdt_getprop(sig_blob, noffset, FIT_KEY_REQUIRED,
++ NULL);
+ if (!required || strcmp(required, "image"))
+ continue;
+ ret = fit_image_verify_sig(fit, image_noffset, data, size,
+@@ -528,7 +529,8 @@ int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
+ const char *required;
+ int ret;
+
+- required = fdt_getprop(sig_blob, noffset, "required", NULL);
++ required = fdt_getprop(sig_blob, noffset, FIT_KEY_REQUIRED,
++ NULL);
+ if (!required || strcmp(required, "conf"))
+ continue;
+ ret = fit_config_verify_sig(fit, conf_noffset, sig_blob,
+diff --git a/include/image.h b/include/image.h
+index 4b764d11c70d..afb9bea17c34 100644
+--- a/include/image.h
++++ b/include/image.h
+@@ -903,12 +903,14 @@ int booti_setup(ulong image, ulong *relocated_addr, ulong *size,
+ #define FIT_IMAGES_PATH "/images"
+ #define FIT_CONFS_PATH "/configurations"
+
+-/* hash/signature node */
++/* hash/signature/key node */
+ #define FIT_HASH_NODENAME "hash"
+ #define FIT_ALGO_PROP "algo"
+ #define FIT_VALUE_PROP "value"
+ #define FIT_IGNORE_PROP "uboot-ignore"
+ #define FIT_SIG_NODENAME "signature"
++#define FIT_KEY_REQUIRED "required"
++#define FIT_KEY_HINT "key-name-hint"
+
+ /* image node */
+ #define FIT_DATA_PROP "data"
+diff --git a/lib/rsa/rsa-sign.c b/lib/rsa/rsa-sign.c
+index fb5e07b56d8a..5f0f27d2f6f9 100644
+--- a/lib/rsa/rsa-sign.c
++++ b/lib/rsa/rsa-sign.c
+@@ -773,8 +773,8 @@ int rsa_add_verify_data(struct image_sign_info *info, void *keydest)
+ }
+
+ if (!ret) {
+- ret = fdt_setprop_string(keydest, node, "key-name-hint",
+- info->keyname);
++ ret = fdt_setprop_string(keydest, node, FIT_KEY_HINT,
++ info->keyname);
+ }
+ if (!ret)
+ ret = fdt_setprop_u32(keydest, node, "rsa,num-bits", bits);
+@@ -796,7 +796,7 @@ int rsa_add_verify_data(struct image_sign_info *info, void *keydest)
+ info->name);
+ }
+ if (!ret && info->require_keys) {
+- ret = fdt_setprop_string(keydest, node, "required",
++ ret = fdt_setprop_string(keydest, node, FIT_KEY_REQUIRED,
+ info->require_keys);
+ }
+ done:
+diff --git a/tools/image-host.c b/tools/image-host.c
+index 28474bc7fc8b..3396d8234e52 100644
+--- a/tools/image-host.c
++++ b/tools/image-host.c
+@@ -170,7 +170,7 @@ static int fit_image_setup_sig(struct image_sign_info *info,
+
+ memset(info, '\0', sizeof(*info));
+ info->keydir = keydir;
+- info->keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL);
++ info->keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL);
+ info->fit = fit;
+ info->node_offset = noffset;
+ info->name = strdup(algo_name);
+@@ -249,7 +249,7 @@ static int fit_image_process_sig(const char *keydir, void *keydest,
+ free(value);
+
+ /* Get keyname again, as FDT has changed and invalidated our pointer */
+- info.keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL);
++ info.keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL);
+
+ /*
+ * Write the public key into the supplied FDT file; this might fail
+@@ -630,7 +630,7 @@ static int fit_config_process_sig(const char *keydir, void *keydest,
+ free(region_prop);
+
+ /* Get keyname again, as FDT has changed and invalidated our pointer */
+- info.keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL);
++ info.keyname = fdt_getprop(fit, noffset, FIT_KEY_HINT, NULL);
+
+ /* Write the public key into the supplied FDT file */
+ if (keydest) {
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/intel.cfg b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/intel.cfg
index ceaf62800..d16227937 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/intel.cfg
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/files/intel.cfg
@@ -24,4 +24,6 @@ CONFIG_EFI_PARTITION=n
CONFIG_USB=n
CONFIG_DM_USB=n
CONFIG_USB_EHCI_HCD=n
-CONFIG_USB_STORAGE=n \ No newline at end of file
+CONFIG_USB_STORAGE=n
+CONFIG_NETCONSOLE=n
+CONFIG_CMD_NFS=n \ No newline at end of file
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
index 01f904a13..ce22b2057 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
+++ b/meta-openbmc-mods/meta-ast2600/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
@@ -1,5 +1,6 @@
COMPATIBLE_MACHINE = "intel-ast2600"
FILESEXTRAPATHS_append_intel-ast2600:= "${THISDIR}/files:"
+FILESEXTRAPATHS_append_intel-ast2600:= "${THISDIR}/files/CVE-2020-10648:"
# the meta-phosphor layer adds this patch, which conflicts
# with the intel layout for environment
@@ -21,6 +22,23 @@ SRC_URI_append_intel-ast2600 = " \
file://0013-Add-a-workaround-to-cover-UART-interrupt-bug-in-AST2.patch \
file://0014-Add-a-workaround-to-cover-eSPI-OOB-free-bug-in-AST26.patch \
file://0015-net-phy-realtek-Change-LED-configuration.patch \
+ file://0016-Add-system-reset-status-support.patch \
+ file://0017-Manufacturing-mode-physical-presence-detection.patch \
+ file://0018-Add-a-workaround-to-cover-VGA-memory-size-bug-in-A0.patch \
+ file://0019-Apply-WDT-reset-mask-to-reset-needed-controller.patch \
+ file://0020-Add-BMC-running-indicator-LED-control.patch \
+ file://0022-Reboot-into-UBOOT-on-Watchdog-Failures.patch \
+ "
+
+# CVE-2020-10648 vulnerability fix
+SRC_URI_append_intel-ast2600 = " \
+ file://0001-image-Correct-comment-for-fit_conf_get_node.patch \
+ file://0002-image-Be-a-little-more-verbose-when-checking-signatu.patch \
+ file://0003-image-Return-an-error-message-from-fit_config_verify.patch \
+ file://0007-image-Check-hash-nodes-when-checking-configurations.patch \
+ file://0008-image-Load-the-correct-configuration-in-fit_check_si.patch \
+ file://0009-fit_check_sign-Allow-selecting-the-configuration-to-.patch \
+ file://0012-image-Use-constants-for-required-and-key-name-hint.patch \
"
PFR_SRC_URI = " \
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-phosphor/configuration/entity-manager/AC-Baseboard.json b/meta-openbmc-mods/meta-ast2600/recipes-phosphor/configuration/entity-manager/AC-Baseboard.json
index 6e1b3a22b..add4ca372 100644
--- a/meta-openbmc-mods/meta-ast2600/recipes-phosphor/configuration/entity-manager/AC-Baseboard.json
+++ b/meta-openbmc-mods/meta-ast2600/recipes-phosphor/configuration/entity-manager/AC-Baseboard.json
@@ -226,15 +226,15 @@
"Type": "ADC"
},
{
- "Index": 7,
- "BridgeGPIO": [
+ "BridgeGpio": [
{
"Name": "A_P3V_BAT_SCALED_EN",
"Polarity": "High"
}
],
+ "Index": 7,
"Name": "P3VBAT",
- "ScaleFactor": 0.3333,
+ "ScaleFactor": 0.1111,
"Thresholds": [
{
"Direction": "greater than",
@@ -266,7 +266,7 @@
{
"CPURequired": 1,
"Index": 8,
- "Name": "PVCCIN_CPU0",
+ "Name": "PVCCIN_CPU1",
"PowerState": "On",
"ScaleFactor": 0.7505,
"Thresholds": [
@@ -300,7 +300,7 @@
{
"CPURequired": 2,
"Index": 9,
- "Name": "PVCCIN_CPU1",
+ "Name": "PVCCIN_CPU2",
"PowerState": "On",
"ScaleFactor": 0.7505,
"Thresholds": [
@@ -334,7 +334,7 @@
{
"CPURequired": 1,
"Index": 10,
- "Name": "PVCCINFAON_CPU0",
+ "Name": "PVCCINFAON_CPU1",
"PowerState": "On",
"Thresholds": [
{
@@ -367,7 +367,7 @@
{
"CPURequired": 2,
"Index": 11,
- "Name": "PVCCINFAON_CPU1",
+ "Name": "PVCCINFAON_CPU2",
"PowerState": "On",
"Thresholds": [
{
@@ -400,7 +400,7 @@
{
"CPURequired": 1,
"Index": 12,
- "Name": "PVCCFA_EHV_FIVRA_CPU0",
+ "Name": "PVCCFA_EHV_FIVRA_CPU1",
"PowerState": "On",
"Thresholds": [
{
@@ -433,7 +433,7 @@
{
"CPURequired": 2,
"Index": 13,
- "Name": "PVCCFA_EHV_FIVRA_CPU1",
+ "Name": "PVCCFA_EHV_FIVRA_CPU2",
"PowerState": "On",
"Thresholds": [
{
@@ -466,7 +466,7 @@
{
"CPURequired": 1,
"Index": 14,
- "Name": "PVCCD_HV_CPU0",
+ "Name": "PVCCD_HV_CPU1",
"PowerState": "On",
"Thresholds": [
{
@@ -499,7 +499,7 @@
{
"CPURequired": 2,
"Index": 15,
- "Name": "PVCCD_HV_CPU1",
+ "Name": "PVCCD_HV_CPU2",
"PowerState": "On",
"Thresholds": [
{
@@ -745,7 +745,7 @@
{
"Address": "0xC4",
"Class": "MpsBridgeTemp",
- "Name": "CPU0 VCCIN VR Temp",
+ "Name": "CPU1 VCCIN VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -777,7 +777,7 @@
{
"Address": "0xE0",
"Class": "PxeBridgeTemp",
- "Name": "CPU0 PVCCFA_EHV_FIVRA VR Temp",
+ "Name": "CPU1 PVCCFA_EHV_FIVRA VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -809,7 +809,7 @@
{
"Address": "0xF0",
"Class": "PxeBridgeTemp",
- "Name": "CPU0 PVCCD VR Temp",
+ "Name": "CPU1 PVCCD VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -841,7 +841,7 @@
{
"Address": "0xC0",
"Class": "MpsBridgeTemp",
- "Name": "CPU1 PVCCIN VR Temp",
+ "Name": "CPU2 PVCCIN VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -873,7 +873,7 @@
{
"Address": "0xE8",
"Class": "PxeBridgeTemp",
- "Name": "CPU1 PVCCFA_EHV_FIVRA VR Temp",
+ "Name": "CPU2 PVCCFA_EHV_FIVRA VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -903,9 +903,9 @@
"Type": "IpmbSensor"
},
{
- "Address": "0F4",
+ "Address": "0xF4",
"Class": "PxeBridgeTemp",
- "Name": "CPU1 PVCCD VR Temp",
+ "Name": "CPU2 PVCCD VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -993,7 +993,7 @@
"Name": "Fan 1",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 1"
],
@@ -1019,7 +1019,7 @@
"Name": "Fan 2",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 2"
],
@@ -1045,7 +1045,7 @@
"Name": "Fan 3",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 3"
],
@@ -1071,7 +1071,7 @@
"Name": "Fan 4",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 4"
],
@@ -1097,7 +1097,7 @@
"Name": "Fan 5",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 5"
],
@@ -1123,7 +1123,7 @@
"Name": "Fan 6",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 6"
],
@@ -1149,7 +1149,7 @@
"Name": "Fan 7",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 13"
],
@@ -1175,7 +1175,7 @@
"Name": "Fan 8",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 14"
],
@@ -1201,7 +1201,7 @@
"Name": "Fan 9",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 15"
],
@@ -1227,7 +1227,7 @@
"Name": "Fan 10",
"NegativeHysteresis": 0.0,
"OutLimitMax": 100.0,
- "OutLimitMin": 30.0,
+ "OutLimitMin": 70.0,
"Outputs": [
"Pwm 16"
],
@@ -1273,9 +1273,9 @@
"ILimitMax": 100,
"ILimitMin": 30,
"Inputs": [
- "CPU0 North VR Temp"
+ "CPU1 North VR Temp"
],
- "Name": "CPU0 North VR Temp",
+ "Name": "CPU1 North VR Temp",
"NegativeHysteresis": 5.0,
"OutLimitMax": 100,
"OutLimitMin": 30,
@@ -1298,9 +1298,9 @@
"ILimitMax": 100,
"ILimitMin": 30,
"Inputs": [
- "CPU0 South VR Temp"
+ "CPU1 South VR Temp"
],
- "Name": "CPU0 South VR Temp",
+ "Name": "CPU1 South VR Temp",
"NegativeHysteresis": 5.0,
"OutLimitMax": 100,
"OutLimitMin": 30,
@@ -1323,9 +1323,9 @@
"ILimitMax": 100,
"ILimitMin": 30,
"Inputs": [
- "CPU1 North VR Temp"
+ "CPU2 North VR Temp"
],
- "Name": "CPU1 North VR Temp",
+ "Name": "CPU2 North VR Temp",
"NegativeHysteresis": 5.0,
"OutLimitMax": 100,
"OutLimitMin": 30,
@@ -1348,9 +1348,9 @@
"ILimitMax": 100,
"ILimitMin": 30,
"Inputs": [
- "CPU1 South VR Temp"
+ "CPU2 South VR Temp"
],
- "Name": "CPU1 South VR Temp",
+ "Name": "CPU2 South VR Temp",
"NegativeHysteresis": 5.0,
"OutLimitMax": 100,
"OutLimitMin": 30,
@@ -1751,7 +1751,7 @@
{
"Address": "0x4C",
"Bus": 6,
- "Name": "CPU0 North VR Temp",
+ "Name": "CPU1 North VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -1783,7 +1783,7 @@
{
"Address": "0x4D",
"Bus": 6,
- "Name": "CPU0 South VR Temp",
+ "Name": "CPU1 South VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -1815,7 +1815,7 @@
{
"Address": "0x4E",
"Bus": 6,
- "Name": "CPU1 North VR Temp",
+ "Name": "CPU2 North VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -1847,7 +1847,7 @@
{
"Address": "0x4F",
"Bus": 6,
- "Name": "CPU1 South VR Temp",
+ "Name": "CPU2 South VR Temp",
"Thresholds": [
{
"Direction": "greater than",
@@ -2050,6 +2050,12 @@
"PinName": "DBP_PRESENT_IN_R2_N"
},
"Type": "ASD"
+ },
+ {
+ "Address": "0x38",
+ "Bus": 4,
+ "Name": "PFR",
+ "Type": "PFR"
}
],
"Name": "AC Baseboard",
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console/obmc-console.conf b/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console/obmc-console.conf
deleted file mode 100644
index 8491f5365..000000000
--- a/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console/obmc-console.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-baud = 115200
-local-tty = ttyS3
-local-tty-baud = 115200
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console/sol-option-check.sh b/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console/sol-option-check.sh
deleted file mode 100755
index ef32fcb9a..000000000
--- a/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console/sol-option-check.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-# Copyright 2017 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#
-
-if [ $(grep 192000000 /sys/class/tty/ttyS0/uartclk | wc -l) != 0 ]; then
- echo "hs-uart"
- sed -i -e 's/115200/921600/g' /etc/obmc-console.conf
-else
- echo "normal uart"
- sed -i -e 's/921600/115200/g' /etc/obmc-console.conf
-fi
diff --git a/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console_%.bbappend b/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console_%.bbappend
deleted file mode 100644
index 7b6a47dac..000000000
--- a/meta-openbmc-mods/meta-ast2600/recipes-phosphor/console/obmc-console_%.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-FILESEXTRAPATHS_prepend_intel-ast2600 := "${THISDIR}/${PN}:"
-OBMC_CONSOLE_HOST_TTY = "ttyS2"
-SRC_URI += "file://sol-option-check.sh \
- file://obmc-console@.service \
- "
-inherit obmc-phosphor-systemd
-
-SYSTEMD_SERVICE_${PN} += " \
- ${PN}@${OBMC_CONSOLE_HOST_TTY}.service \
- "
-do_install_append() {
- rm -rf ${D}${base_libdir}/udev/rules.d/80-obmc-console-uart.rules
- install -m 0644 ${WORKDIR}/${PN}@.service ${D}${systemd_system_unitdir}
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/sol-option-check.sh ${D}${bindir}
-}