1 /***************************************************************************//** 2 * \file cyip_peri_v2.h 3 * 4 * \brief 5 * PERI IP definitions 6 * 7 * \note 8 * Generator version: 1.6.0.409 9 * 10 ******************************************************************************** 11 * \copyright 12 * Copyright 2016-2020 Cypress Semiconductor Corporation 13 * SPDX-License-Identifier: Apache-2.0 14 * 15 * Licensed under the Apache License, Version 2.0 (the "License"); 16 * you may not use this file except in compliance with the License. 17 * You may obtain a copy of the License at 18 * 19 * http://www.apache.org/licenses/LICENSE-2.0 20 * 21 * Unless required by applicable law or agreed to in writing, software 22 * distributed under the License is distributed on an "AS IS" BASIS, 23 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 24 * See the License for the specific language governing permissions and 25 * limitations under the License. 26 *******************************************************************************/ 27 28 #ifndef _CYIP_PERI_V2_H_ 29 #define _CYIP_PERI_V2_H_ 30 31 #include "cyip_headers.h" 32 33 /******************************************************************************* 34 * PERI 35 *******************************************************************************/ 36 37 #define PERI_GR_V2_SECTION_SIZE 0x00000020UL 38 #define PERI_TR_GR_V2_SECTION_SIZE 0x00000400UL 39 #define PERI_TR_1TO1_GR_V2_SECTION_SIZE 0x00000400UL 40 #define PERI_V2_SECTION_SIZE 0x00010000UL 41 42 /** 43 * \brief Peripheral group structure (PERI_GR) 44 */ 45 typedef struct { 46 __IOM uint32_t CLOCK_CTL; /*!< 0x00000000 Clock control */ 47 __IM uint32_t RESERVED[3]; 48 __IOM uint32_t SL_CTL; /*!< 0x00000010 Slave control */ 49 __IM uint32_t RESERVED1[3]; 50 } PERI_GR_V2_Type; /*!< Size = 32 (0x20) */ 51 52 /** 53 * \brief Trigger group (PERI_TR_GR) 54 */ 55 typedef struct { 56 __IOM uint32_t TR_CTL[256]; /*!< 0x00000000 Trigger control register */ 57 } PERI_TR_GR_V2_Type; /*!< Size = 1024 (0x400) */ 58 59 /** 60 * \brief Trigger 1-to-1 group (PERI_TR_1TO1_GR) 61 */ 62 typedef struct { 63 __IOM uint32_t TR_CTL[256]; /*!< 0x00000000 Trigger control register */ 64 } PERI_TR_1TO1_GR_V2_Type; /*!< Size = 1024 (0x400) */ 65 66 /** 67 * \brief Peripheral interconnect (PERI) 68 */ 69 typedef struct { 70 __IM uint32_t RESERVED[128]; 71 __IOM uint32_t TIMEOUT_CTL; /*!< 0x00000200 Timeout control */ 72 __IM uint32_t RESERVED1[7]; 73 __IOM uint32_t TR_CMD; /*!< 0x00000220 Trigger command */ 74 __IM uint32_t RESERVED2[119]; 75 __IOM uint32_t DIV_CMD; /*!< 0x00000400 Divider command */ 76 __IM uint32_t RESERVED3[511]; 77 __IOM uint32_t CLOCK_CTL[256]; /*!< 0x00000C00 Clock control */ 78 __IOM uint32_t DIV_8_CTL[256]; /*!< 0x00001000 Divider control (for 8.0 divider) */ 79 __IOM uint32_t DIV_16_CTL[256]; /*!< 0x00001400 Divider control (for 16.0 divider) */ 80 __IOM uint32_t DIV_16_5_CTL[256]; /*!< 0x00001800 Divider control (for 16.5 divider) */ 81 __IOM uint32_t DIV_24_5_CTL[255]; /*!< 0x00001C00 Divider control (for 24.5 divider) */ 82 __IM uint32_t RESERVED4; 83 __IOM uint32_t ECC_CTL; /*!< 0x00002000 ECC control */ 84 __IM uint32_t RESERVED5[2047]; 85 PERI_GR_V2_Type GR[16]; /*!< 0x00004000 Peripheral group structure */ 86 __IM uint32_t RESERVED6[3968]; 87 PERI_TR_GR_V2_Type TR_GR[16]; /*!< 0x00008000 Trigger group */ 88 PERI_TR_1TO1_GR_V2_Type TR_1TO1_GR[16]; /*!< 0x0000C000 Trigger 1-to-1 group */ 89 } PERI_V2_Type; /*!< Size = 65536 (0x10000) */ 90 91 92 /* PERI_GR.CLOCK_CTL */ 93 #define PERI_GR_V2_CLOCK_CTL_INT8_DIV_Pos 8UL 94 #define PERI_GR_V2_CLOCK_CTL_INT8_DIV_Msk 0xFF00UL 95 /* PERI_GR.SL_CTL */ 96 #define PERI_GR_V2_SL_CTL_ENABLED_0_Pos 0UL 97 #define PERI_GR_V2_SL_CTL_ENABLED_0_Msk 0x1UL 98 #define PERI_GR_V2_SL_CTL_ENABLED_1_Pos 1UL 99 #define PERI_GR_V2_SL_CTL_ENABLED_1_Msk 0x2UL 100 #define PERI_GR_V2_SL_CTL_ENABLED_2_Pos 2UL 101 #define PERI_GR_V2_SL_CTL_ENABLED_2_Msk 0x4UL 102 #define PERI_GR_V2_SL_CTL_ENABLED_3_Pos 3UL 103 #define PERI_GR_V2_SL_CTL_ENABLED_3_Msk 0x8UL 104 #define PERI_GR_V2_SL_CTL_ENABLED_4_Pos 4UL 105 #define PERI_GR_V2_SL_CTL_ENABLED_4_Msk 0x10UL 106 #define PERI_GR_V2_SL_CTL_ENABLED_5_Pos 5UL 107 #define PERI_GR_V2_SL_CTL_ENABLED_5_Msk 0x20UL 108 #define PERI_GR_V2_SL_CTL_ENABLED_6_Pos 6UL 109 #define PERI_GR_V2_SL_CTL_ENABLED_6_Msk 0x40UL 110 #define PERI_GR_V2_SL_CTL_ENABLED_7_Pos 7UL 111 #define PERI_GR_V2_SL_CTL_ENABLED_7_Msk 0x80UL 112 #define PERI_GR_V2_SL_CTL_ENABLED_8_Pos 8UL 113 #define PERI_GR_V2_SL_CTL_ENABLED_8_Msk 0x100UL 114 #define PERI_GR_V2_SL_CTL_ENABLED_9_Pos 9UL 115 #define PERI_GR_V2_SL_CTL_ENABLED_9_Msk 0x200UL 116 #define PERI_GR_V2_SL_CTL_ENABLED_10_Pos 10UL 117 #define PERI_GR_V2_SL_CTL_ENABLED_10_Msk 0x400UL 118 #define PERI_GR_V2_SL_CTL_ENABLED_11_Pos 11UL 119 #define PERI_GR_V2_SL_CTL_ENABLED_11_Msk 0x800UL 120 #define PERI_GR_V2_SL_CTL_ENABLED_12_Pos 12UL 121 #define PERI_GR_V2_SL_CTL_ENABLED_12_Msk 0x1000UL 122 #define PERI_GR_V2_SL_CTL_ENABLED_13_Pos 13UL 123 #define PERI_GR_V2_SL_CTL_ENABLED_13_Msk 0x2000UL 124 #define PERI_GR_V2_SL_CTL_ENABLED_14_Pos 14UL 125 #define PERI_GR_V2_SL_CTL_ENABLED_14_Msk 0x4000UL 126 #define PERI_GR_V2_SL_CTL_ENABLED_15_Pos 15UL 127 #define PERI_GR_V2_SL_CTL_ENABLED_15_Msk 0x8000UL 128 #define PERI_GR_V2_SL_CTL_DISABLED_0_Pos 16UL 129 #define PERI_GR_V2_SL_CTL_DISABLED_0_Msk 0x10000UL 130 #define PERI_GR_V2_SL_CTL_DISABLED_1_Pos 17UL 131 #define PERI_GR_V2_SL_CTL_DISABLED_1_Msk 0x20000UL 132 #define PERI_GR_V2_SL_CTL_DISABLED_2_Pos 18UL 133 #define PERI_GR_V2_SL_CTL_DISABLED_2_Msk 0x40000UL 134 #define PERI_GR_V2_SL_CTL_DISABLED_3_Pos 19UL 135 #define PERI_GR_V2_SL_CTL_DISABLED_3_Msk 0x80000UL 136 #define PERI_GR_V2_SL_CTL_DISABLED_4_Pos 20UL 137 #define PERI_GR_V2_SL_CTL_DISABLED_4_Msk 0x100000UL 138 #define PERI_GR_V2_SL_CTL_DISABLED_5_Pos 21UL 139 #define PERI_GR_V2_SL_CTL_DISABLED_5_Msk 0x200000UL 140 #define PERI_GR_V2_SL_CTL_DISABLED_6_Pos 22UL 141 #define PERI_GR_V2_SL_CTL_DISABLED_6_Msk 0x400000UL 142 #define PERI_GR_V2_SL_CTL_DISABLED_7_Pos 23UL 143 #define PERI_GR_V2_SL_CTL_DISABLED_7_Msk 0x800000UL 144 #define PERI_GR_V2_SL_CTL_DISABLED_8_Pos 24UL 145 #define PERI_GR_V2_SL_CTL_DISABLED_8_Msk 0x1000000UL 146 #define PERI_GR_V2_SL_CTL_DISABLED_9_Pos 25UL 147 #define PERI_GR_V2_SL_CTL_DISABLED_9_Msk 0x2000000UL 148 #define PERI_GR_V2_SL_CTL_DISABLED_10_Pos 26UL 149 #define PERI_GR_V2_SL_CTL_DISABLED_10_Msk 0x4000000UL 150 #define PERI_GR_V2_SL_CTL_DISABLED_11_Pos 27UL 151 #define PERI_GR_V2_SL_CTL_DISABLED_11_Msk 0x8000000UL 152 #define PERI_GR_V2_SL_CTL_DISABLED_12_Pos 28UL 153 #define PERI_GR_V2_SL_CTL_DISABLED_12_Msk 0x10000000UL 154 #define PERI_GR_V2_SL_CTL_DISABLED_13_Pos 29UL 155 #define PERI_GR_V2_SL_CTL_DISABLED_13_Msk 0x20000000UL 156 #define PERI_GR_V2_SL_CTL_DISABLED_14_Pos 30UL 157 #define PERI_GR_V2_SL_CTL_DISABLED_14_Msk 0x40000000UL 158 #define PERI_GR_V2_SL_CTL_DISABLED_15_Pos 31UL 159 #define PERI_GR_V2_SL_CTL_DISABLED_15_Msk 0x80000000UL 160 161 162 /* PERI_TR_GR.TR_CTL */ 163 #define PERI_TR_GR_V2_TR_CTL_TR_SEL_Pos 0UL 164 #define PERI_TR_GR_V2_TR_CTL_TR_SEL_Msk 0xFFUL 165 #define PERI_TR_GR_V2_TR_CTL_TR_INV_Pos 8UL 166 #define PERI_TR_GR_V2_TR_CTL_TR_INV_Msk 0x100UL 167 #define PERI_TR_GR_V2_TR_CTL_TR_EDGE_Pos 9UL 168 #define PERI_TR_GR_V2_TR_CTL_TR_EDGE_Msk 0x200UL 169 #define PERI_TR_GR_V2_TR_CTL_DBG_FREEZE_EN_Pos 12UL 170 #define PERI_TR_GR_V2_TR_CTL_DBG_FREEZE_EN_Msk 0x1000UL 171 172 173 /* PERI_TR_1TO1_GR.TR_CTL */ 174 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_SEL_Pos 0UL 175 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_SEL_Msk 0x1UL 176 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_INV_Pos 8UL 177 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_INV_Msk 0x100UL 178 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_EDGE_Pos 9UL 179 #define PERI_TR_1TO1_GR_V2_TR_CTL_TR_EDGE_Msk 0x200UL 180 #define PERI_TR_1TO1_GR_V2_TR_CTL_DBG_FREEZE_EN_Pos 12UL 181 #define PERI_TR_1TO1_GR_V2_TR_CTL_DBG_FREEZE_EN_Msk 0x1000UL 182 183 184 /* PERI.TIMEOUT_CTL */ 185 #define PERI_V2_TIMEOUT_CTL_TIMEOUT_Pos 0UL 186 #define PERI_V2_TIMEOUT_CTL_TIMEOUT_Msk 0xFFFFUL 187 /* PERI.TR_CMD */ 188 #define PERI_V2_TR_CMD_TR_SEL_Pos 0UL 189 #define PERI_V2_TR_CMD_TR_SEL_Msk 0xFFUL 190 #define PERI_V2_TR_CMD_GROUP_SEL_Pos 8UL 191 #define PERI_V2_TR_CMD_GROUP_SEL_Msk 0x1F00UL 192 #define PERI_V2_TR_CMD_TR_EDGE_Pos 29UL 193 #define PERI_V2_TR_CMD_TR_EDGE_Msk 0x20000000UL 194 #define PERI_V2_TR_CMD_OUT_SEL_Pos 30UL 195 #define PERI_V2_TR_CMD_OUT_SEL_Msk 0x40000000UL 196 #define PERI_V2_TR_CMD_ACTIVATE_Pos 31UL 197 #define PERI_V2_TR_CMD_ACTIVATE_Msk 0x80000000UL 198 /* PERI.DIV_CMD */ 199 #define PERI_V2_DIV_CMD_DIV_SEL_Pos 0UL 200 #define PERI_V2_DIV_CMD_DIV_SEL_Msk 0xFFUL 201 #define PERI_V2_DIV_CMD_TYPE_SEL_Pos 8UL 202 #define PERI_V2_DIV_CMD_TYPE_SEL_Msk 0x300UL 203 #define PERI_V2_DIV_CMD_PA_DIV_SEL_Pos 16UL 204 #define PERI_V2_DIV_CMD_PA_DIV_SEL_Msk 0xFF0000UL 205 #define PERI_V2_DIV_CMD_PA_TYPE_SEL_Pos 24UL 206 #define PERI_V2_DIV_CMD_PA_TYPE_SEL_Msk 0x3000000UL 207 #define PERI_V2_DIV_CMD_DISABLE_Pos 30UL 208 #define PERI_V2_DIV_CMD_DISABLE_Msk 0x40000000UL 209 #define PERI_V2_DIV_CMD_ENABLE_Pos 31UL 210 #define PERI_V2_DIV_CMD_ENABLE_Msk 0x80000000UL 211 /* PERI.CLOCK_CTL */ 212 #define PERI_V2_CLOCK_CTL_DIV_SEL_Pos 0UL 213 #define PERI_V2_CLOCK_CTL_DIV_SEL_Msk 0xFFUL 214 #define PERI_V2_CLOCK_CTL_TYPE_SEL_Pos 8UL 215 #define PERI_V2_CLOCK_CTL_TYPE_SEL_Msk 0x300UL 216 /* PERI.DIV_8_CTL */ 217 #define PERI_V2_DIV_8_CTL_EN_Pos 0UL 218 #define PERI_V2_DIV_8_CTL_EN_Msk 0x1UL 219 #define PERI_V2_DIV_8_CTL_INT8_DIV_Pos 8UL 220 #define PERI_V2_DIV_8_CTL_INT8_DIV_Msk 0xFF00UL 221 /* PERI.DIV_16_CTL */ 222 #define PERI_V2_DIV_16_CTL_EN_Pos 0UL 223 #define PERI_V2_DIV_16_CTL_EN_Msk 0x1UL 224 #define PERI_V2_DIV_16_CTL_INT16_DIV_Pos 8UL 225 #define PERI_V2_DIV_16_CTL_INT16_DIV_Msk 0xFFFF00UL 226 /* PERI.DIV_16_5_CTL */ 227 #define PERI_V2_DIV_16_5_CTL_EN_Pos 0UL 228 #define PERI_V2_DIV_16_5_CTL_EN_Msk 0x1UL 229 #define PERI_V2_DIV_16_5_CTL_FRAC5_DIV_Pos 3UL 230 #define PERI_V2_DIV_16_5_CTL_FRAC5_DIV_Msk 0xF8UL 231 #define PERI_V2_DIV_16_5_CTL_INT16_DIV_Pos 8UL 232 #define PERI_V2_DIV_16_5_CTL_INT16_DIV_Msk 0xFFFF00UL 233 /* PERI.DIV_24_5_CTL */ 234 #define PERI_V2_DIV_24_5_CTL_EN_Pos 0UL 235 #define PERI_V2_DIV_24_5_CTL_EN_Msk 0x1UL 236 #define PERI_V2_DIV_24_5_CTL_FRAC5_DIV_Pos 3UL 237 #define PERI_V2_DIV_24_5_CTL_FRAC5_DIV_Msk 0xF8UL 238 #define PERI_V2_DIV_24_5_CTL_INT24_DIV_Pos 8UL 239 #define PERI_V2_DIV_24_5_CTL_INT24_DIV_Msk 0xFFFFFF00UL 240 /* PERI.ECC_CTL */ 241 #define PERI_V2_ECC_CTL_WORD_ADDR_Pos 0UL 242 #define PERI_V2_ECC_CTL_WORD_ADDR_Msk 0x7FFUL 243 #define PERI_V2_ECC_CTL_ECC_EN_Pos 16UL 244 #define PERI_V2_ECC_CTL_ECC_EN_Msk 0x10000UL 245 #define PERI_V2_ECC_CTL_ECC_INJ_EN_Pos 18UL 246 #define PERI_V2_ECC_CTL_ECC_INJ_EN_Msk 0x40000UL 247 #define PERI_V2_ECC_CTL_PARITY_Pos 24UL 248 #define PERI_V2_ECC_CTL_PARITY_Msk 0xFF000000UL 249 250 251 #endif /* _CYIP_PERI_V2_H_ */ 252 253 254 /* [] END OF FILE */ 255