aboutsummaryrefslogtreecommitdiff
path: root/product/synquacer/module/ccn512/include/mod_ccn512.h
blob: 551802bb287e254f3a945d1cf5b9a1946684846d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
 * Arm SCP/MCP Software
 * Copyright (c) 2018-2020, Arm Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef MOD_CCN512_H
#define MOD_CCN512_H

#include <internal/ccn512.h>

#include <fwk_id.h>
#include <fwk_macros.h>

#include <stdint.h>

/*!
 * \addtogroup GroupSYNQUACERModule SYNQUACER Product Modules
 * \{
 */

/*!
 * \defgroup GroupCCN512 CCN512 Driver
 *
 * \brief CCN512 device driver.
 *
 * \details This module implements a device driver for the CCN512
 *
 * \{
 */

/*
 * \brief CCN512 memory map
 */
typedef struct {
    /*!
     * \cond
     * \{
     */
    ccn5xx_mn_reg_t MN_ID_34;
    ccn5xx_dbg_reg_t DEBUG_ID_34;
    ccn5xx_region_t RESERVED0[6];
    ccn5xx_hni_reg_t HNI_ID_13;
    ccn5xx_hni_reg_t HNI_ID_34;
    ccn5xx_region_t RESERVED1[6];
    ccn5xx_sbsx_reg_t SBSX_ID_3;
    ccn5xx_sbsx_reg_t SBSX_ID_8;
    ccn5xx_sbsx_reg_t SBSX_ID_21;
    ccn5xx_sbsx_reg_t SBSX_ID_26;
    ccn5xx_region_t RESERVED2[12];
    ccn5xx_hnf_reg_t HNF_ID_2;
    ccn5xx_hnf_reg_t HNF_ID_5;
    ccn5xx_hnf_reg_t HNF_ID_6;
    ccn5xx_hnf_reg_t HNF_ID_9;
    ccn5xx_hnf_reg_t HNF_ID_20;
    ccn5xx_hnf_reg_t HNF_ID_23;
    ccn5xx_hnf_reg_t HNF_ID_24;
    ccn5xx_hnf_reg_t HNF_ID_27;
    ccn5xx_region_t RESERVED3[24];
    ccn5xx_xp_reg_t XP_ID_0;
    ccn5xx_xp_reg_t XP_ID_1;
    ccn5xx_xp_reg_t XP_ID_2;
    ccn5xx_xp_reg_t XP_ID_3;
    ccn5xx_xp_reg_t XP_ID_4;
    ccn5xx_xp_reg_t XP_ID_5;
    ccn5xx_xp_reg_t XP_ID_6;
    ccn5xx_xp_reg_t XP_ID_7;
    ccn5xx_xp_reg_t XP_ID_8;
    ccn5xx_xp_reg_t XP_ID_9;
    ccn5xx_xp_reg_t XP_ID_10;
    ccn5xx_xp_reg_t XP_ID_11;
    ccn5xx_xp_reg_t XP_ID_12;
    ccn5xx_xp_reg_t XP_ID_13;
    ccn5xx_xp_reg_t XP_ID_14;
    ccn5xx_xp_reg_t XP_ID_15;
    ccn5xx_xp_reg_t XP_ID_16;
    ccn5xx_xp_reg_t XP_ID_17;
    ccn5xx_region_t RESERVED4[47];
    ccn5xx_rni_reg_t RNI_ID_1;
    ccn5xx_region_t RESERVED5[2];
    ccn5xx_rni_reg_t RNI_ID_4;
    ccn5xx_region_t RESERVED6[2];
    ccn5xx_rni_reg_t RNI_ID_7;
    ccn5xx_region_t RESERVED7[2];
    ccn5xx_rni_reg_t RNI_ID_10;
    ccn5xx_region_t RESERVED8[8];
    ccn5xx_rni_reg_t RNI_ID_19;
    ccn5xx_region_t RESERVED9[2];
    ccn5xx_rni_reg_t RNI_ID_22;
    ccn5xx_region_t RESERVED10[2];
    ccn5xx_rni_reg_t RNI_ID_25;
    ccn5xx_region_t RESERVED11[2];
    ccn5xx_rni_reg_t RNI_ID_28;
    /*!
     * \endcond
     * \}
     */
} ccn512_reg_t;

/*!
 * \brief APIs to configure ccn512.
 */
struct mod_ccn512_api {
    /*!
     * \brief APIs to configure ccn512
     *
     * \param none
     *
     */
    void (*ccn512_exit)(void);
};

/*!
 * \brief CCN512 device configuration data.
 */
struct mod_ccn512_module_config {
    /*! Base address of the device registers */
    ccn512_reg_t *reg_base;
};

/*!
 * \}
 */

/*!
 * \}
 */

#endif /* MOD_CCN512_H */