From: Ley Foon Tan <ley.foon.tan@intel.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v5 17/19] arm: socfpga: agilex: Add SPL for Agilex SoC
Date: Fri, 11 Oct 2019 17:52:20 +0800 [thread overview]
Message-ID: <1570787542-40896-18-git-send-email-ley.foon.tan@intel.com> (raw)
In-Reply-To: <1570787542-40896-1-git-send-email-ley.foon.tan@intel.com>
Add SPL support for Agilex SoC.
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
---
v5:
- Probe CCU driver with DM method.
v4:
- Move spl_early_init() to entry of board_init_f
- Add socfpga_get_manager_addr().
- Remove SYSMGR_DMA and SYSMGR_DMA_PERIPH, already set in firewall_setup().
v2:
- Change clock driver probing to DM.
- Remove unused OSC1TIMER0 reset
- Remove debug_uart_init(). UART depends on clock driver setup, no point to call
debug_uart_init() after spl_early_init() and clock driver initialization.
---
arch/arm/mach-socfpga/Makefile | 3 +
arch/arm/mach-socfpga/spl_agilex.c | 98 ++++++++++++++++++++++++++++++
2 files changed, 101 insertions(+)
create mode 100644 arch/arm/mach-socfpga/spl_agilex.c
diff --git a/arch/arm/mach-socfpga/Makefile b/arch/arm/mach-socfpga/Makefile
index a403b46b47..81b6ffc675 100644
--- a/arch/arm/mach-socfpga/Makefile
+++ b/arch/arm/mach-socfpga/Makefile
@@ -58,6 +58,9 @@ ifdef CONFIG_TARGET_SOCFPGA_STRATIX10
obj-y += firewall.o
obj-y += spl_s10.o
endif
+ifdef CONFIG_TARGET_SOCFPGA_AGILEX
+obj-y += spl_agilex.o
+endif
endif
ifdef CONFIG_TARGET_SOCFPGA_GEN5
diff --git a/arch/arm/mach-socfpga/spl_agilex.c b/arch/arm/mach-socfpga/spl_agilex.c
new file mode 100644
index 0000000000..168a75af2f
--- /dev/null
+++ b/arch/arm/mach-socfpga/spl_agilex.c
@@ -0,0 +1,98 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2019 Intel Corporation <www.intel.com>
+ *
+ */
+
+#include <asm/io.h>
+#include <asm/u-boot.h>
+#include <asm/utils.h>
+#include <common.h>
+#include <image.h>
+#include <spl.h>
+#include <asm/arch/clock_manager.h>
+#include <asm/arch/firewall.h>
+#include <asm/arch/mailbox_s10.h>
+#include <asm/arch/misc.h>
+#include <asm/arch/reset_manager.h>
+#include <asm/arch/system_manager.h>
+#include <watchdog.h>
+#include <dm/uclass.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+u32 spl_boot_device(void)
+{
+ return BOOT_DEVICE_MMC1;
+}
+
+#ifdef CONFIG_SPL_MMC_SUPPORT
+u32 spl_boot_mode(const u32 boot_device)
+{
+#if defined(CONFIG_SPL_FS_FAT) || defined(CONFIG_SPL_FS_EXT4)
+ return MMCSD_MODE_FS;
+#else
+ return MMCSD_MODE_RAW;
+#endif
+}
+#endif
+
+void board_init_f(ulong dummy)
+{
+ int ret;
+ struct udevice *dev;
+
+ ret = spl_early_init();
+ if (ret)
+ hang();
+
+ socfpga_get_manager_addr();
+
+#ifdef CONFIG_HW_WATCHDOG
+ /* Ensure watchdog is paused when debugging is happening */
+ writel(SYSMGR_WDDBG_PAUSE_ALL_CPU,
+ socfpga_sysmgr_base + SYSMGR_SOC64_WDDBG);
+
+ /* Enable watchdog before initializing the HW */
+ socfpga_per_reset(SOCFPGA_RESET(L4WD0), 1);
+ socfpga_per_reset(SOCFPGA_RESET(L4WD0), 0);
+ hw_watchdog_init();
+#endif
+
+ /* ensure all processors are not released prior Linux boot */
+ writeq(0, CPU_RELEASE_ADDR);
+
+ timer_init();
+
+ sysmgr_pinmux_init();
+
+ ret = uclass_get_device(UCLASS_CLK, 0, &dev);
+ if (ret) {
+ debug("Clock init failed: %d\n", ret);
+ hang();
+ }
+
+ preloader_console_init();
+ cm_print_clock_quick_summary();
+
+ firewall_setup();
+ ret = uclass_get_device(UCLASS_CACHE, 0, &dev);
+ if (ret) {
+ debug("CCU init failed: %d\n", ret);
+ hang();
+ }
+
+#if CONFIG_IS_ENABLED(ALTERA_SDRAM)
+ ret = uclass_get_device(UCLASS_RAM, 0, &dev);
+ if (ret) {
+ debug("DRAM init failed: %d\n", ret);
+ hang();
+ }
+#endif
+
+ mbox_init();
+
+#ifdef CONFIG_CADENCE_QSPI
+ mbox_qspi_open();
+#endif
+}
--
2.19.0
next prev parent reply other threads:[~2019-10-11 9:52 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-11 9:52 [U-Boot] [PATCH v5 00/19] Add Intel Agilex SoC support Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 01/19] arm: socfpga: agilex: Add base address for Intel Agilex SoC Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 02/19] arm: socfpga: Move firewall code to firewall file Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 03/19] arm: socfpga: Move Stratix10 and Agilex reset manager common code Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 04/19] arm: socfpga: agilex: Add reset manager support Ley Foon Tan
2019-10-22 18:26 ` Simon Goldschmidt
2019-10-11 9:52 ` [U-Boot] [PATCH v5 05/19] arm: socfpga: Move Stratix10 and Agilex system manager common code Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 06/19] arm: socfpga: agilex: Add system manager support Ley Foon Tan
2019-10-22 18:27 ` Simon Goldschmidt
2019-10-11 9:52 ` [U-Boot] [PATCH v5 07/19] arm: socfpga: Move Stratix10 and Agilex clock manager common code Ley Foon Tan
2019-10-22 18:29 ` Simon Goldschmidt
2019-10-25 9:19 ` Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 08/19] arm: socfpga: Fix CLKMGR_INTOSC_HZ to 400MHz Ley Foon Tan
2019-10-22 18:31 ` Simon Goldschmidt
2019-10-25 8:47 ` Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 09/19] clk: agilex: Add clock driver for Agilex Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 10/19] arm: socfpga: agilex: Add clock wrapper functions Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 11/19] cache: Add Arteris Ncore cache coherent unit driver Ley Foon Tan
2019-10-22 18:32 ` Simon Goldschmidt
2019-10-11 9:52 ` [U-Boot] [PATCH v5 12/19] drivers: Enable cache driver build in SPL Ley Foon Tan
2019-10-22 18:34 ` Simon Goldschmidt
2019-10-25 9:25 ` Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 13/19] arm: agilex: Add clock handoff offset for Agilex Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 14/19] ddr: altera: Restructure Stratix 10 SDRAM driver Ley Foon Tan
2019-10-22 18:40 ` Simon Goldschmidt
2019-10-25 8:40 ` Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 15/19] ddr: altera: agilex: Add SDRAM driver for Agilex Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 16/19] board: intel: agilex: Add socdk board support for Intel Agilex SoC Ley Foon Tan
2019-10-11 9:52 ` Ley Foon Tan [this message]
2019-10-11 9:52 ` [U-Boot] [PATCH v5 18/19] arm: dts: agilex: Add base dtsi and devkit dts Ley Foon Tan
2019-10-11 9:52 ` [U-Boot] [PATCH v5 19/19] arm: socfpga: agilex: Enable Agilex SoC build Ley Foon Tan
2019-10-22 7:02 ` Simon Goldschmidt
2019-10-25 8:38 ` Ley Foon Tan
2019-10-22 18:42 ` Simon Goldschmidt
2019-10-25 8:39 ` Ley Foon Tan
2019-10-21 9:05 ` [U-Boot] [PATCH v5 00/19] Add Intel Agilex SoC support Ley Foon Tan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1570787542-40896-18-git-send-email-ley.foon.tan@intel.com \
--to=ley.foon.tan@intel.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.