1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * Description:
8  *     TC2 System Support
9  */
10 
11 #ifndef MOD_TC2_SYSTEM_H
12 #define MOD_TC2_SYSTEM_H
13 
14 #include <mod_power_domain.h>
15 
16 /*!
17  * \addtogroup GroupTC2Module TC2 Product Modules
18  * \{
19  */
20 
21 /*!
22  * \defgroup GroupTC2System TC2 System Support
23  * \{
24  */
25 
26 /*!
27  * \brief Additional TC2 system power states.
28  */
29 enum mod_tc2_system_power_states {
30     MOD_TC2_SYSTEM_POWER_STATE_SLEEP0 = MOD_PD_STATE_COUNT,
31     MOD_TC2_SYSTEM_POWER_STATE_SLEEP1,
32     MOD_TC2_SYSTEM_POWER_STATE_COUNT
33 };
34 
35 /*!
36  * \brief System power state masks.
37  */
38 enum mod_tc2_system_power_state_masks {
39     MOD_TC2_SYSTEM_POWER_STATE_SLEEP0_MASK =
40         (1 << MOD_TC2_SYSTEM_POWER_STATE_SLEEP0),
41     MOD_TC2_SYSTEM_POWER_STATE_SLEEP1_MASK =
42         (1 << MOD_TC2_SYSTEM_POWER_STATE_SLEEP1),
43 };
44 
45 /*!
46  * \brief Indices of the interfaces exposed by the module.
47  */
48 enum mod_tc2_system_api_idx {
49     /*! API index for the driver interface of the SYSTEM POWER module */
50     MOD_TC2_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER,
51 
52     /*! Number of exposed interfaces */
53     MOD_TC2_SYSTEM_API_COUNT
54 };
55 
56 /*!
57  * \}
58  */
59 
60 /*!
61  * \}
62  */
63 
64 #endif /* MOD_TC2_SYSTEM_H */
65