1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * Description:
8  *     JUNO Reset Domain module.
9  */
10 
11 #ifndef MOD_JUNO_RESET_DOMAIN_H
12 #define MOD_JUNO_RESET_DOMAIN_H
13 
14 #include <fwk_id.h>
15 #include <stdint.h>
16 
17 /*!
18  * \addtogroup GroupModules Modules
19  * \{
20  */
21 
22 /*!
23  * \defgroup GroupJUNORESET JUNO RESET DOMAIN
24  *
25  * \{
26  */
27 
28 /*!
29  * \brief Juno Reset domain indexes.
30  *
31  */
32 enum juno_reset_domain_idx {
33     /*! UART element index. */
34     JUNO_RESET_DOMAIN_IDX_UART,
35 
36     /*! Number of defined elements */
37     JUNO_RESET_DOMAIN_IDX_COUNT,
38 };
39 
40 /*!
41  * \brief Element configuration.
42  */
43 struct mod_juno_reset_uart_config {
44     /*! Address of Juno VSYS Manual Reset Register.*/
45     volatile uint32_t *reset_reg;
46 
47     /*! Bit Mask to enable/clear reset of the device in VSYS manual reset
48      *  register.
49      */
50     unsigned int  reset_mask;
51 };
52 
53 /*!
54  * \brief Juno Reset Domain API indices.
55  */
56 enum mod_juno_reset_domain_api_idx {
57     /*! Index of the driver API */
58     MOD_JUNO_RESET_DOMAIN_API_IDX_DRIVER,
59 
60     /*! Number of APIs for the Juno reset domain driver module */
61     MOD_JUNO_RESET_DOMAIN_API_IDX_COUNT,
62 };
63 
64 /*!
65  * \}
66  */
67 
68 /*!
69  * \}
70  */
71 
72 #endif  /* MOD_JUNO_RESET_DOMAIN_DEBUG_H */
73