1 /*
2  * Copyright (c) 2019-2023, Intel Corporation. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SOCFPGA_F2SDRAMMANAGER_H
8 #define SOCFPGA_F2SDRAMMANAGER_H
9 
10 #include "socfpga_plat_def.h"
11 
12 /* FPGA2SDRAM Register Map */
13 #define SOCFPGA_F2SDRAMMGR_SIDEBANDMGR_FLAGINSTATUS0	0x14
14 #define SOCFPGA_F2SDRAMMGR_SIDEBANDMGR_FLAGOUTCLR0	0x54
15 #define SOCFPGA_F2SDRAMMGR_SIDEBANDMGR_FLAGOUTSET0	0x50
16 
17 #define FLAGOUTCLR0_F2SDRAM0_ENABLE		(BIT(8))
18 #define FLAGOUTSETCLR_F2SDRAM0_ENABLE		(BIT(1))
19 #define FLAGOUTSETCLR_F2SDRAM1_ENABLE		(BIT(4))
20 #define FLAGOUTSETCLR_F2SDRAM2_ENABLE		(BIT(7))
21 
22 #define FLAGOUTSETCLR_F2SDRAM0_IDLEREQ		(BIT(0))
23 #define FLAGOUTSETCLR_F2SDRAM1_IDLEREQ		(BIT(3))
24 #define FLAGOUTSETCLR_F2SDRAM2_IDLEREQ		(BIT(6))
25 #define FLAGINSTATUS_F2SDRAM0_IDLEACK		(BIT(1))
26 #define FLAGINSTATUS_F2SDRAM1_IDLEACK		(BIT(5))
27 #define FLAGINSTATUS_F2SDRAM2_IDLEACK		(BIT(9))
28 #define FLAGINSTATUS_F2SDRAM0_CMDIDLE		(BIT(2))
29 #define FLAGINSTATUS_F2SDRAM1_CMDIDLE		(BIT(6))
30 #define FLAGINSTATUS_F2SDRAM2_CMDIDLE		(BIT(10))
31 #define FLAGINSTATUS_F2SDRAM0_NOCIDLE		(BIT(0))
32 #define FLAGINSTATUS_F2SDRAM1_NOCIDLE		(BIT(4))
33 #define FLAGINSTATUS_F2SDRAM2_NOCIDLE		(BIT(8))
34 
35 #define FLAGOUTSETCLR_F2SDRAM0_FORCE_DRAIN	(BIT(2))
36 #define FLAGOUTSETCLR_F2SDRAM1_FORCE_DRAIN	(BIT(5))
37 #define FLAGOUTSETCLR_F2SDRAM2_FORCE_DRAIN	(BIT(8))
38 
39 #define FLAGINSTATUS_F2SOC_RESPEMPTY		(BIT(3))
40 #define FLAGINSTATUS_F2SDRAM0_RESPEMPTY		(BIT(3))
41 #define FLAGINSTATUS_F2SDRAM1_RESPEMPTY		(BIT(7))
42 #define FLAGINSTATUS_F2SDRAM2_RESPEMPTY		(BIT(11))
43 #define FLAGINSTATUS_F2S_FM_TRACKERIDLE		(BIT(4))
44 
45 #define SOCFPGA_F2SDRAMMGR(_reg)	(SOCFPGA_F2SDRAMMGR_REG_BASE \
46 						+ (SOCFPGA_F2SDRAMMGR_##_reg))
47 
48 #endif /* SOCFPGA_F2SDRAMMGR_H */
49