[U-Boot] [PATCH 06/11] arm: socfpga: misc: Segregate the misc.c for Stratix 10

Marek Vasut marex at denx.de
Wed Sep 7 16:57:42 CEST 2016


On 09/07/2016 03:28 PM, Chin Liang See wrote:
> On Tue, 2016-09-06 at 14:09 +0200, Marek Vasut wrote:
>> On 09/06/2016 08:19 AM, Chin Liang See wrote:
>>> On Mon, 2016-09-05 at 18:01 +0200, Marek Vasut wrote:
>>>> On 08/22/2016 05:02 PM, Chin Liang See wrote:
>>>>> Segregate the misc.c to support both GEN5 SoC and Stratix 10
>>>>> SoC.
>>>>>
>>>>> Signed-off-by: Chin Liang See <clsee at altera.com>
>>>>> Cc: Marek Vasut <marex at denx.de>
>>>>> Cc: Dinh Nguyen <dinguyen at opensource.altera.com>
>>>>> Cc: Ley Foon Tan <lftan at altera.com>
>>>>> ---
>>>>>  arch/arm/mach-socfpga/misc.c | 12 ++++++++++++
>>>>>  1 file changed, 12 insertions(+)
>>>>>
>>>>> diff --git a/arch/arm/mach-socfpga/misc.c b/arch/arm/mach
>>>>> -socfpga/misc.c
>>>>> index 5cbd8a4..295121f 100644
>>>>> --- a/arch/arm/mach-socfpga/misc.c
>>>>> +++ b/arch/arm/mach-socfpga/misc.c
>>>>> @@ -24,6 +24,8 @@
>>>>>  
>>>>>  DECLARE_GLOBAL_DATA_PTR;
>>>>>  
>>>>> +#ifdef CONFIG_TARGET_SOCFPGA_GEN5
>>>>> +
>>>>>  static struct pl310_regs *const pl310 =
>>>>>  	(struct pl310_regs *)CONFIG_SYS_PL310_BASE;
>>>>>  static struct socfpga_system_manager *sysmgr_regs =
>>>>> @@ -34,6 +36,7 @@ static struct nic301_registers *nic301_regs =
>>>>>  	(struct nic301_registers *)SOCFPGA_L3REGS_ADDRESS;
>>>>>  static struct scu_registers *scu_regs =
>>>>>  	(struct scu_registers *)SOCFPGA_MPUSCU_ADDRESS;
>>>>> +#endif
>>>>>  
>>>>>  int dram_init(void)
>>>>>  {
>>>>> @@ -41,6 +44,7 @@ int dram_init(void)
>>>>>  	return 0;
>>>>>  }
>>>>>  
>>>>> +#ifdef CONFIG_TARGET_SOCFPGA_GEN5
>>>>>  void enable_caches(void)
>>>>>  {
>>>>>  #ifndef CONFIG_SYS_ICACHE_OFF
>>>>> @@ -246,6 +250,7 @@ static int socfpga_fpga_id(const bool
>>>>> print_id)
>>>>>  		       socfpga_fpga_model[i].name, version);
>>>>>  	return i;
>>>>>  }
>>>>> +#endif /* CONFIG_TARGET_SOCFPGA_GEN5 */
>>>>>  
>>>>>  /*
>>>>>   * Print CPU information
>>>>> @@ -253,14 +258,20 @@ static int socfpga_fpga_id(const bool
>>>>> print_id)
>>>>>  #if defined(CONFIG_DISPLAY_CPUINFO)
>>>>>  int print_cpuinfo(void)
>>>>>  {
>>>>> +#ifdef CONFIG_TARGET_SOCFPGA_GEN5
>>>>>  	const u32 bsel = readl(&sysmgr_regs->bootinfo) & 0x7;
>>>>>  	puts("CPU:   Altera SoCFPGA Platform\n");
>>>>>  	socfpga_fpga_id(1);
>>>>>  	printf("BOOT:  %s\n", bsel_str[bsel].name);
>>>>> +#elif defined(CONFIG_TARGET_SOCFPGA_STRATIX10)
>>>>> +	puts("CPU:   Altera SoCFPGA Platform\n");
>>>>> +	puts("FPGA:  Altera Stratix 10\n");
>>>>> +#endif /* CONFIG_TARGET_SOCFPGA_GEN5 */
>>>>
>>>> Can't you decode the boot mode and FPGA type instead ?
>>>
>>> That is a good question. This is now not available in SOC Virtual
>>> Platform. But will definitely enhance this in later stage with
>>> hardware
>>> available.
>>
>> What do you mean not available ? Does the VT not emulate the SoC
>> precisely ?
>>
> 
> The VT doesn't emulate the Secure Device Manager (SDM) part as its
> focusing on ARM64 for this phase.

And the SDM is now the place from which you fish out the information
about the FPGA and bootmode ?


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list