summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-bsp')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0003-ast2600-intel-layout-environment-addr.patch48
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Disable-crashdump-trigger-gpio.patch57
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0039-AST2500-increase-boot-speed.patch44
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/fw_env.config25
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend5
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_%.bbappend14
7 files changed, 173 insertions, 24 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0003-ast2600-intel-layout-environment-addr.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0003-ast2600-intel-layout-environment-addr.patch
index a1a8acf81..88d7cd019 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0003-ast2600-intel-layout-environment-addr.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0003-ast2600-intel-layout-environment-addr.patch
@@ -1,4 +1,4 @@
-From e074cf61bd6a726c8cb513336507047ece5423d0 Mon Sep 17 00:00:00 2001
+From 2a52808ddd6a6bef40bab9a15bd22b1c7988a798 Mon Sep 17 00:00:00 2001
From: Kuiying Wang <kuiying.wang@intel.com>
Date: Thu, 12 Dec 2019 12:54:18 +0800
Subject: [PATCH] ast2600: intel-layout-environment-addr
@@ -7,21 +7,55 @@ Tested:
Both kernel and u-boot work at the area /dev/mtd/u-boot-env
Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- include/configs/aspeed-common.h | 5 ++++-
- include/configs/evb_ast2600_spl.h | 2 +-
- 2 files changed, 5 insertions(+), 2 deletions(-)
+ common/board_r.c | 11 +++++++++--
+ include/configs/aspeed-common.h | 12 +++++++++++-
+ include/configs/evb_ast2600_spl.h | 2 +-
+ 3 files changed, 21 insertions(+), 4 deletions(-)
+diff --git a/common/board_r.c b/common/board_r.c
+index a7f5371bac71..492d7f1cbe4c 100644
+--- a/common/board_r.c
++++ b/common/board_r.c
+@@ -433,10 +433,17 @@ static int should_load_env(void)
+ static int initr_env(void)
+ {
+ /* initialize environment */
+- if (should_load_env())
++ if (should_load_env()) {
++ /*
++ * try again, in case the environment failed to load the first
++ * time
++ */
++ if (!gd->env_valid)
++ env_init();
+ env_relocate();
+- else
++ } else {
+ set_default_env(NULL, 0);
++ }
+ #ifdef CONFIG_OF_CONTROL
+ env_set_hex("fdtcontroladdr",
+ (unsigned long)map_to_sysmem(gd->fdt_blob));
diff --git a/include/configs/aspeed-common.h b/include/configs/aspeed-common.h
-index d1eb468..8ad9deb 100644
+index d1eb4688e68f..0ece4a1b9440 100644
--- a/include/configs/aspeed-common.h
+++ b/include/configs/aspeed-common.h
-@@ -56,12 +56,15 @@
+@@ -55,13 +55,23 @@
+ #ifndef CONFIG_BOOTCOMMAND
#define CONFIG_BOOTCOMMAND "bootm 20080000"
#endif
++#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
++#define CONFIG_ENV_ADDR_REDUND
#define CONFIG_ENV_OVERWRITE
++#define AST_FMC_CS0_BASE 0x20000000 /* CS0 */
+#define CONFIG_ENV_OFFSET 0x2400000
++#define CONFIG_ENV_ADDR (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET)
+#define CONFIG_ENV_SIZE 0x10000
++#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
++#define CONFIG_ENV_ADDR_REDUND (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET_REDUND)
++#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
+#define CONFIG_ENV_SECT_SIZE (4 << 10)
#define CONFIG_SYS_BOOTM_LEN (0x800000 * 2)
@@ -34,7 +68,7 @@ index d1eb468..8ad9deb 100644
/*
diff --git a/include/configs/evb_ast2600_spl.h b/include/configs/evb_ast2600_spl.h
-index 8bbd6e1..8529f46 100644
+index 8bbd6e18727a..8529f46c0b19 100644
--- a/include/configs/evb_ast2600_spl.h
+++ b/include/configs/evb_ast2600_spl.h
@@ -19,7 +19,7 @@
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Disable-crashdump-trigger-gpio.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Disable-crashdump-trigger-gpio.patch
new file mode 100644
index 000000000..6ffdbc702
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Disable-crashdump-trigger-gpio.patch
@@ -0,0 +1,57 @@
+From aae3bab86f19784cbe0767ea0973527ce217bf89 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] Disable crashdump trigger gpio
+
+This commit disables crashdump trigger gpio (GPIOC3) to prevent
+unexpected host failures.
+
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ board/aspeed/ast2600_intel/intel.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
+index eb6fbaf77e66..7daf1b83305a 100644
+--- a/board/aspeed/ast2600_intel/intel.c
++++ b/board/aspeed/ast2600_intel/intel.c
+@@ -146,6 +146,27 @@ static void sgpio_init(void)
+ writel(value, AST_GPIO_BASE + GPIO254);
+ }
+
++static void disable_crashlog_trigger(void)
++{
++#define SCU_410 0x410 /* Multi-function Pin Control #4 */
++#define SCU_410_RGMII3TXD1 BIT(19)
++#define GPIO_004 0x004 /* GPIO A/B/C/D Direction */
++#define GPIO_000 0x000 /* GPIO A/B/C/D Value */
++#define GPIO_C3 BIT(19)
++
++ /*
++ * Set FM_BMC_CRASHLOG_TRIG_N (GPIOC3) as an output with value high
++ * explicitly since it doesn't have an external pull up. It uses direct
++ * register access because it's called from board_early_init_f().
++ */
++ writel(readl(SCU_BASE | SCU_410) & ~SCU_410_RGMII3TXD1,
++ SCU_BASE | SCU_410);
++ writel(readl(AST_GPIO_BASE | GPIO_004) | GPIO_C3,
++ AST_GPIO_BASE | GPIO_004);
++ writel(readl(AST_GPIO_BASE | GPIO_000) | GPIO_C3,
++ AST_GPIO_BASE | GPIO_000);
++}
++
+ void espi_init(void);
+ int arch_interrupt_init_early(void);
+
+@@ -162,6 +183,8 @@ int board_early_init_f(void)
+ * I am not sure if it actually does anything... */
+ arch_interrupt_init_early();
+
++ disable_crashlog_trigger();
++
+ gpio_passthru_init();
+
+ port80h_snoop_init();
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0039-AST2500-increase-boot-speed.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0039-AST2500-increase-boot-speed.patch
index ce36b580e..d8ac50dbd 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0039-AST2500-increase-boot-speed.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0039-AST2500-increase-boot-speed.patch
@@ -1,21 +1,29 @@
-From 1e9a4afdfa995e924f74139f620e8b2f985a705f Mon Sep 17 00:00:00 2001
+From b571713f51beb467eefae8e56bfea6e5eab48f8c Mon Sep 17 00:00:00 2001
From: James Feist <james.feist@linux.intel.com>
Date: Tue, 10 Dec 2019 16:21:24 -0800
Subject: [PATCH 1/1] AST2500 increase boot speed
-This hardcodes the IOMODE to x2 as that is the fastest
-we support.
+Enable CONFIG_FLASH_SPIx2_Dummy and add it to known
+good SPI flashes.
Signed-off-by: James Feist <james.feist@linux.intel.com>
---
- arch/arm/mach-aspeed/flash.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
+ arch/arm/mach-aspeed/flash.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-aspeed/flash.c b/arch/arm/mach-aspeed/flash.c
-index d33fb9e0fe..31d2ef6001 100644
+index d33fb9e0fe..95fc46dd76 100644
--- a/arch/arm/mach-aspeed/flash.c
+++ b/arch/arm/mach-aspeed/flash.c
-@@ -730,7 +730,7 @@ static ulong flash_get_size (ulong base, flash_info_t *info)
+@@ -34,6 +34,7 @@
+ #include <asm/arch/ast_scu.h>
+ #include <asm/arch/aspeed.h>
+
++#define CONFIG_FLASH_SPIx2_Dummy 1
+
+ /*
+ * This file implements a Common Flash Interface (CFI) driver for U-Boot.
+@@ -730,7 +731,7 @@ static ulong flash_get_size (ulong base, flash_info_t *info)
ulID = ((ulong)ch[0]) | ((ulong)ch[1] << 8) | ((ulong)ch[2] << 16) ;
info->flash_id = ulID;
@@ -24,17 +32,19 @@ index d33fb9e0fe..31d2ef6001 100644
/* init default */
info->iomode = IOMODEx1;
-@@ -1258,6 +1258,10 @@ static ulong flash_get_size (ulong base, flash_info_t *info)
- } /* JDEC */
- }
-
-+ info->readcmd = 0xbb;
-+ info->dualport = 1;
-+ info->iomode = IOMODEx2_dummy;
-+
- sector = base;
- for (j = 0; j < info->sector_count; j++) {
+@@ -1035,6 +1036,12 @@ static ulong flash_get_size (ulong base, flash_info_t *info)
+ EraseClk = 25;
+ ReadClk = 50;
+ info->address32 = 1;
++#if defined(CONFIG_FLASH_SPIx2_Dummy)
++ info->readcmd = 0xbb;
++ info->dummybyte = 1;
++ info->dualport = 1;
++ info->iomode = IOMODEx2_dummy;
++#endif
+ break;
+ case SST25VF016B:
--
2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/fw_env.config b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/fw_env.config
new file mode 100644
index 000000000..19ace4b88
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/fw_env.config
@@ -0,0 +1,25 @@
+# Configuration file for fw_(printenv/setenv) utility.
+# Up to two entries are valid, in this case the redundant
+# environment sector is assumed present.
+# Notice, that the "Number of sectors" is ignored on NOR and SPI-dataflash.
+# Furthermore, if the Flash sector size is omitted, this value is assumed to
+# be the same as the Environment size, which is valid for NOR and SPI-dataflash
+
+# NOR example
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+#/dev/mtd1 0x0000 0x20000 0x20000
+#/dev/mtd2 0x0000 0x4000 0x4000
+
+# MTD SPI-dataflash example
+# MTD device name Device offset Env. size Flash sector size Number of sectors
+#/dev/mtd2 0x00000 0x20000
+/dev/mtd/u-boot-env 0x00000 0x10000
+/dev/mtd/u-boot-env 0x10000 0x10000
+#/dev/mtd5 0x4200 0x4200
+#/dev/mtd6 0x4200 0x4200
+
+# NAND example
+#/dev/mtd0 0x4000 0x4000 0x20000 2
+
+# Block device example
+#/dev/mmcblk0 0xc0000 0x20000
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
index 376b785c1..b5ea27dae 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
@@ -4,8 +4,13 @@ FILESEXTRAPATHS_append_intel-ast2600:= "${THISDIR}/files:"
# with the intel layout for environment
SRC_URI_append_intel-ast2600 = " \
+ file://fw_env.config \
file://intel.cfg \
file://0001-Add-ast2600-intel-as-a-new-board.patch \
file://0021-AST2600-Enable-host-searial-port-clock-configuration.patch \
file://0003-ast2600-intel-layout-environment-addr.patch \
+ file://0004-Disable-crashdump-trigger-gpio.patch \
"
+do_install_append () {
+ install -m 0644 ${WORKDIR}/fw_env.config ${S}/tools/env/fw_env.config
+}
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
index a536dce34..8e35c468b 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
@@ -5,6 +5,7 @@ FILESEXTRAPATHS_append_intel-ast2500:= "${THISDIR}/files:"
SRC_URI_remove_intel-ast2500 = " file://0001-configs-ast-Add-redundnant-env.patch"
SRC_URI_append_intel-ast2500 = " \
+ file://fw_env.config \
file://0001-flash-use-readX-writeX-not-udelay.patch \
file://0002-intel-layout-environment-addr.patch \
file://0004-Make-sure-debug-uart-is-using-24MHz-clock-source.patch \
@@ -46,6 +47,9 @@ PFR_SRC_URI = " \
file://0035-PFR-platform-EXTRST-reset-mask-selection.patch \
"
SRC_URI_append_intel-ast2500 += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', PFR_SRC_URI, '', d)}"
+do_install_append () {
+ install -m 0644 ${WORKDIR}/fw_env.config ${S}/tools/env/fw_env.config
+}
require recipes-core/os-release/version-vars.inc
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_%.bbappend b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_%.bbappend
new file mode 100644
index 000000000..b271f3b38
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_%.bbappend
@@ -0,0 +1,14 @@
+FILESEXTRAPATHS_append_intel-ast2600:= "${THISDIR}/files:"
+
+SRC_URI_append_intel-ast2600 = " \
+ file://fw_env.config \
+ file://intel.cfg \
+ file://0001-Add-ast2600-intel-as-a-new-board.patch \
+ file://0003-ast2600-intel-layout-environment-addr.patch \
+ "
+
+do_install_append () {
+ install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
+ install -m 0644 ${WORKDIR}/fw_env.config ${S}/tools/env/fw_env.config
+}
+RDEPENDS_${PN} = "udev-aspeed-mtd-partitions"