123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364 |
- #ifndef _SAML11_DAC_COMPONENT_H_
- #define _SAML11_DAC_COMPONENT_H_
- #define _SAML11_DAC_COMPONENT_
- #define DAC_U2214
- #define REV_DAC 0x210
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t SWRST:1;
- uint8_t ENABLE:1;
- uint8_t :4;
- uint8_t RUNSTDBY:1;
- uint8_t :1;
- } bit;
- uint8_t reg;
- } DAC_CTRLA_Type;
- #endif
- #define DAC_CTRLA_OFFSET (0x00)
- #define DAC_CTRLA_RESETVALUE _U_(0x00)
- #define DAC_CTRLA_SWRST_Pos 0
- #define DAC_CTRLA_SWRST_Msk (_U_(0x1) << DAC_CTRLA_SWRST_Pos)
- #define DAC_CTRLA_SWRST DAC_CTRLA_SWRST_Msk
- #define DAC_CTRLA_ENABLE_Pos 1
- #define DAC_CTRLA_ENABLE_Msk (_U_(0x1) << DAC_CTRLA_ENABLE_Pos)
- #define DAC_CTRLA_ENABLE DAC_CTRLA_ENABLE_Msk
- #define DAC_CTRLA_RUNSTDBY_Pos 6
- #define DAC_CTRLA_RUNSTDBY_Msk (_U_(0x1) << DAC_CTRLA_RUNSTDBY_Pos)
- #define DAC_CTRLA_RUNSTDBY DAC_CTRLA_RUNSTDBY_Msk
- #define DAC_CTRLA_MASK _U_(0x43)
- #define DAC_CTRLA_Msk _U_(0x43)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t EOEN:1;
- uint8_t IOEN:1;
- uint8_t LEFTADJ:1;
- uint8_t VPD:1;
- uint8_t :1;
- uint8_t DITHER:1;
- uint8_t REFSEL:2;
- } bit;
- uint8_t reg;
- } DAC_CTRLB_Type;
- #endif
- #define DAC_CTRLB_OFFSET (0x01)
- #define DAC_CTRLB_RESETVALUE _U_(0x00)
- #define DAC_CTRLB_EOEN_Pos 0
- #define DAC_CTRLB_EOEN_Msk (_U_(0x1) << DAC_CTRLB_EOEN_Pos)
- #define DAC_CTRLB_EOEN DAC_CTRLB_EOEN_Msk
- #define DAC_CTRLB_IOEN_Pos 1
- #define DAC_CTRLB_IOEN_Msk (_U_(0x1) << DAC_CTRLB_IOEN_Pos)
- #define DAC_CTRLB_IOEN DAC_CTRLB_IOEN_Msk
- #define DAC_CTRLB_LEFTADJ_Pos 2
- #define DAC_CTRLB_LEFTADJ_Msk (_U_(0x1) << DAC_CTRLB_LEFTADJ_Pos)
- #define DAC_CTRLB_LEFTADJ DAC_CTRLB_LEFTADJ_Msk
- #define DAC_CTRLB_VPD_Pos 3
- #define DAC_CTRLB_VPD_Msk (_U_(0x1) << DAC_CTRLB_VPD_Pos)
- #define DAC_CTRLB_VPD DAC_CTRLB_VPD_Msk
- #define DAC_CTRLB_DITHER_Pos 5
- #define DAC_CTRLB_DITHER_Msk (_U_(0x1) << DAC_CTRLB_DITHER_Pos)
- #define DAC_CTRLB_DITHER DAC_CTRLB_DITHER_Msk
- #define DAC_CTRLB_REFSEL_Pos 6
- #define DAC_CTRLB_REFSEL_Msk (_U_(0x3) << DAC_CTRLB_REFSEL_Pos)
- #define DAC_CTRLB_REFSEL(value) (DAC_CTRLB_REFSEL_Msk & ((value) << DAC_CTRLB_REFSEL_Pos))
- #define DAC_CTRLB_REFSEL_INT1V_Val _U_(0x0)
- #define DAC_CTRLB_REFSEL_AVCC_Val _U_(0x1)
- #define DAC_CTRLB_REFSEL_VREFP_Val _U_(0x2)
- #define DAC_CTRLB_REFSEL_INT1V (DAC_CTRLB_REFSEL_INT1V_Val << DAC_CTRLB_REFSEL_Pos)
- #define DAC_CTRLB_REFSEL_AVCC (DAC_CTRLB_REFSEL_AVCC_Val << DAC_CTRLB_REFSEL_Pos)
- #define DAC_CTRLB_REFSEL_VREFP (DAC_CTRLB_REFSEL_VREFP_Val << DAC_CTRLB_REFSEL_Pos)
- #define DAC_CTRLB_MASK _U_(0xEF)
- #define DAC_CTRLB_Msk _U_(0xEF)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t STARTEI:1;
- uint8_t EMPTYEO:1;
- uint8_t INVEI:1;
- uint8_t :5;
- } bit;
- uint8_t reg;
- } DAC_EVCTRL_Type;
- #endif
- #define DAC_EVCTRL_OFFSET (0x02)
- #define DAC_EVCTRL_RESETVALUE _U_(0x00)
- #define DAC_EVCTRL_STARTEI_Pos 0
- #define DAC_EVCTRL_STARTEI_Msk (_U_(0x1) << DAC_EVCTRL_STARTEI_Pos)
- #define DAC_EVCTRL_STARTEI DAC_EVCTRL_STARTEI_Msk
- #define DAC_EVCTRL_EMPTYEO_Pos 1
- #define DAC_EVCTRL_EMPTYEO_Msk (_U_(0x1) << DAC_EVCTRL_EMPTYEO_Pos)
- #define DAC_EVCTRL_EMPTYEO DAC_EVCTRL_EMPTYEO_Msk
- #define DAC_EVCTRL_INVEI_Pos 2
- #define DAC_EVCTRL_INVEI_Msk (_U_(0x1) << DAC_EVCTRL_INVEI_Pos)
- #define DAC_EVCTRL_INVEI DAC_EVCTRL_INVEI_Msk
- #define DAC_EVCTRL_MASK _U_(0x07)
- #define DAC_EVCTRL_Msk _U_(0x07)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t UNDERRUN:1;
- uint8_t EMPTY:1;
- uint8_t :6;
- } bit;
- uint8_t reg;
- } DAC_INTENCLR_Type;
- #endif
- #define DAC_INTENCLR_OFFSET (0x04)
- #define DAC_INTENCLR_RESETVALUE _U_(0x00)
- #define DAC_INTENCLR_UNDERRUN_Pos 0
- #define DAC_INTENCLR_UNDERRUN_Msk (_U_(0x1) << DAC_INTENCLR_UNDERRUN_Pos)
- #define DAC_INTENCLR_UNDERRUN DAC_INTENCLR_UNDERRUN_Msk
- #define DAC_INTENCLR_EMPTY_Pos 1
- #define DAC_INTENCLR_EMPTY_Msk (_U_(0x1) << DAC_INTENCLR_EMPTY_Pos)
- #define DAC_INTENCLR_EMPTY DAC_INTENCLR_EMPTY_Msk
- #define DAC_INTENCLR_MASK _U_(0x03)
- #define DAC_INTENCLR_Msk _U_(0x03)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t UNDERRUN:1;
- uint8_t EMPTY:1;
- uint8_t :6;
- } bit;
- uint8_t reg;
- } DAC_INTENSET_Type;
- #endif
- #define DAC_INTENSET_OFFSET (0x05)
- #define DAC_INTENSET_RESETVALUE _U_(0x00)
- #define DAC_INTENSET_UNDERRUN_Pos 0
- #define DAC_INTENSET_UNDERRUN_Msk (_U_(0x1) << DAC_INTENSET_UNDERRUN_Pos)
- #define DAC_INTENSET_UNDERRUN DAC_INTENSET_UNDERRUN_Msk
- #define DAC_INTENSET_EMPTY_Pos 1
- #define DAC_INTENSET_EMPTY_Msk (_U_(0x1) << DAC_INTENSET_EMPTY_Pos)
- #define DAC_INTENSET_EMPTY DAC_INTENSET_EMPTY_Msk
- #define DAC_INTENSET_MASK _U_(0x03)
- #define DAC_INTENSET_Msk _U_(0x03)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- __I uint8_t UNDERRUN:1;
- __I uint8_t EMPTY:1;
- __I uint8_t :6;
- } bit;
- uint8_t reg;
- } DAC_INTFLAG_Type;
- #endif
- #define DAC_INTFLAG_OFFSET (0x06)
- #define DAC_INTFLAG_RESETVALUE _U_(0x00)
- #define DAC_INTFLAG_UNDERRUN_Pos 0
- #define DAC_INTFLAG_UNDERRUN_Msk (_U_(0x1) << DAC_INTFLAG_UNDERRUN_Pos)
- #define DAC_INTFLAG_UNDERRUN DAC_INTFLAG_UNDERRUN_Msk
- #define DAC_INTFLAG_EMPTY_Pos 1
- #define DAC_INTFLAG_EMPTY_Msk (_U_(0x1) << DAC_INTFLAG_EMPTY_Pos)
- #define DAC_INTFLAG_EMPTY DAC_INTFLAG_EMPTY_Msk
- #define DAC_INTFLAG_MASK _U_(0x03)
- #define DAC_INTFLAG_Msk _U_(0x03)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t READY:1;
- uint8_t :7;
- } bit;
- uint8_t reg;
- } DAC_STATUS_Type;
- #endif
- #define DAC_STATUS_OFFSET (0x07)
- #define DAC_STATUS_RESETVALUE _U_(0x00)
- #define DAC_STATUS_READY_Pos 0
- #define DAC_STATUS_READY_Msk (_U_(0x1) << DAC_STATUS_READY_Pos)
- #define DAC_STATUS_READY DAC_STATUS_READY_Msk
- #define DAC_STATUS_MASK _U_(0x01)
- #define DAC_STATUS_Msk _U_(0x01)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint16_t DATA:16;
- } bit;
- uint16_t reg;
- } DAC_DATA_Type;
- #endif
- #define DAC_DATA_OFFSET (0x08)
- #define DAC_DATA_RESETVALUE _U_(0x00)
- #define DAC_DATA_DATA_Pos 0
- #define DAC_DATA_DATA_Msk (_U_(0xFFFF) << DAC_DATA_DATA_Pos)
- #define DAC_DATA_DATA(value) (DAC_DATA_DATA_Msk & ((value) << DAC_DATA_DATA_Pos))
- #define DAC_DATA_MASK _U_(0xFFFF)
- #define DAC_DATA_Msk _U_(0xFFFF)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint16_t DATABUF:16;
- } bit;
- uint16_t reg;
- } DAC_DATABUF_Type;
- #endif
- #define DAC_DATABUF_OFFSET (0x0C)
- #define DAC_DATABUF_RESETVALUE _U_(0x00)
- #define DAC_DATABUF_DATABUF_Pos 0
- #define DAC_DATABUF_DATABUF_Msk (_U_(0xFFFF) << DAC_DATABUF_DATABUF_Pos)
- #define DAC_DATABUF_DATABUF(value) (DAC_DATABUF_DATABUF_Msk & ((value) << DAC_DATABUF_DATABUF_Pos))
- #define DAC_DATABUF_MASK _U_(0xFFFF)
- #define DAC_DATABUF_Msk _U_(0xFFFF)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint32_t SWRST:1;
- uint32_t ENABLE:1;
- uint32_t DATA:1;
- uint32_t DATABUF:1;
- uint32_t :28;
- } bit;
- uint32_t reg;
- } DAC_SYNCBUSY_Type;
- #endif
- #define DAC_SYNCBUSY_OFFSET (0x10)
- #define DAC_SYNCBUSY_RESETVALUE _U_(0x00)
- #define DAC_SYNCBUSY_SWRST_Pos 0
- #define DAC_SYNCBUSY_SWRST_Msk (_U_(0x1) << DAC_SYNCBUSY_SWRST_Pos)
- #define DAC_SYNCBUSY_SWRST DAC_SYNCBUSY_SWRST_Msk
- #define DAC_SYNCBUSY_ENABLE_Pos 1
- #define DAC_SYNCBUSY_ENABLE_Msk (_U_(0x1) << DAC_SYNCBUSY_ENABLE_Pos)
- #define DAC_SYNCBUSY_ENABLE DAC_SYNCBUSY_ENABLE_Msk
- #define DAC_SYNCBUSY_DATA_Pos 2
- #define DAC_SYNCBUSY_DATA_Msk (_U_(0x1) << DAC_SYNCBUSY_DATA_Pos)
- #define DAC_SYNCBUSY_DATA DAC_SYNCBUSY_DATA_Msk
- #define DAC_SYNCBUSY_DATABUF_Pos 3
- #define DAC_SYNCBUSY_DATABUF_Msk (_U_(0x1) << DAC_SYNCBUSY_DATABUF_Pos)
- #define DAC_SYNCBUSY_DATABUF DAC_SYNCBUSY_DATABUF_Msk
- #define DAC_SYNCBUSY_MASK _U_(0x0F)
- #define DAC_SYNCBUSY_Msk _U_(0x0F)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef union {
- struct {
- uint8_t DBGRUN:1;
- uint8_t :7;
- } bit;
- uint8_t reg;
- } DAC_DBGCTRL_Type;
- #endif
- #define DAC_DBGCTRL_OFFSET (0x14)
- #define DAC_DBGCTRL_RESETVALUE _U_(0x00)
- #define DAC_DBGCTRL_DBGRUN_Pos 0
- #define DAC_DBGCTRL_DBGRUN_Msk (_U_(0x1) << DAC_DBGCTRL_DBGRUN_Pos)
- #define DAC_DBGCTRL_DBGRUN DAC_DBGCTRL_DBGRUN_Msk
- #define DAC_DBGCTRL_MASK _U_(0x01)
- #define DAC_DBGCTRL_Msk _U_(0x01)
- #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- typedef struct {
- __IO DAC_CTRLA_Type CTRLA;
- __IO DAC_CTRLB_Type CTRLB;
- __IO DAC_EVCTRL_Type EVCTRL;
- __I uint8_t Reserved1[1];
- __IO DAC_INTENCLR_Type INTENCLR;
- __IO DAC_INTENSET_Type INTENSET;
- __IO DAC_INTFLAG_Type INTFLAG;
- __I DAC_STATUS_Type STATUS;
- __O DAC_DATA_Type DATA;
- __I uint8_t Reserved2[2];
- __O DAC_DATABUF_Type DATABUF;
- __I uint8_t Reserved3[2];
- __I DAC_SYNCBUSY_Type SYNCBUSY;
- __IO DAC_DBGCTRL_Type DBGCTRL;
- } Dac;
- #endif
- #endif
|