1 /* 2 * Copyright 1997-2016 Freescale Semiconductor, Inc. 3 * Copyright 2016-2024 NXP 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 /*! 9 * @file S32Z2_I3C.h 10 * @version 2.3 11 * @date 2024-05-03 12 * @brief Peripheral Access Layer for S32Z2_I3C 13 * 14 * This file contains register definitions and macros for easy access to their 15 * bit fields. 16 * 17 * This file assumes LITTLE endian system. 18 */ 19 20 /** 21 * @page misra_violations MISRA-C:2012 violations 22 * 23 * @section [global] 24 * Violates MISRA 2012 Advisory Rule 2.3, local typedef not referenced 25 * The SoC header defines typedef for all modules. 26 * 27 * @section [global] 28 * Violates MISRA 2012 Advisory Rule 2.5, local macro not referenced 29 * The SoC header defines macros for all modules and registers. 30 * 31 * @section [global] 32 * Violates MISRA 2012 Advisory Directive 4.9, Function-like macro 33 * These are generated macros used for accessing the bit-fields from registers. 34 * 35 * @section [global] 36 * Violates MISRA 2012 Required Rule 5.1, identifier clash 37 * The supported compilers use more than 31 significant characters for identifiers. 38 * 39 * @section [global] 40 * Violates MISRA 2012 Required Rule 5.2, identifier clash 41 * The supported compilers use more than 31 significant characters for identifiers. 42 * 43 * @section [global] 44 * Violates MISRA 2012 Required Rule 5.4, identifier clash 45 * The supported compilers use more than 31 significant characters for identifiers. 46 * 47 * @section [global] 48 * Violates MISRA 2012 Required Rule 5.5, identifier clash 49 * The supported compilers use more than 31 significant characters for identifiers. 50 * 51 * @section [global] 52 * Violates MISRA 2012 Required Rule 21.1, defined macro '__I' is reserved to the compiler 53 * This type qualifier is needed to ensure correct I/O access and addressing. 54 */ 55 56 /* Prevention from multiple including the same memory map */ 57 #if !defined(S32Z2_I3C_H_) /* Check if memory map has not been already included */ 58 #define S32Z2_I3C_H_ 59 60 #include "S32Z2_COMMON.h" 61 62 /* ---------------------------------------------------------------------------- 63 -- I3C Peripheral Access Layer 64 ---------------------------------------------------------------------------- */ 65 66 /*! 67 * @addtogroup I3C_Peripheral_Access_Layer I3C Peripheral Access Layer 68 * @{ 69 */ 70 71 /** I3C - Register Layout Typedef */ 72 typedef struct { 73 __IO uint32_t MCONFIG; /**< Controller Configuration, offset: 0x0 */ 74 __IO uint32_t SCONFIG; /**< Target Configuration, offset: 0x4 */ 75 __IO uint32_t SSTATUS; /**< Target Status, offset: 0x8 */ 76 uint8_t RESERVED_0[4]; 77 __IO uint32_t SINTSET; /**< Target Interrupt Set, offset: 0x10 */ 78 __IO uint32_t SINTCLR; /**< Target Interrupt Clear, offset: 0x14 */ 79 __I uint32_t SINTMASKED; /**< Target Interrupt Mask, offset: 0x18 */ 80 __IO uint32_t SERRWARN; /**< Target Errors and Warnings, offset: 0x1C */ 81 __IO uint32_t SDMACTRL; /**< Target DMA Control, offset: 0x20 */ 82 uint8_t RESERVED_1[8]; 83 __IO uint32_t SDATACTRL; /**< Target Data Control, offset: 0x2C */ 84 __O uint32_t SWDATAB; /**< Target Write Data Byte, offset: 0x30 */ 85 __O uint32_t SWDATABE; /**< Target Write Data Byte End, offset: 0x34 */ 86 __O uint32_t SWDATAH; /**< Target Write Data Halfword, offset: 0x38 */ 87 __O uint32_t SWDATAHE; /**< Target Write Data Halfword End, offset: 0x3C */ 88 __I uint32_t SRDATAB; /**< Target Read Data Byte, offset: 0x40 */ 89 uint8_t RESERVED_2[4]; 90 union { /* offset: 0x48 */ 91 __I uint32_t MRDATAH; /**< Controller Read Data Halfword, offset: 0x48 */ 92 __I uint32_t SRDATAH; /**< Target Read Data Halfword, offset: 0x48 */ 93 } SRDATAH_MRDATAH; 94 uint8_t RESERVED_3[8]; 95 union { /* offset: 0x54 */ 96 __O uint32_t SWDATAB1; /**< Target Write Data Byte, offset: 0x54 */ 97 } SWDATA_B_H; 98 uint8_t RESERVED_4[4]; 99 __I uint32_t SCAPABILITIES2; /**< Target Capabilities 2, offset: 0x5C */ 100 __I uint32_t SCAPABILITIES; /**< Target Capabilities, offset: 0x60 */ 101 uint8_t RESERVED_5[12]; 102 uint32_t SIDEXT; /**< Target ID Extension, offset: 0x70 */ 103 uint8_t RESERVED_6[8]; 104 __I uint32_t SMSGLAST; /**< Target Message Last Matched, offset: 0x7C */ 105 uint32_t MCONFIG_EXT; /**< Controller Extended Configuration, offset: 0x80 */ 106 __IO uint32_t MCTRL; /**< Controller Control, offset: 0x84 */ 107 __IO uint32_t MSTATUS; /**< Controller Status, offset: 0x88 */ 108 uint8_t RESERVED_7[4]; 109 __IO uint32_t MINTSET; /**< Controller Interrupt Set, offset: 0x90 */ 110 __IO uint32_t MINTCLR; /**< Controller Interrupt Clear, offset: 0x94 */ 111 __I uint32_t MINTMASKED; /**< Controller Interrupt Mask, offset: 0x98 */ 112 __IO uint32_t MERRWARN; /**< Controller Errors and Warnings, offset: 0x9C */ 113 __IO uint32_t MDMACTRL; /**< Controller DMA Control, offset: 0xA0 */ 114 uint8_t RESERVED_8[8]; 115 __IO uint32_t MDATACTRL; /**< Controller Data Control, offset: 0xAC */ 116 __O uint32_t MWDATAB; /**< Controller Write Data Byte, offset: 0xB0 */ 117 __O uint32_t MWDATABE; /**< Controller Write Data Byte End, offset: 0xB4 */ 118 __O uint32_t MWDATAH; /**< Controller Write Data Halfword, offset: 0xB8 */ 119 __O uint32_t MWDATAHE; /**< Controller Write Data Halfword End, offset: 0xBC */ 120 __I uint32_t MRDATAB; /**< Controller Read Data Byte, offset: 0xC0 */ 121 uint8_t RESERVED_9[8]; 122 union { /* offset: 0xCC */ 123 __O uint32_t MWDATAB1; /**< Controller Write Byte Data 1 (to Bus), offset: 0xCC */ 124 } MWDATA_B1_H1; 125 union { /* offset: 0xD0 */ 126 __O uint32_t MWMSG_SDR_CONTROL; /**< Controller Write Message Control in SDR mode, offset: 0xD0 */ 127 __O uint32_t MWMSG_SDR_DATA; /**< Controller Write Message Data in SDR mode, offset: 0xD0 */ 128 } MWMSG_SDR; 129 __I uint32_t MRMSG_SDR; /**< Controller Read Message in SDR mode, offset: 0xD4 */ 130 uint8_t RESERVED_10[72]; 131 __IO uint32_t SMAPCTRL1; /**< Map Feature Control 1, offset: 0x120 */ 132 uint8_t RESERVED_11[3788]; 133 __IO uint32_t SELFRESET; /**< Self Reset, offset: 0xFF0 */ 134 } I3C_Type, *I3C_MemMapPtr; 135 136 /** Number of instances of the I3C module. */ 137 #define I3C_INSTANCE_COUNT (1u) 138 139 /* I3C - Peripheral instance base addresses */ 140 /** Peripheral I3C_0 base address */ 141 #define IP_I3C_0_BASE (0x401D0000u) 142 /** Peripheral I3C_0 base pointer */ 143 #define IP_I3C_0 ((I3C_Type *)IP_I3C_0_BASE) 144 /** Array initializer of I3C peripheral base addresses */ 145 #define IP_I3C_BASE_ADDRS { IP_I3C_0_BASE } 146 /** Array initializer of I3C peripheral base pointers */ 147 #define IP_I3C_BASE_PTRS { IP_I3C_0 } 148 149 /* ---------------------------------------------------------------------------- 150 -- I3C Register Masks 151 ---------------------------------------------------------------------------- */ 152 153 /*! 154 * @addtogroup I3C_Register_Masks I3C Register Masks 155 * @{ 156 */ 157 158 /*! @name MCONFIG - Controller Configuration */ 159 /*! @{ */ 160 161 #define I3C_MCONFIG_MSTENA_MASK (0x3U) 162 #define I3C_MCONFIG_MSTENA_SHIFT (0U) 163 #define I3C_MCONFIG_MSTENA_WIDTH (2U) 164 #define I3C_MCONFIG_MSTENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_MSTENA_SHIFT)) & I3C_MCONFIG_MSTENA_MASK) 165 166 #define I3C_MCONFIG_DISTO_MASK (0x8U) 167 #define I3C_MCONFIG_DISTO_SHIFT (3U) 168 #define I3C_MCONFIG_DISTO_WIDTH (1U) 169 #define I3C_MCONFIG_DISTO(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_DISTO_SHIFT)) & I3C_MCONFIG_DISTO_MASK) 170 171 #define I3C_MCONFIG_HKEEP_MASK (0x30U) 172 #define I3C_MCONFIG_HKEEP_SHIFT (4U) 173 #define I3C_MCONFIG_HKEEP_WIDTH (2U) 174 #define I3C_MCONFIG_HKEEP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_HKEEP_SHIFT)) & I3C_MCONFIG_HKEEP_MASK) 175 176 #define I3C_MCONFIG_PPBAUD_MASK (0xF00U) 177 #define I3C_MCONFIG_PPBAUD_SHIFT (8U) 178 #define I3C_MCONFIG_PPBAUD_WIDTH (4U) 179 #define I3C_MCONFIG_PPBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_PPBAUD_SHIFT)) & I3C_MCONFIG_PPBAUD_MASK) 180 181 #define I3C_MCONFIG_PPLOW_MASK (0xF000U) 182 #define I3C_MCONFIG_PPLOW_SHIFT (12U) 183 #define I3C_MCONFIG_PPLOW_WIDTH (4U) 184 #define I3C_MCONFIG_PPLOW(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_PPLOW_SHIFT)) & I3C_MCONFIG_PPLOW_MASK) 185 186 #define I3C_MCONFIG_ODBAUD_MASK (0xFF0000U) 187 #define I3C_MCONFIG_ODBAUD_SHIFT (16U) 188 #define I3C_MCONFIG_ODBAUD_WIDTH (8U) 189 #define I3C_MCONFIG_ODBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_ODBAUD_SHIFT)) & I3C_MCONFIG_ODBAUD_MASK) 190 191 #define I3C_MCONFIG_SKEW_MASK (0xE000000U) 192 #define I3C_MCONFIG_SKEW_SHIFT (25U) 193 #define I3C_MCONFIG_SKEW_WIDTH (3U) 194 #define I3C_MCONFIG_SKEW(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_SKEW_SHIFT)) & I3C_MCONFIG_SKEW_MASK) 195 196 #define I3C_MCONFIG_I2CBAUD_MASK (0xF0000000U) 197 #define I3C_MCONFIG_I2CBAUD_SHIFT (28U) 198 #define I3C_MCONFIG_I2CBAUD_WIDTH (4U) 199 #define I3C_MCONFIG_I2CBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_I2CBAUD_SHIFT)) & I3C_MCONFIG_I2CBAUD_MASK) 200 /*! @} */ 201 202 /*! @name SCONFIG - Target Configuration */ 203 /*! @{ */ 204 205 #define I3C_SCONFIG_SLVENA_MASK (0x1U) 206 #define I3C_SCONFIG_SLVENA_SHIFT (0U) 207 #define I3C_SCONFIG_SLVENA_WIDTH (1U) 208 #define I3C_SCONFIG_SLVENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_SLVENA_SHIFT)) & I3C_SCONFIG_SLVENA_MASK) 209 210 #define I3C_SCONFIG_NACK_MASK (0x2U) 211 #define I3C_SCONFIG_NACK_SHIFT (1U) 212 #define I3C_SCONFIG_NACK_WIDTH (1U) 213 #define I3C_SCONFIG_NACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_NACK_SHIFT)) & I3C_SCONFIG_NACK_MASK) 214 215 #define I3C_SCONFIG_MATCHSS_MASK (0x4U) 216 #define I3C_SCONFIG_MATCHSS_SHIFT (2U) 217 #define I3C_SCONFIG_MATCHSS_WIDTH (1U) 218 #define I3C_SCONFIG_MATCHSS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_MATCHSS_SHIFT)) & I3C_SCONFIG_MATCHSS_MASK) 219 220 #define I3C_SCONFIG_BAMATCH_MASK (0x3F0000U) 221 #define I3C_SCONFIG_BAMATCH_SHIFT (16U) 222 #define I3C_SCONFIG_BAMATCH_WIDTH (6U) 223 #define I3C_SCONFIG_BAMATCH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_BAMATCH_SHIFT)) & I3C_SCONFIG_BAMATCH_MASK) 224 225 #define I3C_SCONFIG_SADDR_MASK (0xFE000000U) 226 #define I3C_SCONFIG_SADDR_SHIFT (25U) 227 #define I3C_SCONFIG_SADDR_WIDTH (7U) 228 #define I3C_SCONFIG_SADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_SADDR_SHIFT)) & I3C_SCONFIG_SADDR_MASK) 229 /*! @} */ 230 231 /*! @name SSTATUS - Target Status */ 232 /*! @{ */ 233 234 #define I3C_SSTATUS_STNOTSTOP_MASK (0x1U) 235 #define I3C_SSTATUS_STNOTSTOP_SHIFT (0U) 236 #define I3C_SSTATUS_STNOTSTOP_WIDTH (1U) 237 #define I3C_SSTATUS_STNOTSTOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STNOTSTOP_SHIFT)) & I3C_SSTATUS_STNOTSTOP_MASK) 238 239 #define I3C_SSTATUS_STMSG_MASK (0x2U) 240 #define I3C_SSTATUS_STMSG_SHIFT (1U) 241 #define I3C_SSTATUS_STMSG_WIDTH (1U) 242 #define I3C_SSTATUS_STMSG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STMSG_SHIFT)) & I3C_SSTATUS_STMSG_MASK) 243 244 #define I3C_SSTATUS_STREQRD_MASK (0x8U) 245 #define I3C_SSTATUS_STREQRD_SHIFT (3U) 246 #define I3C_SSTATUS_STREQRD_WIDTH (1U) 247 #define I3C_SSTATUS_STREQRD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STREQRD_SHIFT)) & I3C_SSTATUS_STREQRD_MASK) 248 249 #define I3C_SSTATUS_STREQWR_MASK (0x10U) 250 #define I3C_SSTATUS_STREQWR_SHIFT (4U) 251 #define I3C_SSTATUS_STREQWR_WIDTH (1U) 252 #define I3C_SSTATUS_STREQWR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STREQWR_SHIFT)) & I3C_SSTATUS_STREQWR_MASK) 253 254 #define I3C_SSTATUS_START_MASK (0x100U) 255 #define I3C_SSTATUS_START_SHIFT (8U) 256 #define I3C_SSTATUS_START_WIDTH (1U) 257 #define I3C_SSTATUS_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_START_SHIFT)) & I3C_SSTATUS_START_MASK) 258 259 #define I3C_SSTATUS_MATCHED_MASK (0x200U) 260 #define I3C_SSTATUS_MATCHED_SHIFT (9U) 261 #define I3C_SSTATUS_MATCHED_WIDTH (1U) 262 #define I3C_SSTATUS_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_MATCHED_SHIFT)) & I3C_SSTATUS_MATCHED_MASK) 263 264 #define I3C_SSTATUS_STOP_MASK (0x400U) 265 #define I3C_SSTATUS_STOP_SHIFT (10U) 266 #define I3C_SSTATUS_STOP_WIDTH (1U) 267 #define I3C_SSTATUS_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STOP_SHIFT)) & I3C_SSTATUS_STOP_MASK) 268 269 #define I3C_SSTATUS_RX_PEND_MASK (0x800U) 270 #define I3C_SSTATUS_RX_PEND_SHIFT (11U) 271 #define I3C_SSTATUS_RX_PEND_WIDTH (1U) 272 #define I3C_SSTATUS_RX_PEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_RX_PEND_SHIFT)) & I3C_SSTATUS_RX_PEND_MASK) 273 274 #define I3C_SSTATUS_TXNOTFULL_MASK (0x1000U) 275 #define I3C_SSTATUS_TXNOTFULL_SHIFT (12U) 276 #define I3C_SSTATUS_TXNOTFULL_WIDTH (1U) 277 #define I3C_SSTATUS_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_TXNOTFULL_SHIFT)) & I3C_SSTATUS_TXNOTFULL_MASK) 278 279 #define I3C_SSTATUS_ERRWARN_MASK (0x8000U) 280 #define I3C_SSTATUS_ERRWARN_SHIFT (15U) 281 #define I3C_SSTATUS_ERRWARN_WIDTH (1U) 282 #define I3C_SSTATUS_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_ERRWARN_SHIFT)) & I3C_SSTATUS_ERRWARN_MASK) 283 /*! @} */ 284 285 /*! @name SINTSET - Target Interrupt Set */ 286 /*! @{ */ 287 288 #define I3C_SINTSET_START_MASK (0x100U) 289 #define I3C_SINTSET_START_SHIFT (8U) 290 #define I3C_SINTSET_START_WIDTH (1U) 291 #define I3C_SINTSET_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_START_SHIFT)) & I3C_SINTSET_START_MASK) 292 293 #define I3C_SINTSET_MATCHED_MASK (0x200U) 294 #define I3C_SINTSET_MATCHED_SHIFT (9U) 295 #define I3C_SINTSET_MATCHED_WIDTH (1U) 296 #define I3C_SINTSET_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_MATCHED_SHIFT)) & I3C_SINTSET_MATCHED_MASK) 297 298 #define I3C_SINTSET_STOP_MASK (0x400U) 299 #define I3C_SINTSET_STOP_SHIFT (10U) 300 #define I3C_SINTSET_STOP_WIDTH (1U) 301 #define I3C_SINTSET_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_STOP_SHIFT)) & I3C_SINTSET_STOP_MASK) 302 303 #define I3C_SINTSET_RXPEND_MASK (0x800U) 304 #define I3C_SINTSET_RXPEND_SHIFT (11U) 305 #define I3C_SINTSET_RXPEND_WIDTH (1U) 306 #define I3C_SINTSET_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_RXPEND_SHIFT)) & I3C_SINTSET_RXPEND_MASK) 307 308 #define I3C_SINTSET_TXSEND_MASK (0x1000U) 309 #define I3C_SINTSET_TXSEND_SHIFT (12U) 310 #define I3C_SINTSET_TXSEND_WIDTH (1U) 311 #define I3C_SINTSET_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_TXSEND_SHIFT)) & I3C_SINTSET_TXSEND_MASK) 312 313 #define I3C_SINTSET_ERRWARN_MASK (0x8000U) 314 #define I3C_SINTSET_ERRWARN_SHIFT (15U) 315 #define I3C_SINTSET_ERRWARN_WIDTH (1U) 316 #define I3C_SINTSET_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_ERRWARN_SHIFT)) & I3C_SINTSET_ERRWARN_MASK) 317 /*! @} */ 318 319 /*! @name SINTCLR - Target Interrupt Clear */ 320 /*! @{ */ 321 322 #define I3C_SINTCLR_START_MASK (0x100U) 323 #define I3C_SINTCLR_START_SHIFT (8U) 324 #define I3C_SINTCLR_START_WIDTH (1U) 325 #define I3C_SINTCLR_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_START_SHIFT)) & I3C_SINTCLR_START_MASK) 326 327 #define I3C_SINTCLR_MATCHED_MASK (0x200U) 328 #define I3C_SINTCLR_MATCHED_SHIFT (9U) 329 #define I3C_SINTCLR_MATCHED_WIDTH (1U) 330 #define I3C_SINTCLR_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_MATCHED_SHIFT)) & I3C_SINTCLR_MATCHED_MASK) 331 332 #define I3C_SINTCLR_STOP_MASK (0x400U) 333 #define I3C_SINTCLR_STOP_SHIFT (10U) 334 #define I3C_SINTCLR_STOP_WIDTH (1U) 335 #define I3C_SINTCLR_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_STOP_SHIFT)) & I3C_SINTCLR_STOP_MASK) 336 337 #define I3C_SINTCLR_RXPEND_MASK (0x800U) 338 #define I3C_SINTCLR_RXPEND_SHIFT (11U) 339 #define I3C_SINTCLR_RXPEND_WIDTH (1U) 340 #define I3C_SINTCLR_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_RXPEND_SHIFT)) & I3C_SINTCLR_RXPEND_MASK) 341 342 #define I3C_SINTCLR_TXSEND_MASK (0x1000U) 343 #define I3C_SINTCLR_TXSEND_SHIFT (12U) 344 #define I3C_SINTCLR_TXSEND_WIDTH (1U) 345 #define I3C_SINTCLR_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_TXSEND_SHIFT)) & I3C_SINTCLR_TXSEND_MASK) 346 347 #define I3C_SINTCLR_ERRWARN_MASK (0x8000U) 348 #define I3C_SINTCLR_ERRWARN_SHIFT (15U) 349 #define I3C_SINTCLR_ERRWARN_WIDTH (1U) 350 #define I3C_SINTCLR_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_ERRWARN_SHIFT)) & I3C_SINTCLR_ERRWARN_MASK) 351 /*! @} */ 352 353 /*! @name SINTMASKED - Target Interrupt Mask */ 354 /*! @{ */ 355 356 #define I3C_SINTMASKED_START_MASK (0x100U) 357 #define I3C_SINTMASKED_START_SHIFT (8U) 358 #define I3C_SINTMASKED_START_WIDTH (1U) 359 #define I3C_SINTMASKED_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_START_SHIFT)) & I3C_SINTMASKED_START_MASK) 360 361 #define I3C_SINTMASKED_MATCHED_MASK (0x200U) 362 #define I3C_SINTMASKED_MATCHED_SHIFT (9U) 363 #define I3C_SINTMASKED_MATCHED_WIDTH (1U) 364 #define I3C_SINTMASKED_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_MATCHED_SHIFT)) & I3C_SINTMASKED_MATCHED_MASK) 365 366 #define I3C_SINTMASKED_STOP_MASK (0x400U) 367 #define I3C_SINTMASKED_STOP_SHIFT (10U) 368 #define I3C_SINTMASKED_STOP_WIDTH (1U) 369 #define I3C_SINTMASKED_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_STOP_SHIFT)) & I3C_SINTMASKED_STOP_MASK) 370 371 #define I3C_SINTMASKED_RXPEND_MASK (0x800U) 372 #define I3C_SINTMASKED_RXPEND_SHIFT (11U) 373 #define I3C_SINTMASKED_RXPEND_WIDTH (1U) 374 #define I3C_SINTMASKED_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_RXPEND_SHIFT)) & I3C_SINTMASKED_RXPEND_MASK) 375 376 #define I3C_SINTMASKED_TXSEND_MASK (0x1000U) 377 #define I3C_SINTMASKED_TXSEND_SHIFT (12U) 378 #define I3C_SINTMASKED_TXSEND_WIDTH (1U) 379 #define I3C_SINTMASKED_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_TXSEND_SHIFT)) & I3C_SINTMASKED_TXSEND_MASK) 380 381 #define I3C_SINTMASKED_ERRWARN_MASK (0x8000U) 382 #define I3C_SINTMASKED_ERRWARN_SHIFT (15U) 383 #define I3C_SINTMASKED_ERRWARN_WIDTH (1U) 384 #define I3C_SINTMASKED_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_ERRWARN_SHIFT)) & I3C_SINTMASKED_ERRWARN_MASK) 385 /*! @} */ 386 387 /*! @name SERRWARN - Target Errors and Warnings */ 388 /*! @{ */ 389 390 #define I3C_SERRWARN_ORUN_MASK (0x1U) 391 #define I3C_SERRWARN_ORUN_SHIFT (0U) 392 #define I3C_SERRWARN_ORUN_WIDTH (1U) 393 #define I3C_SERRWARN_ORUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_ORUN_SHIFT)) & I3C_SERRWARN_ORUN_MASK) 394 395 #define I3C_SERRWARN_URUN_MASK (0x2U) 396 #define I3C_SERRWARN_URUN_SHIFT (1U) 397 #define I3C_SERRWARN_URUN_WIDTH (1U) 398 #define I3C_SERRWARN_URUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_URUN_SHIFT)) & I3C_SERRWARN_URUN_MASK) 399 400 #define I3C_SERRWARN_URUNNACK_MASK (0x4U) 401 #define I3C_SERRWARN_URUNNACK_SHIFT (2U) 402 #define I3C_SERRWARN_URUNNACK_WIDTH (1U) 403 #define I3C_SERRWARN_URUNNACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_URUNNACK_SHIFT)) & I3C_SERRWARN_URUNNACK_MASK) 404 405 #define I3C_SERRWARN_TERM_MASK (0x8U) 406 #define I3C_SERRWARN_TERM_SHIFT (3U) 407 #define I3C_SERRWARN_TERM_WIDTH (1U) 408 #define I3C_SERRWARN_TERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_TERM_SHIFT)) & I3C_SERRWARN_TERM_MASK) 409 410 #define I3C_SERRWARN_INVSTART_MASK (0x10U) 411 #define I3C_SERRWARN_INVSTART_SHIFT (4U) 412 #define I3C_SERRWARN_INVSTART_WIDTH (1U) 413 #define I3C_SERRWARN_INVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_INVSTART_SHIFT)) & I3C_SERRWARN_INVSTART_MASK) 414 415 #define I3C_SERRWARN_SPAR_MASK (0x100U) 416 #define I3C_SERRWARN_SPAR_SHIFT (8U) 417 #define I3C_SERRWARN_SPAR_WIDTH (1U) 418 #define I3C_SERRWARN_SPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_SPAR_SHIFT)) & I3C_SERRWARN_SPAR_MASK) 419 420 #define I3C_SERRWARN_OREAD_MASK (0x10000U) 421 #define I3C_SERRWARN_OREAD_SHIFT (16U) 422 #define I3C_SERRWARN_OREAD_WIDTH (1U) 423 #define I3C_SERRWARN_OREAD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_OREAD_SHIFT)) & I3C_SERRWARN_OREAD_MASK) 424 425 #define I3C_SERRWARN_OWRITE_MASK (0x20000U) 426 #define I3C_SERRWARN_OWRITE_SHIFT (17U) 427 #define I3C_SERRWARN_OWRITE_WIDTH (1U) 428 #define I3C_SERRWARN_OWRITE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_OWRITE_SHIFT)) & I3C_SERRWARN_OWRITE_MASK) 429 /*! @} */ 430 431 /*! @name SDMACTRL - Target DMA Control */ 432 /*! @{ */ 433 434 #define I3C_SDMACTRL_DMAFB_MASK (0x3U) 435 #define I3C_SDMACTRL_DMAFB_SHIFT (0U) 436 #define I3C_SDMACTRL_DMAFB_WIDTH (2U) 437 #define I3C_SDMACTRL_DMAFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMAFB_SHIFT)) & I3C_SDMACTRL_DMAFB_MASK) 438 439 #define I3C_SDMACTRL_DMATB_MASK (0xCU) 440 #define I3C_SDMACTRL_DMATB_SHIFT (2U) 441 #define I3C_SDMACTRL_DMATB_WIDTH (2U) 442 #define I3C_SDMACTRL_DMATB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMATB_SHIFT)) & I3C_SDMACTRL_DMATB_MASK) 443 444 #define I3C_SDMACTRL_DMAWIDTH_MASK (0x30U) 445 #define I3C_SDMACTRL_DMAWIDTH_SHIFT (4U) 446 #define I3C_SDMACTRL_DMAWIDTH_WIDTH (2U) 447 #define I3C_SDMACTRL_DMAWIDTH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMAWIDTH_SHIFT)) & I3C_SDMACTRL_DMAWIDTH_MASK) 448 /*! @} */ 449 450 /*! @name SDATACTRL - Target Data Control */ 451 /*! @{ */ 452 453 #define I3C_SDATACTRL_FLUSHTB_MASK (0x1U) 454 #define I3C_SDATACTRL_FLUSHTB_SHIFT (0U) 455 #define I3C_SDATACTRL_FLUSHTB_WIDTH (1U) 456 #define I3C_SDATACTRL_FLUSHTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_FLUSHTB_SHIFT)) & I3C_SDATACTRL_FLUSHTB_MASK) 457 458 #define I3C_SDATACTRL_FLUSHFB_MASK (0x2U) 459 #define I3C_SDATACTRL_FLUSHFB_SHIFT (1U) 460 #define I3C_SDATACTRL_FLUSHFB_WIDTH (1U) 461 #define I3C_SDATACTRL_FLUSHFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_FLUSHFB_SHIFT)) & I3C_SDATACTRL_FLUSHFB_MASK) 462 463 #define I3C_SDATACTRL_UNLOCK_MASK (0x8U) 464 #define I3C_SDATACTRL_UNLOCK_SHIFT (3U) 465 #define I3C_SDATACTRL_UNLOCK_WIDTH (1U) 466 #define I3C_SDATACTRL_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_UNLOCK_SHIFT)) & I3C_SDATACTRL_UNLOCK_MASK) 467 468 #define I3C_SDATACTRL_TXTRIG_MASK (0x30U) 469 #define I3C_SDATACTRL_TXTRIG_SHIFT (4U) 470 #define I3C_SDATACTRL_TXTRIG_WIDTH (2U) 471 #define I3C_SDATACTRL_TXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXTRIG_SHIFT)) & I3C_SDATACTRL_TXTRIG_MASK) 472 473 #define I3C_SDATACTRL_RXTRIG_MASK (0xC0U) 474 #define I3C_SDATACTRL_RXTRIG_SHIFT (6U) 475 #define I3C_SDATACTRL_RXTRIG_WIDTH (2U) 476 #define I3C_SDATACTRL_RXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXTRIG_SHIFT)) & I3C_SDATACTRL_RXTRIG_MASK) 477 478 #define I3C_SDATACTRL_TXCOUNT_MASK (0x1F0000U) 479 #define I3C_SDATACTRL_TXCOUNT_SHIFT (16U) 480 #define I3C_SDATACTRL_TXCOUNT_WIDTH (5U) 481 #define I3C_SDATACTRL_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXCOUNT_SHIFT)) & I3C_SDATACTRL_TXCOUNT_MASK) 482 483 #define I3C_SDATACTRL_RXCOUNT_MASK (0x1F000000U) 484 #define I3C_SDATACTRL_RXCOUNT_SHIFT (24U) 485 #define I3C_SDATACTRL_RXCOUNT_WIDTH (5U) 486 #define I3C_SDATACTRL_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXCOUNT_SHIFT)) & I3C_SDATACTRL_RXCOUNT_MASK) 487 488 #define I3C_SDATACTRL_TXFULL_MASK (0x40000000U) 489 #define I3C_SDATACTRL_TXFULL_SHIFT (30U) 490 #define I3C_SDATACTRL_TXFULL_WIDTH (1U) 491 #define I3C_SDATACTRL_TXFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXFULL_SHIFT)) & I3C_SDATACTRL_TXFULL_MASK) 492 493 #define I3C_SDATACTRL_RXEMPTY_MASK (0x80000000U) 494 #define I3C_SDATACTRL_RXEMPTY_SHIFT (31U) 495 #define I3C_SDATACTRL_RXEMPTY_WIDTH (1U) 496 #define I3C_SDATACTRL_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXEMPTY_SHIFT)) & I3C_SDATACTRL_RXEMPTY_MASK) 497 /*! @} */ 498 499 /*! @name SWDATAB - Target Write Data Byte */ 500 /*! @{ */ 501 502 #define I3C_SWDATAB_DATA_MASK (0xFFU) 503 #define I3C_SWDATAB_DATA_SHIFT (0U) 504 #define I3C_SWDATAB_DATA_WIDTH (8U) 505 #define I3C_SWDATAB_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_DATA_SHIFT)) & I3C_SWDATAB_DATA_MASK) 506 507 #define I3C_SWDATAB_END_MASK (0x100U) 508 #define I3C_SWDATAB_END_SHIFT (8U) 509 #define I3C_SWDATAB_END_WIDTH (1U) 510 #define I3C_SWDATAB_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_END_SHIFT)) & I3C_SWDATAB_END_MASK) 511 512 #define I3C_SWDATAB_END_ALSO_MASK (0x10000U) 513 #define I3C_SWDATAB_END_ALSO_SHIFT (16U) 514 #define I3C_SWDATAB_END_ALSO_WIDTH (1U) 515 #define I3C_SWDATAB_END_ALSO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_END_ALSO_SHIFT)) & I3C_SWDATAB_END_ALSO_MASK) 516 /*! @} */ 517 518 /*! @name SWDATABE - Target Write Data Byte End */ 519 /*! @{ */ 520 521 #define I3C_SWDATABE_DATA_MASK (0xFFU) 522 #define I3C_SWDATABE_DATA_SHIFT (0U) 523 #define I3C_SWDATABE_DATA_WIDTH (8U) 524 #define I3C_SWDATABE_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATABE_DATA_SHIFT)) & I3C_SWDATABE_DATA_MASK) 525 /*! @} */ 526 527 /*! @name SWDATAH - Target Write Data Halfword */ 528 /*! @{ */ 529 530 #define I3C_SWDATAH_DATA0_MASK (0xFFU) 531 #define I3C_SWDATAH_DATA0_SHIFT (0U) 532 #define I3C_SWDATAH_DATA0_WIDTH (8U) 533 #define I3C_SWDATAH_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_DATA0_SHIFT)) & I3C_SWDATAH_DATA0_MASK) 534 535 #define I3C_SWDATAH_DATA1_MASK (0xFF00U) 536 #define I3C_SWDATAH_DATA1_SHIFT (8U) 537 #define I3C_SWDATAH_DATA1_WIDTH (8U) 538 #define I3C_SWDATAH_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_DATA1_SHIFT)) & I3C_SWDATAH_DATA1_MASK) 539 540 #define I3C_SWDATAH_END_MASK (0x10000U) 541 #define I3C_SWDATAH_END_SHIFT (16U) 542 #define I3C_SWDATAH_END_WIDTH (1U) 543 #define I3C_SWDATAH_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_END_SHIFT)) & I3C_SWDATAH_END_MASK) 544 /*! @} */ 545 546 /*! @name SWDATAHE - Target Write Data Halfword End */ 547 /*! @{ */ 548 549 #define I3C_SWDATAHE_DATA0_MASK (0xFFU) 550 #define I3C_SWDATAHE_DATA0_SHIFT (0U) 551 #define I3C_SWDATAHE_DATA0_WIDTH (8U) 552 #define I3C_SWDATAHE_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAHE_DATA0_SHIFT)) & I3C_SWDATAHE_DATA0_MASK) 553 554 #define I3C_SWDATAHE_DATA1_MASK (0xFF00U) 555 #define I3C_SWDATAHE_DATA1_SHIFT (8U) 556 #define I3C_SWDATAHE_DATA1_WIDTH (8U) 557 #define I3C_SWDATAHE_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAHE_DATA1_SHIFT)) & I3C_SWDATAHE_DATA1_MASK) 558 /*! @} */ 559 560 /*! @name SRDATAB - Target Read Data Byte */ 561 /*! @{ */ 562 563 #define I3C_SRDATAB_DATA0_MASK (0xFFU) 564 #define I3C_SRDATAB_DATA0_SHIFT (0U) 565 #define I3C_SRDATAB_DATA0_WIDTH (8U) 566 #define I3C_SRDATAB_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAB_DATA0_SHIFT)) & I3C_SRDATAB_DATA0_MASK) 567 /*! @} */ 568 569 /*! @name MRDATAH - Controller Read Data Halfword */ 570 /*! @{ */ 571 572 #define I3C_MRDATAH_LSB_MASK (0xFFU) 573 #define I3C_MRDATAH_LSB_SHIFT (0U) 574 #define I3C_MRDATAH_LSB_WIDTH (8U) 575 #define I3C_MRDATAH_LSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAH_LSB_SHIFT)) & I3C_MRDATAH_LSB_MASK) 576 577 #define I3C_MRDATAH_MSB_MASK (0xFF00U) 578 #define I3C_MRDATAH_MSB_SHIFT (8U) 579 #define I3C_MRDATAH_MSB_WIDTH (8U) 580 #define I3C_MRDATAH_MSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAH_MSB_SHIFT)) & I3C_MRDATAH_MSB_MASK) 581 /*! @} */ 582 583 /*! @name SRDATAH - Target Read Data Halfword */ 584 /*! @{ */ 585 586 #define I3C_SRDATAH_LSB_MASK (0xFFU) 587 #define I3C_SRDATAH_LSB_SHIFT (0U) 588 #define I3C_SRDATAH_LSB_WIDTH (8U) 589 #define I3C_SRDATAH_LSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAH_LSB_SHIFT)) & I3C_SRDATAH_LSB_MASK) 590 591 #define I3C_SRDATAH_MSB_MASK (0xFF00U) 592 #define I3C_SRDATAH_MSB_SHIFT (8U) 593 #define I3C_SRDATAH_MSB_WIDTH (8U) 594 #define I3C_SRDATAH_MSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAH_MSB_SHIFT)) & I3C_SRDATAH_MSB_MASK) 595 /*! @} */ 596 597 /*! @name SWDATAB1 - Target Write Data Byte */ 598 /*! @{ */ 599 600 #define I3C_SWDATAB1_DATA_MASK (0xFFU) 601 #define I3C_SWDATAB1_DATA_SHIFT (0U) 602 #define I3C_SWDATAB1_DATA_WIDTH (8U) 603 #define I3C_SWDATAB1_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB1_DATA_SHIFT)) & I3C_SWDATAB1_DATA_MASK) 604 /*! @} */ 605 606 /*! @name SCAPABILITIES2 - Target Capabilities 2 */ 607 /*! @{ */ 608 609 #define I3C_SCAPABILITIES2_I2C10B_MASK (0x10U) 610 #define I3C_SCAPABILITIES2_I2C10B_SHIFT (4U) 611 #define I3C_SCAPABILITIES2_I2C10B_WIDTH (1U) 612 #define I3C_SCAPABILITIES2_I2C10B(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_I2C10B_SHIFT)) & I3C_SCAPABILITIES2_I2C10B_MASK) 613 614 #define I3C_SCAPABILITIES2_I2CRST_MASK (0x20U) 615 #define I3C_SCAPABILITIES2_I2CRST_SHIFT (5U) 616 #define I3C_SCAPABILITIES2_I2CRST_WIDTH (1U) 617 #define I3C_SCAPABILITIES2_I2CRST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_I2CRST_SHIFT)) & I3C_SCAPABILITIES2_I2CRST_MASK) 618 619 #define I3C_SCAPABILITIES2_I2CDEVID_MASK (0x40U) 620 #define I3C_SCAPABILITIES2_I2CDEVID_SHIFT (6U) 621 #define I3C_SCAPABILITIES2_I2CDEVID_WIDTH (1U) 622 #define I3C_SCAPABILITIES2_I2CDEVID(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_I2CDEVID_SHIFT)) & I3C_SCAPABILITIES2_I2CDEVID_MASK) 623 /*! @} */ 624 625 /*! @name SCAPABILITIES - Target Capabilities */ 626 /*! @{ */ 627 628 #define I3C_SCAPABILITIES_MASTER_MASK (0x200U) 629 #define I3C_SCAPABILITIES_MASTER_SHIFT (9U) 630 #define I3C_SCAPABILITIES_MASTER_WIDTH (1U) 631 #define I3C_SCAPABILITIES_MASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_MASTER_SHIFT)) & I3C_SCAPABILITIES_MASTER_MASK) 632 633 #define I3C_SCAPABILITIES_SADDR_MASK (0xC00U) 634 #define I3C_SCAPABILITIES_SADDR_SHIFT (10U) 635 #define I3C_SCAPABILITIES_SADDR_WIDTH (2U) 636 #define I3C_SCAPABILITIES_SADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_SADDR_SHIFT)) & I3C_SCAPABILITIES_SADDR_MASK) 637 638 #define I3C_SCAPABILITIES_EXTFIFO_MASK (0x3800000U) 639 #define I3C_SCAPABILITIES_EXTFIFO_SHIFT (23U) 640 #define I3C_SCAPABILITIES_EXTFIFO_WIDTH (3U) 641 #define I3C_SCAPABILITIES_EXTFIFO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_EXTFIFO_SHIFT)) & I3C_SCAPABILITIES_EXTFIFO_MASK) 642 643 #define I3C_SCAPABILITIES_FIFOTX_MASK (0xC000000U) 644 #define I3C_SCAPABILITIES_FIFOTX_SHIFT (26U) 645 #define I3C_SCAPABILITIES_FIFOTX_WIDTH (2U) 646 #define I3C_SCAPABILITIES_FIFOTX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_FIFOTX_SHIFT)) & I3C_SCAPABILITIES_FIFOTX_MASK) 647 648 #define I3C_SCAPABILITIES_FIFORX_MASK (0x30000000U) 649 #define I3C_SCAPABILITIES_FIFORX_SHIFT (28U) 650 #define I3C_SCAPABILITIES_FIFORX_WIDTH (2U) 651 #define I3C_SCAPABILITIES_FIFORX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_FIFORX_SHIFT)) & I3C_SCAPABILITIES_FIFORX_MASK) 652 653 #define I3C_SCAPABILITIES_INT_MASK (0x40000000U) 654 #define I3C_SCAPABILITIES_INT_SHIFT (30U) 655 #define I3C_SCAPABILITIES_INT_WIDTH (1U) 656 #define I3C_SCAPABILITIES_INT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_INT_SHIFT)) & I3C_SCAPABILITIES_INT_MASK) 657 658 #define I3C_SCAPABILITIES_DMA_MASK (0x80000000U) 659 #define I3C_SCAPABILITIES_DMA_SHIFT (31U) 660 #define I3C_SCAPABILITIES_DMA_WIDTH (1U) 661 #define I3C_SCAPABILITIES_DMA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_DMA_SHIFT)) & I3C_SCAPABILITIES_DMA_MASK) 662 /*! @} */ 663 664 /*! @name SMSGLAST - Target Message Last Matched */ 665 /*! @{ */ 666 667 #define I3C_SMSGLAST_LASTSTATIC_MASK (0x10U) 668 #define I3C_SMSGLAST_LASTSTATIC_SHIFT (4U) 669 #define I3C_SMSGLAST_LASTSTATIC_WIDTH (1U) 670 #define I3C_SMSGLAST_LASTSTATIC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMSGLAST_LASTSTATIC_SHIFT)) & I3C_SMSGLAST_LASTSTATIC_MASK) 671 /*! @} */ 672 673 /*! @name MCTRL - Controller Control */ 674 /*! @{ */ 675 676 #define I3C_MCTRL_REQUEST_MASK (0x7U) 677 #define I3C_MCTRL_REQUEST_SHIFT (0U) 678 #define I3C_MCTRL_REQUEST_WIDTH (3U) 679 #define I3C_MCTRL_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_REQUEST_SHIFT)) & I3C_MCTRL_REQUEST_MASK) 680 681 #define I3C_MCTRL_TYPE_MASK (0x30U) 682 #define I3C_MCTRL_TYPE_SHIFT (4U) 683 #define I3C_MCTRL_TYPE_WIDTH (2U) 684 #define I3C_MCTRL_TYPE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_TYPE_SHIFT)) & I3C_MCTRL_TYPE_MASK) 685 686 #define I3C_MCTRL_DIR_MASK (0x100U) 687 #define I3C_MCTRL_DIR_SHIFT (8U) 688 #define I3C_MCTRL_DIR_WIDTH (1U) 689 #define I3C_MCTRL_DIR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_DIR_SHIFT)) & I3C_MCTRL_DIR_MASK) 690 691 #define I3C_MCTRL_ADDR_MASK (0xFE00U) 692 #define I3C_MCTRL_ADDR_SHIFT (9U) 693 #define I3C_MCTRL_ADDR_WIDTH (7U) 694 #define I3C_MCTRL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_ADDR_SHIFT)) & I3C_MCTRL_ADDR_MASK) 695 696 #define I3C_MCTRL_RDTERM_MASK (0xFF0000U) 697 #define I3C_MCTRL_RDTERM_SHIFT (16U) 698 #define I3C_MCTRL_RDTERM_WIDTH (8U) 699 #define I3C_MCTRL_RDTERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_RDTERM_SHIFT)) & I3C_MCTRL_RDTERM_MASK) 700 /*! @} */ 701 702 /*! @name MSTATUS - Controller Status */ 703 /*! @{ */ 704 705 #define I3C_MSTATUS_STATE_MASK (0x7U) 706 #define I3C_MSTATUS_STATE_SHIFT (0U) 707 #define I3C_MSTATUS_STATE_WIDTH (3U) 708 #define I3C_MSTATUS_STATE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_STATE_SHIFT)) & I3C_MSTATUS_STATE_MASK) 709 710 #define I3C_MSTATUS_BETWEEN_MASK (0x10U) 711 #define I3C_MSTATUS_BETWEEN_SHIFT (4U) 712 #define I3C_MSTATUS_BETWEEN_WIDTH (1U) 713 #define I3C_MSTATUS_BETWEEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_BETWEEN_SHIFT)) & I3C_MSTATUS_BETWEEN_MASK) 714 715 #define I3C_MSTATUS_NACKED_MASK (0x20U) 716 #define I3C_MSTATUS_NACKED_SHIFT (5U) 717 #define I3C_MSTATUS_NACKED_WIDTH (1U) 718 #define I3C_MSTATUS_NACKED(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_NACKED_SHIFT)) & I3C_MSTATUS_NACKED_MASK) 719 720 #define I3C_MSTATUS_MCTRLDONE_MASK (0x200U) 721 #define I3C_MSTATUS_MCTRLDONE_SHIFT (9U) 722 #define I3C_MSTATUS_MCTRLDONE_WIDTH (1U) 723 #define I3C_MSTATUS_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_MCTRLDONE_SHIFT)) & I3C_MSTATUS_MCTRLDONE_MASK) 724 725 #define I3C_MSTATUS_COMPLETE_MASK (0x400U) 726 #define I3C_MSTATUS_COMPLETE_SHIFT (10U) 727 #define I3C_MSTATUS_COMPLETE_WIDTH (1U) 728 #define I3C_MSTATUS_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_COMPLETE_SHIFT)) & I3C_MSTATUS_COMPLETE_MASK) 729 730 #define I3C_MSTATUS_RXPEND_MASK (0x800U) 731 #define I3C_MSTATUS_RXPEND_SHIFT (11U) 732 #define I3C_MSTATUS_RXPEND_WIDTH (1U) 733 #define I3C_MSTATUS_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_RXPEND_SHIFT)) & I3C_MSTATUS_RXPEND_MASK) 734 735 #define I3C_MSTATUS_TXNOTFULL_MASK (0x1000U) 736 #define I3C_MSTATUS_TXNOTFULL_SHIFT (12U) 737 #define I3C_MSTATUS_TXNOTFULL_WIDTH (1U) 738 #define I3C_MSTATUS_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_TXNOTFULL_SHIFT)) & I3C_MSTATUS_TXNOTFULL_MASK) 739 740 #define I3C_MSTATUS_ERRWARN_MASK (0x8000U) 741 #define I3C_MSTATUS_ERRWARN_SHIFT (15U) 742 #define I3C_MSTATUS_ERRWARN_WIDTH (1U) 743 #define I3C_MSTATUS_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_ERRWARN_SHIFT)) & I3C_MSTATUS_ERRWARN_MASK) 744 /*! @} */ 745 746 /*! @name MINTSET - Controller Interrupt Set */ 747 /*! @{ */ 748 749 #define I3C_MINTSET_MCTRLDONE_MASK (0x200U) 750 #define I3C_MINTSET_MCTRLDONE_SHIFT (9U) 751 #define I3C_MINTSET_MCTRLDONE_WIDTH (1U) 752 #define I3C_MINTSET_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_MCTRLDONE_SHIFT)) & I3C_MINTSET_MCTRLDONE_MASK) 753 754 #define I3C_MINTSET_COMPLETE_MASK (0x400U) 755 #define I3C_MINTSET_COMPLETE_SHIFT (10U) 756 #define I3C_MINTSET_COMPLETE_WIDTH (1U) 757 #define I3C_MINTSET_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_COMPLETE_SHIFT)) & I3C_MINTSET_COMPLETE_MASK) 758 759 #define I3C_MINTSET_RXPEND_MASK (0x800U) 760 #define I3C_MINTSET_RXPEND_SHIFT (11U) 761 #define I3C_MINTSET_RXPEND_WIDTH (1U) 762 #define I3C_MINTSET_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_RXPEND_SHIFT)) & I3C_MINTSET_RXPEND_MASK) 763 764 #define I3C_MINTSET_TXNOTFULL_MASK (0x1000U) 765 #define I3C_MINTSET_TXNOTFULL_SHIFT (12U) 766 #define I3C_MINTSET_TXNOTFULL_WIDTH (1U) 767 #define I3C_MINTSET_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_TXNOTFULL_SHIFT)) & I3C_MINTSET_TXNOTFULL_MASK) 768 769 #define I3C_MINTSET_ERRWARN_MASK (0x8000U) 770 #define I3C_MINTSET_ERRWARN_SHIFT (15U) 771 #define I3C_MINTSET_ERRWARN_WIDTH (1U) 772 #define I3C_MINTSET_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_ERRWARN_SHIFT)) & I3C_MINTSET_ERRWARN_MASK) 773 /*! @} */ 774 775 /*! @name MINTCLR - Controller Interrupt Clear */ 776 /*! @{ */ 777 778 #define I3C_MINTCLR_MCTRLDONE_MASK (0x200U) 779 #define I3C_MINTCLR_MCTRLDONE_SHIFT (9U) 780 #define I3C_MINTCLR_MCTRLDONE_WIDTH (1U) 781 #define I3C_MINTCLR_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_MCTRLDONE_SHIFT)) & I3C_MINTCLR_MCTRLDONE_MASK) 782 783 #define I3C_MINTCLR_COMPLETE_MASK (0x400U) 784 #define I3C_MINTCLR_COMPLETE_SHIFT (10U) 785 #define I3C_MINTCLR_COMPLETE_WIDTH (1U) 786 #define I3C_MINTCLR_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_COMPLETE_SHIFT)) & I3C_MINTCLR_COMPLETE_MASK) 787 788 #define I3C_MINTCLR_RXPEND_MASK (0x800U) 789 #define I3C_MINTCLR_RXPEND_SHIFT (11U) 790 #define I3C_MINTCLR_RXPEND_WIDTH (1U) 791 #define I3C_MINTCLR_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_RXPEND_SHIFT)) & I3C_MINTCLR_RXPEND_MASK) 792 793 #define I3C_MINTCLR_TXNOTFULL_MASK (0x1000U) 794 #define I3C_MINTCLR_TXNOTFULL_SHIFT (12U) 795 #define I3C_MINTCLR_TXNOTFULL_WIDTH (1U) 796 #define I3C_MINTCLR_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_TXNOTFULL_SHIFT)) & I3C_MINTCLR_TXNOTFULL_MASK) 797 798 #define I3C_MINTCLR_ERRWARN_MASK (0x8000U) 799 #define I3C_MINTCLR_ERRWARN_SHIFT (15U) 800 #define I3C_MINTCLR_ERRWARN_WIDTH (1U) 801 #define I3C_MINTCLR_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_ERRWARN_SHIFT)) & I3C_MINTCLR_ERRWARN_MASK) 802 /*! @} */ 803 804 /*! @name MINTMASKED - Controller Interrupt Mask */ 805 /*! @{ */ 806 807 #define I3C_MINTMASKED_MCTRLDONE_MASK (0x200U) 808 #define I3C_MINTMASKED_MCTRLDONE_SHIFT (9U) 809 #define I3C_MINTMASKED_MCTRLDONE_WIDTH (1U) 810 #define I3C_MINTMASKED_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_MCTRLDONE_SHIFT)) & I3C_MINTMASKED_MCTRLDONE_MASK) 811 812 #define I3C_MINTMASKED_COMPLETE_MASK (0x400U) 813 #define I3C_MINTMASKED_COMPLETE_SHIFT (10U) 814 #define I3C_MINTMASKED_COMPLETE_WIDTH (1U) 815 #define I3C_MINTMASKED_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_COMPLETE_SHIFT)) & I3C_MINTMASKED_COMPLETE_MASK) 816 817 #define I3C_MINTMASKED_RXPEND_MASK (0x800U) 818 #define I3C_MINTMASKED_RXPEND_SHIFT (11U) 819 #define I3C_MINTMASKED_RXPEND_WIDTH (1U) 820 #define I3C_MINTMASKED_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_RXPEND_SHIFT)) & I3C_MINTMASKED_RXPEND_MASK) 821 822 #define I3C_MINTMASKED_TXNOTFULL_MASK (0x1000U) 823 #define I3C_MINTMASKED_TXNOTFULL_SHIFT (12U) 824 #define I3C_MINTMASKED_TXNOTFULL_WIDTH (1U) 825 #define I3C_MINTMASKED_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_TXNOTFULL_SHIFT)) & I3C_MINTMASKED_TXNOTFULL_MASK) 826 827 #define I3C_MINTMASKED_ERRWARN_MASK (0x8000U) 828 #define I3C_MINTMASKED_ERRWARN_SHIFT (15U) 829 #define I3C_MINTMASKED_ERRWARN_WIDTH (1U) 830 #define I3C_MINTMASKED_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_ERRWARN_SHIFT)) & I3C_MINTMASKED_ERRWARN_MASK) 831 /*! @} */ 832 833 /*! @name MERRWARN - Controller Errors and Warnings */ 834 /*! @{ */ 835 836 #define I3C_MERRWARN_NACK_MASK (0x4U) 837 #define I3C_MERRWARN_NACK_SHIFT (2U) 838 #define I3C_MERRWARN_NACK_WIDTH (1U) 839 #define I3C_MERRWARN_NACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_NACK_SHIFT)) & I3C_MERRWARN_NACK_MASK) 840 841 #define I3C_MERRWARN_WRABT_MASK (0x8U) 842 #define I3C_MERRWARN_WRABT_SHIFT (3U) 843 #define I3C_MERRWARN_WRABT_WIDTH (1U) 844 #define I3C_MERRWARN_WRABT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_WRABT_SHIFT)) & I3C_MERRWARN_WRABT_MASK) 845 846 #define I3C_MERRWARN_OREAD_MASK (0x10000U) 847 #define I3C_MERRWARN_OREAD_SHIFT (16U) 848 #define I3C_MERRWARN_OREAD_WIDTH (1U) 849 #define I3C_MERRWARN_OREAD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_OREAD_SHIFT)) & I3C_MERRWARN_OREAD_MASK) 850 851 #define I3C_MERRWARN_OWRITE_MASK (0x20000U) 852 #define I3C_MERRWARN_OWRITE_SHIFT (17U) 853 #define I3C_MERRWARN_OWRITE_WIDTH (1U) 854 #define I3C_MERRWARN_OWRITE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_OWRITE_SHIFT)) & I3C_MERRWARN_OWRITE_MASK) 855 856 #define I3C_MERRWARN_MSGERR_MASK (0x40000U) 857 #define I3C_MERRWARN_MSGERR_SHIFT (18U) 858 #define I3C_MERRWARN_MSGERR_WIDTH (1U) 859 #define I3C_MERRWARN_MSGERR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_MSGERR_SHIFT)) & I3C_MERRWARN_MSGERR_MASK) 860 861 #define I3C_MERRWARN_TIMEOUT_MASK (0x100000U) 862 #define I3C_MERRWARN_TIMEOUT_SHIFT (20U) 863 #define I3C_MERRWARN_TIMEOUT_WIDTH (1U) 864 #define I3C_MERRWARN_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_TIMEOUT_SHIFT)) & I3C_MERRWARN_TIMEOUT_MASK) 865 /*! @} */ 866 867 /*! @name MDMACTRL - Controller DMA Control */ 868 /*! @{ */ 869 870 #define I3C_MDMACTRL_DMAFB_MASK (0x3U) 871 #define I3C_MDMACTRL_DMAFB_SHIFT (0U) 872 #define I3C_MDMACTRL_DMAFB_WIDTH (2U) 873 #define I3C_MDMACTRL_DMAFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMAFB_SHIFT)) & I3C_MDMACTRL_DMAFB_MASK) 874 875 #define I3C_MDMACTRL_DMATB_MASK (0xCU) 876 #define I3C_MDMACTRL_DMATB_SHIFT (2U) 877 #define I3C_MDMACTRL_DMATB_WIDTH (2U) 878 #define I3C_MDMACTRL_DMATB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMATB_SHIFT)) & I3C_MDMACTRL_DMATB_MASK) 879 880 #define I3C_MDMACTRL_DMAWIDTH_MASK (0x30U) 881 #define I3C_MDMACTRL_DMAWIDTH_SHIFT (4U) 882 #define I3C_MDMACTRL_DMAWIDTH_WIDTH (2U) 883 #define I3C_MDMACTRL_DMAWIDTH(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMAWIDTH_SHIFT)) & I3C_MDMACTRL_DMAWIDTH_MASK) 884 /*! @} */ 885 886 /*! @name MDATACTRL - Controller Data Control */ 887 /*! @{ */ 888 889 #define I3C_MDATACTRL_FLUSHTB_MASK (0x1U) 890 #define I3C_MDATACTRL_FLUSHTB_SHIFT (0U) 891 #define I3C_MDATACTRL_FLUSHTB_WIDTH (1U) 892 #define I3C_MDATACTRL_FLUSHTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_FLUSHTB_SHIFT)) & I3C_MDATACTRL_FLUSHTB_MASK) 893 894 #define I3C_MDATACTRL_FLUSHFB_MASK (0x2U) 895 #define I3C_MDATACTRL_FLUSHFB_SHIFT (1U) 896 #define I3C_MDATACTRL_FLUSHFB_WIDTH (1U) 897 #define I3C_MDATACTRL_FLUSHFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_FLUSHFB_SHIFT)) & I3C_MDATACTRL_FLUSHFB_MASK) 898 899 #define I3C_MDATACTRL_UNLOCK_MASK (0x8U) 900 #define I3C_MDATACTRL_UNLOCK_SHIFT (3U) 901 #define I3C_MDATACTRL_UNLOCK_WIDTH (1U) 902 #define I3C_MDATACTRL_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_UNLOCK_SHIFT)) & I3C_MDATACTRL_UNLOCK_MASK) 903 904 #define I3C_MDATACTRL_TXTRIG_MASK (0x30U) 905 #define I3C_MDATACTRL_TXTRIG_SHIFT (4U) 906 #define I3C_MDATACTRL_TXTRIG_WIDTH (2U) 907 #define I3C_MDATACTRL_TXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXTRIG_SHIFT)) & I3C_MDATACTRL_TXTRIG_MASK) 908 909 #define I3C_MDATACTRL_RXTRIG_MASK (0xC0U) 910 #define I3C_MDATACTRL_RXTRIG_SHIFT (6U) 911 #define I3C_MDATACTRL_RXTRIG_WIDTH (2U) 912 #define I3C_MDATACTRL_RXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXTRIG_SHIFT)) & I3C_MDATACTRL_RXTRIG_MASK) 913 914 #define I3C_MDATACTRL_TXCOUNT_MASK (0x1F0000U) 915 #define I3C_MDATACTRL_TXCOUNT_SHIFT (16U) 916 #define I3C_MDATACTRL_TXCOUNT_WIDTH (5U) 917 #define I3C_MDATACTRL_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXCOUNT_SHIFT)) & I3C_MDATACTRL_TXCOUNT_MASK) 918 919 #define I3C_MDATACTRL_RXCOUNT_MASK (0x1F000000U) 920 #define I3C_MDATACTRL_RXCOUNT_SHIFT (24U) 921 #define I3C_MDATACTRL_RXCOUNT_WIDTH (5U) 922 #define I3C_MDATACTRL_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXCOUNT_SHIFT)) & I3C_MDATACTRL_RXCOUNT_MASK) 923 924 #define I3C_MDATACTRL_TXFULL_MASK (0x40000000U) 925 #define I3C_MDATACTRL_TXFULL_SHIFT (30U) 926 #define I3C_MDATACTRL_TXFULL_WIDTH (1U) 927 #define I3C_MDATACTRL_TXFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXFULL_SHIFT)) & I3C_MDATACTRL_TXFULL_MASK) 928 929 #define I3C_MDATACTRL_RXEMPTY_MASK (0x80000000U) 930 #define I3C_MDATACTRL_RXEMPTY_SHIFT (31U) 931 #define I3C_MDATACTRL_RXEMPTY_WIDTH (1U) 932 #define I3C_MDATACTRL_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXEMPTY_SHIFT)) & I3C_MDATACTRL_RXEMPTY_MASK) 933 /*! @} */ 934 935 /*! @name MWDATAB - Controller Write Data Byte */ 936 /*! @{ */ 937 938 #define I3C_MWDATAB_VALUE_MASK (0xFFU) 939 #define I3C_MWDATAB_VALUE_SHIFT (0U) 940 #define I3C_MWDATAB_VALUE_WIDTH (8U) 941 #define I3C_MWDATAB_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_VALUE_SHIFT)) & I3C_MWDATAB_VALUE_MASK) 942 943 #define I3C_MWDATAB_END_MASK (0x100U) 944 #define I3C_MWDATAB_END_SHIFT (8U) 945 #define I3C_MWDATAB_END_WIDTH (1U) 946 #define I3C_MWDATAB_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_END_SHIFT)) & I3C_MWDATAB_END_MASK) 947 948 #define I3C_MWDATAB_END_ALSO_MASK (0x10000U) 949 #define I3C_MWDATAB_END_ALSO_SHIFT (16U) 950 #define I3C_MWDATAB_END_ALSO_WIDTH (1U) 951 #define I3C_MWDATAB_END_ALSO(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_END_ALSO_SHIFT)) & I3C_MWDATAB_END_ALSO_MASK) 952 /*! @} */ 953 954 /*! @name MWDATABE - Controller Write Data Byte End */ 955 /*! @{ */ 956 957 #define I3C_MWDATABE_VALUE_MASK (0xFFU) 958 #define I3C_MWDATABE_VALUE_SHIFT (0U) 959 #define I3C_MWDATABE_VALUE_WIDTH (8U) 960 #define I3C_MWDATABE_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATABE_VALUE_SHIFT)) & I3C_MWDATABE_VALUE_MASK) 961 /*! @} */ 962 963 /*! @name MWDATAH - Controller Write Data Halfword */ 964 /*! @{ */ 965 966 #define I3C_MWDATAH_DATA0_MASK (0xFFU) 967 #define I3C_MWDATAH_DATA0_SHIFT (0U) 968 #define I3C_MWDATAH_DATA0_WIDTH (8U) 969 #define I3C_MWDATAH_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_DATA0_SHIFT)) & I3C_MWDATAH_DATA0_MASK) 970 971 #define I3C_MWDATAH_DATA1_MASK (0xFF00U) 972 #define I3C_MWDATAH_DATA1_SHIFT (8U) 973 #define I3C_MWDATAH_DATA1_WIDTH (8U) 974 #define I3C_MWDATAH_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_DATA1_SHIFT)) & I3C_MWDATAH_DATA1_MASK) 975 976 #define I3C_MWDATAH_END_MASK (0x10000U) 977 #define I3C_MWDATAH_END_SHIFT (16U) 978 #define I3C_MWDATAH_END_WIDTH (1U) 979 #define I3C_MWDATAH_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_END_SHIFT)) & I3C_MWDATAH_END_MASK) 980 /*! @} */ 981 982 /*! @name MWDATAHE - Controller Write Data Halfword End */ 983 /*! @{ */ 984 985 #define I3C_MWDATAHE_DATA0_MASK (0xFFU) 986 #define I3C_MWDATAHE_DATA0_SHIFT (0U) 987 #define I3C_MWDATAHE_DATA0_WIDTH (8U) 988 #define I3C_MWDATAHE_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAHE_DATA0_SHIFT)) & I3C_MWDATAHE_DATA0_MASK) 989 990 #define I3C_MWDATAHE_DATA1_MASK (0xFF00U) 991 #define I3C_MWDATAHE_DATA1_SHIFT (8U) 992 #define I3C_MWDATAHE_DATA1_WIDTH (8U) 993 #define I3C_MWDATAHE_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAHE_DATA1_SHIFT)) & I3C_MWDATAHE_DATA1_MASK) 994 /*! @} */ 995 996 /*! @name MRDATAB - Controller Read Data Byte */ 997 /*! @{ */ 998 999 #define I3C_MRDATAB_VALUE_MASK (0xFFU) 1000 #define I3C_MRDATAB_VALUE_SHIFT (0U) 1001 #define I3C_MRDATAB_VALUE_WIDTH (8U) 1002 #define I3C_MRDATAB_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAB_VALUE_SHIFT)) & I3C_MRDATAB_VALUE_MASK) 1003 /*! @} */ 1004 1005 /*! @name MWDATAB1 - Controller Write Byte Data 1 (to Bus) */ 1006 /*! @{ */ 1007 1008 #define I3C_MWDATAB1_VALUE_MASK (0xFFU) 1009 #define I3C_MWDATAB1_VALUE_SHIFT (0U) 1010 #define I3C_MWDATAB1_VALUE_WIDTH (8U) 1011 #define I3C_MWDATAB1_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB1_VALUE_SHIFT)) & I3C_MWDATAB1_VALUE_MASK) 1012 /*! @} */ 1013 1014 /*! @name MWMSG_SDR_CONTROL - Controller Write Message Control in SDR mode */ 1015 /*! @{ */ 1016 1017 #define I3C_MWMSG_SDR_CONTROL_DIR_MASK (0x1U) 1018 #define I3C_MWMSG_SDR_CONTROL_DIR_SHIFT (0U) 1019 #define I3C_MWMSG_SDR_CONTROL_DIR_WIDTH (1U) 1020 #define I3C_MWMSG_SDR_CONTROL_DIR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_DIR_SHIFT)) & I3C_MWMSG_SDR_CONTROL_DIR_MASK) 1021 1022 #define I3C_MWMSG_SDR_CONTROL_ADDR_MASK (0xFEU) 1023 #define I3C_MWMSG_SDR_CONTROL_ADDR_SHIFT (1U) 1024 #define I3C_MWMSG_SDR_CONTROL_ADDR_WIDTH (7U) 1025 #define I3C_MWMSG_SDR_CONTROL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_ADDR_SHIFT)) & I3C_MWMSG_SDR_CONTROL_ADDR_MASK) 1026 1027 #define I3C_MWMSG_SDR_CONTROL_END_MASK (0x100U) 1028 #define I3C_MWMSG_SDR_CONTROL_END_SHIFT (8U) 1029 #define I3C_MWMSG_SDR_CONTROL_END_WIDTH (1U) 1030 #define I3C_MWMSG_SDR_CONTROL_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_END_SHIFT)) & I3C_MWMSG_SDR_CONTROL_END_MASK) 1031 1032 #define I3C_MWMSG_SDR_CONTROL_I2C_MASK (0x400U) 1033 #define I3C_MWMSG_SDR_CONTROL_I2C_SHIFT (10U) 1034 #define I3C_MWMSG_SDR_CONTROL_I2C_WIDTH (1U) 1035 #define I3C_MWMSG_SDR_CONTROL_I2C(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_I2C_SHIFT)) & I3C_MWMSG_SDR_CONTROL_I2C_MASK) 1036 1037 #define I3C_MWMSG_SDR_CONTROL_LEN_MASK (0xF800U) 1038 #define I3C_MWMSG_SDR_CONTROL_LEN_SHIFT (11U) 1039 #define I3C_MWMSG_SDR_CONTROL_LEN_WIDTH (5U) 1040 #define I3C_MWMSG_SDR_CONTROL_LEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_LEN_SHIFT)) & I3C_MWMSG_SDR_CONTROL_LEN_MASK) 1041 /*! @} */ 1042 1043 /*! @name MWMSG_SDR_DATA - Controller Write Message Data in SDR mode */ 1044 /*! @{ */ 1045 1046 #define I3C_MWMSG_SDR_DATA_DATA16B_MASK (0xFFFFU) 1047 #define I3C_MWMSG_SDR_DATA_DATA16B_SHIFT (0U) 1048 #define I3C_MWMSG_SDR_DATA_DATA16B_WIDTH (16U) 1049 #define I3C_MWMSG_SDR_DATA_DATA16B(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_DATA_DATA16B_SHIFT)) & I3C_MWMSG_SDR_DATA_DATA16B_MASK) 1050 /*! @} */ 1051 1052 /*! @name MRMSG_SDR - Controller Read Message in SDR mode */ 1053 /*! @{ */ 1054 1055 #define I3C_MRMSG_SDR_DATA_MASK (0xFFFFU) 1056 #define I3C_MRMSG_SDR_DATA_SHIFT (0U) 1057 #define I3C_MRMSG_SDR_DATA_WIDTH (16U) 1058 #define I3C_MRMSG_SDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRMSG_SDR_DATA_SHIFT)) & I3C_MRMSG_SDR_DATA_MASK) 1059 /*! @} */ 1060 1061 /*! @name SMAPCTRL1 - Map Feature Control 1 */ 1062 /*! @{ */ 1063 1064 #define I3C_SMAPCTRL1_ENA_MASK (0x1U) 1065 #define I3C_SMAPCTRL1_ENA_SHIFT (0U) 1066 #define I3C_SMAPCTRL1_ENA_WIDTH (1U) 1067 #define I3C_SMAPCTRL1_ENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_ENA_SHIFT)) & I3C_SMAPCTRL1_ENA_MASK) 1068 1069 #define I3C_SMAPCTRL1_ADDR_MASK (0xFEU) 1070 #define I3C_SMAPCTRL1_ADDR_SHIFT (1U) 1071 #define I3C_SMAPCTRL1_ADDR_WIDTH (7U) 1072 #define I3C_SMAPCTRL1_ADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_ADDR_SHIFT)) & I3C_SMAPCTRL1_ADDR_MASK) 1073 1074 #define I3C_SMAPCTRL1_MAPSA_MASK (0x100U) 1075 #define I3C_SMAPCTRL1_MAPSA_SHIFT (8U) 1076 #define I3C_SMAPCTRL1_MAPSA_WIDTH (1U) 1077 #define I3C_SMAPCTRL1_MAPSA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_MAPSA_SHIFT)) & I3C_SMAPCTRL1_MAPSA_MASK) 1078 1079 #define I3C_SMAPCTRL1_NACK_MASK (0x1000U) 1080 #define I3C_SMAPCTRL1_NACK_SHIFT (12U) 1081 #define I3C_SMAPCTRL1_NACK_WIDTH (1U) 1082 #define I3C_SMAPCTRL1_NACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_NACK_SHIFT)) & I3C_SMAPCTRL1_NACK_MASK) 1083 /*! @} */ 1084 1085 /*! @name SELFRESET - Self Reset */ 1086 /*! @{ */ 1087 1088 #define I3C_SELFRESET_RST_MASK (0x1U) 1089 #define I3C_SELFRESET_RST_SHIFT (0U) 1090 #define I3C_SELFRESET_RST_WIDTH (1U) 1091 #define I3C_SELFRESET_RST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SELFRESET_RST_SHIFT)) & I3C_SELFRESET_RST_MASK) 1092 1093 #define I3C_SELFRESET_KEY_MASK (0xFFFFFF00U) 1094 #define I3C_SELFRESET_KEY_SHIFT (8U) 1095 #define I3C_SELFRESET_KEY_WIDTH (24U) 1096 #define I3C_SELFRESET_KEY(x) (((uint32_t)(((uint32_t)(x)) << I3C_SELFRESET_KEY_SHIFT)) & I3C_SELFRESET_KEY_MASK) 1097 /*! @} */ 1098 1099 /*! 1100 * @} 1101 */ /* end of group I3C_Register_Masks */ 1102 1103 /*! 1104 * @} 1105 */ /* end of group I3C_Peripheral_Access_Layer */ 1106 1107 #endif /* #if !defined(S32Z2_I3C_H_) */ 1108