123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- #ifndef _SAML11_WDT_COMPONENT_H_
- #define _SAML11_WDT_COMPONENT_H_
- #define _SAML11_WDT_COMPONENT_
- #define WDT_U2251
- #define REV_WDT 0x200
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t :1;
- uint8_t ENABLE:1;
- uint8_t WEN:1;
- uint8_t :3;
- uint8_t RUNSTDBY:1;
- uint8_t ALWAYSON:1;
- } bit;
- uint8_t reg;
- } WDT_CTRLA_Type;
- #endif
- #define WDT_CTRLA_OFFSET (0x00)
- #define WDT_CTRLA_RESETVALUE _U_(0x00)
- #define WDT_CTRLA_ENABLE_Pos 1
- #define WDT_CTRLA_ENABLE_Msk (_U_(0x1) << WDT_CTRLA_ENABLE_Pos)
- #define WDT_CTRLA_ENABLE WDT_CTRLA_ENABLE_Msk
- #define WDT_CTRLA_WEN_Pos 2
- #define WDT_CTRLA_WEN_Msk (_U_(0x1) << WDT_CTRLA_WEN_Pos)
- #define WDT_CTRLA_WEN WDT_CTRLA_WEN_Msk
- #define WDT_CTRLA_RUNSTDBY_Pos 6
- #define WDT_CTRLA_RUNSTDBY_Msk (_U_(0x1) << WDT_CTRLA_RUNSTDBY_Pos)
- #define WDT_CTRLA_RUNSTDBY WDT_CTRLA_RUNSTDBY_Msk
- #define WDT_CTRLA_ALWAYSON_Pos 7
- #define WDT_CTRLA_ALWAYSON_Msk (_U_(0x1) << WDT_CTRLA_ALWAYSON_Pos)
- #define WDT_CTRLA_ALWAYSON WDT_CTRLA_ALWAYSON_Msk
- #define WDT_CTRLA_MASK _U_(0xC6)
- #define WDT_CTRLA_Msk _U_(0xC6)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t PER:4;
- uint8_t WINDOW:4;
- } bit;
- uint8_t reg;
- } WDT_CONFIG_Type;
- #endif
- #define WDT_CONFIG_OFFSET (0x01)
- #define WDT_CONFIG_RESETVALUE _U_(0xBB)
- #define WDT_CONFIG_PER_Pos 0
- #define WDT_CONFIG_PER_Msk (_U_(0xF) << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER(value) (WDT_CONFIG_PER_Msk & ((value) << WDT_CONFIG_PER_Pos))
- #define WDT_CONFIG_PER_CYC8_Val _U_(0x0)
- #define WDT_CONFIG_PER_CYC16_Val _U_(0x1)
- #define WDT_CONFIG_PER_CYC32_Val _U_(0x2)
- #define WDT_CONFIG_PER_CYC64_Val _U_(0x3)
- #define WDT_CONFIG_PER_CYC128_Val _U_(0x4)
- #define WDT_CONFIG_PER_CYC256_Val _U_(0x5)
- #define WDT_CONFIG_PER_CYC512_Val _U_(0x6)
- #define WDT_CONFIG_PER_CYC1024_Val _U_(0x7)
- #define WDT_CONFIG_PER_CYC2048_Val _U_(0x8)
- #define WDT_CONFIG_PER_CYC4096_Val _U_(0x9)
- #define WDT_CONFIG_PER_CYC8192_Val _U_(0xA)
- #define WDT_CONFIG_PER_CYC16384_Val _U_(0xB)
- #define WDT_CONFIG_PER_CYC8 (WDT_CONFIG_PER_CYC8_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC16 (WDT_CONFIG_PER_CYC16_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC32 (WDT_CONFIG_PER_CYC32_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC64 (WDT_CONFIG_PER_CYC64_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC128 (WDT_CONFIG_PER_CYC128_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC256 (WDT_CONFIG_PER_CYC256_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC512 (WDT_CONFIG_PER_CYC512_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC1024 (WDT_CONFIG_PER_CYC1024_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC2048 (WDT_CONFIG_PER_CYC2048_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC4096 (WDT_CONFIG_PER_CYC4096_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC8192 (WDT_CONFIG_PER_CYC8192_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_PER_CYC16384 (WDT_CONFIG_PER_CYC16384_Val << WDT_CONFIG_PER_Pos)
- #define WDT_CONFIG_WINDOW_Pos 4
- #define WDT_CONFIG_WINDOW_Msk (_U_(0xF) << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW(value) (WDT_CONFIG_WINDOW_Msk & ((value) << WDT_CONFIG_WINDOW_Pos))
- #define WDT_CONFIG_WINDOW_CYC8_Val _U_(0x0)
- #define WDT_CONFIG_WINDOW_CYC16_Val _U_(0x1)
- #define WDT_CONFIG_WINDOW_CYC32_Val _U_(0x2)
- #define WDT_CONFIG_WINDOW_CYC64_Val _U_(0x3)
- #define WDT_CONFIG_WINDOW_CYC128_Val _U_(0x4)
- #define WDT_CONFIG_WINDOW_CYC256_Val _U_(0x5)
- #define WDT_CONFIG_WINDOW_CYC512_Val _U_(0x6)
- #define WDT_CONFIG_WINDOW_CYC1024_Val _U_(0x7)
- #define WDT_CONFIG_WINDOW_CYC2048_Val _U_(0x8)
- #define WDT_CONFIG_WINDOW_CYC4096_Val _U_(0x9)
- #define WDT_CONFIG_WINDOW_CYC8192_Val _U_(0xA)
- #define WDT_CONFIG_WINDOW_CYC16384_Val _U_(0xB)
- #define WDT_CONFIG_WINDOW_CYC8 (WDT_CONFIG_WINDOW_CYC8_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC16 (WDT_CONFIG_WINDOW_CYC16_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC32 (WDT_CONFIG_WINDOW_CYC32_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC64 (WDT_CONFIG_WINDOW_CYC64_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC128 (WDT_CONFIG_WINDOW_CYC128_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC256 (WDT_CONFIG_WINDOW_CYC256_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC512 (WDT_CONFIG_WINDOW_CYC512_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC1024 (WDT_CONFIG_WINDOW_CYC1024_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC2048 (WDT_CONFIG_WINDOW_CYC2048_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC4096 (WDT_CONFIG_WINDOW_CYC4096_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC8192 (WDT_CONFIG_WINDOW_CYC8192_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_WINDOW_CYC16384 (WDT_CONFIG_WINDOW_CYC16384_Val << WDT_CONFIG_WINDOW_Pos)
- #define WDT_CONFIG_MASK _U_(0xFF)
- #define WDT_CONFIG_Msk _U_(0xFF)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t EWOFFSET:4;
- uint8_t :4;
- } bit;
- uint8_t reg;
- } WDT_EWCTRL_Type;
- #endif
- #define WDT_EWCTRL_OFFSET (0x02)
- #define WDT_EWCTRL_RESETVALUE _U_(0x0B)
- #define WDT_EWCTRL_EWOFFSET_Pos 0
- #define WDT_EWCTRL_EWOFFSET_Msk (_U_(0xF) << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET(value) (WDT_EWCTRL_EWOFFSET_Msk & ((value) << WDT_EWCTRL_EWOFFSET_Pos))
- #define WDT_EWCTRL_EWOFFSET_CYC8_Val _U_(0x0)
- #define WDT_EWCTRL_EWOFFSET_CYC16_Val _U_(0x1)
- #define WDT_EWCTRL_EWOFFSET_CYC32_Val _U_(0x2)
- #define WDT_EWCTRL_EWOFFSET_CYC64_Val _U_(0x3)
- #define WDT_EWCTRL_EWOFFSET_CYC128_Val _U_(0x4)
- #define WDT_EWCTRL_EWOFFSET_CYC256_Val _U_(0x5)
- #define WDT_EWCTRL_EWOFFSET_CYC512_Val _U_(0x6)
- #define WDT_EWCTRL_EWOFFSET_CYC1024_Val _U_(0x7)
- #define WDT_EWCTRL_EWOFFSET_CYC2048_Val _U_(0x8)
- #define WDT_EWCTRL_EWOFFSET_CYC4096_Val _U_(0x9)
- #define WDT_EWCTRL_EWOFFSET_CYC8192_Val _U_(0xA)
- #define WDT_EWCTRL_EWOFFSET_CYC16384_Val _U_(0xB)
- #define WDT_EWCTRL_EWOFFSET_CYC8 (WDT_EWCTRL_EWOFFSET_CYC8_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC16 (WDT_EWCTRL_EWOFFSET_CYC16_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC32 (WDT_EWCTRL_EWOFFSET_CYC32_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC64 (WDT_EWCTRL_EWOFFSET_CYC64_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC128 (WDT_EWCTRL_EWOFFSET_CYC128_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC256 (WDT_EWCTRL_EWOFFSET_CYC256_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC512 (WDT_EWCTRL_EWOFFSET_CYC512_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC1024 (WDT_EWCTRL_EWOFFSET_CYC1024_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC2048 (WDT_EWCTRL_EWOFFSET_CYC2048_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC4096 (WDT_EWCTRL_EWOFFSET_CYC4096_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC8192 (WDT_EWCTRL_EWOFFSET_CYC8192_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_EWOFFSET_CYC16384 (WDT_EWCTRL_EWOFFSET_CYC16384_Val << WDT_EWCTRL_EWOFFSET_Pos)
- #define WDT_EWCTRL_MASK _U_(0x0F)
- #define WDT_EWCTRL_Msk _U_(0x0F)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t EW:1;
- uint8_t :7;
- } bit;
- uint8_t reg;
- } WDT_INTENCLR_Type;
- #endif
- #define WDT_INTENCLR_OFFSET (0x04)
- #define WDT_INTENCLR_RESETVALUE _U_(0x00)
- #define WDT_INTENCLR_EW_Pos 0
- #define WDT_INTENCLR_EW_Msk (_U_(0x1) << WDT_INTENCLR_EW_Pos)
- #define WDT_INTENCLR_EW WDT_INTENCLR_EW_Msk
- #define WDT_INTENCLR_MASK _U_(0x01)
- #define WDT_INTENCLR_Msk _U_(0x01)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t EW:1;
- uint8_t :7;
- } bit;
- uint8_t reg;
- } WDT_INTENSET_Type;
- #endif
- #define WDT_INTENSET_OFFSET (0x05)
- #define WDT_INTENSET_RESETVALUE _U_(0x00)
- #define WDT_INTENSET_EW_Pos 0
- #define WDT_INTENSET_EW_Msk (_U_(0x1) << WDT_INTENSET_EW_Pos)
- #define WDT_INTENSET_EW WDT_INTENSET_EW_Msk
- #define WDT_INTENSET_MASK _U_(0x01)
- #define WDT_INTENSET_Msk _U_(0x01)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- __I uint8_t EW:1;
- __I uint8_t :7;
- } bit;
- uint8_t reg;
- } WDT_INTFLAG_Type;
- #endif
- #define WDT_INTFLAG_OFFSET (0x06)
- #define WDT_INTFLAG_RESETVALUE _U_(0x00)
- #define WDT_INTFLAG_EW_Pos 0
- #define WDT_INTFLAG_EW_Msk (_U_(0x1) << WDT_INTFLAG_EW_Pos)
- #define WDT_INTFLAG_EW WDT_INTFLAG_EW_Msk
- #define WDT_INTFLAG_MASK _U_(0x01)
- #define WDT_INTFLAG_Msk _U_(0x01)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint32_t :1;
- uint32_t ENABLE:1;
- uint32_t WEN:1;
- uint32_t RUNSTDBY:1;
- uint32_t ALWAYSON:1;
- uint32_t CLEAR:1;
- uint32_t :26;
- } bit;
- uint32_t reg;
- } WDT_SYNCBUSY_Type;
- #endif
- #define WDT_SYNCBUSY_OFFSET (0x08)
- #define WDT_SYNCBUSY_RESETVALUE _U_(0x00)
- #define WDT_SYNCBUSY_ENABLE_Pos 1
- #define WDT_SYNCBUSY_ENABLE_Msk (_U_(0x1) << WDT_SYNCBUSY_ENABLE_Pos)
- #define WDT_SYNCBUSY_ENABLE WDT_SYNCBUSY_ENABLE_Msk
- #define WDT_SYNCBUSY_WEN_Pos 2
- #define WDT_SYNCBUSY_WEN_Msk (_U_(0x1) << WDT_SYNCBUSY_WEN_Pos)
- #define WDT_SYNCBUSY_WEN WDT_SYNCBUSY_WEN_Msk
- #define WDT_SYNCBUSY_RUNSTDBY_Pos 3
- #define WDT_SYNCBUSY_RUNSTDBY_Msk (_U_(0x1) << WDT_SYNCBUSY_RUNSTDBY_Pos)
- #define WDT_SYNCBUSY_RUNSTDBY WDT_SYNCBUSY_RUNSTDBY_Msk
- #define WDT_SYNCBUSY_ALWAYSON_Pos 4
- #define WDT_SYNCBUSY_ALWAYSON_Msk (_U_(0x1) << WDT_SYNCBUSY_ALWAYSON_Pos)
- #define WDT_SYNCBUSY_ALWAYSON WDT_SYNCBUSY_ALWAYSON_Msk
- #define WDT_SYNCBUSY_CLEAR_Pos 5
- #define WDT_SYNCBUSY_CLEAR_Msk (_U_(0x1) << WDT_SYNCBUSY_CLEAR_Pos)
- #define WDT_SYNCBUSY_CLEAR WDT_SYNCBUSY_CLEAR_Msk
- #define WDT_SYNCBUSY_MASK _U_(0x3E)
- #define WDT_SYNCBUSY_Msk _U_(0x3E)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t CLEAR:8;
- } bit;
- uint8_t reg;
- } WDT_CLEAR_Type;
- #endif
- #define WDT_CLEAR_OFFSET (0x0C)
- #define WDT_CLEAR_RESETVALUE _U_(0x00)
- #define WDT_CLEAR_CLEAR_Pos 0
- #define WDT_CLEAR_CLEAR_Msk (_U_(0xFF) << WDT_CLEAR_CLEAR_Pos)
- #define WDT_CLEAR_CLEAR(value) (WDT_CLEAR_CLEAR_Msk & ((value) << WDT_CLEAR_CLEAR_Pos))
- #define WDT_CLEAR_CLEAR_KEY_Val _U_(0xA5)
- #define WDT_CLEAR_CLEAR_KEY (WDT_CLEAR_CLEAR_KEY_Val << WDT_CLEAR_CLEAR_Pos)
- #define WDT_CLEAR_MASK _U_(0xFF)
- #define WDT_CLEAR_Msk _U_(0xFF)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef struct {
- __IO WDT_CTRLA_Type CTRLA;
- __IO WDT_CONFIG_Type CONFIG;
- __IO WDT_EWCTRL_Type EWCTRL;
- __I uint8_t Reserved1[1];
- __IO WDT_INTENCLR_Type INTENCLR;
- __IO WDT_INTENSET_Type INTENSET;
- __IO WDT_INTFLAG_Type INTFLAG;
- __I uint8_t Reserved2[1];
- __I WDT_SYNCBUSY_Type SYNCBUSY;
- __O WDT_CLEAR_Type CLEAR;
- } Wdt;
- #endif
- #endif
|