summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0000-AST2600-Add-the-latest-chip-initialization-code.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0000-AST2600-Add-the-latest-chip-initialization-code.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0000-AST2600-Add-the-latest-chip-initialization-code.patch265
1 files changed, 0 insertions, 265 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0000-AST2600-Add-the-latest-chip-initialization-code.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0000-AST2600-Add-the-latest-chip-initialization-code.patch
deleted file mode 100644
index 2ec774144..000000000
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0000-AST2600-Add-the-latest-chip-initialization-code.patch
+++ /dev/null
@@ -1,265 +0,0 @@
-From 8c9e2fffa9ea72ddc8734ee74b30cc62ba06fd3a Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Mon, 2 Mar 2020 13:54:50 -0800
-Subject: [PATCH] AST2600: Add the latest chip initialization code
-
-This commit cherry picked the latest chip initialization code from
-Aspped SDK v00.05.05 to support AST2600 A1 revision.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- arch/arm/mach-aspeed/ast2600/Makefile | 2 +-
- arch/arm/mach-aspeed/ast2600/cache.c | 26 +++++++
- arch/arm/mach-aspeed/ast2600/platform.S | 132 +++++++++++++++++++++++++-------
- 3 files changed, 130 insertions(+), 30 deletions(-)
- create mode 100644 arch/arm/mach-aspeed/ast2600/cache.c
-
-diff --git a/arch/arm/mach-aspeed/ast2600/Makefile b/arch/arm/mach-aspeed/ast2600/Makefile
-index b074d4b70a14..2889388fab75 100644
---- a/arch/arm/mach-aspeed/ast2600/Makefile
-+++ b/arch/arm/mach-aspeed/ast2600/Makefile
-@@ -1,2 +1,2 @@
--obj-y += platform.o aspeed_scu_info.o
-+obj-y += platform.o aspeed_scu_info.o cache.o
- obj-$(CONFIG_SPL_BUILD) += spl.o
-diff --git a/arch/arm/mach-aspeed/ast2600/cache.c b/arch/arm/mach-aspeed/ast2600/cache.c
-new file mode 100644
-index 000000000000..82de0b0fda8a
---- /dev/null
-+++ b/arch/arm/mach-aspeed/ast2600/cache.c
-@@ -0,0 +1,26 @@
-+// SPDX-License-Identifier: GPL-2.0
-+/*
-+ * Copyright (C) ASPEED Technology Inc.
-+ * Chia-Wei Wang <chiawei_wang@aspeedtech.com>
-+ */
-+
-+#include <common.h>
-+#include <asm/system.h>
-+
-+DECLARE_GLOBAL_DATA_PTR;
-+
-+void enable_caches(void)
-+{
-+#if defined(CONFIG_SYS_ARM_CACHE_WRITETHROUGH)
-+ enum dcache_option opt = DCACHE_WRITETHROUGH;
-+#else
-+ enum dcache_option opt = DCACHE_WRITEBACK;
-+#endif
-+ /* enable D-cache as well as MMU */
-+ dcache_enable();
-+
-+ /* setup cache attribute for DRAM region */
-+ mmu_set_region_dcache_behaviour(ASPEED_DRAM_BASE,
-+ gd->ram_size,
-+ opt);
-+}
-diff --git a/arch/arm/mach-aspeed/ast2600/platform.S b/arch/arm/mach-aspeed/ast2600/platform.S
-index de97cccc78b7..f1a1f057c09b 100644
---- a/arch/arm/mach-aspeed/ast2600/platform.S
-+++ b/arch/arm/mach-aspeed/ast2600/platform.S
-@@ -26,39 +26,45 @@
- * +----------------------+ AST_SMP_MAILBOX_BASE
- */
-
--#define AST_SMP_MAILBOX_BASE 0x1E6E2180
-+#define AST_SMP_MAILBOX_BASE (0x1E6E2180)
- #define AST_SMP_MBOX_FIELD_ENTRY (AST_SMP_MAILBOX_BASE + 0x0)
- #define AST_SMP_MBOX_FIELD_GOSIGN (AST_SMP_MAILBOX_BASE + 0x4)
- #define AST_SMP_MBOX_FIELD_READY (AST_SMP_MAILBOX_BASE + 0x8)
- #define AST_SMP_MBOX_FIELD_POLLINSN (AST_SMP_MAILBOX_BASE + 0xc)
-
- /* AST2600 HW registers */
--#define AST_SCU_BASE 0x1E6E2000
--#define AST_SCU_PROT_KEY1 (AST_SCU_BASE)
--#define AST_SCU_PROT_KEY2 (AST_SCU_BASE + 0x010)
--#define AST_SCU_REV_ID (AST_SCU_BASE + 0x014)
--#define AST_SCU_HPLL_PARAM (AST_SCU_BASE + 0x200)
--#define AST_SCU_HPLL_PARAM_EXT (AST_SCU_BASE + 0x204)
--#define AST_SCU_HW_STRAP1 (AST_SCU_BASE + 0x500)
--#define AST_SCU_CA7_PARITY_CHK (AST_SCU_BASE + 0x820)
--#define AST_SCU_CA7_PARITY_CLR (AST_SCU_BASE + 0x824)
--
--#define AST_FMC_BASE 0x1E620000
-+#define AST_SCU_BASE (0x1E6E2000)
-+#define AST_SCU_PROT_KEY1 (AST_SCU_BASE)
-+#define AST_SCU_PROT_KEY2 (AST_SCU_BASE + 0x010)
-+#define AST_SCU_REV_ID (AST_SCU_BASE + 0x014)
-+#define AST_SCU_SYSRST_CTRL (AST_SCU_BASE + 0x040)
-+#define AST_SCU_SYSRST_CTRL_CLR (AST_SCU_BASE + 0x044)
-+#define AST_SCU_DEBUG_CTRL (AST_SCU_BASE + 0x0C8)
-+#define AST_SCU_DEBUG_CTRL2 (AST_SCU_BASE + 0x0D8)
-+#define AST_SCU_HPLL_PARAM (AST_SCU_BASE + 0x200)
-+#define AST_SCU_HPLL_PARAM_EXT (AST_SCU_BASE + 0x204)
-+#define AST_SCU_HW_STRAP1 (AST_SCU_BASE + 0x500)
-+#define AST_SCU_HW_STRAP1_CLR (AST_SCU_BASE + 0x504)
-+#define AST_SCU_HW_STRAP2 (AST_SCU_BASE + 0x510)
-+#define AST_SCU_HW_STRAP2_CLR (AST_SCU_BASE + 0x514)
-+#define AST_SCU_CA7_CTRL (AST_SCU_BASE + 0x800)
-+#define AST_SCU_CA7_AXI_PREFETCH_START (AST_SCU_BASE + 0x808)
-+#define AST_SCU_CA7_AXI_PREFETCH_END (AST_SCU_BASE + 0x80C)
-+#define AST_SCU_CA7_PARITY_CHK (AST_SCU_BASE + 0x820)
-+#define AST_SCU_CA7_PARITY_CLR (AST_SCU_BASE + 0x824)
-+#define AST_SCU_MMIO_DEC_SET (AST_SCU_BASE + 0xC24)
-+
-+#define AST_FMC_BASE (0x1E620000)
-+#define AST_FMC_CE0_CTRL (AST_FMC_BASE + 0x010)
- #define AST_FMC_WDT1_CTRL_MODE (AST_FMC_BASE + 0x060)
- #define AST_FMC_WDT2_CTRL_MODE (AST_FMC_BASE + 0x064)
-
-+#define AST_GPIO_BASE (0x1E780000)
-+#define AST_GPIOYZ_DATA_VALUE (AST_GPIO_BASE + 0x1E0)
-+
- /* Revision ID */
- #define REV_ID_AST2600A0 0x05000303
-
--ENTRY(ast_bootmode)
-- ldr r1, =AST_SCU_HW_STRAP1
-- ldr r0, [r1]
-- tst r0, #0x4
-- moveq r0, #0x0 @; AST_BOOTMODE_SPI
-- movne r0, #0x1 @; AST_BOOTMODE_EMMC
-- mov pc, lr
--ENDPROC(ast_bootmode)
--
- .macro scu_unlock
- movw r0, #0xA8A8
- movt r0, #0x1688 @; magic key to unlock SCU
-@@ -71,11 +77,19 @@ ENDPROC(ast_bootmode)
-
- .macro timer_init
- #ifdef CONFIG_FPGA_ASPEED
-- movw r0, #0x7840
-- movt r0, #0x17D
-+ movw r0, #0xF080
-+ movt r0, #0x2FA
- #else
-- movw r0, #0x2340
-- movt r0, #0x430E
-+ ldr r0, =AST_SCU_REV_ID
-+ ldr r0, [r0]
-+
-+ ldr r1, =REV_ID_AST2600A0
-+ cmp r0, r1
-+
-+ movweq r0, #0x32C0
-+ movteq r0, #0x4013
-+ movwne r0, #0x8C00
-+ movtne r0, #0x4786
- #endif
- mcr p15, 0, r0, c14, c0, 0 @; update CNTFRQ
- .endm
-@@ -133,7 +147,7 @@ do_primary_core_setup:
- /* unlock system control unit */
- scu_unlock
-
-- /* tune-up CPU clock for AST2600 A0 */
-+ /* identify AST2600 A0/A1 */
- ldr r0, =AST_SCU_REV_ID
- ldr r0, [r0]
-
-@@ -142,7 +156,7 @@ do_primary_core_setup:
-
- bne 0f
-
-- /* setup CPU clocks */
-+ /* tune up CPU clocks (A0 only) */
- ldr r0, =AST_SCU_HW_STRAP1
- ldr r1, [r0]
- bic r1, #0x1800
-@@ -150,7 +164,7 @@ do_primary_core_setup:
- str r1, [r0]
-
- ldr r0, =AST_SCU_HPLL_PARAM
-- movw r1, #0x4087
-+ movw r1, #0x4080
- movt r1, #0x1000
- str r1, [r0]
-
-@@ -163,13 +177,54 @@ wait_lock:
- tst r1, #0x80000000
- beq wait_lock
-
-+ /* skip A1 only area */
-+ b 1f
-+
- 0:
-+ /* enable AXI prefetch (A1 only) */
-+ ldr r0, =AST_SCU_CA7_AXI_PREFETCH_START
-+ ldr r1, =ASPEED_DRAM_BASE
-+ str r1, [r0]
-+
-+ ldr r0, =AST_SCU_CA7_AXI_PREFETCH_END
-+ ldr r1, =0xFFFFFFFF
-+ str r1, [r0]
-+
-+ ldr r0, =AST_SCU_CA7_CTRL
-+ ldr r1, [r0]
-+ orr r1, #0x8000
-+ str r1, [r0]
-+
-+ /* LPC/eSPI mode selection (A1 only) */
-+ ldr r0, =AST_GPIOYZ_DATA_VALUE
-+ ldr r0, [r0]
-+ tst r0, #0x1000
-+ beq 1f
-+
-+ /* switch to LPC mode if GPIOZ[4]=1 */
-+ ldr r0, =AST_SCU_HW_STRAP2
-+ ldr r1, [r0]
-+ orr r1, #0x40
-+ str r1, [r0]
-+
-+1:
-+ /* release display port reset */
-+ ldr r0, =AST_SCU_SYSRST_CTRL_CLR
-+ movw r1, #0x0000
-+ movt r1, #0x3000
-+ str r1, [r0]
-+
-+ /* MMIO decode setting */
-+ ldr r0, =AST_SCU_MMIO_DEC_SET
-+ mov r1, #0x2000
-+ str r1, [r0]
-+
- /* enable cache & SRAM parity check */
- mov r0, #0
- ldr r1, =AST_SCU_CA7_PARITY_CLR
- str r0, [r1]
-
-- mov r0, #0x11
-+ mov r0, #0x1
- ldr r1, =AST_SCU_CA7_PARITY_CHK
- str r0, [r1]
-
-@@ -177,8 +232,27 @@ wait_lock:
- mov r0, #0
- ldr r1, =AST_FMC_WDT1_CTRL_MODE
- str r0, [r1]
-+#if 0
- ldr r1, =AST_FMC_WDT2_CTRL_MODE
- str r0, [r1]
-+#endif
-+ /* tune up SPI clock */
-+ movw r0, #0x0641
-+ movt r0, #0x203B
-+ ldr r1, =AST_FMC_CE0_CTRL
-+ str r0, [r1]
-+
-+ /* disable UART-based SoC Debug Interface UART5 and P2A bridge*/
-+ ldr r0, =AST_SCU_DEBUG_CTRL
-+ ldr r1, [r0]
-+ orr r1, #0x03
-+ str r1, [r0]
-+
-+ /* disable UART-based SoC Debug Interface UART1 and LPC2AHB bridge */
-+ ldr r0, =AST_SCU_DEBUG_CTRL2
-+ ldr r1, [r0]
-+ orr r1, #0x0A
-+ str r1, [r0]
-
- /* relocate mailbox insn. for cpuN polling SMP go signal */
- adrl r0, mailbox_insn
---
-2.7.4
-