[U-Boot] [RESEND PATCH v2 03/15] arm: socfpga: Move Stratix10 and Agilex reset manager common code

Simon Goldschmidt simon.k.r.goldschmidt at gmail.com
Tue Jul 9 19:56:40 UTC 2019


Am 04.07.2019 um 10:56 schrieb Ley Foon Tan:
> Move Stratix10 and Agilex reset manager common code to reset_manager.h.

Hmm, I'd feel better if this was in a file common to these two 
architectures, not in such a generic file. Do you have some kind of 
internal code name that would describe "Stratix10 and Agilex"? If so, 
adding a file with such a name might be clearer...?

> 
> Remove unused RSTMGR_XXX defines.

Right, thanks for that!

Regards,
Simon

> 
> Signed-off-by: Ley Foon Tan <ley.foon.tan at intel.com>
> ---
>   .../mach-socfpga/include/mach/reset_manager.h | 26 ++++++
>   .../include/mach/reset_manager_s10.h          | 79 -------------------
>   2 files changed, 26 insertions(+), 79 deletions(-)
> 
> diff --git a/arch/arm/mach-socfpga/include/mach/reset_manager.h b/arch/arm/mach-socfpga/include/mach/reset_manager.h
> index 42beaecdd6..e2dce4b4fb 100644
> --- a/arch/arm/mach-socfpga/include/mach/reset_manager.h
> +++ b/arch/arm/mach-socfpga/include/mach/reset_manager.h
> @@ -36,6 +36,32 @@ 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)
> +
> +void reset_deassert_peripherals_handoff(void);
> +int cpu_has_been_warmreset(void);
> +void socfpga_bridges_reset(int enable);
> +
> +#define RSTMGR_MPUMODRST_CORE0		0
> +#define RSTMGR_PER0MODRST_OCP_MASK	0x0020bf00
> +#define RSTMGR_BRGMODRST_DDRSCH_MASK	0X00000040
> +#define RSTMGR_BRGMODRST_FPGA2SOC_MASK	0x00000004
> +
> +/* Watchdogs and MPU warm reset mask */
> +#define RSTMGR_L4WD_MPU_WARMRESET_MASK	0x000F0F00
> +
> +/*
> + * SocFPGA Stratix10 reset IDs, bank mapping is as follows:
> + * 0 ... mpumodrst
> + * 1 ... per0modrst
> + * 2 ... per1modrst
> + * 3 ... brgmodrst
> + */
> +#define RSTMGR_L4WD0		RSTMGR_DEFINE(2, 0)
> +#define RSTMGR_OSC1TIMER0	RSTMGR_DEFINE(2, 4)
> +#define RSTMGR_UART0		RSTMGR_DEFINE(2, 16)
> +#endif
> +
>   #if defined(CONFIG_TARGET_SOCFPGA_GEN5)
>   #include <asm/arch/reset_manager_gen5.h>
>   #elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
> diff --git a/arch/arm/mach-socfpga/include/mach/reset_manager_s10.h b/arch/arm/mach-socfpga/include/mach/reset_manager_s10.h
> index 452147b017..2d78c804c6 100644
> --- a/arch/arm/mach-socfpga/include/mach/reset_manager_s10.h
> +++ b/arch/arm/mach-socfpga/include/mach/reset_manager_s10.h
> @@ -7,14 +7,6 @@
>   #ifndef	_RESET_MANAGER_S10_
>   #define	_RESET_MANAGER_S10_
>   
> -void reset_cpu(ulong addr);
> -int cpu_has_been_warmreset(void);
> -
> -void socfpga_bridges_reset(int enable);
> -
> -void socfpga_per_reset(u32 reset, int set);
> -void socfpga_per_reset_all(void);
> -
>   struct socfpga_reset_manager {
>   	u32	status;
>   	u32	mpu_rst_stat;
> @@ -44,75 +36,4 @@ struct socfpga_reset_manager {
>   	u32     dbghdsktimeout;
>   };
>   
> -#define RSTMGR_MPUMODRST_CORE0		0
> -#define RSTMGR_PER0MODRST_OCP_MASK	0x0020bf00
> -#define RSTMGR_BRGMODRST_DDRSCH_MASK	0X00000040
> -#define RSTMGR_BRGMODRST_FPGA2SOC_MASK	0x00000004
> -
> -/* Watchdogs and MPU warm reset mask */
> -#define RSTMGR_L4WD_MPU_WARMRESET_MASK	0x000F0F00
> -
> -/*
> - * Define a reset identifier, from which a permodrst bank ID
> - * and reset ID can be extracted using the subsequent macros
> - * RSTMGR_RESET() and RSTMGR_BANK().
> - */
> -#define RSTMGR_BANK_OFFSET	8
> -#define RSTMGR_BANK_MASK	0x7
> -#define RSTMGR_RESET_OFFSET	0
> -#define RSTMGR_RESET_MASK	0x1f
> -#define RSTMGR_DEFINE(_bank, _offset)		\
> -	((_bank) << RSTMGR_BANK_OFFSET) | ((_offset) << RSTMGR_RESET_OFFSET)
> -
> -/* Extract reset ID from the reset identifier. */
> -#define RSTMGR_RESET(_reset)			\
> -	(((_reset) >> RSTMGR_RESET_OFFSET) & RSTMGR_RESET_MASK)
> -
> -/* Extract bank ID from the reset identifier. */
> -#define RSTMGR_BANK(_reset)			\
> -	(((_reset) >> RSTMGR_BANK_OFFSET) & RSTMGR_BANK_MASK)
> -
> -/*
> - * SocFPGA Stratix10 reset IDs, bank mapping is as follows:
> - * 0 ... mpumodrst
> - * 1 ... per0modrst
> - * 2 ... per1modrst
> - * 3 ... brgmodrst
> - */
> -#define RSTMGR_EMAC0		RSTMGR_DEFINE(1, 0)
> -#define RSTMGR_EMAC1		RSTMGR_DEFINE(1, 1)
> -#define RSTMGR_EMAC2		RSTMGR_DEFINE(1, 2)
> -#define RSTMGR_USB0		RSTMGR_DEFINE(1, 3)
> -#define RSTMGR_USB1		RSTMGR_DEFINE(1, 4)
> -#define RSTMGR_NAND		RSTMGR_DEFINE(1, 5)
> -#define RSTMGR_SDMMC		RSTMGR_DEFINE(1, 7)
> -#define RSTMGR_EMAC0_OCP	RSTMGR_DEFINE(1, 8)
> -#define RSTMGR_EMAC1_OCP	RSTMGR_DEFINE(1, 9)
> -#define RSTMGR_EMAC2_OCP	RSTMGR_DEFINE(1, 10)
> -#define RSTMGR_USB0_OCP		RSTMGR_DEFINE(1, 11)
> -#define RSTMGR_USB1_OCP		RSTMGR_DEFINE(1, 12)
> -#define RSTMGR_NAND_OCP		RSTMGR_DEFINE(1, 13)
> -#define RSTMGR_SDMMC_OCP	RSTMGR_DEFINE(1, 15)
> -#define RSTMGR_DMA		RSTMGR_DEFINE(1, 16)
> -#define RSTMGR_SPIM0		RSTMGR_DEFINE(1, 17)
> -#define RSTMGR_SPIM1		RSTMGR_DEFINE(1, 18)
> -#define RSTMGR_L4WD0		RSTMGR_DEFINE(2, 0)
> -#define RSTMGR_L4WD1		RSTMGR_DEFINE(2, 1)
> -#define RSTMGR_L4WD2		RSTMGR_DEFINE(2, 2)
> -#define RSTMGR_L4WD3		RSTMGR_DEFINE(2, 3)
> -#define RSTMGR_OSC1TIMER0	RSTMGR_DEFINE(2, 4)
> -#define RSTMGR_I2C0		RSTMGR_DEFINE(2, 8)
> -#define RSTMGR_I2C1		RSTMGR_DEFINE(2, 9)
> -#define RSTMGR_I2C2		RSTMGR_DEFINE(2, 10)
> -#define RSTMGR_I2C3		RSTMGR_DEFINE(2, 11)
> -#define RSTMGR_I2C4		RSTMGR_DEFINE(2, 12)
> -#define RSTMGR_UART0		RSTMGR_DEFINE(2, 16)
> -#define RSTMGR_UART1		RSTMGR_DEFINE(2, 17)
> -#define RSTMGR_GPIO0		RSTMGR_DEFINE(2, 24)
> -#define RSTMGR_GPIO1		RSTMGR_DEFINE(2, 25)
> -#define RSTMGR_SDR		RSTMGR_DEFINE(3, 6)
> -
> -/* Create a human-readable reference to SoCFPGA reset. */
> -#define SOCFPGA_RESET(_name)	RSTMGR_##_name
> -
>   #endif /* _RESET_MANAGER_S10_ */
> 



More information about the U-Boot mailing list