1 /***************************************************************************//**
2 * \file cyip_mxcordic_1_0.h
3 *
4 * \brief
5 * MXCORDIC_1_0 IP definitions
6 *
7 ********************************************************************************
8 * \copyright
9 * (c) (2016-2024), Cypress Semiconductor Corporation (an Infineon company) or
10 * an affiliate of Cypress Semiconductor Corporation.
11 *
12 * SPDX-License-Identifier: Apache-2.0
13 *
14 * Licensed under the Apache License, Version 2.0 (the "License");
15 * you may not use this file except in compliance with the License.
16 * You may obtain a copy of the License at
17 *
18 *     http://www.apache.org/licenses/LICENSE-2.0
19 *
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS" BASIS,
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 * See the License for the specific language governing permissions and
24 * limitations under the License.
25 *******************************************************************************/
26 
27 #ifndef _CYIP_MXCORDIC_1_0_H_
28 #define _CYIP_MXCORDIC_1_0_H_
29 
30 #include "cyip_headers.h"
31 
32 /*******************************************************************************
33 *                                 MXCORDIC_1_0
34 *******************************************************************************/
35 
36 #define MXCORDIC_1_0_SECTION_SIZE               0x00010000UL
37 
38 /**
39   * \brief N/A (MXCORDIC_1_0)
40   */
41 typedef struct {
42   __IOM uint32_t CTL;                           /*!< 0x00000000 N/A */
43    __IM uint32_t RESERVED;
44    __IM uint32_t ID;                            /*!< 0x00000008 Module Identification Register */
45    __IM uint32_t RESERVED1;
46   __IOM uint32_t INTR;                          /*!< 0x00000010 Interrupt Cause Register */
47   __IOM uint32_t INTR_SET;                      /*!< 0x00000014 Interrupt Set Register */
48   __IOM uint32_t INTR_MASK;                     /*!< 0x00000018 Interrupt Mask Register */
49    __IM uint32_t INTR_MASKED;                   /*!< 0x0000001C Interrupt Masked Register */
50    __IM uint32_t RESERVED2[8];
51   __IOM uint32_t KEEP;                          /*!< 0x00000040 CORDIC Keep Register */
52   __IOM uint32_t CON;                           /*!< 0x00000044 CORDIC Control Register */
53   __IOM uint32_t CORDX;                         /*!< 0x00000048 CORDIC X Data Register */
54   __IOM uint32_t CORDY;                         /*!< 0x0000004C CORDIC Y Data Register */
55   __IOM uint32_t CORDZ;                         /*!< 0x00000050 CORDIC Z Data Register */
56    __IM uint32_t CORRX;                         /*!< 0x00000054 CORDIC X Result Register */
57    __IM uint32_t CORRY;                         /*!< 0x00000058 CORDIC Y Result Register */
58    __IM uint32_t CORRZ;                         /*!< 0x0000005C CORDIC Z Result Register */
59    __IM uint32_t STAT;                          /*!< 0x00000060 CORDIC Status Register */
60   __IOM uint32_t START_CMD;                     /*!< 0x00000064 CORDIC Start Command Register */
61 } MXCORDIC_1_0_Type;                            /*!< Size = 104 (0x68) */
62 
63 
64 /* MXCORDIC_1_0.CTL */
65 #define MXCORDIC_1_0_CTL_ENABLED_Pos            31UL
66 #define MXCORDIC_1_0_CTL_ENABLED_Msk            0x80000000UL
67 /* MXCORDIC_1_0.ID */
68 #define MXCORDIC_1_0_ID_MOD_REV_Pos             0UL
69 #define MXCORDIC_1_0_ID_MOD_REV_Msk             0xFFUL
70 #define MXCORDIC_1_0_ID_MOD_TYPE_Pos            8UL
71 #define MXCORDIC_1_0_ID_MOD_TYPE_Msk            0xFF00UL
72 #define MXCORDIC_1_0_ID_MOD_NUMBER_Pos          16UL
73 #define MXCORDIC_1_0_ID_MOD_NUMBER_Msk          0xFFFF0000UL
74 /* MXCORDIC_1_0.INTR */
75 #define MXCORDIC_1_0_INTR_CDEOC_Pos             2UL
76 #define MXCORDIC_1_0_INTR_CDEOC_Msk             0x4UL
77 #define MXCORDIC_1_0_INTR_CDERR_Pos             3UL
78 #define MXCORDIC_1_0_INTR_CDERR_Msk             0x8UL
79 /* MXCORDIC_1_0.INTR_SET */
80 #define MXCORDIC_1_0_INTR_SET_CDEOC_Pos         2UL
81 #define MXCORDIC_1_0_INTR_SET_CDEOC_Msk         0x4UL
82 #define MXCORDIC_1_0_INTR_SET_CDERR_Pos         3UL
83 #define MXCORDIC_1_0_INTR_SET_CDERR_Msk         0x8UL
84 /* MXCORDIC_1_0.INTR_MASK */
85 #define MXCORDIC_1_0_INTR_MASK_CDEOC_Pos        2UL
86 #define MXCORDIC_1_0_INTR_MASK_CDEOC_Msk        0x4UL
87 #define MXCORDIC_1_0_INTR_MASK_CDERR_Pos        3UL
88 #define MXCORDIC_1_0_INTR_MASK_CDERR_Msk        0x8UL
89 /* MXCORDIC_1_0.INTR_MASKED */
90 #define MXCORDIC_1_0_INTR_MASKED_CDEOC_Pos      2UL
91 #define MXCORDIC_1_0_INTR_MASKED_CDEOC_Msk      0x4UL
92 #define MXCORDIC_1_0_INTR_MASKED_CDERR_Pos      3UL
93 #define MXCORDIC_1_0_INTR_MASKED_CDERR_Msk      0x8UL
94 /* MXCORDIC_1_0.KEEP */
95 #define MXCORDIC_1_0_KEEP_KEEPX_Pos             5UL
96 #define MXCORDIC_1_0_KEEP_KEEPX_Msk             0x20UL
97 #define MXCORDIC_1_0_KEEP_KEEPY_Pos             6UL
98 #define MXCORDIC_1_0_KEEP_KEEPY_Msk             0x40UL
99 #define MXCORDIC_1_0_KEEP_KEEPZ_Pos             7UL
100 #define MXCORDIC_1_0_KEEP_KEEPZ_Msk             0x80UL
101 /* MXCORDIC_1_0.CON */
102 #define MXCORDIC_1_0_CON_MODE_Pos               1UL
103 #define MXCORDIC_1_0_CON_MODE_Msk               0x6UL
104 #define MXCORDIC_1_0_CON_ROTVEC_Pos             3UL
105 #define MXCORDIC_1_0_CON_ROTVEC_Msk             0x8UL
106 #define MXCORDIC_1_0_CON_ST_MODE_Pos            4UL
107 #define MXCORDIC_1_0_CON_ST_MODE_Msk            0x10UL
108 #define MXCORDIC_1_0_CON_X_USIGN_Pos            5UL
109 #define MXCORDIC_1_0_CON_X_USIGN_Msk            0x20UL
110 #define MXCORDIC_1_0_CON_MPS_Pos                6UL
111 #define MXCORDIC_1_0_CON_MPS_Msk                0xC0UL
112 #define MXCORDIC_1_0_CON_N_ITER_Pos             8UL
113 #define MXCORDIC_1_0_CON_N_ITER_Msk             0x700UL
114 /* MXCORDIC_1_0.CORDX */
115 #define MXCORDIC_1_0_CORDX_DATA_Pos             8UL
116 #define MXCORDIC_1_0_CORDX_DATA_Msk             0xFFFFFF00UL
117 /* MXCORDIC_1_0.CORDY */
118 #define MXCORDIC_1_0_CORDY_DATA_Pos             8UL
119 #define MXCORDIC_1_0_CORDY_DATA_Msk             0xFFFFFF00UL
120 /* MXCORDIC_1_0.CORDZ */
121 #define MXCORDIC_1_0_CORDZ_DATA_Pos             8UL
122 #define MXCORDIC_1_0_CORDZ_DATA_Msk             0xFFFFFF00UL
123 /* MXCORDIC_1_0.CORRX */
124 #define MXCORDIC_1_0_CORRX_RESULT_Pos           8UL
125 #define MXCORDIC_1_0_CORRX_RESULT_Msk           0xFFFFFF00UL
126 /* MXCORDIC_1_0.CORRY */
127 #define MXCORDIC_1_0_CORRY_RESULT_Pos           8UL
128 #define MXCORDIC_1_0_CORRY_RESULT_Msk           0xFFFFFF00UL
129 /* MXCORDIC_1_0.CORRZ */
130 #define MXCORDIC_1_0_CORRZ_RESULT_Pos           8UL
131 #define MXCORDIC_1_0_CORRZ_RESULT_Msk           0xFFFFFF00UL
132 /* MXCORDIC_1_0.STAT */
133 #define MXCORDIC_1_0_STAT_BSY_Pos               0UL
134 #define MXCORDIC_1_0_STAT_BSY_Msk               0x1UL
135 /* MXCORDIC_1_0.START_CMD */
136 #define MXCORDIC_1_0_START_CMD_ST_Pos           0UL
137 #define MXCORDIC_1_0_START_CMD_ST_Msk           0x1UL
138 
139 
140 #endif /* _CYIP_MXCORDIC_1_0_H_ */
141 
142 
143 /* [] END OF FILE */
144