[U-Boot] [RESEND PATCH v2 04/15] arm: socfpga: agilex: Add reset manager support

Marek Vasut marex at denx.de
Tue Jul 9 20:33:04 UTC 2019


On 7/9/19 10:01 PM, Simon Goldschmidt wrote:
> Am 04.07.2019 um 10:56 schrieb Ley Foon Tan:
>> Add reset manager support for Agilex.
>>
>> Signed-off-by: Ley Foon Tan <ley.foon.tan at intel.com>
>> ---
>>   .../mach-socfpga/include/mach/reset_manager.h |  5 ++-
>>   .../include/mach/reset_manager_agilex.h       | 38 +++++++++++++++++++
>>   arch/arm/mach-socfpga/reset_manager.c         |  9 +++--
>>   3 files changed, 48 insertions(+), 4 deletions(-)
>>   create mode 100644
>> arch/arm/mach-socfpga/include/mach/reset_manager_agilex.h
>>
>> diff --git a/arch/arm/mach-socfpga/include/mach/reset_manager.h
>> b/arch/arm/mach-socfpga/include/mach/reset_manager.h
>> index e2dce4b4fb..f752f7abb8 100644
>> --- a/arch/arm/mach-socfpga/include/mach/reset_manager.h
>> +++ b/arch/arm/mach-socfpga/include/mach/reset_manager.h
>> @@ -36,7 +36,8 @@ void socfpga_per_reset_all(void);
>>   /* Create a human-readable reference to SoCFPGA reset. */
>>   #define SOCFPGA_RESET(_name)    RSTMGR_##_name
>>   -#if defined(CONFIG_TARGET_SOCFPGA_STRATIX10)
>> +#if defined(CONFIG_TARGET_SOCFPGA_STRATIX10) || \
>> +    defined(CONFIG_TARGET_SOCFPGA_AGILEX)
>>     void reset_deassert_peripherals_handoff(void);
>>   int cpu_has_been_warmreset(void);
>> @@ -68,6 +69,8 @@ void socfpga_bridges_reset(int enable);
>>   #include <asm/arch/reset_manager_arria10.h>
>>   #elif defined(CONFIG_TARGET_SOCFPGA_STRATIX10)
>>   #include <asm/arch/reset_manager_s10.h>
>> +#elif defined(CONFIG_TARGET_SOCFPGA_AGILEX)
>> +#include <asm/arch/reset_manager_agilex.h>
>>   #endif
>>     #endif /* _RESET_MANAGER_H_ */
>> diff --git a/arch/arm/mach-socfpga/include/mach/reset_manager_agilex.h
>> b/arch/arm/mach-socfpga/include/mach/reset_manager_agilex.h
>> new file mode 100644
>> index 0000000000..c209fb439b
>> --- /dev/null
>> +++ b/arch/arm/mach-socfpga/include/mach/reset_manager_agilex.h
>> @@ -0,0 +1,38 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +/*
>> + * Copyright (C) 2019 Intel Corporation <www.intel.com>
>> + */
>> +
>> +#ifndef    _RESET_MANAGER_AGILEX_
>> +#define    _RESET_MANAGER_AGILEX_
>> +
>> +struct socfpga_reset_manager {
>> +    u32    status;
>> +    u32    mpu_rst_stat;
>> +    u32    misc_stat;
>> +    u32    padding1;
>> +    u32    hdsk_en;
>> +    u32    hdsk_req;
>> +    u32    hdsk_ack;
>> +    u32    hdsk_stall;
>> +    u32    mpumodrst;
>> +    u32    per0modrst;
>> +    u32    per1modrst;
>> +    u32    brgmodrst;
>> +    u32    padding2;
>> +    u32    cold_mod_reset;
>> +    u32    padding3;
>> +    u32    dbg_mod_reset;
> 
> So the only difference is that 'padding4' got renamed to
> 'tap_mod_reset'? Do you even use 'tap_mod_reset' in U-Boot?
> 
> This looks like another file to be combined for S10 and Agilex?

btw. I am slowly starting to realize that switching to this
structure-based approach might've been a horrible mistake right from the
beginning.

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list