123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279 |
- /*
- * Copyright 2021-2024 NXP
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- #ifndef MU_H
- #define MU_H
- #include <stdint.h>
- typedef volatile unsigned int vuint32_t;
- /****************************************************************************/
- /* MODULE: Message Unit */
- /****************************************************************************/
- /* VER Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t FEATURE : 16;
- vuint32_t MINOR : 8;
- vuint32_t MAJOR : 8;
- } B;
- } MU_VER_t;
- /* PAR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t TR_NUM : 8;
- vuint32_t RR_NUM : 8;
- vuint32_t GIR_NUM : 8;
- vuint32_t FLAG_WIDTH : 8;
- } B;
- } MU_PAR_t;
- /* CR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t MUR : 1;
- vuint32_t MURIE : 1;
- vuint32_t rsrv_1 : 30;
- } B;
- } MU_CR_t;
- /* SR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t MURS : 1;
- vuint32_t MURIP : 1;
- vuint32_t EP : 1;
- vuint32_t FUP : 1;
- vuint32_t GIRP : 1;
- vuint32_t TEP : 1;
- vuint32_t RFP : 1;
- vuint32_t CEP : 1;
- vuint32_t rsrv_1 : 24;
- } B;
- } MU_SR_t;
- /* CCR0 Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t NMI : 1;
- vuint32_t HR : 1;
- vuint32_t HRM : 1;
- vuint32_t CLKE : 1;
- vuint32_t RSTH : 1;
- vuint32_t BOOT : 2;
- vuint32_t rsrv_1 : 25;
- } B;
- } MU_CCR0_t;
- /* CIER0 Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t rsrv_1 : 1;
- vuint32_t HRIE : 1;
- vuint32_t RUNIE : 1;
- vuint32_t RAIE : 1;
- vuint32_t HALTIE : 1;
- vuint32_t WAITIE : 1;
- vuint32_t STOPIE : 1;
- vuint32_t PDIE : 1;
- vuint32_t rsrv_2 : 24;
- } B;
- } MU_CIER0_t;
- /* CSSR0 Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t NMIC : 1;
- vuint32_t HRIP : 1;
- vuint32_t RUN : 1;
- vuint32_t RAIP : 1;
- vuint32_t HALT : 1;
- vuint32_t WAIT : 1;
- vuint32_t STOP : 1;
- vuint32_t PD : 1;
- vuint32_t rsrv_1 : 24;
- } B;
- } MU_CSSR0_t;
- /* CSR0 Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t rsrv_1 : 1;
- vuint32_t HRIP : 1;
- vuint32_t RUN : 1;
- vuint32_t RAIP : 1;
- vuint32_t HALT : 1;
- vuint32_t WAIT : 1;
- vuint32_t STOP : 1;
- vuint32_t PD : 1;
- vuint32_t rsrv_2 : 24;
- } B;
- } MU_CSR0_t;
- /* FCR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t F0 : 1;
- vuint32_t F1 : 1;
- vuint32_t F2 : 1;
- vuint32_t rsrv_1 : 29;
- } B;
- } MU_FCR_t;
- /* FSR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t F0 : 1;
- vuint32_t F1 : 1;
- vuint32_t F2 : 1;
- vuint32_t rsrv_1 : 29;
- } B;
- } MU_FSR_t;
- /* GIER Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t GIE0 : 1;
- vuint32_t GIE1 : 1;
- vuint32_t rsrv_1 : 30;
- } B;
- } MU_GIER_t;
- /* GCR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t GIR0 : 1;
- vuint32_t GIR1 : 1;
- vuint32_t rsrv_1 : 30;
- } B;
- } MU_GCR_t;
- /* GSR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t GIP0 : 1;
- vuint32_t GIP1 : 1;
- vuint32_t rsrv_1 : 30;
- } B;
- } MU_GSR_t;
- /* TCR Register */
- typedef union{
- vuint32_t R;
- struct {
- vuint32_t TIE0 : 1;
- vuint32_t TIE1 : 1;
- vuint32_t rsrv_1 : 30;
- } B;
- } MU_TCR_t;
- /* TSR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t TE0 : 1;
- vuint32_t TE1 : 1;
- vuint32_t rsrv_1 : 30;
- } B;
- } MU_TSR_t;
- /* RCR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t RIE0 : 1;
- vuint32_t RIE1 : 1;
- vuint32_t rsrv_1 : 30;
- } B;
- } MU_RCR_t;
- /* RSR Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t RF0 : 1;
- vuint32_t RF1 : 1;
- vuint32_t rsrv_1 : 30;
- } B;
- } MU_RSR_t;
- /* TR0 Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t TR_DATA : 32;
- } B;
- } MU_TR0_t;
- /* TR1 Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t TR_DATA : 32;
- } B;
- } MU_TR1_t;
- /* RR0 Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t RR_DATA : 32;
- } B;
- } MU_RR0_t;
- /* RR1 Register */
- typedef union {
- vuint32_t R;
- struct {
- vuint32_t RR_DATA : 32;
- } B;
- } MU_RR1_t;
- struct MU_t {
- MU_VER_t VER;
- MU_PAR_t PAR;
- MU_CR_t CR;
- MU_SR_t SR;
- MU_CCR0_t CCR0;
- MU_CIER0_t CIER0;
- MU_CSSR0_t CSSR0;
- MU_CSR0_t CSR0;
- uint8_t MU_reserved0[224];
- MU_FCR_t FCR;
- MU_FSR_t FSR;
- uint8_t MU_reserved1[8];
- MU_GIER_t GIER;
- MU_GCR_t GCR;
- MU_GSR_t GSR;
- uint8_t MU_reserved2[4];
- MU_TCR_t TCR;
- MU_TSR_t TSR;
- MU_RCR_t RCR;
- MU_RSR_t RSR;
- uint8_t MU_reserved3[208];
- MU_TR0_t TR[2];
- uint8_t MU_reserved4[120];
- MU_RR0_t RR[2];
- };
- #endif /* MU_H */
|