1 /*
2 * Copyright (c) 2020 - 2024 Renesas Electronics Corporation and/or its affiliates
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6 
7 #ifndef BSP_SLAVE_STOP_H
8 #define BSP_SLAVE_STOP_H
9 
10 /***********************************************************************************************************************
11  * Includes   <System Includes> , "Project Includes"
12  **********************************************************************************************************************/
13 
14 /** Common macro for FSP header files. There is also a corresponding FSP_FOOTER macro at the end of this file. */
15 FSP_HEADER
16 
17 /***********************************************************************************************************************
18  * Macro definitions
19  **********************************************************************************************************************/
20 #define BSP_SLAVE_STOP_SSTPCR0_SELECT    (0x04000000U)
21 #define BSP_SLAVE_STOP_SSTPCR1_SELECT    (0x04010000U)
22 #define BSP_SLAVE_STOP_SSTPCR4_SELECT    (0x00000000U)
23 #define BSP_SLAVE_STOP_SSTPCR5_SELECT    (0x00010000U)
24 #define BSP_SLAVE_STOP_SSTPCR6_SELECT    (0x00020000U)
25 #define BSP_SLAVE_STOP_SSTPCR7_SELECT    (0x00030000U)
26 
27 #define BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(req_pos, ack_pos)    (((req_pos) << 8U) | ((ack_pos) << 0U))
28 
29 /***********************************************************************************************************************
30  * Typedef definitions
31  **********************************************************************************************************************/
32 
33 /*******************************************************************************************************************//**
34  * @addtogroup BSP_MCU
35  * @{
36  **********************************************************************************************************************/
37 typedef enum e_bsp_bus_slave
38 {
39     BSP_BUS_SLAVE_DDRSS_A0_IF = (BSP_SLAVE_STOP_SSTPCR0_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(0, 1)),
40     BSP_BUS_SLAVE_DDRSS_A1_IF = (BSP_SLAVE_STOP_SSTPCR0_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(4, 5)),
41     BSP_BUS_SLAVE_DDRSS_R2_IF = (BSP_SLAVE_STOP_SSTPCR4_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(0, 1)),
42     BSP_BUS_SLAVE_DDRSS_R3_IF = (BSP_SLAVE_STOP_SSTPCR4_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(4, 5)),
43     BSP_BUS_SLAVE_DDRSS_A4_IF = (BSP_SLAVE_STOP_SSTPCR0_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(8, 9)),
44     BSP_BUS_SLAVE_PCIE0       = (BSP_SLAVE_STOP_SSTPCR1_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(0, 1)),
45     BSP_BUS_SLAVE_PCIE1       = (BSP_SLAVE_STOP_SSTPCR1_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(4, 5)),
46     BSP_BUS_SLAVE_SDHI0       = (BSP_SLAVE_STOP_SSTPCR1_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(16, 17)),
47     BSP_BUS_SLAVE_SDHI1       = (BSP_SLAVE_STOP_SSTPCR1_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(20, 21)),
48     BSP_BUS_SLAVE_GIC600      = (BSP_SLAVE_STOP_SSTPCR5_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(16, 17)),
49     BSP_BUS_SLAVE_XSPI0       = (BSP_SLAVE_STOP_SSTPCR6_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(0, 1)),
50     BSP_BUS_SLAVE_XSPI1       = (BSP_SLAVE_STOP_SSTPCR6_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(4, 5)),
51     BSP_BUS_SLAVE_CR520_AXIS  = (BSP_SLAVE_STOP_SSTPCR7_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(0, 1)),
52     BSP_BUS_SLAVE_CR521_AXIS  = (BSP_SLAVE_STOP_SSTPCR7_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(4, 5)),
53     BSP_BUS_SLAVE_DDRAPB      = (BSP_SLAVE_STOP_SSTPCR4_SELECT | BSP_SLAVE_STOP_SSTPCR_REQ_ACK_POS(8, 8)),
54 } bsp_bus_slave_t;
55 
56 /** @} (end addtogroup BSP_MCU) */
57 
58 /***********************************************************************************************************************
59  * Exported global variables
60  **********************************************************************************************************************/
61 
62 /***********************************************************************************************************************
63  * Exported global functions (to be accessed by other files)
64  **********************************************************************************************************************/
65 
66 /** Common macro for FSP header files. There is also a corresponding FSP_HEADER macro at the top of this file. */
67 FSP_FOOTER
68 
69 #endif
70