All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dinh Nguyen <dinguyen@kernel.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 14/19] arm: socfpga: Add SPL support for Arria 10
Date: Mon, 10 Apr 2017 17:05:45 -0500	[thread overview]
Message-ID: <3e4a844a-73eb-567a-3f4d-4d94108eacf3@kernel.org> (raw)
In-Reply-To: <a8eaaf30-097d-4cda-0dbf-d2a6bfee0d59@kernel.org>



On 04/10/2017 03:43 PM, Dinh Nguyen wrote:
> 
> 
> On 04/05/2017 04:32 AM, Ley Foon Tan wrote:
>> Add SPL support for Arria 10.
>>
>> Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
>> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
>> ---
>>  arch/arm/mach-socfpga/spl.c | 74 ++++++++++++++++++++++++++++++++++++++++++---
>>  1 file changed, 69 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/arm/mach-socfpga/spl.c b/arch/arm/mach-socfpga/spl.c
>> index 69c433c..e1e62c2 100644
>> --- a/arch/arm/mach-socfpga/spl.c
>> +++ b/arch/arm/mach-socfpga/spl.c
>> @@ -19,23 +19,32 @@
>>  #include <asm/arch/sdram.h>
>>  #include <asm/arch/scu.h>
>>  #include <asm/arch/nic301.h>
>> +#include <asm/sections.h>
>> +#include <fdtdec.h>
>> +#include <watchdog.h>
>> +#if defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
>> +#include <asm/arch/pinmux.h>
>> +#endif
>>  
>>  DECLARE_GLOBAL_DATA_PTR;
>>  
>> +#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
>>  static struct pl310_regs *const pl310 =
>>  	(struct pl310_regs *)CONFIG_SYS_PL310_BASE;
>>  static struct scu_registers *scu_regs =
>>  	(struct scu_registers *)SOCFPGA_MPUSCU_ADDRESS;
>>  static struct nic301_registers *nic301_regs =
>>  	(struct nic301_registers *)SOCFPGA_L3REGS_ADDRESS;
>> -static struct socfpga_system_manager *sysmgr_regs =
>> +#endif
>> +
>> +static const struct socfpga_system_manager *sysmgr_regs =
>>  	(struct socfpga_system_manager *)SOCFPGA_SYSMGR_ADDRESS;
>>  
>>  u32 spl_boot_device(void)
>>  {
>>  	const u32 bsel = readl(&sysmgr_regs->bootinfo);
>>  
>> -	switch (bsel & 0x7) {
>> +	switch (SYSMGR_GET_BOOTINFO_BSEL(bsel)) {
>>  	case 0x1:	/* FPGA (HPS2FPGA Bridge) */
>>  		return BOOT_DEVICE_RAM;
>>  	case 0x2:	/* NAND Flash (1.8V) */
>> @@ -68,6 +77,7 @@ u32 spl_boot_mode(const u32 boot_device)
>>  }
>>  #endif
>>  
>> +#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
>>  static void socfpga_nic301_slave_ns(void)
>>  {
>>  	writel(0x1, &nic301_regs->lwhps2fpgaregs);
>> @@ -85,6 +95,7 @@ void board_init_f(ulong dummy)
>>  #endif
>>  	unsigned long sdram_size;
>>  	unsigned long reg;
>> +	int ret;
>>  
>>  	/*
>>  	 * First C code to run. Clear fake OCRAM ECC first as SBE
>> @@ -117,7 +128,11 @@ void board_init_f(ulong dummy)
>>  	/* Put everything into reset but L4WD0. */
>>  	socfpga_per_reset_all();
>>  	/* Put FPGA bridges into reset too. */
>> -	socfpga_bridges_reset(1);
>> +	ret = socfpga_bridges_reset(1);
>> +	if (ret) {
>> +		printf("socfpga_bridges_reset() failed: %d\n", ret);
>> +		hang();
>> +	}
>>  
>>  	socfpga_per_reset(SOCFPGA_RESET(SDR), 0);
>>  	socfpga_per_reset(SOCFPGA_RESET(UART0), 0);
>> @@ -150,7 +165,11 @@ void board_init_f(ulong dummy)
>>  
>>  	/* De-assert reset for peripherals and bridges based on handoff */
>>  	reset_deassert_peripherals_handoff();
>> -	socfpga_bridges_reset(0);
>> +	ret = socfpga_bridges_reset(0);
>> +	if (ret) {
>> +		printf("socfpga_bridges_reset() failed: %d\n", ret);
>> +		hang();
>> +	}
>>  
>>  	debug("Unfreezing/Thaw all I/O banks\n");
>>  	/* unfreeze / thaw all IO banks */
>> @@ -180,8 +199,53 @@ void board_init_f(ulong dummy)
>>  		hang();
>>  	}
>>  
>> -	socfpga_bridges_reset(1);
>> +	ret = socfpga_bridges_reset(1);
>> +	if (ret) {
>> +		printf("socfpga_bridges_reset() failed: %d\n", ret);
>> +		hang();
>> +	}
>>  
>>  	/* Configure simple malloc base pointer into RAM. */
>>  	gd->malloc_base = CONFIG_SYS_TEXT_BASE + (1024 * 1024);
>>  }
>> +#elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
>> +#ifdef CONFIG_SPL_BOARD_INIT
>> +void spl_board_init(void)
> 
> Don't need to add another check for SPL_BOARD_INIT, it's already defined
> for CONFIG_TARGET_SOCFPGA_ARRIA10.
> 

Also, this patch is causing the DE0-NANO/Atlas board to no longer boot!

Dinh

  reply	other threads:[~2017-04-10 22:05 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-05  9:32 [U-Boot] [PATCH v4 00/19] Add Intel Arria 10 SoC support Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 01/19] arm: socfpga: Restructure clock manager driver Ley Foon Tan
2017-04-05 19:12   ` Dinh Nguyen
2017-04-06  8:31     ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 02/19] arm: socfpga: Restructure reset " Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 03/19] arm: socfpga: Restructure system manager Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 04/19] arm: socfpga: Restructure misc driver Ley Foon Tan
2017-04-05 10:39   ` Marek Vasut
2017-04-06  5:37     ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 05/19] arm: socfpga: Add A10 macros Ley Foon Tan
2017-04-06 14:10   ` Dinh Nguyen
2017-04-07  0:32     ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 06/19] arm: socfpga: Add reset driver support for Arria 10 Ley Foon Tan
2017-04-06 19:37   ` Dinh Nguyen
2017-04-07  7:43     ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 07/19] arm: socfpga: Add clock driver " Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 08/19] arm: socfpga: Add system manager " Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 09/19] arm: socfpga: Add sdram header file " Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 10/19] arm: socfpga: Add misc support " Ley Foon Tan
2017-04-05 10:40   ` Marek Vasut
2017-04-06  3:20     ` Ley Foon Tan
2017-04-06 10:17       ` Marek Vasut
2017-04-07  0:33         ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 11/19] arm: socfpga: Add pinmux " Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 12/19] fdt: Add compatible strings " Ley Foon Tan
2017-04-05 10:41   ` Marek Vasut
2017-04-15 16:06   ` Simon Glass
2017-04-05  9:32 ` [U-Boot] [PATCH v4 13/19] arm: dts: Add dts and dtsi " Ley Foon Tan
2017-04-10 14:50   ` Dinh Nguyen
2017-04-11  5:50     ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 14/19] arm: socfpga: Add SPL support " Ley Foon Tan
2017-04-10 20:43   ` Dinh Nguyen
2017-04-10 22:05     ` Dinh Nguyen [this message]
2017-04-11  3:42       ` Dinh Nguyen
2017-04-11  5:48         ` Ley Foon Tan
2017-04-11 12:28           ` Dinh Nguyen
2017-04-11 10:35         ` Marek Vasut
2017-04-11  5:45     ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 15/19] drivers: fpga: Add compile switch for Gen5 only registers Ley Foon Tan
2017-04-07 14:26   ` Dinh Nguyen
2017-04-10  7:44     ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 16/19] arm: socfpga: Convert Altera DDR SDRAM driver to use Kconfig Ley Foon Tan
2017-04-05 10:44   ` Marek Vasut
2017-04-05  9:32 ` [U-Boot] [PATCH v4 17/19] arm: socfpga: Add config and defconfig for Arria 10 Ley Foon Tan
2017-04-07 14:17   ` Dinh Nguyen
2017-04-10  7:40     ` Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 18/19] arm: socfpga: Add board files for the Arria10 Ley Foon Tan
2017-04-05  9:32 ` [U-Boot] [PATCH v4 19/19] arm: socfpga: Enable build for Arria 10 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=3e4a844a-73eb-567a-3f4d-4d94108eacf3@kernel.org \
    --to=dinguyen@kernel.org \
    --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.