mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-10 23:03:29 +09:00
![Stefan Roese](/assets/img/avatar_default.png)
This function will be needed by the upcoming Designware master SPI driver. As the SPI master controller is held in reset by the current Preloader implementation. So we need to release the reset for the driver to communicate with the controller. This function is called from arch_early_init_r() if the SPI driver is enabled. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Chin Liang See <clsee@altera.com> Cc: Dinh Nguyen <dinguyen@altera.com> Cc: Vince Bridgers <vbridger@altera.com> Cc: Marek Vasut <marex@denx.de> Cc: Pavel Machek <pavel@denx.de>
43 lines
904 B
C
43 lines
904 B
C
/*
|
|
* Copyright (C) 2012 Altera Corporation <www.altera.com>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef _RESET_MANAGER_H_
|
|
#define _RESET_MANAGER_H_
|
|
|
|
void reset_cpu(ulong addr);
|
|
void reset_deassert_peripherals_handoff(void);
|
|
|
|
void socfpga_bridges_reset(int enable);
|
|
|
|
void socfpga_emac_reset(int enable);
|
|
void socfpga_watchdog_reset(void);
|
|
void socfpga_spim_enable(void);
|
|
|
|
struct socfpga_reset_manager {
|
|
u32 status;
|
|
u32 ctrl;
|
|
u32 counts;
|
|
u32 padding1;
|
|
u32 mpu_mod_reset;
|
|
u32 per_mod_reset;
|
|
u32 per2_mod_reset;
|
|
u32 brg_mod_reset;
|
|
};
|
|
|
|
#if defined(CONFIG_SOCFPGA_VIRTUAL_TARGET)
|
|
#define RSTMGR_CTRL_SWWARMRSTREQ_LSB 2
|
|
#else
|
|
#define RSTMGR_CTRL_SWWARMRSTREQ_LSB 1
|
|
#endif
|
|
|
|
#define RSTMGR_PERMODRST_EMAC0_LSB 0
|
|
#define RSTMGR_PERMODRST_EMAC1_LSB 1
|
|
#define RSTMGR_PERMODRST_L4WD0_LSB 6
|
|
#define RSTMGR_PERMODRST_SPIM0_LSB 18
|
|
#define RSTMGR_PERMODRST_SPIM1_LSB 19
|
|
|
|
#endif /* _RESET_MANAGER_H_ */
|