1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2022, Linaro Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef MOD_MOCK_PPU_H
9 #define MOD_MOCK_PPU_H
10 
11 #include <stdbool.h>
12 #include <stdint.h>
13 #include <mod_power_domain.h>
14 
15 /*!
16  * \addtogroup GroupModules Modules
17  * @{
18  */
19 
20 /*!
21  * \defgroup GroupModulePPUv0 PPUv0 Driver
22  * @{
23  */
24 
25 /*!
26  * \brief Power domain PPU descriptor.
27  */
28 struct mod_mock_ppu {
29     /*! Base address of the PPU registers */
30     uintptr_t reg_base;
31 
32     /*! PPU's IRQ number */
33     unsigned int irq;
34 };
35 
36 /*!
37  * \brief Configuration data of a power domain of the PPU_V0 driver module.
38  */
39 struct mod_mock_ppu_pd_config {
40     /*! Power domain type */
41     enum mod_pd_type pd_type;
42 
43     /*! PPU descriptor */
44     struct mod_mock_ppu ppu;
45 
46     /*!
47      * Flag indicating if this domain should be powered on during element init.
48      */
49     bool default_power_on;
50 };
51 
52 /*!
53  * @}
54  */
55 
56 /*!
57  * @}
58  */
59 
60 #endif /* MOD_PPU_V0_H */
61