From d03ea2cf84e51d60639f4cc5665196c1ef9a1f38 Mon Sep 17 00:00:00 2001 From: marc Date: Fri, 1 Mar 2019 13:19:50 +0100 Subject: [PATCH] Added support for ATSAME54 --- Makefile | 4 + boards/generic-atsame54/board.mk | 2 + boards/generic-atsame54/board_config.h | 26 + lib/same54/Atmel.SAME54_DFP.pdsc | 1025 + lib/same54/atdf/ATSAME54N19A.atdf | 12218 +++++ lib/same54/atdf/ATSAME54N20A.atdf | 12218 +++++ lib/same54/atdf/ATSAME54P19A.atdf | 12327 +++++ lib/same54/atdf/ATSAME54P20A.atdf | 12327 +++++ lib/same54/gcc/gcc/same54n19a_flash.ld | 162 + lib/same54/gcc/gcc/same54n19a_sram.ld | 161 + lib/same54/gcc/gcc/same54n20a_flash.ld | 162 + lib/same54/gcc/gcc/same54n20a_sram.ld | 161 + lib/same54/gcc/gcc/same54p19a_flash.ld | 162 + lib/same54/gcc/gcc/same54p19a_sram.ld | 161 + lib/same54/gcc/gcc/same54p20a_flash.ld | 162 + lib/same54/gcc/gcc/same54p20a_sram.ld | 161 + lib/same54/gcc/gcc/startup_same54.c | 547 + lib/same54/gcc/system_same54.c | 63 + .../config/debugger/Atmel/ATSAME54N19A.ddf | 32 + .../config/debugger/Atmel/ATSAME54N20A.ddf | 32 + .../config/debugger/Atmel/ATSAME54P19A.ddf | 32 + .../config/debugger/Atmel/ATSAME54P20A.ddf | 32 + .../config/debugger/Atmel/Trace_SAME54.dmac | 78 + .../devices/Atmel/ATSAME54/ATSAME54N19A.i79 | 41 + .../devices/Atmel/ATSAME54/ATSAME54N19A.menu | 7 + .../devices/Atmel/ATSAME54/ATSAME54N20A.i79 | 41 + .../devices/Atmel/ATSAME54/ATSAME54N20A.menu | 7 + .../devices/Atmel/ATSAME54/ATSAME54P19A.i79 | 41 + .../devices/Atmel/ATSAME54/ATSAME54P19A.menu | 7 + .../devices/Atmel/ATSAME54/ATSAME54P20A.i79 | 41 + .../devices/Atmel/ATSAME54/ATSAME54P20A.menu | 7 + .../Atmel/same54n19a/same54n19a-flash.board | 9 + .../Atmel/same54n19a/same54n19a-flash.flash | 15 + .../Atmel/same54n19a/same54n19a-flash.out | Bin 0 -> 54680 bytes .../Atmel/same54n20a/same54n20a-flash.board | 9 + .../Atmel/same54n20a/same54n20a-flash.flash | 15 + .../Atmel/same54n20a/same54n20a-flash.out | Bin 0 -> 54680 bytes .../Atmel/same54p19a/same54p19a-flash.board | 9 + .../Atmel/same54p19a/same54p19a-flash.flash | 15 + .../Atmel/same54p19a/same54p19a-flash.out | Bin 0 -> 54680 bytes .../Atmel/same54p20a/same54p20a-flash.board | 9 + .../Atmel/same54p20a/same54p20a-flash.flash | 15 + .../Atmel/same54p20a/same54p20a-flash.out | Bin 0 -> 54680 bytes lib/same54/iar/iar/same54n19a_flash.icf | 70 + lib/same54/iar/iar/same54n19a_sram.icf | 67 + lib/same54/iar/iar/same54n20a_flash.icf | 70 + lib/same54/iar/iar/same54n20a_sram.icf | 67 + lib/same54/iar/iar/same54p19a_flash.icf | 70 + lib/same54/iar/iar/same54p19a_sram.icf | 67 + lib/same54/iar/iar/same54p20a_flash.icf | 70 + lib/same54/iar/iar/same54p20a_sram.icf | 67 + lib/same54/iar/iar/startup_same54.c | 517 + lib/same54/iar/system_same54.c | 63 + lib/same54/include/component-version.h | 65 + lib/same54/include/component/ac.h | 597 + lib/same54/include/component/adc.h | 870 + lib/same54/include/component/aes.h | 374 + lib/same54/include/component/can.h | 3192 ++ lib/same54/include/component/ccl.h | 227 + lib/same54/include/component/cmcc.h | 356 + lib/same54/include/component/dac.h | 543 + lib/same54/include/component/dmac.h | 1415 + lib/same54/include/component/dsu.h | 1243 + lib/same54/include/component/eic.h | 496 + lib/same54/include/component/evsys.h | 586 + lib/same54/include/component/freqm.h | 232 + lib/same54/include/component/gclk.h | 271 + lib/same54/include/component/gmac.h | 2592 + lib/same54/include/component/hmatrixb.h | 83 + lib/same54/include/component/i2s.h | 746 + lib/same54/include/component/icm.h | 581 + lib/same54/include/component/mclk.h | 483 + lib/same54/include/component/nvmctrl.h | 858 + lib/same54/include/component/osc32kctrl.h | 302 + lib/same54/include/component/oscctrl.h | 792 + lib/same54/include/component/pac.h | 689 + lib/same54/include/component/pcc.h | 250 + lib/same54/include/component/pdec.h | 725 + lib/same54/include/component/picop.h | 1321 + lib/same54/include/component/pm.h | 260 + lib/same54/include/component/port.h | 413 + lib/same54/include/component/qspi.h | 527 + lib/same54/include/component/ramecc.h | 177 + lib/same54/include/component/rstc.h | 114 + lib/same54/include/component/rtc.h | 2097 + lib/same54/include/component/sdhc.h | 2598 + lib/same54/include/component/sercom.h | 1679 + lib/same54/include/component/supc.h | 553 + lib/same54/include/component/tal.h | 1841 + lib/same54/include/component/tc.h | 850 + lib/same54/include/component/tcc.h | 1761 + lib/same54/include/component/trng.h | 171 + lib/same54/include/component/usb.h | 1776 + lib/same54/include/component/wdt.h | 299 + lib/same54/include/instance/ac.h | 78 + lib/same54/include/instance/adc0.h | 99 + lib/same54/include/instance/adc1.h | 99 + lib/same54/include/instance/aes.h | 104 + lib/same54/include/instance/can0.h | 138 + lib/same54/include/instance/can1.h | 138 + lib/same54/include/instance/ccl.h | 56 + lib/same54/include/instance/cmcc.h | 60 + lib/same54/include/instance/dac.h | 87 + lib/same54/include/instance/dmac.h | 595 + lib/same54/include/instance/dsu.h | 120 + lib/same54/include/instance/eic.h | 72 + lib/same54/include/instance/evsys.h | 722 + lib/same54/include/instance/freqm.h | 58 + lib/same54/include/instance/gclk.h | 190 + lib/same54/include/instance/gmac.h | 262 + lib/same54/include/instance/hmatrix.h | 88 + lib/same54/include/instance/i2s.h | 80 + lib/same54/include/instance/icm.h | 76 + lib/same54/include/instance/mclk.h | 60 + lib/same54/include/instance/nvmctrl.h | 74 + lib/same54/include/instance/osc32kctrl.h | 58 + lib/same54/include/instance/oscctrl.h | 129 + lib/same54/include/instance/pac.h | 68 + lib/same54/include/instance/pcc.h | 57 + lib/same54/include/instance/pdec.h | 79 + lib/same54/include/instance/picop.h | 147 + lib/same54/include/instance/pm.h | 58 + lib/same54/include/instance/port.h | 183 + lib/same54/include/instance/pukcc.h | 57 + lib/same54/include/instance/qspi.h | 71 + lib/same54/include/instance/ramecc.h | 53 + lib/same54/include/instance/rstc.h | 47 + lib/same54/include/instance/rtc.h | 155 + lib/same54/include/instance/sdhc0.h | 146 + lib/same54/include/instance/sdhc1.h | 146 + lib/same54/include/instance/sercom0.h | 180 + lib/same54/include/instance/sercom1.h | 180 + lib/same54/include/instance/sercom2.h | 180 + lib/same54/include/instance/sercom3.h | 180 + lib/same54/include/instance/sercom4.h | 180 + lib/same54/include/instance/sercom5.h | 180 + lib/same54/include/instance/sercom6.h | 180 + lib/same54/include/instance/sercom7.h | 180 + lib/same54/include/instance/supc.h | 63 + lib/same54/include/instance/tal.h | 540 + lib/same54/include/instance/tc0.h | 108 + lib/same54/include/instance/tc1.h | 108 + lib/same54/include/instance/tc2.h | 108 + lib/same54/include/instance/tc3.h | 108 + lib/same54/include/instance/tc4.h | 108 + lib/same54/include/instance/tc5.h | 108 + lib/same54/include/instance/tc6.h | 108 + lib/same54/include/instance/tc7.h | 108 + lib/same54/include/instance/tcc0.h | 124 + lib/same54/include/instance/tcc1.h | 114 + lib/same54/include/instance/tcc2.h | 105 + lib/same54/include/instance/tcc3.h | 98 + lib/same54/include/instance/tcc4.h | 98 + lib/same54/include/instance/trng.h | 50 + lib/same54/include/instance/usb.h | 342 + lib/same54/include/instance/wdt.h | 54 + lib/same54/include/pio/same54n19a.h | 2692 + lib/same54/include/pio/same54n20a.h | 2692 + lib/same54/include/pio/same54p19a.h | 3014 + lib/same54/include/pio/same54p20a.h | 3014 + lib/same54/include/sam.h | 44 + lib/same54/include/same54.h | 49 + lib/same54/include/same54n19a.h | 1145 + lib/same54/include/same54n20a.h | 1145 + lib/same54/include/same54p19a.h | 1145 + lib/same54/include/same54p20a.h | 1145 + lib/same54/include/system_same54.h | 47 + lib/same54/package.content | 234 + lib/same54/svd/ATSAME54N19A.svd | 45503 +++++++++++++++ lib/same54/svd/ATSAME54N20A.svd | 45503 +++++++++++++++ lib/same54/svd/ATSAME54P19A.svd | 45517 ++++++++++++++++ lib/same54/svd/ATSAME54P20A.svd | 45517 ++++++++++++++++ lib/same54/templates/library.c | 15 + lib/same54/templates/library.cpp | 15 + lib/same54/templates/main.c | 21 + lib/same54/templates/main.cpp | 21 + src/startup_samd51.c | 2 +- 177 files changed, 295757 insertions(+), 1 deletion(-) mode change 100644 => 100755 Makefile create mode 100755 boards/generic-atsame54/board.mk create mode 100755 boards/generic-atsame54/board_config.h create mode 100644 lib/same54/Atmel.SAME54_DFP.pdsc create mode 100644 lib/same54/atdf/ATSAME54N19A.atdf create mode 100644 lib/same54/atdf/ATSAME54N20A.atdf create mode 100644 lib/same54/atdf/ATSAME54P19A.atdf create mode 100644 lib/same54/atdf/ATSAME54P20A.atdf create mode 100644 lib/same54/gcc/gcc/same54n19a_flash.ld create mode 100644 lib/same54/gcc/gcc/same54n19a_sram.ld create mode 100644 lib/same54/gcc/gcc/same54n20a_flash.ld create mode 100644 lib/same54/gcc/gcc/same54n20a_sram.ld create mode 100644 lib/same54/gcc/gcc/same54p19a_flash.ld create mode 100644 lib/same54/gcc/gcc/same54p19a_sram.ld create mode 100644 lib/same54/gcc/gcc/same54p20a_flash.ld create mode 100644 lib/same54/gcc/gcc/same54p20a_sram.ld create mode 100644 lib/same54/gcc/gcc/startup_same54.c create mode 100644 lib/same54/gcc/system_same54.c create mode 100644 lib/same54/iar/config/debugger/Atmel/ATSAME54N19A.ddf create mode 100644 lib/same54/iar/config/debugger/Atmel/ATSAME54N20A.ddf create mode 100644 lib/same54/iar/config/debugger/Atmel/ATSAME54P19A.ddf create mode 100644 lib/same54/iar/config/debugger/Atmel/ATSAME54P20A.ddf create mode 100644 lib/same54/iar/config/debugger/Atmel/Trace_SAME54.dmac create mode 100644 lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N19A.i79 create mode 100644 lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N19A.menu create mode 100644 lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N20A.i79 create mode 100644 lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N20A.menu create mode 100644 lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P19A.i79 create mode 100644 lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P19A.menu create mode 100644 lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P20A.i79 create mode 100644 lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P20A.menu create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.board create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.flash create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.out create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.board create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.flash create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.out create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.board create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.flash create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.out create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.board create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.flash create mode 100644 lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.out create mode 100644 lib/same54/iar/iar/same54n19a_flash.icf create mode 100644 lib/same54/iar/iar/same54n19a_sram.icf create mode 100644 lib/same54/iar/iar/same54n20a_flash.icf create mode 100644 lib/same54/iar/iar/same54n20a_sram.icf create mode 100644 lib/same54/iar/iar/same54p19a_flash.icf create mode 100644 lib/same54/iar/iar/same54p19a_sram.icf create mode 100644 lib/same54/iar/iar/same54p20a_flash.icf create mode 100644 lib/same54/iar/iar/same54p20a_sram.icf create mode 100644 lib/same54/iar/iar/startup_same54.c create mode 100644 lib/same54/iar/system_same54.c create mode 100644 lib/same54/include/component-version.h create mode 100644 lib/same54/include/component/ac.h create mode 100644 lib/same54/include/component/adc.h create mode 100644 lib/same54/include/component/aes.h create mode 100644 lib/same54/include/component/can.h create mode 100644 lib/same54/include/component/ccl.h create mode 100644 lib/same54/include/component/cmcc.h create mode 100644 lib/same54/include/component/dac.h create mode 100644 lib/same54/include/component/dmac.h create mode 100644 lib/same54/include/component/dsu.h create mode 100644 lib/same54/include/component/eic.h create mode 100644 lib/same54/include/component/evsys.h create mode 100644 lib/same54/include/component/freqm.h create mode 100644 lib/same54/include/component/gclk.h create mode 100644 lib/same54/include/component/gmac.h create mode 100644 lib/same54/include/component/hmatrixb.h create mode 100644 lib/same54/include/component/i2s.h create mode 100644 lib/same54/include/component/icm.h create mode 100644 lib/same54/include/component/mclk.h create mode 100644 lib/same54/include/component/nvmctrl.h create mode 100644 lib/same54/include/component/osc32kctrl.h create mode 100644 lib/same54/include/component/oscctrl.h create mode 100644 lib/same54/include/component/pac.h create mode 100644 lib/same54/include/component/pcc.h create mode 100644 lib/same54/include/component/pdec.h create mode 100644 lib/same54/include/component/picop.h create mode 100644 lib/same54/include/component/pm.h create mode 100644 lib/same54/include/component/port.h create mode 100644 lib/same54/include/component/qspi.h create mode 100644 lib/same54/include/component/ramecc.h create mode 100644 lib/same54/include/component/rstc.h create mode 100644 lib/same54/include/component/rtc.h create mode 100644 lib/same54/include/component/sdhc.h create mode 100644 lib/same54/include/component/sercom.h create mode 100644 lib/same54/include/component/supc.h create mode 100644 lib/same54/include/component/tal.h create mode 100644 lib/same54/include/component/tc.h create mode 100644 lib/same54/include/component/tcc.h create mode 100644 lib/same54/include/component/trng.h create mode 100644 lib/same54/include/component/usb.h create mode 100644 lib/same54/include/component/wdt.h create mode 100644 lib/same54/include/instance/ac.h create mode 100644 lib/same54/include/instance/adc0.h create mode 100644 lib/same54/include/instance/adc1.h create mode 100644 lib/same54/include/instance/aes.h create mode 100644 lib/same54/include/instance/can0.h create mode 100644 lib/same54/include/instance/can1.h create mode 100644 lib/same54/include/instance/ccl.h create mode 100644 lib/same54/include/instance/cmcc.h create mode 100644 lib/same54/include/instance/dac.h create mode 100644 lib/same54/include/instance/dmac.h create mode 100644 lib/same54/include/instance/dsu.h create mode 100644 lib/same54/include/instance/eic.h create mode 100644 lib/same54/include/instance/evsys.h create mode 100644 lib/same54/include/instance/freqm.h create mode 100644 lib/same54/include/instance/gclk.h create mode 100644 lib/same54/include/instance/gmac.h create mode 100644 lib/same54/include/instance/hmatrix.h create mode 100644 lib/same54/include/instance/i2s.h create mode 100644 lib/same54/include/instance/icm.h create mode 100644 lib/same54/include/instance/mclk.h create mode 100644 lib/same54/include/instance/nvmctrl.h create mode 100644 lib/same54/include/instance/osc32kctrl.h create mode 100644 lib/same54/include/instance/oscctrl.h create mode 100644 lib/same54/include/instance/pac.h create mode 100644 lib/same54/include/instance/pcc.h create mode 100644 lib/same54/include/instance/pdec.h create mode 100644 lib/same54/include/instance/picop.h create mode 100644 lib/same54/include/instance/pm.h create mode 100644 lib/same54/include/instance/port.h create mode 100644 lib/same54/include/instance/pukcc.h create mode 100644 lib/same54/include/instance/qspi.h create mode 100644 lib/same54/include/instance/ramecc.h create mode 100644 lib/same54/include/instance/rstc.h create mode 100644 lib/same54/include/instance/rtc.h create mode 100644 lib/same54/include/instance/sdhc0.h create mode 100644 lib/same54/include/instance/sdhc1.h create mode 100644 lib/same54/include/instance/sercom0.h create mode 100644 lib/same54/include/instance/sercom1.h create mode 100644 lib/same54/include/instance/sercom2.h create mode 100644 lib/same54/include/instance/sercom3.h create mode 100644 lib/same54/include/instance/sercom4.h create mode 100644 lib/same54/include/instance/sercom5.h create mode 100644 lib/same54/include/instance/sercom6.h create mode 100644 lib/same54/include/instance/sercom7.h create mode 100644 lib/same54/include/instance/supc.h create mode 100644 lib/same54/include/instance/tal.h create mode 100644 lib/same54/include/instance/tc0.h create mode 100644 lib/same54/include/instance/tc1.h create mode 100644 lib/same54/include/instance/tc2.h create mode 100644 lib/same54/include/instance/tc3.h create mode 100644 lib/same54/include/instance/tc4.h create mode 100644 lib/same54/include/instance/tc5.h create mode 100644 lib/same54/include/instance/tc6.h create mode 100644 lib/same54/include/instance/tc7.h create mode 100644 lib/same54/include/instance/tcc0.h create mode 100644 lib/same54/include/instance/tcc1.h create mode 100644 lib/same54/include/instance/tcc2.h create mode 100644 lib/same54/include/instance/tcc3.h create mode 100644 lib/same54/include/instance/tcc4.h create mode 100644 lib/same54/include/instance/trng.h create mode 100644 lib/same54/include/instance/usb.h create mode 100644 lib/same54/include/instance/wdt.h create mode 100644 lib/same54/include/pio/same54n19a.h create mode 100644 lib/same54/include/pio/same54n20a.h create mode 100644 lib/same54/include/pio/same54p19a.h create mode 100644 lib/same54/include/pio/same54p20a.h create mode 100644 lib/same54/include/sam.h create mode 100644 lib/same54/include/same54.h create mode 100644 lib/same54/include/same54n19a.h create mode 100644 lib/same54/include/same54n20a.h create mode 100644 lib/same54/include/same54p19a.h create mode 100644 lib/same54/include/same54p20a.h create mode 100644 lib/same54/include/system_same54.h create mode 100644 lib/same54/package.content create mode 100644 lib/same54/svd/ATSAME54N19A.svd create mode 100644 lib/same54/svd/ATSAME54N20A.svd create mode 100644 lib/same54/svd/ATSAME54P19A.svd create mode 100644 lib/same54/svd/ATSAME54P20A.svd create mode 100644 lib/same54/templates/library.c create mode 100644 lib/same54/templates/library.cpp create mode 100644 lib/same54/templates/main.c create mode 100644 lib/same54/templates/main.cpp diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 index f878accf..ae078e2d --- a/Makefile +++ b/Makefile @@ -56,8 +56,12 @@ INCLUDES += -Ilib/samd21/samd21a/include/ endif ifeq ($(CHIP_FAMILY), samd51) +ifeq ($(findstring SAME54,$(CHIP_VARIANT)),SAME54) +INCLUDES += -Ilib/same54/include/ +else INCLUDES += -Ilib/samd51/include/ endif +endif COMMON_SRC = \ src/flash_$(CHIP_FAMILY).c \ diff --git a/boards/generic-atsame54/board.mk b/boards/generic-atsame54/board.mk new file mode 100755 index 00000000..d7dca8b0 --- /dev/null +++ b/boards/generic-atsame54/board.mk @@ -0,0 +1,2 @@ +CHIP_FAMILY = samd51 +CHIP_VARIANT = SAME54N20A diff --git a/boards/generic-atsame54/board_config.h b/boards/generic-atsame54/board_config.h new file mode 100755 index 00000000..85e093ed --- /dev/null +++ b/boards/generic-atsame54/board_config.h @@ -0,0 +1,26 @@ +#ifndef BOARD_CONFIG_H +#define BOARD_CONFIG_H + +#define VENDOR_NAME "Generic Corp." +#define PRODUCT_NAME "SAME54 Board" +#define VOLUME_LABEL "SAME54" + +#define USB_VID 0x03EB // Atmel +#define USB_PID 0x2402 // Generic HID device + +#define BOARD_ID "SAME54N20A-Generic" + +#define LED_PIN PIN_PB31 + +#define BOOT_USART_MODULE SERCOM4 +#define BOOT_USART_MASK APBDMASK +#define BOOT_USART_BUS_CLOCK_INDEX MCLK_APBDMASK_SERCOM4 +#define BOOT_USART_PAD_SETTINGS UART_RX_PAD1_TX_PAD0 +#define BOOT_USART_PAD3 PINMUX_UNUSED +#define BOOT_USART_PAD2 PINMUX_UNUSED +#define BOOT_USART_PAD1 PINMUX_PB09D_SERCOM4_PAD1 +#define BOOT_USART_PAD0 PINMUX_PB08D_SERCOM4_PAD0 +#define BOOT_GCLK_ID_CORE SERCOM4_GCLK_ID_CORE +#define BOOT_GCLK_ID_SLOW SERCOM4_GCLK_ID_SLOW + +#endif diff --git a/lib/same54/Atmel.SAME54_DFP.pdsc b/lib/same54/Atmel.SAME54_DFP.pdsc new file mode 100644 index 00000000..8e944d30 --- /dev/null +++ b/lib/same54/Atmel.SAME54_DFP.pdsc @@ -0,0 +1,1025 @@ + + + Atmel + http://packs.download.atmel.com/ + SAME54_DFP + Atmel SAME54 Series Device Support + + Initial version. + + + Atmel + Device Support + Device Family Package Atmel + SAME54 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Headers and startup code for Atmel ATSAME54P20A + + + + + + + + + + + + + + + + + + + Headers and startup code for Atmel ATSAME54P19A + + + + + + + + + + + + + + + + + + + Headers and startup code for Atmel ATSAME54N20A + + + + + + + + + + + + + + + + + + + Headers and startup code for Atmel ATSAME54N19A + + + + + + + + + + + + + + + + + + + diff --git a/lib/same54/atdf/ATSAME54N19A.atdf b/lib/same54/atdf/ATSAME54N19A.atdf new file mode 100644 index 00000000..cda138ac --- /dev/null +++ b/lib/same54/atdf/ATSAME54N19A.atdf @@ -0,0 +1,12218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/same54/atdf/ATSAME54N20A.atdf b/lib/same54/atdf/ATSAME54N20A.atdf new file mode 100644 index 00000000..8a95ff45 --- /dev/null +++ b/lib/same54/atdf/ATSAME54N20A.atdf @@ -0,0 +1,12218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/same54/atdf/ATSAME54P19A.atdf b/lib/same54/atdf/ATSAME54P19A.atdf new file mode 100644 index 00000000..ff5004e8 --- /dev/null +++ b/lib/same54/atdf/ATSAME54P19A.atdf @@ -0,0 +1,12327 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/same54/atdf/ATSAME54P20A.atdf b/lib/same54/atdf/ATSAME54P20A.atdf new file mode 100644 index 00000000..7477d417 --- /dev/null +++ b/lib/same54/atdf/ATSAME54P20A.atdf @@ -0,0 +1,12327 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/same54/gcc/gcc/same54n19a_flash.ld b/lib/same54/gcc/gcc/same54n19a_flash.ld new file mode 100644 index 00000000..bb909ac2 --- /dev/null +++ b/lib/same54/gcc/gcc/same54n19a_flash.ld @@ -0,0 +1,162 @@ +/** + * \file + * + * \brief Linker script for running in internal FLASH on the SAME54N19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000 + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000 + bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 + qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0xC000; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + .bkupram (NOLOAD): + { + . = ALIGN(8); + _sbkupram = .; + *(.bkupram .bkupram.*); + . = ALIGN(8); + _ebkupram = .; + } > bkupram + + .qspi (NOLOAD): + { + . = ALIGN(8); + _sqspi = .; + *(.qspi .qspi.*); + . = ALIGN(8); + _eqspi = .; + } > qspi + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/lib/same54/gcc/gcc/same54n19a_sram.ld b/lib/same54/gcc/gcc/same54n19a_sram.ld new file mode 100644 index 00000000..1549dcd4 --- /dev/null +++ b/lib/same54/gcc/gcc/same54n19a_sram.ld @@ -0,0 +1,161 @@ +/** + * \file + * + * \brief Linker script for running in internal SRAM on the SAME54N19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000 + bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 + qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0xC000; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > ram + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ram + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + .bkupram (NOLOAD): + { + . = ALIGN(8); + _sbkupram = .; + *(.bkupram .bkupram.*); + . = ALIGN(8); + _ebkupram = .; + } > bkupram + + .qspi (NOLOAD): + { + . = ALIGN(8); + _sqspi = .; + *(.qspi .qspi.*); + . = ALIGN(8); + _eqspi = .; + } > qspi + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/lib/same54/gcc/gcc/same54n20a_flash.ld b/lib/same54/gcc/gcc/same54n20a_flash.ld new file mode 100644 index 00000000..4ccaa9a9 --- /dev/null +++ b/lib/same54/gcc/gcc/same54n20a_flash.ld @@ -0,0 +1,162 @@ +/** + * \file + * + * \brief Linker script for running in internal FLASH on the SAME54N20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00100000 + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00040000 + bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 + qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x10000; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + .bkupram (NOLOAD): + { + . = ALIGN(8); + _sbkupram = .; + *(.bkupram .bkupram.*); + . = ALIGN(8); + _ebkupram = .; + } > bkupram + + .qspi (NOLOAD): + { + . = ALIGN(8); + _sqspi = .; + *(.qspi .qspi.*); + . = ALIGN(8); + _eqspi = .; + } > qspi + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/lib/same54/gcc/gcc/same54n20a_sram.ld b/lib/same54/gcc/gcc/same54n20a_sram.ld new file mode 100644 index 00000000..bf2db80a --- /dev/null +++ b/lib/same54/gcc/gcc/same54n20a_sram.ld @@ -0,0 +1,161 @@ +/** + * \file + * + * \brief Linker script for running in internal SRAM on the SAME54N20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00040000 + bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 + qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x10000; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > ram + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ram + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + .bkupram (NOLOAD): + { + . = ALIGN(8); + _sbkupram = .; + *(.bkupram .bkupram.*); + . = ALIGN(8); + _ebkupram = .; + } > bkupram + + .qspi (NOLOAD): + { + . = ALIGN(8); + _sqspi = .; + *(.qspi .qspi.*); + . = ALIGN(8); + _eqspi = .; + } > qspi + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/lib/same54/gcc/gcc/same54p19a_flash.ld b/lib/same54/gcc/gcc/same54p19a_flash.ld new file mode 100644 index 00000000..4896ce97 --- /dev/null +++ b/lib/same54/gcc/gcc/same54p19a_flash.ld @@ -0,0 +1,162 @@ +/** + * \file + * + * \brief Linker script for running in internal FLASH on the SAME54P19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00080000 + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000 + bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 + qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0xC000; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + .bkupram (NOLOAD): + { + . = ALIGN(8); + _sbkupram = .; + *(.bkupram .bkupram.*); + . = ALIGN(8); + _ebkupram = .; + } > bkupram + + .qspi (NOLOAD): + { + . = ALIGN(8); + _sqspi = .; + *(.qspi .qspi.*); + . = ALIGN(8); + _eqspi = .; + } > qspi + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/lib/same54/gcc/gcc/same54p19a_sram.ld b/lib/same54/gcc/gcc/same54p19a_sram.ld new file mode 100644 index 00000000..77c42560 --- /dev/null +++ b/lib/same54/gcc/gcc/same54p19a_sram.ld @@ -0,0 +1,161 @@ +/** + * \file + * + * \brief Linker script for running in internal SRAM on the SAME54P19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00030000 + bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 + qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0xC000; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > ram + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ram + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + .bkupram (NOLOAD): + { + . = ALIGN(8); + _sbkupram = .; + *(.bkupram .bkupram.*); + . = ALIGN(8); + _ebkupram = .; + } > bkupram + + .qspi (NOLOAD): + { + . = ALIGN(8); + _sqspi = .; + *(.qspi .qspi.*); + . = ALIGN(8); + _eqspi = .; + } > qspi + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/lib/same54/gcc/gcc/same54p20a_flash.ld b/lib/same54/gcc/gcc/same54p20a_flash.ld new file mode 100644 index 00000000..401c18a3 --- /dev/null +++ b/lib/same54/gcc/gcc/same54p20a_flash.ld @@ -0,0 +1,162 @@ +/** + * \file + * + * \brief Linker script for running in internal FLASH on the SAME54P20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00100000 + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00040000 + bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 + qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x10000; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + .bkupram (NOLOAD): + { + . = ALIGN(8); + _sbkupram = .; + *(.bkupram .bkupram.*); + . = ALIGN(8); + _ebkupram = .; + } > bkupram + + .qspi (NOLOAD): + { + . = ALIGN(8); + _sqspi = .; + *(.qspi .qspi.*); + . = ALIGN(8); + _eqspi = .; + } > qspi + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/lib/same54/gcc/gcc/same54p20a_sram.ld b/lib/same54/gcc/gcc/same54p20a_sram.ld new file mode 100644 index 00000000..3f931917 --- /dev/null +++ b/lib/same54/gcc/gcc/same54p20a_sram.ld @@ -0,0 +1,161 @@ +/** + * \file + * + * \brief Linker script for running in internal SRAM on the SAME54P20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00040000 + bkupram (rwx) : ORIGIN = 0x47000000, LENGTH = 0x00002000 + qspi (rwx) : ORIGIN = 0x04000000, LENGTH = 0x01000000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x10000; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > ram + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ram + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + .bkupram (NOLOAD): + { + . = ALIGN(8); + _sbkupram = .; + *(.bkupram .bkupram.*); + . = ALIGN(8); + _ebkupram = .; + } > bkupram + + .qspi (NOLOAD): + { + . = ALIGN(8); + _sqspi = .; + *(.qspi .qspi.*); + . = ALIGN(8); + _eqspi = .; + } > qspi + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + STACK_SIZE; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/lib/same54/gcc/gcc/startup_same54.c b/lib/same54/gcc/gcc/startup_same54.c new file mode 100644 index 00000000..ac6998c5 --- /dev/null +++ b/lib/same54/gcc/gcc/startup_same54.c @@ -0,0 +1,547 @@ +/** + * \file + * + * \brief gcc starttup file for SAME54 + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#include "same54.h" + +/* Initialize segments */ +extern uint32_t _sfixed; +extern uint32_t _efixed; +extern uint32_t _etext; +extern uint32_t _srelocate; +extern uint32_t _erelocate; +extern uint32_t _szero; +extern uint32_t _ezero; +extern uint32_t _sstack; +extern uint32_t _estack; + +/** \cond DOXYGEN_SHOULD_SKIP_THIS */ +int main(void); +/** \endcond */ + +void __libc_init_array(void); + +/* Default empty handler */ +void Dummy_Handler(void); + +/* Cortex-M4 core handlers */ +void NMI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void MemManage_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void BusFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void UsageFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void SVC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void DebugMon_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); + +/* Peripherals handlers */ +void PM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void MCLK_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void OSCCTRL_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ +void OSCCTRL_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ +void OSCCTRL_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, OSCCTRL_DFLLRDY */ +void OSCCTRL_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ +void OSCCTRL_4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ +void OSC32KCTRL_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void SUPC_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY */ +void SUPC_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SUPC_BOD12DET, SUPC_BOD33DET */ +void WDT_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void RTC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void EIC_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_0 */ +void EIC_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_1 */ +void EIC_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_2 */ +void EIC_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_3 */ +void EIC_4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_4 */ +void EIC_5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_5 */ +void EIC_6_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_6 */ +void EIC_7_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_7 */ +void EIC_8_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_8 */ +void EIC_9_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_9 */ +void EIC_10_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_10 */ +void EIC_11_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_11 */ +void EIC_12_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_12 */ +void EIC_13_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_13 */ +void EIC_14_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_14 */ +void EIC_15_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EIC_EXTINT_15 */ +void FREQM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void NVMCTRL_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, NVMCTRL_7 */ +void NVMCTRL_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ +void DMAC_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ +void DMAC_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ +void DMAC_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ +void DMAC_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ +void DMAC_4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ +void EVSYS_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_0, EVSYS_OVR_0 */ +void EVSYS_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_1, EVSYS_OVR_1 */ +void EVSYS_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_2, EVSYS_OVR_2 */ +void EVSYS_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_3, EVSYS_OVR_3 */ +void EVSYS_4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ +void PAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void TAL_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TAL_BRK */ +void TAL_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TAL_IPS_0, TAL_IPS_1 */ +void RAMECC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void SERCOM0_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM0_0 */ +void SERCOM0_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM0_1 */ +void SERCOM0_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM0_2 */ +void SERCOM0_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ +void SERCOM1_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM1_0 */ +void SERCOM1_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM1_1 */ +void SERCOM1_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM1_2 */ +void SERCOM1_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ +void SERCOM2_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM2_0 */ +void SERCOM2_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM2_1 */ +void SERCOM2_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM2_2 */ +void SERCOM2_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ +void SERCOM3_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM3_0 */ +void SERCOM3_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM3_1 */ +void SERCOM3_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM3_2 */ +void SERCOM3_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ +#ifdef ID_SERCOM4 +void SERCOM4_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM4_0 */ +void SERCOM4_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM4_1 */ +void SERCOM4_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM4_2 */ +void SERCOM4_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ +#endif +#ifdef ID_SERCOM5 +void SERCOM5_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM5_0 */ +void SERCOM5_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM5_1 */ +void SERCOM5_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM5_2 */ +void SERCOM5_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ +#endif +#ifdef ID_SERCOM6 +void SERCOM6_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM6_0 */ +void SERCOM6_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM6_1 */ +void SERCOM6_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM6_2 */ +void SERCOM6_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ +#endif +#ifdef ID_SERCOM7 +void SERCOM7_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM7_0 */ +void SERCOM7_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM7_1 */ +void SERCOM7_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM7_2 */ +void SERCOM7_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ +#endif +#ifdef ID_CAN0 +void CAN0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +#ifdef ID_CAN1 +void CAN1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +#ifdef ID_USB +void USB_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ +void USB_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* USB_SOF_HSOF */ +void USB_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ +void USB_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ +#endif +#ifdef ID_GMAC +void GMAC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +void TCC0_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ +void TCC0_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC0_MC_0 */ +void TCC0_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC0_MC_1 */ +void TCC0_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC0_MC_2 */ +void TCC0_4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC0_MC_3 */ +void TCC0_5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC0_MC_4 */ +void TCC0_6_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC0_MC_5 */ +void TCC1_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ +void TCC1_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC1_MC_0 */ +void TCC1_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC1_MC_1 */ +void TCC1_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC1_MC_2 */ +void TCC1_4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC1_MC_3 */ +void TCC2_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ +void TCC2_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC2_MC_0 */ +void TCC2_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC2_MC_1 */ +void TCC2_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC2_MC_2 */ +#ifdef ID_TCC3 +void TCC3_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ +void TCC3_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC3_MC_0 */ +void TCC3_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC3_MC_1 */ +#endif +#ifdef ID_TCC4 +void TCC4_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ +void TCC4_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC4_MC_0 */ +void TCC4_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* TCC4_MC_1 */ +#endif +void TC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void TC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void TC2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void TC3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#ifdef ID_TC4 +void TC4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +#ifdef ID_TC5 +void TC5_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +#ifdef ID_TC6 +void TC6_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +#ifdef ID_TC7 +void TC7_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +void PDEC_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ +void PDEC_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* PDEC_MC_0 */ +void PDEC_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* PDEC_MC_1 */ +void ADC0_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* ADC0_OVERRUN, ADC0_WINMON */ +void ADC0_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* ADC0_RESRDY */ +void ADC1_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* ADC1_OVERRUN, ADC1_WINMON */ +void ADC1_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* ADC1_RESRDY */ +void AC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void DAC_0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ +void DAC_1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DAC_EMPTY_0 */ +void DAC_2_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DAC_EMPTY_1 */ +void DAC_3_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DAC_RESRDY_0 */ +void DAC_4_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); /* DAC_RESRDY_1 */ +#ifdef ID_I2S +void I2S_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +void PCC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void AES_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void TRNG_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#ifdef ID_ICM +void ICM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +#ifdef ID_PUKCC +void PUKCC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +void QSPI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#ifdef ID_SDHC0 +void SDHC0_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif +#ifdef ID_SDHC1 +void SDHC1_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +#endif + +/* Exception Table */ +__attribute__ ((section(".vectors"))) +const DeviceVectors exception_table = { + + /* Configure Initial Stack Pointer, using linker-generated symbols */ + .pvStack = (void*) (&_estack), + + .pfnReset_Handler = (void*) Reset_Handler, + .pfnNMI_Handler = (void*) NMI_Handler, + .pfnHardFault_Handler = (void*) HardFault_Handler, + .pfnMemManage_Handler = (void*) MemManage_Handler, + .pfnBusFault_Handler = (void*) BusFault_Handler, + .pfnUsageFault_Handler = (void*) UsageFault_Handler, + .pvReservedM9 = (void*) (0UL), /* Reserved */ + .pvReservedM8 = (void*) (0UL), /* Reserved */ + .pvReservedM7 = (void*) (0UL), /* Reserved */ + .pvReservedM6 = (void*) (0UL), /* Reserved */ + .pfnSVC_Handler = (void*) SVC_Handler, + .pfnDebugMon_Handler = (void*) DebugMon_Handler, + .pvReservedM3 = (void*) (0UL), /* Reserved */ + .pfnPendSV_Handler = (void*) PendSV_Handler, + .pfnSysTick_Handler = (void*) SysTick_Handler, + + /* Configurable interrupts */ + .pfnPM_Handler = (void*) PM_Handler, /* 0 Power Manager */ + .pfnMCLK_Handler = (void*) MCLK_Handler, /* 1 Main Clock */ + .pfnOSCCTRL_0_Handler = (void*) OSCCTRL_0_Handler, /* 2 OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ + .pfnOSCCTRL_1_Handler = (void*) OSCCTRL_1_Handler, /* 3 OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ + .pfnOSCCTRL_2_Handler = (void*) OSCCTRL_2_Handler, /* 4 OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, OSCCTRL_DFLLRDY */ + .pfnOSCCTRL_3_Handler = (void*) OSCCTRL_3_Handler, /* 5 OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ + .pfnOSCCTRL_4_Handler = (void*) OSCCTRL_4_Handler, /* 6 OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ + .pfnOSC32KCTRL_Handler = (void*) OSC32KCTRL_Handler, /* 7 32kHz Oscillators Control */ + .pfnSUPC_0_Handler = (void*) SUPC_0_Handler, /* 8 SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY */ + .pfnSUPC_1_Handler = (void*) SUPC_1_Handler, /* 9 SUPC_BOD12DET, SUPC_BOD33DET */ + .pfnWDT_Handler = (void*) WDT_Handler, /* 10 Watchdog Timer */ + .pfnRTC_Handler = (void*) RTC_Handler, /* 11 Real-Time Counter */ + .pfnEIC_0_Handler = (void*) EIC_0_Handler, /* 12 EIC_EXTINT_0 */ + .pfnEIC_1_Handler = (void*) EIC_1_Handler, /* 13 EIC_EXTINT_1 */ + .pfnEIC_2_Handler = (void*) EIC_2_Handler, /* 14 EIC_EXTINT_2 */ + .pfnEIC_3_Handler = (void*) EIC_3_Handler, /* 15 EIC_EXTINT_3 */ + .pfnEIC_4_Handler = (void*) EIC_4_Handler, /* 16 EIC_EXTINT_4 */ + .pfnEIC_5_Handler = (void*) EIC_5_Handler, /* 17 EIC_EXTINT_5 */ + .pfnEIC_6_Handler = (void*) EIC_6_Handler, /* 18 EIC_EXTINT_6 */ + .pfnEIC_7_Handler = (void*) EIC_7_Handler, /* 19 EIC_EXTINT_7 */ + .pfnEIC_8_Handler = (void*) EIC_8_Handler, /* 20 EIC_EXTINT_8 */ + .pfnEIC_9_Handler = (void*) EIC_9_Handler, /* 21 EIC_EXTINT_9 */ + .pfnEIC_10_Handler = (void*) EIC_10_Handler, /* 22 EIC_EXTINT_10 */ + .pfnEIC_11_Handler = (void*) EIC_11_Handler, /* 23 EIC_EXTINT_11 */ + .pfnEIC_12_Handler = (void*) EIC_12_Handler, /* 24 EIC_EXTINT_12 */ + .pfnEIC_13_Handler = (void*) EIC_13_Handler, /* 25 EIC_EXTINT_13 */ + .pfnEIC_14_Handler = (void*) EIC_14_Handler, /* 26 EIC_EXTINT_14 */ + .pfnEIC_15_Handler = (void*) EIC_15_Handler, /* 27 EIC_EXTINT_15 */ + .pfnFREQM_Handler = (void*) FREQM_Handler, /* 28 Frequency Meter */ + .pfnNVMCTRL_0_Handler = (void*) NVMCTRL_0_Handler, /* 29 NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, NVMCTRL_7 */ + .pfnNVMCTRL_1_Handler = (void*) NVMCTRL_1_Handler, /* 30 NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ + .pfnDMAC_0_Handler = (void*) DMAC_0_Handler, /* 31 DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ + .pfnDMAC_1_Handler = (void*) DMAC_1_Handler, /* 32 DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ + .pfnDMAC_2_Handler = (void*) DMAC_2_Handler, /* 33 DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ + .pfnDMAC_3_Handler = (void*) DMAC_3_Handler, /* 34 DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ + .pfnDMAC_4_Handler = (void*) DMAC_4_Handler, /* 35 DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ + .pfnEVSYS_0_Handler = (void*) EVSYS_0_Handler, /* 36 EVSYS_EVD_0, EVSYS_OVR_0 */ + .pfnEVSYS_1_Handler = (void*) EVSYS_1_Handler, /* 37 EVSYS_EVD_1, EVSYS_OVR_1 */ + .pfnEVSYS_2_Handler = (void*) EVSYS_2_Handler, /* 38 EVSYS_EVD_2, EVSYS_OVR_2 */ + .pfnEVSYS_3_Handler = (void*) EVSYS_3_Handler, /* 39 EVSYS_EVD_3, EVSYS_OVR_3 */ + .pfnEVSYS_4_Handler = (void*) EVSYS_4_Handler, /* 40 EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ + .pfnPAC_Handler = (void*) PAC_Handler, /* 41 Peripheral Access Controller */ + .pfnTAL_0_Handler = (void*) TAL_0_Handler, /* 42 TAL_BRK */ + .pfnTAL_1_Handler = (void*) TAL_1_Handler, /* 43 TAL_IPS_0, TAL_IPS_1 */ + .pvReserved44 = (void*) (0UL), /* 44 Reserved */ + .pfnRAMECC_Handler = (void*) RAMECC_Handler, /* 45 RAM ECC */ + .pfnSERCOM0_0_Handler = (void*) SERCOM0_0_Handler, /* 46 SERCOM0_0 */ + .pfnSERCOM0_1_Handler = (void*) SERCOM0_1_Handler, /* 47 SERCOM0_1 */ + .pfnSERCOM0_2_Handler = (void*) SERCOM0_2_Handler, /* 48 SERCOM0_2 */ + .pfnSERCOM0_3_Handler = (void*) SERCOM0_3_Handler, /* 49 SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ + .pfnSERCOM1_0_Handler = (void*) SERCOM1_0_Handler, /* 50 SERCOM1_0 */ + .pfnSERCOM1_1_Handler = (void*) SERCOM1_1_Handler, /* 51 SERCOM1_1 */ + .pfnSERCOM1_2_Handler = (void*) SERCOM1_2_Handler, /* 52 SERCOM1_2 */ + .pfnSERCOM1_3_Handler = (void*) SERCOM1_3_Handler, /* 53 SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ + .pfnSERCOM2_0_Handler = (void*) SERCOM2_0_Handler, /* 54 SERCOM2_0 */ + .pfnSERCOM2_1_Handler = (void*) SERCOM2_1_Handler, /* 55 SERCOM2_1 */ + .pfnSERCOM2_2_Handler = (void*) SERCOM2_2_Handler, /* 56 SERCOM2_2 */ + .pfnSERCOM2_3_Handler = (void*) SERCOM2_3_Handler, /* 57 SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ + .pfnSERCOM3_0_Handler = (void*) SERCOM3_0_Handler, /* 58 SERCOM3_0 */ + .pfnSERCOM3_1_Handler = (void*) SERCOM3_1_Handler, /* 59 SERCOM3_1 */ + .pfnSERCOM3_2_Handler = (void*) SERCOM3_2_Handler, /* 60 SERCOM3_2 */ + .pfnSERCOM3_3_Handler = (void*) SERCOM3_3_Handler, /* 61 SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ +#ifdef ID_SERCOM4 + .pfnSERCOM4_0_Handler = (void*) SERCOM4_0_Handler, /* 62 SERCOM4_0 */ + .pfnSERCOM4_1_Handler = (void*) SERCOM4_1_Handler, /* 63 SERCOM4_1 */ + .pfnSERCOM4_2_Handler = (void*) SERCOM4_2_Handler, /* 64 SERCOM4_2 */ + .pfnSERCOM4_3_Handler = (void*) SERCOM4_3_Handler, /* 65 SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ +#else + .pvReserved62 = (void*) (0UL), /* 62 Reserved */ + .pvReserved63 = (void*) (0UL), /* 63 Reserved */ + .pvReserved64 = (void*) (0UL), /* 64 Reserved */ + .pvReserved65 = (void*) (0UL), /* 65 Reserved */ +#endif +#ifdef ID_SERCOM5 + .pfnSERCOM5_0_Handler = (void*) SERCOM5_0_Handler, /* 66 SERCOM5_0 */ + .pfnSERCOM5_1_Handler = (void*) SERCOM5_1_Handler, /* 67 SERCOM5_1 */ + .pfnSERCOM5_2_Handler = (void*) SERCOM5_2_Handler, /* 68 SERCOM5_2 */ + .pfnSERCOM5_3_Handler = (void*) SERCOM5_3_Handler, /* 69 SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ +#else + .pvReserved66 = (void*) (0UL), /* 66 Reserved */ + .pvReserved67 = (void*) (0UL), /* 67 Reserved */ + .pvReserved68 = (void*) (0UL), /* 68 Reserved */ + .pvReserved69 = (void*) (0UL), /* 69 Reserved */ +#endif +#ifdef ID_SERCOM6 + .pfnSERCOM6_0_Handler = (void*) SERCOM6_0_Handler, /* 70 SERCOM6_0 */ + .pfnSERCOM6_1_Handler = (void*) SERCOM6_1_Handler, /* 71 SERCOM6_1 */ + .pfnSERCOM6_2_Handler = (void*) SERCOM6_2_Handler, /* 72 SERCOM6_2 */ + .pfnSERCOM6_3_Handler = (void*) SERCOM6_3_Handler, /* 73 SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ +#else + .pvReserved70 = (void*) (0UL), /* 70 Reserved */ + .pvReserved71 = (void*) (0UL), /* 71 Reserved */ + .pvReserved72 = (void*) (0UL), /* 72 Reserved */ + .pvReserved73 = (void*) (0UL), /* 73 Reserved */ +#endif +#ifdef ID_SERCOM7 + .pfnSERCOM7_0_Handler = (void*) SERCOM7_0_Handler, /* 74 SERCOM7_0 */ + .pfnSERCOM7_1_Handler = (void*) SERCOM7_1_Handler, /* 75 SERCOM7_1 */ + .pfnSERCOM7_2_Handler = (void*) SERCOM7_2_Handler, /* 76 SERCOM7_2 */ + .pfnSERCOM7_3_Handler = (void*) SERCOM7_3_Handler, /* 77 SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ +#else + .pvReserved74 = (void*) (0UL), /* 74 Reserved */ + .pvReserved75 = (void*) (0UL), /* 75 Reserved */ + .pvReserved76 = (void*) (0UL), /* 76 Reserved */ + .pvReserved77 = (void*) (0UL), /* 77 Reserved */ +#endif +#ifdef ID_CAN0 + .pfnCAN0_Handler = (void*) CAN0_Handler, /* 78 Control Area Network 0 */ +#else + .pvReserved78 = (void*) (0UL), /* 78 Reserved */ +#endif +#ifdef ID_CAN1 + .pfnCAN1_Handler = (void*) CAN1_Handler, /* 79 Control Area Network 1 */ +#else + .pvReserved79 = (void*) (0UL), /* 79 Reserved */ +#endif +#ifdef ID_USB + .pfnUSB_0_Handler = (void*) USB_0_Handler, /* 80 USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ + .pfnUSB_1_Handler = (void*) USB_1_Handler, /* 81 USB_SOF_HSOF */ + .pfnUSB_2_Handler = (void*) USB_2_Handler, /* 82 USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ + .pfnUSB_3_Handler = (void*) USB_3_Handler, /* 83 USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ +#else + .pvReserved80 = (void*) (0UL), /* 80 Reserved */ + .pvReserved81 = (void*) (0UL), /* 81 Reserved */ + .pvReserved82 = (void*) (0UL), /* 82 Reserved */ + .pvReserved83 = (void*) (0UL), /* 83 Reserved */ +#endif +#ifdef ID_GMAC + .pfnGMAC_Handler = (void*) GMAC_Handler, /* 84 Ethernet MAC */ +#else + .pvReserved84 = (void*) (0UL), /* 84 Reserved */ +#endif + .pfnTCC0_0_Handler = (void*) TCC0_0_Handler, /* 85 TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ + .pfnTCC0_1_Handler = (void*) TCC0_1_Handler, /* 86 TCC0_MC_0 */ + .pfnTCC0_2_Handler = (void*) TCC0_2_Handler, /* 87 TCC0_MC_1 */ + .pfnTCC0_3_Handler = (void*) TCC0_3_Handler, /* 88 TCC0_MC_2 */ + .pfnTCC0_4_Handler = (void*) TCC0_4_Handler, /* 89 TCC0_MC_3 */ + .pfnTCC0_5_Handler = (void*) TCC0_5_Handler, /* 90 TCC0_MC_4 */ + .pfnTCC0_6_Handler = (void*) TCC0_6_Handler, /* 91 TCC0_MC_5 */ + .pfnTCC1_0_Handler = (void*) TCC1_0_Handler, /* 92 TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ + .pfnTCC1_1_Handler = (void*) TCC1_1_Handler, /* 93 TCC1_MC_0 */ + .pfnTCC1_2_Handler = (void*) TCC1_2_Handler, /* 94 TCC1_MC_1 */ + .pfnTCC1_3_Handler = (void*) TCC1_3_Handler, /* 95 TCC1_MC_2 */ + .pfnTCC1_4_Handler = (void*) TCC1_4_Handler, /* 96 TCC1_MC_3 */ + .pfnTCC2_0_Handler = (void*) TCC2_0_Handler, /* 97 TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ + .pfnTCC2_1_Handler = (void*) TCC2_1_Handler, /* 98 TCC2_MC_0 */ + .pfnTCC2_2_Handler = (void*) TCC2_2_Handler, /* 99 TCC2_MC_1 */ + .pfnTCC2_3_Handler = (void*) TCC2_3_Handler, /* 100 TCC2_MC_2 */ +#ifdef ID_TCC3 + .pfnTCC3_0_Handler = (void*) TCC3_0_Handler, /* 101 TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ + .pfnTCC3_1_Handler = (void*) TCC3_1_Handler, /* 102 TCC3_MC_0 */ + .pfnTCC3_2_Handler = (void*) TCC3_2_Handler, /* 103 TCC3_MC_1 */ +#else + .pvReserved101 = (void*) (0UL), /* 101 Reserved */ + .pvReserved102 = (void*) (0UL), /* 102 Reserved */ + .pvReserved103 = (void*) (0UL), /* 103 Reserved */ +#endif +#ifdef ID_TCC4 + .pfnTCC4_0_Handler = (void*) TCC4_0_Handler, /* 104 TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ + .pfnTCC4_1_Handler = (void*) TCC4_1_Handler, /* 105 TCC4_MC_0 */ + .pfnTCC4_2_Handler = (void*) TCC4_2_Handler, /* 106 TCC4_MC_1 */ +#else + .pvReserved104 = (void*) (0UL), /* 104 Reserved */ + .pvReserved105 = (void*) (0UL), /* 105 Reserved */ + .pvReserved106 = (void*) (0UL), /* 106 Reserved */ +#endif + .pfnTC0_Handler = (void*) TC0_Handler, /* 107 Basic Timer Counter 0 */ + .pfnTC1_Handler = (void*) TC1_Handler, /* 108 Basic Timer Counter 1 */ + .pfnTC2_Handler = (void*) TC2_Handler, /* 109 Basic Timer Counter 2 */ + .pfnTC3_Handler = (void*) TC3_Handler, /* 110 Basic Timer Counter 3 */ +#ifdef ID_TC4 + .pfnTC4_Handler = (void*) TC4_Handler, /* 111 Basic Timer Counter 4 */ +#else + .pvReserved111 = (void*) (0UL), /* 111 Reserved */ +#endif +#ifdef ID_TC5 + .pfnTC5_Handler = (void*) TC5_Handler, /* 112 Basic Timer Counter 5 */ +#else + .pvReserved112 = (void*) (0UL), /* 112 Reserved */ +#endif +#ifdef ID_TC6 + .pfnTC6_Handler = (void*) TC6_Handler, /* 113 Basic Timer Counter 6 */ +#else + .pvReserved113 = (void*) (0UL), /* 113 Reserved */ +#endif +#ifdef ID_TC7 + .pfnTC7_Handler = (void*) TC7_Handler, /* 114 Basic Timer Counter 7 */ +#else + .pvReserved114 = (void*) (0UL), /* 114 Reserved */ +#endif + .pfnPDEC_0_Handler = (void*) PDEC_0_Handler, /* 115 PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ + .pfnPDEC_1_Handler = (void*) PDEC_1_Handler, /* 116 PDEC_MC_0 */ + .pfnPDEC_2_Handler = (void*) PDEC_2_Handler, /* 117 PDEC_MC_1 */ + .pfnADC0_0_Handler = (void*) ADC0_0_Handler, /* 118 ADC0_OVERRUN, ADC0_WINMON */ + .pfnADC0_1_Handler = (void*) ADC0_1_Handler, /* 119 ADC0_RESRDY */ + .pfnADC1_0_Handler = (void*) ADC1_0_Handler, /* 120 ADC1_OVERRUN, ADC1_WINMON */ + .pfnADC1_1_Handler = (void*) ADC1_1_Handler, /* 121 ADC1_RESRDY */ + .pfnAC_Handler = (void*) AC_Handler, /* 122 Analog Comparators */ + .pfnDAC_0_Handler = (void*) DAC_0_Handler, /* 123 DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ + .pfnDAC_1_Handler = (void*) DAC_1_Handler, /* 124 DAC_EMPTY_0 */ + .pfnDAC_2_Handler = (void*) DAC_2_Handler, /* 125 DAC_EMPTY_1 */ + .pfnDAC_3_Handler = (void*) DAC_3_Handler, /* 126 DAC_RESRDY_0 */ + .pfnDAC_4_Handler = (void*) DAC_4_Handler, /* 127 DAC_RESRDY_1 */ +#ifdef ID_I2S + .pfnI2S_Handler = (void*) I2S_Handler, /* 128 Inter-IC Sound Interface */ +#else + .pvReserved128 = (void*) (0UL), /* 128 Reserved */ +#endif + .pfnPCC_Handler = (void*) PCC_Handler, /* 129 Parallel Capture Controller */ + .pfnAES_Handler = (void*) AES_Handler, /* 130 Advanced Encryption Standard */ + .pfnTRNG_Handler = (void*) TRNG_Handler, /* 131 True Random Generator */ +#ifdef ID_ICM + .pfnICM_Handler = (void*) ICM_Handler, /* 132 Integrity Check Monitor */ +#else + .pvReserved132 = (void*) (0UL), /* 132 Reserved */ +#endif +#ifdef ID_PUKCC + .pfnPUKCC_Handler = (void*) PUKCC_Handler, /* 133 PUblic-Key Cryptography Controller */ +#else + .pvReserved133 = (void*) (0UL), /* 133 Reserved */ +#endif + .pfnQSPI_Handler = (void*) QSPI_Handler, /* 134 Quad SPI interface */ +#ifdef ID_SDHC0 + .pfnSDHC0_Handler = (void*) SDHC0_Handler, /* 135 SD/MMC Host Controller 0 */ +#else + .pvReserved135 = (void*) (0UL), /* 135 Reserved */ +#endif +#ifdef ID_SDHC1 + .pfnSDHC1_Handler = (void*) SDHC1_Handler /* 136 SD/MMC Host Controller 1 */ +#else + .pvReserved136 = (void*) (0UL) /* 136 Reserved */ +#endif +}; + +/** + * \brief This is the code that gets called on processor reset. + * To initialize the device, and call the main() routine. + */ +void Reset_Handler(void) +{ + uint32_t *pSrc, *pDest; + + /* Initialize the relocate segment */ + pSrc = &_etext; + pDest = &_srelocate; + + if (pSrc != pDest) { + for (; pDest < &_erelocate;) { + *pDest++ = *pSrc++; + } + } + + /* Clear the zero segment */ + for (pDest = &_szero; pDest < &_ezero;) { + *pDest++ = 0; + } + + /* Set the vector table base address */ + pSrc = (uint32_t *) & _sfixed; + SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk); + +#if __FPU_USED + /* Enable FPU */ + SCB->CPACR |= (0xFu << 20); + __DSB(); + __ISB(); +#endif + + /* Initialize the C library */ + __libc_init_array(); + + /* Branch to main function */ + main(); + + /* Infinite loop */ + while (1); +} + +/** + * \brief Default interrupt handler for unused IRQs. + */ +void Dummy_Handler(void) +{ + while (1) { + } +} diff --git a/lib/same54/gcc/system_same54.c b/lib/same54/gcc/system_same54.c new file mode 100644 index 00000000..37dea19a --- /dev/null +++ b/lib/same54/gcc/system_same54.c @@ -0,0 +1,63 @@ +/** + * \file + * + * \brief Low-level initialization functions called upon chip startup. + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#include "same54.h" + +/** + * Initial system clock frequency. The System RC Oscillator (RCSYS) provides + * the source for the main clock at chip startup. + */ +#define __SYSTEM_CLOCK (48000000) + +uint32_t SystemCoreClock = __SYSTEM_CLOCK;/*!< System Clock Frequency (Core Clock)*/ + +/** + * Initialize the system + * + * @brief Setup the microcontroller system. + * Initialize the System and update the SystemCoreClock variable. + */ +void SystemInit(void) +{ + // Keep the default device state after reset + SystemCoreClock = __SYSTEM_CLOCK; + return; +} + +/** + * Update SystemCoreClock variable + * + * @brief Updates the SystemCoreClock with current core Clock + * retrieved from cpu registers. + */ +void SystemCoreClockUpdate(void) +{ + // Not implemented + SystemCoreClock = __SYSTEM_CLOCK; + return; +} diff --git a/lib/same54/iar/config/debugger/Atmel/ATSAME54N19A.ddf b/lib/same54/iar/config/debugger/Atmel/ATSAME54N19A.ddf new file mode 100644 index 00000000..b3dd4f20 --- /dev/null +++ b/lib/same54/iar/config/debugger/Atmel/ATSAME54N19A.ddf @@ -0,0 +1,32 @@ + +;; Memory information ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; Used to define address zones within the ARM address space (Memory). +;; +;; Name may be almost anything +;; AdrSpace must be Memory +;; StartAdr start of memory block +;; EndAdr end of memory block +;; AccType type of access, read-only (R), read-write (RW) or SFR (W) + +[Memory] +;; Name AdrSpace StartAdr EndAdr AccType +Memory0 = NVMCTRL0 Memory 0x00000000 0x00FFFFFF R +Memory1 = NVMCTRL1 Memory 0x00000000 0x00FFFFFF R +Memory2 = PUKCC Memory 0x02000000 0x02011FFF RW +Memory3 = QSPI Memory 0x04000000 0x04FFFFFF RW +Memory4 = HSRAM Memory 0x20000000 0x2003FFFF RW +Memory5 = BKUPRAM Memory 0x47000000 0x47001FFF RW +Memory6 = HPB0 Memory 0x40000000 0x400043FF W +Memory7 = HPB1 Memory 0x41000000 0x41021FFF W +Memory8 = HPB2 Memory 0x42000000 0x42003BFF W +Memory9 = HPB3 Memory 0x43000000 0x43002FFF W +Memory10 = NVMCTRL2 Memory 0x44000000 0x4401FFFF W +Memory11 = SDHC0 Memory 0x45000000 0x45000BFF W +Memory12 = SDHC1 Memory 0x46000000 0x46000BFF W + +TrustedRanges = true +UseSfrFilter = true + +[SfrInclude] +File = ATSAME54N19A.svd diff --git a/lib/same54/iar/config/debugger/Atmel/ATSAME54N20A.ddf b/lib/same54/iar/config/debugger/Atmel/ATSAME54N20A.ddf new file mode 100644 index 00000000..786252b1 --- /dev/null +++ b/lib/same54/iar/config/debugger/Atmel/ATSAME54N20A.ddf @@ -0,0 +1,32 @@ + +;; Memory information ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; Used to define address zones within the ARM address space (Memory). +;; +;; Name may be almost anything +;; AdrSpace must be Memory +;; StartAdr start of memory block +;; EndAdr end of memory block +;; AccType type of access, read-only (R), read-write (RW) or SFR (W) + +[Memory] +;; Name AdrSpace StartAdr EndAdr AccType +Memory0 = NVMCTRL0 Memory 0x00000000 0x00FFFFFF R +Memory1 = NVMCTRL1 Memory 0x00000000 0x00FFFFFF R +Memory2 = PUKCC Memory 0x02000000 0x02011FFF RW +Memory3 = QSPI Memory 0x04000000 0x04FFFFFF RW +Memory4 = HSRAM Memory 0x20000000 0x2003FFFF RW +Memory5 = BKUPRAM Memory 0x47000000 0x47001FFF RW +Memory6 = HPB0 Memory 0x40000000 0x400043FF W +Memory7 = HPB1 Memory 0x41000000 0x41021FFF W +Memory8 = HPB2 Memory 0x42000000 0x42003BFF W +Memory9 = HPB3 Memory 0x43000000 0x43002FFF W +Memory10 = NVMCTRL2 Memory 0x44000000 0x4401FFFF W +Memory11 = SDHC0 Memory 0x45000000 0x45000BFF W +Memory12 = SDHC1 Memory 0x46000000 0x46000BFF W + +TrustedRanges = true +UseSfrFilter = true + +[SfrInclude] +File = ATSAME54N20A.svd diff --git a/lib/same54/iar/config/debugger/Atmel/ATSAME54P19A.ddf b/lib/same54/iar/config/debugger/Atmel/ATSAME54P19A.ddf new file mode 100644 index 00000000..84f1965a --- /dev/null +++ b/lib/same54/iar/config/debugger/Atmel/ATSAME54P19A.ddf @@ -0,0 +1,32 @@ + +;; Memory information ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; Used to define address zones within the ARM address space (Memory). +;; +;; Name may be almost anything +;; AdrSpace must be Memory +;; StartAdr start of memory block +;; EndAdr end of memory block +;; AccType type of access, read-only (R), read-write (RW) or SFR (W) + +[Memory] +;; Name AdrSpace StartAdr EndAdr AccType +Memory0 = NVMCTRL0 Memory 0x00000000 0x00FFFFFF R +Memory1 = NVMCTRL1 Memory 0x00000000 0x00FFFFFF R +Memory2 = PUKCC Memory 0x02000000 0x02011FFF RW +Memory3 = QSPI Memory 0x04000000 0x04FFFFFF RW +Memory4 = HSRAM Memory 0x20000000 0x2003FFFF RW +Memory5 = BKUPRAM Memory 0x47000000 0x47001FFF RW +Memory6 = HPB0 Memory 0x40000000 0x400043FF W +Memory7 = HPB1 Memory 0x41000000 0x41021FFF W +Memory8 = HPB2 Memory 0x42000000 0x42003BFF W +Memory9 = HPB3 Memory 0x43000000 0x43002FFF W +Memory10 = NVMCTRL2 Memory 0x44000000 0x4401FFFF W +Memory11 = SDHC0 Memory 0x45000000 0x45000BFF W +Memory12 = SDHC1 Memory 0x46000000 0x46000BFF W + +TrustedRanges = true +UseSfrFilter = true + +[SfrInclude] +File = ATSAME54P19A.svd diff --git a/lib/same54/iar/config/debugger/Atmel/ATSAME54P20A.ddf b/lib/same54/iar/config/debugger/Atmel/ATSAME54P20A.ddf new file mode 100644 index 00000000..1ca73433 --- /dev/null +++ b/lib/same54/iar/config/debugger/Atmel/ATSAME54P20A.ddf @@ -0,0 +1,32 @@ + +;; Memory information ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; Used to define address zones within the ARM address space (Memory). +;; +;; Name may be almost anything +;; AdrSpace must be Memory +;; StartAdr start of memory block +;; EndAdr end of memory block +;; AccType type of access, read-only (R), read-write (RW) or SFR (W) + +[Memory] +;; Name AdrSpace StartAdr EndAdr AccType +Memory0 = NVMCTRL0 Memory 0x00000000 0x00FFFFFF R +Memory1 = NVMCTRL1 Memory 0x00000000 0x00FFFFFF R +Memory2 = PUKCC Memory 0x02000000 0x02011FFF RW +Memory3 = QSPI Memory 0x04000000 0x04FFFFFF RW +Memory4 = HSRAM Memory 0x20000000 0x2003FFFF RW +Memory5 = BKUPRAM Memory 0x47000000 0x47001FFF RW +Memory6 = HPB0 Memory 0x40000000 0x400043FF W +Memory7 = HPB1 Memory 0x41000000 0x41021FFF W +Memory8 = HPB2 Memory 0x42000000 0x42003BFF W +Memory9 = HPB3 Memory 0x43000000 0x43002FFF W +Memory10 = NVMCTRL2 Memory 0x44000000 0x4401FFFF W +Memory11 = SDHC0 Memory 0x45000000 0x45000BFF W +Memory12 = SDHC1 Memory 0x46000000 0x46000BFF W + +TrustedRanges = true +UseSfrFilter = true + +[SfrInclude] +File = ATSAME54P20A.svd diff --git a/lib/same54/iar/config/debugger/Atmel/Trace_SAME54.dmac b/lib/same54/iar/config/debugger/Atmel/Trace_SAME54.dmac new file mode 100644 index 00000000..b22c0af5 --- /dev/null +++ b/lib/same54/iar/config/debugger/Atmel/Trace_SAME54.dmac @@ -0,0 +1,78 @@ +// --------------------------------------------------------- +// ATMEL Microcontroller Software Support - NANTES - +// --------------------------------------------------------- +// The software is delivered "AS IS" without warranty or +// condition of any kind, either express, implied or +// statutory. This includes without limitation any warranty +// or condition with respect to merchantability or fitness +// for any particular purpose, or against the infringements of +// intellectual property rights of others. +// --------------------------------------------------------- +// File: Trace_SAME54.dmac +// User setup file for CSPY debugger. +// --------------------------------------------------------- + +/********************************************************************* +* +* execUserReset() +* Called once after the target application is downloaded. +* Implement this macro to set up the memory map, breakpoints, +* interrupts, register macro files, etc. +* +*/ +execUserReset() +{ + __message "------------------------------ execUserReset ---------------------------------"; + __message "-------------------------------Set PC Reset ----------------------------------"; + __writeMemory32(0x05FA0004,0xE000ED0C,"Memory"); + //__hwReset(0); +} + +/********************************************************************* +* +* execUserPreload() +* Called after communication with the target system is established +* but before downloading the target application. +* Implement this macro to initialize memory locations and/or +* registers which are vital for loading data properly. +* +*/ +execUserPreload() +{ + __message "------------------------------ execUserPreload ---------------------------------"; + +} + +/********************************************************************* +* +* execUserFlashInit() +* +* Called once before the flash loader is downloaded to RAM. +* Implement this macro typically for setting up the memory map +* required by the flash loader. This macro is only called when you +* are programming flash, and it should only be used for flash loader +* functionality. +* +*/ + +execUserFlashInit() +{ + + __message "------------------------------ execUserFlashInit ---------------------------------"; + +} + + +/********************************************************************* +* +* execUserFlashExit() +* Called once when the debug session ends. +* Implement this macro to save status data etc. This macro is useful +* for flash loader functionality +* +*/ +execUserFlashExit() +{ + __message "------------------------------ execUserFlashExit ---------------------------------"; + //__hwReset(0); +} diff --git a/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N19A.i79 b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N19A.i79 new file mode 100644 index 00000000..4a6c736b --- /dev/null +++ b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N19A.i79 @@ -0,0 +1,41 @@ +[FILEFORMAT] +rev=1.6 + +[CHIP] +// Chip name +name=ATSAME54N19A + +// What endian modes does the chip support? (le_be8_be32(default), le_be8, le_be32, le, be8_be32, be8, be32) +endiansupport=le + +// Does the chip support the thumb instruction set? (true(default), false) +thumbsupport=true + +// Does the chip support the arm instruction set? (true(default), false) +armsupport=false + +// Does the chip have an FPU coprocessor? (VFPv1, VFPv2, VFPv4, VFP9-S, MaverickCrunch, None(default)) +fpu=VFPv4 + +// Chip specific macros +//DeviceMacros=$TOOLKIT_DIR$\config\debugger\Atmel\Trace_SAME54.mac + +//Debugger interface, default JTAG=true, RTCK=true, SWD=true if Cortex cores, SWD=false if ARM cores, SWO_TraceD0=false +JTAG=false +RTCK=false +SWD=true +SWO_TraceD0=false + +[CORE] +// Name of ARM processor core +name=Cortex-M4 + +[DDF FILE] +name=Atmel\ATSAME54N19A.ddf + +[LINKER FILE] +//Name of the linker config file +name=$TOOLKIT_DIR$\config\linker\Atmel\same54n19a\flash.icf + +[FLASH LOADER] +little=$TOOLKIT_DIR$\config\flashloader\Atmel\same54n19a\same54n19a-flash.board diff --git a/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N19A.menu b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N19A.menu new file mode 100644 index 00000000..b6049c9d --- /dev/null +++ b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N19A.menu @@ -0,0 +1,7 @@ + + + + ATSAME54N19A + Atmel ATSAME54N19A + $CUR_DIR$\ATSAME54N19A.i79 + diff --git a/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N20A.i79 b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N20A.i79 new file mode 100644 index 00000000..81163c0a --- /dev/null +++ b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N20A.i79 @@ -0,0 +1,41 @@ +[FILEFORMAT] +rev=1.6 + +[CHIP] +// Chip name +name=ATSAME54N20A + +// What endian modes does the chip support? (le_be8_be32(default), le_be8, le_be32, le, be8_be32, be8, be32) +endiansupport=le + +// Does the chip support the thumb instruction set? (true(default), false) +thumbsupport=true + +// Does the chip support the arm instruction set? (true(default), false) +armsupport=false + +// Does the chip have an FPU coprocessor? (VFPv1, VFPv2, VFPv4, VFP9-S, MaverickCrunch, None(default)) +fpu=VFPv4 + +// Chip specific macros +//DeviceMacros=$TOOLKIT_DIR$\config\debugger\Atmel\Trace_SAME54.mac + +//Debugger interface, default JTAG=true, RTCK=true, SWD=true if Cortex cores, SWD=false if ARM cores, SWO_TraceD0=false +JTAG=false +RTCK=false +SWD=true +SWO_TraceD0=false + +[CORE] +// Name of ARM processor core +name=Cortex-M4 + +[DDF FILE] +name=Atmel\ATSAME54N20A.ddf + +[LINKER FILE] +//Name of the linker config file +name=$TOOLKIT_DIR$\config\linker\Atmel\same54n20a\flash.icf + +[FLASH LOADER] +little=$TOOLKIT_DIR$\config\flashloader\Atmel\same54n20a\same54n20a-flash.board diff --git a/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N20A.menu b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N20A.menu new file mode 100644 index 00000000..67bf0f8b --- /dev/null +++ b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54N20A.menu @@ -0,0 +1,7 @@ + + + + ATSAME54N20A + Atmel ATSAME54N20A + $CUR_DIR$\ATSAME54N20A.i79 + diff --git a/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P19A.i79 b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P19A.i79 new file mode 100644 index 00000000..bbf8c8ad --- /dev/null +++ b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P19A.i79 @@ -0,0 +1,41 @@ +[FILEFORMAT] +rev=1.6 + +[CHIP] +// Chip name +name=ATSAME54P19A + +// What endian modes does the chip support? (le_be8_be32(default), le_be8, le_be32, le, be8_be32, be8, be32) +endiansupport=le + +// Does the chip support the thumb instruction set? (true(default), false) +thumbsupport=true + +// Does the chip support the arm instruction set? (true(default), false) +armsupport=false + +// Does the chip have an FPU coprocessor? (VFPv1, VFPv2, VFPv4, VFP9-S, MaverickCrunch, None(default)) +fpu=VFPv4 + +// Chip specific macros +//DeviceMacros=$TOOLKIT_DIR$\config\debugger\Atmel\Trace_SAME54.mac + +//Debugger interface, default JTAG=true, RTCK=true, SWD=true if Cortex cores, SWD=false if ARM cores, SWO_TraceD0=false +JTAG=false +RTCK=false +SWD=true +SWO_TraceD0=false + +[CORE] +// Name of ARM processor core +name=Cortex-M4 + +[DDF FILE] +name=Atmel\ATSAME54P19A.ddf + +[LINKER FILE] +//Name of the linker config file +name=$TOOLKIT_DIR$\config\linker\Atmel\same54p19a\flash.icf + +[FLASH LOADER] +little=$TOOLKIT_DIR$\config\flashloader\Atmel\same54p19a\same54p19a-flash.board diff --git a/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P19A.menu b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P19A.menu new file mode 100644 index 00000000..665f543d --- /dev/null +++ b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P19A.menu @@ -0,0 +1,7 @@ + + + + ATSAME54P19A + Atmel ATSAME54P19A + $CUR_DIR$\ATSAME54P19A.i79 + diff --git a/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P20A.i79 b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P20A.i79 new file mode 100644 index 00000000..61ccd841 --- /dev/null +++ b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P20A.i79 @@ -0,0 +1,41 @@ +[FILEFORMAT] +rev=1.6 + +[CHIP] +// Chip name +name=ATSAME54P20A + +// What endian modes does the chip support? (le_be8_be32(default), le_be8, le_be32, le, be8_be32, be8, be32) +endiansupport=le + +// Does the chip support the thumb instruction set? (true(default), false) +thumbsupport=true + +// Does the chip support the arm instruction set? (true(default), false) +armsupport=false + +// Does the chip have an FPU coprocessor? (VFPv1, VFPv2, VFPv4, VFP9-S, MaverickCrunch, None(default)) +fpu=VFPv4 + +// Chip specific macros +//DeviceMacros=$TOOLKIT_DIR$\config\debugger\Atmel\Trace_SAME54.mac + +//Debugger interface, default JTAG=true, RTCK=true, SWD=true if Cortex cores, SWD=false if ARM cores, SWO_TraceD0=false +JTAG=false +RTCK=false +SWD=true +SWO_TraceD0=false + +[CORE] +// Name of ARM processor core +name=Cortex-M4 + +[DDF FILE] +name=Atmel\ATSAME54P20A.ddf + +[LINKER FILE] +//Name of the linker config file +name=$TOOLKIT_DIR$\config\linker\Atmel\same54p20a\flash.icf + +[FLASH LOADER] +little=$TOOLKIT_DIR$\config\flashloader\Atmel\same54p20a\same54p20a-flash.board diff --git a/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P20A.menu b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P20A.menu new file mode 100644 index 00000000..3c99591a --- /dev/null +++ b/lib/same54/iar/config/devices/Atmel/ATSAME54/ATSAME54P20A.menu @@ -0,0 +1,7 @@ + + + + ATSAME54P20A + Atmel ATSAME54P20A + $CUR_DIR$\ATSAME54P20A.i79 + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.board b/lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.board new file mode 100644 index 00000000..52a9e93a --- /dev/null +++ b/lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.board @@ -0,0 +1,9 @@ + + + + + $TOOLKIT_DIR$\config\flashloader\Atmel\same54n19a\same54n19a-flash.flash + CODE 0x00000000 0x7FFFF + 0x0 + + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.flash b/lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.flash new file mode 100644 index 00000000..2f9d7fd4 --- /dev/null +++ b/lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.flash @@ -0,0 +1,15 @@ + + + + $TOOLKIT_DIR$\config\flashloader\Atmel\same54n19a\same54n19a-flash.out + 0x00000000 + 512 + 64 0x2000 + $TOOLKIT_DIR$\config\debugger\Atmel\Trace_SAME54.mac + 0 + + --debug : Print debug information such flash size and step done during flashloader process +--dump_buffer : dump input buffer of function FlashWrite +--dump_flash : dump flash after programming given buffer from FlashWrite function + + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.out b/lib/same54/iar/config/flashloader/Atmel/same54n19a/same54n19a-flash.out new file mode 100644 index 0000000000000000000000000000000000000000..e6aab5deb604461e45c7a5f06830d349212d44f8 GIT binary patch literal 54680 zcmeHw34B!5_5Xd_Y}v^|$O01xkN{Z;t6Me#QNk8btg(|xGGRuujFSlj1OY|FtzxzP zp|!1h)oy@d)oMXotNwo4CJJ3_YolGTYTJMd0sAZe@45HAnU_g~27~3_pKm^I-aE@Z z=iGDeJ@?+X+_!Pw!YWCUn6b$$hY_^&7Uq1rhq0Vj8B1YID`8GXv=mUc-O8Lqm$F#j zIQiDn-}iebl-kSto$>zpMOE6N<&5?H@~OPP^ew(-XY@B>z8QD8rSPn(;wlFIKOKAG z{-4(@*d;l0{8?3ThwF-uANlif)_0(v_2&2mSKQ&1g{-gp7;$+y*Gh1`2CnD8To3twusH6p|EwpxPkLE2>$9@OeUfcohV2;ZTl@|ibN%kJiUoFQ zJG+%lVmo$zeDqjO7t5*WjypW9IIHUTk-H%0#{T>6i#uFWd~p@)JNqc>yQZJ*h&xz}afh1#PXK&*e=Tz82b2M*ss9OY+~J#w;|{Mc z5*Bf5-e-NWpswiGdarVye|XfACpJktwvJ&tww8bNTGtKxtSk4jy~hr)UbdH@j}PQ@ zb?@rGep7X6pUnC<_g`Pyr|L%=j>ny|uU_28me}e`on6&7f2Q;Jk*UY&Kj-+IZJi6f z?`sKjHeFCfwq%&?=)1dqSyfIZ>pONdC$qOcr)&1EshM$yRi682`dOdazxacF&S&2K z=PjayOLz&_E&Q*Yo2r~$F;%x!jjLL@>y>`Cb81yN^8LpwmDhwv?~D?e4DlM}ODPHpLzO&SW+*tv4BZwVv{-IaNabRYz0%rKwA+7_@dBWxCcQN41dF zA0BPZxOCoIuQ}nHxWhp`e+|fAc|UWG-ucYieYa3Mn%KeE>^&(pY881gs%kvEu@ZGZ zt^fED_wnQfD#}?}Ds7@NefIj7c$t#KmMr1fIY*BlsX5M^#m`*h$kN+W!IO*?=9e(` zChP4&+he7yY|~q;H}j9Iw{AOgs(?j4yiexkHF+93SFyb6JZB}HIX!Leh87Rm23lvU z-__9B-0TSuOgz9i%Q+^*sq;0rxI4T&oxxW{m=GIJ&r#KFz91MUb~q{fVSG!wyU7!9 zuJ!~veC=({xjIkN1?6jlu!!^vksZEu9%pDHKB6u2tfFKChz6~^rM>a;fg~=U(k<$2 zbqab&WLURQ&E+p~uku8Q5PVI}!mf#hC0)85i#%(b+!@Xm_uBT(AW1ds;Pzh>@C7|i zcVJa#tEVm4G1uvCY6^HdI=GnGUDKS-_U7gePmtg)oQoq_LhfRD!vA^BiG{OQI^oB{ zVmh!qEa--+#M&-AE}XiB$5a@(T`>9QLEI4r0tF>cDwX#_ONw9 zS7j<9?3R9ZC(BCkvz)rUYzIqEdHT}+=#SsEz_!2iSEyAnRokoXs6rI&J-4cAUc&1a z_fLvGFz6=jB?u3v(Ua(V)s~)9$|=q_}}hZkmQqJQw6h*u7fhU%*u8Sv?C!>Ctna2xP192M z`lflh+ou(D`=?Fl?wIE2?gXxD+T`x7y%M}R5fTd74ZS(uocbmG>IFIV!TKXUR-hiB z8u9i~Yn7#UE=C;$WgTO?tm(7d9R_!LPQ7$%^h5souB@fKu+7;rC8qm|DXDuen_}(yS}^HI6=-YL>{xkq}4ZBu$1rtq^aY5Q0EQNOH{4oEwk zk5=|MSyzs;r;uBCeZN#H!`@WV!*XHG9sMi^G7j{4^Rn!{J8#--rSqv-O7A|ahBIdt z>$k_3X7trZKXk}zOZC@hRY70hef^0%=X#Ej2Y4XfZt_OPF49CA3okq5Els<^SDIGj zt4t&7O09AGov;YaV6v@On!p~B9xjD7zlSyF_iW7gR{00NIpRf)j&k&-n`-pg-J(8k z9Low0^E@$(rdZS(pIOS&{iQ#QIwVE?aNY;MndSRMzq->Nk|J;K-W8VdevhzbNc}ivP2sHLyDuF( zx8VN0_Z(Upy{hv2%coY&VoLY5-fyJtDS!7h+cdkLRy%M)FHPI*Ui{JD1Jcb2rP8&1Py6SyDX|Bj)hYKS$?;QcJ>{1vzE{(( z!CsptO?_zZHE!bSM;wi*O2POG8scHLS2QFl_W?2Yo?S$^*!X}Yxcwu;2QP3NIy6(ACv_kM`i z0p9-Z?ljo9=bD`iqmT1dwqJ6};}go|ZiUIt)QTH4`GCw+XMBZid_t+*Eis$ZR)G=U z4%V06FK_o%NzQNoXkXR7DrF~ohV^ZD0(#QjyYN5tHEZSGhYv~0ovCbseO!6Jde*U? zzaNA);5J)TvLpTaU7M}PdSvhJLsHSL6$!9Y-Ak5!bdabCyXgPpgZp6Prag$t`&r-8 ze)$>Zl%I*;bM;P{u`m0oWLTggOpz5%mhz0;_0sMe%F}jb>_zH=qX$#>GN*sO?5)jE z>J$9_`7iCh#%k$aHg^1Lpr3U|`H`M+y|%fDugQm0x$GS&3ws%CIBV3nti2bM-gihk zd)hlnbOvmDzx$=#Y@Dr_(k&aCv-j3_l(_z1rS6rSrDOf`tyQzp3gi1fJ_uWLCG-^X zGg6M!E$5&P_QjIj9kLlQ1JILcTX#pY^IvX}jVy$~nHC zG|dfSgt)*z-;eQY#-8+rjoy2`Sw8hpDwDR?``C7;_xO=N_Se@Z!s^6@m|NmJ{u%$C z_=Q=%E1vw5mrbhoZY@uE)#uFt=b~d0Q}^0ttj>79+uBQM=K(_=Q~ISUcfJ3aKX@Cw z_jrl&$dfci{^!B?$EcRA-6eY~yrWWWg})UwP5nbEqR0gm*zMzv_Plp6p4uMrX{}yc znObC7xV|!_gkp#-b7|_f`BK$A<^4VJ&rCxbqIR_Cqisunb{PGHxAX%)v(@i?fAKAQ z-*3MKG1C9$-{Ku4Yr_8?KYl-W`Pd!DHOG%1$Bc;4n1uX+1I9AJ~Mwz+X<#m$L(XHi^ryo^yug}Y!IU2&W*yjXA)PS;s6Eqd?YnldR|m1l#q#zAt){JTFSNzr6^i8QB%N18g0_i|UY`k%#t-63(~w$r+|> zSx%5G+Yp&xDMnEzsoaIt$y5R{5f;P45g777oW_b!ZVBNEal&F(htAv>UfN+lGL|~1 z{9`j=Tv5Cz($Rw|gGD$cIR_<@5rdjE$O}%YGJ~*2fqzmZ88s+HxROK(#RL8rix< zwq7e+x60P*WZO2`cD-!7LAKo}+isF=H_Ns!$+lZ$G)lgm{Uzoci?g!C^;_gGNvB(7 z2UL9lDx6x|Lk{-%z#_%Fwr-)>@MZ`7=q$R^}|lp**o` zi}hN|R_!`~`p?hc4=~t+679r?d8uQ*FqY7do9dKLw`_Klr3U(FQ2p2Bmav6yybo>?hCv>~v;)GsN^6F2;1xH)Ko zr2Pon)Bz7CExG<~q+NEiG2R@e>nXs!2?2dj-i1!`69Qb*aEzJ&nKLjW@ZP|j6iO1C zhKiYMh9i<{$To;r6HAj)MM{{D>mh%y;gF4MvP2-0prO>pA8EOCPv#-Uc$ zByJdv8I+$7A?kjJ8qY=P!DZc|#H)rQh-&A#7`6K$h=v8H6c{!_Kpz}Jz0GixlQVya zwB1Nc;c_@>$?zjc`yvb%B|6MzMJ}8ji#{6yX5%~*pVwVHJQq?fHbYPerXe<*4<{Ei z8GQz6dy$sX=|&7k1gU4ZVzCHLq^dBSv@`}j8)M}x!p`xsgv+F(KTN$zax@U3d|G&wodDz9$$HQ|z*wp+6H!ul{>PiETz ztoE8IVTTv?GT9n`6pDzNAhA&jj^C6LR5mIGXSYiU=dr{9&XSUTfPbk0w}D;$V1UUJ zn7}l)cfve*f+|398`=e<+FcEF2OT6^@>7zeKNBENh}I<$(M5OO!4c0A$pD)mbp+jH zn4zJ?)3z$;B^4~C6M|>Eg6uiTo{%w~gGDm||3WM*@CdNJU8C3`wxeh+quJK%2Z zSkT^rCk5EevN}ph6a;>Uy3!qVv%|7FT8U?`!x3jpu`4bY?)Nvcn_-kZJ}ybp6hAIA zO9H=|QK`ujM`r*Z-e*W$DlkIdd?I7%b6LwJ%IO1TLVLxxc z=1eTGWJt@w?uKPcP+GjPP#fSar99wqU(Td2 zNiivs19ltSjMZ@C7XYV9&GhJ(-e0=h9j&6r?C9{c;^DFr^pi_)e`_W7LKVVBLLdpN z$Nrs>5=g?l*mH2DhJA-;c_q*CsRlQ6f}TLLyU|luZJeFb2;%`5bRO9g9$F}njlqU? zyQDrSsSism3zjO3+bjRO?d2DsF%#T_iy(KSnl;;S&np`SHv8I|7W;#EmXAqOQOi`! zn#TffB(Sy{#IX~OAkn#?S=ac2-V5C=ogSo_QhW^PO9;(7U1{o^vkB9sV^)Lbf<;z{ z{R%KP1c*Glofvil6d~kHaS~l9r|Z_sVBI9NM{<(=AdGCR^{=hLGlO_0vAn$tq0y2k z{Tk+%f@W>)SOrXaCV6KJTx)A-U*&3UV$wo;EakHnI80WspDFpIJkmAu-@&@ajeNca z11Xp|WG|ok0eY zadiEDD-66>H_-lf7-*_o3)@kZn&I?&;NR__38yy;r@slLtyNS*a8_Xw#3Zjhg({f^ z#mLy1R3Mbsd$Etg^^O8WOI{!paTN9e{!e{&$U}IWyM=d<3;9#brxe0>z_5GaG`XR@ zy@g4#F-r{3|9C(T&krAy^!cRaE=l{Tq`f3rMbk&3ewIS9n2K8k30RFB5_N5)RhulKQE-*Ab{oY!j}7VZQ_y!+wRzo(m`0 zXimK7!s-gwJpPnF%AHBCN2g3+W2mv}DeP1o2wzZ~g{~A1zMY!lo zS#$iJkQdfeEMK3rm1C&*F8B_E7V5!JpJJ7xy*_cK$R;$h(5 zUUXD!bQ5p`u4*0E^T$38x4(b8fn*%rA-oR;ZbYc30*L-64CDcjzuqBjk{qKX^6$Iw zZ$G>r!!I|rH@o=UfPo=x((6bV<7>qrMqE6SHcOe4C{av{ukCV|{$2!=u9h-$IGReX zgGtv&nOOwe#rSTEl$!oKh?<3ZPAClUu9ch<-T|r}s3?-dqsy;z&l_Zub(L}kk?Osje$wWBu65zp!q11Zn)j97cjqI33B>G zs-D+@Y9D+d6!fApD(U-)F0PvbSF@CGbW_`|Un2#w-g6Lw-T*Sb2}9ZG#Z1~P$0ibI z6i-Qk>S{SQi7+37Eh^Z~q}$}U_`f1uD&|KCPr|-)k*lk*M+H52Ez9VHq-*8aG1NuP z03Q-I(7RI7R(aHD1<3O$@e@c~ZY0KR=Q=qp?Kwzxfe3Ok9J3qbelA-V@O524fJ+^q z@Ef|qYe{wz5+7qz$5 zxH~SVw?J`0%Ej@4w#MCt&W~PW6pX>-^3D!XWSp-vc?DgfFkx0F z*IroRZfOzxS0?kfPHWn6{k=UPaO;zoc-oq3FBH&K$+c@cmiusfi3{AAyrf2)vE+Fe z$QBA9ngc}wh~Yr70Ae{XT>x<$C=ozB2WAK$fdexIFp2}S1dzyq*#b!7z#IW2bD&5! zAw@vC4Wk958<8p?-HI^+(#=Q{kZwnMa(EESGn^Sh=#s}KSJsq;GCoc~I?X8{U2B$r zbgknBq-&j!JnzEVi)#)4W$U0WXQB@3f+p#pE@`q3>Y{Rzm%tuwY;N+hvYL4nI+T}O zJ8xOV;+jH3OMVEU>nR8!bWMdJgs!VdM-&+{ibDup#`F+Emr)Wz=rU&Lh+;#=%n(AC zF)M`7Wy}sCbQyD!=abiYF88zK7me zby2_5L0!}vI;e~Ky$T6qt%rI$NOiFGjW7}e8%%+Ut&K!zI#tnEp9Uw8y zfqxvao#NFDO1C7?z6$s3opf=q!--`MX6Dw>^AiZ`K~HN(-MrQYPg4_~eYmJSaCw8L ztP=&=rgy>-Cd zs}S=dGqcOn6%4pTwDih_z6MtXm+o5B9%yy9fF}Ry@J-*+VmPhR(@X=I4xkl|K5XT9 zc&DkeF&IMoICi-gciEc4%m?L;Ac`)`wpH$er`oAFT`j&=pGolCwT)g+te?$sdckUoJ;t>^@?xJgwk{hcj2{_soL!~6G{|qgl8|Tn`7A%O@ zr14z;J)fa|y73MDKfxP#(eav+tR*LCiSb%moMuhWPSZ-1^$tx_v{a{NP0$oY&eWuM zZsd4wBnIpe#RP;V)9qutxFt#JKEtfgybso9-kl=jpoFezy6ho6brP)0IbK>LW7?{zt^=b-XX7 zJJ6pp)Q(`d#>_+96vurO5tRcY9Afpr>*@#w5JW@Ka`_43Z+nRAA&SQ>zJ?Iuuo5BX z56UnCbTgj+3yC^!Ej>pU4)xjSC!2g>-HQgr^E-HD^w7UF0-d(0KCmImf!ZO%T{HxO z$+4O?MN3c865=#_vKBL4ONiH!Q?vxdGG5a%Wd#-Vy3gFWQeoUr5pcDXe9e)jX$d@7 zZ48;Benx(x+uHEcugDZ!agwAH#&o)2%p=>jkfEPdfzqvD82T0rML}v&`IHdO<*~40FK$uG>`DBONXR?Y@oZgVYlpAnlv59NA!kH|)ivTt zWGwcC$9_(6#9lX)jfe<%jJHj65U2F~^pH~hzV=f#b3mVUN+xv%eJ!V6lsvVFlz~qF zsk>Xq@drHqKzkz|q`)&SXUv?bu|42%HMW+ZYm$Gn{qe`OTjO+8RcBjc2z!x^tVSgX z48qp>TAM=1`hQ^>W=zgbINxe)Z6pKKM{nzYOnYB$YISq)#xHN%qrG8o>gWs+AGCXX zVb)tz&+3k~)Y*!pcdM)Pq)**;^fB%GN#0gB1_WKyvkQ)E6klu;;6fYxgPoO=iM8{Lkn1XusC{!nmD}y|737k?J>De!c8(@`SDXqvq$r zIp_O|ACL5h>^LZ2(c$-nz;CFSQ+tG{7v6enkG4%NB~!SISCTrVJ(@Vo#nF*#oAzVppJ+T~%t z3zmz8+Xb*#cwGPsbf*jGi`?hpe5LMk?dX3WcwBo#(p@fy7lu5pagSG$!wbn;?uUCM z;c<@PzPL-r6oqnRV2VwcVB_=wYWNqiVJ5zzQQG*I}n^33aQ|*^6Mix95v`+6zNCrz5ck?D^q7fuf2fZ zw(YGyeP8>fjVGXh=<0B{y4qIrrf2VY5^d`#DMSn& zNC%htstTmvB2oP7D#OT{i!^sgDeT$(OGj&pu-bwKp3La6xfc6*Bbg4p|4-}!Q|TB(2=WR&Km@N`jSERyx@MoBoSlwInr5G#oShLqi5(S1n}+LVI7Dmq zo3oR1lk=15KRbD$hD&Akc+BpU4M~cG^Kn{?Vo%lV%Eq`%xHmp3I!2YD=AkI61gZq` z{-BGa9*&Atl6ck76gifY_5{ap(o0bxSkp2R#$A|IHX#f~P|X`|+7X_%WQYYAyuOi6aOmM~76q^wQS#>Q!J ziVgm9!n;f1#w(K)HB}pxtfi%BG2=M@l-vRQ8s`_@up*!0%EM=xPkM+0Wx7X3KI2j5 zD4Eg7FU=S?#$^~qMTHP9s(}HA7Zp7e!LOfQ|8FQNvOrSy>sd(4P1dAQauQ6Qz>T3x zzC+Y5dcHt@fG(edj!owK27aXVpJcXyQie7&o!&nM-9~FZ(4}Ky(s6Ve+RSO@0!uPa zl*R%cJh8zfwv-O^6o>eqgd>o2$R`~CFT@c@I?xgb;(s=dK+=IUhBtaEU5Hs>AjxEb zy3jz;(XiT#Q#pPEqhqN!cjCaeu$bi}tyEz3elOQ0eFi8&CDu~2D8yP23t{5t1s0@hLa4wx28{r0S=6pCo8g4!)%}GrbOarXL zW5J{g|KUwk(j{~t^1#h(=mL<)P&zIY=lr-x$CCq-Hi?3u8fqvS>YRA_!;;{$nRw0T zKr;*W+1Qa;I*_V?o8fOd5;K%$)A4nL0-P5P$0(9)82hgnXg2nAo|7#UmB~J;orYsa z>YU_~&qVFGl^>e`qbbvYTp8X>j4CA%j28`N+yr7Jl0pg{21>bFC(7*BQzSba5h`qD+>Nj#xtJ;&?g>{-a}v zOI2cG@i)%Klf=Z}+$pqUgs;SDfU}|%2k@k#OqpG(DswD~41<&visK8g@=_%VhXpmt z_eIZX0eF>4Fx(MbBP?7~o!TG9ESgk5W^Oac(fGV!SU*J4t25u@tz%E5n zrs4Riq$p)eLBir5sho301 zs`9)NuPQ%P;#B1YB|%kQR7R=FOG=`u{I`;%D*vM-tIEqtimJS#j8>JODXFURb7hRG zbSr79(xarq03`#;l}spC#;VEzWt^(Kp=7Db@0IbY(yL5Rl{b}aRe4L9s49O@CaKCF zmC35|CnZ-^{;cGv%0Xp{s=TdCRh7Re(^TahB~Mk}Rq|EkJ*7ZZ{;CwJ%HNbCRrxy# zUFlP%tI8pzL{$zeGgRe$Wu~fppv+R050%-f@{uw}RgNfgRi$4!iwfy%P_=W&Cu`=Z z%K8gcWkap1Tm`>vyhv5tp~lMW2x8J3IHQ#}^hG!xFiuxvIdR4! zmf8S@k7H$qRms`IfI><63KvAr#xAp~6vm&Urdg1&ia~fG3F4c``N|Lp_u+Z1;?CsU-?m`M9h?bnyl*dF%?~p~;da?Xh`Spo(@WLFkcAy9 zf+KXijkCM4o8I}P7m8^UOsROoV?Us~u}8d(3yjWmGh$00pu4e~B+=WWv4ovbK>Mg=@;pA^9YsFQXfGZ9VxxJ+aWx459W;q7sN+$sFR>{pL9HtJVWlM zIg)(yz>w^uav^)nM;dPs9C-vPw9!z4rl_hfJ47qZq zTscdwoGn+*Q7VfHu@_-4#y%Z;3HBK*mdv%#Q+#ze8;v{*3_Vr%b6{Q%Vdy!xa=7gI8V*lWR{*UOOattRehaX(+lVN6N@FbcK|`w~%E?qeg2u07cH^ zkOSn*RGxW^62(S|>53v{+QvOGF`U0J(o_kKSV!p z68gcD&_6s09d8v5Rh}XJx1EH(>m>Bolp*Eg{a6ffB}q<4G4Pea_lHmw21=AWW^K+) z!~hE}g9!{3u*^77@?uxCguVfuH66cMKX{FD95o9k%9nd{*MNu&O1fTPH(@}4oG zmGGDWcN4@bI5#mb);UCrry9b^H_JoP5$Q$17$YJ*W0ym!#HfqmMMQm!G!E^Ov@Mm` zfiV)6!eClgLJPf7M{gtm!H)-~%PbBzTyD;k;v}1*O3L+_$x~F#l9HPiBV*yCxVxUU zMXOq&#qPLLv1#p=%hT^^gIJmOJd|PHCy^!ssKYwBMvE*<-^`ROLgUv+qhgtqJI2m5 z6?WNdQR96!OwYJh%NNr3Qa_2iK}H6t1C%o1aG?KHwO@h?AUElNiU1+D00SQcE{zGuJosO@GOzP zcz_Lc?DV`K&leS?(Yv3-rQ`Xt%(iSbNhV(3!-~AVao-ZSj%$~@VQewE!$8t%ieEBRbc1Etlrd{RS zF{2FzXZoT>3&0B_*2M@+Y!IN#7bHC#|tX zkM|`^(k-x(#?@Rh$>nv9d*A|iKqlR^8R|YESft}4W2i&F&2_K@n?w0kt|q5_-R`(5 zMjoHUlY*`?>wCExiw6De+|)nm)axN!=HFM~nrXzyeIL?H8U7cXUn#SASytYM^GkV# z|4tdU&fIUAn0_e=z%B|vTVuI2{TmgR#wZ25s6f(VbvJ0_h6kVvA6AAN5GaMur7PeD z>09IrvW>Qr_@Y3@%z~+J+OyWmPa;jyZ^r-g({t>Xnb@>0HJ8?OT)jDD7gXQbTXR3T`$N|icquT1sQ4* zb0-#B9dVYmvAGV-64yGt{ENEp$J(M0M%U#w>WzR`NryK5P|348$G8X%bOcE+JJjii zraz~1IElmVXtQj97)PtN-g1R&*LwI!=7#giMPpUzm1|LyLyg!^lCNx3eVL8D{{=aQ zor^NM`vqCkEK}0&5(Z=;n4WVV$v`j#_>82Ow0o{V%#vjsF&FIOlBGNzrZHmDna96M%yYo}GtNBG z%v>A6JmGa>o(<+-aOP|?^V$$|E;l3l@5EdP=65-BhQVyXC$gTEIQLk%9X>%1FYprLa*;|#TsjexSWlW_j zM(*fwSgEC1*3Z%`j+y9QXc(bnQBmbSAv`AWUKkyR%~5C>H^$<~`Pine{4XP6`u~^` zj;Dl{D?=3(UzbXHSx=gkYEe#*bOKMhK9n@dl+^j-2?a^77(et7Qu_H5k}MlzbCX{l z-Ra1(tcjgsiL-vyq1&HLvZnk%w?CRBSyJ`f$yyrq>K1QEQw*n%Gw4!^Eo$ZOEbb6J zmeZXf`e<%xeTW`6Fujt><%iS9b9$PQUKzvFH;2+EaC)IZ*V1iKkKAZk5~7bHy4|6Y z|D6jhV{?lvO|zI|gR-G;z9NdL@P;a{xKIvHEGS+OJcO~NmTa96KtwDOItYp@|wTISf2M2KK3d^p+Ih< zWzI~z0fBlUYZ*LeUkF*2C@lNRMvHCcj-}EY@&QCpT=|!8xzvcDH{v~Va|HeHCVWv` zp~k1+>8FP;#X7FMH+q2cY3b_~+43`%ewE#^-g3vrnScENk(E9mulG1SLiwnL446$( zyP(aOQ5o&x6FPr{Duj6}0#6LfMgzSE4OFwl8=-0<0?K%w9(}-QL(mb74;qZrZ;Q${ z!yKycn3nxzYW7Y@eUUf&XlnL4vs9$V2p$B%?0C&!{`p|$iz1k#eq%8Iaxn9T5Hq3= zBuDod%w@@+)xt9eXSgk%YK_I-ltgmxisVlG_KSK!e(S|S+^;DiOHh^Z zY-G~^8r(+*a#O=e=c87mLTN1dx|ej(*Ss`9G%;6*AujKk8D=zmq(xI=-U~&9(sg@7fw$>PVvx|2G-$YOq z6LhffO%1{UP_XHt9;sui4V0 z!ns-|52a6S48_tUGGxZz(OFvLncue5RqhUjatlJaJcRX3$F)UFJz;JM;D$+%-OUZBp&|+YZdkZr&v=B| z_!q$bAaCP89l-u`BP0l0RF?Sv1#=jVhqN^nD-zhg&b0L;+^qgR=_fviFoW94>-Wl|F2F3e##`E{{ z`0`lo4VMl4T1&h0vr)uXD>$9XszdL@pH3}9JK- zs_~H_Ut=>wJlW<#Oh=RD7x;IB}lg=76Ww9k{&1nRmKs zGleebY4S95iqdZKx!cZZ@dbk|9^f1Oo##~WuTtgJlvFwM2-ghUg;h&dm$*8pCeoS| zc)N`jIdYDNlkqCrr&@cdZm3t|#yj)y;j2^pkQN2+{QS^c<|81AzlQ|BeQKM;tJotZ z$oz`pNSMb1GyhJAGjFkX9ZI_spYLj%Iu+mN!fMF~0iUK!PF(xV?N0P_Myo&hCtXg} zszEx@@)n<}u#=A&oOvBnoq089pX{sNRjJyaCnkbk+^iu*9eo!}&7aDQDUk4Vgci^LdZ(d5@4U7HJuYkQ-{5pSHUj zyvoN&nD_7O5x8z+=B0n~r2R8*{}Bd!J|g^lM2L>{^AVvjB5Z7F@9^Ze=X7`*TrK(T z+*4_weBu!r2Nhym#M}NFtk#P2fai)%To-U*`J!NZ5T6jjC@rr8tAe!AOq>?vXbigC zSjqxW(A(MCfa4l>pbZn+4tx^Tb>B4f<%jebLyFJwlD=`Ys&o2;zQp|`O z-7N)J5VoKr&{%*eP65qxXcX)`5tC`|Tp%2Q_|Wd;zR(fv_?D*M)AqTCRuynRm>eYh z!q^%tg#39GYFkwx9AWa1?it2BUA`cyP*cmS8dtETZA9AHbhH!GZ2p`!zNj#eCvALz zc0V6~+()8u7i7PW09M8`tnu zAjmysa@5JEkpsgJ+!GlvDqXHci(S===B+HNSWef2fLOd_xvOSgW%Y_09kG1DikfoQ z!s_y6Wy>xm+zG=B){buJY=Vz!F)8dgVX)z`t+-%NW)a!ioqB!;QxSiV0>Sb>-6@pC zNLTP|!vR=L9oLip(;Lue?DEC9e%hvQAP`fADR&P3qo1rZBfr%7>mp|ecs=T z+bspUCrll_;Tyc-s(1PSsU2B?$l!p8t>+n^Q5FHagKqqN9&AoBODP!Ot$`tD010ic z3$Ywip3i-HQlILMig2glKCH{<4y?gyi16h9`I)cb3R4_2P^fZr`uPNp-(N2X`69wq z!at#D-v9X;6`t#fODV=guhrAq=nbIF{ipVd#RYm62lR_Zw#7{MKimN{zeN@YI6%jV zXc7$KQx%_wT?!`L6$4|5@D5`uYrVRojLRjaDaLT_o({SyazLJi<-C26KKbC5We8_A>+@;xzzkXOxdb7nk!&g^3#{?`23~*rge!HQ(N%JC zT7k)Z+{MNPD-#}0Zfy6j{oKi?aw~#6+2pBD*oIacLP3YorTki;{3vy%o1a* zvC9rijFc*kkbi~t-0Me=g)ZQNpMHZK)1RZ&0P38a2o`4803JvZ52W2 zkMy*N5n{AxTVflF8Dp*t~j;XAXpm#gH{DT;jHfs}Afq^hWx{z~X? z2K~*XzghG*oBrnDub7yNxn0CuJe~e1MKPr)rWD1LqL@+?QwkyyjYvcx!W>pPuYARP zR=J{P3GUZcRn1!_&Z`!d)h>u!+s*h=y>LKLk?sk@Bd|eG^rEL6=&VNJBNIBtNQBG? z3^Jsj7;=k?*}S=R4V}K0rjEK$8=se^Z;HBRmz2!P_cb==;gWhD$oxa2 zIM-h(5I37S5;vRch+rCs)amz;h0d9$QIWVEdm0t!w=+jrgP0q#^Jq@c>gPw?<{4on zbT_2VxbM+;T7>I&2-tbziunlZFxM#KGBZ1mUtk?!P25!jt}`|=dRnU*UkGz8#5dO) z_!}C`wWKrH=yeA=1URw{NEl&Uvm4?ww{9o~zmW(uTO%2bb%=H*{a%d^r#uMtbSny9pRE5&g)LWOwe zOOF-2^g_>b&=*uG){8<70n~xSg*SUQ7D zZwP``!!I;4e1qEu(_A8g;zWn3ZgqHJRuiSv&GLqn5t%FG6;P+I@&wIbOMCm}oqmq- z!kxw3xz(st{FSQ^hP!(pDss7Ao>DB#D=Z0@rmi|vO{eP!s$DMJt!2wRt9@?z8*BO`z#b1~#XynHofz9e$Q3d;I2 z%Yx1-Fx0NNKsVF?Os14~HaB|$wLx4kW6RvF%iH}%rgUHs@4U7q;w*0u2HRW1%mys@ zg|`Fk`05#6lL@Z#UQx2VGFVhyf=SH4jo$Gs2%!!gr%ro~FFgH@2>Q!d@W-6~A10XV*B2Ww(%)}_iM~Gq?lZw; z&lCE3Wt5)y_eH=m){X)io1mW`0WXSx{Sokk5%A*?aCZd!=Lonj0$yB|w4*z7qem*daj#UxR5aLP9){VQmFuX9lR zk-i*>F=|ioKuORy4e(=tqjk6t@IJuw9T1|I0A_moBKydmQXQuJl7DEGIvlVG|Il)6 z90Yt8($l(m22B3)n&1l1jg9QP6|lM`Y~NP_Cjq84tH~Z(=Qjf|tvyZf-GFBUHtc@@ zaHWa<2;h1X{C&XdP4HuYcbMQO0Y3)VkoP0N`%Ls71OBav{vzPFP4rg)tB7X{bo*Wf zyb!SA?_UD018n5yw}6{W^fv(qP4J%qZvi}8m-jB zZ0P?7;GY1-Vk6vtv<$>=O>`_$!QL~`ZGfpgAsP5BSWl6$wI(|HI%b+jO)ARZSIzZGg{rm*<_8XXUA;ePseHri%0sl;ge+Bq@@aO9=*=vkHNFT*VFZgl5 zCiJ(NV2YPdnP95l+f3t=gAw+Td}I7T@+)cGK7BLtYxMs_e`pB0F&-d#40Wgx>5cIP z(c6Zg8{-wCuO5PKjCY8BRRo>Qpsg`}AbUujG2SEoEYOXOVO_?`Gw42X>Nd@@U?)QI=mb31AvYEJPY_Gz|_8p z|5d<80aO1=@SA{VpgvQzBKQNq=KwbJS)v%b1Tc*sh&~4JD!_AfxCrnrz!dh0em3Ao z0Z-H68o+M?&e7p70=A?61LXXzfQ|8SJkoEDfd31yF`gv)cOu{)172#9_bT9vP4HWQ z-6r@5;Prs1|4u;vAB~LBc)3)EQvlO=n*2-jiGclpslE_A4RFvzpAL8%V31in=%obT z8ip4EX8Q!3fbp%%1jhqziGbG;+->mN*!3njp4r$P5%42`>8m@m#iM;oI8xig=A@m< zm39ilB4%MefOCd6O}igyX*cLZGH?w5u#5l{gY#J$5=8+aD_!dr<#UfPo`=3wAT#O_$Yh@I$LBlvcD5odgoB49KG4{=ACMKOu<0doTi;s!AX67XNZ?K~{{RaL$@I{E@ Ga{eDQsu4^8 literal 0 HcmV?d00001 diff --git a/lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.board b/lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.board new file mode 100644 index 00000000..f2cf2ac7 --- /dev/null +++ b/lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.board @@ -0,0 +1,9 @@ + + + + + $TOOLKIT_DIR$\config\flashloader\Atmel\same54n20a\same54n20a-flash.flash + CODE 0x00000000 0xFFFFF + 0x0 + + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.flash b/lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.flash new file mode 100644 index 00000000..fdabe335 --- /dev/null +++ b/lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.flash @@ -0,0 +1,15 @@ + + + + $TOOLKIT_DIR$\config\flashloader\Atmel\same54n20a\same54n20a-flash.out + 0x00000000 + 512 + 128 0x2000 + $TOOLKIT_DIR$\config\debugger\Atmel\Trace_SAME54.mac + 0 + + --debug : Print debug information such flash size and step done during flashloader process +--dump_buffer : dump input buffer of function FlashWrite +--dump_flash : dump flash after programming given buffer from FlashWrite function + + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.out b/lib/same54/iar/config/flashloader/Atmel/same54n20a/same54n20a-flash.out new file mode 100644 index 0000000000000000000000000000000000000000..e6aab5deb604461e45c7a5f06830d349212d44f8 GIT binary patch literal 54680 zcmeHw34B!5_5Xd_Y}v^|$O01xkN{Z;t6Me#QNk8btg(|xGGRuujFSlj1OY|FtzxzP zp|!1h)oy@d)oMXotNwo4CJJ3_YolGTYTJMd0sAZe@45HAnU_g~27~3_pKm^I-aE@Z z=iGDeJ@?+X+_!Pw!YWCUn6b$$hY_^&7Uq1rhq0Vj8B1YID`8GXv=mUc-O8Lqm$F#j zIQiDn-}iebl-kSto$>zpMOE6N<&5?H@~OPP^ew(-XY@B>z8QD8rSPn(;wlFIKOKAG z{-4(@*d;l0{8?3ThwF-uANlif)_0(v_2&2mSKQ&1g{-gp7;$+y*Gh1`2CnD8To3twusH6p|EwpxPkLE2>$9@OeUfcohV2;ZTl@|ibN%kJiUoFQ zJG+%lVmo$zeDqjO7t5*WjypW9IIHUTk-H%0#{T>6i#uFWd~p@)JNqc>yQZJ*h&xz}afh1#PXK&*e=Tz82b2M*ss9OY+~J#w;|{Mc z5*Bf5-e-NWpswiGdarVye|XfACpJktwvJ&tww8bNTGtKxtSk4jy~hr)UbdH@j}PQ@ zb?@rGep7X6pUnC<_g`Pyr|L%=j>ny|uU_28me}e`on6&7f2Q;Jk*UY&Kj-+IZJi6f z?`sKjHeFCfwq%&?=)1dqSyfIZ>pONdC$qOcr)&1EshM$yRi682`dOdazxacF&S&2K z=PjayOLz&_E&Q*Yo2r~$F;%x!jjLL@>y>`Cb81yN^8LpwmDhwv?~D?e4DlM}ODPHpLzO&SW+*tv4BZwVv{-IaNabRYz0%rKwA+7_@dBWxCcQN41dF zA0BPZxOCoIuQ}nHxWhp`e+|fAc|UWG-ucYieYa3Mn%KeE>^&(pY881gs%kvEu@ZGZ zt^fED_wnQfD#}?}Ds7@NefIj7c$t#KmMr1fIY*BlsX5M^#m`*h$kN+W!IO*?=9e(` zChP4&+he7yY|~q;H}j9Iw{AOgs(?j4yiexkHF+93SFyb6JZB}HIX!Leh87Rm23lvU z-__9B-0TSuOgz9i%Q+^*sq;0rxI4T&oxxW{m=GIJ&r#KFz91MUb~q{fVSG!wyU7!9 zuJ!~veC=({xjIkN1?6jlu!!^vksZEu9%pDHKB6u2tfFKChz6~^rM>a;fg~=U(k<$2 zbqab&WLURQ&E+p~uku8Q5PVI}!mf#hC0)85i#%(b+!@Xm_uBT(AW1ds;Pzh>@C7|i zcVJa#tEVm4G1uvCY6^HdI=GnGUDKS-_U7gePmtg)oQoq_LhfRD!vA^BiG{OQI^oB{ zVmh!qEa--+#M&-AE}XiB$5a@(T`>9QLEI4r0tF>cDwX#_ONw9 zS7j<9?3R9ZC(BCkvz)rUYzIqEdHT}+=#SsEz_!2iSEyAnRokoXs6rI&J-4cAUc&1a z_fLvGFz6=jB?u3v(Ua(V)s~)9$|=q_}}hZkmQqJQw6h*u7fhU%*u8Sv?C!>Ctna2xP192M z`lflh+ou(D`=?Fl?wIE2?gXxD+T`x7y%M}R5fTd74ZS(uocbmG>IFIV!TKXUR-hiB z8u9i~Yn7#UE=C;$WgTO?tm(7d9R_!LPQ7$%^h5souB@fKu+7;rC8qm|DXDuen_}(yS}^HI6=-YL>{xkq}4ZBu$1rtq^aY5Q0EQNOH{4oEwk zk5=|MSyzs;r;uBCeZN#H!`@WV!*XHG9sMi^G7j{4^Rn!{J8#--rSqv-O7A|ahBIdt z>$k_3X7trZKXk}zOZC@hRY70hef^0%=X#Ej2Y4XfZt_OPF49CA3okq5Els<^SDIGj zt4t&7O09AGov;YaV6v@On!p~B9xjD7zlSyF_iW7gR{00NIpRf)j&k&-n`-pg-J(8k z9Low0^E@$(rdZS(pIOS&{iQ#QIwVE?aNY;MndSRMzq->Nk|J;K-W8VdevhzbNc}ivP2sHLyDuF( zx8VN0_Z(Upy{hv2%coY&VoLY5-fyJtDS!7h+cdkLRy%M)FHPI*Ui{JD1Jcb2rP8&1Py6SyDX|Bj)hYKS$?;QcJ>{1vzE{(( z!CsptO?_zZHE!bSM;wi*O2POG8scHLS2QFl_W?2Yo?S$^*!X}Yxcwu;2QP3NIy6(ACv_kM`i z0p9-Z?ljo9=bD`iqmT1dwqJ6};}go|ZiUIt)QTH4`GCw+XMBZid_t+*Eis$ZR)G=U z4%V06FK_o%NzQNoXkXR7DrF~ohV^ZD0(#QjyYN5tHEZSGhYv~0ovCbseO!6Jde*U? zzaNA);5J)TvLpTaU7M}PdSvhJLsHSL6$!9Y-Ak5!bdabCyXgPpgZp6Prag$t`&r-8 ze)$>Zl%I*;bM;P{u`m0oWLTggOpz5%mhz0;_0sMe%F}jb>_zH=qX$#>GN*sO?5)jE z>J$9_`7iCh#%k$aHg^1Lpr3U|`H`M+y|%fDugQm0x$GS&3ws%CIBV3nti2bM-gihk zd)hlnbOvmDzx$=#Y@Dr_(k&aCv-j3_l(_z1rS6rSrDOf`tyQzp3gi1fJ_uWLCG-^X zGg6M!E$5&P_QjIj9kLlQ1JILcTX#pY^IvX}jVy$~nHC zG|dfSgt)*z-;eQY#-8+rjoy2`Sw8hpDwDR?``C7;_xO=N_Se@Z!s^6@m|NmJ{u%$C z_=Q=%E1vw5mrbhoZY@uE)#uFt=b~d0Q}^0ttj>79+uBQM=K(_=Q~ISUcfJ3aKX@Cw z_jrl&$dfci{^!B?$EcRA-6eY~yrWWWg})UwP5nbEqR0gm*zMzv_Plp6p4uMrX{}yc znObC7xV|!_gkp#-b7|_f`BK$A<^4VJ&rCxbqIR_Cqisunb{PGHxAX%)v(@i?fAKAQ z-*3MKG1C9$-{Ku4Yr_8?KYl-W`Pd!DHOG%1$Bc;4n1uX+1I9AJ~Mwz+X<#m$L(XHi^ryo^yug}Y!IU2&W*yjXA)PS;s6Eqd?YnldR|m1l#q#zAt){JTFSNzr6^i8QB%N18g0_i|UY`k%#t-63(~w$r+|> zSx%5G+Yp&xDMnEzsoaIt$y5R{5f;P45g777oW_b!ZVBNEal&F(htAv>UfN+lGL|~1 z{9`j=Tv5Cz($Rw|gGD$cIR_<@5rdjE$O}%YGJ~*2fqzmZ88s+HxROK(#RL8rix< zwq7e+x60P*WZO2`cD-!7LAKo}+isF=H_Ns!$+lZ$G)lgm{Uzoci?g!C^;_gGNvB(7 z2UL9lDx6x|Lk{-%z#_%Fwr-)>@MZ`7=q$R^}|lp**o` zi}hN|R_!`~`p?hc4=~t+679r?d8uQ*FqY7do9dKLw`_Klr3U(FQ2p2Bmav6yybo>?hCv>~v;)GsN^6F2;1xH)Ko zr2Pon)Bz7CExG<~q+NEiG2R@e>nXs!2?2dj-i1!`69Qb*aEzJ&nKLjW@ZP|j6iO1C zhKiYMh9i<{$To;r6HAj)MM{{D>mh%y;gF4MvP2-0prO>pA8EOCPv#-Uc$ zByJdv8I+$7A?kjJ8qY=P!DZc|#H)rQh-&A#7`6K$h=v8H6c{!_Kpz}Jz0GixlQVya zwB1Nc;c_@>$?zjc`yvb%B|6MzMJ}8ji#{6yX5%~*pVwVHJQq?fHbYPerXe<*4<{Ei z8GQz6dy$sX=|&7k1gU4ZVzCHLq^dBSv@`}j8)M}x!p`xsgv+F(KTN$zax@U3d|G&wodDz9$$HQ|z*wp+6H!ul{>PiETz ztoE8IVTTv?GT9n`6pDzNAhA&jj^C6LR5mIGXSYiU=dr{9&XSUTfPbk0w}D;$V1UUJ zn7}l)cfve*f+|398`=e<+FcEF2OT6^@>7zeKNBENh}I<$(M5OO!4c0A$pD)mbp+jH zn4zJ?)3z$;B^4~C6M|>Eg6uiTo{%w~gGDm||3WM*@CdNJU8C3`wxeh+quJK%2Z zSkT^rCk5EevN}ph6a;>Uy3!qVv%|7FT8U?`!x3jpu`4bY?)Nvcn_-kZJ}ybp6hAIA zO9H=|QK`ujM`r*Z-e*W$DlkIdd?I7%b6LwJ%IO1TLVLxxc z=1eTGWJt@w?uKPcP+GjPP#fSar99wqU(Td2 zNiivs19ltSjMZ@C7XYV9&GhJ(-e0=h9j&6r?C9{c;^DFr^pi_)e`_W7LKVVBLLdpN z$Nrs>5=g?l*mH2DhJA-;c_q*CsRlQ6f}TLLyU|luZJeFb2;%`5bRO9g9$F}njlqU? zyQDrSsSism3zjO3+bjRO?d2DsF%#T_iy(KSnl;;S&np`SHv8I|7W;#EmXAqOQOi`! zn#TffB(Sy{#IX~OAkn#?S=ac2-V5C=ogSo_QhW^PO9;(7U1{o^vkB9sV^)Lbf<;z{ z{R%KP1c*Glofvil6d~kHaS~l9r|Z_sVBI9NM{<(=AdGCR^{=hLGlO_0vAn$tq0y2k z{Tk+%f@W>)SOrXaCV6KJTx)A-U*&3UV$wo;EakHnI80WspDFpIJkmAu-@&@ajeNca z11Xp|WG|ok0eY zadiEDD-66>H_-lf7-*_o3)@kZn&I?&;NR__38yy;r@slLtyNS*a8_Xw#3Zjhg({f^ z#mLy1R3Mbsd$Etg^^O8WOI{!paTN9e{!e{&$U}IWyM=d<3;9#brxe0>z_5GaG`XR@ zy@g4#F-r{3|9C(T&krAy^!cRaE=l{Tq`f3rMbk&3ewIS9n2K8k30RFB5_N5)RhulKQE-*Ab{oY!j}7VZQ_y!+wRzo(m`0 zXimK7!s-gwJpPnF%AHBCN2g3+W2mv}DeP1o2wzZ~g{~A1zMY!lo zS#$iJkQdfeEMK3rm1C&*F8B_E7V5!JpJJ7xy*_cK$R;$h(5 zUUXD!bQ5p`u4*0E^T$38x4(b8fn*%rA-oR;ZbYc30*L-64CDcjzuqBjk{qKX^6$Iw zZ$G>r!!I|rH@o=UfPo=x((6bV<7>qrMqE6SHcOe4C{av{ukCV|{$2!=u9h-$IGReX zgGtv&nOOwe#rSTEl$!oKh?<3ZPAClUu9ch<-T|r}s3?-dqsy;z&l_Zub(L}kk?Osje$wWBu65zp!q11Zn)j97cjqI33B>G zs-D+@Y9D+d6!fApD(U-)F0PvbSF@CGbW_`|Un2#w-g6Lw-T*Sb2}9ZG#Z1~P$0ibI z6i-Qk>S{SQi7+37Eh^Z~q}$}U_`f1uD&|KCPr|-)k*lk*M+H52Ez9VHq-*8aG1NuP z03Q-I(7RI7R(aHD1<3O$@e@c~ZY0KR=Q=qp?Kwzxfe3Ok9J3qbelA-V@O524fJ+^q z@Ef|qYe{wz5+7qz$5 zxH~SVw?J`0%Ej@4w#MCt&W~PW6pX>-^3D!XWSp-vc?DgfFkx0F z*IroRZfOzxS0?kfPHWn6{k=UPaO;zoc-oq3FBH&K$+c@cmiusfi3{AAyrf2)vE+Fe z$QBA9ngc}wh~Yr70Ae{XT>x<$C=ozB2WAK$fdexIFp2}S1dzyq*#b!7z#IW2bD&5! zAw@vC4Wk958<8p?-HI^+(#=Q{kZwnMa(EESGn^Sh=#s}KSJsq;GCoc~I?X8{U2B$r zbgknBq-&j!JnzEVi)#)4W$U0WXQB@3f+p#pE@`q3>Y{Rzm%tuwY;N+hvYL4nI+T}O zJ8xOV;+jH3OMVEU>nR8!bWMdJgs!VdM-&+{ibDup#`F+Emr)Wz=rU&Lh+;#=%n(AC zF)M`7Wy}sCbQyD!=abiYF88zK7me zby2_5L0!}vI;e~Ky$T6qt%rI$NOiFGjW7}e8%%+Ut&K!zI#tnEp9Uw8y zfqxvao#NFDO1C7?z6$s3opf=q!--`MX6Dw>^AiZ`K~HN(-MrQYPg4_~eYmJSaCw8L ztP=&=rgy>-Cd zs}S=dGqcOn6%4pTwDih_z6MtXm+o5B9%yy9fF}Ry@J-*+VmPhR(@X=I4xkl|K5XT9 zc&DkeF&IMoICi-gciEc4%m?L;Ac`)`wpH$er`oAFT`j&=pGolCwT)g+te?$sdckUoJ;t>^@?xJgwk{hcj2{_soL!~6G{|qgl8|Tn`7A%O@ zr14z;J)fa|y73MDKfxP#(eav+tR*LCiSb%moMuhWPSZ-1^$tx_v{a{NP0$oY&eWuM zZsd4wBnIpe#RP;V)9qutxFt#JKEtfgybso9-kl=jpoFezy6ho6brP)0IbK>LW7?{zt^=b-XX7 zJJ6pp)Q(`d#>_+96vurO5tRcY9Afpr>*@#w5JW@Ka`_43Z+nRAA&SQ>zJ?Iuuo5BX z56UnCbTgj+3yC^!Ej>pU4)xjSC!2g>-HQgr^E-HD^w7UF0-d(0KCmImf!ZO%T{HxO z$+4O?MN3c865=#_vKBL4ONiH!Q?vxdGG5a%Wd#-Vy3gFWQeoUr5pcDXe9e)jX$d@7 zZ48;Benx(x+uHEcugDZ!agwAH#&o)2%p=>jkfEPdfzqvD82T0rML}v&`IHdO<*~40FK$uG>`DBONXR?Y@oZgVYlpAnlv59NA!kH|)ivTt zWGwcC$9_(6#9lX)jfe<%jJHj65U2F~^pH~hzV=f#b3mVUN+xv%eJ!V6lsvVFlz~qF zsk>Xq@drHqKzkz|q`)&SXUv?bu|42%HMW+ZYm$Gn{qe`OTjO+8RcBjc2z!x^tVSgX z48qp>TAM=1`hQ^>W=zgbINxe)Z6pKKM{nzYOnYB$YISq)#xHN%qrG8o>gWs+AGCXX zVb)tz&+3k~)Y*!pcdM)Pq)**;^fB%GN#0gB1_WKyvkQ)E6klu;;6fYxgPoO=iM8{Lkn1XusC{!nmD}y|737k?J>De!c8(@`SDXqvq$r zIp_O|ACL5h>^LZ2(c$-nz;CFSQ+tG{7v6enkG4%NB~!SISCTrVJ(@Vo#nF*#oAzVppJ+T~%t z3zmz8+Xb*#cwGPsbf*jGi`?hpe5LMk?dX3WcwBo#(p@fy7lu5pagSG$!wbn;?uUCM z;c<@PzPL-r6oqnRV2VwcVB_=wYWNqiVJ5zzQQG*I}n^33aQ|*^6Mix95v`+6zNCrz5ck?D^q7fuf2fZ zw(YGyeP8>fjVGXh=<0B{y4qIrrf2VY5^d`#DMSn& zNC%htstTmvB2oP7D#OT{i!^sgDeT$(OGj&pu-bwKp3La6xfc6*Bbg4p|4-}!Q|TB(2=WR&Km@N`jSERyx@MoBoSlwInr5G#oShLqi5(S1n}+LVI7Dmq zo3oR1lk=15KRbD$hD&Akc+BpU4M~cG^Kn{?Vo%lV%Eq`%xHmp3I!2YD=AkI61gZq` z{-BGa9*&Atl6ck76gifY_5{ap(o0bxSkp2R#$A|IHX#f~P|X`|+7X_%WQYYAyuOi6aOmM~76q^wQS#>Q!J ziVgm9!n;f1#w(K)HB}pxtfi%BG2=M@l-vRQ8s`_@up*!0%EM=xPkM+0Wx7X3KI2j5 zD4Eg7FU=S?#$^~qMTHP9s(}HA7Zp7e!LOfQ|8FQNvOrSy>sd(4P1dAQauQ6Qz>T3x zzC+Y5dcHt@fG(edj!owK27aXVpJcXyQie7&o!&nM-9~FZ(4}Ky(s6Ve+RSO@0!uPa zl*R%cJh8zfwv-O^6o>eqgd>o2$R`~CFT@c@I?xgb;(s=dK+=IUhBtaEU5Hs>AjxEb zy3jz;(XiT#Q#pPEqhqN!cjCaeu$bi}tyEz3elOQ0eFi8&CDu~2D8yP23t{5t1s0@hLa4wx28{r0S=6pCo8g4!)%}GrbOarXL zW5J{g|KUwk(j{~t^1#h(=mL<)P&zIY=lr-x$CCq-Hi?3u8fqvS>YRA_!;;{$nRw0T zKr;*W+1Qa;I*_V?o8fOd5;K%$)A4nL0-P5P$0(9)82hgnXg2nAo|7#UmB~J;orYsa z>YU_~&qVFGl^>e`qbbvYTp8X>j4CA%j28`N+yr7Jl0pg{21>bFC(7*BQzSba5h`qD+>Nj#xtJ;&?g>{-a}v zOI2cG@i)%Klf=Z}+$pqUgs;SDfU}|%2k@k#OqpG(DswD~41<&visK8g@=_%VhXpmt z_eIZX0eF>4Fx(MbBP?7~o!TG9ESgk5W^Oac(fGV!SU*J4t25u@tz%E5n zrs4Riq$p)eLBir5sho301 zs`9)NuPQ%P;#B1YB|%kQR7R=FOG=`u{I`;%D*vM-tIEqtimJS#j8>JODXFURb7hRG zbSr79(xarq03`#;l}spC#;VEzWt^(Kp=7Db@0IbY(yL5Rl{b}aRe4L9s49O@CaKCF zmC35|CnZ-^{;cGv%0Xp{s=TdCRh7Re(^TahB~Mk}Rq|EkJ*7ZZ{;CwJ%HNbCRrxy# zUFlP%tI8pzL{$zeGgRe$Wu~fppv+R050%-f@{uw}RgNfgRi$4!iwfy%P_=W&Cu`=Z z%K8gcWkap1Tm`>vyhv5tp~lMW2x8J3IHQ#}^hG!xFiuxvIdR4! zmf8S@k7H$qRms`IfI><63KvAr#xAp~6vm&Urdg1&ia~fG3F4c``N|Lp_u+Z1;?CsU-?m`M9h?bnyl*dF%?~p~;da?Xh`Spo(@WLFkcAy9 zf+KXijkCM4o8I}P7m8^UOsROoV?Us~u}8d(3yjWmGh$00pu4e~B+=WWv4ovbK>Mg=@;pA^9YsFQXfGZ9VxxJ+aWx459W;q7sN+$sFR>{pL9HtJVWlM zIg)(yz>w^uav^)nM;dPs9C-vPw9!z4rl_hfJ47qZq zTscdwoGn+*Q7VfHu@_-4#y%Z;3HBK*mdv%#Q+#ze8;v{*3_Vr%b6{Q%Vdy!xa=7gI8V*lWR{*UOOattRehaX(+lVN6N@FbcK|`w~%E?qeg2u07cH^ zkOSn*RGxW^62(S|>53v{+QvOGF`U0J(o_kKSV!p z68gcD&_6s09d8v5Rh}XJx1EH(>m>Bolp*Eg{a6ffB}q<4G4Pea_lHmw21=AWW^K+) z!~hE}g9!{3u*^77@?uxCguVfuH66cMKX{FD95o9k%9nd{*MNu&O1fTPH(@}4oG zmGGDWcN4@bI5#mb);UCrry9b^H_JoP5$Q$17$YJ*W0ym!#HfqmMMQm!G!E^Ov@Mm` zfiV)6!eClgLJPf7M{gtm!H)-~%PbBzTyD;k;v}1*O3L+_$x~F#l9HPiBV*yCxVxUU zMXOq&#qPLLv1#p=%hT^^gIJmOJd|PHCy^!ssKYwBMvE*<-^`ROLgUv+qhgtqJI2m5 z6?WNdQR96!OwYJh%NNr3Qa_2iK}H6t1C%o1aG?KHwO@h?AUElNiU1+D00SQcE{zGuJosO@GOzP zcz_Lc?DV`K&leS?(Yv3-rQ`Xt%(iSbNhV(3!-~AVao-ZSj%$~@VQewE!$8t%ieEBRbc1Etlrd{RS zF{2FzXZoT>3&0B_*2M@+Y!IN#7bHC#|tX zkM|`^(k-x(#?@Rh$>nv9d*A|iKqlR^8R|YESft}4W2i&F&2_K@n?w0kt|q5_-R`(5 zMjoHUlY*`?>wCExiw6De+|)nm)axN!=HFM~nrXzyeIL?H8U7cXUn#SASytYM^GkV# z|4tdU&fIUAn0_e=z%B|vTVuI2{TmgR#wZ25s6f(VbvJ0_h6kVvA6AAN5GaMur7PeD z>09IrvW>Qr_@Y3@%z~+J+OyWmPa;jyZ^r-g({t>Xnb@>0HJ8?OT)jDD7gXQbTXR3T`$N|icquT1sQ4* zb0-#B9dVYmvAGV-64yGt{ENEp$J(M0M%U#w>WzR`NryK5P|348$G8X%bOcE+JJjii zraz~1IElmVXtQj97)PtN-g1R&*LwI!=7#giMPpUzm1|LyLyg!^lCNx3eVL8D{{=aQ zor^NM`vqCkEK}0&5(Z=;n4WVV$v`j#_>82Ow0o{V%#vjsF&FIOlBGNzrZHmDna96M%yYo}GtNBG z%v>A6JmGa>o(<+-aOP|?^V$$|E;l3l@5EdP=65-BhQVyXC$gTEIQLk%9X>%1FYprLa*;|#TsjexSWlW_j zM(*fwSgEC1*3Z%`j+y9QXc(bnQBmbSAv`AWUKkyR%~5C>H^$<~`Pine{4XP6`u~^` zj;Dl{D?=3(UzbXHSx=gkYEe#*bOKMhK9n@dl+^j-2?a^77(et7Qu_H5k}MlzbCX{l z-Ra1(tcjgsiL-vyq1&HLvZnk%w?CRBSyJ`f$yyrq>K1QEQw*n%Gw4!^Eo$ZOEbb6J zmeZXf`e<%xeTW`6Fujt><%iS9b9$PQUKzvFH;2+EaC)IZ*V1iKkKAZk5~7bHy4|6Y z|D6jhV{?lvO|zI|gR-G;z9NdL@P;a{xKIvHEGS+OJcO~NmTa96KtwDOItYp@|wTISf2M2KK3d^p+Ih< zWzI~z0fBlUYZ*LeUkF*2C@lNRMvHCcj-}EY@&QCpT=|!8xzvcDH{v~Va|HeHCVWv` zp~k1+>8FP;#X7FMH+q2cY3b_~+43`%ewE#^-g3vrnScENk(E9mulG1SLiwnL446$( zyP(aOQ5o&x6FPr{Duj6}0#6LfMgzSE4OFwl8=-0<0?K%w9(}-QL(mb74;qZrZ;Q${ z!yKycn3nxzYW7Y@eUUf&XlnL4vs9$V2p$B%?0C&!{`p|$iz1k#eq%8Iaxn9T5Hq3= zBuDod%w@@+)xt9eXSgk%YK_I-ltgmxisVlG_KSK!e(S|S+^;DiOHh^Z zY-G~^8r(+*a#O=e=c87mLTN1dx|ej(*Ss`9G%;6*AujKk8D=zmq(xI=-U~&9(sg@7fw$>PVvx|2G-$YOq z6LhffO%1{UP_XHt9;sui4V0 z!ns-|52a6S48_tUGGxZz(OFvLncue5RqhUjatlJaJcRX3$F)UFJz;JM;D$+%-OUZBp&|+YZdkZr&v=B| z_!q$bAaCP89l-u`BP0l0RF?Sv1#=jVhqN^nD-zhg&b0L;+^qgR=_fviFoW94>-Wl|F2F3e##`E{{ z`0`lo4VMl4T1&h0vr)uXD>$9XszdL@pH3}9JK- zs_~H_Ut=>wJlW<#Oh=RD7x;IB}lg=76Ww9k{&1nRmKs zGleebY4S95iqdZKx!cZZ@dbk|9^f1Oo##~WuTtgJlvFwM2-ghUg;h&dm$*8pCeoS| zc)N`jIdYDNlkqCrr&@cdZm3t|#yj)y;j2^pkQN2+{QS^c<|81AzlQ|BeQKM;tJotZ z$oz`pNSMb1GyhJAGjFkX9ZI_spYLj%Iu+mN!fMF~0iUK!PF(xV?N0P_Myo&hCtXg} zszEx@@)n<}u#=A&oOvBnoq089pX{sNRjJyaCnkbk+^iu*9eo!}&7aDQDUk4Vgci^LdZ(d5@4U7HJuYkQ-{5pSHUj zyvoN&nD_7O5x8z+=B0n~r2R8*{}Bd!J|g^lM2L>{^AVvjB5Z7F@9^Ze=X7`*TrK(T z+*4_weBu!r2Nhym#M}NFtk#P2fai)%To-U*`J!NZ5T6jjC@rr8tAe!AOq>?vXbigC zSjqxW(A(MCfa4l>pbZn+4tx^Tb>B4f<%jebLyFJwlD=`Ys&o2;zQp|`O z-7N)J5VoKr&{%*eP65qxXcX)`5tC`|Tp%2Q_|Wd;zR(fv_?D*M)AqTCRuynRm>eYh z!q^%tg#39GYFkwx9AWa1?it2BUA`cyP*cmS8dtETZA9AHbhH!GZ2p`!zNj#eCvALz zc0V6~+()8u7i7PW09M8`tnu zAjmysa@5JEkpsgJ+!GlvDqXHci(S===B+HNSWef2fLOd_xvOSgW%Y_09kG1DikfoQ z!s_y6Wy>xm+zG=B){buJY=Vz!F)8dgVX)z`t+-%NW)a!ioqB!;QxSiV0>Sb>-6@pC zNLTP|!vR=L9oLip(;Lue?DEC9e%hvQAP`fADR&P3qo1rZBfr%7>mp|ecs=T z+bspUCrll_;Tyc-s(1PSsU2B?$l!p8t>+n^Q5FHagKqqN9&AoBODP!Ot$`tD010ic z3$Ywip3i-HQlILMig2glKCH{<4y?gyi16h9`I)cb3R4_2P^fZr`uPNp-(N2X`69wq z!at#D-v9X;6`t#fODV=guhrAq=nbIF{ipVd#RYm62lR_Zw#7{MKimN{zeN@YI6%jV zXc7$KQx%_wT?!`L6$4|5@D5`uYrVRojLRjaDaLT_o({SyazLJi<-C26KKbC5We8_A>+@;xzzkXOxdb7nk!&g^3#{?`23~*rge!HQ(N%JC zT7k)Z+{MNPD-#}0Zfy6j{oKi?aw~#6+2pBD*oIacLP3YorTki;{3vy%o1a* zvC9rijFc*kkbi~t-0Me=g)ZQNpMHZK)1RZ&0P38a2o`4803JvZ52W2 zkMy*N5n{AxTVflF8Dp*t~j;XAXpm#gH{DT;jHfs}Afq^hWx{z~X? z2K~*XzghG*oBrnDub7yNxn0CuJe~e1MKPr)rWD1LqL@+?QwkyyjYvcx!W>pPuYARP zR=J{P3GUZcRn1!_&Z`!d)h>u!+s*h=y>LKLk?sk@Bd|eG^rEL6=&VNJBNIBtNQBG? z3^Jsj7;=k?*}S=R4V}K0rjEK$8=se^Z;HBRmz2!P_cb==;gWhD$oxa2 zIM-h(5I37S5;vRch+rCs)amz;h0d9$QIWVEdm0t!w=+jrgP0q#^Jq@c>gPw?<{4on zbT_2VxbM+;T7>I&2-tbziunlZFxM#KGBZ1mUtk?!P25!jt}`|=dRnU*UkGz8#5dO) z_!}C`wWKrH=yeA=1URw{NEl&Uvm4?ww{9o~zmW(uTO%2bb%=H*{a%d^r#uMtbSny9pRE5&g)LWOwe zOOF-2^g_>b&=*uG){8<70n~xSg*SUQ7D zZwP``!!I;4e1qEu(_A8g;zWn3ZgqHJRuiSv&GLqn5t%FG6;P+I@&wIbOMCm}oqmq- z!kxw3xz(st{FSQ^hP!(pDss7Ao>DB#D=Z0@rmi|vO{eP!s$DMJt!2wRt9@?z8*BO`z#b1~#XynHofz9e$Q3d;I2 z%Yx1-Fx0NNKsVF?Os14~HaB|$wLx4kW6RvF%iH}%rgUHs@4U7q;w*0u2HRW1%mys@ zg|`Fk`05#6lL@Z#UQx2VGFVhyf=SH4jo$Gs2%!!gr%ro~FFgH@2>Q!d@W-6~A10XV*B2Ww(%)}_iM~Gq?lZw; z&lCE3Wt5)y_eH=m){X)io1mW`0WXSx{Sokk5%A*?aCZd!=Lonj0$yB|w4*z7qem*daj#UxR5aLP9){VQmFuX9lR zk-i*>F=|ioKuORy4e(=tqjk6t@IJuw9T1|I0A_moBKydmQXQuJl7DEGIvlVG|Il)6 z90Yt8($l(m22B3)n&1l1jg9QP6|lM`Y~NP_Cjq84tH~Z(=Qjf|tvyZf-GFBUHtc@@ zaHWa<2;h1X{C&XdP4HuYcbMQO0Y3)VkoP0N`%Ls71OBav{vzPFP4rg)tB7X{bo*Wf zyb!SA?_UD018n5yw}6{W^fv(qP4J%qZvi}8m-jB zZ0P?7;GY1-Vk6vtv<$>=O>`_$!QL~`ZGfpgAsP5BSWl6$wI(|HI%b+jO)ARZSIzZGg{rm*<_8XXUA;ePseHri%0sl;ge+Bq@@aO9=*=vkHNFT*VFZgl5 zCiJ(NV2YPdnP95l+f3t=gAw+Td}I7T@+)cGK7BLtYxMs_e`pB0F&-d#40Wgx>5cIP z(c6Zg8{-wCuO5PKjCY8BRRo>Qpsg`}AbUujG2SEoEYOXOVO_?`Gw42X>Nd@@U?)QI=mb31AvYEJPY_Gz|_8p z|5d<80aO1=@SA{VpgvQzBKQNq=KwbJS)v%b1Tc*sh&~4JD!_AfxCrnrz!dh0em3Ao z0Z-H68o+M?&e7p70=A?61LXXzfQ|8SJkoEDfd31yF`gv)cOu{)172#9_bT9vP4HWQ z-6r@5;Prs1|4u;vAB~LBc)3)EQvlO=n*2-jiGclpslE_A4RFvzpAL8%V31in=%obT z8ip4EX8Q!3fbp%%1jhqziGbG;+->mN*!3njp4r$P5%42`>8m@m#iM;oI8xig=A@m< zm39ilB4%MefOCd6O}igyX*cLZGH?w5u#5l{gY#J$5=8+aD_!dr<#UfPo`=3wAT#O_$Yh@I$LBlvcD5odgoB49KG4{=ACMKOu<0doTi;s!AX67XNZ?K~{{RaL$@I{E@ Ga{eDQsu4^8 literal 0 HcmV?d00001 diff --git a/lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.board b/lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.board new file mode 100644 index 00000000..0eec2bf3 --- /dev/null +++ b/lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.board @@ -0,0 +1,9 @@ + + + + + $TOOLKIT_DIR$\config\flashloader\Atmel\same54p19a\same54p19a-flash.flash + CODE 0x00000000 0x7FFFF + 0x0 + + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.flash b/lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.flash new file mode 100644 index 00000000..23c67330 --- /dev/null +++ b/lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.flash @@ -0,0 +1,15 @@ + + + + $TOOLKIT_DIR$\config\flashloader\Atmel\same54p19a\same54p19a-flash.out + 0x00000000 + 512 + 64 0x2000 + $TOOLKIT_DIR$\config\debugger\Atmel\Trace_SAME54.mac + 0 + + --debug : Print debug information such flash size and step done during flashloader process +--dump_buffer : dump input buffer of function FlashWrite +--dump_flash : dump flash after programming given buffer from FlashWrite function + + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.out b/lib/same54/iar/config/flashloader/Atmel/same54p19a/same54p19a-flash.out new file mode 100644 index 0000000000000000000000000000000000000000..e6aab5deb604461e45c7a5f06830d349212d44f8 GIT binary patch literal 54680 zcmeHw34B!5_5Xd_Y}v^|$O01xkN{Z;t6Me#QNk8btg(|xGGRuujFSlj1OY|FtzxzP zp|!1h)oy@d)oMXotNwo4CJJ3_YolGTYTJMd0sAZe@45HAnU_g~27~3_pKm^I-aE@Z z=iGDeJ@?+X+_!Pw!YWCUn6b$$hY_^&7Uq1rhq0Vj8B1YID`8GXv=mUc-O8Lqm$F#j zIQiDn-}iebl-kSto$>zpMOE6N<&5?H@~OPP^ew(-XY@B>z8QD8rSPn(;wlFIKOKAG z{-4(@*d;l0{8?3ThwF-uANlif)_0(v_2&2mSKQ&1g{-gp7;$+y*Gh1`2CnD8To3twusH6p|EwpxPkLE2>$9@OeUfcohV2;ZTl@|ibN%kJiUoFQ zJG+%lVmo$zeDqjO7t5*WjypW9IIHUTk-H%0#{T>6i#uFWd~p@)JNqc>yQZJ*h&xz}afh1#PXK&*e=Tz82b2M*ss9OY+~J#w;|{Mc z5*Bf5-e-NWpswiGdarVye|XfACpJktwvJ&tww8bNTGtKxtSk4jy~hr)UbdH@j}PQ@ zb?@rGep7X6pUnC<_g`Pyr|L%=j>ny|uU_28me}e`on6&7f2Q;Jk*UY&Kj-+IZJi6f z?`sKjHeFCfwq%&?=)1dqSyfIZ>pONdC$qOcr)&1EshM$yRi682`dOdazxacF&S&2K z=PjayOLz&_E&Q*Yo2r~$F;%x!jjLL@>y>`Cb81yN^8LpwmDhwv?~D?e4DlM}ODPHpLzO&SW+*tv4BZwVv{-IaNabRYz0%rKwA+7_@dBWxCcQN41dF zA0BPZxOCoIuQ}nHxWhp`e+|fAc|UWG-ucYieYa3Mn%KeE>^&(pY881gs%kvEu@ZGZ zt^fED_wnQfD#}?}Ds7@NefIj7c$t#KmMr1fIY*BlsX5M^#m`*h$kN+W!IO*?=9e(` zChP4&+he7yY|~q;H}j9Iw{AOgs(?j4yiexkHF+93SFyb6JZB}HIX!Leh87Rm23lvU z-__9B-0TSuOgz9i%Q+^*sq;0rxI4T&oxxW{m=GIJ&r#KFz91MUb~q{fVSG!wyU7!9 zuJ!~veC=({xjIkN1?6jlu!!^vksZEu9%pDHKB6u2tfFKChz6~^rM>a;fg~=U(k<$2 zbqab&WLURQ&E+p~uku8Q5PVI}!mf#hC0)85i#%(b+!@Xm_uBT(AW1ds;Pzh>@C7|i zcVJa#tEVm4G1uvCY6^HdI=GnGUDKS-_U7gePmtg)oQoq_LhfRD!vA^BiG{OQI^oB{ zVmh!qEa--+#M&-AE}XiB$5a@(T`>9QLEI4r0tF>cDwX#_ONw9 zS7j<9?3R9ZC(BCkvz)rUYzIqEdHT}+=#SsEz_!2iSEyAnRokoXs6rI&J-4cAUc&1a z_fLvGFz6=jB?u3v(Ua(V)s~)9$|=q_}}hZkmQqJQw6h*u7fhU%*u8Sv?C!>Ctna2xP192M z`lflh+ou(D`=?Fl?wIE2?gXxD+T`x7y%M}R5fTd74ZS(uocbmG>IFIV!TKXUR-hiB z8u9i~Yn7#UE=C;$WgTO?tm(7d9R_!LPQ7$%^h5souB@fKu+7;rC8qm|DXDuen_}(yS}^HI6=-YL>{xkq}4ZBu$1rtq^aY5Q0EQNOH{4oEwk zk5=|MSyzs;r;uBCeZN#H!`@WV!*XHG9sMi^G7j{4^Rn!{J8#--rSqv-O7A|ahBIdt z>$k_3X7trZKXk}zOZC@hRY70hef^0%=X#Ej2Y4XfZt_OPF49CA3okq5Els<^SDIGj zt4t&7O09AGov;YaV6v@On!p~B9xjD7zlSyF_iW7gR{00NIpRf)j&k&-n`-pg-J(8k z9Low0^E@$(rdZS(pIOS&{iQ#QIwVE?aNY;MndSRMzq->Nk|J;K-W8VdevhzbNc}ivP2sHLyDuF( zx8VN0_Z(Upy{hv2%coY&VoLY5-fyJtDS!7h+cdkLRy%M)FHPI*Ui{JD1Jcb2rP8&1Py6SyDX|Bj)hYKS$?;QcJ>{1vzE{(( z!CsptO?_zZHE!bSM;wi*O2POG8scHLS2QFl_W?2Yo?S$^*!X}Yxcwu;2QP3NIy6(ACv_kM`i z0p9-Z?ljo9=bD`iqmT1dwqJ6};}go|ZiUIt)QTH4`GCw+XMBZid_t+*Eis$ZR)G=U z4%V06FK_o%NzQNoXkXR7DrF~ohV^ZD0(#QjyYN5tHEZSGhYv~0ovCbseO!6Jde*U? zzaNA);5J)TvLpTaU7M}PdSvhJLsHSL6$!9Y-Ak5!bdabCyXgPpgZp6Prag$t`&r-8 ze)$>Zl%I*;bM;P{u`m0oWLTggOpz5%mhz0;_0sMe%F}jb>_zH=qX$#>GN*sO?5)jE z>J$9_`7iCh#%k$aHg^1Lpr3U|`H`M+y|%fDugQm0x$GS&3ws%CIBV3nti2bM-gihk zd)hlnbOvmDzx$=#Y@Dr_(k&aCv-j3_l(_z1rS6rSrDOf`tyQzp3gi1fJ_uWLCG-^X zGg6M!E$5&P_QjIj9kLlQ1JILcTX#pY^IvX}jVy$~nHC zG|dfSgt)*z-;eQY#-8+rjoy2`Sw8hpDwDR?``C7;_xO=N_Se@Z!s^6@m|NmJ{u%$C z_=Q=%E1vw5mrbhoZY@uE)#uFt=b~d0Q}^0ttj>79+uBQM=K(_=Q~ISUcfJ3aKX@Cw z_jrl&$dfci{^!B?$EcRA-6eY~yrWWWg})UwP5nbEqR0gm*zMzv_Plp6p4uMrX{}yc znObC7xV|!_gkp#-b7|_f`BK$A<^4VJ&rCxbqIR_Cqisunb{PGHxAX%)v(@i?fAKAQ z-*3MKG1C9$-{Ku4Yr_8?KYl-W`Pd!DHOG%1$Bc;4n1uX+1I9AJ~Mwz+X<#m$L(XHi^ryo^yug}Y!IU2&W*yjXA)PS;s6Eqd?YnldR|m1l#q#zAt){JTFSNzr6^i8QB%N18g0_i|UY`k%#t-63(~w$r+|> zSx%5G+Yp&xDMnEzsoaIt$y5R{5f;P45g777oW_b!ZVBNEal&F(htAv>UfN+lGL|~1 z{9`j=Tv5Cz($Rw|gGD$cIR_<@5rdjE$O}%YGJ~*2fqzmZ88s+HxROK(#RL8rix< zwq7e+x60P*WZO2`cD-!7LAKo}+isF=H_Ns!$+lZ$G)lgm{Uzoci?g!C^;_gGNvB(7 z2UL9lDx6x|Lk{-%z#_%Fwr-)>@MZ`7=q$R^}|lp**o` zi}hN|R_!`~`p?hc4=~t+679r?d8uQ*FqY7do9dKLw`_Klr3U(FQ2p2Bmav6yybo>?hCv>~v;)GsN^6F2;1xH)Ko zr2Pon)Bz7CExG<~q+NEiG2R@e>nXs!2?2dj-i1!`69Qb*aEzJ&nKLjW@ZP|j6iO1C zhKiYMh9i<{$To;r6HAj)MM{{D>mh%y;gF4MvP2-0prO>pA8EOCPv#-Uc$ zByJdv8I+$7A?kjJ8qY=P!DZc|#H)rQh-&A#7`6K$h=v8H6c{!_Kpz}Jz0GixlQVya zwB1Nc;c_@>$?zjc`yvb%B|6MzMJ}8ji#{6yX5%~*pVwVHJQq?fHbYPerXe<*4<{Ei z8GQz6dy$sX=|&7k1gU4ZVzCHLq^dBSv@`}j8)M}x!p`xsgv+F(KTN$zax@U3d|G&wodDz9$$HQ|z*wp+6H!ul{>PiETz ztoE8IVTTv?GT9n`6pDzNAhA&jj^C6LR5mIGXSYiU=dr{9&XSUTfPbk0w}D;$V1UUJ zn7}l)cfve*f+|398`=e<+FcEF2OT6^@>7zeKNBENh}I<$(M5OO!4c0A$pD)mbp+jH zn4zJ?)3z$;B^4~C6M|>Eg6uiTo{%w~gGDm||3WM*@CdNJU8C3`wxeh+quJK%2Z zSkT^rCk5EevN}ph6a;>Uy3!qVv%|7FT8U?`!x3jpu`4bY?)Nvcn_-kZJ}ybp6hAIA zO9H=|QK`ujM`r*Z-e*W$DlkIdd?I7%b6LwJ%IO1TLVLxxc z=1eTGWJt@w?uKPcP+GjPP#fSar99wqU(Td2 zNiivs19ltSjMZ@C7XYV9&GhJ(-e0=h9j&6r?C9{c;^DFr^pi_)e`_W7LKVVBLLdpN z$Nrs>5=g?l*mH2DhJA-;c_q*CsRlQ6f}TLLyU|luZJeFb2;%`5bRO9g9$F}njlqU? zyQDrSsSism3zjO3+bjRO?d2DsF%#T_iy(KSnl;;S&np`SHv8I|7W;#EmXAqOQOi`! zn#TffB(Sy{#IX~OAkn#?S=ac2-V5C=ogSo_QhW^PO9;(7U1{o^vkB9sV^)Lbf<;z{ z{R%KP1c*Glofvil6d~kHaS~l9r|Z_sVBI9NM{<(=AdGCR^{=hLGlO_0vAn$tq0y2k z{Tk+%f@W>)SOrXaCV6KJTx)A-U*&3UV$wo;EakHnI80WspDFpIJkmAu-@&@ajeNca z11Xp|WG|ok0eY zadiEDD-66>H_-lf7-*_o3)@kZn&I?&;NR__38yy;r@slLtyNS*a8_Xw#3Zjhg({f^ z#mLy1R3Mbsd$Etg^^O8WOI{!paTN9e{!e{&$U}IWyM=d<3;9#brxe0>z_5GaG`XR@ zy@g4#F-r{3|9C(T&krAy^!cRaE=l{Tq`f3rMbk&3ewIS9n2K8k30RFB5_N5)RhulKQE-*Ab{oY!j}7VZQ_y!+wRzo(m`0 zXimK7!s-gwJpPnF%AHBCN2g3+W2mv}DeP1o2wzZ~g{~A1zMY!lo zS#$iJkQdfeEMK3rm1C&*F8B_E7V5!JpJJ7xy*_cK$R;$h(5 zUUXD!bQ5p`u4*0E^T$38x4(b8fn*%rA-oR;ZbYc30*L-64CDcjzuqBjk{qKX^6$Iw zZ$G>r!!I|rH@o=UfPo=x((6bV<7>qrMqE6SHcOe4C{av{ukCV|{$2!=u9h-$IGReX zgGtv&nOOwe#rSTEl$!oKh?<3ZPAClUu9ch<-T|r}s3?-dqsy;z&l_Zub(L}kk?Osje$wWBu65zp!q11Zn)j97cjqI33B>G zs-D+@Y9D+d6!fApD(U-)F0PvbSF@CGbW_`|Un2#w-g6Lw-T*Sb2}9ZG#Z1~P$0ibI z6i-Qk>S{SQi7+37Eh^Z~q}$}U_`f1uD&|KCPr|-)k*lk*M+H52Ez9VHq-*8aG1NuP z03Q-I(7RI7R(aHD1<3O$@e@c~ZY0KR=Q=qp?Kwzxfe3Ok9J3qbelA-V@O524fJ+^q z@Ef|qYe{wz5+7qz$5 zxH~SVw?J`0%Ej@4w#MCt&W~PW6pX>-^3D!XWSp-vc?DgfFkx0F z*IroRZfOzxS0?kfPHWn6{k=UPaO;zoc-oq3FBH&K$+c@cmiusfi3{AAyrf2)vE+Fe z$QBA9ngc}wh~Yr70Ae{XT>x<$C=ozB2WAK$fdexIFp2}S1dzyq*#b!7z#IW2bD&5! zAw@vC4Wk958<8p?-HI^+(#=Q{kZwnMa(EESGn^Sh=#s}KSJsq;GCoc~I?X8{U2B$r zbgknBq-&j!JnzEVi)#)4W$U0WXQB@3f+p#pE@`q3>Y{Rzm%tuwY;N+hvYL4nI+T}O zJ8xOV;+jH3OMVEU>nR8!bWMdJgs!VdM-&+{ibDup#`F+Emr)Wz=rU&Lh+;#=%n(AC zF)M`7Wy}sCbQyD!=abiYF88zK7me zby2_5L0!}vI;e~Ky$T6qt%rI$NOiFGjW7}e8%%+Ut&K!zI#tnEp9Uw8y zfqxvao#NFDO1C7?z6$s3opf=q!--`MX6Dw>^AiZ`K~HN(-MrQYPg4_~eYmJSaCw8L ztP=&=rgy>-Cd zs}S=dGqcOn6%4pTwDih_z6MtXm+o5B9%yy9fF}Ry@J-*+VmPhR(@X=I4xkl|K5XT9 zc&DkeF&IMoICi-gciEc4%m?L;Ac`)`wpH$er`oAFT`j&=pGolCwT)g+te?$sdckUoJ;t>^@?xJgwk{hcj2{_soL!~6G{|qgl8|Tn`7A%O@ zr14z;J)fa|y73MDKfxP#(eav+tR*LCiSb%moMuhWPSZ-1^$tx_v{a{NP0$oY&eWuM zZsd4wBnIpe#RP;V)9qutxFt#JKEtfgybso9-kl=jpoFezy6ho6brP)0IbK>LW7?{zt^=b-XX7 zJJ6pp)Q(`d#>_+96vurO5tRcY9Afpr>*@#w5JW@Ka`_43Z+nRAA&SQ>zJ?Iuuo5BX z56UnCbTgj+3yC^!Ej>pU4)xjSC!2g>-HQgr^E-HD^w7UF0-d(0KCmImf!ZO%T{HxO z$+4O?MN3c865=#_vKBL4ONiH!Q?vxdGG5a%Wd#-Vy3gFWQeoUr5pcDXe9e)jX$d@7 zZ48;Benx(x+uHEcugDZ!agwAH#&o)2%p=>jkfEPdfzqvD82T0rML}v&`IHdO<*~40FK$uG>`DBONXR?Y@oZgVYlpAnlv59NA!kH|)ivTt zWGwcC$9_(6#9lX)jfe<%jJHj65U2F~^pH~hzV=f#b3mVUN+xv%eJ!V6lsvVFlz~qF zsk>Xq@drHqKzkz|q`)&SXUv?bu|42%HMW+ZYm$Gn{qe`OTjO+8RcBjc2z!x^tVSgX z48qp>TAM=1`hQ^>W=zgbINxe)Z6pKKM{nzYOnYB$YISq)#xHN%qrG8o>gWs+AGCXX zVb)tz&+3k~)Y*!pcdM)Pq)**;^fB%GN#0gB1_WKyvkQ)E6klu;;6fYxgPoO=iM8{Lkn1XusC{!nmD}y|737k?J>De!c8(@`SDXqvq$r zIp_O|ACL5h>^LZ2(c$-nz;CFSQ+tG{7v6enkG4%NB~!SISCTrVJ(@Vo#nF*#oAzVppJ+T~%t z3zmz8+Xb*#cwGPsbf*jGi`?hpe5LMk?dX3WcwBo#(p@fy7lu5pagSG$!wbn;?uUCM z;c<@PzPL-r6oqnRV2VwcVB_=wYWNqiVJ5zzQQG*I}n^33aQ|*^6Mix95v`+6zNCrz5ck?D^q7fuf2fZ zw(YGyeP8>fjVGXh=<0B{y4qIrrf2VY5^d`#DMSn& zNC%htstTmvB2oP7D#OT{i!^sgDeT$(OGj&pu-bwKp3La6xfc6*Bbg4p|4-}!Q|TB(2=WR&Km@N`jSERyx@MoBoSlwInr5G#oShLqi5(S1n}+LVI7Dmq zo3oR1lk=15KRbD$hD&Akc+BpU4M~cG^Kn{?Vo%lV%Eq`%xHmp3I!2YD=AkI61gZq` z{-BGa9*&Atl6ck76gifY_5{ap(o0bxSkp2R#$A|IHX#f~P|X`|+7X_%WQYYAyuOi6aOmM~76q^wQS#>Q!J ziVgm9!n;f1#w(K)HB}pxtfi%BG2=M@l-vRQ8s`_@up*!0%EM=xPkM+0Wx7X3KI2j5 zD4Eg7FU=S?#$^~qMTHP9s(}HA7Zp7e!LOfQ|8FQNvOrSy>sd(4P1dAQauQ6Qz>T3x zzC+Y5dcHt@fG(edj!owK27aXVpJcXyQie7&o!&nM-9~FZ(4}Ky(s6Ve+RSO@0!uPa zl*R%cJh8zfwv-O^6o>eqgd>o2$R`~CFT@c@I?xgb;(s=dK+=IUhBtaEU5Hs>AjxEb zy3jz;(XiT#Q#pPEqhqN!cjCaeu$bi}tyEz3elOQ0eFi8&CDu~2D8yP23t{5t1s0@hLa4wx28{r0S=6pCo8g4!)%}GrbOarXL zW5J{g|KUwk(j{~t^1#h(=mL<)P&zIY=lr-x$CCq-Hi?3u8fqvS>YRA_!;;{$nRw0T zKr;*W+1Qa;I*_V?o8fOd5;K%$)A4nL0-P5P$0(9)82hgnXg2nAo|7#UmB~J;orYsa z>YU_~&qVFGl^>e`qbbvYTp8X>j4CA%j28`N+yr7Jl0pg{21>bFC(7*BQzSba5h`qD+>Nj#xtJ;&?g>{-a}v zOI2cG@i)%Klf=Z}+$pqUgs;SDfU}|%2k@k#OqpG(DswD~41<&visK8g@=_%VhXpmt z_eIZX0eF>4Fx(MbBP?7~o!TG9ESgk5W^Oac(fGV!SU*J4t25u@tz%E5n zrs4Riq$p)eLBir5sho301 zs`9)NuPQ%P;#B1YB|%kQR7R=FOG=`u{I`;%D*vM-tIEqtimJS#j8>JODXFURb7hRG zbSr79(xarq03`#;l}spC#;VEzWt^(Kp=7Db@0IbY(yL5Rl{b}aRe4L9s49O@CaKCF zmC35|CnZ-^{;cGv%0Xp{s=TdCRh7Re(^TahB~Mk}Rq|EkJ*7ZZ{;CwJ%HNbCRrxy# zUFlP%tI8pzL{$zeGgRe$Wu~fppv+R050%-f@{uw}RgNfgRi$4!iwfy%P_=W&Cu`=Z z%K8gcWkap1Tm`>vyhv5tp~lMW2x8J3IHQ#}^hG!xFiuxvIdR4! zmf8S@k7H$qRms`IfI><63KvAr#xAp~6vm&Urdg1&ia~fG3F4c``N|Lp_u+Z1;?CsU-?m`M9h?bnyl*dF%?~p~;da?Xh`Spo(@WLFkcAy9 zf+KXijkCM4o8I}P7m8^UOsROoV?Us~u}8d(3yjWmGh$00pu4e~B+=WWv4ovbK>Mg=@;pA^9YsFQXfGZ9VxxJ+aWx459W;q7sN+$sFR>{pL9HtJVWlM zIg)(yz>w^uav^)nM;dPs9C-vPw9!z4rl_hfJ47qZq zTscdwoGn+*Q7VfHu@_-4#y%Z;3HBK*mdv%#Q+#ze8;v{*3_Vr%b6{Q%Vdy!xa=7gI8V*lWR{*UOOattRehaX(+lVN6N@FbcK|`w~%E?qeg2u07cH^ zkOSn*RGxW^62(S|>53v{+QvOGF`U0J(o_kKSV!p z68gcD&_6s09d8v5Rh}XJx1EH(>m>Bolp*Eg{a6ffB}q<4G4Pea_lHmw21=AWW^K+) z!~hE}g9!{3u*^77@?uxCguVfuH66cMKX{FD95o9k%9nd{*MNu&O1fTPH(@}4oG zmGGDWcN4@bI5#mb);UCrry9b^H_JoP5$Q$17$YJ*W0ym!#HfqmMMQm!G!E^Ov@Mm` zfiV)6!eClgLJPf7M{gtm!H)-~%PbBzTyD;k;v}1*O3L+_$x~F#l9HPiBV*yCxVxUU zMXOq&#qPLLv1#p=%hT^^gIJmOJd|PHCy^!ssKYwBMvE*<-^`ROLgUv+qhgtqJI2m5 z6?WNdQR96!OwYJh%NNr3Qa_2iK}H6t1C%o1aG?KHwO@h?AUElNiU1+D00SQcE{zGuJosO@GOzP zcz_Lc?DV`K&leS?(Yv3-rQ`Xt%(iSbNhV(3!-~AVao-ZSj%$~@VQewE!$8t%ieEBRbc1Etlrd{RS zF{2FzXZoT>3&0B_*2M@+Y!IN#7bHC#|tX zkM|`^(k-x(#?@Rh$>nv9d*A|iKqlR^8R|YESft}4W2i&F&2_K@n?w0kt|q5_-R`(5 zMjoHUlY*`?>wCExiw6De+|)nm)axN!=HFM~nrXzyeIL?H8U7cXUn#SASytYM^GkV# z|4tdU&fIUAn0_e=z%B|vTVuI2{TmgR#wZ25s6f(VbvJ0_h6kVvA6AAN5GaMur7PeD z>09IrvW>Qr_@Y3@%z~+J+OyWmPa;jyZ^r-g({t>Xnb@>0HJ8?OT)jDD7gXQbTXR3T`$N|icquT1sQ4* zb0-#B9dVYmvAGV-64yGt{ENEp$J(M0M%U#w>WzR`NryK5P|348$G8X%bOcE+JJjii zraz~1IElmVXtQj97)PtN-g1R&*LwI!=7#giMPpUzm1|LyLyg!^lCNx3eVL8D{{=aQ zor^NM`vqCkEK}0&5(Z=;n4WVV$v`j#_>82Ow0o{V%#vjsF&FIOlBGNzrZHmDna96M%yYo}GtNBG z%v>A6JmGa>o(<+-aOP|?^V$$|E;l3l@5EdP=65-BhQVyXC$gTEIQLk%9X>%1FYprLa*;|#TsjexSWlW_j zM(*fwSgEC1*3Z%`j+y9QXc(bnQBmbSAv`AWUKkyR%~5C>H^$<~`Pine{4XP6`u~^` zj;Dl{D?=3(UzbXHSx=gkYEe#*bOKMhK9n@dl+^j-2?a^77(et7Qu_H5k}MlzbCX{l z-Ra1(tcjgsiL-vyq1&HLvZnk%w?CRBSyJ`f$yyrq>K1QEQw*n%Gw4!^Eo$ZOEbb6J zmeZXf`e<%xeTW`6Fujt><%iS9b9$PQUKzvFH;2+EaC)IZ*V1iKkKAZk5~7bHy4|6Y z|D6jhV{?lvO|zI|gR-G;z9NdL@P;a{xKIvHEGS+OJcO~NmTa96KtwDOItYp@|wTISf2M2KK3d^p+Ih< zWzI~z0fBlUYZ*LeUkF*2C@lNRMvHCcj-}EY@&QCpT=|!8xzvcDH{v~Va|HeHCVWv` zp~k1+>8FP;#X7FMH+q2cY3b_~+43`%ewE#^-g3vrnScENk(E9mulG1SLiwnL446$( zyP(aOQ5o&x6FPr{Duj6}0#6LfMgzSE4OFwl8=-0<0?K%w9(}-QL(mb74;qZrZ;Q${ z!yKycn3nxzYW7Y@eUUf&XlnL4vs9$V2p$B%?0C&!{`p|$iz1k#eq%8Iaxn9T5Hq3= zBuDod%w@@+)xt9eXSgk%YK_I-ltgmxisVlG_KSK!e(S|S+^;DiOHh^Z zY-G~^8r(+*a#O=e=c87mLTN1dx|ej(*Ss`9G%;6*AujKk8D=zmq(xI=-U~&9(sg@7fw$>PVvx|2G-$YOq z6LhffO%1{UP_XHt9;sui4V0 z!ns-|52a6S48_tUGGxZz(OFvLncue5RqhUjatlJaJcRX3$F)UFJz;JM;D$+%-OUZBp&|+YZdkZr&v=B| z_!q$bAaCP89l-u`BP0l0RF?Sv1#=jVhqN^nD-zhg&b0L;+^qgR=_fviFoW94>-Wl|F2F3e##`E{{ z`0`lo4VMl4T1&h0vr)uXD>$9XszdL@pH3}9JK- zs_~H_Ut=>wJlW<#Oh=RD7x;IB}lg=76Ww9k{&1nRmKs zGleebY4S95iqdZKx!cZZ@dbk|9^f1Oo##~WuTtgJlvFwM2-ghUg;h&dm$*8pCeoS| zc)N`jIdYDNlkqCrr&@cdZm3t|#yj)y;j2^pkQN2+{QS^c<|81AzlQ|BeQKM;tJotZ z$oz`pNSMb1GyhJAGjFkX9ZI_spYLj%Iu+mN!fMF~0iUK!PF(xV?N0P_Myo&hCtXg} zszEx@@)n<}u#=A&oOvBnoq089pX{sNRjJyaCnkbk+^iu*9eo!}&7aDQDUk4Vgci^LdZ(d5@4U7HJuYkQ-{5pSHUj zyvoN&nD_7O5x8z+=B0n~r2R8*{}Bd!J|g^lM2L>{^AVvjB5Z7F@9^Ze=X7`*TrK(T z+*4_weBu!r2Nhym#M}NFtk#P2fai)%To-U*`J!NZ5T6jjC@rr8tAe!AOq>?vXbigC zSjqxW(A(MCfa4l>pbZn+4tx^Tb>B4f<%jebLyFJwlD=`Ys&o2;zQp|`O z-7N)J5VoKr&{%*eP65qxXcX)`5tC`|Tp%2Q_|Wd;zR(fv_?D*M)AqTCRuynRm>eYh z!q^%tg#39GYFkwx9AWa1?it2BUA`cyP*cmS8dtETZA9AHbhH!GZ2p`!zNj#eCvALz zc0V6~+()8u7i7PW09M8`tnu zAjmysa@5JEkpsgJ+!GlvDqXHci(S===B+HNSWef2fLOd_xvOSgW%Y_09kG1DikfoQ z!s_y6Wy>xm+zG=B){buJY=Vz!F)8dgVX)z`t+-%NW)a!ioqB!;QxSiV0>Sb>-6@pC zNLTP|!vR=L9oLip(;Lue?DEC9e%hvQAP`fADR&P3qo1rZBfr%7>mp|ecs=T z+bspUCrll_;Tyc-s(1PSsU2B?$l!p8t>+n^Q5FHagKqqN9&AoBODP!Ot$`tD010ic z3$Ywip3i-HQlILMig2glKCH{<4y?gyi16h9`I)cb3R4_2P^fZr`uPNp-(N2X`69wq z!at#D-v9X;6`t#fODV=guhrAq=nbIF{ipVd#RYm62lR_Zw#7{MKimN{zeN@YI6%jV zXc7$KQx%_wT?!`L6$4|5@D5`uYrVRojLRjaDaLT_o({SyazLJi<-C26KKbC5We8_A>+@;xzzkXOxdb7nk!&g^3#{?`23~*rge!HQ(N%JC zT7k)Z+{MNPD-#}0Zfy6j{oKi?aw~#6+2pBD*oIacLP3YorTki;{3vy%o1a* zvC9rijFc*kkbi~t-0Me=g)ZQNpMHZK)1RZ&0P38a2o`4803JvZ52W2 zkMy*N5n{AxTVflF8Dp*t~j;XAXpm#gH{DT;jHfs}Afq^hWx{z~X? z2K~*XzghG*oBrnDub7yNxn0CuJe~e1MKPr)rWD1LqL@+?QwkyyjYvcx!W>pPuYARP zR=J{P3GUZcRn1!_&Z`!d)h>u!+s*h=y>LKLk?sk@Bd|eG^rEL6=&VNJBNIBtNQBG? z3^Jsj7;=k?*}S=R4V}K0rjEK$8=se^Z;HBRmz2!P_cb==;gWhD$oxa2 zIM-h(5I37S5;vRch+rCs)amz;h0d9$QIWVEdm0t!w=+jrgP0q#^Jq@c>gPw?<{4on zbT_2VxbM+;T7>I&2-tbziunlZFxM#KGBZ1mUtk?!P25!jt}`|=dRnU*UkGz8#5dO) z_!}C`wWKrH=yeA=1URw{NEl&Uvm4?ww{9o~zmW(uTO%2bb%=H*{a%d^r#uMtbSny9pRE5&g)LWOwe zOOF-2^g_>b&=*uG){8<70n~xSg*SUQ7D zZwP``!!I;4e1qEu(_A8g;zWn3ZgqHJRuiSv&GLqn5t%FG6;P+I@&wIbOMCm}oqmq- z!kxw3xz(st{FSQ^hP!(pDss7Ao>DB#D=Z0@rmi|vO{eP!s$DMJt!2wRt9@?z8*BO`z#b1~#XynHofz9e$Q3d;I2 z%Yx1-Fx0NNKsVF?Os14~HaB|$wLx4kW6RvF%iH}%rgUHs@4U7q;w*0u2HRW1%mys@ zg|`Fk`05#6lL@Z#UQx2VGFVhyf=SH4jo$Gs2%!!gr%ro~FFgH@2>Q!d@W-6~A10XV*B2Ww(%)}_iM~Gq?lZw; z&lCE3Wt5)y_eH=m){X)io1mW`0WXSx{Sokk5%A*?aCZd!=Lonj0$yB|w4*z7qem*daj#UxR5aLP9){VQmFuX9lR zk-i*>F=|ioKuORy4e(=tqjk6t@IJuw9T1|I0A_moBKydmQXQuJl7DEGIvlVG|Il)6 z90Yt8($l(m22B3)n&1l1jg9QP6|lM`Y~NP_Cjq84tH~Z(=Qjf|tvyZf-GFBUHtc@@ zaHWa<2;h1X{C&XdP4HuYcbMQO0Y3)VkoP0N`%Ls71OBav{vzPFP4rg)tB7X{bo*Wf zyb!SA?_UD018n5yw}6{W^fv(qP4J%qZvi}8m-jB zZ0P?7;GY1-Vk6vtv<$>=O>`_$!QL~`ZGfpgAsP5BSWl6$wI(|HI%b+jO)ARZSIzZGg{rm*<_8XXUA;ePseHri%0sl;ge+Bq@@aO9=*=vkHNFT*VFZgl5 zCiJ(NV2YPdnP95l+f3t=gAw+Td}I7T@+)cGK7BLtYxMs_e`pB0F&-d#40Wgx>5cIP z(c6Zg8{-wCuO5PKjCY8BRRo>Qpsg`}AbUujG2SEoEYOXOVO_?`Gw42X>Nd@@U?)QI=mb31AvYEJPY_Gz|_8p z|5d<80aO1=@SA{VpgvQzBKQNq=KwbJS)v%b1Tc*sh&~4JD!_AfxCrnrz!dh0em3Ao z0Z-H68o+M?&e7p70=A?61LXXzfQ|8SJkoEDfd31yF`gv)cOu{)172#9_bT9vP4HWQ z-6r@5;Prs1|4u;vAB~LBc)3)EQvlO=n*2-jiGclpslE_A4RFvzpAL8%V31in=%obT z8ip4EX8Q!3fbp%%1jhqziGbG;+->mN*!3njp4r$P5%42`>8m@m#iM;oI8xig=A@m< zm39ilB4%MefOCd6O}igyX*cLZGH?w5u#5l{gY#J$5=8+aD_!dr<#UfPo`=3wAT#O_$Yh@I$LBlvcD5odgoB49KG4{=ACMKOu<0doTi;s!AX67XNZ?K~{{RaL$@I{E@ Ga{eDQsu4^8 literal 0 HcmV?d00001 diff --git a/lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.board b/lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.board new file mode 100644 index 00000000..3251b2db --- /dev/null +++ b/lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.board @@ -0,0 +1,9 @@ + + + + + $TOOLKIT_DIR$\config\flashloader\Atmel\same54p20a\same54p20a-flash.flash + CODE 0x00000000 0xFFFFF + 0x0 + + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.flash b/lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.flash new file mode 100644 index 00000000..c07ed3a1 --- /dev/null +++ b/lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.flash @@ -0,0 +1,15 @@ + + + + $TOOLKIT_DIR$\config\flashloader\Atmel\same54p20a\same54p20a-flash.out + 0x00000000 + 512 + 128 0x2000 + $TOOLKIT_DIR$\config\debugger\Atmel\Trace_SAME54.mac + 0 + + --debug : Print debug information such flash size and step done during flashloader process +--dump_buffer : dump input buffer of function FlashWrite +--dump_flash : dump flash after programming given buffer from FlashWrite function + + diff --git a/lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.out b/lib/same54/iar/config/flashloader/Atmel/same54p20a/same54p20a-flash.out new file mode 100644 index 0000000000000000000000000000000000000000..e6aab5deb604461e45c7a5f06830d349212d44f8 GIT binary patch literal 54680 zcmeHw34B!5_5Xd_Y}v^|$O01xkN{Z;t6Me#QNk8btg(|xGGRuujFSlj1OY|FtzxzP zp|!1h)oy@d)oMXotNwo4CJJ3_YolGTYTJMd0sAZe@45HAnU_g~27~3_pKm^I-aE@Z z=iGDeJ@?+X+_!Pw!YWCUn6b$$hY_^&7Uq1rhq0Vj8B1YID`8GXv=mUc-O8Lqm$F#j zIQiDn-}iebl-kSto$>zpMOE6N<&5?H@~OPP^ew(-XY@B>z8QD8rSPn(;wlFIKOKAG z{-4(@*d;l0{8?3ThwF-uANlif)_0(v_2&2mSKQ&1g{-gp7;$+y*Gh1`2CnD8To3twusH6p|EwpxPkLE2>$9@OeUfcohV2;ZTl@|ibN%kJiUoFQ zJG+%lVmo$zeDqjO7t5*WjypW9IIHUTk-H%0#{T>6i#uFWd~p@)JNqc>yQZJ*h&xz}afh1#PXK&*e=Tz82b2M*ss9OY+~J#w;|{Mc z5*Bf5-e-NWpswiGdarVye|XfACpJktwvJ&tww8bNTGtKxtSk4jy~hr)UbdH@j}PQ@ zb?@rGep7X6pUnC<_g`Pyr|L%=j>ny|uU_28me}e`on6&7f2Q;Jk*UY&Kj-+IZJi6f z?`sKjHeFCfwq%&?=)1dqSyfIZ>pONdC$qOcr)&1EshM$yRi682`dOdazxacF&S&2K z=PjayOLz&_E&Q*Yo2r~$F;%x!jjLL@>y>`Cb81yN^8LpwmDhwv?~D?e4DlM}ODPHpLzO&SW+*tv4BZwVv{-IaNabRYz0%rKwA+7_@dBWxCcQN41dF zA0BPZxOCoIuQ}nHxWhp`e+|fAc|UWG-ucYieYa3Mn%KeE>^&(pY881gs%kvEu@ZGZ zt^fED_wnQfD#}?}Ds7@NefIj7c$t#KmMr1fIY*BlsX5M^#m`*h$kN+W!IO*?=9e(` zChP4&+he7yY|~q;H}j9Iw{AOgs(?j4yiexkHF+93SFyb6JZB}HIX!Leh87Rm23lvU z-__9B-0TSuOgz9i%Q+^*sq;0rxI4T&oxxW{m=GIJ&r#KFz91MUb~q{fVSG!wyU7!9 zuJ!~veC=({xjIkN1?6jlu!!^vksZEu9%pDHKB6u2tfFKChz6~^rM>a;fg~=U(k<$2 zbqab&WLURQ&E+p~uku8Q5PVI}!mf#hC0)85i#%(b+!@Xm_uBT(AW1ds;Pzh>@C7|i zcVJa#tEVm4G1uvCY6^HdI=GnGUDKS-_U7gePmtg)oQoq_LhfRD!vA^BiG{OQI^oB{ zVmh!qEa--+#M&-AE}XiB$5a@(T`>9QLEI4r0tF>cDwX#_ONw9 zS7j<9?3R9ZC(BCkvz)rUYzIqEdHT}+=#SsEz_!2iSEyAnRokoXs6rI&J-4cAUc&1a z_fLvGFz6=jB?u3v(Ua(V)s~)9$|=q_}}hZkmQqJQw6h*u7fhU%*u8Sv?C!>Ctna2xP192M z`lflh+ou(D`=?Fl?wIE2?gXxD+T`x7y%M}R5fTd74ZS(uocbmG>IFIV!TKXUR-hiB z8u9i~Yn7#UE=C;$WgTO?tm(7d9R_!LPQ7$%^h5souB@fKu+7;rC8qm|DXDuen_}(yS}^HI6=-YL>{xkq}4ZBu$1rtq^aY5Q0EQNOH{4oEwk zk5=|MSyzs;r;uBCeZN#H!`@WV!*XHG9sMi^G7j{4^Rn!{J8#--rSqv-O7A|ahBIdt z>$k_3X7trZKXk}zOZC@hRY70hef^0%=X#Ej2Y4XfZt_OPF49CA3okq5Els<^SDIGj zt4t&7O09AGov;YaV6v@On!p~B9xjD7zlSyF_iW7gR{00NIpRf)j&k&-n`-pg-J(8k z9Low0^E@$(rdZS(pIOS&{iQ#QIwVE?aNY;MndSRMzq->Nk|J;K-W8VdevhzbNc}ivP2sHLyDuF( zx8VN0_Z(Upy{hv2%coY&VoLY5-fyJtDS!7h+cdkLRy%M)FHPI*Ui{JD1Jcb2rP8&1Py6SyDX|Bj)hYKS$?;QcJ>{1vzE{(( z!CsptO?_zZHE!bSM;wi*O2POG8scHLS2QFl_W?2Yo?S$^*!X}Yxcwu;2QP3NIy6(ACv_kM`i z0p9-Z?ljo9=bD`iqmT1dwqJ6};}go|ZiUIt)QTH4`GCw+XMBZid_t+*Eis$ZR)G=U z4%V06FK_o%NzQNoXkXR7DrF~ohV^ZD0(#QjyYN5tHEZSGhYv~0ovCbseO!6Jde*U? zzaNA);5J)TvLpTaU7M}PdSvhJLsHSL6$!9Y-Ak5!bdabCyXgPpgZp6Prag$t`&r-8 ze)$>Zl%I*;bM;P{u`m0oWLTggOpz5%mhz0;_0sMe%F}jb>_zH=qX$#>GN*sO?5)jE z>J$9_`7iCh#%k$aHg^1Lpr3U|`H`M+y|%fDugQm0x$GS&3ws%CIBV3nti2bM-gihk zd)hlnbOvmDzx$=#Y@Dr_(k&aCv-j3_l(_z1rS6rSrDOf`tyQzp3gi1fJ_uWLCG-^X zGg6M!E$5&P_QjIj9kLlQ1JILcTX#pY^IvX}jVy$~nHC zG|dfSgt)*z-;eQY#-8+rjoy2`Sw8hpDwDR?``C7;_xO=N_Se@Z!s^6@m|NmJ{u%$C z_=Q=%E1vw5mrbhoZY@uE)#uFt=b~d0Q}^0ttj>79+uBQM=K(_=Q~ISUcfJ3aKX@Cw z_jrl&$dfci{^!B?$EcRA-6eY~yrWWWg})UwP5nbEqR0gm*zMzv_Plp6p4uMrX{}yc znObC7xV|!_gkp#-b7|_f`BK$A<^4VJ&rCxbqIR_Cqisunb{PGHxAX%)v(@i?fAKAQ z-*3MKG1C9$-{Ku4Yr_8?KYl-W`Pd!DHOG%1$Bc;4n1uX+1I9AJ~Mwz+X<#m$L(XHi^ryo^yug}Y!IU2&W*yjXA)PS;s6Eqd?YnldR|m1l#q#zAt){JTFSNzr6^i8QB%N18g0_i|UY`k%#t-63(~w$r+|> zSx%5G+Yp&xDMnEzsoaIt$y5R{5f;P45g777oW_b!ZVBNEal&F(htAv>UfN+lGL|~1 z{9`j=Tv5Cz($Rw|gGD$cIR_<@5rdjE$O}%YGJ~*2fqzmZ88s+HxROK(#RL8rix< zwq7e+x60P*WZO2`cD-!7LAKo}+isF=H_Ns!$+lZ$G)lgm{Uzoci?g!C^;_gGNvB(7 z2UL9lDx6x|Lk{-%z#_%Fwr-)>@MZ`7=q$R^}|lp**o` zi}hN|R_!`~`p?hc4=~t+679r?d8uQ*FqY7do9dKLw`_Klr3U(FQ2p2Bmav6yybo>?hCv>~v;)GsN^6F2;1xH)Ko zr2Pon)Bz7CExG<~q+NEiG2R@e>nXs!2?2dj-i1!`69Qb*aEzJ&nKLjW@ZP|j6iO1C zhKiYMh9i<{$To;r6HAj)MM{{D>mh%y;gF4MvP2-0prO>pA8EOCPv#-Uc$ zByJdv8I+$7A?kjJ8qY=P!DZc|#H)rQh-&A#7`6K$h=v8H6c{!_Kpz}Jz0GixlQVya zwB1Nc;c_@>$?zjc`yvb%B|6MzMJ}8ji#{6yX5%~*pVwVHJQq?fHbYPerXe<*4<{Ei z8GQz6dy$sX=|&7k1gU4ZVzCHLq^dBSv@`}j8)M}x!p`xsgv+F(KTN$zax@U3d|G&wodDz9$$HQ|z*wp+6H!ul{>PiETz ztoE8IVTTv?GT9n`6pDzNAhA&jj^C6LR5mIGXSYiU=dr{9&XSUTfPbk0w}D;$V1UUJ zn7}l)cfve*f+|398`=e<+FcEF2OT6^@>7zeKNBENh}I<$(M5OO!4c0A$pD)mbp+jH zn4zJ?)3z$;B^4~C6M|>Eg6uiTo{%w~gGDm||3WM*@CdNJU8C3`wxeh+quJK%2Z zSkT^rCk5EevN}ph6a;>Uy3!qVv%|7FT8U?`!x3jpu`4bY?)Nvcn_-kZJ}ybp6hAIA zO9H=|QK`ujM`r*Z-e*W$DlkIdd?I7%b6LwJ%IO1TLVLxxc z=1eTGWJt@w?uKPcP+GjPP#fSar99wqU(Td2 zNiivs19ltSjMZ@C7XYV9&GhJ(-e0=h9j&6r?C9{c;^DFr^pi_)e`_W7LKVVBLLdpN z$Nrs>5=g?l*mH2DhJA-;c_q*CsRlQ6f}TLLyU|luZJeFb2;%`5bRO9g9$F}njlqU? zyQDrSsSism3zjO3+bjRO?d2DsF%#T_iy(KSnl;;S&np`SHv8I|7W;#EmXAqOQOi`! zn#TffB(Sy{#IX~OAkn#?S=ac2-V5C=ogSo_QhW^PO9;(7U1{o^vkB9sV^)Lbf<;z{ z{R%KP1c*Glofvil6d~kHaS~l9r|Z_sVBI9NM{<(=AdGCR^{=hLGlO_0vAn$tq0y2k z{Tk+%f@W>)SOrXaCV6KJTx)A-U*&3UV$wo;EakHnI80WspDFpIJkmAu-@&@ajeNca z11Xp|WG|ok0eY zadiEDD-66>H_-lf7-*_o3)@kZn&I?&;NR__38yy;r@slLtyNS*a8_Xw#3Zjhg({f^ z#mLy1R3Mbsd$Etg^^O8WOI{!paTN9e{!e{&$U}IWyM=d<3;9#brxe0>z_5GaG`XR@ zy@g4#F-r{3|9C(T&krAy^!cRaE=l{Tq`f3rMbk&3ewIS9n2K8k30RFB5_N5)RhulKQE-*Ab{oY!j}7VZQ_y!+wRzo(m`0 zXimK7!s-gwJpPnF%AHBCN2g3+W2mv}DeP1o2wzZ~g{~A1zMY!lo zS#$iJkQdfeEMK3rm1C&*F8B_E7V5!JpJJ7xy*_cK$R;$h(5 zUUXD!bQ5p`u4*0E^T$38x4(b8fn*%rA-oR;ZbYc30*L-64CDcjzuqBjk{qKX^6$Iw zZ$G>r!!I|rH@o=UfPo=x((6bV<7>qrMqE6SHcOe4C{av{ukCV|{$2!=u9h-$IGReX zgGtv&nOOwe#rSTEl$!oKh?<3ZPAClUu9ch<-T|r}s3?-dqsy;z&l_Zub(L}kk?Osje$wWBu65zp!q11Zn)j97cjqI33B>G zs-D+@Y9D+d6!fApD(U-)F0PvbSF@CGbW_`|Un2#w-g6Lw-T*Sb2}9ZG#Z1~P$0ibI z6i-Qk>S{SQi7+37Eh^Z~q}$}U_`f1uD&|KCPr|-)k*lk*M+H52Ez9VHq-*8aG1NuP z03Q-I(7RI7R(aHD1<3O$@e@c~ZY0KR=Q=qp?Kwzxfe3Ok9J3qbelA-V@O524fJ+^q z@Ef|qYe{wz5+7qz$5 zxH~SVw?J`0%Ej@4w#MCt&W~PW6pX>-^3D!XWSp-vc?DgfFkx0F z*IroRZfOzxS0?kfPHWn6{k=UPaO;zoc-oq3FBH&K$+c@cmiusfi3{AAyrf2)vE+Fe z$QBA9ngc}wh~Yr70Ae{XT>x<$C=ozB2WAK$fdexIFp2}S1dzyq*#b!7z#IW2bD&5! zAw@vC4Wk958<8p?-HI^+(#=Q{kZwnMa(EESGn^Sh=#s}KSJsq;GCoc~I?X8{U2B$r zbgknBq-&j!JnzEVi)#)4W$U0WXQB@3f+p#pE@`q3>Y{Rzm%tuwY;N+hvYL4nI+T}O zJ8xOV;+jH3OMVEU>nR8!bWMdJgs!VdM-&+{ibDup#`F+Emr)Wz=rU&Lh+;#=%n(AC zF)M`7Wy}sCbQyD!=abiYF88zK7me zby2_5L0!}vI;e~Ky$T6qt%rI$NOiFGjW7}e8%%+Ut&K!zI#tnEp9Uw8y zfqxvao#NFDO1C7?z6$s3opf=q!--`MX6Dw>^AiZ`K~HN(-MrQYPg4_~eYmJSaCw8L ztP=&=rgy>-Cd zs}S=dGqcOn6%4pTwDih_z6MtXm+o5B9%yy9fF}Ry@J-*+VmPhR(@X=I4xkl|K5XT9 zc&DkeF&IMoICi-gciEc4%m?L;Ac`)`wpH$er`oAFT`j&=pGolCwT)g+te?$sdckUoJ;t>^@?xJgwk{hcj2{_soL!~6G{|qgl8|Tn`7A%O@ zr14z;J)fa|y73MDKfxP#(eav+tR*LCiSb%moMuhWPSZ-1^$tx_v{a{NP0$oY&eWuM zZsd4wBnIpe#RP;V)9qutxFt#JKEtfgybso9-kl=jpoFezy6ho6brP)0IbK>LW7?{zt^=b-XX7 zJJ6pp)Q(`d#>_+96vurO5tRcY9Afpr>*@#w5JW@Ka`_43Z+nRAA&SQ>zJ?Iuuo5BX z56UnCbTgj+3yC^!Ej>pU4)xjSC!2g>-HQgr^E-HD^w7UF0-d(0KCmImf!ZO%T{HxO z$+4O?MN3c865=#_vKBL4ONiH!Q?vxdGG5a%Wd#-Vy3gFWQeoUr5pcDXe9e)jX$d@7 zZ48;Benx(x+uHEcugDZ!agwAH#&o)2%p=>jkfEPdfzqvD82T0rML}v&`IHdO<*~40FK$uG>`DBONXR?Y@oZgVYlpAnlv59NA!kH|)ivTt zWGwcC$9_(6#9lX)jfe<%jJHj65U2F~^pH~hzV=f#b3mVUN+xv%eJ!V6lsvVFlz~qF zsk>Xq@drHqKzkz|q`)&SXUv?bu|42%HMW+ZYm$Gn{qe`OTjO+8RcBjc2z!x^tVSgX z48qp>TAM=1`hQ^>W=zgbINxe)Z6pKKM{nzYOnYB$YISq)#xHN%qrG8o>gWs+AGCXX zVb)tz&+3k~)Y*!pcdM)Pq)**;^fB%GN#0gB1_WKyvkQ)E6klu;;6fYxgPoO=iM8{Lkn1XusC{!nmD}y|737k?J>De!c8(@`SDXqvq$r zIp_O|ACL5h>^LZ2(c$-nz;CFSQ+tG{7v6enkG4%NB~!SISCTrVJ(@Vo#nF*#oAzVppJ+T~%t z3zmz8+Xb*#cwGPsbf*jGi`?hpe5LMk?dX3WcwBo#(p@fy7lu5pagSG$!wbn;?uUCM z;c<@PzPL-r6oqnRV2VwcVB_=wYWNqiVJ5zzQQG*I}n^33aQ|*^6Mix95v`+6zNCrz5ck?D^q7fuf2fZ zw(YGyeP8>fjVGXh=<0B{y4qIrrf2VY5^d`#DMSn& zNC%htstTmvB2oP7D#OT{i!^sgDeT$(OGj&pu-bwKp3La6xfc6*Bbg4p|4-}!Q|TB(2=WR&Km@N`jSERyx@MoBoSlwInr5G#oShLqi5(S1n}+LVI7Dmq zo3oR1lk=15KRbD$hD&Akc+BpU4M~cG^Kn{?Vo%lV%Eq`%xHmp3I!2YD=AkI61gZq` z{-BGa9*&Atl6ck76gifY_5{ap(o0bxSkp2R#$A|IHX#f~P|X`|+7X_%WQYYAyuOi6aOmM~76q^wQS#>Q!J ziVgm9!n;f1#w(K)HB}pxtfi%BG2=M@l-vRQ8s`_@up*!0%EM=xPkM+0Wx7X3KI2j5 zD4Eg7FU=S?#$^~qMTHP9s(}HA7Zp7e!LOfQ|8FQNvOrSy>sd(4P1dAQauQ6Qz>T3x zzC+Y5dcHt@fG(edj!owK27aXVpJcXyQie7&o!&nM-9~FZ(4}Ky(s6Ve+RSO@0!uPa zl*R%cJh8zfwv-O^6o>eqgd>o2$R`~CFT@c@I?xgb;(s=dK+=IUhBtaEU5Hs>AjxEb zy3jz;(XiT#Q#pPEqhqN!cjCaeu$bi}tyEz3elOQ0eFi8&CDu~2D8yP23t{5t1s0@hLa4wx28{r0S=6pCo8g4!)%}GrbOarXL zW5J{g|KUwk(j{~t^1#h(=mL<)P&zIY=lr-x$CCq-Hi?3u8fqvS>YRA_!;;{$nRw0T zKr;*W+1Qa;I*_V?o8fOd5;K%$)A4nL0-P5P$0(9)82hgnXg2nAo|7#UmB~J;orYsa z>YU_~&qVFGl^>e`qbbvYTp8X>j4CA%j28`N+yr7Jl0pg{21>bFC(7*BQzSba5h`qD+>Nj#xtJ;&?g>{-a}v zOI2cG@i)%Klf=Z}+$pqUgs;SDfU}|%2k@k#OqpG(DswD~41<&visK8g@=_%VhXpmt z_eIZX0eF>4Fx(MbBP?7~o!TG9ESgk5W^Oac(fGV!SU*J4t25u@tz%E5n zrs4Riq$p)eLBir5sho301 zs`9)NuPQ%P;#B1YB|%kQR7R=FOG=`u{I`;%D*vM-tIEqtimJS#j8>JODXFURb7hRG zbSr79(xarq03`#;l}spC#;VEzWt^(Kp=7Db@0IbY(yL5Rl{b}aRe4L9s49O@CaKCF zmC35|CnZ-^{;cGv%0Xp{s=TdCRh7Re(^TahB~Mk}Rq|EkJ*7ZZ{;CwJ%HNbCRrxy# zUFlP%tI8pzL{$zeGgRe$Wu~fppv+R050%-f@{uw}RgNfgRi$4!iwfy%P_=W&Cu`=Z z%K8gcWkap1Tm`>vyhv5tp~lMW2x8J3IHQ#}^hG!xFiuxvIdR4! zmf8S@k7H$qRms`IfI><63KvAr#xAp~6vm&Urdg1&ia~fG3F4c``N|Lp_u+Z1;?CsU-?m`M9h?bnyl*dF%?~p~;da?Xh`Spo(@WLFkcAy9 zf+KXijkCM4o8I}P7m8^UOsROoV?Us~u}8d(3yjWmGh$00pu4e~B+=WWv4ovbK>Mg=@;pA^9YsFQXfGZ9VxxJ+aWx459W;q7sN+$sFR>{pL9HtJVWlM zIg)(yz>w^uav^)nM;dPs9C-vPw9!z4rl_hfJ47qZq zTscdwoGn+*Q7VfHu@_-4#y%Z;3HBK*mdv%#Q+#ze8;v{*3_Vr%b6{Q%Vdy!xa=7gI8V*lWR{*UOOattRehaX(+lVN6N@FbcK|`w~%E?qeg2u07cH^ zkOSn*RGxW^62(S|>53v{+QvOGF`U0J(o_kKSV!p z68gcD&_6s09d8v5Rh}XJx1EH(>m>Bolp*Eg{a6ffB}q<4G4Pea_lHmw21=AWW^K+) z!~hE}g9!{3u*^77@?uxCguVfuH66cMKX{FD95o9k%9nd{*MNu&O1fTPH(@}4oG zmGGDWcN4@bI5#mb);UCrry9b^H_JoP5$Q$17$YJ*W0ym!#HfqmMMQm!G!E^Ov@Mm` zfiV)6!eClgLJPf7M{gtm!H)-~%PbBzTyD;k;v}1*O3L+_$x~F#l9HPiBV*yCxVxUU zMXOq&#qPLLv1#p=%hT^^gIJmOJd|PHCy^!ssKYwBMvE*<-^`ROLgUv+qhgtqJI2m5 z6?WNdQR96!OwYJh%NNr3Qa_2iK}H6t1C%o1aG?KHwO@h?AUElNiU1+D00SQcE{zGuJosO@GOzP zcz_Lc?DV`K&leS?(Yv3-rQ`Xt%(iSbNhV(3!-~AVao-ZSj%$~@VQewE!$8t%ieEBRbc1Etlrd{RS zF{2FzXZoT>3&0B_*2M@+Y!IN#7bHC#|tX zkM|`^(k-x(#?@Rh$>nv9d*A|iKqlR^8R|YESft}4W2i&F&2_K@n?w0kt|q5_-R`(5 zMjoHUlY*`?>wCExiw6De+|)nm)axN!=HFM~nrXzyeIL?H8U7cXUn#SASytYM^GkV# z|4tdU&fIUAn0_e=z%B|vTVuI2{TmgR#wZ25s6f(VbvJ0_h6kVvA6AAN5GaMur7PeD z>09IrvW>Qr_@Y3@%z~+J+OyWmPa;jyZ^r-g({t>Xnb@>0HJ8?OT)jDD7gXQbTXR3T`$N|icquT1sQ4* zb0-#B9dVYmvAGV-64yGt{ENEp$J(M0M%U#w>WzR`NryK5P|348$G8X%bOcE+JJjii zraz~1IElmVXtQj97)PtN-g1R&*LwI!=7#giMPpUzm1|LyLyg!^lCNx3eVL8D{{=aQ zor^NM`vqCkEK}0&5(Z=;n4WVV$v`j#_>82Ow0o{V%#vjsF&FIOlBGNzrZHmDna96M%yYo}GtNBG z%v>A6JmGa>o(<+-aOP|?^V$$|E;l3l@5EdP=65-BhQVyXC$gTEIQLk%9X>%1FYprLa*;|#TsjexSWlW_j zM(*fwSgEC1*3Z%`j+y9QXc(bnQBmbSAv`AWUKkyR%~5C>H^$<~`Pine{4XP6`u~^` zj;Dl{D?=3(UzbXHSx=gkYEe#*bOKMhK9n@dl+^j-2?a^77(et7Qu_H5k}MlzbCX{l z-Ra1(tcjgsiL-vyq1&HLvZnk%w?CRBSyJ`f$yyrq>K1QEQw*n%Gw4!^Eo$ZOEbb6J zmeZXf`e<%xeTW`6Fujt><%iS9b9$PQUKzvFH;2+EaC)IZ*V1iKkKAZk5~7bHy4|6Y z|D6jhV{?lvO|zI|gR-G;z9NdL@P;a{xKIvHEGS+OJcO~NmTa96KtwDOItYp@|wTISf2M2KK3d^p+Ih< zWzI~z0fBlUYZ*LeUkF*2C@lNRMvHCcj-}EY@&QCpT=|!8xzvcDH{v~Va|HeHCVWv` zp~k1+>8FP;#X7FMH+q2cY3b_~+43`%ewE#^-g3vrnScENk(E9mulG1SLiwnL446$( zyP(aOQ5o&x6FPr{Duj6}0#6LfMgzSE4OFwl8=-0<0?K%w9(}-QL(mb74;qZrZ;Q${ z!yKycn3nxzYW7Y@eUUf&XlnL4vs9$V2p$B%?0C&!{`p|$iz1k#eq%8Iaxn9T5Hq3= zBuDod%w@@+)xt9eXSgk%YK_I-ltgmxisVlG_KSK!e(S|S+^;DiOHh^Z zY-G~^8r(+*a#O=e=c87mLTN1dx|ej(*Ss`9G%;6*AujKk8D=zmq(xI=-U~&9(sg@7fw$>PVvx|2G-$YOq z6LhffO%1{UP_XHt9;sui4V0 z!ns-|52a6S48_tUGGxZz(OFvLncue5RqhUjatlJaJcRX3$F)UFJz;JM;D$+%-OUZBp&|+YZdkZr&v=B| z_!q$bAaCP89l-u`BP0l0RF?Sv1#=jVhqN^nD-zhg&b0L;+^qgR=_fviFoW94>-Wl|F2F3e##`E{{ z`0`lo4VMl4T1&h0vr)uXD>$9XszdL@pH3}9JK- zs_~H_Ut=>wJlW<#Oh=RD7x;IB}lg=76Ww9k{&1nRmKs zGleebY4S95iqdZKx!cZZ@dbk|9^f1Oo##~WuTtgJlvFwM2-ghUg;h&dm$*8pCeoS| zc)N`jIdYDNlkqCrr&@cdZm3t|#yj)y;j2^pkQN2+{QS^c<|81AzlQ|BeQKM;tJotZ z$oz`pNSMb1GyhJAGjFkX9ZI_spYLj%Iu+mN!fMF~0iUK!PF(xV?N0P_Myo&hCtXg} zszEx@@)n<}u#=A&oOvBnoq089pX{sNRjJyaCnkbk+^iu*9eo!}&7aDQDUk4Vgci^LdZ(d5@4U7HJuYkQ-{5pSHUj zyvoN&nD_7O5x8z+=B0n~r2R8*{}Bd!J|g^lM2L>{^AVvjB5Z7F@9^Ze=X7`*TrK(T z+*4_weBu!r2Nhym#M}NFtk#P2fai)%To-U*`J!NZ5T6jjC@rr8tAe!AOq>?vXbigC zSjqxW(A(MCfa4l>pbZn+4tx^Tb>B4f<%jebLyFJwlD=`Ys&o2;zQp|`O z-7N)J5VoKr&{%*eP65qxXcX)`5tC`|Tp%2Q_|Wd;zR(fv_?D*M)AqTCRuynRm>eYh z!q^%tg#39GYFkwx9AWa1?it2BUA`cyP*cmS8dtETZA9AHbhH!GZ2p`!zNj#eCvALz zc0V6~+()8u7i7PW09M8`tnu zAjmysa@5JEkpsgJ+!GlvDqXHci(S===B+HNSWef2fLOd_xvOSgW%Y_09kG1DikfoQ z!s_y6Wy>xm+zG=B){buJY=Vz!F)8dgVX)z`t+-%NW)a!ioqB!;QxSiV0>Sb>-6@pC zNLTP|!vR=L9oLip(;Lue?DEC9e%hvQAP`fADR&P3qo1rZBfr%7>mp|ecs=T z+bspUCrll_;Tyc-s(1PSsU2B?$l!p8t>+n^Q5FHagKqqN9&AoBODP!Ot$`tD010ic z3$Ywip3i-HQlILMig2glKCH{<4y?gyi16h9`I)cb3R4_2P^fZr`uPNp-(N2X`69wq z!at#D-v9X;6`t#fODV=guhrAq=nbIF{ipVd#RYm62lR_Zw#7{MKimN{zeN@YI6%jV zXc7$KQx%_wT?!`L6$4|5@D5`uYrVRojLRjaDaLT_o({SyazLJi<-C26KKbC5We8_A>+@;xzzkXOxdb7nk!&g^3#{?`23~*rge!HQ(N%JC zT7k)Z+{MNPD-#}0Zfy6j{oKi?aw~#6+2pBD*oIacLP3YorTki;{3vy%o1a* zvC9rijFc*kkbi~t-0Me=g)ZQNpMHZK)1RZ&0P38a2o`4803JvZ52W2 zkMy*N5n{AxTVflF8Dp*t~j;XAXpm#gH{DT;jHfs}Afq^hWx{z~X? z2K~*XzghG*oBrnDub7yNxn0CuJe~e1MKPr)rWD1LqL@+?QwkyyjYvcx!W>pPuYARP zR=J{P3GUZcRn1!_&Z`!d)h>u!+s*h=y>LKLk?sk@Bd|eG^rEL6=&VNJBNIBtNQBG? z3^Jsj7;=k?*}S=R4V}K0rjEK$8=se^Z;HBRmz2!P_cb==;gWhD$oxa2 zIM-h(5I37S5;vRch+rCs)amz;h0d9$QIWVEdm0t!w=+jrgP0q#^Jq@c>gPw?<{4on zbT_2VxbM+;T7>I&2-tbziunlZFxM#KGBZ1mUtk?!P25!jt}`|=dRnU*UkGz8#5dO) z_!}C`wWKrH=yeA=1URw{NEl&Uvm4?ww{9o~zmW(uTO%2bb%=H*{a%d^r#uMtbSny9pRE5&g)LWOwe zOOF-2^g_>b&=*uG){8<70n~xSg*SUQ7D zZwP``!!I;4e1qEu(_A8g;zWn3ZgqHJRuiSv&GLqn5t%FG6;P+I@&wIbOMCm}oqmq- z!kxw3xz(st{FSQ^hP!(pDss7Ao>DB#D=Z0@rmi|vO{eP!s$DMJt!2wRt9@?z8*BO`z#b1~#XynHofz9e$Q3d;I2 z%Yx1-Fx0NNKsVF?Os14~HaB|$wLx4kW6RvF%iH}%rgUHs@4U7q;w*0u2HRW1%mys@ zg|`Fk`05#6lL@Z#UQx2VGFVhyf=SH4jo$Gs2%!!gr%ro~FFgH@2>Q!d@W-6~A10XV*B2Ww(%)}_iM~Gq?lZw; z&lCE3Wt5)y_eH=m){X)io1mW`0WXSx{Sokk5%A*?aCZd!=Lonj0$yB|w4*z7qem*daj#UxR5aLP9){VQmFuX9lR zk-i*>F=|ioKuORy4e(=tqjk6t@IJuw9T1|I0A_moBKydmQXQuJl7DEGIvlVG|Il)6 z90Yt8($l(m22B3)n&1l1jg9QP6|lM`Y~NP_Cjq84tH~Z(=Qjf|tvyZf-GFBUHtc@@ zaHWa<2;h1X{C&XdP4HuYcbMQO0Y3)VkoP0N`%Ls71OBav{vzPFP4rg)tB7X{bo*Wf zyb!SA?_UD018n5yw}6{W^fv(qP4J%qZvi}8m-jB zZ0P?7;GY1-Vk6vtv<$>=O>`_$!QL~`ZGfpgAsP5BSWl6$wI(|HI%b+jO)ARZSIzZGg{rm*<_8XXUA;ePseHri%0sl;ge+Bq@@aO9=*=vkHNFT*VFZgl5 zCiJ(NV2YPdnP95l+f3t=gAw+Td}I7T@+)cGK7BLtYxMs_e`pB0F&-d#40Wgx>5cIP z(c6Zg8{-wCuO5PKjCY8BRRo>Qpsg`}AbUujG2SEoEYOXOVO_?`Gw42X>Nd@@U?)QI=mb31AvYEJPY_Gz|_8p z|5d<80aO1=@SA{VpgvQzBKQNq=KwbJS)v%b1Tc*sh&~4JD!_AfxCrnrz!dh0em3Ao z0Z-H68o+M?&e7p70=A?61LXXzfQ|8SJkoEDfd31yF`gv)cOu{)172#9_bT9vP4HWQ z-6r@5;Prs1|4u;vAB~LBc)3)EQvlO=n*2-jiGclpslE_A4RFvzpAL8%V31in=%obT z8ip4EX8Q!3fbp%%1jhqziGbG;+->mN*!3njp4r$P5%42`>8m@m#iM;oI8xig=A@m< zm39ilB4%MefOCd6O}igyX*cLZGH?w5u#5l{gY#J$5=8+aD_!dr<#UfPo`=3wAT#O_$Yh@I$LBlvcD5odgoB49KG4{=ACMKOu<0doTi;s!AX67XNZ?K~{{RaL$@I{E@ Ga{eDQsu4^8 literal 0 HcmV?d00001 diff --git a/lib/same54/iar/iar/same54n19a_flash.icf b/lib/same54/iar/iar/same54n19a_flash.icf new file mode 100644 index 00000000..fd4c8b0c --- /dev/null +++ b/lib/same54/iar/iar/same54n19a_flash.icf @@ -0,0 +1,70 @@ +/** + * \file + * + * \brief Linker script for running in internal FLASH on the SAME54N19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; +define symbol __ICFEDIT_region_BKUPRAM_start__ = 0x47000000; +define symbol __ICFEDIT_region_BKUPRAM_end__ = 0x47001FFF; +define symbol __ICFEDIT_region_QSPI_start__ = 0x04000000; +define symbol __ICFEDIT_region_QSPI_end__ = 0x04FFFFFF; +define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0007FFFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { + define symbol __ICFEDIT_size_cstack__ = 0xC000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { + define symbol __ICFEDIT_size_heap__ = 0x0; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region BKUPRAM_region = mem:[from __ICFEDIT_region_BKUPRAM_start__ to __ICFEDIT_region_BKUPRAM_end__]; +define region QSPI_region = mem:[from __ICFEDIT_region_QSPI_start__ to __ICFEDIT_region_QSPI_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; +initialize manually { section .qspi }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly }; +place in RAM_region { readwrite }; +place at end of RAM_region { block CSTACK, block HEAP }; +place in BKUPRAM_region { section .bkupram }; +place in QSPI_region { section .qspi }; diff --git a/lib/same54/iar/iar/same54n19a_sram.icf b/lib/same54/iar/iar/same54n19a_sram.icf new file mode 100644 index 00000000..f8b8ef32 --- /dev/null +++ b/lib/same54/iar/iar/same54n19a_sram.icf @@ -0,0 +1,67 @@ +/** + * \file + * + * \brief Linker script for running in internal SRAM on the SAME54N19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x20000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; +define symbol __ICFEDIT_region_BKUPRAM_start__ = 0x47000000; +define symbol __ICFEDIT_region_BKUPRAM_end__ = 0x47001FFF; +define symbol __ICFEDIT_region_QSPI_start__ = 0x04000000; +define symbol __ICFEDIT_region_QSPI_end__ = 0x04FFFFFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { + define symbol __ICFEDIT_size_cstack__ = 0xC000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { + define symbol __ICFEDIT_size_heap__ = 0x0; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region BKUPRAM_region = mem:[from __ICFEDIT_region_BKUPRAM_start__ to __ICFEDIT_region_BKUPRAM_end__]; +define region QSPI_region = mem:[from __ICFEDIT_region_QSPI_start__ to __ICFEDIT_region_QSPI_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy with packing=none { readwrite }; +do not initialize { section .noinit }; +initialize manually { section .qspi }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in RAM_region { readonly }; +place in RAM_region { readwrite }; +place at end of RAM_region { block CSTACK, block HEAP }; +place in BKUPRAM_region { section .bkupram }; +place in QSPI_region { section .qspi }; diff --git a/lib/same54/iar/iar/same54n20a_flash.icf b/lib/same54/iar/iar/same54n20a_flash.icf new file mode 100644 index 00000000..4da810d4 --- /dev/null +++ b/lib/same54/iar/iar/same54n20a_flash.icf @@ -0,0 +1,70 @@ +/** + * \file + * + * \brief Linker script for running in internal FLASH on the SAME54N20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; +define symbol __ICFEDIT_region_BKUPRAM_start__ = 0x47000000; +define symbol __ICFEDIT_region_BKUPRAM_end__ = 0x47001FFF; +define symbol __ICFEDIT_region_QSPI_start__ = 0x04000000; +define symbol __ICFEDIT_region_QSPI_end__ = 0x04FFFFFF; +define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x000FFFFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { + define symbol __ICFEDIT_size_cstack__ = 0x10000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { + define symbol __ICFEDIT_size_heap__ = 0x0; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region BKUPRAM_region = mem:[from __ICFEDIT_region_BKUPRAM_start__ to __ICFEDIT_region_BKUPRAM_end__]; +define region QSPI_region = mem:[from __ICFEDIT_region_QSPI_start__ to __ICFEDIT_region_QSPI_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; +initialize manually { section .qspi }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly }; +place in RAM_region { readwrite }; +place at end of RAM_region { block CSTACK, block HEAP }; +place in BKUPRAM_region { section .bkupram }; +place in QSPI_region { section .qspi }; diff --git a/lib/same54/iar/iar/same54n20a_sram.icf b/lib/same54/iar/iar/same54n20a_sram.icf new file mode 100644 index 00000000..57bec9aa --- /dev/null +++ b/lib/same54/iar/iar/same54n20a_sram.icf @@ -0,0 +1,67 @@ +/** + * \file + * + * \brief Linker script for running in internal SRAM on the SAME54N20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x20000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; +define symbol __ICFEDIT_region_BKUPRAM_start__ = 0x47000000; +define symbol __ICFEDIT_region_BKUPRAM_end__ = 0x47001FFF; +define symbol __ICFEDIT_region_QSPI_start__ = 0x04000000; +define symbol __ICFEDIT_region_QSPI_end__ = 0x04FFFFFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { + define symbol __ICFEDIT_size_cstack__ = 0x10000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { + define symbol __ICFEDIT_size_heap__ = 0x0; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region BKUPRAM_region = mem:[from __ICFEDIT_region_BKUPRAM_start__ to __ICFEDIT_region_BKUPRAM_end__]; +define region QSPI_region = mem:[from __ICFEDIT_region_QSPI_start__ to __ICFEDIT_region_QSPI_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy with packing=none { readwrite }; +do not initialize { section .noinit }; +initialize manually { section .qspi }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in RAM_region { readonly }; +place in RAM_region { readwrite }; +place at end of RAM_region { block CSTACK, block HEAP }; +place in BKUPRAM_region { section .bkupram }; +place in QSPI_region { section .qspi }; diff --git a/lib/same54/iar/iar/same54p19a_flash.icf b/lib/same54/iar/iar/same54p19a_flash.icf new file mode 100644 index 00000000..f9806549 --- /dev/null +++ b/lib/same54/iar/iar/same54p19a_flash.icf @@ -0,0 +1,70 @@ +/** + * \file + * + * \brief Linker script for running in internal FLASH on the SAME54P19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; +define symbol __ICFEDIT_region_BKUPRAM_start__ = 0x47000000; +define symbol __ICFEDIT_region_BKUPRAM_end__ = 0x47001FFF; +define symbol __ICFEDIT_region_QSPI_start__ = 0x04000000; +define symbol __ICFEDIT_region_QSPI_end__ = 0x04FFFFFF; +define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0007FFFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { + define symbol __ICFEDIT_size_cstack__ = 0xC000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { + define symbol __ICFEDIT_size_heap__ = 0x0; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region BKUPRAM_region = mem:[from __ICFEDIT_region_BKUPRAM_start__ to __ICFEDIT_region_BKUPRAM_end__]; +define region QSPI_region = mem:[from __ICFEDIT_region_QSPI_start__ to __ICFEDIT_region_QSPI_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; +initialize manually { section .qspi }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly }; +place in RAM_region { readwrite }; +place at end of RAM_region { block CSTACK, block HEAP }; +place in BKUPRAM_region { section .bkupram }; +place in QSPI_region { section .qspi }; diff --git a/lib/same54/iar/iar/same54p19a_sram.icf b/lib/same54/iar/iar/same54p19a_sram.icf new file mode 100644 index 00000000..491ab2d7 --- /dev/null +++ b/lib/same54/iar/iar/same54p19a_sram.icf @@ -0,0 +1,67 @@ +/** + * \file + * + * \brief Linker script for running in internal SRAM on the SAME54P19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x20000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF; +define symbol __ICFEDIT_region_BKUPRAM_start__ = 0x47000000; +define symbol __ICFEDIT_region_BKUPRAM_end__ = 0x47001FFF; +define symbol __ICFEDIT_region_QSPI_start__ = 0x04000000; +define symbol __ICFEDIT_region_QSPI_end__ = 0x04FFFFFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { + define symbol __ICFEDIT_size_cstack__ = 0xC000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { + define symbol __ICFEDIT_size_heap__ = 0x0; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region BKUPRAM_region = mem:[from __ICFEDIT_region_BKUPRAM_start__ to __ICFEDIT_region_BKUPRAM_end__]; +define region QSPI_region = mem:[from __ICFEDIT_region_QSPI_start__ to __ICFEDIT_region_QSPI_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy with packing=none { readwrite }; +do not initialize { section .noinit }; +initialize manually { section .qspi }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in RAM_region { readonly }; +place in RAM_region { readwrite }; +place at end of RAM_region { block CSTACK, block HEAP }; +place in BKUPRAM_region { section .bkupram }; +place in QSPI_region { section .qspi }; diff --git a/lib/same54/iar/iar/same54p20a_flash.icf b/lib/same54/iar/iar/same54p20a_flash.icf new file mode 100644 index 00000000..7632eca2 --- /dev/null +++ b/lib/same54/iar/iar/same54p20a_flash.icf @@ -0,0 +1,70 @@ +/** + * \file + * + * \brief Linker script for running in internal FLASH on the SAME54P20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; +define symbol __ICFEDIT_region_BKUPRAM_start__ = 0x47000000; +define symbol __ICFEDIT_region_BKUPRAM_end__ = 0x47001FFF; +define symbol __ICFEDIT_region_QSPI_start__ = 0x04000000; +define symbol __ICFEDIT_region_QSPI_end__ = 0x04FFFFFF; +define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x000FFFFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { + define symbol __ICFEDIT_size_cstack__ = 0x10000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { + define symbol __ICFEDIT_size_heap__ = 0x0; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region BKUPRAM_region = mem:[from __ICFEDIT_region_BKUPRAM_start__ to __ICFEDIT_region_BKUPRAM_end__]; +define region QSPI_region = mem:[from __ICFEDIT_region_QSPI_start__ to __ICFEDIT_region_QSPI_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; +initialize manually { section .qspi }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in ROM_region { readonly }; +place in RAM_region { readwrite }; +place at end of RAM_region { block CSTACK, block HEAP }; +place in BKUPRAM_region { section .bkupram }; +place in QSPI_region { section .qspi }; diff --git a/lib/same54/iar/iar/same54p20a_sram.icf b/lib/same54/iar/iar/same54p20a_sram.icf new file mode 100644 index 00000000..3afc5329 --- /dev/null +++ b/lib/same54/iar/iar/same54p20a_sram.icf @@ -0,0 +1,67 @@ +/** + * \file + * + * \brief Linker script for running in internal SRAM on the SAME54P20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x20000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF; +define symbol __ICFEDIT_region_BKUPRAM_start__ = 0x47000000; +define symbol __ICFEDIT_region_BKUPRAM_end__ = 0x47001FFF; +define symbol __ICFEDIT_region_QSPI_start__ = 0x04000000; +define symbol __ICFEDIT_region_QSPI_end__ = 0x04FFFFFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { + define symbol __ICFEDIT_size_cstack__ = 0x10000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { + define symbol __ICFEDIT_size_heap__ = 0x0; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region BKUPRAM_region = mem:[from __ICFEDIT_region_BKUPRAM_start__ to __ICFEDIT_region_BKUPRAM_end__]; +define region QSPI_region = mem:[from __ICFEDIT_region_QSPI_start__ to __ICFEDIT_region_QSPI_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy with packing=none { readwrite }; +do not initialize { section .noinit }; +initialize manually { section .qspi }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place in RAM_region { readonly }; +place in RAM_region { readwrite }; +place at end of RAM_region { block CSTACK, block HEAP }; +place in BKUPRAM_region { section .bkupram }; +place in QSPI_region { section .qspi }; diff --git a/lib/same54/iar/iar/startup_same54.c b/lib/same54/iar/iar/startup_same54.c new file mode 100644 index 00000000..7cc4080e --- /dev/null +++ b/lib/same54/iar/iar/startup_same54.c @@ -0,0 +1,517 @@ +/** + * \file + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#include "same54.h" + +typedef void (*intfunc) (void); +typedef union { intfunc __fun; void * __ptr; } intvec_elem; + +void __iar_program_start(void); +int __low_level_init(void); + +/* Default empty handler */ +void Dummy_Handler(void); + +/* Cortex-M4 core handlers */ +#pragma weak NMI_Handler = Dummy_Handler +#pragma weak HardFault_Handler = Dummy_Handler +#pragma weak MemManage_Handler = Dummy_Handler +#pragma weak BusFault_Handler = Dummy_Handler +#pragma weak UsageFault_Handler = Dummy_Handler +#pragma weak SVC_Handler = Dummy_Handler +#pragma weak DebugMon_Handler = Dummy_Handler +#pragma weak PendSV_Handler = Dummy_Handler +#pragma weak SysTick_Handler = Dummy_Handler + +/* Peripherals handlers */ +#pragma weak PM_Handler = Dummy_Handler +#pragma weak MCLK_Handler = Dummy_Handler +#pragma weak OSCCTRL_0_Handler = Dummy_Handler /* OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ +#pragma weak OSCCTRL_1_Handler = Dummy_Handler /* OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ +#pragma weak OSCCTRL_2_Handler = Dummy_Handler /* OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, OSCCTRL_DFLLRDY */ +#pragma weak OSCCTRL_3_Handler = Dummy_Handler /* OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ +#pragma weak OSCCTRL_4_Handler = Dummy_Handler /* OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ +#pragma weak OSC32KCTRL_Handler = Dummy_Handler +#pragma weak SUPC_0_Handler = Dummy_Handler /* SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY */ +#pragma weak SUPC_1_Handler = Dummy_Handler /* SUPC_BOD12DET, SUPC_BOD33DET */ +#pragma weak WDT_Handler = Dummy_Handler +#pragma weak RTC_Handler = Dummy_Handler +#pragma weak EIC_0_Handler = Dummy_Handler /* EIC_EXTINT_0 */ +#pragma weak EIC_1_Handler = Dummy_Handler /* EIC_EXTINT_1 */ +#pragma weak EIC_2_Handler = Dummy_Handler /* EIC_EXTINT_2 */ +#pragma weak EIC_3_Handler = Dummy_Handler /* EIC_EXTINT_3 */ +#pragma weak EIC_4_Handler = Dummy_Handler /* EIC_EXTINT_4 */ +#pragma weak EIC_5_Handler = Dummy_Handler /* EIC_EXTINT_5 */ +#pragma weak EIC_6_Handler = Dummy_Handler /* EIC_EXTINT_6 */ +#pragma weak EIC_7_Handler = Dummy_Handler /* EIC_EXTINT_7 */ +#pragma weak EIC_8_Handler = Dummy_Handler /* EIC_EXTINT_8 */ +#pragma weak EIC_9_Handler = Dummy_Handler /* EIC_EXTINT_9 */ +#pragma weak EIC_10_Handler = Dummy_Handler /* EIC_EXTINT_10 */ +#pragma weak EIC_11_Handler = Dummy_Handler /* EIC_EXTINT_11 */ +#pragma weak EIC_12_Handler = Dummy_Handler /* EIC_EXTINT_12 */ +#pragma weak EIC_13_Handler = Dummy_Handler /* EIC_EXTINT_13 */ +#pragma weak EIC_14_Handler = Dummy_Handler /* EIC_EXTINT_14 */ +#pragma weak EIC_15_Handler = Dummy_Handler /* EIC_EXTINT_15 */ +#pragma weak FREQM_Handler = Dummy_Handler +#pragma weak NVMCTRL_0_Handler = Dummy_Handler /* NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, NVMCTRL_7 */ +#pragma weak NVMCTRL_1_Handler = Dummy_Handler /* NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ +#pragma weak DMAC_0_Handler = Dummy_Handler /* DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ +#pragma weak DMAC_1_Handler = Dummy_Handler /* DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ +#pragma weak DMAC_2_Handler = Dummy_Handler /* DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ +#pragma weak DMAC_3_Handler = Dummy_Handler /* DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ +#pragma weak DMAC_4_Handler = Dummy_Handler /* DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ +#pragma weak EVSYS_0_Handler = Dummy_Handler /* EVSYS_EVD_0, EVSYS_OVR_0 */ +#pragma weak EVSYS_1_Handler = Dummy_Handler /* EVSYS_EVD_1, EVSYS_OVR_1 */ +#pragma weak EVSYS_2_Handler = Dummy_Handler /* EVSYS_EVD_2, EVSYS_OVR_2 */ +#pragma weak EVSYS_3_Handler = Dummy_Handler /* EVSYS_EVD_3, EVSYS_OVR_3 */ +#pragma weak EVSYS_4_Handler = Dummy_Handler /* EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ +#pragma weak PAC_Handler = Dummy_Handler +#pragma weak TAL_0_Handler = Dummy_Handler /* TAL_BRK */ +#pragma weak TAL_1_Handler = Dummy_Handler /* TAL_IPS_0, TAL_IPS_1 */ +#pragma weak RAMECC_Handler = Dummy_Handler +#pragma weak SERCOM0_0_Handler = Dummy_Handler /* SERCOM0_0 */ +#pragma weak SERCOM0_1_Handler = Dummy_Handler /* SERCOM0_1 */ +#pragma weak SERCOM0_2_Handler = Dummy_Handler /* SERCOM0_2 */ +#pragma weak SERCOM0_3_Handler = Dummy_Handler /* SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ +#pragma weak SERCOM1_0_Handler = Dummy_Handler /* SERCOM1_0 */ +#pragma weak SERCOM1_1_Handler = Dummy_Handler /* SERCOM1_1 */ +#pragma weak SERCOM1_2_Handler = Dummy_Handler /* SERCOM1_2 */ +#pragma weak SERCOM1_3_Handler = Dummy_Handler /* SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ +#pragma weak SERCOM2_0_Handler = Dummy_Handler /* SERCOM2_0 */ +#pragma weak SERCOM2_1_Handler = Dummy_Handler /* SERCOM2_1 */ +#pragma weak SERCOM2_2_Handler = Dummy_Handler /* SERCOM2_2 */ +#pragma weak SERCOM2_3_Handler = Dummy_Handler /* SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ +#pragma weak SERCOM3_0_Handler = Dummy_Handler /* SERCOM3_0 */ +#pragma weak SERCOM3_1_Handler = Dummy_Handler /* SERCOM3_1 */ +#pragma weak SERCOM3_2_Handler = Dummy_Handler /* SERCOM3_2 */ +#pragma weak SERCOM3_3_Handler = Dummy_Handler /* SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ +#ifdef ID_SERCOM4 +#pragma weak SERCOM4_0_Handler = Dummy_Handler /* SERCOM4_0 */ +#pragma weak SERCOM4_1_Handler = Dummy_Handler /* SERCOM4_1 */ +#pragma weak SERCOM4_2_Handler = Dummy_Handler /* SERCOM4_2 */ +#pragma weak SERCOM4_3_Handler = Dummy_Handler /* SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ +#endif +#ifdef ID_SERCOM5 +#pragma weak SERCOM5_0_Handler = Dummy_Handler /* SERCOM5_0 */ +#pragma weak SERCOM5_1_Handler = Dummy_Handler /* SERCOM5_1 */ +#pragma weak SERCOM5_2_Handler = Dummy_Handler /* SERCOM5_2 */ +#pragma weak SERCOM5_3_Handler = Dummy_Handler /* SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ +#endif +#ifdef ID_SERCOM6 +#pragma weak SERCOM6_0_Handler = Dummy_Handler /* SERCOM6_0 */ +#pragma weak SERCOM6_1_Handler = Dummy_Handler /* SERCOM6_1 */ +#pragma weak SERCOM6_2_Handler = Dummy_Handler /* SERCOM6_2 */ +#pragma weak SERCOM6_3_Handler = Dummy_Handler /* SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ +#endif +#ifdef ID_SERCOM7 +#pragma weak SERCOM7_0_Handler = Dummy_Handler /* SERCOM7_0 */ +#pragma weak SERCOM7_1_Handler = Dummy_Handler /* SERCOM7_1 */ +#pragma weak SERCOM7_2_Handler = Dummy_Handler /* SERCOM7_2 */ +#pragma weak SERCOM7_3_Handler = Dummy_Handler /* SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ +#endif +#ifdef ID_CAN0 +#pragma weak CAN0_Handler = Dummy_Handler +#endif +#ifdef ID_CAN1 +#pragma weak CAN1_Handler = Dummy_Handler +#endif +#ifdef ID_USB +#pragma weak USB_0_Handler = Dummy_Handler /* USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ +#pragma weak USB_1_Handler = Dummy_Handler /* USB_SOF_HSOF */ +#pragma weak USB_2_Handler = Dummy_Handler /* USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ +#pragma weak USB_3_Handler = Dummy_Handler /* USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ +#endif +#ifdef ID_GMAC +#pragma weak GMAC_Handler = Dummy_Handler +#endif +#pragma weak TCC0_0_Handler = Dummy_Handler /* TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ +#pragma weak TCC0_1_Handler = Dummy_Handler /* TCC0_MC_0 */ +#pragma weak TCC0_2_Handler = Dummy_Handler /* TCC0_MC_1 */ +#pragma weak TCC0_3_Handler = Dummy_Handler /* TCC0_MC_2 */ +#pragma weak TCC0_4_Handler = Dummy_Handler /* TCC0_MC_3 */ +#pragma weak TCC0_5_Handler = Dummy_Handler /* TCC0_MC_4 */ +#pragma weak TCC0_6_Handler = Dummy_Handler /* TCC0_MC_5 */ +#pragma weak TCC1_0_Handler = Dummy_Handler /* TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ +#pragma weak TCC1_1_Handler = Dummy_Handler /* TCC1_MC_0 */ +#pragma weak TCC1_2_Handler = Dummy_Handler /* TCC1_MC_1 */ +#pragma weak TCC1_3_Handler = Dummy_Handler /* TCC1_MC_2 */ +#pragma weak TCC1_4_Handler = Dummy_Handler /* TCC1_MC_3 */ +#pragma weak TCC2_0_Handler = Dummy_Handler /* TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ +#pragma weak TCC2_1_Handler = Dummy_Handler /* TCC2_MC_0 */ +#pragma weak TCC2_2_Handler = Dummy_Handler /* TCC2_MC_1 */ +#pragma weak TCC2_3_Handler = Dummy_Handler /* TCC2_MC_2 */ +#ifdef ID_TCC3 +#pragma weak TCC3_0_Handler = Dummy_Handler /* TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ +#pragma weak TCC3_1_Handler = Dummy_Handler /* TCC3_MC_0 */ +#pragma weak TCC3_2_Handler = Dummy_Handler /* TCC3_MC_1 */ +#endif +#ifdef ID_TCC4 +#pragma weak TCC4_0_Handler = Dummy_Handler /* TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ +#pragma weak TCC4_1_Handler = Dummy_Handler /* TCC4_MC_0 */ +#pragma weak TCC4_2_Handler = Dummy_Handler /* TCC4_MC_1 */ +#endif +#pragma weak TC0_Handler = Dummy_Handler +#pragma weak TC1_Handler = Dummy_Handler +#pragma weak TC2_Handler = Dummy_Handler +#pragma weak TC3_Handler = Dummy_Handler +#ifdef ID_TC4 +#pragma weak TC4_Handler = Dummy_Handler +#endif +#ifdef ID_TC5 +#pragma weak TC5_Handler = Dummy_Handler +#endif +#ifdef ID_TC6 +#pragma weak TC6_Handler = Dummy_Handler +#endif +#ifdef ID_TC7 +#pragma weak TC7_Handler = Dummy_Handler +#endif +#pragma weak PDEC_0_Handler = Dummy_Handler /* PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ +#pragma weak PDEC_1_Handler = Dummy_Handler /* PDEC_MC_0 */ +#pragma weak PDEC_2_Handler = Dummy_Handler /* PDEC_MC_1 */ +#pragma weak ADC0_0_Handler = Dummy_Handler /* ADC0_OVERRUN, ADC0_WINMON */ +#pragma weak ADC0_1_Handler = Dummy_Handler /* ADC0_RESRDY */ +#pragma weak ADC1_0_Handler = Dummy_Handler /* ADC1_OVERRUN, ADC1_WINMON */ +#pragma weak ADC1_1_Handler = Dummy_Handler /* ADC1_RESRDY */ +#pragma weak AC_Handler = Dummy_Handler +#pragma weak DAC_0_Handler = Dummy_Handler /* DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ +#pragma weak DAC_1_Handler = Dummy_Handler /* DAC_EMPTY_0 */ +#pragma weak DAC_2_Handler = Dummy_Handler /* DAC_EMPTY_1 */ +#pragma weak DAC_3_Handler = Dummy_Handler /* DAC_RESRDY_0 */ +#pragma weak DAC_4_Handler = Dummy_Handler /* DAC_RESRDY_1 */ +#ifdef ID_I2S +#pragma weak I2S_Handler = Dummy_Handler +#endif +#pragma weak PCC_Handler = Dummy_Handler +#pragma weak AES_Handler = Dummy_Handler +#pragma weak TRNG_Handler = Dummy_Handler +#ifdef ID_ICM +#pragma weak ICM_Handler = Dummy_Handler +#endif +#ifdef ID_PUKCC +#pragma weak PUKCC_Handler = Dummy_Handler +#endif +#pragma weak QSPI_Handler = Dummy_Handler +#ifdef ID_SDHC0 +#pragma weak SDHC0_Handler = Dummy_Handler +#endif +#ifdef ID_SDHC1 +#pragma weak SDHC1_Handler = Dummy_Handler +#endif + +/* Exception Table */ +#pragma language = extended +#pragma segment = "CSTACK" + +/* The name "__vector_table" has special meaning for C-SPY: */ +/* it is where the SP start value is found, and the NVIC vector */ +/* table register (VTOR) is initialized to this address if != 0 */ + +#pragma section = ".intvec" +#pragma location = ".intvec" +const DeviceVectors __vector_table[] = { + (void*) __sfe("CSTACK"), + (void*) Reset_Handler, + (void*) NMI_Handler, + (void*) HardFault_Handler, + (void*) MemManage_Handler, + (void*) BusFault_Handler, + (void*) UsageFault_Handler, + (void*) (0UL), /* Reserved */ + (void*) (0UL), /* Reserved */ + (void*) (0UL), /* Reserved */ + (void*) (0UL), /* Reserved */ + (void*) SVC_Handler, + (void*) DebugMon_Handler, + (void*) (0UL), /* Reserved */ + (void*) PendSV_Handler, + (void*) SysTick_Handler, + + /* Configurable interrupts */ + (void*) PM_Handler, /* 0 Power Manager */ + (void*) MCLK_Handler, /* 1 Main Clock */ + (void*) OSCCTRL_0_Handler, /* 2 OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ + (void*) OSCCTRL_1_Handler, /* 3 OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ + (void*) OSCCTRL_2_Handler, /* 4 OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, OSCCTRL_DFLLRDY */ + (void*) OSCCTRL_3_Handler, /* 5 OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ + (void*) OSCCTRL_4_Handler, /* 6 OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ + (void*) OSC32KCTRL_Handler, /* 7 32kHz Oscillators Control */ + (void*) SUPC_0_Handler, /* 8 SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY */ + (void*) SUPC_1_Handler, /* 9 SUPC_BOD12DET, SUPC_BOD33DET */ + (void*) WDT_Handler, /* 10 Watchdog Timer */ + (void*) RTC_Handler, /* 11 Real-Time Counter */ + (void*) EIC_0_Handler, /* 12 EIC_EXTINT_0 */ + (void*) EIC_1_Handler, /* 13 EIC_EXTINT_1 */ + (void*) EIC_2_Handler, /* 14 EIC_EXTINT_2 */ + (void*) EIC_3_Handler, /* 15 EIC_EXTINT_3 */ + (void*) EIC_4_Handler, /* 16 EIC_EXTINT_4 */ + (void*) EIC_5_Handler, /* 17 EIC_EXTINT_5 */ + (void*) EIC_6_Handler, /* 18 EIC_EXTINT_6 */ + (void*) EIC_7_Handler, /* 19 EIC_EXTINT_7 */ + (void*) EIC_8_Handler, /* 20 EIC_EXTINT_8 */ + (void*) EIC_9_Handler, /* 21 EIC_EXTINT_9 */ + (void*) EIC_10_Handler, /* 22 EIC_EXTINT_10 */ + (void*) EIC_11_Handler, /* 23 EIC_EXTINT_11 */ + (void*) EIC_12_Handler, /* 24 EIC_EXTINT_12 */ + (void*) EIC_13_Handler, /* 25 EIC_EXTINT_13 */ + (void*) EIC_14_Handler, /* 26 EIC_EXTINT_14 */ + (void*) EIC_15_Handler, /* 27 EIC_EXTINT_15 */ + (void*) FREQM_Handler, /* 28 Frequency Meter */ + (void*) NVMCTRL_0_Handler, /* 29 NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, NVMCTRL_7 */ + (void*) NVMCTRL_1_Handler, /* 30 NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ + (void*) DMAC_0_Handler, /* 31 DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ + (void*) DMAC_1_Handler, /* 32 DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ + (void*) DMAC_2_Handler, /* 33 DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ + (void*) DMAC_3_Handler, /* 34 DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ + (void*) DMAC_4_Handler, /* 35 DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ + (void*) EVSYS_0_Handler, /* 36 EVSYS_EVD_0, EVSYS_OVR_0 */ + (void*) EVSYS_1_Handler, /* 37 EVSYS_EVD_1, EVSYS_OVR_1 */ + (void*) EVSYS_2_Handler, /* 38 EVSYS_EVD_2, EVSYS_OVR_2 */ + (void*) EVSYS_3_Handler, /* 39 EVSYS_EVD_3, EVSYS_OVR_3 */ + (void*) EVSYS_4_Handler, /* 40 EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ + (void*) PAC_Handler, /* 41 Peripheral Access Controller */ + (void*) TAL_0_Handler, /* 42 TAL_BRK */ + (void*) TAL_1_Handler, /* 43 TAL_IPS_0, TAL_IPS_1 */ + (void*) (0UL), /* 44 Reserved */ + (void*) RAMECC_Handler, /* 45 RAM ECC */ + (void*) SERCOM0_0_Handler, /* 46 SERCOM0_0 */ + (void*) SERCOM0_1_Handler, /* 47 SERCOM0_1 */ + (void*) SERCOM0_2_Handler, /* 48 SERCOM0_2 */ + (void*) SERCOM0_3_Handler, /* 49 SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ + (void*) SERCOM1_0_Handler, /* 50 SERCOM1_0 */ + (void*) SERCOM1_1_Handler, /* 51 SERCOM1_1 */ + (void*) SERCOM1_2_Handler, /* 52 SERCOM1_2 */ + (void*) SERCOM1_3_Handler, /* 53 SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ + (void*) SERCOM2_0_Handler, /* 54 SERCOM2_0 */ + (void*) SERCOM2_1_Handler, /* 55 SERCOM2_1 */ + (void*) SERCOM2_2_Handler, /* 56 SERCOM2_2 */ + (void*) SERCOM2_3_Handler, /* 57 SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ + (void*) SERCOM3_0_Handler, /* 58 SERCOM3_0 */ + (void*) SERCOM3_1_Handler, /* 59 SERCOM3_1 */ + (void*) SERCOM3_2_Handler, /* 60 SERCOM3_2 */ + (void*) SERCOM3_3_Handler, /* 61 SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ +#ifdef ID_SERCOM4 + (void*) SERCOM4_0_Handler, /* 62 SERCOM4_0 */ + (void*) SERCOM4_1_Handler, /* 63 SERCOM4_1 */ + (void*) SERCOM4_2_Handler, /* 64 SERCOM4_2 */ + (void*) SERCOM4_3_Handler, /* 65 SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ +#else + (void*) (0UL), /* 62 Reserved */ + (void*) (0UL), /* 63 Reserved */ + (void*) (0UL), /* 64 Reserved */ + (void*) (0UL), /* 65 Reserved */ +#endif +#ifdef ID_SERCOM5 + (void*) SERCOM5_0_Handler, /* 66 SERCOM5_0 */ + (void*) SERCOM5_1_Handler, /* 67 SERCOM5_1 */ + (void*) SERCOM5_2_Handler, /* 68 SERCOM5_2 */ + (void*) SERCOM5_3_Handler, /* 69 SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ +#else + (void*) (0UL), /* 66 Reserved */ + (void*) (0UL), /* 67 Reserved */ + (void*) (0UL), /* 68 Reserved */ + (void*) (0UL), /* 69 Reserved */ +#endif +#ifdef ID_SERCOM6 + (void*) SERCOM6_0_Handler, /* 70 SERCOM6_0 */ + (void*) SERCOM6_1_Handler, /* 71 SERCOM6_1 */ + (void*) SERCOM6_2_Handler, /* 72 SERCOM6_2 */ + (void*) SERCOM6_3_Handler, /* 73 SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ +#else + (void*) (0UL), /* 70 Reserved */ + (void*) (0UL), /* 71 Reserved */ + (void*) (0UL), /* 72 Reserved */ + (void*) (0UL), /* 73 Reserved */ +#endif +#ifdef ID_SERCOM7 + (void*) SERCOM7_0_Handler, /* 74 SERCOM7_0 */ + (void*) SERCOM7_1_Handler, /* 75 SERCOM7_1 */ + (void*) SERCOM7_2_Handler, /* 76 SERCOM7_2 */ + (void*) SERCOM7_3_Handler, /* 77 SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ +#else + (void*) (0UL), /* 74 Reserved */ + (void*) (0UL), /* 75 Reserved */ + (void*) (0UL), /* 76 Reserved */ + (void*) (0UL), /* 77 Reserved */ +#endif +#ifdef ID_CAN0 + (void*) CAN0_Handler, /* 78 Control Area Network 0 */ +#else + (void*) (0UL), /* 78 Reserved */ +#endif +#ifdef ID_CAN1 + (void*) CAN1_Handler, /* 79 Control Area Network 1 */ +#else + (void*) (0UL), /* 79 Reserved */ +#endif +#ifdef ID_USB + (void*) USB_0_Handler, /* 80 USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ + (void*) USB_1_Handler, /* 81 USB_SOF_HSOF */ + (void*) USB_2_Handler, /* 82 USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ + (void*) USB_3_Handler, /* 83 USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ +#else + (void*) (0UL), /* 80 Reserved */ + (void*) (0UL), /* 81 Reserved */ + (void*) (0UL), /* 82 Reserved */ + (void*) (0UL), /* 83 Reserved */ +#endif +#ifdef ID_GMAC + (void*) GMAC_Handler, /* 84 Ethernet MAC */ +#else + (void*) (0UL), /* 84 Reserved */ +#endif + (void*) TCC0_0_Handler, /* 85 TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ + (void*) TCC0_1_Handler, /* 86 TCC0_MC_0 */ + (void*) TCC0_2_Handler, /* 87 TCC0_MC_1 */ + (void*) TCC0_3_Handler, /* 88 TCC0_MC_2 */ + (void*) TCC0_4_Handler, /* 89 TCC0_MC_3 */ + (void*) TCC0_5_Handler, /* 90 TCC0_MC_4 */ + (void*) TCC0_6_Handler, /* 91 TCC0_MC_5 */ + (void*) TCC1_0_Handler, /* 92 TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ + (void*) TCC1_1_Handler, /* 93 TCC1_MC_0 */ + (void*) TCC1_2_Handler, /* 94 TCC1_MC_1 */ + (void*) TCC1_3_Handler, /* 95 TCC1_MC_2 */ + (void*) TCC1_4_Handler, /* 96 TCC1_MC_3 */ + (void*) TCC2_0_Handler, /* 97 TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ + (void*) TCC2_1_Handler, /* 98 TCC2_MC_0 */ + (void*) TCC2_2_Handler, /* 99 TCC2_MC_1 */ + (void*) TCC2_3_Handler, /* 100 TCC2_MC_2 */ +#ifdef ID_TCC3 + (void*) TCC3_0_Handler, /* 101 TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ + (void*) TCC3_1_Handler, /* 102 TCC3_MC_0 */ + (void*) TCC3_2_Handler, /* 103 TCC3_MC_1 */ +#else + (void*) (0UL), /* 101 Reserved */ + (void*) (0UL), /* 102 Reserved */ + (void*) (0UL), /* 103 Reserved */ +#endif +#ifdef ID_TCC4 + (void*) TCC4_0_Handler, /* 104 TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ + (void*) TCC4_1_Handler, /* 105 TCC4_MC_0 */ + (void*) TCC4_2_Handler, /* 106 TCC4_MC_1 */ +#else + (void*) (0UL), /* 104 Reserved */ + (void*) (0UL), /* 105 Reserved */ + (void*) (0UL), /* 106 Reserved */ +#endif + (void*) TC0_Handler, /* 107 Basic Timer Counter 0 */ + (void*) TC1_Handler, /* 108 Basic Timer Counter 1 */ + (void*) TC2_Handler, /* 109 Basic Timer Counter 2 */ + (void*) TC3_Handler, /* 110 Basic Timer Counter 3 */ +#ifdef ID_TC4 + (void*) TC4_Handler, /* 111 Basic Timer Counter 4 */ +#else + (void*) (0UL), /* 111 Reserved */ +#endif +#ifdef ID_TC5 + (void*) TC5_Handler, /* 112 Basic Timer Counter 5 */ +#else + (void*) (0UL), /* 112 Reserved */ +#endif +#ifdef ID_TC6 + (void*) TC6_Handler, /* 113 Basic Timer Counter 6 */ +#else + (void*) (0UL), /* 113 Reserved */ +#endif +#ifdef ID_TC7 + (void*) TC7_Handler, /* 114 Basic Timer Counter 7 */ +#else + (void*) (0UL), /* 114 Reserved */ +#endif + (void*) PDEC_0_Handler, /* 115 PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ + (void*) PDEC_1_Handler, /* 116 PDEC_MC_0 */ + (void*) PDEC_2_Handler, /* 117 PDEC_MC_1 */ + (void*) ADC0_0_Handler, /* 118 ADC0_OVERRUN, ADC0_WINMON */ + (void*) ADC0_1_Handler, /* 119 ADC0_RESRDY */ + (void*) ADC1_0_Handler, /* 120 ADC1_OVERRUN, ADC1_WINMON */ + (void*) ADC1_1_Handler, /* 121 ADC1_RESRDY */ + (void*) AC_Handler, /* 122 Analog Comparators */ + (void*) DAC_0_Handler, /* 123 DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ + (void*) DAC_1_Handler, /* 124 DAC_EMPTY_0 */ + (void*) DAC_2_Handler, /* 125 DAC_EMPTY_1 */ + (void*) DAC_3_Handler, /* 126 DAC_RESRDY_0 */ + (void*) DAC_4_Handler, /* 127 DAC_RESRDY_1 */ +#ifdef ID_I2S + (void*) I2S_Handler, /* 128 Inter-IC Sound Interface */ +#else + (void*) (0UL), /* 128 Reserved */ +#endif + (void*) PCC_Handler, /* 129 Parallel Capture Controller */ + (void*) AES_Handler, /* 130 Advanced Encryption Standard */ + (void*) TRNG_Handler, /* 131 True Random Generator */ +#ifdef ID_ICM + (void*) ICM_Handler, /* 132 Integrity Check Monitor */ +#else + (void*) (0UL), /* 132 Reserved */ +#endif +#ifdef ID_PUKCC + (void*) PUKCC_Handler, /* 133 PUblic-Key Cryptography Controller */ +#else + (void*) (0UL), /* 133 Reserved */ +#endif + (void*) QSPI_Handler, /* 134 Quad SPI interface */ +#ifdef ID_SDHC0 + (void*) SDHC0_Handler, /* 135 SD/MMC Host Controller 0 */ +#else + (void*) (0UL), /* 135 Reserved */ +#endif +#ifdef ID_SDHC1 + (void*) SDHC1_Handler /* 136 SD/MMC Host Controller 1 */ +#else + (void*) (0UL) /* 136 Reserved */ +#endif +}; + +/**------------------------------------------------------------------------------ + * This is the code that gets called on processor reset. To initialize the + * device. + *------------------------------------------------------------------------------*/ +int __low_level_init(void) +{ + uint32_t *pSrc = __section_begin(".intvec"); + + SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk); + + return 1; /* if return 0, the data sections will not be initialized */ +} + +/**------------------------------------------------------------------------------ + * This is the code that gets called on processor reset. To initialize the + * device. + *------------------------------------------------------------------------------*/ +void Reset_Handler(void) +{ + __iar_program_start(); +} + +/** + * \brief Default interrupt handler for unused IRQs. + */ +void Dummy_Handler(void) +{ + while (1) { + } +} diff --git a/lib/same54/iar/system_same54.c b/lib/same54/iar/system_same54.c new file mode 100644 index 00000000..37dea19a --- /dev/null +++ b/lib/same54/iar/system_same54.c @@ -0,0 +1,63 @@ +/** + * \file + * + * \brief Low-level initialization functions called upon chip startup. + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#include "same54.h" + +/** + * Initial system clock frequency. The System RC Oscillator (RCSYS) provides + * the source for the main clock at chip startup. + */ +#define __SYSTEM_CLOCK (48000000) + +uint32_t SystemCoreClock = __SYSTEM_CLOCK;/*!< System Clock Frequency (Core Clock)*/ + +/** + * Initialize the system + * + * @brief Setup the microcontroller system. + * Initialize the System and update the SystemCoreClock variable. + */ +void SystemInit(void) +{ + // Keep the default device state after reset + SystemCoreClock = __SYSTEM_CLOCK; + return; +} + +/** + * Update SystemCoreClock variable + * + * @brief Updates the SystemCoreClock with current core Clock + * retrieved from cpu registers. + */ +void SystemCoreClockUpdate(void) +{ + // Not implemented + SystemCoreClock = __SYSTEM_CLOCK; + return; +} diff --git a/lib/same54/include/component-version.h b/lib/same54/include/component-version.h new file mode 100644 index 00000000..e0e07c2e --- /dev/null +++ b/lib/same54/include/component-version.h @@ -0,0 +1,65 @@ +/** + * \file + * + * \brief Component version header file + * + * Copyright (c) 2017 Atmel Corporation, a wholly owned subsidiary of Microchip Technology Inc. + * + * \license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \license_stop + * + */ + +#ifndef _COMPONENT_VERSION_H_INCLUDED +#define _COMPONENT_VERSION_H_INCLUDED + +#define COMPONENT_VERSION_MAJOR 1 +#define COMPONENT_VERSION_MINOR 0 + +// +// The COMPONENT_VERSION define is composed of the major and the minor version number. +// +// The last four digits of the COMPONENT_VERSION is the minor version with leading zeros. +// The rest of the COMPONENT_VERSION is the major version, with leading zeros. The COMPONENT_VERSION +// is at least 8 digits long. +// +#define COMPONENT_VERSION 00010000 + +// +// The build number does not refer to the component, but to the build number +// of the device pack that provides the component. +// +#define BUILD_NUMBER 61 + +// +// The COMPONENT_VERSION_STRING is a string (enclosed in ") that can be used for logging or embedding. +// +#define COMPONENT_VERSION_STRING "1.0" + +// +// The COMPONENT_DATE_STRING contains a timestamp of when the pack was generated. +// +// The COMPONENT_DATE_STRING is written out using the following strftime pattern. +// +// "%Y-%m-%d %H:%M:%S" +// +// +#define COMPONENT_DATE_STRING "2017-05-22 10:50:25" + +#endif/* #ifndef _COMPONENT_VERSION_H_INCLUDED */ + diff --git a/lib/same54/include/component/ac.h b/lib/same54/include/component/ac.h new file mode 100644 index 00000000..10b7a754 --- /dev/null +++ b/lib/same54/include/component/ac.h @@ -0,0 +1,597 @@ +/** + * \file + * + * \brief Component description for AC + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_AC_COMPONENT_ +#define _SAME54_AC_COMPONENT_ + +/* ========================================================================== */ +/** SOFTWARE API DEFINITION FOR AC */ +/* ========================================================================== */ +/** \addtogroup SAME54_AC Analog Comparators */ +/*@{*/ + +#define AC_U2501 +#define REV_AC 0x100 + +/* -------- AC_CTRLA : (AC Offset: 0x00) (R/W 8) Control A -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t SWRST:1; /*!< bit: 0 Software Reset */ + uint8_t ENABLE:1; /*!< bit: 1 Enable */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AC_CTRLA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_CTRLA_OFFSET 0x00 /**< \brief (AC_CTRLA offset) Control A */ +#define AC_CTRLA_RESETVALUE _U_(0x00) /**< \brief (AC_CTRLA reset_value) Control A */ + +#define AC_CTRLA_SWRST_Pos 0 /**< \brief (AC_CTRLA) Software Reset */ +#define AC_CTRLA_SWRST (_U_(0x1) << AC_CTRLA_SWRST_Pos) +#define AC_CTRLA_ENABLE_Pos 1 /**< \brief (AC_CTRLA) Enable */ +#define AC_CTRLA_ENABLE (_U_(0x1) << AC_CTRLA_ENABLE_Pos) +#define AC_CTRLA_MASK _U_(0x03) /**< \brief (AC_CTRLA) MASK Register */ + +/* -------- AC_CTRLB : (AC Offset: 0x01) ( /W 8) Control B -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t START0:1; /*!< bit: 0 Comparator 0 Start Comparison */ + uint8_t START1:1; /*!< bit: 1 Comparator 1 Start Comparison */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t START:2; /*!< bit: 0.. 1 Comparator x Start Comparison */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} AC_CTRLB_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_CTRLB_OFFSET 0x01 /**< \brief (AC_CTRLB offset) Control B */ +#define AC_CTRLB_RESETVALUE _U_(0x00) /**< \brief (AC_CTRLB reset_value) Control B */ + +#define AC_CTRLB_START0_Pos 0 /**< \brief (AC_CTRLB) Comparator 0 Start Comparison */ +#define AC_CTRLB_START0 (_U_(1) << AC_CTRLB_START0_Pos) +#define AC_CTRLB_START1_Pos 1 /**< \brief (AC_CTRLB) Comparator 1 Start Comparison */ +#define AC_CTRLB_START1 (_U_(1) << AC_CTRLB_START1_Pos) +#define AC_CTRLB_START_Pos 0 /**< \brief (AC_CTRLB) Comparator x Start Comparison */ +#define AC_CTRLB_START_Msk (_U_(0x3) << AC_CTRLB_START_Pos) +#define AC_CTRLB_START(value) (AC_CTRLB_START_Msk & ((value) << AC_CTRLB_START_Pos)) +#define AC_CTRLB_MASK _U_(0x03) /**< \brief (AC_CTRLB) MASK Register */ + +/* -------- AC_EVCTRL : (AC Offset: 0x02) (R/W 16) Event Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t COMPEO0:1; /*!< bit: 0 Comparator 0 Event Output Enable */ + uint16_t COMPEO1:1; /*!< bit: 1 Comparator 1 Event Output Enable */ + uint16_t :2; /*!< bit: 2.. 3 Reserved */ + uint16_t WINEO0:1; /*!< bit: 4 Window 0 Event Output Enable */ + uint16_t :3; /*!< bit: 5.. 7 Reserved */ + uint16_t COMPEI0:1; /*!< bit: 8 Comparator 0 Event Input Enable */ + uint16_t COMPEI1:1; /*!< bit: 9 Comparator 1 Event Input Enable */ + uint16_t :2; /*!< bit: 10..11 Reserved */ + uint16_t INVEI0:1; /*!< bit: 12 Comparator 0 Input Event Invert Enable */ + uint16_t INVEI1:1; /*!< bit: 13 Comparator 1 Input Event Invert Enable */ + uint16_t :2; /*!< bit: 14..15 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint16_t COMPEO:2; /*!< bit: 0.. 1 Comparator x Event Output Enable */ + uint16_t :2; /*!< bit: 2.. 3 Reserved */ + uint16_t WINEO:1; /*!< bit: 4 Window x Event Output Enable */ + uint16_t :3; /*!< bit: 5.. 7 Reserved */ + uint16_t COMPEI:2; /*!< bit: 8.. 9 Comparator x Event Input Enable */ + uint16_t :2; /*!< bit: 10..11 Reserved */ + uint16_t INVEI:2; /*!< bit: 12..13 Comparator x Input Event Invert Enable */ + uint16_t :2; /*!< bit: 14..15 Reserved */ + } vec; /*!< Structure used for vec access */ + uint16_t reg; /*!< Type used for register access */ +} AC_EVCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_EVCTRL_OFFSET 0x02 /**< \brief (AC_EVCTRL offset) Event Control */ +#define AC_EVCTRL_RESETVALUE _U_(0x0000) /**< \brief (AC_EVCTRL reset_value) Event Control */ + +#define AC_EVCTRL_COMPEO0_Pos 0 /**< \brief (AC_EVCTRL) Comparator 0 Event Output Enable */ +#define AC_EVCTRL_COMPEO0 (_U_(1) << AC_EVCTRL_COMPEO0_Pos) +#define AC_EVCTRL_COMPEO1_Pos 1 /**< \brief (AC_EVCTRL) Comparator 1 Event Output Enable */ +#define AC_EVCTRL_COMPEO1 (_U_(1) << AC_EVCTRL_COMPEO1_Pos) +#define AC_EVCTRL_COMPEO_Pos 0 /**< \brief (AC_EVCTRL) Comparator x Event Output Enable */ +#define AC_EVCTRL_COMPEO_Msk (_U_(0x3) << AC_EVCTRL_COMPEO_Pos) +#define AC_EVCTRL_COMPEO(value) (AC_EVCTRL_COMPEO_Msk & ((value) << AC_EVCTRL_COMPEO_Pos)) +#define AC_EVCTRL_WINEO0_Pos 4 /**< \brief (AC_EVCTRL) Window 0 Event Output Enable */ +#define AC_EVCTRL_WINEO0 (_U_(1) << AC_EVCTRL_WINEO0_Pos) +#define AC_EVCTRL_WINEO_Pos 4 /**< \brief (AC_EVCTRL) Window x Event Output Enable */ +#define AC_EVCTRL_WINEO_Msk (_U_(0x1) << AC_EVCTRL_WINEO_Pos) +#define AC_EVCTRL_WINEO(value) (AC_EVCTRL_WINEO_Msk & ((value) << AC_EVCTRL_WINEO_Pos)) +#define AC_EVCTRL_COMPEI0_Pos 8 /**< \brief (AC_EVCTRL) Comparator 0 Event Input Enable */ +#define AC_EVCTRL_COMPEI0 (_U_(1) << AC_EVCTRL_COMPEI0_Pos) +#define AC_EVCTRL_COMPEI1_Pos 9 /**< \brief (AC_EVCTRL) Comparator 1 Event Input Enable */ +#define AC_EVCTRL_COMPEI1 (_U_(1) << AC_EVCTRL_COMPEI1_Pos) +#define AC_EVCTRL_COMPEI_Pos 8 /**< \brief (AC_EVCTRL) Comparator x Event Input Enable */ +#define AC_EVCTRL_COMPEI_Msk (_U_(0x3) << AC_EVCTRL_COMPEI_Pos) +#define AC_EVCTRL_COMPEI(value) (AC_EVCTRL_COMPEI_Msk & ((value) << AC_EVCTRL_COMPEI_Pos)) +#define AC_EVCTRL_INVEI0_Pos 12 /**< \brief (AC_EVCTRL) Comparator 0 Input Event Invert Enable */ +#define AC_EVCTRL_INVEI0 (_U_(1) << AC_EVCTRL_INVEI0_Pos) +#define AC_EVCTRL_INVEI1_Pos 13 /**< \brief (AC_EVCTRL) Comparator 1 Input Event Invert Enable */ +#define AC_EVCTRL_INVEI1 (_U_(1) << AC_EVCTRL_INVEI1_Pos) +#define AC_EVCTRL_INVEI_Pos 12 /**< \brief (AC_EVCTRL) Comparator x Input Event Invert Enable */ +#define AC_EVCTRL_INVEI_Msk (_U_(0x3) << AC_EVCTRL_INVEI_Pos) +#define AC_EVCTRL_INVEI(value) (AC_EVCTRL_INVEI_Msk & ((value) << AC_EVCTRL_INVEI_Pos)) +#define AC_EVCTRL_MASK _U_(0x3313) /**< \brief (AC_EVCTRL) MASK Register */ + +/* -------- AC_INTENCLR : (AC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t COMP0:1; /*!< bit: 0 Comparator 0 Interrupt Enable */ + uint8_t COMP1:1; /*!< bit: 1 Comparator 1 Interrupt Enable */ + uint8_t :2; /*!< bit: 2.. 3 Reserved */ + uint8_t WIN0:1; /*!< bit: 4 Window 0 Interrupt Enable */ + uint8_t :3; /*!< bit: 5.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t COMP:2; /*!< bit: 0.. 1 Comparator x Interrupt Enable */ + uint8_t :2; /*!< bit: 2.. 3 Reserved */ + uint8_t WIN:1; /*!< bit: 4 Window x Interrupt Enable */ + uint8_t :3; /*!< bit: 5.. 7 Reserved */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} AC_INTENCLR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_INTENCLR_OFFSET 0x04 /**< \brief (AC_INTENCLR offset) Interrupt Enable Clear */ +#define AC_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (AC_INTENCLR reset_value) Interrupt Enable Clear */ + +#define AC_INTENCLR_COMP0_Pos 0 /**< \brief (AC_INTENCLR) Comparator 0 Interrupt Enable */ +#define AC_INTENCLR_COMP0 (_U_(1) << AC_INTENCLR_COMP0_Pos) +#define AC_INTENCLR_COMP1_Pos 1 /**< \brief (AC_INTENCLR) Comparator 1 Interrupt Enable */ +#define AC_INTENCLR_COMP1 (_U_(1) << AC_INTENCLR_COMP1_Pos) +#define AC_INTENCLR_COMP_Pos 0 /**< \brief (AC_INTENCLR) Comparator x Interrupt Enable */ +#define AC_INTENCLR_COMP_Msk (_U_(0x3) << AC_INTENCLR_COMP_Pos) +#define AC_INTENCLR_COMP(value) (AC_INTENCLR_COMP_Msk & ((value) << AC_INTENCLR_COMP_Pos)) +#define AC_INTENCLR_WIN0_Pos 4 /**< \brief (AC_INTENCLR) Window 0 Interrupt Enable */ +#define AC_INTENCLR_WIN0 (_U_(1) << AC_INTENCLR_WIN0_Pos) +#define AC_INTENCLR_WIN_Pos 4 /**< \brief (AC_INTENCLR) Window x Interrupt Enable */ +#define AC_INTENCLR_WIN_Msk (_U_(0x1) << AC_INTENCLR_WIN_Pos) +#define AC_INTENCLR_WIN(value) (AC_INTENCLR_WIN_Msk & ((value) << AC_INTENCLR_WIN_Pos)) +#define AC_INTENCLR_MASK _U_(0x13) /**< \brief (AC_INTENCLR) MASK Register */ + +/* -------- AC_INTENSET : (AC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t COMP0:1; /*!< bit: 0 Comparator 0 Interrupt Enable */ + uint8_t COMP1:1; /*!< bit: 1 Comparator 1 Interrupt Enable */ + uint8_t :2; /*!< bit: 2.. 3 Reserved */ + uint8_t WIN0:1; /*!< bit: 4 Window 0 Interrupt Enable */ + uint8_t :3; /*!< bit: 5.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t COMP:2; /*!< bit: 0.. 1 Comparator x Interrupt Enable */ + uint8_t :2; /*!< bit: 2.. 3 Reserved */ + uint8_t WIN:1; /*!< bit: 4 Window x Interrupt Enable */ + uint8_t :3; /*!< bit: 5.. 7 Reserved */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} AC_INTENSET_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_INTENSET_OFFSET 0x05 /**< \brief (AC_INTENSET offset) Interrupt Enable Set */ +#define AC_INTENSET_RESETVALUE _U_(0x00) /**< \brief (AC_INTENSET reset_value) Interrupt Enable Set */ + +#define AC_INTENSET_COMP0_Pos 0 /**< \brief (AC_INTENSET) Comparator 0 Interrupt Enable */ +#define AC_INTENSET_COMP0 (_U_(1) << AC_INTENSET_COMP0_Pos) +#define AC_INTENSET_COMP1_Pos 1 /**< \brief (AC_INTENSET) Comparator 1 Interrupt Enable */ +#define AC_INTENSET_COMP1 (_U_(1) << AC_INTENSET_COMP1_Pos) +#define AC_INTENSET_COMP_Pos 0 /**< \brief (AC_INTENSET) Comparator x Interrupt Enable */ +#define AC_INTENSET_COMP_Msk (_U_(0x3) << AC_INTENSET_COMP_Pos) +#define AC_INTENSET_COMP(value) (AC_INTENSET_COMP_Msk & ((value) << AC_INTENSET_COMP_Pos)) +#define AC_INTENSET_WIN0_Pos 4 /**< \brief (AC_INTENSET) Window 0 Interrupt Enable */ +#define AC_INTENSET_WIN0 (_U_(1) << AC_INTENSET_WIN0_Pos) +#define AC_INTENSET_WIN_Pos 4 /**< \brief (AC_INTENSET) Window x Interrupt Enable */ +#define AC_INTENSET_WIN_Msk (_U_(0x1) << AC_INTENSET_WIN_Pos) +#define AC_INTENSET_WIN(value) (AC_INTENSET_WIN_Msk & ((value) << AC_INTENSET_WIN_Pos)) +#define AC_INTENSET_MASK _U_(0x13) /**< \brief (AC_INTENSET) MASK Register */ + +/* -------- AC_INTFLAG : (AC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { // __I to avoid read-modify-write on write-to-clear register + struct { + __I uint8_t COMP0:1; /*!< bit: 0 Comparator 0 */ + __I uint8_t COMP1:1; /*!< bit: 1 Comparator 1 */ + __I uint8_t :2; /*!< bit: 2.. 3 Reserved */ + __I uint8_t WIN0:1; /*!< bit: 4 Window 0 */ + __I uint8_t :3; /*!< bit: 5.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + __I uint8_t COMP:2; /*!< bit: 0.. 1 Comparator x */ + __I uint8_t :2; /*!< bit: 2.. 3 Reserved */ + __I uint8_t WIN:1; /*!< bit: 4 Window x */ + __I uint8_t :3; /*!< bit: 5.. 7 Reserved */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} AC_INTFLAG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_INTFLAG_OFFSET 0x06 /**< \brief (AC_INTFLAG offset) Interrupt Flag Status and Clear */ +#define AC_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (AC_INTFLAG reset_value) Interrupt Flag Status and Clear */ + +#define AC_INTFLAG_COMP0_Pos 0 /**< \brief (AC_INTFLAG) Comparator 0 */ +#define AC_INTFLAG_COMP0 (_U_(1) << AC_INTFLAG_COMP0_Pos) +#define AC_INTFLAG_COMP1_Pos 1 /**< \brief (AC_INTFLAG) Comparator 1 */ +#define AC_INTFLAG_COMP1 (_U_(1) << AC_INTFLAG_COMP1_Pos) +#define AC_INTFLAG_COMP_Pos 0 /**< \brief (AC_INTFLAG) Comparator x */ +#define AC_INTFLAG_COMP_Msk (_U_(0x3) << AC_INTFLAG_COMP_Pos) +#define AC_INTFLAG_COMP(value) (AC_INTFLAG_COMP_Msk & ((value) << AC_INTFLAG_COMP_Pos)) +#define AC_INTFLAG_WIN0_Pos 4 /**< \brief (AC_INTFLAG) Window 0 */ +#define AC_INTFLAG_WIN0 (_U_(1) << AC_INTFLAG_WIN0_Pos) +#define AC_INTFLAG_WIN_Pos 4 /**< \brief (AC_INTFLAG) Window x */ +#define AC_INTFLAG_WIN_Msk (_U_(0x1) << AC_INTFLAG_WIN_Pos) +#define AC_INTFLAG_WIN(value) (AC_INTFLAG_WIN_Msk & ((value) << AC_INTFLAG_WIN_Pos)) +#define AC_INTFLAG_MASK _U_(0x13) /**< \brief (AC_INTFLAG) MASK Register */ + +/* -------- AC_STATUSA : (AC Offset: 0x07) (R/ 8) Status A -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t STATE0:1; /*!< bit: 0 Comparator 0 Current State */ + uint8_t STATE1:1; /*!< bit: 1 Comparator 1 Current State */ + uint8_t :2; /*!< bit: 2.. 3 Reserved */ + uint8_t WSTATE0:2; /*!< bit: 4.. 5 Window 0 Current State */ + uint8_t :2; /*!< bit: 6.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t STATE:2; /*!< bit: 0.. 1 Comparator x Current State */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} AC_STATUSA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_STATUSA_OFFSET 0x07 /**< \brief (AC_STATUSA offset) Status A */ +#define AC_STATUSA_RESETVALUE _U_(0x00) /**< \brief (AC_STATUSA reset_value) Status A */ + +#define AC_STATUSA_STATE0_Pos 0 /**< \brief (AC_STATUSA) Comparator 0 Current State */ +#define AC_STATUSA_STATE0 (_U_(1) << AC_STATUSA_STATE0_Pos) +#define AC_STATUSA_STATE1_Pos 1 /**< \brief (AC_STATUSA) Comparator 1 Current State */ +#define AC_STATUSA_STATE1 (_U_(1) << AC_STATUSA_STATE1_Pos) +#define AC_STATUSA_STATE_Pos 0 /**< \brief (AC_STATUSA) Comparator x Current State */ +#define AC_STATUSA_STATE_Msk (_U_(0x3) << AC_STATUSA_STATE_Pos) +#define AC_STATUSA_STATE(value) (AC_STATUSA_STATE_Msk & ((value) << AC_STATUSA_STATE_Pos)) +#define AC_STATUSA_WSTATE0_Pos 4 /**< \brief (AC_STATUSA) Window 0 Current State */ +#define AC_STATUSA_WSTATE0_Msk (_U_(0x3) << AC_STATUSA_WSTATE0_Pos) +#define AC_STATUSA_WSTATE0(value) (AC_STATUSA_WSTATE0_Msk & ((value) << AC_STATUSA_WSTATE0_Pos)) +#define AC_STATUSA_WSTATE0_ABOVE_Val _U_(0x0) /**< \brief (AC_STATUSA) Signal is above window */ +#define AC_STATUSA_WSTATE0_INSIDE_Val _U_(0x1) /**< \brief (AC_STATUSA) Signal is inside window */ +#define AC_STATUSA_WSTATE0_BELOW_Val _U_(0x2) /**< \brief (AC_STATUSA) Signal is below window */ +#define AC_STATUSA_WSTATE0_ABOVE (AC_STATUSA_WSTATE0_ABOVE_Val << AC_STATUSA_WSTATE0_Pos) +#define AC_STATUSA_WSTATE0_INSIDE (AC_STATUSA_WSTATE0_INSIDE_Val << AC_STATUSA_WSTATE0_Pos) +#define AC_STATUSA_WSTATE0_BELOW (AC_STATUSA_WSTATE0_BELOW_Val << AC_STATUSA_WSTATE0_Pos) +#define AC_STATUSA_MASK _U_(0x33) /**< \brief (AC_STATUSA) MASK Register */ + +/* -------- AC_STATUSB : (AC Offset: 0x08) (R/ 8) Status B -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t READY0:1; /*!< bit: 0 Comparator 0 Ready */ + uint8_t READY1:1; /*!< bit: 1 Comparator 1 Ready */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t READY:2; /*!< bit: 0.. 1 Comparator x Ready */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} AC_STATUSB_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_STATUSB_OFFSET 0x08 /**< \brief (AC_STATUSB offset) Status B */ +#define AC_STATUSB_RESETVALUE _U_(0x00) /**< \brief (AC_STATUSB reset_value) Status B */ + +#define AC_STATUSB_READY0_Pos 0 /**< \brief (AC_STATUSB) Comparator 0 Ready */ +#define AC_STATUSB_READY0 (_U_(1) << AC_STATUSB_READY0_Pos) +#define AC_STATUSB_READY1_Pos 1 /**< \brief (AC_STATUSB) Comparator 1 Ready */ +#define AC_STATUSB_READY1 (_U_(1) << AC_STATUSB_READY1_Pos) +#define AC_STATUSB_READY_Pos 0 /**< \brief (AC_STATUSB) Comparator x Ready */ +#define AC_STATUSB_READY_Msk (_U_(0x3) << AC_STATUSB_READY_Pos) +#define AC_STATUSB_READY(value) (AC_STATUSB_READY_Msk & ((value) << AC_STATUSB_READY_Pos)) +#define AC_STATUSB_MASK _U_(0x03) /**< \brief (AC_STATUSB) MASK Register */ + +/* -------- AC_DBGCTRL : (AC Offset: 0x09) (R/W 8) Debug Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ + uint8_t :7; /*!< bit: 1.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AC_DBGCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_DBGCTRL_OFFSET 0x09 /**< \brief (AC_DBGCTRL offset) Debug Control */ +#define AC_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (AC_DBGCTRL reset_value) Debug Control */ + +#define AC_DBGCTRL_DBGRUN_Pos 0 /**< \brief (AC_DBGCTRL) Debug Run */ +#define AC_DBGCTRL_DBGRUN (_U_(0x1) << AC_DBGCTRL_DBGRUN_Pos) +#define AC_DBGCTRL_MASK _U_(0x01) /**< \brief (AC_DBGCTRL) MASK Register */ + +/* -------- AC_WINCTRL : (AC Offset: 0x0A) (R/W 8) Window Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t WEN0:1; /*!< bit: 0 Window 0 Mode Enable */ + uint8_t WINTSEL0:2; /*!< bit: 1.. 2 Window 0 Interrupt Selection */ + uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AC_WINCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_WINCTRL_OFFSET 0x0A /**< \brief (AC_WINCTRL offset) Window Control */ +#define AC_WINCTRL_RESETVALUE _U_(0x00) /**< \brief (AC_WINCTRL reset_value) Window Control */ + +#define AC_WINCTRL_WEN0_Pos 0 /**< \brief (AC_WINCTRL) Window 0 Mode Enable */ +#define AC_WINCTRL_WEN0 (_U_(0x1) << AC_WINCTRL_WEN0_Pos) +#define AC_WINCTRL_WINTSEL0_Pos 1 /**< \brief (AC_WINCTRL) Window 0 Interrupt Selection */ +#define AC_WINCTRL_WINTSEL0_Msk (_U_(0x3) << AC_WINCTRL_WINTSEL0_Pos) +#define AC_WINCTRL_WINTSEL0(value) (AC_WINCTRL_WINTSEL0_Msk & ((value) << AC_WINCTRL_WINTSEL0_Pos)) +#define AC_WINCTRL_WINTSEL0_ABOVE_Val _U_(0x0) /**< \brief (AC_WINCTRL) Interrupt on signal above window */ +#define AC_WINCTRL_WINTSEL0_INSIDE_Val _U_(0x1) /**< \brief (AC_WINCTRL) Interrupt on signal inside window */ +#define AC_WINCTRL_WINTSEL0_BELOW_Val _U_(0x2) /**< \brief (AC_WINCTRL) Interrupt on signal below window */ +#define AC_WINCTRL_WINTSEL0_OUTSIDE_Val _U_(0x3) /**< \brief (AC_WINCTRL) Interrupt on signal outside window */ +#define AC_WINCTRL_WINTSEL0_ABOVE (AC_WINCTRL_WINTSEL0_ABOVE_Val << AC_WINCTRL_WINTSEL0_Pos) +#define AC_WINCTRL_WINTSEL0_INSIDE (AC_WINCTRL_WINTSEL0_INSIDE_Val << AC_WINCTRL_WINTSEL0_Pos) +#define AC_WINCTRL_WINTSEL0_BELOW (AC_WINCTRL_WINTSEL0_BELOW_Val << AC_WINCTRL_WINTSEL0_Pos) +#define AC_WINCTRL_WINTSEL0_OUTSIDE (AC_WINCTRL_WINTSEL0_OUTSIDE_Val << AC_WINCTRL_WINTSEL0_Pos) +#define AC_WINCTRL_MASK _U_(0x07) /**< \brief (AC_WINCTRL) MASK Register */ + +/* -------- AC_SCALER : (AC Offset: 0x0C) (R/W 8) Scaler n -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t VALUE:6; /*!< bit: 0.. 5 Scaler Value */ + uint8_t :2; /*!< bit: 6.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AC_SCALER_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_SCALER_OFFSET 0x0C /**< \brief (AC_SCALER offset) Scaler n */ +#define AC_SCALER_RESETVALUE _U_(0x00) /**< \brief (AC_SCALER reset_value) Scaler n */ + +#define AC_SCALER_VALUE_Pos 0 /**< \brief (AC_SCALER) Scaler Value */ +#define AC_SCALER_VALUE_Msk (_U_(0x3F) << AC_SCALER_VALUE_Pos) +#define AC_SCALER_VALUE(value) (AC_SCALER_VALUE_Msk & ((value) << AC_SCALER_VALUE_Pos)) +#define AC_SCALER_MASK _U_(0x3F) /**< \brief (AC_SCALER) MASK Register */ + +/* -------- AC_COMPCTRL : (AC Offset: 0x10) (R/W 32) Comparator Control n -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t :1; /*!< bit: 0 Reserved */ + uint32_t ENABLE:1; /*!< bit: 1 Enable */ + uint32_t SINGLE:1; /*!< bit: 2 Single-Shot Mode */ + uint32_t INTSEL:2; /*!< bit: 3.. 4 Interrupt Selection */ + uint32_t :1; /*!< bit: 5 Reserved */ + uint32_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */ + uint32_t :1; /*!< bit: 7 Reserved */ + uint32_t MUXNEG:3; /*!< bit: 8..10 Negative Input Mux Selection */ + uint32_t :1; /*!< bit: 11 Reserved */ + uint32_t MUXPOS:3; /*!< bit: 12..14 Positive Input Mux Selection */ + uint32_t SWAP:1; /*!< bit: 15 Swap Inputs and Invert */ + uint32_t SPEED:2; /*!< bit: 16..17 Speed Selection */ + uint32_t :1; /*!< bit: 18 Reserved */ + uint32_t HYSTEN:1; /*!< bit: 19 Hysteresis Enable */ + uint32_t HYST:2; /*!< bit: 20..21 Hysteresis Level */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t FLEN:3; /*!< bit: 24..26 Filter Length */ + uint32_t :1; /*!< bit: 27 Reserved */ + uint32_t OUT:2; /*!< bit: 28..29 Output */ + uint32_t :2; /*!< bit: 30..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} AC_COMPCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_COMPCTRL_OFFSET 0x10 /**< \brief (AC_COMPCTRL offset) Comparator Control n */ +#define AC_COMPCTRL_RESETVALUE _U_(0x00000000) /**< \brief (AC_COMPCTRL reset_value) Comparator Control n */ + +#define AC_COMPCTRL_ENABLE_Pos 1 /**< \brief (AC_COMPCTRL) Enable */ +#define AC_COMPCTRL_ENABLE (_U_(0x1) << AC_COMPCTRL_ENABLE_Pos) +#define AC_COMPCTRL_SINGLE_Pos 2 /**< \brief (AC_COMPCTRL) Single-Shot Mode */ +#define AC_COMPCTRL_SINGLE (_U_(0x1) << AC_COMPCTRL_SINGLE_Pos) +#define AC_COMPCTRL_INTSEL_Pos 3 /**< \brief (AC_COMPCTRL) Interrupt Selection */ +#define AC_COMPCTRL_INTSEL_Msk (_U_(0x3) << AC_COMPCTRL_INTSEL_Pos) +#define AC_COMPCTRL_INTSEL(value) (AC_COMPCTRL_INTSEL_Msk & ((value) << AC_COMPCTRL_INTSEL_Pos)) +#define AC_COMPCTRL_INTSEL_TOGGLE_Val _U_(0x0) /**< \brief (AC_COMPCTRL) Interrupt on comparator output toggle */ +#define AC_COMPCTRL_INTSEL_RISING_Val _U_(0x1) /**< \brief (AC_COMPCTRL) Interrupt on comparator output rising */ +#define AC_COMPCTRL_INTSEL_FALLING_Val _U_(0x2) /**< \brief (AC_COMPCTRL) Interrupt on comparator output falling */ +#define AC_COMPCTRL_INTSEL_EOC_Val _U_(0x3) /**< \brief (AC_COMPCTRL) Interrupt on end of comparison (single-shot mode only) */ +#define AC_COMPCTRL_INTSEL_TOGGLE (AC_COMPCTRL_INTSEL_TOGGLE_Val << AC_COMPCTRL_INTSEL_Pos) +#define AC_COMPCTRL_INTSEL_RISING (AC_COMPCTRL_INTSEL_RISING_Val << AC_COMPCTRL_INTSEL_Pos) +#define AC_COMPCTRL_INTSEL_FALLING (AC_COMPCTRL_INTSEL_FALLING_Val << AC_COMPCTRL_INTSEL_Pos) +#define AC_COMPCTRL_INTSEL_EOC (AC_COMPCTRL_INTSEL_EOC_Val << AC_COMPCTRL_INTSEL_Pos) +#define AC_COMPCTRL_RUNSTDBY_Pos 6 /**< \brief (AC_COMPCTRL) Run in Standby */ +#define AC_COMPCTRL_RUNSTDBY (_U_(0x1) << AC_COMPCTRL_RUNSTDBY_Pos) +#define AC_COMPCTRL_MUXNEG_Pos 8 /**< \brief (AC_COMPCTRL) Negative Input Mux Selection */ +#define AC_COMPCTRL_MUXNEG_Msk (_U_(0x7) << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXNEG(value) (AC_COMPCTRL_MUXNEG_Msk & ((value) << AC_COMPCTRL_MUXNEG_Pos)) +#define AC_COMPCTRL_MUXNEG_PIN0_Val _U_(0x0) /**< \brief (AC_COMPCTRL) I/O pin 0 */ +#define AC_COMPCTRL_MUXNEG_PIN1_Val _U_(0x1) /**< \brief (AC_COMPCTRL) I/O pin 1 */ +#define AC_COMPCTRL_MUXNEG_PIN2_Val _U_(0x2) /**< \brief (AC_COMPCTRL) I/O pin 2 */ +#define AC_COMPCTRL_MUXNEG_PIN3_Val _U_(0x3) /**< \brief (AC_COMPCTRL) I/O pin 3 */ +#define AC_COMPCTRL_MUXNEG_GND_Val _U_(0x4) /**< \brief (AC_COMPCTRL) Ground */ +#define AC_COMPCTRL_MUXNEG_VSCALE_Val _U_(0x5) /**< \brief (AC_COMPCTRL) VDD scaler */ +#define AC_COMPCTRL_MUXNEG_BANDGAP_Val _U_(0x6) /**< \brief (AC_COMPCTRL) Internal bandgap voltage */ +#define AC_COMPCTRL_MUXNEG_DAC_Val _U_(0x7) /**< \brief (AC_COMPCTRL) DAC output */ +#define AC_COMPCTRL_MUXNEG_PIN0 (AC_COMPCTRL_MUXNEG_PIN0_Val << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXNEG_PIN1 (AC_COMPCTRL_MUXNEG_PIN1_Val << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXNEG_PIN2 (AC_COMPCTRL_MUXNEG_PIN2_Val << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXNEG_PIN3 (AC_COMPCTRL_MUXNEG_PIN3_Val << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXNEG_GND (AC_COMPCTRL_MUXNEG_GND_Val << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXNEG_VSCALE (AC_COMPCTRL_MUXNEG_VSCALE_Val << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXNEG_BANDGAP (AC_COMPCTRL_MUXNEG_BANDGAP_Val << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXNEG_DAC (AC_COMPCTRL_MUXNEG_DAC_Val << AC_COMPCTRL_MUXNEG_Pos) +#define AC_COMPCTRL_MUXPOS_Pos 12 /**< \brief (AC_COMPCTRL) Positive Input Mux Selection */ +#define AC_COMPCTRL_MUXPOS_Msk (_U_(0x7) << AC_COMPCTRL_MUXPOS_Pos) +#define AC_COMPCTRL_MUXPOS(value) (AC_COMPCTRL_MUXPOS_Msk & ((value) << AC_COMPCTRL_MUXPOS_Pos)) +#define AC_COMPCTRL_MUXPOS_PIN0_Val _U_(0x0) /**< \brief (AC_COMPCTRL) I/O pin 0 */ +#define AC_COMPCTRL_MUXPOS_PIN1_Val _U_(0x1) /**< \brief (AC_COMPCTRL) I/O pin 1 */ +#define AC_COMPCTRL_MUXPOS_PIN2_Val _U_(0x2) /**< \brief (AC_COMPCTRL) I/O pin 2 */ +#define AC_COMPCTRL_MUXPOS_PIN3_Val _U_(0x3) /**< \brief (AC_COMPCTRL) I/O pin 3 */ +#define AC_COMPCTRL_MUXPOS_VSCALE_Val _U_(0x4) /**< \brief (AC_COMPCTRL) VDD Scaler */ +#define AC_COMPCTRL_MUXPOS_PIN0 (AC_COMPCTRL_MUXPOS_PIN0_Val << AC_COMPCTRL_MUXPOS_Pos) +#define AC_COMPCTRL_MUXPOS_PIN1 (AC_COMPCTRL_MUXPOS_PIN1_Val << AC_COMPCTRL_MUXPOS_Pos) +#define AC_COMPCTRL_MUXPOS_PIN2 (AC_COMPCTRL_MUXPOS_PIN2_Val << AC_COMPCTRL_MUXPOS_Pos) +#define AC_COMPCTRL_MUXPOS_PIN3 (AC_COMPCTRL_MUXPOS_PIN3_Val << AC_COMPCTRL_MUXPOS_Pos) +#define AC_COMPCTRL_MUXPOS_VSCALE (AC_COMPCTRL_MUXPOS_VSCALE_Val << AC_COMPCTRL_MUXPOS_Pos) +#define AC_COMPCTRL_SWAP_Pos 15 /**< \brief (AC_COMPCTRL) Swap Inputs and Invert */ +#define AC_COMPCTRL_SWAP (_U_(0x1) << AC_COMPCTRL_SWAP_Pos) +#define AC_COMPCTRL_SPEED_Pos 16 /**< \brief (AC_COMPCTRL) Speed Selection */ +#define AC_COMPCTRL_SPEED_Msk (_U_(0x3) << AC_COMPCTRL_SPEED_Pos) +#define AC_COMPCTRL_SPEED(value) (AC_COMPCTRL_SPEED_Msk & ((value) << AC_COMPCTRL_SPEED_Pos)) +#define AC_COMPCTRL_SPEED_HIGH_Val _U_(0x3) /**< \brief (AC_COMPCTRL) High speed */ +#define AC_COMPCTRL_SPEED_HIGH (AC_COMPCTRL_SPEED_HIGH_Val << AC_COMPCTRL_SPEED_Pos) +#define AC_COMPCTRL_HYSTEN_Pos 19 /**< \brief (AC_COMPCTRL) Hysteresis Enable */ +#define AC_COMPCTRL_HYSTEN (_U_(0x1) << AC_COMPCTRL_HYSTEN_Pos) +#define AC_COMPCTRL_HYST_Pos 20 /**< \brief (AC_COMPCTRL) Hysteresis Level */ +#define AC_COMPCTRL_HYST_Msk (_U_(0x3) << AC_COMPCTRL_HYST_Pos) +#define AC_COMPCTRL_HYST(value) (AC_COMPCTRL_HYST_Msk & ((value) << AC_COMPCTRL_HYST_Pos)) +#define AC_COMPCTRL_HYST_HYST50_Val _U_(0x0) /**< \brief (AC_COMPCTRL) 50mV */ +#define AC_COMPCTRL_HYST_HYST100_Val _U_(0x1) /**< \brief (AC_COMPCTRL) 100mV */ +#define AC_COMPCTRL_HYST_HYST150_Val _U_(0x2) /**< \brief (AC_COMPCTRL) 150mV */ +#define AC_COMPCTRL_HYST_HYST50 (AC_COMPCTRL_HYST_HYST50_Val << AC_COMPCTRL_HYST_Pos) +#define AC_COMPCTRL_HYST_HYST100 (AC_COMPCTRL_HYST_HYST100_Val << AC_COMPCTRL_HYST_Pos) +#define AC_COMPCTRL_HYST_HYST150 (AC_COMPCTRL_HYST_HYST150_Val << AC_COMPCTRL_HYST_Pos) +#define AC_COMPCTRL_FLEN_Pos 24 /**< \brief (AC_COMPCTRL) Filter Length */ +#define AC_COMPCTRL_FLEN_Msk (_U_(0x7) << AC_COMPCTRL_FLEN_Pos) +#define AC_COMPCTRL_FLEN(value) (AC_COMPCTRL_FLEN_Msk & ((value) << AC_COMPCTRL_FLEN_Pos)) +#define AC_COMPCTRL_FLEN_OFF_Val _U_(0x0) /**< \brief (AC_COMPCTRL) No filtering */ +#define AC_COMPCTRL_FLEN_MAJ3_Val _U_(0x1) /**< \brief (AC_COMPCTRL) 3-bit majority function (2 of 3) */ +#define AC_COMPCTRL_FLEN_MAJ5_Val _U_(0x2) /**< \brief (AC_COMPCTRL) 5-bit majority function (3 of 5) */ +#define AC_COMPCTRL_FLEN_OFF (AC_COMPCTRL_FLEN_OFF_Val << AC_COMPCTRL_FLEN_Pos) +#define AC_COMPCTRL_FLEN_MAJ3 (AC_COMPCTRL_FLEN_MAJ3_Val << AC_COMPCTRL_FLEN_Pos) +#define AC_COMPCTRL_FLEN_MAJ5 (AC_COMPCTRL_FLEN_MAJ5_Val << AC_COMPCTRL_FLEN_Pos) +#define AC_COMPCTRL_OUT_Pos 28 /**< \brief (AC_COMPCTRL) Output */ +#define AC_COMPCTRL_OUT_Msk (_U_(0x3) << AC_COMPCTRL_OUT_Pos) +#define AC_COMPCTRL_OUT(value) (AC_COMPCTRL_OUT_Msk & ((value) << AC_COMPCTRL_OUT_Pos)) +#define AC_COMPCTRL_OUT_OFF_Val _U_(0x0) /**< \brief (AC_COMPCTRL) The output of COMPn is not routed to the COMPn I/O port */ +#define AC_COMPCTRL_OUT_ASYNC_Val _U_(0x1) /**< \brief (AC_COMPCTRL) The asynchronous output of COMPn is routed to the COMPn I/O port */ +#define AC_COMPCTRL_OUT_SYNC_Val _U_(0x2) /**< \brief (AC_COMPCTRL) The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port */ +#define AC_COMPCTRL_OUT_OFF (AC_COMPCTRL_OUT_OFF_Val << AC_COMPCTRL_OUT_Pos) +#define AC_COMPCTRL_OUT_ASYNC (AC_COMPCTRL_OUT_ASYNC_Val << AC_COMPCTRL_OUT_Pos) +#define AC_COMPCTRL_OUT_SYNC (AC_COMPCTRL_OUT_SYNC_Val << AC_COMPCTRL_OUT_Pos) +#define AC_COMPCTRL_MASK _U_(0x373BF75E) /**< \brief (AC_COMPCTRL) MASK Register */ + +/* -------- AC_SYNCBUSY : (AC Offset: 0x20) (R/ 32) Synchronization Busy -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t SWRST:1; /*!< bit: 0 Software Reset Synchronization Busy */ + uint32_t ENABLE:1; /*!< bit: 1 Enable Synchronization Busy */ + uint32_t WINCTRL:1; /*!< bit: 2 WINCTRL Synchronization Busy */ + uint32_t COMPCTRL0:1; /*!< bit: 3 COMPCTRL 0 Synchronization Busy */ + uint32_t COMPCTRL1:1; /*!< bit: 4 COMPCTRL 1 Synchronization Busy */ + uint32_t :27; /*!< bit: 5..31 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint32_t :3; /*!< bit: 0.. 2 Reserved */ + uint32_t COMPCTRL:2; /*!< bit: 3.. 4 COMPCTRL x Synchronization Busy */ + uint32_t :27; /*!< bit: 5..31 Reserved */ + } vec; /*!< Structure used for vec access */ + uint32_t reg; /*!< Type used for register access */ +} AC_SYNCBUSY_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_SYNCBUSY_OFFSET 0x20 /**< \brief (AC_SYNCBUSY offset) Synchronization Busy */ +#define AC_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (AC_SYNCBUSY reset_value) Synchronization Busy */ + +#define AC_SYNCBUSY_SWRST_Pos 0 /**< \brief (AC_SYNCBUSY) Software Reset Synchronization Busy */ +#define AC_SYNCBUSY_SWRST (_U_(0x1) << AC_SYNCBUSY_SWRST_Pos) +#define AC_SYNCBUSY_ENABLE_Pos 1 /**< \brief (AC_SYNCBUSY) Enable Synchronization Busy */ +#define AC_SYNCBUSY_ENABLE (_U_(0x1) << AC_SYNCBUSY_ENABLE_Pos) +#define AC_SYNCBUSY_WINCTRL_Pos 2 /**< \brief (AC_SYNCBUSY) WINCTRL Synchronization Busy */ +#define AC_SYNCBUSY_WINCTRL (_U_(0x1) << AC_SYNCBUSY_WINCTRL_Pos) +#define AC_SYNCBUSY_COMPCTRL0_Pos 3 /**< \brief (AC_SYNCBUSY) COMPCTRL 0 Synchronization Busy */ +#define AC_SYNCBUSY_COMPCTRL0 (_U_(1) << AC_SYNCBUSY_COMPCTRL0_Pos) +#define AC_SYNCBUSY_COMPCTRL1_Pos 4 /**< \brief (AC_SYNCBUSY) COMPCTRL 1 Synchronization Busy */ +#define AC_SYNCBUSY_COMPCTRL1 (_U_(1) << AC_SYNCBUSY_COMPCTRL1_Pos) +#define AC_SYNCBUSY_COMPCTRL_Pos 3 /**< \brief (AC_SYNCBUSY) COMPCTRL x Synchronization Busy */ +#define AC_SYNCBUSY_COMPCTRL_Msk (_U_(0x3) << AC_SYNCBUSY_COMPCTRL_Pos) +#define AC_SYNCBUSY_COMPCTRL(value) (AC_SYNCBUSY_COMPCTRL_Msk & ((value) << AC_SYNCBUSY_COMPCTRL_Pos)) +#define AC_SYNCBUSY_MASK _U_(0x0000001F) /**< \brief (AC_SYNCBUSY) MASK Register */ + +/* -------- AC_CALIB : (AC Offset: 0x24) (R/W 16) Calibration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t BIAS0:2; /*!< bit: 0.. 1 COMP0/1 Bias Scaling */ + uint16_t :14; /*!< bit: 2..15 Reserved */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} AC_CALIB_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AC_CALIB_OFFSET 0x24 /**< \brief (AC_CALIB offset) Calibration */ +#define AC_CALIB_RESETVALUE _U_(0x0101) /**< \brief (AC_CALIB reset_value) Calibration */ + +#define AC_CALIB_BIAS0_Pos 0 /**< \brief (AC_CALIB) COMP0/1 Bias Scaling */ +#define AC_CALIB_BIAS0_Msk (_U_(0x3) << AC_CALIB_BIAS0_Pos) +#define AC_CALIB_BIAS0(value) (AC_CALIB_BIAS0_Msk & ((value) << AC_CALIB_BIAS0_Pos)) +#define AC_CALIB_MASK _U_(0x0003) /**< \brief (AC_CALIB) MASK Register */ + +/** \brief AC hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO AC_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 8) Control A */ + __O AC_CTRLB_Type CTRLB; /**< \brief Offset: 0x01 ( /W 8) Control B */ + __IO AC_EVCTRL_Type EVCTRL; /**< \brief Offset: 0x02 (R/W 16) Event Control */ + __IO AC_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x04 (R/W 8) Interrupt Enable Clear */ + __IO AC_INTENSET_Type INTENSET; /**< \brief Offset: 0x05 (R/W 8) Interrupt Enable Set */ + __IO AC_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x06 (R/W 8) Interrupt Flag Status and Clear */ + __I AC_STATUSA_Type STATUSA; /**< \brief Offset: 0x07 (R/ 8) Status A */ + __I AC_STATUSB_Type STATUSB; /**< \brief Offset: 0x08 (R/ 8) Status B */ + __IO AC_DBGCTRL_Type DBGCTRL; /**< \brief Offset: 0x09 (R/W 8) Debug Control */ + __IO AC_WINCTRL_Type WINCTRL; /**< \brief Offset: 0x0A (R/W 8) Window Control */ + RoReg8 Reserved1[0x1]; + __IO AC_SCALER_Type SCALER[2]; /**< \brief Offset: 0x0C (R/W 8) Scaler n */ + RoReg8 Reserved2[0x2]; + __IO AC_COMPCTRL_Type COMPCTRL[2]; /**< \brief Offset: 0x10 (R/W 32) Comparator Control n */ + RoReg8 Reserved3[0x8]; + __I AC_SYNCBUSY_Type SYNCBUSY; /**< \brief Offset: 0x20 (R/ 32) Synchronization Busy */ + __IO AC_CALIB_Type CALIB; /**< \brief Offset: 0x24 (R/W 16) Calibration */ +} Ac; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/*@}*/ + +#endif /* _SAME54_AC_COMPONENT_ */ diff --git a/lib/same54/include/component/adc.h b/lib/same54/include/component/adc.h new file mode 100644 index 00000000..66e14f44 --- /dev/null +++ b/lib/same54/include/component/adc.h @@ -0,0 +1,870 @@ +/** + * \file + * + * \brief Component description for ADC + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_ADC_COMPONENT_ +#define _SAME54_ADC_COMPONENT_ + +/* ========================================================================== */ +/** SOFTWARE API DEFINITION FOR ADC */ +/* ========================================================================== */ +/** \addtogroup SAME54_ADC Analog Digital Converter */ +/*@{*/ + +#define ADC_U2500 +#define REV_ADC 0x100 + +/* -------- ADC_CTRLA : (ADC Offset: 0x00) (R/W 16) Control A -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t SWRST:1; /*!< bit: 0 Software Reset */ + uint16_t ENABLE:1; /*!< bit: 1 Enable */ + uint16_t :1; /*!< bit: 2 Reserved */ + uint16_t DUALSEL:2; /*!< bit: 3.. 4 Dual Mode Trigger Selection */ + uint16_t SLAVEEN:1; /*!< bit: 5 Slave Enable */ + uint16_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */ + uint16_t ONDEMAND:1; /*!< bit: 7 On Demand Control */ + uint16_t PRESCALER:3; /*!< bit: 8..10 Prescaler Configuration */ + uint16_t :4; /*!< bit: 11..14 Reserved */ + uint16_t R2R:1; /*!< bit: 15 Rail to Rail Operation Enable */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_CTRLA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_CTRLA_OFFSET 0x00 /**< \brief (ADC_CTRLA offset) Control A */ +#define ADC_CTRLA_RESETVALUE _U_(0x0000) /**< \brief (ADC_CTRLA reset_value) Control A */ + +#define ADC_CTRLA_SWRST_Pos 0 /**< \brief (ADC_CTRLA) Software Reset */ +#define ADC_CTRLA_SWRST (_U_(0x1) << ADC_CTRLA_SWRST_Pos) +#define ADC_CTRLA_ENABLE_Pos 1 /**< \brief (ADC_CTRLA) Enable */ +#define ADC_CTRLA_ENABLE (_U_(0x1) << ADC_CTRLA_ENABLE_Pos) +#define ADC_CTRLA_DUALSEL_Pos 3 /**< \brief (ADC_CTRLA) Dual Mode Trigger Selection */ +#define ADC_CTRLA_DUALSEL_Msk (_U_(0x3) << ADC_CTRLA_DUALSEL_Pos) +#define ADC_CTRLA_DUALSEL(value) (ADC_CTRLA_DUALSEL_Msk & ((value) << ADC_CTRLA_DUALSEL_Pos)) +#define ADC_CTRLA_DUALSEL_BOTH_Val _U_(0x0) /**< \brief (ADC_CTRLA) Start event or software trigger will start a conversion on both ADCs */ +#define ADC_CTRLA_DUALSEL_INTERLEAVE_Val _U_(0x1) /**< \brief (ADC_CTRLA) START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 */ +#define ADC_CTRLA_DUALSEL_BOTH (ADC_CTRLA_DUALSEL_BOTH_Val << ADC_CTRLA_DUALSEL_Pos) +#define ADC_CTRLA_DUALSEL_INTERLEAVE (ADC_CTRLA_DUALSEL_INTERLEAVE_Val << ADC_CTRLA_DUALSEL_Pos) +#define ADC_CTRLA_SLAVEEN_Pos 5 /**< \brief (ADC_CTRLA) Slave Enable */ +#define ADC_CTRLA_SLAVEEN (_U_(0x1) << ADC_CTRLA_SLAVEEN_Pos) +#define ADC_CTRLA_RUNSTDBY_Pos 6 /**< \brief (ADC_CTRLA) Run in Standby */ +#define ADC_CTRLA_RUNSTDBY (_U_(0x1) << ADC_CTRLA_RUNSTDBY_Pos) +#define ADC_CTRLA_ONDEMAND_Pos 7 /**< \brief (ADC_CTRLA) On Demand Control */ +#define ADC_CTRLA_ONDEMAND (_U_(0x1) << ADC_CTRLA_ONDEMAND_Pos) +#define ADC_CTRLA_PRESCALER_Pos 8 /**< \brief (ADC_CTRLA) Prescaler Configuration */ +#define ADC_CTRLA_PRESCALER_Msk (_U_(0x7) << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_PRESCALER(value) (ADC_CTRLA_PRESCALER_Msk & ((value) << ADC_CTRLA_PRESCALER_Pos)) +#define ADC_CTRLA_PRESCALER_DIV2_Val _U_(0x0) /**< \brief (ADC_CTRLA) Peripheral clock divided by 2 */ +#define ADC_CTRLA_PRESCALER_DIV4_Val _U_(0x1) /**< \brief (ADC_CTRLA) Peripheral clock divided by 4 */ +#define ADC_CTRLA_PRESCALER_DIV8_Val _U_(0x2) /**< \brief (ADC_CTRLA) Peripheral clock divided by 8 */ +#define ADC_CTRLA_PRESCALER_DIV16_Val _U_(0x3) /**< \brief (ADC_CTRLA) Peripheral clock divided by 16 */ +#define ADC_CTRLA_PRESCALER_DIV32_Val _U_(0x4) /**< \brief (ADC_CTRLA) Peripheral clock divided by 32 */ +#define ADC_CTRLA_PRESCALER_DIV64_Val _U_(0x5) /**< \brief (ADC_CTRLA) Peripheral clock divided by 64 */ +#define ADC_CTRLA_PRESCALER_DIV128_Val _U_(0x6) /**< \brief (ADC_CTRLA) Peripheral clock divided by 128 */ +#define ADC_CTRLA_PRESCALER_DIV256_Val _U_(0x7) /**< \brief (ADC_CTRLA) Peripheral clock divided by 256 */ +#define ADC_CTRLA_PRESCALER_DIV2 (ADC_CTRLA_PRESCALER_DIV2_Val << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_PRESCALER_DIV4 (ADC_CTRLA_PRESCALER_DIV4_Val << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_PRESCALER_DIV8 (ADC_CTRLA_PRESCALER_DIV8_Val << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_PRESCALER_DIV16 (ADC_CTRLA_PRESCALER_DIV16_Val << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_PRESCALER_DIV32 (ADC_CTRLA_PRESCALER_DIV32_Val << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_PRESCALER_DIV64 (ADC_CTRLA_PRESCALER_DIV64_Val << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_PRESCALER_DIV128 (ADC_CTRLA_PRESCALER_DIV128_Val << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_PRESCALER_DIV256 (ADC_CTRLA_PRESCALER_DIV256_Val << ADC_CTRLA_PRESCALER_Pos) +#define ADC_CTRLA_R2R_Pos 15 /**< \brief (ADC_CTRLA) Rail to Rail Operation Enable */ +#define ADC_CTRLA_R2R (_U_(0x1) << ADC_CTRLA_R2R_Pos) +#define ADC_CTRLA_MASK _U_(0x87FB) /**< \brief (ADC_CTRLA) MASK Register */ + +/* -------- ADC_EVCTRL : (ADC Offset: 0x02) (R/W 8) Event Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t FLUSHEI:1; /*!< bit: 0 Flush Event Input Enable */ + uint8_t STARTEI:1; /*!< bit: 1 Start Conversion Event Input Enable */ + uint8_t FLUSHINV:1; /*!< bit: 2 Flush Event Invert Enable */ + uint8_t STARTINV:1; /*!< bit: 3 Start Conversion Event Invert Enable */ + uint8_t RESRDYEO:1; /*!< bit: 4 Result Ready Event Out */ + uint8_t WINMONEO:1; /*!< bit: 5 Window Monitor Event Out */ + uint8_t :2; /*!< bit: 6.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_EVCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_EVCTRL_OFFSET 0x02 /**< \brief (ADC_EVCTRL offset) Event Control */ +#define ADC_EVCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_EVCTRL reset_value) Event Control */ + +#define ADC_EVCTRL_FLUSHEI_Pos 0 /**< \brief (ADC_EVCTRL) Flush Event Input Enable */ +#define ADC_EVCTRL_FLUSHEI (_U_(0x1) << ADC_EVCTRL_FLUSHEI_Pos) +#define ADC_EVCTRL_STARTEI_Pos 1 /**< \brief (ADC_EVCTRL) Start Conversion Event Input Enable */ +#define ADC_EVCTRL_STARTEI (_U_(0x1) << ADC_EVCTRL_STARTEI_Pos) +#define ADC_EVCTRL_FLUSHINV_Pos 2 /**< \brief (ADC_EVCTRL) Flush Event Invert Enable */ +#define ADC_EVCTRL_FLUSHINV (_U_(0x1) << ADC_EVCTRL_FLUSHINV_Pos) +#define ADC_EVCTRL_STARTINV_Pos 3 /**< \brief (ADC_EVCTRL) Start Conversion Event Invert Enable */ +#define ADC_EVCTRL_STARTINV (_U_(0x1) << ADC_EVCTRL_STARTINV_Pos) +#define ADC_EVCTRL_RESRDYEO_Pos 4 /**< \brief (ADC_EVCTRL) Result Ready Event Out */ +#define ADC_EVCTRL_RESRDYEO (_U_(0x1) << ADC_EVCTRL_RESRDYEO_Pos) +#define ADC_EVCTRL_WINMONEO_Pos 5 /**< \brief (ADC_EVCTRL) Window Monitor Event Out */ +#define ADC_EVCTRL_WINMONEO (_U_(0x1) << ADC_EVCTRL_WINMONEO_Pos) +#define ADC_EVCTRL_MASK _U_(0x3F) /**< \brief (ADC_EVCTRL) MASK Register */ + +/* -------- ADC_DBGCTRL : (ADC Offset: 0x03) (R/W 8) Debug Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ + uint8_t :7; /*!< bit: 1.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_DBGCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_DBGCTRL_OFFSET 0x03 /**< \brief (ADC_DBGCTRL offset) Debug Control */ +#define ADC_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_DBGCTRL reset_value) Debug Control */ + +#define ADC_DBGCTRL_DBGRUN_Pos 0 /**< \brief (ADC_DBGCTRL) Debug Run */ +#define ADC_DBGCTRL_DBGRUN (_U_(0x1) << ADC_DBGCTRL_DBGRUN_Pos) +#define ADC_DBGCTRL_MASK _U_(0x01) /**< \brief (ADC_DBGCTRL) MASK Register */ + +/* -------- ADC_INPUTCTRL : (ADC Offset: 0x04) (R/W 16) Input Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t MUXPOS:5; /*!< bit: 0.. 4 Positive Mux Input Selection */ + uint16_t :2; /*!< bit: 5.. 6 Reserved */ + uint16_t DIFFMODE:1; /*!< bit: 7 Differential Mode */ + uint16_t MUXNEG:5; /*!< bit: 8..12 Negative Mux Input Selection */ + uint16_t :2; /*!< bit: 13..14 Reserved */ + uint16_t DSEQSTOP:1; /*!< bit: 15 Stop DMA Sequencing */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_INPUTCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_INPUTCTRL_OFFSET 0x04 /**< \brief (ADC_INPUTCTRL offset) Input Control */ +#define ADC_INPUTCTRL_RESETVALUE _U_(0x0000) /**< \brief (ADC_INPUTCTRL reset_value) Input Control */ + +#define ADC_INPUTCTRL_MUXPOS_Pos 0 /**< \brief (ADC_INPUTCTRL) Positive Mux Input Selection */ +#define ADC_INPUTCTRL_MUXPOS_Msk (_U_(0x1F) << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS(value) (ADC_INPUTCTRL_MUXPOS_Msk & ((value) << ADC_INPUTCTRL_MUXPOS_Pos)) +#define ADC_INPUTCTRL_MUXPOS_AIN0_Val _U_(0x0) /**< \brief (ADC_INPUTCTRL) ADC AIN0 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN1_Val _U_(0x1) /**< \brief (ADC_INPUTCTRL) ADC AIN1 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN2_Val _U_(0x2) /**< \brief (ADC_INPUTCTRL) ADC AIN2 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN3_Val _U_(0x3) /**< \brief (ADC_INPUTCTRL) ADC AIN3 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN4_Val _U_(0x4) /**< \brief (ADC_INPUTCTRL) ADC AIN4 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN5_Val _U_(0x5) /**< \brief (ADC_INPUTCTRL) ADC AIN5 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN6_Val _U_(0x6) /**< \brief (ADC_INPUTCTRL) ADC AIN6 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN7_Val _U_(0x7) /**< \brief (ADC_INPUTCTRL) ADC AIN7 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN8_Val _U_(0x8) /**< \brief (ADC_INPUTCTRL) ADC AIN8 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN9_Val _U_(0x9) /**< \brief (ADC_INPUTCTRL) ADC AIN9 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN10_Val _U_(0xA) /**< \brief (ADC_INPUTCTRL) ADC AIN10 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN11_Val _U_(0xB) /**< \brief (ADC_INPUTCTRL) ADC AIN11 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN12_Val _U_(0xC) /**< \brief (ADC_INPUTCTRL) ADC AIN12 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN13_Val _U_(0xD) /**< \brief (ADC_INPUTCTRL) ADC AIN13 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN14_Val _U_(0xE) /**< \brief (ADC_INPUTCTRL) ADC AIN14 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN15_Val _U_(0xF) /**< \brief (ADC_INPUTCTRL) ADC AIN15 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN16_Val _U_(0x10) /**< \brief (ADC_INPUTCTRL) ADC AIN16 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN17_Val _U_(0x11) /**< \brief (ADC_INPUTCTRL) ADC AIN17 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN18_Val _U_(0x12) /**< \brief (ADC_INPUTCTRL) ADC AIN18 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN19_Val _U_(0x13) /**< \brief (ADC_INPUTCTRL) ADC AIN19 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN20_Val _U_(0x14) /**< \brief (ADC_INPUTCTRL) ADC AIN20 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN21_Val _U_(0x15) /**< \brief (ADC_INPUTCTRL) ADC AIN21 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN22_Val _U_(0x16) /**< \brief (ADC_INPUTCTRL) ADC AIN22 Pin */ +#define ADC_INPUTCTRL_MUXPOS_AIN23_Val _U_(0x17) /**< \brief (ADC_INPUTCTRL) ADC AIN23 Pin */ +#define ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC_Val _U_(0x18) /**< \brief (ADC_INPUTCTRL) 1/4 Scaled Core Supply */ +#define ADC_INPUTCTRL_MUXPOS_SCALEDVBAT_Val _U_(0x19) /**< \brief (ADC_INPUTCTRL) 1/4 Scaled VBAT Supply */ +#define ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC_Val _U_(0x1A) /**< \brief (ADC_INPUTCTRL) 1/4 Scaled I/O Supply */ +#define ADC_INPUTCTRL_MUXPOS_BANDGAP_Val _U_(0x1B) /**< \brief (ADC_INPUTCTRL) Bandgap Voltage */ +#define ADC_INPUTCTRL_MUXPOS_PTAT_Val _U_(0x1C) /**< \brief (ADC_INPUTCTRL) Temperature Sensor */ +#define ADC_INPUTCTRL_MUXPOS_CTAT_Val _U_(0x1D) /**< \brief (ADC_INPUTCTRL) Temperature Sensor */ +#define ADC_INPUTCTRL_MUXPOS_DAC_Val _U_(0x1E) /**< \brief (ADC_INPUTCTRL) DAC Output */ +#define ADC_INPUTCTRL_MUXPOS_PTC_Val _U_(0x1F) /**< \brief (ADC_INPUTCTRL) PTC output (only on ADC0) */ +#define ADC_INPUTCTRL_MUXPOS_AIN0 (ADC_INPUTCTRL_MUXPOS_AIN0_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN1 (ADC_INPUTCTRL_MUXPOS_AIN1_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN2 (ADC_INPUTCTRL_MUXPOS_AIN2_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN3 (ADC_INPUTCTRL_MUXPOS_AIN3_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN4 (ADC_INPUTCTRL_MUXPOS_AIN4_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN5 (ADC_INPUTCTRL_MUXPOS_AIN5_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN6 (ADC_INPUTCTRL_MUXPOS_AIN6_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN7 (ADC_INPUTCTRL_MUXPOS_AIN7_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN8 (ADC_INPUTCTRL_MUXPOS_AIN8_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN9 (ADC_INPUTCTRL_MUXPOS_AIN9_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN10 (ADC_INPUTCTRL_MUXPOS_AIN10_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN11 (ADC_INPUTCTRL_MUXPOS_AIN11_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN12 (ADC_INPUTCTRL_MUXPOS_AIN12_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN13 (ADC_INPUTCTRL_MUXPOS_AIN13_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN14 (ADC_INPUTCTRL_MUXPOS_AIN14_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN15 (ADC_INPUTCTRL_MUXPOS_AIN15_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN16 (ADC_INPUTCTRL_MUXPOS_AIN16_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN17 (ADC_INPUTCTRL_MUXPOS_AIN17_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN18 (ADC_INPUTCTRL_MUXPOS_AIN18_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN19 (ADC_INPUTCTRL_MUXPOS_AIN19_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN20 (ADC_INPUTCTRL_MUXPOS_AIN20_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN21 (ADC_INPUTCTRL_MUXPOS_AIN21_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN22 (ADC_INPUTCTRL_MUXPOS_AIN22_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_AIN23 (ADC_INPUTCTRL_MUXPOS_AIN23_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC (ADC_INPUTCTRL_MUXPOS_SCALEDCOREVCC_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_SCALEDVBAT (ADC_INPUTCTRL_MUXPOS_SCALEDVBAT_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC (ADC_INPUTCTRL_MUXPOS_SCALEDIOVCC_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_BANDGAP (ADC_INPUTCTRL_MUXPOS_BANDGAP_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_PTAT (ADC_INPUTCTRL_MUXPOS_PTAT_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_CTAT (ADC_INPUTCTRL_MUXPOS_CTAT_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_DAC (ADC_INPUTCTRL_MUXPOS_DAC_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_MUXPOS_PTC (ADC_INPUTCTRL_MUXPOS_PTC_Val << ADC_INPUTCTRL_MUXPOS_Pos) +#define ADC_INPUTCTRL_DIFFMODE_Pos 7 /**< \brief (ADC_INPUTCTRL) Differential Mode */ +#define ADC_INPUTCTRL_DIFFMODE (_U_(0x1) << ADC_INPUTCTRL_DIFFMODE_Pos) +#define ADC_INPUTCTRL_MUXNEG_Pos 8 /**< \brief (ADC_INPUTCTRL) Negative Mux Input Selection */ +#define ADC_INPUTCTRL_MUXNEG_Msk (_U_(0x1F) << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG(value) (ADC_INPUTCTRL_MUXNEG_Msk & ((value) << ADC_INPUTCTRL_MUXNEG_Pos)) +#define ADC_INPUTCTRL_MUXNEG_AIN0_Val _U_(0x0) /**< \brief (ADC_INPUTCTRL) ADC AIN0 Pin */ +#define ADC_INPUTCTRL_MUXNEG_AIN1_Val _U_(0x1) /**< \brief (ADC_INPUTCTRL) ADC AIN1 Pin */ +#define ADC_INPUTCTRL_MUXNEG_AIN2_Val _U_(0x2) /**< \brief (ADC_INPUTCTRL) ADC AIN2 Pin */ +#define ADC_INPUTCTRL_MUXNEG_AIN3_Val _U_(0x3) /**< \brief (ADC_INPUTCTRL) ADC AIN3 Pin */ +#define ADC_INPUTCTRL_MUXNEG_AIN4_Val _U_(0x4) /**< \brief (ADC_INPUTCTRL) ADC AIN4 Pin */ +#define ADC_INPUTCTRL_MUXNEG_AIN5_Val _U_(0x5) /**< \brief (ADC_INPUTCTRL) ADC AIN5 Pin */ +#define ADC_INPUTCTRL_MUXNEG_AIN6_Val _U_(0x6) /**< \brief (ADC_INPUTCTRL) ADC AIN6 Pin */ +#define ADC_INPUTCTRL_MUXNEG_AIN7_Val _U_(0x7) /**< \brief (ADC_INPUTCTRL) ADC AIN7 Pin */ +#define ADC_INPUTCTRL_MUXNEG_GND_Val _U_(0x18) /**< \brief (ADC_INPUTCTRL) Internal Ground */ +#define ADC_INPUTCTRL_MUXNEG_AIN0 (ADC_INPUTCTRL_MUXNEG_AIN0_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG_AIN1 (ADC_INPUTCTRL_MUXNEG_AIN1_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG_AIN2 (ADC_INPUTCTRL_MUXNEG_AIN2_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG_AIN3 (ADC_INPUTCTRL_MUXNEG_AIN3_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG_AIN4 (ADC_INPUTCTRL_MUXNEG_AIN4_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG_AIN5 (ADC_INPUTCTRL_MUXNEG_AIN5_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG_AIN6 (ADC_INPUTCTRL_MUXNEG_AIN6_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG_AIN7 (ADC_INPUTCTRL_MUXNEG_AIN7_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_MUXNEG_GND (ADC_INPUTCTRL_MUXNEG_GND_Val << ADC_INPUTCTRL_MUXNEG_Pos) +#define ADC_INPUTCTRL_DSEQSTOP_Pos 15 /**< \brief (ADC_INPUTCTRL) Stop DMA Sequencing */ +#define ADC_INPUTCTRL_DSEQSTOP (_U_(0x1) << ADC_INPUTCTRL_DSEQSTOP_Pos) +#define ADC_INPUTCTRL_MASK _U_(0x9F9F) /**< \brief (ADC_INPUTCTRL) MASK Register */ + +/* -------- ADC_CTRLB : (ADC Offset: 0x06) (R/W 16) Control B -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t LEFTADJ:1; /*!< bit: 0 Left-Adjusted Result */ + uint16_t FREERUN:1; /*!< bit: 1 Free Running Mode */ + uint16_t CORREN:1; /*!< bit: 2 Digital Correction Logic Enable */ + uint16_t RESSEL:2; /*!< bit: 3.. 4 Conversion Result Resolution */ + uint16_t :3; /*!< bit: 5.. 7 Reserved */ + uint16_t WINMODE:3; /*!< bit: 8..10 Window Monitor Mode */ + uint16_t WINSS:1; /*!< bit: 11 Window Single Sample */ + uint16_t :4; /*!< bit: 12..15 Reserved */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_CTRLB_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_CTRLB_OFFSET 0x06 /**< \brief (ADC_CTRLB offset) Control B */ +#define ADC_CTRLB_RESETVALUE _U_(0x0000) /**< \brief (ADC_CTRLB reset_value) Control B */ + +#define ADC_CTRLB_LEFTADJ_Pos 0 /**< \brief (ADC_CTRLB) Left-Adjusted Result */ +#define ADC_CTRLB_LEFTADJ (_U_(0x1) << ADC_CTRLB_LEFTADJ_Pos) +#define ADC_CTRLB_FREERUN_Pos 1 /**< \brief (ADC_CTRLB) Free Running Mode */ +#define ADC_CTRLB_FREERUN (_U_(0x1) << ADC_CTRLB_FREERUN_Pos) +#define ADC_CTRLB_CORREN_Pos 2 /**< \brief (ADC_CTRLB) Digital Correction Logic Enable */ +#define ADC_CTRLB_CORREN (_U_(0x1) << ADC_CTRLB_CORREN_Pos) +#define ADC_CTRLB_RESSEL_Pos 3 /**< \brief (ADC_CTRLB) Conversion Result Resolution */ +#define ADC_CTRLB_RESSEL_Msk (_U_(0x3) << ADC_CTRLB_RESSEL_Pos) +#define ADC_CTRLB_RESSEL(value) (ADC_CTRLB_RESSEL_Msk & ((value) << ADC_CTRLB_RESSEL_Pos)) +#define ADC_CTRLB_RESSEL_12BIT_Val _U_(0x0) /**< \brief (ADC_CTRLB) 12-bit result */ +#define ADC_CTRLB_RESSEL_16BIT_Val _U_(0x1) /**< \brief (ADC_CTRLB) For averaging mode output */ +#define ADC_CTRLB_RESSEL_10BIT_Val _U_(0x2) /**< \brief (ADC_CTRLB) 10-bit result */ +#define ADC_CTRLB_RESSEL_8BIT_Val _U_(0x3) /**< \brief (ADC_CTRLB) 8-bit result */ +#define ADC_CTRLB_RESSEL_12BIT (ADC_CTRLB_RESSEL_12BIT_Val << ADC_CTRLB_RESSEL_Pos) +#define ADC_CTRLB_RESSEL_16BIT (ADC_CTRLB_RESSEL_16BIT_Val << ADC_CTRLB_RESSEL_Pos) +#define ADC_CTRLB_RESSEL_10BIT (ADC_CTRLB_RESSEL_10BIT_Val << ADC_CTRLB_RESSEL_Pos) +#define ADC_CTRLB_RESSEL_8BIT (ADC_CTRLB_RESSEL_8BIT_Val << ADC_CTRLB_RESSEL_Pos) +#define ADC_CTRLB_WINMODE_Pos 8 /**< \brief (ADC_CTRLB) Window Monitor Mode */ +#define ADC_CTRLB_WINMODE_Msk (_U_(0x7) << ADC_CTRLB_WINMODE_Pos) +#define ADC_CTRLB_WINMODE(value) (ADC_CTRLB_WINMODE_Msk & ((value) << ADC_CTRLB_WINMODE_Pos)) +#define ADC_CTRLB_WINMODE_DISABLE_Val _U_(0x0) /**< \brief (ADC_CTRLB) No window mode (default) */ +#define ADC_CTRLB_WINMODE_MODE1_Val _U_(0x1) /**< \brief (ADC_CTRLB) RESULT > WINLT */ +#define ADC_CTRLB_WINMODE_MODE2_Val _U_(0x2) /**< \brief (ADC_CTRLB) RESULT < WINUT */ +#define ADC_CTRLB_WINMODE_MODE3_Val _U_(0x3) /**< \brief (ADC_CTRLB) WINLT < RESULT < WINUT */ +#define ADC_CTRLB_WINMODE_MODE4_Val _U_(0x4) /**< \brief (ADC_CTRLB) !(WINLT < RESULT < WINUT) */ +#define ADC_CTRLB_WINMODE_DISABLE (ADC_CTRLB_WINMODE_DISABLE_Val << ADC_CTRLB_WINMODE_Pos) +#define ADC_CTRLB_WINMODE_MODE1 (ADC_CTRLB_WINMODE_MODE1_Val << ADC_CTRLB_WINMODE_Pos) +#define ADC_CTRLB_WINMODE_MODE2 (ADC_CTRLB_WINMODE_MODE2_Val << ADC_CTRLB_WINMODE_Pos) +#define ADC_CTRLB_WINMODE_MODE3 (ADC_CTRLB_WINMODE_MODE3_Val << ADC_CTRLB_WINMODE_Pos) +#define ADC_CTRLB_WINMODE_MODE4 (ADC_CTRLB_WINMODE_MODE4_Val << ADC_CTRLB_WINMODE_Pos) +#define ADC_CTRLB_WINSS_Pos 11 /**< \brief (ADC_CTRLB) Window Single Sample */ +#define ADC_CTRLB_WINSS (_U_(0x1) << ADC_CTRLB_WINSS_Pos) +#define ADC_CTRLB_MASK _U_(0x0F1F) /**< \brief (ADC_CTRLB) MASK Register */ + +/* -------- ADC_REFCTRL : (ADC Offset: 0x08) (R/W 8) Reference Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t REFSEL:4; /*!< bit: 0.. 3 Reference Selection */ + uint8_t :3; /*!< bit: 4.. 6 Reserved */ + uint8_t REFCOMP:1; /*!< bit: 7 Reference Buffer Offset Compensation Enable */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_REFCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_REFCTRL_OFFSET 0x08 /**< \brief (ADC_REFCTRL offset) Reference Control */ +#define ADC_REFCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_REFCTRL reset_value) Reference Control */ + +#define ADC_REFCTRL_REFSEL_Pos 0 /**< \brief (ADC_REFCTRL) Reference Selection */ +#define ADC_REFCTRL_REFSEL_Msk (_U_(0xF) << ADC_REFCTRL_REFSEL_Pos) +#define ADC_REFCTRL_REFSEL(value) (ADC_REFCTRL_REFSEL_Msk & ((value) << ADC_REFCTRL_REFSEL_Pos)) +#define ADC_REFCTRL_REFSEL_INTREF_Val _U_(0x0) /**< \brief (ADC_REFCTRL) Internal Bandgap Reference */ +#define ADC_REFCTRL_REFSEL_INTVCC0_Val _U_(0x2) /**< \brief (ADC_REFCTRL) 1/2 VDDANA */ +#define ADC_REFCTRL_REFSEL_INTVCC1_Val _U_(0x3) /**< \brief (ADC_REFCTRL) VDDANA */ +#define ADC_REFCTRL_REFSEL_AREFA_Val _U_(0x4) /**< \brief (ADC_REFCTRL) External Reference */ +#define ADC_REFCTRL_REFSEL_AREFB_Val _U_(0x5) /**< \brief (ADC_REFCTRL) External Reference */ +#define ADC_REFCTRL_REFSEL_AREFC_Val _U_(0x6) /**< \brief (ADC_REFCTRL) External Reference (only on ADC1) */ +#define ADC_REFCTRL_REFSEL_INTREF (ADC_REFCTRL_REFSEL_INTREF_Val << ADC_REFCTRL_REFSEL_Pos) +#define ADC_REFCTRL_REFSEL_INTVCC0 (ADC_REFCTRL_REFSEL_INTVCC0_Val << ADC_REFCTRL_REFSEL_Pos) +#define ADC_REFCTRL_REFSEL_INTVCC1 (ADC_REFCTRL_REFSEL_INTVCC1_Val << ADC_REFCTRL_REFSEL_Pos) +#define ADC_REFCTRL_REFSEL_AREFA (ADC_REFCTRL_REFSEL_AREFA_Val << ADC_REFCTRL_REFSEL_Pos) +#define ADC_REFCTRL_REFSEL_AREFB (ADC_REFCTRL_REFSEL_AREFB_Val << ADC_REFCTRL_REFSEL_Pos) +#define ADC_REFCTRL_REFSEL_AREFC (ADC_REFCTRL_REFSEL_AREFC_Val << ADC_REFCTRL_REFSEL_Pos) +#define ADC_REFCTRL_REFCOMP_Pos 7 /**< \brief (ADC_REFCTRL) Reference Buffer Offset Compensation Enable */ +#define ADC_REFCTRL_REFCOMP (_U_(0x1) << ADC_REFCTRL_REFCOMP_Pos) +#define ADC_REFCTRL_MASK _U_(0x8F) /**< \brief (ADC_REFCTRL) MASK Register */ + +/* -------- ADC_AVGCTRL : (ADC Offset: 0x0A) (R/W 8) Average Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t SAMPLENUM:4; /*!< bit: 0.. 3 Number of Samples to be Collected */ + uint8_t ADJRES:3; /*!< bit: 4.. 6 Adjusting Result / Division Coefficient */ + uint8_t :1; /*!< bit: 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_AVGCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_AVGCTRL_OFFSET 0x0A /**< \brief (ADC_AVGCTRL offset) Average Control */ +#define ADC_AVGCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_AVGCTRL reset_value) Average Control */ + +#define ADC_AVGCTRL_SAMPLENUM_Pos 0 /**< \brief (ADC_AVGCTRL) Number of Samples to be Collected */ +#define ADC_AVGCTRL_SAMPLENUM_Msk (_U_(0xF) << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM(value) (ADC_AVGCTRL_SAMPLENUM_Msk & ((value) << ADC_AVGCTRL_SAMPLENUM_Pos)) +#define ADC_AVGCTRL_SAMPLENUM_1_Val _U_(0x0) /**< \brief (ADC_AVGCTRL) 1 sample */ +#define ADC_AVGCTRL_SAMPLENUM_2_Val _U_(0x1) /**< \brief (ADC_AVGCTRL) 2 samples */ +#define ADC_AVGCTRL_SAMPLENUM_4_Val _U_(0x2) /**< \brief (ADC_AVGCTRL) 4 samples */ +#define ADC_AVGCTRL_SAMPLENUM_8_Val _U_(0x3) /**< \brief (ADC_AVGCTRL) 8 samples */ +#define ADC_AVGCTRL_SAMPLENUM_16_Val _U_(0x4) /**< \brief (ADC_AVGCTRL) 16 samples */ +#define ADC_AVGCTRL_SAMPLENUM_32_Val _U_(0x5) /**< \brief (ADC_AVGCTRL) 32 samples */ +#define ADC_AVGCTRL_SAMPLENUM_64_Val _U_(0x6) /**< \brief (ADC_AVGCTRL) 64 samples */ +#define ADC_AVGCTRL_SAMPLENUM_128_Val _U_(0x7) /**< \brief (ADC_AVGCTRL) 128 samples */ +#define ADC_AVGCTRL_SAMPLENUM_256_Val _U_(0x8) /**< \brief (ADC_AVGCTRL) 256 samples */ +#define ADC_AVGCTRL_SAMPLENUM_512_Val _U_(0x9) /**< \brief (ADC_AVGCTRL) 512 samples */ +#define ADC_AVGCTRL_SAMPLENUM_1024_Val _U_(0xA) /**< \brief (ADC_AVGCTRL) 1024 samples */ +#define ADC_AVGCTRL_SAMPLENUM_1 (ADC_AVGCTRL_SAMPLENUM_1_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_2 (ADC_AVGCTRL_SAMPLENUM_2_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_4 (ADC_AVGCTRL_SAMPLENUM_4_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_8 (ADC_AVGCTRL_SAMPLENUM_8_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_16 (ADC_AVGCTRL_SAMPLENUM_16_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_32 (ADC_AVGCTRL_SAMPLENUM_32_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_64 (ADC_AVGCTRL_SAMPLENUM_64_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_128 (ADC_AVGCTRL_SAMPLENUM_128_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_256 (ADC_AVGCTRL_SAMPLENUM_256_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_512 (ADC_AVGCTRL_SAMPLENUM_512_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_SAMPLENUM_1024 (ADC_AVGCTRL_SAMPLENUM_1024_Val << ADC_AVGCTRL_SAMPLENUM_Pos) +#define ADC_AVGCTRL_ADJRES_Pos 4 /**< \brief (ADC_AVGCTRL) Adjusting Result / Division Coefficient */ +#define ADC_AVGCTRL_ADJRES_Msk (_U_(0x7) << ADC_AVGCTRL_ADJRES_Pos) +#define ADC_AVGCTRL_ADJRES(value) (ADC_AVGCTRL_ADJRES_Msk & ((value) << ADC_AVGCTRL_ADJRES_Pos)) +#define ADC_AVGCTRL_MASK _U_(0x7F) /**< \brief (ADC_AVGCTRL) MASK Register */ + +/* -------- ADC_SAMPCTRL : (ADC Offset: 0x0B) (R/W 8) Sample Time Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t SAMPLEN:6; /*!< bit: 0.. 5 Sampling Time Length */ + uint8_t :1; /*!< bit: 6 Reserved */ + uint8_t OFFCOMP:1; /*!< bit: 7 Comparator Offset Compensation Enable */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_SAMPCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_SAMPCTRL_OFFSET 0x0B /**< \brief (ADC_SAMPCTRL offset) Sample Time Control */ +#define ADC_SAMPCTRL_RESETVALUE _U_(0x00) /**< \brief (ADC_SAMPCTRL reset_value) Sample Time Control */ + +#define ADC_SAMPCTRL_SAMPLEN_Pos 0 /**< \brief (ADC_SAMPCTRL) Sampling Time Length */ +#define ADC_SAMPCTRL_SAMPLEN_Msk (_U_(0x3F) << ADC_SAMPCTRL_SAMPLEN_Pos) +#define ADC_SAMPCTRL_SAMPLEN(value) (ADC_SAMPCTRL_SAMPLEN_Msk & ((value) << ADC_SAMPCTRL_SAMPLEN_Pos)) +#define ADC_SAMPCTRL_OFFCOMP_Pos 7 /**< \brief (ADC_SAMPCTRL) Comparator Offset Compensation Enable */ +#define ADC_SAMPCTRL_OFFCOMP (_U_(0x1) << ADC_SAMPCTRL_OFFCOMP_Pos) +#define ADC_SAMPCTRL_MASK _U_(0xBF) /**< \brief (ADC_SAMPCTRL) MASK Register */ + +/* -------- ADC_WINLT : (ADC Offset: 0x0C) (R/W 16) Window Monitor Lower Threshold -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t WINLT:16; /*!< bit: 0..15 Window Lower Threshold */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_WINLT_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_WINLT_OFFSET 0x0C /**< \brief (ADC_WINLT offset) Window Monitor Lower Threshold */ +#define ADC_WINLT_RESETVALUE _U_(0x0000) /**< \brief (ADC_WINLT reset_value) Window Monitor Lower Threshold */ + +#define ADC_WINLT_WINLT_Pos 0 /**< \brief (ADC_WINLT) Window Lower Threshold */ +#define ADC_WINLT_WINLT_Msk (_U_(0xFFFF) << ADC_WINLT_WINLT_Pos) +#define ADC_WINLT_WINLT(value) (ADC_WINLT_WINLT_Msk & ((value) << ADC_WINLT_WINLT_Pos)) +#define ADC_WINLT_MASK _U_(0xFFFF) /**< \brief (ADC_WINLT) MASK Register */ + +/* -------- ADC_WINUT : (ADC Offset: 0x0E) (R/W 16) Window Monitor Upper Threshold -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t WINUT:16; /*!< bit: 0..15 Window Upper Threshold */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_WINUT_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_WINUT_OFFSET 0x0E /**< \brief (ADC_WINUT offset) Window Monitor Upper Threshold */ +#define ADC_WINUT_RESETVALUE _U_(0x0000) /**< \brief (ADC_WINUT reset_value) Window Monitor Upper Threshold */ + +#define ADC_WINUT_WINUT_Pos 0 /**< \brief (ADC_WINUT) Window Upper Threshold */ +#define ADC_WINUT_WINUT_Msk (_U_(0xFFFF) << ADC_WINUT_WINUT_Pos) +#define ADC_WINUT_WINUT(value) (ADC_WINUT_WINUT_Msk & ((value) << ADC_WINUT_WINUT_Pos)) +#define ADC_WINUT_MASK _U_(0xFFFF) /**< \brief (ADC_WINUT) MASK Register */ + +/* -------- ADC_GAINCORR : (ADC Offset: 0x10) (R/W 16) Gain Correction -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t GAINCORR:12; /*!< bit: 0..11 Gain Correction Value */ + uint16_t :4; /*!< bit: 12..15 Reserved */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_GAINCORR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_GAINCORR_OFFSET 0x10 /**< \brief (ADC_GAINCORR offset) Gain Correction */ +#define ADC_GAINCORR_RESETVALUE _U_(0x0000) /**< \brief (ADC_GAINCORR reset_value) Gain Correction */ + +#define ADC_GAINCORR_GAINCORR_Pos 0 /**< \brief (ADC_GAINCORR) Gain Correction Value */ +#define ADC_GAINCORR_GAINCORR_Msk (_U_(0xFFF) << ADC_GAINCORR_GAINCORR_Pos) +#define ADC_GAINCORR_GAINCORR(value) (ADC_GAINCORR_GAINCORR_Msk & ((value) << ADC_GAINCORR_GAINCORR_Pos)) +#define ADC_GAINCORR_MASK _U_(0x0FFF) /**< \brief (ADC_GAINCORR) MASK Register */ + +/* -------- ADC_OFFSETCORR : (ADC Offset: 0x12) (R/W 16) Offset Correction -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t OFFSETCORR:12; /*!< bit: 0..11 Offset Correction Value */ + uint16_t :4; /*!< bit: 12..15 Reserved */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_OFFSETCORR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_OFFSETCORR_OFFSET 0x12 /**< \brief (ADC_OFFSETCORR offset) Offset Correction */ +#define ADC_OFFSETCORR_RESETVALUE _U_(0x0000) /**< \brief (ADC_OFFSETCORR reset_value) Offset Correction */ + +#define ADC_OFFSETCORR_OFFSETCORR_Pos 0 /**< \brief (ADC_OFFSETCORR) Offset Correction Value */ +#define ADC_OFFSETCORR_OFFSETCORR_Msk (_U_(0xFFF) << ADC_OFFSETCORR_OFFSETCORR_Pos) +#define ADC_OFFSETCORR_OFFSETCORR(value) (ADC_OFFSETCORR_OFFSETCORR_Msk & ((value) << ADC_OFFSETCORR_OFFSETCORR_Pos)) +#define ADC_OFFSETCORR_MASK _U_(0x0FFF) /**< \brief (ADC_OFFSETCORR) MASK Register */ + +/* -------- ADC_SWTRIG : (ADC Offset: 0x14) (R/W 8) Software Trigger -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t FLUSH:1; /*!< bit: 0 ADC Conversion Flush */ + uint8_t START:1; /*!< bit: 1 Start ADC Conversion */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_SWTRIG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_SWTRIG_OFFSET 0x14 /**< \brief (ADC_SWTRIG offset) Software Trigger */ +#define ADC_SWTRIG_RESETVALUE _U_(0x00) /**< \brief (ADC_SWTRIG reset_value) Software Trigger */ + +#define ADC_SWTRIG_FLUSH_Pos 0 /**< \brief (ADC_SWTRIG) ADC Conversion Flush */ +#define ADC_SWTRIG_FLUSH (_U_(0x1) << ADC_SWTRIG_FLUSH_Pos) +#define ADC_SWTRIG_START_Pos 1 /**< \brief (ADC_SWTRIG) Start ADC Conversion */ +#define ADC_SWTRIG_START (_U_(0x1) << ADC_SWTRIG_START_Pos) +#define ADC_SWTRIG_MASK _U_(0x03) /**< \brief (ADC_SWTRIG) MASK Register */ + +/* -------- ADC_INTENCLR : (ADC Offset: 0x2C) (R/W 8) Interrupt Enable Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t RESRDY:1; /*!< bit: 0 Result Ready Interrupt Disable */ + uint8_t OVERRUN:1; /*!< bit: 1 Overrun Interrupt Disable */ + uint8_t WINMON:1; /*!< bit: 2 Window Monitor Interrupt Disable */ + uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_INTENCLR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_INTENCLR_OFFSET 0x2C /**< \brief (ADC_INTENCLR offset) Interrupt Enable Clear */ +#define ADC_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (ADC_INTENCLR reset_value) Interrupt Enable Clear */ + +#define ADC_INTENCLR_RESRDY_Pos 0 /**< \brief (ADC_INTENCLR) Result Ready Interrupt Disable */ +#define ADC_INTENCLR_RESRDY (_U_(0x1) << ADC_INTENCLR_RESRDY_Pos) +#define ADC_INTENCLR_OVERRUN_Pos 1 /**< \brief (ADC_INTENCLR) Overrun Interrupt Disable */ +#define ADC_INTENCLR_OVERRUN (_U_(0x1) << ADC_INTENCLR_OVERRUN_Pos) +#define ADC_INTENCLR_WINMON_Pos 2 /**< \brief (ADC_INTENCLR) Window Monitor Interrupt Disable */ +#define ADC_INTENCLR_WINMON (_U_(0x1) << ADC_INTENCLR_WINMON_Pos) +#define ADC_INTENCLR_MASK _U_(0x07) /**< \brief (ADC_INTENCLR) MASK Register */ + +/* -------- ADC_INTENSET : (ADC Offset: 0x2D) (R/W 8) Interrupt Enable Set -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t RESRDY:1; /*!< bit: 0 Result Ready Interrupt Enable */ + uint8_t OVERRUN:1; /*!< bit: 1 Overrun Interrupt Enable */ + uint8_t WINMON:1; /*!< bit: 2 Window Monitor Interrupt Enable */ + uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_INTENSET_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_INTENSET_OFFSET 0x2D /**< \brief (ADC_INTENSET offset) Interrupt Enable Set */ +#define ADC_INTENSET_RESETVALUE _U_(0x00) /**< \brief (ADC_INTENSET reset_value) Interrupt Enable Set */ + +#define ADC_INTENSET_RESRDY_Pos 0 /**< \brief (ADC_INTENSET) Result Ready Interrupt Enable */ +#define ADC_INTENSET_RESRDY (_U_(0x1) << ADC_INTENSET_RESRDY_Pos) +#define ADC_INTENSET_OVERRUN_Pos 1 /**< \brief (ADC_INTENSET) Overrun Interrupt Enable */ +#define ADC_INTENSET_OVERRUN (_U_(0x1) << ADC_INTENSET_OVERRUN_Pos) +#define ADC_INTENSET_WINMON_Pos 2 /**< \brief (ADC_INTENSET) Window Monitor Interrupt Enable */ +#define ADC_INTENSET_WINMON (_U_(0x1) << ADC_INTENSET_WINMON_Pos) +#define ADC_INTENSET_MASK _U_(0x07) /**< \brief (ADC_INTENSET) MASK Register */ + +/* -------- ADC_INTFLAG : (ADC Offset: 0x2E) (R/W 8) Interrupt Flag Status and Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { // __I to avoid read-modify-write on write-to-clear register + struct { + __I uint8_t RESRDY:1; /*!< bit: 0 Result Ready Interrupt Flag */ + __I uint8_t OVERRUN:1; /*!< bit: 1 Overrun Interrupt Flag */ + __I uint8_t WINMON:1; /*!< bit: 2 Window Monitor Interrupt Flag */ + __I uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_INTFLAG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_INTFLAG_OFFSET 0x2E /**< \brief (ADC_INTFLAG offset) Interrupt Flag Status and Clear */ +#define ADC_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (ADC_INTFLAG reset_value) Interrupt Flag Status and Clear */ + +#define ADC_INTFLAG_RESRDY_Pos 0 /**< \brief (ADC_INTFLAG) Result Ready Interrupt Flag */ +#define ADC_INTFLAG_RESRDY (_U_(0x1) << ADC_INTFLAG_RESRDY_Pos) +#define ADC_INTFLAG_OVERRUN_Pos 1 /**< \brief (ADC_INTFLAG) Overrun Interrupt Flag */ +#define ADC_INTFLAG_OVERRUN (_U_(0x1) << ADC_INTFLAG_OVERRUN_Pos) +#define ADC_INTFLAG_WINMON_Pos 2 /**< \brief (ADC_INTFLAG) Window Monitor Interrupt Flag */ +#define ADC_INTFLAG_WINMON (_U_(0x1) << ADC_INTFLAG_WINMON_Pos) +#define ADC_INTFLAG_MASK _U_(0x07) /**< \brief (ADC_INTFLAG) MASK Register */ + +/* -------- ADC_STATUS : (ADC Offset: 0x2F) (R/ 8) Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t ADCBUSY:1; /*!< bit: 0 ADC Busy Status */ + uint8_t :1; /*!< bit: 1 Reserved */ + uint8_t WCC:6; /*!< bit: 2.. 7 Window Comparator Counter */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} ADC_STATUS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_STATUS_OFFSET 0x2F /**< \brief (ADC_STATUS offset) Status */ +#define ADC_STATUS_RESETVALUE _U_(0x00) /**< \brief (ADC_STATUS reset_value) Status */ + +#define ADC_STATUS_ADCBUSY_Pos 0 /**< \brief (ADC_STATUS) ADC Busy Status */ +#define ADC_STATUS_ADCBUSY (_U_(0x1) << ADC_STATUS_ADCBUSY_Pos) +#define ADC_STATUS_WCC_Pos 2 /**< \brief (ADC_STATUS) Window Comparator Counter */ +#define ADC_STATUS_WCC_Msk (_U_(0x3F) << ADC_STATUS_WCC_Pos) +#define ADC_STATUS_WCC(value) (ADC_STATUS_WCC_Msk & ((value) << ADC_STATUS_WCC_Pos)) +#define ADC_STATUS_MASK _U_(0xFD) /**< \brief (ADC_STATUS) MASK Register */ + +/* -------- ADC_SYNCBUSY : (ADC Offset: 0x30) (R/ 32) Synchronization Busy -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t SWRST:1; /*!< bit: 0 SWRST Synchronization Busy */ + uint32_t ENABLE:1; /*!< bit: 1 ENABLE Synchronization Busy */ + uint32_t INPUTCTRL:1; /*!< bit: 2 Input Control Synchronization Busy */ + uint32_t CTRLB:1; /*!< bit: 3 Control B Synchronization Busy */ + uint32_t REFCTRL:1; /*!< bit: 4 Reference Control Synchronization Busy */ + uint32_t AVGCTRL:1; /*!< bit: 5 Average Control Synchronization Busy */ + uint32_t SAMPCTRL:1; /*!< bit: 6 Sampling Time Control Synchronization Busy */ + uint32_t WINLT:1; /*!< bit: 7 Window Monitor Lower Threshold Synchronization Busy */ + uint32_t WINUT:1; /*!< bit: 8 Window Monitor Upper Threshold Synchronization Busy */ + uint32_t GAINCORR:1; /*!< bit: 9 Gain Correction Synchronization Busy */ + uint32_t OFFSETCORR:1; /*!< bit: 10 Offset Correction Synchronization Busy */ + uint32_t SWTRIG:1; /*!< bit: 11 Software Trigger Synchronization Busy */ + uint32_t :20; /*!< bit: 12..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} ADC_SYNCBUSY_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_SYNCBUSY_OFFSET 0x30 /**< \brief (ADC_SYNCBUSY offset) Synchronization Busy */ +#define ADC_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (ADC_SYNCBUSY reset_value) Synchronization Busy */ + +#define ADC_SYNCBUSY_SWRST_Pos 0 /**< \brief (ADC_SYNCBUSY) SWRST Synchronization Busy */ +#define ADC_SYNCBUSY_SWRST (_U_(0x1) << ADC_SYNCBUSY_SWRST_Pos) +#define ADC_SYNCBUSY_ENABLE_Pos 1 /**< \brief (ADC_SYNCBUSY) ENABLE Synchronization Busy */ +#define ADC_SYNCBUSY_ENABLE (_U_(0x1) << ADC_SYNCBUSY_ENABLE_Pos) +#define ADC_SYNCBUSY_INPUTCTRL_Pos 2 /**< \brief (ADC_SYNCBUSY) Input Control Synchronization Busy */ +#define ADC_SYNCBUSY_INPUTCTRL (_U_(0x1) << ADC_SYNCBUSY_INPUTCTRL_Pos) +#define ADC_SYNCBUSY_CTRLB_Pos 3 /**< \brief (ADC_SYNCBUSY) Control B Synchronization Busy */ +#define ADC_SYNCBUSY_CTRLB (_U_(0x1) << ADC_SYNCBUSY_CTRLB_Pos) +#define ADC_SYNCBUSY_REFCTRL_Pos 4 /**< \brief (ADC_SYNCBUSY) Reference Control Synchronization Busy */ +#define ADC_SYNCBUSY_REFCTRL (_U_(0x1) << ADC_SYNCBUSY_REFCTRL_Pos) +#define ADC_SYNCBUSY_AVGCTRL_Pos 5 /**< \brief (ADC_SYNCBUSY) Average Control Synchronization Busy */ +#define ADC_SYNCBUSY_AVGCTRL (_U_(0x1) << ADC_SYNCBUSY_AVGCTRL_Pos) +#define ADC_SYNCBUSY_SAMPCTRL_Pos 6 /**< \brief (ADC_SYNCBUSY) Sampling Time Control Synchronization Busy */ +#define ADC_SYNCBUSY_SAMPCTRL (_U_(0x1) << ADC_SYNCBUSY_SAMPCTRL_Pos) +#define ADC_SYNCBUSY_WINLT_Pos 7 /**< \brief (ADC_SYNCBUSY) Window Monitor Lower Threshold Synchronization Busy */ +#define ADC_SYNCBUSY_WINLT (_U_(0x1) << ADC_SYNCBUSY_WINLT_Pos) +#define ADC_SYNCBUSY_WINUT_Pos 8 /**< \brief (ADC_SYNCBUSY) Window Monitor Upper Threshold Synchronization Busy */ +#define ADC_SYNCBUSY_WINUT (_U_(0x1) << ADC_SYNCBUSY_WINUT_Pos) +#define ADC_SYNCBUSY_GAINCORR_Pos 9 /**< \brief (ADC_SYNCBUSY) Gain Correction Synchronization Busy */ +#define ADC_SYNCBUSY_GAINCORR (_U_(0x1) << ADC_SYNCBUSY_GAINCORR_Pos) +#define ADC_SYNCBUSY_OFFSETCORR_Pos 10 /**< \brief (ADC_SYNCBUSY) Offset Correction Synchronization Busy */ +#define ADC_SYNCBUSY_OFFSETCORR (_U_(0x1) << ADC_SYNCBUSY_OFFSETCORR_Pos) +#define ADC_SYNCBUSY_SWTRIG_Pos 11 /**< \brief (ADC_SYNCBUSY) Software Trigger Synchronization Busy */ +#define ADC_SYNCBUSY_SWTRIG (_U_(0x1) << ADC_SYNCBUSY_SWTRIG_Pos) +#define ADC_SYNCBUSY_MASK _U_(0x00000FFF) /**< \brief (ADC_SYNCBUSY) MASK Register */ + +/* -------- ADC_DSEQDATA : (ADC Offset: 0x34) ( /W 32) DMA Sequencial Data -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t DATA:32; /*!< bit: 0..31 DMA Sequential Data */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} ADC_DSEQDATA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_DSEQDATA_OFFSET 0x34 /**< \brief (ADC_DSEQDATA offset) DMA Sequencial Data */ +#define ADC_DSEQDATA_RESETVALUE _U_(0x00000000) /**< \brief (ADC_DSEQDATA reset_value) DMA Sequencial Data */ + +#define ADC_DSEQDATA_DATA_Pos 0 /**< \brief (ADC_DSEQDATA) DMA Sequential Data */ +#define ADC_DSEQDATA_DATA_Msk (_U_(0xFFFFFFFF) << ADC_DSEQDATA_DATA_Pos) +#define ADC_DSEQDATA_DATA(value) (ADC_DSEQDATA_DATA_Msk & ((value) << ADC_DSEQDATA_DATA_Pos)) +#define ADC_DSEQDATA_MASK _U_(0xFFFFFFFF) /**< \brief (ADC_DSEQDATA) MASK Register */ + +/* -------- ADC_DSEQCTRL : (ADC Offset: 0x38) (R/W 32) DMA Sequential Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t INPUTCTRL:1; /*!< bit: 0 Input Control */ + uint32_t CTRLB:1; /*!< bit: 1 Control B */ + uint32_t REFCTRL:1; /*!< bit: 2 Reference Control */ + uint32_t AVGCTRL:1; /*!< bit: 3 Average Control */ + uint32_t SAMPCTRL:1; /*!< bit: 4 Sampling Time Control */ + uint32_t WINLT:1; /*!< bit: 5 Window Monitor Lower Threshold */ + uint32_t WINUT:1; /*!< bit: 6 Window Monitor Upper Threshold */ + uint32_t GAINCORR:1; /*!< bit: 7 Gain Correction */ + uint32_t OFFSETCORR:1; /*!< bit: 8 Offset Correction */ + uint32_t :22; /*!< bit: 9..30 Reserved */ + uint32_t AUTOSTART:1; /*!< bit: 31 ADC Auto-Start Conversion */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} ADC_DSEQCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_DSEQCTRL_OFFSET 0x38 /**< \brief (ADC_DSEQCTRL offset) DMA Sequential Control */ +#define ADC_DSEQCTRL_RESETVALUE _U_(0x00000000) /**< \brief (ADC_DSEQCTRL reset_value) DMA Sequential Control */ + +#define ADC_DSEQCTRL_INPUTCTRL_Pos 0 /**< \brief (ADC_DSEQCTRL) Input Control */ +#define ADC_DSEQCTRL_INPUTCTRL (_U_(0x1) << ADC_DSEQCTRL_INPUTCTRL_Pos) +#define ADC_DSEQCTRL_CTRLB_Pos 1 /**< \brief (ADC_DSEQCTRL) Control B */ +#define ADC_DSEQCTRL_CTRLB (_U_(0x1) << ADC_DSEQCTRL_CTRLB_Pos) +#define ADC_DSEQCTRL_REFCTRL_Pos 2 /**< \brief (ADC_DSEQCTRL) Reference Control */ +#define ADC_DSEQCTRL_REFCTRL (_U_(0x1) << ADC_DSEQCTRL_REFCTRL_Pos) +#define ADC_DSEQCTRL_AVGCTRL_Pos 3 /**< \brief (ADC_DSEQCTRL) Average Control */ +#define ADC_DSEQCTRL_AVGCTRL (_U_(0x1) << ADC_DSEQCTRL_AVGCTRL_Pos) +#define ADC_DSEQCTRL_SAMPCTRL_Pos 4 /**< \brief (ADC_DSEQCTRL) Sampling Time Control */ +#define ADC_DSEQCTRL_SAMPCTRL (_U_(0x1) << ADC_DSEQCTRL_SAMPCTRL_Pos) +#define ADC_DSEQCTRL_WINLT_Pos 5 /**< \brief (ADC_DSEQCTRL) Window Monitor Lower Threshold */ +#define ADC_DSEQCTRL_WINLT (_U_(0x1) << ADC_DSEQCTRL_WINLT_Pos) +#define ADC_DSEQCTRL_WINUT_Pos 6 /**< \brief (ADC_DSEQCTRL) Window Monitor Upper Threshold */ +#define ADC_DSEQCTRL_WINUT (_U_(0x1) << ADC_DSEQCTRL_WINUT_Pos) +#define ADC_DSEQCTRL_GAINCORR_Pos 7 /**< \brief (ADC_DSEQCTRL) Gain Correction */ +#define ADC_DSEQCTRL_GAINCORR (_U_(0x1) << ADC_DSEQCTRL_GAINCORR_Pos) +#define ADC_DSEQCTRL_OFFSETCORR_Pos 8 /**< \brief (ADC_DSEQCTRL) Offset Correction */ +#define ADC_DSEQCTRL_OFFSETCORR (_U_(0x1) << ADC_DSEQCTRL_OFFSETCORR_Pos) +#define ADC_DSEQCTRL_AUTOSTART_Pos 31 /**< \brief (ADC_DSEQCTRL) ADC Auto-Start Conversion */ +#define ADC_DSEQCTRL_AUTOSTART (_U_(0x1) << ADC_DSEQCTRL_AUTOSTART_Pos) +#define ADC_DSEQCTRL_MASK _U_(0x800001FF) /**< \brief (ADC_DSEQCTRL) MASK Register */ + +/* -------- ADC_DSEQSTAT : (ADC Offset: 0x3C) (R/ 32) DMA Sequencial Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t INPUTCTRL:1; /*!< bit: 0 Input Control */ + uint32_t CTRLB:1; /*!< bit: 1 Control B */ + uint32_t REFCTRL:1; /*!< bit: 2 Reference Control */ + uint32_t AVGCTRL:1; /*!< bit: 3 Average Control */ + uint32_t SAMPCTRL:1; /*!< bit: 4 Sampling Time Control */ + uint32_t WINLT:1; /*!< bit: 5 Window Monitor Lower Threshold */ + uint32_t WINUT:1; /*!< bit: 6 Window Monitor Upper Threshold */ + uint32_t GAINCORR:1; /*!< bit: 7 Gain Correction */ + uint32_t OFFSETCORR:1; /*!< bit: 8 Offset Correction */ + uint32_t :22; /*!< bit: 9..30 Reserved */ + uint32_t BUSY:1; /*!< bit: 31 DMA Sequencing Busy */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} ADC_DSEQSTAT_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_DSEQSTAT_OFFSET 0x3C /**< \brief (ADC_DSEQSTAT offset) DMA Sequencial Status */ +#define ADC_DSEQSTAT_RESETVALUE _U_(0x00000000) /**< \brief (ADC_DSEQSTAT reset_value) DMA Sequencial Status */ + +#define ADC_DSEQSTAT_INPUTCTRL_Pos 0 /**< \brief (ADC_DSEQSTAT) Input Control */ +#define ADC_DSEQSTAT_INPUTCTRL (_U_(0x1) << ADC_DSEQSTAT_INPUTCTRL_Pos) +#define ADC_DSEQSTAT_CTRLB_Pos 1 /**< \brief (ADC_DSEQSTAT) Control B */ +#define ADC_DSEQSTAT_CTRLB (_U_(0x1) << ADC_DSEQSTAT_CTRLB_Pos) +#define ADC_DSEQSTAT_REFCTRL_Pos 2 /**< \brief (ADC_DSEQSTAT) Reference Control */ +#define ADC_DSEQSTAT_REFCTRL (_U_(0x1) << ADC_DSEQSTAT_REFCTRL_Pos) +#define ADC_DSEQSTAT_AVGCTRL_Pos 3 /**< \brief (ADC_DSEQSTAT) Average Control */ +#define ADC_DSEQSTAT_AVGCTRL (_U_(0x1) << ADC_DSEQSTAT_AVGCTRL_Pos) +#define ADC_DSEQSTAT_SAMPCTRL_Pos 4 /**< \brief (ADC_DSEQSTAT) Sampling Time Control */ +#define ADC_DSEQSTAT_SAMPCTRL (_U_(0x1) << ADC_DSEQSTAT_SAMPCTRL_Pos) +#define ADC_DSEQSTAT_WINLT_Pos 5 /**< \brief (ADC_DSEQSTAT) Window Monitor Lower Threshold */ +#define ADC_DSEQSTAT_WINLT (_U_(0x1) << ADC_DSEQSTAT_WINLT_Pos) +#define ADC_DSEQSTAT_WINUT_Pos 6 /**< \brief (ADC_DSEQSTAT) Window Monitor Upper Threshold */ +#define ADC_DSEQSTAT_WINUT (_U_(0x1) << ADC_DSEQSTAT_WINUT_Pos) +#define ADC_DSEQSTAT_GAINCORR_Pos 7 /**< \brief (ADC_DSEQSTAT) Gain Correction */ +#define ADC_DSEQSTAT_GAINCORR (_U_(0x1) << ADC_DSEQSTAT_GAINCORR_Pos) +#define ADC_DSEQSTAT_OFFSETCORR_Pos 8 /**< \brief (ADC_DSEQSTAT) Offset Correction */ +#define ADC_DSEQSTAT_OFFSETCORR (_U_(0x1) << ADC_DSEQSTAT_OFFSETCORR_Pos) +#define ADC_DSEQSTAT_BUSY_Pos 31 /**< \brief (ADC_DSEQSTAT) DMA Sequencing Busy */ +#define ADC_DSEQSTAT_BUSY (_U_(0x1) << ADC_DSEQSTAT_BUSY_Pos) +#define ADC_DSEQSTAT_MASK _U_(0x800001FF) /**< \brief (ADC_DSEQSTAT) MASK Register */ + +/* -------- ADC_RESULT : (ADC Offset: 0x40) (R/ 16) Result Conversion Value -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t RESULT:16; /*!< bit: 0..15 Result Conversion Value */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_RESULT_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_RESULT_OFFSET 0x40 /**< \brief (ADC_RESULT offset) Result Conversion Value */ +#define ADC_RESULT_RESETVALUE _U_(0x0000) /**< \brief (ADC_RESULT reset_value) Result Conversion Value */ + +#define ADC_RESULT_RESULT_Pos 0 /**< \brief (ADC_RESULT) Result Conversion Value */ +#define ADC_RESULT_RESULT_Msk (_U_(0xFFFF) << ADC_RESULT_RESULT_Pos) +#define ADC_RESULT_RESULT(value) (ADC_RESULT_RESULT_Msk & ((value) << ADC_RESULT_RESULT_Pos)) +#define ADC_RESULT_MASK _U_(0xFFFF) /**< \brief (ADC_RESULT) MASK Register */ + +/* -------- ADC_RESS : (ADC Offset: 0x44) (R/ 16) Last Sample Result -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t RESS:16; /*!< bit: 0..15 Last ADC conversion result */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_RESS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_RESS_OFFSET 0x44 /**< \brief (ADC_RESS offset) Last Sample Result */ +#define ADC_RESS_RESETVALUE _U_(0x0000) /**< \brief (ADC_RESS reset_value) Last Sample Result */ + +#define ADC_RESS_RESS_Pos 0 /**< \brief (ADC_RESS) Last ADC conversion result */ +#define ADC_RESS_RESS_Msk (_U_(0xFFFF) << ADC_RESS_RESS_Pos) +#define ADC_RESS_RESS(value) (ADC_RESS_RESS_Msk & ((value) << ADC_RESS_RESS_Pos)) +#define ADC_RESS_MASK _U_(0xFFFF) /**< \brief (ADC_RESS) MASK Register */ + +/* -------- ADC_CALIB : (ADC Offset: 0x48) (R/W 16) Calibration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t BIASCOMP:3; /*!< bit: 0.. 2 Bias Comparator Scaling */ + uint16_t :1; /*!< bit: 3 Reserved */ + uint16_t BIASR2R:3; /*!< bit: 4.. 6 Bias R2R Ampli scaling */ + uint16_t :1; /*!< bit: 7 Reserved */ + uint16_t BIASREFBUF:3; /*!< bit: 8..10 Bias Reference Buffer Scaling */ + uint16_t :5; /*!< bit: 11..15 Reserved */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} ADC_CALIB_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define ADC_CALIB_OFFSET 0x48 /**< \brief (ADC_CALIB offset) Calibration */ +#define ADC_CALIB_RESETVALUE _U_(0x0000) /**< \brief (ADC_CALIB reset_value) Calibration */ + +#define ADC_CALIB_BIASCOMP_Pos 0 /**< \brief (ADC_CALIB) Bias Comparator Scaling */ +#define ADC_CALIB_BIASCOMP_Msk (_U_(0x7) << ADC_CALIB_BIASCOMP_Pos) +#define ADC_CALIB_BIASCOMP(value) (ADC_CALIB_BIASCOMP_Msk & ((value) << ADC_CALIB_BIASCOMP_Pos)) +#define ADC_CALIB_BIASR2R_Pos 4 /**< \brief (ADC_CALIB) Bias R2R Ampli scaling */ +#define ADC_CALIB_BIASR2R_Msk (_U_(0x7) << ADC_CALIB_BIASR2R_Pos) +#define ADC_CALIB_BIASR2R(value) (ADC_CALIB_BIASR2R_Msk & ((value) << ADC_CALIB_BIASR2R_Pos)) +#define ADC_CALIB_BIASREFBUF_Pos 8 /**< \brief (ADC_CALIB) Bias Reference Buffer Scaling */ +#define ADC_CALIB_BIASREFBUF_Msk (_U_(0x7) << ADC_CALIB_BIASREFBUF_Pos) +#define ADC_CALIB_BIASREFBUF(value) (ADC_CALIB_BIASREFBUF_Msk & ((value) << ADC_CALIB_BIASREFBUF_Pos)) +#define ADC_CALIB_MASK _U_(0x0777) /**< \brief (ADC_CALIB) MASK Register */ + +/** \brief ADC hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO ADC_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 16) Control A */ + __IO ADC_EVCTRL_Type EVCTRL; /**< \brief Offset: 0x02 (R/W 8) Event Control */ + __IO ADC_DBGCTRL_Type DBGCTRL; /**< \brief Offset: 0x03 (R/W 8) Debug Control */ + __IO ADC_INPUTCTRL_Type INPUTCTRL; /**< \brief Offset: 0x04 (R/W 16) Input Control */ + __IO ADC_CTRLB_Type CTRLB; /**< \brief Offset: 0x06 (R/W 16) Control B */ + __IO ADC_REFCTRL_Type REFCTRL; /**< \brief Offset: 0x08 (R/W 8) Reference Control */ + RoReg8 Reserved1[0x1]; + __IO ADC_AVGCTRL_Type AVGCTRL; /**< \brief Offset: 0x0A (R/W 8) Average Control */ + __IO ADC_SAMPCTRL_Type SAMPCTRL; /**< \brief Offset: 0x0B (R/W 8) Sample Time Control */ + __IO ADC_WINLT_Type WINLT; /**< \brief Offset: 0x0C (R/W 16) Window Monitor Lower Threshold */ + __IO ADC_WINUT_Type WINUT; /**< \brief Offset: 0x0E (R/W 16) Window Monitor Upper Threshold */ + __IO ADC_GAINCORR_Type GAINCORR; /**< \brief Offset: 0x10 (R/W 16) Gain Correction */ + __IO ADC_OFFSETCORR_Type OFFSETCORR; /**< \brief Offset: 0x12 (R/W 16) Offset Correction */ + __IO ADC_SWTRIG_Type SWTRIG; /**< \brief Offset: 0x14 (R/W 8) Software Trigger */ + RoReg8 Reserved2[0x17]; + __IO ADC_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x2C (R/W 8) Interrupt Enable Clear */ + __IO ADC_INTENSET_Type INTENSET; /**< \brief Offset: 0x2D (R/W 8) Interrupt Enable Set */ + __IO ADC_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x2E (R/W 8) Interrupt Flag Status and Clear */ + __I ADC_STATUS_Type STATUS; /**< \brief Offset: 0x2F (R/ 8) Status */ + __I ADC_SYNCBUSY_Type SYNCBUSY; /**< \brief Offset: 0x30 (R/ 32) Synchronization Busy */ + __O ADC_DSEQDATA_Type DSEQDATA; /**< \brief Offset: 0x34 ( /W 32) DMA Sequencial Data */ + __IO ADC_DSEQCTRL_Type DSEQCTRL; /**< \brief Offset: 0x38 (R/W 32) DMA Sequential Control */ + __I ADC_DSEQSTAT_Type DSEQSTAT; /**< \brief Offset: 0x3C (R/ 32) DMA Sequencial Status */ + __I ADC_RESULT_Type RESULT; /**< \brief Offset: 0x40 (R/ 16) Result Conversion Value */ + RoReg8 Reserved3[0x2]; + __I ADC_RESS_Type RESS; /**< \brief Offset: 0x44 (R/ 16) Last Sample Result */ + RoReg8 Reserved4[0x2]; + __IO ADC_CALIB_Type CALIB; /**< \brief Offset: 0x48 (R/W 16) Calibration */ +} Adc; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/*@}*/ + +#endif /* _SAME54_ADC_COMPONENT_ */ diff --git a/lib/same54/include/component/aes.h b/lib/same54/include/component/aes.h new file mode 100644 index 00000000..338245f6 --- /dev/null +++ b/lib/same54/include/component/aes.h @@ -0,0 +1,374 @@ +/** + * \file + * + * \brief Component description for AES + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_AES_COMPONENT_ +#define _SAME54_AES_COMPONENT_ + +/* ========================================================================== */ +/** SOFTWARE API DEFINITION FOR AES */ +/* ========================================================================== */ +/** \addtogroup SAME54_AES Advanced Encryption Standard */ +/*@{*/ + +#define AES_U2238 +#define REV_AES 0x220 + +/* -------- AES_CTRLA : (AES Offset: 0x00) (R/W 32) Control A -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t SWRST:1; /*!< bit: 0 Software Reset */ + uint32_t ENABLE:1; /*!< bit: 1 Enable */ + uint32_t AESMODE:3; /*!< bit: 2.. 4 AES Modes of operation */ + uint32_t CFBS:3; /*!< bit: 5.. 7 Cipher Feedback Block Size */ + uint32_t KEYSIZE:2; /*!< bit: 8.. 9 Encryption Key Size */ + uint32_t CIPHER:1; /*!< bit: 10 Cipher Mode */ + uint32_t STARTMODE:1; /*!< bit: 11 Start Mode Select */ + uint32_t LOD:1; /*!< bit: 12 Last Output Data Mode */ + uint32_t KEYGEN:1; /*!< bit: 13 Last Key Generation */ + uint32_t XORKEY:1; /*!< bit: 14 XOR Key Operation */ + uint32_t :1; /*!< bit: 15 Reserved */ + uint32_t CTYPE:4; /*!< bit: 16..19 Counter Measure Type */ + uint32_t :12; /*!< bit: 20..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} AES_CTRLA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_CTRLA_OFFSET 0x00 /**< \brief (AES_CTRLA offset) Control A */ +#define AES_CTRLA_RESETVALUE _U_(0x00000000) /**< \brief (AES_CTRLA reset_value) Control A */ + +#define AES_CTRLA_SWRST_Pos 0 /**< \brief (AES_CTRLA) Software Reset */ +#define AES_CTRLA_SWRST (_U_(0x1) << AES_CTRLA_SWRST_Pos) +#define AES_CTRLA_ENABLE_Pos 1 /**< \brief (AES_CTRLA) Enable */ +#define AES_CTRLA_ENABLE (_U_(0x1) << AES_CTRLA_ENABLE_Pos) +#define AES_CTRLA_AESMODE_Pos 2 /**< \brief (AES_CTRLA) AES Modes of operation */ +#define AES_CTRLA_AESMODE_Msk (_U_(0x7) << AES_CTRLA_AESMODE_Pos) +#define AES_CTRLA_AESMODE(value) (AES_CTRLA_AESMODE_Msk & ((value) << AES_CTRLA_AESMODE_Pos)) +#define AES_CTRLA_AESMODE_ECB_Val _U_(0x0) /**< \brief (AES_CTRLA) Electronic code book mode */ +#define AES_CTRLA_AESMODE_CBC_Val _U_(0x1) /**< \brief (AES_CTRLA) Cipher block chaining mode */ +#define AES_CTRLA_AESMODE_OFB_Val _U_(0x2) /**< \brief (AES_CTRLA) Output feedback mode */ +#define AES_CTRLA_AESMODE_CFB_Val _U_(0x3) /**< \brief (AES_CTRLA) Cipher feedback mode */ +#define AES_CTRLA_AESMODE_COUNTER_Val _U_(0x4) /**< \brief (AES_CTRLA) Counter mode */ +#define AES_CTRLA_AESMODE_CCM_Val _U_(0x5) /**< \brief (AES_CTRLA) CCM mode */ +#define AES_CTRLA_AESMODE_GCM_Val _U_(0x6) /**< \brief (AES_CTRLA) Galois counter mode */ +#define AES_CTRLA_AESMODE_ECB (AES_CTRLA_AESMODE_ECB_Val << AES_CTRLA_AESMODE_Pos) +#define AES_CTRLA_AESMODE_CBC (AES_CTRLA_AESMODE_CBC_Val << AES_CTRLA_AESMODE_Pos) +#define AES_CTRLA_AESMODE_OFB (AES_CTRLA_AESMODE_OFB_Val << AES_CTRLA_AESMODE_Pos) +#define AES_CTRLA_AESMODE_CFB (AES_CTRLA_AESMODE_CFB_Val << AES_CTRLA_AESMODE_Pos) +#define AES_CTRLA_AESMODE_COUNTER (AES_CTRLA_AESMODE_COUNTER_Val << AES_CTRLA_AESMODE_Pos) +#define AES_CTRLA_AESMODE_CCM (AES_CTRLA_AESMODE_CCM_Val << AES_CTRLA_AESMODE_Pos) +#define AES_CTRLA_AESMODE_GCM (AES_CTRLA_AESMODE_GCM_Val << AES_CTRLA_AESMODE_Pos) +#define AES_CTRLA_CFBS_Pos 5 /**< \brief (AES_CTRLA) Cipher Feedback Block Size */ +#define AES_CTRLA_CFBS_Msk (_U_(0x7) << AES_CTRLA_CFBS_Pos) +#define AES_CTRLA_CFBS(value) (AES_CTRLA_CFBS_Msk & ((value) << AES_CTRLA_CFBS_Pos)) +#define AES_CTRLA_CFBS_128BIT_Val _U_(0x0) /**< \brief (AES_CTRLA) 128-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ +#define AES_CTRLA_CFBS_64BIT_Val _U_(0x1) /**< \brief (AES_CTRLA) 64-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ +#define AES_CTRLA_CFBS_32BIT_Val _U_(0x2) /**< \brief (AES_CTRLA) 32-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ +#define AES_CTRLA_CFBS_16BIT_Val _U_(0x3) /**< \brief (AES_CTRLA) 16-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ +#define AES_CTRLA_CFBS_8BIT_Val _U_(0x4) /**< \brief (AES_CTRLA) 8-bit Input data block for Encryption/Decryption in Cipher Feedback mode */ +#define AES_CTRLA_CFBS_128BIT (AES_CTRLA_CFBS_128BIT_Val << AES_CTRLA_CFBS_Pos) +#define AES_CTRLA_CFBS_64BIT (AES_CTRLA_CFBS_64BIT_Val << AES_CTRLA_CFBS_Pos) +#define AES_CTRLA_CFBS_32BIT (AES_CTRLA_CFBS_32BIT_Val << AES_CTRLA_CFBS_Pos) +#define AES_CTRLA_CFBS_16BIT (AES_CTRLA_CFBS_16BIT_Val << AES_CTRLA_CFBS_Pos) +#define AES_CTRLA_CFBS_8BIT (AES_CTRLA_CFBS_8BIT_Val << AES_CTRLA_CFBS_Pos) +#define AES_CTRLA_KEYSIZE_Pos 8 /**< \brief (AES_CTRLA) Encryption Key Size */ +#define AES_CTRLA_KEYSIZE_Msk (_U_(0x3) << AES_CTRLA_KEYSIZE_Pos) +#define AES_CTRLA_KEYSIZE(value) (AES_CTRLA_KEYSIZE_Msk & ((value) << AES_CTRLA_KEYSIZE_Pos)) +#define AES_CTRLA_KEYSIZE_128BIT_Val _U_(0x0) /**< \brief (AES_CTRLA) 128-bit Key for Encryption / Decryption */ +#define AES_CTRLA_KEYSIZE_192BIT_Val _U_(0x1) /**< \brief (AES_CTRLA) 192-bit Key for Encryption / Decryption */ +#define AES_CTRLA_KEYSIZE_256BIT_Val _U_(0x2) /**< \brief (AES_CTRLA) 256-bit Key for Encryption / Decryption */ +#define AES_CTRLA_KEYSIZE_128BIT (AES_CTRLA_KEYSIZE_128BIT_Val << AES_CTRLA_KEYSIZE_Pos) +#define AES_CTRLA_KEYSIZE_192BIT (AES_CTRLA_KEYSIZE_192BIT_Val << AES_CTRLA_KEYSIZE_Pos) +#define AES_CTRLA_KEYSIZE_256BIT (AES_CTRLA_KEYSIZE_256BIT_Val << AES_CTRLA_KEYSIZE_Pos) +#define AES_CTRLA_CIPHER_Pos 10 /**< \brief (AES_CTRLA) Cipher Mode */ +#define AES_CTRLA_CIPHER (_U_(0x1) << AES_CTRLA_CIPHER_Pos) +#define AES_CTRLA_CIPHER_DEC_Val _U_(0x0) /**< \brief (AES_CTRLA) Decryption */ +#define AES_CTRLA_CIPHER_ENC_Val _U_(0x1) /**< \brief (AES_CTRLA) Encryption */ +#define AES_CTRLA_CIPHER_DEC (AES_CTRLA_CIPHER_DEC_Val << AES_CTRLA_CIPHER_Pos) +#define AES_CTRLA_CIPHER_ENC (AES_CTRLA_CIPHER_ENC_Val << AES_CTRLA_CIPHER_Pos) +#define AES_CTRLA_STARTMODE_Pos 11 /**< \brief (AES_CTRLA) Start Mode Select */ +#define AES_CTRLA_STARTMODE (_U_(0x1) << AES_CTRLA_STARTMODE_Pos) +#define AES_CTRLA_STARTMODE_MANUAL_Val _U_(0x0) /**< \brief (AES_CTRLA) Start Encryption / Decryption in Manual mode */ +#define AES_CTRLA_STARTMODE_AUTO_Val _U_(0x1) /**< \brief (AES_CTRLA) Start Encryption / Decryption in Auto mode */ +#define AES_CTRLA_STARTMODE_MANUAL (AES_CTRLA_STARTMODE_MANUAL_Val << AES_CTRLA_STARTMODE_Pos) +#define AES_CTRLA_STARTMODE_AUTO (AES_CTRLA_STARTMODE_AUTO_Val << AES_CTRLA_STARTMODE_Pos) +#define AES_CTRLA_LOD_Pos 12 /**< \brief (AES_CTRLA) Last Output Data Mode */ +#define AES_CTRLA_LOD (_U_(0x1) << AES_CTRLA_LOD_Pos) +#define AES_CTRLA_LOD_NONE_Val _U_(0x0) /**< \brief (AES_CTRLA) No effect */ +#define AES_CTRLA_LOD_LAST_Val _U_(0x1) /**< \brief (AES_CTRLA) Start encryption in Last Output Data mode */ +#define AES_CTRLA_LOD_NONE (AES_CTRLA_LOD_NONE_Val << AES_CTRLA_LOD_Pos) +#define AES_CTRLA_LOD_LAST (AES_CTRLA_LOD_LAST_Val << AES_CTRLA_LOD_Pos) +#define AES_CTRLA_KEYGEN_Pos 13 /**< \brief (AES_CTRLA) Last Key Generation */ +#define AES_CTRLA_KEYGEN (_U_(0x1) << AES_CTRLA_KEYGEN_Pos) +#define AES_CTRLA_KEYGEN_NONE_Val _U_(0x0) /**< \brief (AES_CTRLA) No effect */ +#define AES_CTRLA_KEYGEN_LAST_Val _U_(0x1) /**< \brief (AES_CTRLA) Start Computation of the last NK words of the expanded key */ +#define AES_CTRLA_KEYGEN_NONE (AES_CTRLA_KEYGEN_NONE_Val << AES_CTRLA_KEYGEN_Pos) +#define AES_CTRLA_KEYGEN_LAST (AES_CTRLA_KEYGEN_LAST_Val << AES_CTRLA_KEYGEN_Pos) +#define AES_CTRLA_XORKEY_Pos 14 /**< \brief (AES_CTRLA) XOR Key Operation */ +#define AES_CTRLA_XORKEY (_U_(0x1) << AES_CTRLA_XORKEY_Pos) +#define AES_CTRLA_XORKEY_NONE_Val _U_(0x0) /**< \brief (AES_CTRLA) No effect */ +#define AES_CTRLA_XORKEY_XOR_Val _U_(0x1) /**< \brief (AES_CTRLA) The user keyword gets XORed with the previous keyword register content. */ +#define AES_CTRLA_XORKEY_NONE (AES_CTRLA_XORKEY_NONE_Val << AES_CTRLA_XORKEY_Pos) +#define AES_CTRLA_XORKEY_XOR (AES_CTRLA_XORKEY_XOR_Val << AES_CTRLA_XORKEY_Pos) +#define AES_CTRLA_CTYPE_Pos 16 /**< \brief (AES_CTRLA) Counter Measure Type */ +#define AES_CTRLA_CTYPE_Msk (_U_(0xF) << AES_CTRLA_CTYPE_Pos) +#define AES_CTRLA_CTYPE(value) (AES_CTRLA_CTYPE_Msk & ((value) << AES_CTRLA_CTYPE_Pos)) +#define AES_CTRLA_MASK _U_(0x000F7FFF) /**< \brief (AES_CTRLA) MASK Register */ + +/* -------- AES_CTRLB : (AES Offset: 0x04) (R/W 8) Control B -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t START:1; /*!< bit: 0 Start Encryption/Decryption */ + uint8_t NEWMSG:1; /*!< bit: 1 New message */ + uint8_t EOM:1; /*!< bit: 2 End of message */ + uint8_t GFMUL:1; /*!< bit: 3 GF Multiplication */ + uint8_t :4; /*!< bit: 4.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AES_CTRLB_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_CTRLB_OFFSET 0x04 /**< \brief (AES_CTRLB offset) Control B */ +#define AES_CTRLB_RESETVALUE _U_(0x00) /**< \brief (AES_CTRLB reset_value) Control B */ + +#define AES_CTRLB_START_Pos 0 /**< \brief (AES_CTRLB) Start Encryption/Decryption */ +#define AES_CTRLB_START (_U_(0x1) << AES_CTRLB_START_Pos) +#define AES_CTRLB_NEWMSG_Pos 1 /**< \brief (AES_CTRLB) New message */ +#define AES_CTRLB_NEWMSG (_U_(0x1) << AES_CTRLB_NEWMSG_Pos) +#define AES_CTRLB_EOM_Pos 2 /**< \brief (AES_CTRLB) End of message */ +#define AES_CTRLB_EOM (_U_(0x1) << AES_CTRLB_EOM_Pos) +#define AES_CTRLB_GFMUL_Pos 3 /**< \brief (AES_CTRLB) GF Multiplication */ +#define AES_CTRLB_GFMUL (_U_(0x1) << AES_CTRLB_GFMUL_Pos) +#define AES_CTRLB_MASK _U_(0x0F) /**< \brief (AES_CTRLB) MASK Register */ + +/* -------- AES_INTENCLR : (AES Offset: 0x05) (R/W 8) Interrupt Enable Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t ENCCMP:1; /*!< bit: 0 Encryption Complete Interrupt Enable */ + uint8_t GFMCMP:1; /*!< bit: 1 GF Multiplication Complete Interrupt Enable */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AES_INTENCLR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_INTENCLR_OFFSET 0x05 /**< \brief (AES_INTENCLR offset) Interrupt Enable Clear */ +#define AES_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (AES_INTENCLR reset_value) Interrupt Enable Clear */ + +#define AES_INTENCLR_ENCCMP_Pos 0 /**< \brief (AES_INTENCLR) Encryption Complete Interrupt Enable */ +#define AES_INTENCLR_ENCCMP (_U_(0x1) << AES_INTENCLR_ENCCMP_Pos) +#define AES_INTENCLR_GFMCMP_Pos 1 /**< \brief (AES_INTENCLR) GF Multiplication Complete Interrupt Enable */ +#define AES_INTENCLR_GFMCMP (_U_(0x1) << AES_INTENCLR_GFMCMP_Pos) +#define AES_INTENCLR_MASK _U_(0x03) /**< \brief (AES_INTENCLR) MASK Register */ + +/* -------- AES_INTENSET : (AES Offset: 0x06) (R/W 8) Interrupt Enable Set -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t ENCCMP:1; /*!< bit: 0 Encryption Complete Interrupt Enable */ + uint8_t GFMCMP:1; /*!< bit: 1 GF Multiplication Complete Interrupt Enable */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AES_INTENSET_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_INTENSET_OFFSET 0x06 /**< \brief (AES_INTENSET offset) Interrupt Enable Set */ +#define AES_INTENSET_RESETVALUE _U_(0x00) /**< \brief (AES_INTENSET reset_value) Interrupt Enable Set */ + +#define AES_INTENSET_ENCCMP_Pos 0 /**< \brief (AES_INTENSET) Encryption Complete Interrupt Enable */ +#define AES_INTENSET_ENCCMP (_U_(0x1) << AES_INTENSET_ENCCMP_Pos) +#define AES_INTENSET_GFMCMP_Pos 1 /**< \brief (AES_INTENSET) GF Multiplication Complete Interrupt Enable */ +#define AES_INTENSET_GFMCMP (_U_(0x1) << AES_INTENSET_GFMCMP_Pos) +#define AES_INTENSET_MASK _U_(0x03) /**< \brief (AES_INTENSET) MASK Register */ + +/* -------- AES_INTFLAG : (AES Offset: 0x07) (R/W 8) Interrupt Flag Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { // __I to avoid read-modify-write on write-to-clear register + struct { + __I uint8_t ENCCMP:1; /*!< bit: 0 Encryption Complete */ + __I uint8_t GFMCMP:1; /*!< bit: 1 GF Multiplication Complete */ + __I uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AES_INTFLAG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_INTFLAG_OFFSET 0x07 /**< \brief (AES_INTFLAG offset) Interrupt Flag Status */ +#define AES_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (AES_INTFLAG reset_value) Interrupt Flag Status */ + +#define AES_INTFLAG_ENCCMP_Pos 0 /**< \brief (AES_INTFLAG) Encryption Complete */ +#define AES_INTFLAG_ENCCMP (_U_(0x1) << AES_INTFLAG_ENCCMP_Pos) +#define AES_INTFLAG_GFMCMP_Pos 1 /**< \brief (AES_INTFLAG) GF Multiplication Complete */ +#define AES_INTFLAG_GFMCMP (_U_(0x1) << AES_INTFLAG_GFMCMP_Pos) +#define AES_INTFLAG_MASK _U_(0x03) /**< \brief (AES_INTFLAG) MASK Register */ + +/* -------- AES_DATABUFPTR : (AES Offset: 0x08) (R/W 8) Data buffer pointer -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t INDATAPTR:2; /*!< bit: 0.. 1 Input Data Pointer */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AES_DATABUFPTR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_DATABUFPTR_OFFSET 0x08 /**< \brief (AES_DATABUFPTR offset) Data buffer pointer */ +#define AES_DATABUFPTR_RESETVALUE _U_(0x00) /**< \brief (AES_DATABUFPTR reset_value) Data buffer pointer */ + +#define AES_DATABUFPTR_INDATAPTR_Pos 0 /**< \brief (AES_DATABUFPTR) Input Data Pointer */ +#define AES_DATABUFPTR_INDATAPTR_Msk (_U_(0x3) << AES_DATABUFPTR_INDATAPTR_Pos) +#define AES_DATABUFPTR_INDATAPTR(value) (AES_DATABUFPTR_INDATAPTR_Msk & ((value) << AES_DATABUFPTR_INDATAPTR_Pos)) +#define AES_DATABUFPTR_MASK _U_(0x03) /**< \brief (AES_DATABUFPTR) MASK Register */ + +/* -------- AES_DBGCTRL : (AES Offset: 0x09) (R/W 8) Debug control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ + uint8_t :7; /*!< bit: 1.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} AES_DBGCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_DBGCTRL_OFFSET 0x09 /**< \brief (AES_DBGCTRL offset) Debug control */ +#define AES_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (AES_DBGCTRL reset_value) Debug control */ + +#define AES_DBGCTRL_DBGRUN_Pos 0 /**< \brief (AES_DBGCTRL) Debug Run */ +#define AES_DBGCTRL_DBGRUN (_U_(0x1) << AES_DBGCTRL_DBGRUN_Pos) +#define AES_DBGCTRL_MASK _U_(0x01) /**< \brief (AES_DBGCTRL) MASK Register */ + +/* -------- AES_KEYWORD : (AES Offset: 0x0C) ( /W 32) Keyword n -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + uint32_t reg; /*!< Type used for register access */ +} AES_KEYWORD_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_KEYWORD_OFFSET 0x0C /**< \brief (AES_KEYWORD offset) Keyword n */ +#define AES_KEYWORD_RESETVALUE _U_(0x00000000) /**< \brief (AES_KEYWORD reset_value) Keyword n */ +#define AES_KEYWORD_MASK _U_(0xFFFFFFFF) /**< \brief (AES_KEYWORD) MASK Register */ + +/* -------- AES_INDATA : (AES Offset: 0x38) (R/W 32) Indata -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + uint32_t reg; /*!< Type used for register access */ +} AES_INDATA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_INDATA_OFFSET 0x38 /**< \brief (AES_INDATA offset) Indata */ +#define AES_INDATA_RESETVALUE _U_(0x00000000) /**< \brief (AES_INDATA reset_value) Indata */ +#define AES_INDATA_MASK _U_(0xFFFFFFFF) /**< \brief (AES_INDATA) MASK Register */ + +/* -------- AES_INTVECTV : (AES Offset: 0x3C) ( /W 32) Initialisation Vector n -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + uint32_t reg; /*!< Type used for register access */ +} AES_INTVECTV_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_INTVECTV_OFFSET 0x3C /**< \brief (AES_INTVECTV offset) Initialisation Vector n */ +#define AES_INTVECTV_RESETVALUE _U_(0x00000000) /**< \brief (AES_INTVECTV reset_value) Initialisation Vector n */ +#define AES_INTVECTV_MASK _U_(0xFFFFFFFF) /**< \brief (AES_INTVECTV) MASK Register */ + +/* -------- AES_HASHKEY : (AES Offset: 0x5C) (R/W 32) Hash key n -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + uint32_t reg; /*!< Type used for register access */ +} AES_HASHKEY_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_HASHKEY_OFFSET 0x5C /**< \brief (AES_HASHKEY offset) Hash key n */ +#define AES_HASHKEY_RESETVALUE _U_(0x00000000) /**< \brief (AES_HASHKEY reset_value) Hash key n */ +#define AES_HASHKEY_MASK _U_(0xFFFFFFFF) /**< \brief (AES_HASHKEY) MASK Register */ + +/* -------- AES_GHASH : (AES Offset: 0x6C) (R/W 32) Galois Hash n -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + uint32_t reg; /*!< Type used for register access */ +} AES_GHASH_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_GHASH_OFFSET 0x6C /**< \brief (AES_GHASH offset) Galois Hash n */ +#define AES_GHASH_RESETVALUE _U_(0x00000000) /**< \brief (AES_GHASH reset_value) Galois Hash n */ +#define AES_GHASH_MASK _U_(0xFFFFFFFF) /**< \brief (AES_GHASH) MASK Register */ + +/* -------- AES_CIPLEN : (AES Offset: 0x80) (R/W 32) Cipher Length -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + uint32_t reg; /*!< Type used for register access */ +} AES_CIPLEN_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_CIPLEN_OFFSET 0x80 /**< \brief (AES_CIPLEN offset) Cipher Length */ +#define AES_CIPLEN_RESETVALUE _U_(0x00000000) /**< \brief (AES_CIPLEN reset_value) Cipher Length */ +#define AES_CIPLEN_MASK _U_(0xFFFFFFFF) /**< \brief (AES_CIPLEN) MASK Register */ + +/* -------- AES_RANDSEED : (AES Offset: 0x84) (R/W 32) Random Seed -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + uint32_t reg; /*!< Type used for register access */ +} AES_RANDSEED_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define AES_RANDSEED_OFFSET 0x84 /**< \brief (AES_RANDSEED offset) Random Seed */ +#define AES_RANDSEED_RESETVALUE _U_(0x00000000) /**< \brief (AES_RANDSEED reset_value) Random Seed */ +#define AES_RANDSEED_MASK _U_(0xFFFFFFFF) /**< \brief (AES_RANDSEED) MASK Register */ + +/** \brief AES hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO AES_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 32) Control A */ + __IO AES_CTRLB_Type CTRLB; /**< \brief Offset: 0x04 (R/W 8) Control B */ + __IO AES_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x05 (R/W 8) Interrupt Enable Clear */ + __IO AES_INTENSET_Type INTENSET; /**< \brief Offset: 0x06 (R/W 8) Interrupt Enable Set */ + __IO AES_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x07 (R/W 8) Interrupt Flag Status */ + __IO AES_DATABUFPTR_Type DATABUFPTR; /**< \brief Offset: 0x08 (R/W 8) Data buffer pointer */ + __IO AES_DBGCTRL_Type DBGCTRL; /**< \brief Offset: 0x09 (R/W 8) Debug control */ + RoReg8 Reserved1[0x2]; + __O AES_KEYWORD_Type KEYWORD[8]; /**< \brief Offset: 0x0C ( /W 32) Keyword n */ + RoReg8 Reserved2[0xC]; + __IO AES_INDATA_Type INDATA; /**< \brief Offset: 0x38 (R/W 32) Indata */ + __O AES_INTVECTV_Type INTVECTV[4]; /**< \brief Offset: 0x3C ( /W 32) Initialisation Vector n */ + RoReg8 Reserved3[0x10]; + __IO AES_HASHKEY_Type HASHKEY[4]; /**< \brief Offset: 0x5C (R/W 32) Hash key n */ + __IO AES_GHASH_Type GHASH[4]; /**< \brief Offset: 0x6C (R/W 32) Galois Hash n */ + RoReg8 Reserved4[0x4]; + __IO AES_CIPLEN_Type CIPLEN; /**< \brief Offset: 0x80 (R/W 32) Cipher Length */ + __IO AES_RANDSEED_Type RANDSEED; /**< \brief Offset: 0x84 (R/W 32) Random Seed */ +} Aes; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/*@}*/ + +#endif /* _SAME54_AES_COMPONENT_ */ diff --git a/lib/same54/include/component/can.h b/lib/same54/include/component/can.h new file mode 100644 index 00000000..371daa10 --- /dev/null +++ b/lib/same54/include/component/can.h @@ -0,0 +1,3192 @@ +/** + * \file + * + * \brief Component description for CAN + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_CAN_COMPONENT_ +#define _SAME54_CAN_COMPONENT_ + +/* ========================================================================== */ +/** SOFTWARE API DEFINITION FOR CAN */ +/* ========================================================================== */ +/** \addtogroup SAME54_CAN Control Area Network */ +/*@{*/ + +#define CAN_U2003 +#define REV_CAN 0x321 + +/* -------- CAN_CREL : (CAN Offset: 0x00) (R/ 32) Core Release -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t :20; /*!< bit: 0..19 Reserved */ + uint32_t SUBSTEP:4; /*!< bit: 20..23 Sub-step of Core Release */ + uint32_t STEP:4; /*!< bit: 24..27 Step of Core Release */ + uint32_t REL:4; /*!< bit: 28..31 Core Release */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_CREL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_CREL_OFFSET 0x00 /**< \brief (CAN_CREL offset) Core Release */ +#define CAN_CREL_RESETVALUE _U_(0x32100000) /**< \brief (CAN_CREL reset_value) Core Release */ + +#define CAN_CREL_SUBSTEP_Pos 20 /**< \brief (CAN_CREL) Sub-step of Core Release */ +#define CAN_CREL_SUBSTEP_Msk (_U_(0xF) << CAN_CREL_SUBSTEP_Pos) +#define CAN_CREL_SUBSTEP(value) (CAN_CREL_SUBSTEP_Msk & ((value) << CAN_CREL_SUBSTEP_Pos)) +#define CAN_CREL_STEP_Pos 24 /**< \brief (CAN_CREL) Step of Core Release */ +#define CAN_CREL_STEP_Msk (_U_(0xF) << CAN_CREL_STEP_Pos) +#define CAN_CREL_STEP(value) (CAN_CREL_STEP_Msk & ((value) << CAN_CREL_STEP_Pos)) +#define CAN_CREL_REL_Pos 28 /**< \brief (CAN_CREL) Core Release */ +#define CAN_CREL_REL_Msk (_U_(0xF) << CAN_CREL_REL_Pos) +#define CAN_CREL_REL(value) (CAN_CREL_REL_Msk & ((value) << CAN_CREL_REL_Pos)) +#define CAN_CREL_MASK _U_(0xFFF00000) /**< \brief (CAN_CREL) MASK Register */ + +/* -------- CAN_ENDN : (CAN Offset: 0x04) (R/ 32) Endian -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ETV:32; /*!< bit: 0..31 Endianness Test Value */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_ENDN_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_ENDN_OFFSET 0x04 /**< \brief (CAN_ENDN offset) Endian */ +#define CAN_ENDN_RESETVALUE _U_(0x87654321) /**< \brief (CAN_ENDN reset_value) Endian */ + +#define CAN_ENDN_ETV_Pos 0 /**< \brief (CAN_ENDN) Endianness Test Value */ +#define CAN_ENDN_ETV_Msk (_U_(0xFFFFFFFF) << CAN_ENDN_ETV_Pos) +#define CAN_ENDN_ETV(value) (CAN_ENDN_ETV_Msk & ((value) << CAN_ENDN_ETV_Pos)) +#define CAN_ENDN_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_ENDN) MASK Register */ + +/* -------- CAN_MRCFG : (CAN Offset: 0x08) (R/W 32) Message RAM Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t QOS:2; /*!< bit: 0.. 1 Quality of Service */ + uint32_t :30; /*!< bit: 2..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_MRCFG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_MRCFG_OFFSET 0x08 /**< \brief (CAN_MRCFG offset) Message RAM Configuration */ +#define CAN_MRCFG_RESETVALUE _U_(0x00000002) /**< \brief (CAN_MRCFG reset_value) Message RAM Configuration */ + +#define CAN_MRCFG_QOS_Pos 0 /**< \brief (CAN_MRCFG) Quality of Service */ +#define CAN_MRCFG_QOS_Msk (_U_(0x3) << CAN_MRCFG_QOS_Pos) +#define CAN_MRCFG_QOS(value) (CAN_MRCFG_QOS_Msk & ((value) << CAN_MRCFG_QOS_Pos)) +#define CAN_MRCFG_QOS_DISABLE_Val _U_(0x0) /**< \brief (CAN_MRCFG) Background (no sensitive operation) */ +#define CAN_MRCFG_QOS_LOW_Val _U_(0x1) /**< \brief (CAN_MRCFG) Sensitive Bandwidth */ +#define CAN_MRCFG_QOS_MEDIUM_Val _U_(0x2) /**< \brief (CAN_MRCFG) Sensitive Latency */ +#define CAN_MRCFG_QOS_HIGH_Val _U_(0x3) /**< \brief (CAN_MRCFG) Critical Latency */ +#define CAN_MRCFG_QOS_DISABLE (CAN_MRCFG_QOS_DISABLE_Val << CAN_MRCFG_QOS_Pos) +#define CAN_MRCFG_QOS_LOW (CAN_MRCFG_QOS_LOW_Val << CAN_MRCFG_QOS_Pos) +#define CAN_MRCFG_QOS_MEDIUM (CAN_MRCFG_QOS_MEDIUM_Val << CAN_MRCFG_QOS_Pos) +#define CAN_MRCFG_QOS_HIGH (CAN_MRCFG_QOS_HIGH_Val << CAN_MRCFG_QOS_Pos) +#define CAN_MRCFG_MASK _U_(0x00000003) /**< \brief (CAN_MRCFG) MASK Register */ + +/* -------- CAN_DBTP : (CAN Offset: 0x0C) (R/W 32) Fast Bit Timing and Prescaler -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t DSJW:4; /*!< bit: 0.. 3 Data (Re)Synchronization Jump Width */ + uint32_t DTSEG2:4; /*!< bit: 4.. 7 Data time segment after sample point */ + uint32_t DTSEG1:5; /*!< bit: 8..12 Data time segment before sample point */ + uint32_t :3; /*!< bit: 13..15 Reserved */ + uint32_t DBRP:5; /*!< bit: 16..20 Data Baud Rate Prescaler */ + uint32_t :2; /*!< bit: 21..22 Reserved */ + uint32_t TDC:1; /*!< bit: 23 Tranceiver Delay Compensation */ + uint32_t :8; /*!< bit: 24..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_DBTP_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_DBTP_OFFSET 0x0C /**< \brief (CAN_DBTP offset) Fast Bit Timing and Prescaler */ +#define CAN_DBTP_RESETVALUE _U_(0x00000A33) /**< \brief (CAN_DBTP reset_value) Fast Bit Timing and Prescaler */ + +#define CAN_DBTP_DSJW_Pos 0 /**< \brief (CAN_DBTP) Data (Re)Synchronization Jump Width */ +#define CAN_DBTP_DSJW_Msk (_U_(0xF) << CAN_DBTP_DSJW_Pos) +#define CAN_DBTP_DSJW(value) (CAN_DBTP_DSJW_Msk & ((value) << CAN_DBTP_DSJW_Pos)) +#define CAN_DBTP_DTSEG2_Pos 4 /**< \brief (CAN_DBTP) Data time segment after sample point */ +#define CAN_DBTP_DTSEG2_Msk (_U_(0xF) << CAN_DBTP_DTSEG2_Pos) +#define CAN_DBTP_DTSEG2(value) (CAN_DBTP_DTSEG2_Msk & ((value) << CAN_DBTP_DTSEG2_Pos)) +#define CAN_DBTP_DTSEG1_Pos 8 /**< \brief (CAN_DBTP) Data time segment before sample point */ +#define CAN_DBTP_DTSEG1_Msk (_U_(0x1F) << CAN_DBTP_DTSEG1_Pos) +#define CAN_DBTP_DTSEG1(value) (CAN_DBTP_DTSEG1_Msk & ((value) << CAN_DBTP_DTSEG1_Pos)) +#define CAN_DBTP_DBRP_Pos 16 /**< \brief (CAN_DBTP) Data Baud Rate Prescaler */ +#define CAN_DBTP_DBRP_Msk (_U_(0x1F) << CAN_DBTP_DBRP_Pos) +#define CAN_DBTP_DBRP(value) (CAN_DBTP_DBRP_Msk & ((value) << CAN_DBTP_DBRP_Pos)) +#define CAN_DBTP_TDC_Pos 23 /**< \brief (CAN_DBTP) Tranceiver Delay Compensation */ +#define CAN_DBTP_TDC (_U_(0x1) << CAN_DBTP_TDC_Pos) +#define CAN_DBTP_MASK _U_(0x009F1FFF) /**< \brief (CAN_DBTP) MASK Register */ + +/* -------- CAN_TEST : (CAN Offset: 0x10) (R/W 32) Test -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t :4; /*!< bit: 0.. 3 Reserved */ + uint32_t LBCK:1; /*!< bit: 4 Loop Back Mode */ + uint32_t TX:2; /*!< bit: 5.. 6 Control of Transmit Pin */ + uint32_t RX:1; /*!< bit: 7 Receive Pin */ + uint32_t :24; /*!< bit: 8..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TEST_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TEST_OFFSET 0x10 /**< \brief (CAN_TEST offset) Test */ +#define CAN_TEST_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TEST reset_value) Test */ + +#define CAN_TEST_LBCK_Pos 4 /**< \brief (CAN_TEST) Loop Back Mode */ +#define CAN_TEST_LBCK (_U_(0x1) << CAN_TEST_LBCK_Pos) +#define CAN_TEST_TX_Pos 5 /**< \brief (CAN_TEST) Control of Transmit Pin */ +#define CAN_TEST_TX_Msk (_U_(0x3) << CAN_TEST_TX_Pos) +#define CAN_TEST_TX(value) (CAN_TEST_TX_Msk & ((value) << CAN_TEST_TX_Pos)) +#define CAN_TEST_TX_CORE_Val _U_(0x0) /**< \brief (CAN_TEST) TX controlled by CAN core */ +#define CAN_TEST_TX_SAMPLE_Val _U_(0x1) /**< \brief (CAN_TEST) TX monitoring sample point */ +#define CAN_TEST_TX_DOMINANT_Val _U_(0x2) /**< \brief (CAN_TEST) Dominant (0) level at pin CAN_TX */ +#define CAN_TEST_TX_RECESSIVE_Val _U_(0x3) /**< \brief (CAN_TEST) Recessive (1) level at pin CAN_TX */ +#define CAN_TEST_TX_CORE (CAN_TEST_TX_CORE_Val << CAN_TEST_TX_Pos) +#define CAN_TEST_TX_SAMPLE (CAN_TEST_TX_SAMPLE_Val << CAN_TEST_TX_Pos) +#define CAN_TEST_TX_DOMINANT (CAN_TEST_TX_DOMINANT_Val << CAN_TEST_TX_Pos) +#define CAN_TEST_TX_RECESSIVE (CAN_TEST_TX_RECESSIVE_Val << CAN_TEST_TX_Pos) +#define CAN_TEST_RX_Pos 7 /**< \brief (CAN_TEST) Receive Pin */ +#define CAN_TEST_RX (_U_(0x1) << CAN_TEST_RX_Pos) +#define CAN_TEST_MASK _U_(0x000000F0) /**< \brief (CAN_TEST) MASK Register */ + +/* -------- CAN_RWD : (CAN Offset: 0x14) (R/W 32) RAM Watchdog -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t WDC:8; /*!< bit: 0.. 7 Watchdog Configuration */ + uint32_t WDV:8; /*!< bit: 8..15 Watchdog Value */ + uint32_t :16; /*!< bit: 16..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RWD_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RWD_OFFSET 0x14 /**< \brief (CAN_RWD offset) RAM Watchdog */ +#define CAN_RWD_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RWD reset_value) RAM Watchdog */ + +#define CAN_RWD_WDC_Pos 0 /**< \brief (CAN_RWD) Watchdog Configuration */ +#define CAN_RWD_WDC_Msk (_U_(0xFF) << CAN_RWD_WDC_Pos) +#define CAN_RWD_WDC(value) (CAN_RWD_WDC_Msk & ((value) << CAN_RWD_WDC_Pos)) +#define CAN_RWD_WDV_Pos 8 /**< \brief (CAN_RWD) Watchdog Value */ +#define CAN_RWD_WDV_Msk (_U_(0xFF) << CAN_RWD_WDV_Pos) +#define CAN_RWD_WDV(value) (CAN_RWD_WDV_Msk & ((value) << CAN_RWD_WDV_Pos)) +#define CAN_RWD_MASK _U_(0x0000FFFF) /**< \brief (CAN_RWD) MASK Register */ + +/* -------- CAN_CCCR : (CAN Offset: 0x18) (R/W 32) CC Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t INIT:1; /*!< bit: 0 Initialization */ + uint32_t CCE:1; /*!< bit: 1 Configuration Change Enable */ + uint32_t ASM:1; /*!< bit: 2 ASM Restricted Operation Mode */ + uint32_t CSA:1; /*!< bit: 3 Clock Stop Acknowledge */ + uint32_t CSR:1; /*!< bit: 4 Clock Stop Request */ + uint32_t MON:1; /*!< bit: 5 Bus Monitoring Mode */ + uint32_t DAR:1; /*!< bit: 6 Disable Automatic Retransmission */ + uint32_t TEST:1; /*!< bit: 7 Test Mode Enable */ + uint32_t FDOE:1; /*!< bit: 8 FD Operation Enable */ + uint32_t BRSE:1; /*!< bit: 9 Bit Rate Switch Enable */ + uint32_t :2; /*!< bit: 10..11 Reserved */ + uint32_t PXHD:1; /*!< bit: 12 Protocol Exception Handling Disable */ + uint32_t EFBI:1; /*!< bit: 13 Edge Filtering during Bus Integration */ + uint32_t TXP:1; /*!< bit: 14 Transmit Pause */ + uint32_t NISO:1; /*!< bit: 15 Non ISO Operation */ + uint32_t :16; /*!< bit: 16..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_CCCR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_CCCR_OFFSET 0x18 /**< \brief (CAN_CCCR offset) CC Control */ +#define CAN_CCCR_RESETVALUE _U_(0x00000001) /**< \brief (CAN_CCCR reset_value) CC Control */ + +#define CAN_CCCR_INIT_Pos 0 /**< \brief (CAN_CCCR) Initialization */ +#define CAN_CCCR_INIT (_U_(0x1) << CAN_CCCR_INIT_Pos) +#define CAN_CCCR_CCE_Pos 1 /**< \brief (CAN_CCCR) Configuration Change Enable */ +#define CAN_CCCR_CCE (_U_(0x1) << CAN_CCCR_CCE_Pos) +#define CAN_CCCR_ASM_Pos 2 /**< \brief (CAN_CCCR) ASM Restricted Operation Mode */ +#define CAN_CCCR_ASM (_U_(0x1) << CAN_CCCR_ASM_Pos) +#define CAN_CCCR_CSA_Pos 3 /**< \brief (CAN_CCCR) Clock Stop Acknowledge */ +#define CAN_CCCR_CSA (_U_(0x1) << CAN_CCCR_CSA_Pos) +#define CAN_CCCR_CSR_Pos 4 /**< \brief (CAN_CCCR) Clock Stop Request */ +#define CAN_CCCR_CSR (_U_(0x1) << CAN_CCCR_CSR_Pos) +#define CAN_CCCR_MON_Pos 5 /**< \brief (CAN_CCCR) Bus Monitoring Mode */ +#define CAN_CCCR_MON (_U_(0x1) << CAN_CCCR_MON_Pos) +#define CAN_CCCR_DAR_Pos 6 /**< \brief (CAN_CCCR) Disable Automatic Retransmission */ +#define CAN_CCCR_DAR (_U_(0x1) << CAN_CCCR_DAR_Pos) +#define CAN_CCCR_TEST_Pos 7 /**< \brief (CAN_CCCR) Test Mode Enable */ +#define CAN_CCCR_TEST (_U_(0x1) << CAN_CCCR_TEST_Pos) +#define CAN_CCCR_FDOE_Pos 8 /**< \brief (CAN_CCCR) FD Operation Enable */ +#define CAN_CCCR_FDOE (_U_(0x1) << CAN_CCCR_FDOE_Pos) +#define CAN_CCCR_BRSE_Pos 9 /**< \brief (CAN_CCCR) Bit Rate Switch Enable */ +#define CAN_CCCR_BRSE (_U_(0x1) << CAN_CCCR_BRSE_Pos) +#define CAN_CCCR_PXHD_Pos 12 /**< \brief (CAN_CCCR) Protocol Exception Handling Disable */ +#define CAN_CCCR_PXHD (_U_(0x1) << CAN_CCCR_PXHD_Pos) +#define CAN_CCCR_EFBI_Pos 13 /**< \brief (CAN_CCCR) Edge Filtering during Bus Integration */ +#define CAN_CCCR_EFBI (_U_(0x1) << CAN_CCCR_EFBI_Pos) +#define CAN_CCCR_TXP_Pos 14 /**< \brief (CAN_CCCR) Transmit Pause */ +#define CAN_CCCR_TXP (_U_(0x1) << CAN_CCCR_TXP_Pos) +#define CAN_CCCR_NISO_Pos 15 /**< \brief (CAN_CCCR) Non ISO Operation */ +#define CAN_CCCR_NISO (_U_(0x1) << CAN_CCCR_NISO_Pos) +#define CAN_CCCR_MASK _U_(0x0000F3FF) /**< \brief (CAN_CCCR) MASK Register */ + +/* -------- CAN_NBTP : (CAN Offset: 0x1C) (R/W 32) Nominal Bit Timing and Prescaler -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t NTSEG2:7; /*!< bit: 0.. 6 Nominal Time segment after sample point */ + uint32_t :1; /*!< bit: 7 Reserved */ + uint32_t NTSEG1:8; /*!< bit: 8..15 Nominal Time segment before sample point */ + uint32_t NBRP:9; /*!< bit: 16..24 Nominal Baud Rate Prescaler */ + uint32_t NSJW:7; /*!< bit: 25..31 Nominal (Re)Synchronization Jump Width */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_NBTP_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_NBTP_OFFSET 0x1C /**< \brief (CAN_NBTP offset) Nominal Bit Timing and Prescaler */ +#define CAN_NBTP_RESETVALUE _U_(0x06000A03) /**< \brief (CAN_NBTP reset_value) Nominal Bit Timing and Prescaler */ + +#define CAN_NBTP_NTSEG2_Pos 0 /**< \brief (CAN_NBTP) Nominal Time segment after sample point */ +#define CAN_NBTP_NTSEG2_Msk (_U_(0x7F) << CAN_NBTP_NTSEG2_Pos) +#define CAN_NBTP_NTSEG2(value) (CAN_NBTP_NTSEG2_Msk & ((value) << CAN_NBTP_NTSEG2_Pos)) +#define CAN_NBTP_NTSEG1_Pos 8 /**< \brief (CAN_NBTP) Nominal Time segment before sample point */ +#define CAN_NBTP_NTSEG1_Msk (_U_(0xFF) << CAN_NBTP_NTSEG1_Pos) +#define CAN_NBTP_NTSEG1(value) (CAN_NBTP_NTSEG1_Msk & ((value) << CAN_NBTP_NTSEG1_Pos)) +#define CAN_NBTP_NBRP_Pos 16 /**< \brief (CAN_NBTP) Nominal Baud Rate Prescaler */ +#define CAN_NBTP_NBRP_Msk (_U_(0x1FF) << CAN_NBTP_NBRP_Pos) +#define CAN_NBTP_NBRP(value) (CAN_NBTP_NBRP_Msk & ((value) << CAN_NBTP_NBRP_Pos)) +#define CAN_NBTP_NSJW_Pos 25 /**< \brief (CAN_NBTP) Nominal (Re)Synchronization Jump Width */ +#define CAN_NBTP_NSJW_Msk (_U_(0x7F) << CAN_NBTP_NSJW_Pos) +#define CAN_NBTP_NSJW(value) (CAN_NBTP_NSJW_Msk & ((value) << CAN_NBTP_NSJW_Pos)) +#define CAN_NBTP_MASK _U_(0xFFFFFF7F) /**< \brief (CAN_NBTP) MASK Register */ + +/* -------- CAN_TSCC : (CAN Offset: 0x20) (R/W 32) Timestamp Counter Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TSS:2; /*!< bit: 0.. 1 Timestamp Select */ + uint32_t :14; /*!< bit: 2..15 Reserved */ + uint32_t TCP:4; /*!< bit: 16..19 Timestamp Counter Prescaler */ + uint32_t :12; /*!< bit: 20..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TSCC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TSCC_OFFSET 0x20 /**< \brief (CAN_TSCC offset) Timestamp Counter Configuration */ +#define CAN_TSCC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TSCC reset_value) Timestamp Counter Configuration */ + +#define CAN_TSCC_TSS_Pos 0 /**< \brief (CAN_TSCC) Timestamp Select */ +#define CAN_TSCC_TSS_Msk (_U_(0x3) << CAN_TSCC_TSS_Pos) +#define CAN_TSCC_TSS(value) (CAN_TSCC_TSS_Msk & ((value) << CAN_TSCC_TSS_Pos)) +#define CAN_TSCC_TSS_ZERO_Val _U_(0x0) /**< \brief (CAN_TSCC) Timestamp counter value always 0x0000 */ +#define CAN_TSCC_TSS_INC_Val _U_(0x1) /**< \brief (CAN_TSCC) Timestamp counter value incremented by TCP */ +#define CAN_TSCC_TSS_EXT_Val _U_(0x2) /**< \brief (CAN_TSCC) External timestamp counter value used */ +#define CAN_TSCC_TSS_ZERO (CAN_TSCC_TSS_ZERO_Val << CAN_TSCC_TSS_Pos) +#define CAN_TSCC_TSS_INC (CAN_TSCC_TSS_INC_Val << CAN_TSCC_TSS_Pos) +#define CAN_TSCC_TSS_EXT (CAN_TSCC_TSS_EXT_Val << CAN_TSCC_TSS_Pos) +#define CAN_TSCC_TCP_Pos 16 /**< \brief (CAN_TSCC) Timestamp Counter Prescaler */ +#define CAN_TSCC_TCP_Msk (_U_(0xF) << CAN_TSCC_TCP_Pos) +#define CAN_TSCC_TCP(value) (CAN_TSCC_TCP_Msk & ((value) << CAN_TSCC_TCP_Pos)) +#define CAN_TSCC_MASK _U_(0x000F0003) /**< \brief (CAN_TSCC) MASK Register */ + +/* -------- CAN_TSCV : (CAN Offset: 0x24) (R/ 32) Timestamp Counter Value -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TSC:16; /*!< bit: 0..15 Timestamp Counter */ + uint32_t :16; /*!< bit: 16..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TSCV_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TSCV_OFFSET 0x24 /**< \brief (CAN_TSCV offset) Timestamp Counter Value */ +#define CAN_TSCV_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TSCV reset_value) Timestamp Counter Value */ + +#define CAN_TSCV_TSC_Pos 0 /**< \brief (CAN_TSCV) Timestamp Counter */ +#define CAN_TSCV_TSC_Msk (_U_(0xFFFF) << CAN_TSCV_TSC_Pos) +#define CAN_TSCV_TSC(value) (CAN_TSCV_TSC_Msk & ((value) << CAN_TSCV_TSC_Pos)) +#define CAN_TSCV_MASK _U_(0x0000FFFF) /**< \brief (CAN_TSCV) MASK Register */ + +/* -------- CAN_TOCC : (CAN Offset: 0x28) (R/W 32) Timeout Counter Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ETOC:1; /*!< bit: 0 Enable Timeout Counter */ + uint32_t TOS:2; /*!< bit: 1.. 2 Timeout Select */ + uint32_t :13; /*!< bit: 3..15 Reserved */ + uint32_t TOP:16; /*!< bit: 16..31 Timeout Period */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TOCC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TOCC_OFFSET 0x28 /**< \brief (CAN_TOCC offset) Timeout Counter Configuration */ +#define CAN_TOCC_RESETVALUE _U_(0xFFFF0000) /**< \brief (CAN_TOCC reset_value) Timeout Counter Configuration */ + +#define CAN_TOCC_ETOC_Pos 0 /**< \brief (CAN_TOCC) Enable Timeout Counter */ +#define CAN_TOCC_ETOC (_U_(0x1) << CAN_TOCC_ETOC_Pos) +#define CAN_TOCC_TOS_Pos 1 /**< \brief (CAN_TOCC) Timeout Select */ +#define CAN_TOCC_TOS_Msk (_U_(0x3) << CAN_TOCC_TOS_Pos) +#define CAN_TOCC_TOS(value) (CAN_TOCC_TOS_Msk & ((value) << CAN_TOCC_TOS_Pos)) +#define CAN_TOCC_TOS_CONT_Val _U_(0x0) /**< \brief (CAN_TOCC) Continuout operation */ +#define CAN_TOCC_TOS_TXEF_Val _U_(0x1) /**< \brief (CAN_TOCC) Timeout controlled by TX Event FIFO */ +#define CAN_TOCC_TOS_RXF0_Val _U_(0x2) /**< \brief (CAN_TOCC) Timeout controlled by Rx FIFO 0 */ +#define CAN_TOCC_TOS_RXF1_Val _U_(0x3) /**< \brief (CAN_TOCC) Timeout controlled by Rx FIFO 1 */ +#define CAN_TOCC_TOS_CONT (CAN_TOCC_TOS_CONT_Val << CAN_TOCC_TOS_Pos) +#define CAN_TOCC_TOS_TXEF (CAN_TOCC_TOS_TXEF_Val << CAN_TOCC_TOS_Pos) +#define CAN_TOCC_TOS_RXF0 (CAN_TOCC_TOS_RXF0_Val << CAN_TOCC_TOS_Pos) +#define CAN_TOCC_TOS_RXF1 (CAN_TOCC_TOS_RXF1_Val << CAN_TOCC_TOS_Pos) +#define CAN_TOCC_TOP_Pos 16 /**< \brief (CAN_TOCC) Timeout Period */ +#define CAN_TOCC_TOP_Msk (_U_(0xFFFF) << CAN_TOCC_TOP_Pos) +#define CAN_TOCC_TOP(value) (CAN_TOCC_TOP_Msk & ((value) << CAN_TOCC_TOP_Pos)) +#define CAN_TOCC_MASK _U_(0xFFFF0007) /**< \brief (CAN_TOCC) MASK Register */ + +/* -------- CAN_TOCV : (CAN Offset: 0x2C) (R/W 32) Timeout Counter Value -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TOC:16; /*!< bit: 0..15 Timeout Counter */ + uint32_t :16; /*!< bit: 16..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TOCV_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TOCV_OFFSET 0x2C /**< \brief (CAN_TOCV offset) Timeout Counter Value */ +#define CAN_TOCV_RESETVALUE _U_(0x0000FFFF) /**< \brief (CAN_TOCV reset_value) Timeout Counter Value */ + +#define CAN_TOCV_TOC_Pos 0 /**< \brief (CAN_TOCV) Timeout Counter */ +#define CAN_TOCV_TOC_Msk (_U_(0xFFFF) << CAN_TOCV_TOC_Pos) +#define CAN_TOCV_TOC(value) (CAN_TOCV_TOC_Msk & ((value) << CAN_TOCV_TOC_Pos)) +#define CAN_TOCV_MASK _U_(0x0000FFFF) /**< \brief (CAN_TOCV) MASK Register */ + +/* -------- CAN_ECR : (CAN Offset: 0x40) (R/ 32) Error Counter -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TEC:8; /*!< bit: 0.. 7 Transmit Error Counter */ + uint32_t REC:7; /*!< bit: 8..14 Receive Error Counter */ + uint32_t RP:1; /*!< bit: 15 Receive Error Passive */ + uint32_t CEL:8; /*!< bit: 16..23 CAN Error Logging */ + uint32_t :8; /*!< bit: 24..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_ECR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_ECR_OFFSET 0x40 /**< \brief (CAN_ECR offset) Error Counter */ +#define CAN_ECR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_ECR reset_value) Error Counter */ + +#define CAN_ECR_TEC_Pos 0 /**< \brief (CAN_ECR) Transmit Error Counter */ +#define CAN_ECR_TEC_Msk (_U_(0xFF) << CAN_ECR_TEC_Pos) +#define CAN_ECR_TEC(value) (CAN_ECR_TEC_Msk & ((value) << CAN_ECR_TEC_Pos)) +#define CAN_ECR_REC_Pos 8 /**< \brief (CAN_ECR) Receive Error Counter */ +#define CAN_ECR_REC_Msk (_U_(0x7F) << CAN_ECR_REC_Pos) +#define CAN_ECR_REC(value) (CAN_ECR_REC_Msk & ((value) << CAN_ECR_REC_Pos)) +#define CAN_ECR_RP_Pos 15 /**< \brief (CAN_ECR) Receive Error Passive */ +#define CAN_ECR_RP (_U_(0x1) << CAN_ECR_RP_Pos) +#define CAN_ECR_CEL_Pos 16 /**< \brief (CAN_ECR) CAN Error Logging */ +#define CAN_ECR_CEL_Msk (_U_(0xFF) << CAN_ECR_CEL_Pos) +#define CAN_ECR_CEL(value) (CAN_ECR_CEL_Msk & ((value) << CAN_ECR_CEL_Pos)) +#define CAN_ECR_MASK _U_(0x00FFFFFF) /**< \brief (CAN_ECR) MASK Register */ + +/* -------- CAN_PSR : (CAN Offset: 0x44) (R/ 32) Protocol Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t LEC:3; /*!< bit: 0.. 2 Last Error Code */ + uint32_t ACT:2; /*!< bit: 3.. 4 Activity */ + uint32_t EP:1; /*!< bit: 5 Error Passive */ + uint32_t EW:1; /*!< bit: 6 Warning Status */ + uint32_t BO:1; /*!< bit: 7 Bus_Off Status */ + uint32_t DLEC:3; /*!< bit: 8..10 Data Phase Last Error Code */ + uint32_t RESI:1; /*!< bit: 11 ESI flag of last received CAN FD Message */ + uint32_t RBRS:1; /*!< bit: 12 BRS flag of last received CAN FD Message */ + uint32_t RFDF:1; /*!< bit: 13 Received a CAN FD Message */ + uint32_t PXE:1; /*!< bit: 14 Protocol Exception Event */ + uint32_t :1; /*!< bit: 15 Reserved */ + uint32_t TDCV:7; /*!< bit: 16..22 Transmitter Delay Compensation Value */ + uint32_t :9; /*!< bit: 23..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_PSR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_PSR_OFFSET 0x44 /**< \brief (CAN_PSR offset) Protocol Status */ +#define CAN_PSR_RESETVALUE _U_(0x00000707) /**< \brief (CAN_PSR reset_value) Protocol Status */ + +#define CAN_PSR_LEC_Pos 0 /**< \brief (CAN_PSR) Last Error Code */ +#define CAN_PSR_LEC_Msk (_U_(0x7) << CAN_PSR_LEC_Pos) +#define CAN_PSR_LEC(value) (CAN_PSR_LEC_Msk & ((value) << CAN_PSR_LEC_Pos)) +#define CAN_PSR_LEC_NONE_Val _U_(0x0) /**< \brief (CAN_PSR) No Error */ +#define CAN_PSR_LEC_STUFF_Val _U_(0x1) /**< \brief (CAN_PSR) Stuff Error */ +#define CAN_PSR_LEC_FORM_Val _U_(0x2) /**< \brief (CAN_PSR) Form Error */ +#define CAN_PSR_LEC_ACK_Val _U_(0x3) /**< \brief (CAN_PSR) Ack Error */ +#define CAN_PSR_LEC_BIT1_Val _U_(0x4) /**< \brief (CAN_PSR) Bit1 Error */ +#define CAN_PSR_LEC_BIT0_Val _U_(0x5) /**< \brief (CAN_PSR) Bit0 Error */ +#define CAN_PSR_LEC_CRC_Val _U_(0x6) /**< \brief (CAN_PSR) CRC Error */ +#define CAN_PSR_LEC_NC_Val _U_(0x7) /**< \brief (CAN_PSR) No Change */ +#define CAN_PSR_LEC_NONE (CAN_PSR_LEC_NONE_Val << CAN_PSR_LEC_Pos) +#define CAN_PSR_LEC_STUFF (CAN_PSR_LEC_STUFF_Val << CAN_PSR_LEC_Pos) +#define CAN_PSR_LEC_FORM (CAN_PSR_LEC_FORM_Val << CAN_PSR_LEC_Pos) +#define CAN_PSR_LEC_ACK (CAN_PSR_LEC_ACK_Val << CAN_PSR_LEC_Pos) +#define CAN_PSR_LEC_BIT1 (CAN_PSR_LEC_BIT1_Val << CAN_PSR_LEC_Pos) +#define CAN_PSR_LEC_BIT0 (CAN_PSR_LEC_BIT0_Val << CAN_PSR_LEC_Pos) +#define CAN_PSR_LEC_CRC (CAN_PSR_LEC_CRC_Val << CAN_PSR_LEC_Pos) +#define CAN_PSR_LEC_NC (CAN_PSR_LEC_NC_Val << CAN_PSR_LEC_Pos) +#define CAN_PSR_ACT_Pos 3 /**< \brief (CAN_PSR) Activity */ +#define CAN_PSR_ACT_Msk (_U_(0x3) << CAN_PSR_ACT_Pos) +#define CAN_PSR_ACT(value) (CAN_PSR_ACT_Msk & ((value) << CAN_PSR_ACT_Pos)) +#define CAN_PSR_ACT_SYNC_Val _U_(0x0) /**< \brief (CAN_PSR) Node is synchronizing on CAN communication */ +#define CAN_PSR_ACT_IDLE_Val _U_(0x1) /**< \brief (CAN_PSR) Node is neither receiver nor transmitter */ +#define CAN_PSR_ACT_RX_Val _U_(0x2) /**< \brief (CAN_PSR) Node is operating as receiver */ +#define CAN_PSR_ACT_TX_Val _U_(0x3) /**< \brief (CAN_PSR) Node is operating as transmitter */ +#define CAN_PSR_ACT_SYNC (CAN_PSR_ACT_SYNC_Val << CAN_PSR_ACT_Pos) +#define CAN_PSR_ACT_IDLE (CAN_PSR_ACT_IDLE_Val << CAN_PSR_ACT_Pos) +#define CAN_PSR_ACT_RX (CAN_PSR_ACT_RX_Val << CAN_PSR_ACT_Pos) +#define CAN_PSR_ACT_TX (CAN_PSR_ACT_TX_Val << CAN_PSR_ACT_Pos) +#define CAN_PSR_EP_Pos 5 /**< \brief (CAN_PSR) Error Passive */ +#define CAN_PSR_EP (_U_(0x1) << CAN_PSR_EP_Pos) +#define CAN_PSR_EW_Pos 6 /**< \brief (CAN_PSR) Warning Status */ +#define CAN_PSR_EW (_U_(0x1) << CAN_PSR_EW_Pos) +#define CAN_PSR_BO_Pos 7 /**< \brief (CAN_PSR) Bus_Off Status */ +#define CAN_PSR_BO (_U_(0x1) << CAN_PSR_BO_Pos) +#define CAN_PSR_DLEC_Pos 8 /**< \brief (CAN_PSR) Data Phase Last Error Code */ +#define CAN_PSR_DLEC_Msk (_U_(0x7) << CAN_PSR_DLEC_Pos) +#define CAN_PSR_DLEC(value) (CAN_PSR_DLEC_Msk & ((value) << CAN_PSR_DLEC_Pos)) +#define CAN_PSR_DLEC_NONE_Val _U_(0x0) /**< \brief (CAN_PSR) No Error */ +#define CAN_PSR_DLEC_STUFF_Val _U_(0x1) /**< \brief (CAN_PSR) Stuff Error */ +#define CAN_PSR_DLEC_FORM_Val _U_(0x2) /**< \brief (CAN_PSR) Form Error */ +#define CAN_PSR_DLEC_ACK_Val _U_(0x3) /**< \brief (CAN_PSR) Ack Error */ +#define CAN_PSR_DLEC_BIT1_Val _U_(0x4) /**< \brief (CAN_PSR) Bit1 Error */ +#define CAN_PSR_DLEC_BIT0_Val _U_(0x5) /**< \brief (CAN_PSR) Bit0 Error */ +#define CAN_PSR_DLEC_CRC_Val _U_(0x6) /**< \brief (CAN_PSR) CRC Error */ +#define CAN_PSR_DLEC_NC_Val _U_(0x7) /**< \brief (CAN_PSR) No Change */ +#define CAN_PSR_DLEC_NONE (CAN_PSR_DLEC_NONE_Val << CAN_PSR_DLEC_Pos) +#define CAN_PSR_DLEC_STUFF (CAN_PSR_DLEC_STUFF_Val << CAN_PSR_DLEC_Pos) +#define CAN_PSR_DLEC_FORM (CAN_PSR_DLEC_FORM_Val << CAN_PSR_DLEC_Pos) +#define CAN_PSR_DLEC_ACK (CAN_PSR_DLEC_ACK_Val << CAN_PSR_DLEC_Pos) +#define CAN_PSR_DLEC_BIT1 (CAN_PSR_DLEC_BIT1_Val << CAN_PSR_DLEC_Pos) +#define CAN_PSR_DLEC_BIT0 (CAN_PSR_DLEC_BIT0_Val << CAN_PSR_DLEC_Pos) +#define CAN_PSR_DLEC_CRC (CAN_PSR_DLEC_CRC_Val << CAN_PSR_DLEC_Pos) +#define CAN_PSR_DLEC_NC (CAN_PSR_DLEC_NC_Val << CAN_PSR_DLEC_Pos) +#define CAN_PSR_RESI_Pos 11 /**< \brief (CAN_PSR) ESI flag of last received CAN FD Message */ +#define CAN_PSR_RESI (_U_(0x1) << CAN_PSR_RESI_Pos) +#define CAN_PSR_RBRS_Pos 12 /**< \brief (CAN_PSR) BRS flag of last received CAN FD Message */ +#define CAN_PSR_RBRS (_U_(0x1) << CAN_PSR_RBRS_Pos) +#define CAN_PSR_RFDF_Pos 13 /**< \brief (CAN_PSR) Received a CAN FD Message */ +#define CAN_PSR_RFDF (_U_(0x1) << CAN_PSR_RFDF_Pos) +#define CAN_PSR_PXE_Pos 14 /**< \brief (CAN_PSR) Protocol Exception Event */ +#define CAN_PSR_PXE (_U_(0x1) << CAN_PSR_PXE_Pos) +#define CAN_PSR_TDCV_Pos 16 /**< \brief (CAN_PSR) Transmitter Delay Compensation Value */ +#define CAN_PSR_TDCV_Msk (_U_(0x7F) << CAN_PSR_TDCV_Pos) +#define CAN_PSR_TDCV(value) (CAN_PSR_TDCV_Msk & ((value) << CAN_PSR_TDCV_Pos)) +#define CAN_PSR_MASK _U_(0x007F7FFF) /**< \brief (CAN_PSR) MASK Register */ + +/* -------- CAN_TDCR : (CAN Offset: 0x48) (R/W 32) Extended ID Filter Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TDCF:7; /*!< bit: 0.. 6 Transmitter Delay Compensation Filter Length */ + uint32_t :1; /*!< bit: 7 Reserved */ + uint32_t TDCO:7; /*!< bit: 8..14 Transmitter Delay Compensation Offset */ + uint32_t :17; /*!< bit: 15..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TDCR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TDCR_OFFSET 0x48 /**< \brief (CAN_TDCR offset) Extended ID Filter Configuration */ +#define CAN_TDCR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TDCR reset_value) Extended ID Filter Configuration */ + +#define CAN_TDCR_TDCF_Pos 0 /**< \brief (CAN_TDCR) Transmitter Delay Compensation Filter Length */ +#define CAN_TDCR_TDCF_Msk (_U_(0x7F) << CAN_TDCR_TDCF_Pos) +#define CAN_TDCR_TDCF(value) (CAN_TDCR_TDCF_Msk & ((value) << CAN_TDCR_TDCF_Pos)) +#define CAN_TDCR_TDCO_Pos 8 /**< \brief (CAN_TDCR) Transmitter Delay Compensation Offset */ +#define CAN_TDCR_TDCO_Msk (_U_(0x7F) << CAN_TDCR_TDCO_Pos) +#define CAN_TDCR_TDCO(value) (CAN_TDCR_TDCO_Msk & ((value) << CAN_TDCR_TDCO_Pos)) +#define CAN_TDCR_MASK _U_(0x00007F7F) /**< \brief (CAN_TDCR) MASK Register */ + +/* -------- CAN_IR : (CAN Offset: 0x50) (R/W 32) Interrupt -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t RF0N:1; /*!< bit: 0 Rx FIFO 0 New Message */ + uint32_t RF0W:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached */ + uint32_t RF0F:1; /*!< bit: 2 Rx FIFO 0 Full */ + uint32_t RF0L:1; /*!< bit: 3 Rx FIFO 0 Message Lost */ + uint32_t RF1N:1; /*!< bit: 4 Rx FIFO 1 New Message */ + uint32_t RF1W:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached */ + uint32_t RF1F:1; /*!< bit: 6 Rx FIFO 1 FIFO Full */ + uint32_t RF1L:1; /*!< bit: 7 Rx FIFO 1 Message Lost */ + uint32_t HPM:1; /*!< bit: 8 High Priority Message */ + uint32_t TC:1; /*!< bit: 9 Timestamp Completed */ + uint32_t TCF:1; /*!< bit: 10 Transmission Cancellation Finished */ + uint32_t TFE:1; /*!< bit: 11 Tx FIFO Empty */ + uint32_t TEFN:1; /*!< bit: 12 Tx Event FIFO New Entry */ + uint32_t TEFW:1; /*!< bit: 13 Tx Event FIFO Watermark Reached */ + uint32_t TEFF:1; /*!< bit: 14 Tx Event FIFO Full */ + uint32_t TEFL:1; /*!< bit: 15 Tx Event FIFO Element Lost */ + uint32_t TSW:1; /*!< bit: 16 Timestamp Wraparound */ + uint32_t MRAF:1; /*!< bit: 17 Message RAM Access Failure */ + uint32_t TOO:1; /*!< bit: 18 Timeout Occurred */ + uint32_t DRX:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer */ + uint32_t BEC:1; /*!< bit: 20 Bit Error Corrected */ + uint32_t BEU:1; /*!< bit: 21 Bit Error Uncorrected */ + uint32_t ELO:1; /*!< bit: 22 Error Logging Overflow */ + uint32_t EP:1; /*!< bit: 23 Error Passive */ + uint32_t EW:1; /*!< bit: 24 Warning Status */ + uint32_t BO:1; /*!< bit: 25 Bus_Off Status */ + uint32_t WDI:1; /*!< bit: 26 Watchdog Interrupt */ + uint32_t PEA:1; /*!< bit: 27 Protocol Error in Arbitration Phase */ + uint32_t PED:1; /*!< bit: 28 Protocol Error in Data Phase */ + uint32_t ARA:1; /*!< bit: 29 Access to Reserved Address */ + uint32_t :2; /*!< bit: 30..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_IR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_IR_OFFSET 0x50 /**< \brief (CAN_IR offset) Interrupt */ +#define CAN_IR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_IR reset_value) Interrupt */ + +#define CAN_IR_RF0N_Pos 0 /**< \brief (CAN_IR) Rx FIFO 0 New Message */ +#define CAN_IR_RF0N (_U_(0x1) << CAN_IR_RF0N_Pos) +#define CAN_IR_RF0W_Pos 1 /**< \brief (CAN_IR) Rx FIFO 0 Watermark Reached */ +#define CAN_IR_RF0W (_U_(0x1) << CAN_IR_RF0W_Pos) +#define CAN_IR_RF0F_Pos 2 /**< \brief (CAN_IR) Rx FIFO 0 Full */ +#define CAN_IR_RF0F (_U_(0x1) << CAN_IR_RF0F_Pos) +#define CAN_IR_RF0L_Pos 3 /**< \brief (CAN_IR) Rx FIFO 0 Message Lost */ +#define CAN_IR_RF0L (_U_(0x1) << CAN_IR_RF0L_Pos) +#define CAN_IR_RF1N_Pos 4 /**< \brief (CAN_IR) Rx FIFO 1 New Message */ +#define CAN_IR_RF1N (_U_(0x1) << CAN_IR_RF1N_Pos) +#define CAN_IR_RF1W_Pos 5 /**< \brief (CAN_IR) Rx FIFO 1 Watermark Reached */ +#define CAN_IR_RF1W (_U_(0x1) << CAN_IR_RF1W_Pos) +#define CAN_IR_RF1F_Pos 6 /**< \brief (CAN_IR) Rx FIFO 1 FIFO Full */ +#define CAN_IR_RF1F (_U_(0x1) << CAN_IR_RF1F_Pos) +#define CAN_IR_RF1L_Pos 7 /**< \brief (CAN_IR) Rx FIFO 1 Message Lost */ +#define CAN_IR_RF1L (_U_(0x1) << CAN_IR_RF1L_Pos) +#define CAN_IR_HPM_Pos 8 /**< \brief (CAN_IR) High Priority Message */ +#define CAN_IR_HPM (_U_(0x1) << CAN_IR_HPM_Pos) +#define CAN_IR_TC_Pos 9 /**< \brief (CAN_IR) Timestamp Completed */ +#define CAN_IR_TC (_U_(0x1) << CAN_IR_TC_Pos) +#define CAN_IR_TCF_Pos 10 /**< \brief (CAN_IR) Transmission Cancellation Finished */ +#define CAN_IR_TCF (_U_(0x1) << CAN_IR_TCF_Pos) +#define CAN_IR_TFE_Pos 11 /**< \brief (CAN_IR) Tx FIFO Empty */ +#define CAN_IR_TFE (_U_(0x1) << CAN_IR_TFE_Pos) +#define CAN_IR_TEFN_Pos 12 /**< \brief (CAN_IR) Tx Event FIFO New Entry */ +#define CAN_IR_TEFN (_U_(0x1) << CAN_IR_TEFN_Pos) +#define CAN_IR_TEFW_Pos 13 /**< \brief (CAN_IR) Tx Event FIFO Watermark Reached */ +#define CAN_IR_TEFW (_U_(0x1) << CAN_IR_TEFW_Pos) +#define CAN_IR_TEFF_Pos 14 /**< \brief (CAN_IR) Tx Event FIFO Full */ +#define CAN_IR_TEFF (_U_(0x1) << CAN_IR_TEFF_Pos) +#define CAN_IR_TEFL_Pos 15 /**< \brief (CAN_IR) Tx Event FIFO Element Lost */ +#define CAN_IR_TEFL (_U_(0x1) << CAN_IR_TEFL_Pos) +#define CAN_IR_TSW_Pos 16 /**< \brief (CAN_IR) Timestamp Wraparound */ +#define CAN_IR_TSW (_U_(0x1) << CAN_IR_TSW_Pos) +#define CAN_IR_MRAF_Pos 17 /**< \brief (CAN_IR) Message RAM Access Failure */ +#define CAN_IR_MRAF (_U_(0x1) << CAN_IR_MRAF_Pos) +#define CAN_IR_TOO_Pos 18 /**< \brief (CAN_IR) Timeout Occurred */ +#define CAN_IR_TOO (_U_(0x1) << CAN_IR_TOO_Pos) +#define CAN_IR_DRX_Pos 19 /**< \brief (CAN_IR) Message stored to Dedicated Rx Buffer */ +#define CAN_IR_DRX (_U_(0x1) << CAN_IR_DRX_Pos) +#define CAN_IR_BEC_Pos 20 /**< \brief (CAN_IR) Bit Error Corrected */ +#define CAN_IR_BEC (_U_(0x1) << CAN_IR_BEC_Pos) +#define CAN_IR_BEU_Pos 21 /**< \brief (CAN_IR) Bit Error Uncorrected */ +#define CAN_IR_BEU (_U_(0x1) << CAN_IR_BEU_Pos) +#define CAN_IR_ELO_Pos 22 /**< \brief (CAN_IR) Error Logging Overflow */ +#define CAN_IR_ELO (_U_(0x1) << CAN_IR_ELO_Pos) +#define CAN_IR_EP_Pos 23 /**< \brief (CAN_IR) Error Passive */ +#define CAN_IR_EP (_U_(0x1) << CAN_IR_EP_Pos) +#define CAN_IR_EW_Pos 24 /**< \brief (CAN_IR) Warning Status */ +#define CAN_IR_EW (_U_(0x1) << CAN_IR_EW_Pos) +#define CAN_IR_BO_Pos 25 /**< \brief (CAN_IR) Bus_Off Status */ +#define CAN_IR_BO (_U_(0x1) << CAN_IR_BO_Pos) +#define CAN_IR_WDI_Pos 26 /**< \brief (CAN_IR) Watchdog Interrupt */ +#define CAN_IR_WDI (_U_(0x1) << CAN_IR_WDI_Pos) +#define CAN_IR_PEA_Pos 27 /**< \brief (CAN_IR) Protocol Error in Arbitration Phase */ +#define CAN_IR_PEA (_U_(0x1) << CAN_IR_PEA_Pos) +#define CAN_IR_PED_Pos 28 /**< \brief (CAN_IR) Protocol Error in Data Phase */ +#define CAN_IR_PED (_U_(0x1) << CAN_IR_PED_Pos) +#define CAN_IR_ARA_Pos 29 /**< \brief (CAN_IR) Access to Reserved Address */ +#define CAN_IR_ARA (_U_(0x1) << CAN_IR_ARA_Pos) +#define CAN_IR_MASK _U_(0x3FFFFFFF) /**< \brief (CAN_IR) MASK Register */ + +/* -------- CAN_IE : (CAN Offset: 0x54) (R/W 32) Interrupt Enable -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t RF0NE:1; /*!< bit: 0 Rx FIFO 0 New Message Interrupt Enable */ + uint32_t RF0WE:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached Interrupt Enable */ + uint32_t RF0FE:1; /*!< bit: 2 Rx FIFO 0 Full Interrupt Enable */ + uint32_t RF0LE:1; /*!< bit: 3 Rx FIFO 0 Message Lost Interrupt Enable */ + uint32_t RF1NE:1; /*!< bit: 4 Rx FIFO 1 New Message Interrupt Enable */ + uint32_t RF1WE:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached Interrupt Enable */ + uint32_t RF1FE:1; /*!< bit: 6 Rx FIFO 1 FIFO Full Interrupt Enable */ + uint32_t RF1LE:1; /*!< bit: 7 Rx FIFO 1 Message Lost Interrupt Enable */ + uint32_t HPME:1; /*!< bit: 8 High Priority Message Interrupt Enable */ + uint32_t TCE:1; /*!< bit: 9 Timestamp Completed Interrupt Enable */ + uint32_t TCFE:1; /*!< bit: 10 Transmission Cancellation Finished Interrupt Enable */ + uint32_t TFEE:1; /*!< bit: 11 Tx FIFO Empty Interrupt Enable */ + uint32_t TEFNE:1; /*!< bit: 12 Tx Event FIFO New Entry Interrupt Enable */ + uint32_t TEFWE:1; /*!< bit: 13 Tx Event FIFO Watermark Reached Interrupt Enable */ + uint32_t TEFFE:1; /*!< bit: 14 Tx Event FIFO Full Interrupt Enable */ + uint32_t TEFLE:1; /*!< bit: 15 Tx Event FIFO Element Lost Interrupt Enable */ + uint32_t TSWE:1; /*!< bit: 16 Timestamp Wraparound Interrupt Enable */ + uint32_t MRAFE:1; /*!< bit: 17 Message RAM Access Failure Interrupt Enable */ + uint32_t TOOE:1; /*!< bit: 18 Timeout Occurred Interrupt Enable */ + uint32_t DRXE:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer Interrupt Enable */ + uint32_t BECE:1; /*!< bit: 20 Bit Error Corrected Interrupt Enable */ + uint32_t BEUE:1; /*!< bit: 21 Bit Error Uncorrected Interrupt Enable */ + uint32_t ELOE:1; /*!< bit: 22 Error Logging Overflow Interrupt Enable */ + uint32_t EPE:1; /*!< bit: 23 Error Passive Interrupt Enable */ + uint32_t EWE:1; /*!< bit: 24 Warning Status Interrupt Enable */ + uint32_t BOE:1; /*!< bit: 25 Bus_Off Status Interrupt Enable */ + uint32_t WDIE:1; /*!< bit: 26 Watchdog Interrupt Interrupt Enable */ + uint32_t PEAE:1; /*!< bit: 27 Protocol Error in Arbitration Phase Enable */ + uint32_t PEDE:1; /*!< bit: 28 Protocol Error in Data Phase Enable */ + uint32_t ARAE:1; /*!< bit: 29 Access to Reserved Address Enable */ + uint32_t :2; /*!< bit: 30..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_IE_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_IE_OFFSET 0x54 /**< \brief (CAN_IE offset) Interrupt Enable */ +#define CAN_IE_RESETVALUE _U_(0x00000000) /**< \brief (CAN_IE reset_value) Interrupt Enable */ + +#define CAN_IE_RF0NE_Pos 0 /**< \brief (CAN_IE) Rx FIFO 0 New Message Interrupt Enable */ +#define CAN_IE_RF0NE (_U_(0x1) << CAN_IE_RF0NE_Pos) +#define CAN_IE_RF0WE_Pos 1 /**< \brief (CAN_IE) Rx FIFO 0 Watermark Reached Interrupt Enable */ +#define CAN_IE_RF0WE (_U_(0x1) << CAN_IE_RF0WE_Pos) +#define CAN_IE_RF0FE_Pos 2 /**< \brief (CAN_IE) Rx FIFO 0 Full Interrupt Enable */ +#define CAN_IE_RF0FE (_U_(0x1) << CAN_IE_RF0FE_Pos) +#define CAN_IE_RF0LE_Pos 3 /**< \brief (CAN_IE) Rx FIFO 0 Message Lost Interrupt Enable */ +#define CAN_IE_RF0LE (_U_(0x1) << CAN_IE_RF0LE_Pos) +#define CAN_IE_RF1NE_Pos 4 /**< \brief (CAN_IE) Rx FIFO 1 New Message Interrupt Enable */ +#define CAN_IE_RF1NE (_U_(0x1) << CAN_IE_RF1NE_Pos) +#define CAN_IE_RF1WE_Pos 5 /**< \brief (CAN_IE) Rx FIFO 1 Watermark Reached Interrupt Enable */ +#define CAN_IE_RF1WE (_U_(0x1) << CAN_IE_RF1WE_Pos) +#define CAN_IE_RF1FE_Pos 6 /**< \brief (CAN_IE) Rx FIFO 1 FIFO Full Interrupt Enable */ +#define CAN_IE_RF1FE (_U_(0x1) << CAN_IE_RF1FE_Pos) +#define CAN_IE_RF1LE_Pos 7 /**< \brief (CAN_IE) Rx FIFO 1 Message Lost Interrupt Enable */ +#define CAN_IE_RF1LE (_U_(0x1) << CAN_IE_RF1LE_Pos) +#define CAN_IE_HPME_Pos 8 /**< \brief (CAN_IE) High Priority Message Interrupt Enable */ +#define CAN_IE_HPME (_U_(0x1) << CAN_IE_HPME_Pos) +#define CAN_IE_TCE_Pos 9 /**< \brief (CAN_IE) Timestamp Completed Interrupt Enable */ +#define CAN_IE_TCE (_U_(0x1) << CAN_IE_TCE_Pos) +#define CAN_IE_TCFE_Pos 10 /**< \brief (CAN_IE) Transmission Cancellation Finished Interrupt Enable */ +#define CAN_IE_TCFE (_U_(0x1) << CAN_IE_TCFE_Pos) +#define CAN_IE_TFEE_Pos 11 /**< \brief (CAN_IE) Tx FIFO Empty Interrupt Enable */ +#define CAN_IE_TFEE (_U_(0x1) << CAN_IE_TFEE_Pos) +#define CAN_IE_TEFNE_Pos 12 /**< \brief (CAN_IE) Tx Event FIFO New Entry Interrupt Enable */ +#define CAN_IE_TEFNE (_U_(0x1) << CAN_IE_TEFNE_Pos) +#define CAN_IE_TEFWE_Pos 13 /**< \brief (CAN_IE) Tx Event FIFO Watermark Reached Interrupt Enable */ +#define CAN_IE_TEFWE (_U_(0x1) << CAN_IE_TEFWE_Pos) +#define CAN_IE_TEFFE_Pos 14 /**< \brief (CAN_IE) Tx Event FIFO Full Interrupt Enable */ +#define CAN_IE_TEFFE (_U_(0x1) << CAN_IE_TEFFE_Pos) +#define CAN_IE_TEFLE_Pos 15 /**< \brief (CAN_IE) Tx Event FIFO Element Lost Interrupt Enable */ +#define CAN_IE_TEFLE (_U_(0x1) << CAN_IE_TEFLE_Pos) +#define CAN_IE_TSWE_Pos 16 /**< \brief (CAN_IE) Timestamp Wraparound Interrupt Enable */ +#define CAN_IE_TSWE (_U_(0x1) << CAN_IE_TSWE_Pos) +#define CAN_IE_MRAFE_Pos 17 /**< \brief (CAN_IE) Message RAM Access Failure Interrupt Enable */ +#define CAN_IE_MRAFE (_U_(0x1) << CAN_IE_MRAFE_Pos) +#define CAN_IE_TOOE_Pos 18 /**< \brief (CAN_IE) Timeout Occurred Interrupt Enable */ +#define CAN_IE_TOOE (_U_(0x1) << CAN_IE_TOOE_Pos) +#define CAN_IE_DRXE_Pos 19 /**< \brief (CAN_IE) Message stored to Dedicated Rx Buffer Interrupt Enable */ +#define CAN_IE_DRXE (_U_(0x1) << CAN_IE_DRXE_Pos) +#define CAN_IE_BECE_Pos 20 /**< \brief (CAN_IE) Bit Error Corrected Interrupt Enable */ +#define CAN_IE_BECE (_U_(0x1) << CAN_IE_BECE_Pos) +#define CAN_IE_BEUE_Pos 21 /**< \brief (CAN_IE) Bit Error Uncorrected Interrupt Enable */ +#define CAN_IE_BEUE (_U_(0x1) << CAN_IE_BEUE_Pos) +#define CAN_IE_ELOE_Pos 22 /**< \brief (CAN_IE) Error Logging Overflow Interrupt Enable */ +#define CAN_IE_ELOE (_U_(0x1) << CAN_IE_ELOE_Pos) +#define CAN_IE_EPE_Pos 23 /**< \brief (CAN_IE) Error Passive Interrupt Enable */ +#define CAN_IE_EPE (_U_(0x1) << CAN_IE_EPE_Pos) +#define CAN_IE_EWE_Pos 24 /**< \brief (CAN_IE) Warning Status Interrupt Enable */ +#define CAN_IE_EWE (_U_(0x1) << CAN_IE_EWE_Pos) +#define CAN_IE_BOE_Pos 25 /**< \brief (CAN_IE) Bus_Off Status Interrupt Enable */ +#define CAN_IE_BOE (_U_(0x1) << CAN_IE_BOE_Pos) +#define CAN_IE_WDIE_Pos 26 /**< \brief (CAN_IE) Watchdog Interrupt Interrupt Enable */ +#define CAN_IE_WDIE (_U_(0x1) << CAN_IE_WDIE_Pos) +#define CAN_IE_PEAE_Pos 27 /**< \brief (CAN_IE) Protocol Error in Arbitration Phase Enable */ +#define CAN_IE_PEAE (_U_(0x1) << CAN_IE_PEAE_Pos) +#define CAN_IE_PEDE_Pos 28 /**< \brief (CAN_IE) Protocol Error in Data Phase Enable */ +#define CAN_IE_PEDE (_U_(0x1) << CAN_IE_PEDE_Pos) +#define CAN_IE_ARAE_Pos 29 /**< \brief (CAN_IE) Access to Reserved Address Enable */ +#define CAN_IE_ARAE (_U_(0x1) << CAN_IE_ARAE_Pos) +#define CAN_IE_MASK _U_(0x3FFFFFFF) /**< \brief (CAN_IE) MASK Register */ + +/* -------- CAN_ILS : (CAN Offset: 0x58) (R/W 32) Interrupt Line Select -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t RF0NL:1; /*!< bit: 0 Rx FIFO 0 New Message Interrupt Line */ + uint32_t RF0WL:1; /*!< bit: 1 Rx FIFO 0 Watermark Reached Interrupt Line */ + uint32_t RF0FL:1; /*!< bit: 2 Rx FIFO 0 Full Interrupt Line */ + uint32_t RF0LL:1; /*!< bit: 3 Rx FIFO 0 Message Lost Interrupt Line */ + uint32_t RF1NL:1; /*!< bit: 4 Rx FIFO 1 New Message Interrupt Line */ + uint32_t RF1WL:1; /*!< bit: 5 Rx FIFO 1 Watermark Reached Interrupt Line */ + uint32_t RF1FL:1; /*!< bit: 6 Rx FIFO 1 FIFO Full Interrupt Line */ + uint32_t RF1LL:1; /*!< bit: 7 Rx FIFO 1 Message Lost Interrupt Line */ + uint32_t HPML:1; /*!< bit: 8 High Priority Message Interrupt Line */ + uint32_t TCL:1; /*!< bit: 9 Timestamp Completed Interrupt Line */ + uint32_t TCFL:1; /*!< bit: 10 Transmission Cancellation Finished Interrupt Line */ + uint32_t TFEL:1; /*!< bit: 11 Tx FIFO Empty Interrupt Line */ + uint32_t TEFNL:1; /*!< bit: 12 Tx Event FIFO New Entry Interrupt Line */ + uint32_t TEFWL:1; /*!< bit: 13 Tx Event FIFO Watermark Reached Interrupt Line */ + uint32_t TEFFL:1; /*!< bit: 14 Tx Event FIFO Full Interrupt Line */ + uint32_t TEFLL:1; /*!< bit: 15 Tx Event FIFO Element Lost Interrupt Line */ + uint32_t TSWL:1; /*!< bit: 16 Timestamp Wraparound Interrupt Line */ + uint32_t MRAFL:1; /*!< bit: 17 Message RAM Access Failure Interrupt Line */ + uint32_t TOOL:1; /*!< bit: 18 Timeout Occurred Interrupt Line */ + uint32_t DRXL:1; /*!< bit: 19 Message stored to Dedicated Rx Buffer Interrupt Line */ + uint32_t BECL:1; /*!< bit: 20 Bit Error Corrected Interrupt Line */ + uint32_t BEUL:1; /*!< bit: 21 Bit Error Uncorrected Interrupt Line */ + uint32_t ELOL:1; /*!< bit: 22 Error Logging Overflow Interrupt Line */ + uint32_t EPL:1; /*!< bit: 23 Error Passive Interrupt Line */ + uint32_t EWL:1; /*!< bit: 24 Warning Status Interrupt Line */ + uint32_t BOL:1; /*!< bit: 25 Bus_Off Status Interrupt Line */ + uint32_t WDIL:1; /*!< bit: 26 Watchdog Interrupt Interrupt Line */ + uint32_t PEAL:1; /*!< bit: 27 Protocol Error in Arbitration Phase Line */ + uint32_t PEDL:1; /*!< bit: 28 Protocol Error in Data Phase Line */ + uint32_t ARAL:1; /*!< bit: 29 Access to Reserved Address Line */ + uint32_t :2; /*!< bit: 30..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_ILS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_ILS_OFFSET 0x58 /**< \brief (CAN_ILS offset) Interrupt Line Select */ +#define CAN_ILS_RESETVALUE _U_(0x00000000) /**< \brief (CAN_ILS reset_value) Interrupt Line Select */ + +#define CAN_ILS_RF0NL_Pos 0 /**< \brief (CAN_ILS) Rx FIFO 0 New Message Interrupt Line */ +#define CAN_ILS_RF0NL (_U_(0x1) << CAN_ILS_RF0NL_Pos) +#define CAN_ILS_RF0WL_Pos 1 /**< \brief (CAN_ILS) Rx FIFO 0 Watermark Reached Interrupt Line */ +#define CAN_ILS_RF0WL (_U_(0x1) << CAN_ILS_RF0WL_Pos) +#define CAN_ILS_RF0FL_Pos 2 /**< \brief (CAN_ILS) Rx FIFO 0 Full Interrupt Line */ +#define CAN_ILS_RF0FL (_U_(0x1) << CAN_ILS_RF0FL_Pos) +#define CAN_ILS_RF0LL_Pos 3 /**< \brief (CAN_ILS) Rx FIFO 0 Message Lost Interrupt Line */ +#define CAN_ILS_RF0LL (_U_(0x1) << CAN_ILS_RF0LL_Pos) +#define CAN_ILS_RF1NL_Pos 4 /**< \brief (CAN_ILS) Rx FIFO 1 New Message Interrupt Line */ +#define CAN_ILS_RF1NL (_U_(0x1) << CAN_ILS_RF1NL_Pos) +#define CAN_ILS_RF1WL_Pos 5 /**< \brief (CAN_ILS) Rx FIFO 1 Watermark Reached Interrupt Line */ +#define CAN_ILS_RF1WL (_U_(0x1) << CAN_ILS_RF1WL_Pos) +#define CAN_ILS_RF1FL_Pos 6 /**< \brief (CAN_ILS) Rx FIFO 1 FIFO Full Interrupt Line */ +#define CAN_ILS_RF1FL (_U_(0x1) << CAN_ILS_RF1FL_Pos) +#define CAN_ILS_RF1LL_Pos 7 /**< \brief (CAN_ILS) Rx FIFO 1 Message Lost Interrupt Line */ +#define CAN_ILS_RF1LL (_U_(0x1) << CAN_ILS_RF1LL_Pos) +#define CAN_ILS_HPML_Pos 8 /**< \brief (CAN_ILS) High Priority Message Interrupt Line */ +#define CAN_ILS_HPML (_U_(0x1) << CAN_ILS_HPML_Pos) +#define CAN_ILS_TCL_Pos 9 /**< \brief (CAN_ILS) Timestamp Completed Interrupt Line */ +#define CAN_ILS_TCL (_U_(0x1) << CAN_ILS_TCL_Pos) +#define CAN_ILS_TCFL_Pos 10 /**< \brief (CAN_ILS) Transmission Cancellation Finished Interrupt Line */ +#define CAN_ILS_TCFL (_U_(0x1) << CAN_ILS_TCFL_Pos) +#define CAN_ILS_TFEL_Pos 11 /**< \brief (CAN_ILS) Tx FIFO Empty Interrupt Line */ +#define CAN_ILS_TFEL (_U_(0x1) << CAN_ILS_TFEL_Pos) +#define CAN_ILS_TEFNL_Pos 12 /**< \brief (CAN_ILS) Tx Event FIFO New Entry Interrupt Line */ +#define CAN_ILS_TEFNL (_U_(0x1) << CAN_ILS_TEFNL_Pos) +#define CAN_ILS_TEFWL_Pos 13 /**< \brief (CAN_ILS) Tx Event FIFO Watermark Reached Interrupt Line */ +#define CAN_ILS_TEFWL (_U_(0x1) << CAN_ILS_TEFWL_Pos) +#define CAN_ILS_TEFFL_Pos 14 /**< \brief (CAN_ILS) Tx Event FIFO Full Interrupt Line */ +#define CAN_ILS_TEFFL (_U_(0x1) << CAN_ILS_TEFFL_Pos) +#define CAN_ILS_TEFLL_Pos 15 /**< \brief (CAN_ILS) Tx Event FIFO Element Lost Interrupt Line */ +#define CAN_ILS_TEFLL (_U_(0x1) << CAN_ILS_TEFLL_Pos) +#define CAN_ILS_TSWL_Pos 16 /**< \brief (CAN_ILS) Timestamp Wraparound Interrupt Line */ +#define CAN_ILS_TSWL (_U_(0x1) << CAN_ILS_TSWL_Pos) +#define CAN_ILS_MRAFL_Pos 17 /**< \brief (CAN_ILS) Message RAM Access Failure Interrupt Line */ +#define CAN_ILS_MRAFL (_U_(0x1) << CAN_ILS_MRAFL_Pos) +#define CAN_ILS_TOOL_Pos 18 /**< \brief (CAN_ILS) Timeout Occurred Interrupt Line */ +#define CAN_ILS_TOOL (_U_(0x1) << CAN_ILS_TOOL_Pos) +#define CAN_ILS_DRXL_Pos 19 /**< \brief (CAN_ILS) Message stored to Dedicated Rx Buffer Interrupt Line */ +#define CAN_ILS_DRXL (_U_(0x1) << CAN_ILS_DRXL_Pos) +#define CAN_ILS_BECL_Pos 20 /**< \brief (CAN_ILS) Bit Error Corrected Interrupt Line */ +#define CAN_ILS_BECL (_U_(0x1) << CAN_ILS_BECL_Pos) +#define CAN_ILS_BEUL_Pos 21 /**< \brief (CAN_ILS) Bit Error Uncorrected Interrupt Line */ +#define CAN_ILS_BEUL (_U_(0x1) << CAN_ILS_BEUL_Pos) +#define CAN_ILS_ELOL_Pos 22 /**< \brief (CAN_ILS) Error Logging Overflow Interrupt Line */ +#define CAN_ILS_ELOL (_U_(0x1) << CAN_ILS_ELOL_Pos) +#define CAN_ILS_EPL_Pos 23 /**< \brief (CAN_ILS) Error Passive Interrupt Line */ +#define CAN_ILS_EPL (_U_(0x1) << CAN_ILS_EPL_Pos) +#define CAN_ILS_EWL_Pos 24 /**< \brief (CAN_ILS) Warning Status Interrupt Line */ +#define CAN_ILS_EWL (_U_(0x1) << CAN_ILS_EWL_Pos) +#define CAN_ILS_BOL_Pos 25 /**< \brief (CAN_ILS) Bus_Off Status Interrupt Line */ +#define CAN_ILS_BOL (_U_(0x1) << CAN_ILS_BOL_Pos) +#define CAN_ILS_WDIL_Pos 26 /**< \brief (CAN_ILS) Watchdog Interrupt Interrupt Line */ +#define CAN_ILS_WDIL (_U_(0x1) << CAN_ILS_WDIL_Pos) +#define CAN_ILS_PEAL_Pos 27 /**< \brief (CAN_ILS) Protocol Error in Arbitration Phase Line */ +#define CAN_ILS_PEAL (_U_(0x1) << CAN_ILS_PEAL_Pos) +#define CAN_ILS_PEDL_Pos 28 /**< \brief (CAN_ILS) Protocol Error in Data Phase Line */ +#define CAN_ILS_PEDL (_U_(0x1) << CAN_ILS_PEDL_Pos) +#define CAN_ILS_ARAL_Pos 29 /**< \brief (CAN_ILS) Access to Reserved Address Line */ +#define CAN_ILS_ARAL (_U_(0x1) << CAN_ILS_ARAL_Pos) +#define CAN_ILS_MASK _U_(0x3FFFFFFF) /**< \brief (CAN_ILS) MASK Register */ + +/* -------- CAN_ILE : (CAN Offset: 0x5C) (R/W 32) Interrupt Line Enable -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t EINT0:1; /*!< bit: 0 Enable Interrupt Line 0 */ + uint32_t EINT1:1; /*!< bit: 1 Enable Interrupt Line 1 */ + uint32_t :30; /*!< bit: 2..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_ILE_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_ILE_OFFSET 0x5C /**< \brief (CAN_ILE offset) Interrupt Line Enable */ +#define CAN_ILE_RESETVALUE _U_(0x00000000) /**< \brief (CAN_ILE reset_value) Interrupt Line Enable */ + +#define CAN_ILE_EINT0_Pos 0 /**< \brief (CAN_ILE) Enable Interrupt Line 0 */ +#define CAN_ILE_EINT0 (_U_(0x1) << CAN_ILE_EINT0_Pos) +#define CAN_ILE_EINT1_Pos 1 /**< \brief (CAN_ILE) Enable Interrupt Line 1 */ +#define CAN_ILE_EINT1 (_U_(0x1) << CAN_ILE_EINT1_Pos) +#define CAN_ILE_MASK _U_(0x00000003) /**< \brief (CAN_ILE) MASK Register */ + +/* -------- CAN_GFC : (CAN Offset: 0x80) (R/W 32) Global Filter Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t RRFE:1; /*!< bit: 0 Reject Remote Frames Extended */ + uint32_t RRFS:1; /*!< bit: 1 Reject Remote Frames Standard */ + uint32_t ANFE:2; /*!< bit: 2.. 3 Accept Non-matching Frames Extended */ + uint32_t ANFS:2; /*!< bit: 4.. 5 Accept Non-matching Frames Standard */ + uint32_t :26; /*!< bit: 6..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_GFC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_GFC_OFFSET 0x80 /**< \brief (CAN_GFC offset) Global Filter Configuration */ +#define CAN_GFC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_GFC reset_value) Global Filter Configuration */ + +#define CAN_GFC_RRFE_Pos 0 /**< \brief (CAN_GFC) Reject Remote Frames Extended */ +#define CAN_GFC_RRFE (_U_(0x1) << CAN_GFC_RRFE_Pos) +#define CAN_GFC_RRFS_Pos 1 /**< \brief (CAN_GFC) Reject Remote Frames Standard */ +#define CAN_GFC_RRFS (_U_(0x1) << CAN_GFC_RRFS_Pos) +#define CAN_GFC_ANFE_Pos 2 /**< \brief (CAN_GFC) Accept Non-matching Frames Extended */ +#define CAN_GFC_ANFE_Msk (_U_(0x3) << CAN_GFC_ANFE_Pos) +#define CAN_GFC_ANFE(value) (CAN_GFC_ANFE_Msk & ((value) << CAN_GFC_ANFE_Pos)) +#define CAN_GFC_ANFE_RXF0_Val _U_(0x0) /**< \brief (CAN_GFC) Accept in Rx FIFO 0 */ +#define CAN_GFC_ANFE_RXF1_Val _U_(0x1) /**< \brief (CAN_GFC) Accept in Rx FIFO 1 */ +#define CAN_GFC_ANFE_REJECT_Val _U_(0x2) /**< \brief (CAN_GFC) Reject */ +#define CAN_GFC_ANFE_RXF0 (CAN_GFC_ANFE_RXF0_Val << CAN_GFC_ANFE_Pos) +#define CAN_GFC_ANFE_RXF1 (CAN_GFC_ANFE_RXF1_Val << CAN_GFC_ANFE_Pos) +#define CAN_GFC_ANFE_REJECT (CAN_GFC_ANFE_REJECT_Val << CAN_GFC_ANFE_Pos) +#define CAN_GFC_ANFS_Pos 4 /**< \brief (CAN_GFC) Accept Non-matching Frames Standard */ +#define CAN_GFC_ANFS_Msk (_U_(0x3) << CAN_GFC_ANFS_Pos) +#define CAN_GFC_ANFS(value) (CAN_GFC_ANFS_Msk & ((value) << CAN_GFC_ANFS_Pos)) +#define CAN_GFC_ANFS_RXF0_Val _U_(0x0) /**< \brief (CAN_GFC) Accept in Rx FIFO 0 */ +#define CAN_GFC_ANFS_RXF1_Val _U_(0x1) /**< \brief (CAN_GFC) Accept in Rx FIFO 1 */ +#define CAN_GFC_ANFS_REJECT_Val _U_(0x2) /**< \brief (CAN_GFC) Reject */ +#define CAN_GFC_ANFS_RXF0 (CAN_GFC_ANFS_RXF0_Val << CAN_GFC_ANFS_Pos) +#define CAN_GFC_ANFS_RXF1 (CAN_GFC_ANFS_RXF1_Val << CAN_GFC_ANFS_Pos) +#define CAN_GFC_ANFS_REJECT (CAN_GFC_ANFS_REJECT_Val << CAN_GFC_ANFS_Pos) +#define CAN_GFC_MASK _U_(0x0000003F) /**< \brief (CAN_GFC) MASK Register */ + +/* -------- CAN_SIDFC : (CAN Offset: 0x84) (R/W 32) Standard ID Filter Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t FLSSA:16; /*!< bit: 0..15 Filter List Standard Start Address */ + uint32_t LSS:8; /*!< bit: 16..23 List Size Standard */ + uint32_t :8; /*!< bit: 24..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_SIDFC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_SIDFC_OFFSET 0x84 /**< \brief (CAN_SIDFC offset) Standard ID Filter Configuration */ +#define CAN_SIDFC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_SIDFC reset_value) Standard ID Filter Configuration */ + +#define CAN_SIDFC_FLSSA_Pos 0 /**< \brief (CAN_SIDFC) Filter List Standard Start Address */ +#define CAN_SIDFC_FLSSA_Msk (_U_(0xFFFF) << CAN_SIDFC_FLSSA_Pos) +#define CAN_SIDFC_FLSSA(value) (CAN_SIDFC_FLSSA_Msk & ((value) << CAN_SIDFC_FLSSA_Pos)) +#define CAN_SIDFC_LSS_Pos 16 /**< \brief (CAN_SIDFC) List Size Standard */ +#define CAN_SIDFC_LSS_Msk (_U_(0xFF) << CAN_SIDFC_LSS_Pos) +#define CAN_SIDFC_LSS(value) (CAN_SIDFC_LSS_Msk & ((value) << CAN_SIDFC_LSS_Pos)) +#define CAN_SIDFC_MASK _U_(0x00FFFFFF) /**< \brief (CAN_SIDFC) MASK Register */ + +/* -------- CAN_XIDFC : (CAN Offset: 0x88) (R/W 32) Extended ID Filter Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t FLESA:16; /*!< bit: 0..15 Filter List Extended Start Address */ + uint32_t LSE:7; /*!< bit: 16..22 List Size Extended */ + uint32_t :9; /*!< bit: 23..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_XIDFC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_XIDFC_OFFSET 0x88 /**< \brief (CAN_XIDFC offset) Extended ID Filter Configuration */ +#define CAN_XIDFC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_XIDFC reset_value) Extended ID Filter Configuration */ + +#define CAN_XIDFC_FLESA_Pos 0 /**< \brief (CAN_XIDFC) Filter List Extended Start Address */ +#define CAN_XIDFC_FLESA_Msk (_U_(0xFFFF) << CAN_XIDFC_FLESA_Pos) +#define CAN_XIDFC_FLESA(value) (CAN_XIDFC_FLESA_Msk & ((value) << CAN_XIDFC_FLESA_Pos)) +#define CAN_XIDFC_LSE_Pos 16 /**< \brief (CAN_XIDFC) List Size Extended */ +#define CAN_XIDFC_LSE_Msk (_U_(0x7F) << CAN_XIDFC_LSE_Pos) +#define CAN_XIDFC_LSE(value) (CAN_XIDFC_LSE_Msk & ((value) << CAN_XIDFC_LSE_Pos)) +#define CAN_XIDFC_MASK _U_(0x007FFFFF) /**< \brief (CAN_XIDFC) MASK Register */ + +/* -------- CAN_XIDAM : (CAN Offset: 0x90) (R/W 32) Extended ID AND Mask -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t EIDM:29; /*!< bit: 0..28 Extended ID Mask */ + uint32_t :3; /*!< bit: 29..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_XIDAM_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_XIDAM_OFFSET 0x90 /**< \brief (CAN_XIDAM offset) Extended ID AND Mask */ +#define CAN_XIDAM_RESETVALUE _U_(0x1FFFFFFF) /**< \brief (CAN_XIDAM reset_value) Extended ID AND Mask */ + +#define CAN_XIDAM_EIDM_Pos 0 /**< \brief (CAN_XIDAM) Extended ID Mask */ +#define CAN_XIDAM_EIDM_Msk (_U_(0x1FFFFFFF) << CAN_XIDAM_EIDM_Pos) +#define CAN_XIDAM_EIDM(value) (CAN_XIDAM_EIDM_Msk & ((value) << CAN_XIDAM_EIDM_Pos)) +#define CAN_XIDAM_MASK _U_(0x1FFFFFFF) /**< \brief (CAN_XIDAM) MASK Register */ + +/* -------- CAN_HPMS : (CAN Offset: 0x94) (R/ 32) High Priority Message Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t BIDX:6; /*!< bit: 0.. 5 Buffer Index */ + uint32_t MSI:2; /*!< bit: 6.. 7 Message Storage Indicator */ + uint32_t FIDX:7; /*!< bit: 8..14 Filter Index */ + uint32_t FLST:1; /*!< bit: 15 Filter List */ + uint32_t :16; /*!< bit: 16..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_HPMS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_HPMS_OFFSET 0x94 /**< \brief (CAN_HPMS offset) High Priority Message Status */ +#define CAN_HPMS_RESETVALUE _U_(0x00000000) /**< \brief (CAN_HPMS reset_value) High Priority Message Status */ + +#define CAN_HPMS_BIDX_Pos 0 /**< \brief (CAN_HPMS) Buffer Index */ +#define CAN_HPMS_BIDX_Msk (_U_(0x3F) << CAN_HPMS_BIDX_Pos) +#define CAN_HPMS_BIDX(value) (CAN_HPMS_BIDX_Msk & ((value) << CAN_HPMS_BIDX_Pos)) +#define CAN_HPMS_MSI_Pos 6 /**< \brief (CAN_HPMS) Message Storage Indicator */ +#define CAN_HPMS_MSI_Msk (_U_(0x3) << CAN_HPMS_MSI_Pos) +#define CAN_HPMS_MSI(value) (CAN_HPMS_MSI_Msk & ((value) << CAN_HPMS_MSI_Pos)) +#define CAN_HPMS_MSI_NONE_Val _U_(0x0) /**< \brief (CAN_HPMS) No FIFO selected */ +#define CAN_HPMS_MSI_LOST_Val _U_(0x1) /**< \brief (CAN_HPMS) FIFO message lost */ +#define CAN_HPMS_MSI_FIFO0_Val _U_(0x2) /**< \brief (CAN_HPMS) Message stored in FIFO 0 */ +#define CAN_HPMS_MSI_FIFO1_Val _U_(0x3) /**< \brief (CAN_HPMS) Message stored in FIFO 1 */ +#define CAN_HPMS_MSI_NONE (CAN_HPMS_MSI_NONE_Val << CAN_HPMS_MSI_Pos) +#define CAN_HPMS_MSI_LOST (CAN_HPMS_MSI_LOST_Val << CAN_HPMS_MSI_Pos) +#define CAN_HPMS_MSI_FIFO0 (CAN_HPMS_MSI_FIFO0_Val << CAN_HPMS_MSI_Pos) +#define CAN_HPMS_MSI_FIFO1 (CAN_HPMS_MSI_FIFO1_Val << CAN_HPMS_MSI_Pos) +#define CAN_HPMS_FIDX_Pos 8 /**< \brief (CAN_HPMS) Filter Index */ +#define CAN_HPMS_FIDX_Msk (_U_(0x7F) << CAN_HPMS_FIDX_Pos) +#define CAN_HPMS_FIDX(value) (CAN_HPMS_FIDX_Msk & ((value) << CAN_HPMS_FIDX_Pos)) +#define CAN_HPMS_FLST_Pos 15 /**< \brief (CAN_HPMS) Filter List */ +#define CAN_HPMS_FLST (_U_(0x1) << CAN_HPMS_FLST_Pos) +#define CAN_HPMS_MASK _U_(0x0000FFFF) /**< \brief (CAN_HPMS) MASK Register */ + +/* -------- CAN_NDAT1 : (CAN Offset: 0x98) (R/W 32) New Data 1 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ND0:1; /*!< bit: 0 New Data 0 */ + uint32_t ND1:1; /*!< bit: 1 New Data 1 */ + uint32_t ND2:1; /*!< bit: 2 New Data 2 */ + uint32_t ND3:1; /*!< bit: 3 New Data 3 */ + uint32_t ND4:1; /*!< bit: 4 New Data 4 */ + uint32_t ND5:1; /*!< bit: 5 New Data 5 */ + uint32_t ND6:1; /*!< bit: 6 New Data 6 */ + uint32_t ND7:1; /*!< bit: 7 New Data 7 */ + uint32_t ND8:1; /*!< bit: 8 New Data 8 */ + uint32_t ND9:1; /*!< bit: 9 New Data 9 */ + uint32_t ND10:1; /*!< bit: 10 New Data 10 */ + uint32_t ND11:1; /*!< bit: 11 New Data 11 */ + uint32_t ND12:1; /*!< bit: 12 New Data 12 */ + uint32_t ND13:1; /*!< bit: 13 New Data 13 */ + uint32_t ND14:1; /*!< bit: 14 New Data 14 */ + uint32_t ND15:1; /*!< bit: 15 New Data 15 */ + uint32_t ND16:1; /*!< bit: 16 New Data 16 */ + uint32_t ND17:1; /*!< bit: 17 New Data 17 */ + uint32_t ND18:1; /*!< bit: 18 New Data 18 */ + uint32_t ND19:1; /*!< bit: 19 New Data 19 */ + uint32_t ND20:1; /*!< bit: 20 New Data 20 */ + uint32_t ND21:1; /*!< bit: 21 New Data 21 */ + uint32_t ND22:1; /*!< bit: 22 New Data 22 */ + uint32_t ND23:1; /*!< bit: 23 New Data 23 */ + uint32_t ND24:1; /*!< bit: 24 New Data 24 */ + uint32_t ND25:1; /*!< bit: 25 New Data 25 */ + uint32_t ND26:1; /*!< bit: 26 New Data 26 */ + uint32_t ND27:1; /*!< bit: 27 New Data 27 */ + uint32_t ND28:1; /*!< bit: 28 New Data 28 */ + uint32_t ND29:1; /*!< bit: 29 New Data 29 */ + uint32_t ND30:1; /*!< bit: 30 New Data 30 */ + uint32_t ND31:1; /*!< bit: 31 New Data 31 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_NDAT1_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_NDAT1_OFFSET 0x98 /**< \brief (CAN_NDAT1 offset) New Data 1 */ +#define CAN_NDAT1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_NDAT1 reset_value) New Data 1 */ + +#define CAN_NDAT1_ND0_Pos 0 /**< \brief (CAN_NDAT1) New Data 0 */ +#define CAN_NDAT1_ND0 (_U_(0x1) << CAN_NDAT1_ND0_Pos) +#define CAN_NDAT1_ND1_Pos 1 /**< \brief (CAN_NDAT1) New Data 1 */ +#define CAN_NDAT1_ND1 (_U_(0x1) << CAN_NDAT1_ND1_Pos) +#define CAN_NDAT1_ND2_Pos 2 /**< \brief (CAN_NDAT1) New Data 2 */ +#define CAN_NDAT1_ND2 (_U_(0x1) << CAN_NDAT1_ND2_Pos) +#define CAN_NDAT1_ND3_Pos 3 /**< \brief (CAN_NDAT1) New Data 3 */ +#define CAN_NDAT1_ND3 (_U_(0x1) << CAN_NDAT1_ND3_Pos) +#define CAN_NDAT1_ND4_Pos 4 /**< \brief (CAN_NDAT1) New Data 4 */ +#define CAN_NDAT1_ND4 (_U_(0x1) << CAN_NDAT1_ND4_Pos) +#define CAN_NDAT1_ND5_Pos 5 /**< \brief (CAN_NDAT1) New Data 5 */ +#define CAN_NDAT1_ND5 (_U_(0x1) << CAN_NDAT1_ND5_Pos) +#define CAN_NDAT1_ND6_Pos 6 /**< \brief (CAN_NDAT1) New Data 6 */ +#define CAN_NDAT1_ND6 (_U_(0x1) << CAN_NDAT1_ND6_Pos) +#define CAN_NDAT1_ND7_Pos 7 /**< \brief (CAN_NDAT1) New Data 7 */ +#define CAN_NDAT1_ND7 (_U_(0x1) << CAN_NDAT1_ND7_Pos) +#define CAN_NDAT1_ND8_Pos 8 /**< \brief (CAN_NDAT1) New Data 8 */ +#define CAN_NDAT1_ND8 (_U_(0x1) << CAN_NDAT1_ND8_Pos) +#define CAN_NDAT1_ND9_Pos 9 /**< \brief (CAN_NDAT1) New Data 9 */ +#define CAN_NDAT1_ND9 (_U_(0x1) << CAN_NDAT1_ND9_Pos) +#define CAN_NDAT1_ND10_Pos 10 /**< \brief (CAN_NDAT1) New Data 10 */ +#define CAN_NDAT1_ND10 (_U_(0x1) << CAN_NDAT1_ND10_Pos) +#define CAN_NDAT1_ND11_Pos 11 /**< \brief (CAN_NDAT1) New Data 11 */ +#define CAN_NDAT1_ND11 (_U_(0x1) << CAN_NDAT1_ND11_Pos) +#define CAN_NDAT1_ND12_Pos 12 /**< \brief (CAN_NDAT1) New Data 12 */ +#define CAN_NDAT1_ND12 (_U_(0x1) << CAN_NDAT1_ND12_Pos) +#define CAN_NDAT1_ND13_Pos 13 /**< \brief (CAN_NDAT1) New Data 13 */ +#define CAN_NDAT1_ND13 (_U_(0x1) << CAN_NDAT1_ND13_Pos) +#define CAN_NDAT1_ND14_Pos 14 /**< \brief (CAN_NDAT1) New Data 14 */ +#define CAN_NDAT1_ND14 (_U_(0x1) << CAN_NDAT1_ND14_Pos) +#define CAN_NDAT1_ND15_Pos 15 /**< \brief (CAN_NDAT1) New Data 15 */ +#define CAN_NDAT1_ND15 (_U_(0x1) << CAN_NDAT1_ND15_Pos) +#define CAN_NDAT1_ND16_Pos 16 /**< \brief (CAN_NDAT1) New Data 16 */ +#define CAN_NDAT1_ND16 (_U_(0x1) << CAN_NDAT1_ND16_Pos) +#define CAN_NDAT1_ND17_Pos 17 /**< \brief (CAN_NDAT1) New Data 17 */ +#define CAN_NDAT1_ND17 (_U_(0x1) << CAN_NDAT1_ND17_Pos) +#define CAN_NDAT1_ND18_Pos 18 /**< \brief (CAN_NDAT1) New Data 18 */ +#define CAN_NDAT1_ND18 (_U_(0x1) << CAN_NDAT1_ND18_Pos) +#define CAN_NDAT1_ND19_Pos 19 /**< \brief (CAN_NDAT1) New Data 19 */ +#define CAN_NDAT1_ND19 (_U_(0x1) << CAN_NDAT1_ND19_Pos) +#define CAN_NDAT1_ND20_Pos 20 /**< \brief (CAN_NDAT1) New Data 20 */ +#define CAN_NDAT1_ND20 (_U_(0x1) << CAN_NDAT1_ND20_Pos) +#define CAN_NDAT1_ND21_Pos 21 /**< \brief (CAN_NDAT1) New Data 21 */ +#define CAN_NDAT1_ND21 (_U_(0x1) << CAN_NDAT1_ND21_Pos) +#define CAN_NDAT1_ND22_Pos 22 /**< \brief (CAN_NDAT1) New Data 22 */ +#define CAN_NDAT1_ND22 (_U_(0x1) << CAN_NDAT1_ND22_Pos) +#define CAN_NDAT1_ND23_Pos 23 /**< \brief (CAN_NDAT1) New Data 23 */ +#define CAN_NDAT1_ND23 (_U_(0x1) << CAN_NDAT1_ND23_Pos) +#define CAN_NDAT1_ND24_Pos 24 /**< \brief (CAN_NDAT1) New Data 24 */ +#define CAN_NDAT1_ND24 (_U_(0x1) << CAN_NDAT1_ND24_Pos) +#define CAN_NDAT1_ND25_Pos 25 /**< \brief (CAN_NDAT1) New Data 25 */ +#define CAN_NDAT1_ND25 (_U_(0x1) << CAN_NDAT1_ND25_Pos) +#define CAN_NDAT1_ND26_Pos 26 /**< \brief (CAN_NDAT1) New Data 26 */ +#define CAN_NDAT1_ND26 (_U_(0x1) << CAN_NDAT1_ND26_Pos) +#define CAN_NDAT1_ND27_Pos 27 /**< \brief (CAN_NDAT1) New Data 27 */ +#define CAN_NDAT1_ND27 (_U_(0x1) << CAN_NDAT1_ND27_Pos) +#define CAN_NDAT1_ND28_Pos 28 /**< \brief (CAN_NDAT1) New Data 28 */ +#define CAN_NDAT1_ND28 (_U_(0x1) << CAN_NDAT1_ND28_Pos) +#define CAN_NDAT1_ND29_Pos 29 /**< \brief (CAN_NDAT1) New Data 29 */ +#define CAN_NDAT1_ND29 (_U_(0x1) << CAN_NDAT1_ND29_Pos) +#define CAN_NDAT1_ND30_Pos 30 /**< \brief (CAN_NDAT1) New Data 30 */ +#define CAN_NDAT1_ND30 (_U_(0x1) << CAN_NDAT1_ND30_Pos) +#define CAN_NDAT1_ND31_Pos 31 /**< \brief (CAN_NDAT1) New Data 31 */ +#define CAN_NDAT1_ND31 (_U_(0x1) << CAN_NDAT1_ND31_Pos) +#define CAN_NDAT1_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_NDAT1) MASK Register */ + +/* -------- CAN_NDAT2 : (CAN Offset: 0x9C) (R/W 32) New Data 2 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ND32:1; /*!< bit: 0 New Data 32 */ + uint32_t ND33:1; /*!< bit: 1 New Data 33 */ + uint32_t ND34:1; /*!< bit: 2 New Data 34 */ + uint32_t ND35:1; /*!< bit: 3 New Data 35 */ + uint32_t ND36:1; /*!< bit: 4 New Data 36 */ + uint32_t ND37:1; /*!< bit: 5 New Data 37 */ + uint32_t ND38:1; /*!< bit: 6 New Data 38 */ + uint32_t ND39:1; /*!< bit: 7 New Data 39 */ + uint32_t ND40:1; /*!< bit: 8 New Data 40 */ + uint32_t ND41:1; /*!< bit: 9 New Data 41 */ + uint32_t ND42:1; /*!< bit: 10 New Data 42 */ + uint32_t ND43:1; /*!< bit: 11 New Data 43 */ + uint32_t ND44:1; /*!< bit: 12 New Data 44 */ + uint32_t ND45:1; /*!< bit: 13 New Data 45 */ + uint32_t ND46:1; /*!< bit: 14 New Data 46 */ + uint32_t ND47:1; /*!< bit: 15 New Data 47 */ + uint32_t ND48:1; /*!< bit: 16 New Data 48 */ + uint32_t ND49:1; /*!< bit: 17 New Data 49 */ + uint32_t ND50:1; /*!< bit: 18 New Data 50 */ + uint32_t ND51:1; /*!< bit: 19 New Data 51 */ + uint32_t ND52:1; /*!< bit: 20 New Data 52 */ + uint32_t ND53:1; /*!< bit: 21 New Data 53 */ + uint32_t ND54:1; /*!< bit: 22 New Data 54 */ + uint32_t ND55:1; /*!< bit: 23 New Data 55 */ + uint32_t ND56:1; /*!< bit: 24 New Data 56 */ + uint32_t ND57:1; /*!< bit: 25 New Data 57 */ + uint32_t ND58:1; /*!< bit: 26 New Data 58 */ + uint32_t ND59:1; /*!< bit: 27 New Data 59 */ + uint32_t ND60:1; /*!< bit: 28 New Data 60 */ + uint32_t ND61:1; /*!< bit: 29 New Data 61 */ + uint32_t ND62:1; /*!< bit: 30 New Data 62 */ + uint32_t ND63:1; /*!< bit: 31 New Data 63 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_NDAT2_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_NDAT2_OFFSET 0x9C /**< \brief (CAN_NDAT2 offset) New Data 2 */ +#define CAN_NDAT2_RESETVALUE _U_(0x00000000) /**< \brief (CAN_NDAT2 reset_value) New Data 2 */ + +#define CAN_NDAT2_ND32_Pos 0 /**< \brief (CAN_NDAT2) New Data 32 */ +#define CAN_NDAT2_ND32 (_U_(0x1) << CAN_NDAT2_ND32_Pos) +#define CAN_NDAT2_ND33_Pos 1 /**< \brief (CAN_NDAT2) New Data 33 */ +#define CAN_NDAT2_ND33 (_U_(0x1) << CAN_NDAT2_ND33_Pos) +#define CAN_NDAT2_ND34_Pos 2 /**< \brief (CAN_NDAT2) New Data 34 */ +#define CAN_NDAT2_ND34 (_U_(0x1) << CAN_NDAT2_ND34_Pos) +#define CAN_NDAT2_ND35_Pos 3 /**< \brief (CAN_NDAT2) New Data 35 */ +#define CAN_NDAT2_ND35 (_U_(0x1) << CAN_NDAT2_ND35_Pos) +#define CAN_NDAT2_ND36_Pos 4 /**< \brief (CAN_NDAT2) New Data 36 */ +#define CAN_NDAT2_ND36 (_U_(0x1) << CAN_NDAT2_ND36_Pos) +#define CAN_NDAT2_ND37_Pos 5 /**< \brief (CAN_NDAT2) New Data 37 */ +#define CAN_NDAT2_ND37 (_U_(0x1) << CAN_NDAT2_ND37_Pos) +#define CAN_NDAT2_ND38_Pos 6 /**< \brief (CAN_NDAT2) New Data 38 */ +#define CAN_NDAT2_ND38 (_U_(0x1) << CAN_NDAT2_ND38_Pos) +#define CAN_NDAT2_ND39_Pos 7 /**< \brief (CAN_NDAT2) New Data 39 */ +#define CAN_NDAT2_ND39 (_U_(0x1) << CAN_NDAT2_ND39_Pos) +#define CAN_NDAT2_ND40_Pos 8 /**< \brief (CAN_NDAT2) New Data 40 */ +#define CAN_NDAT2_ND40 (_U_(0x1) << CAN_NDAT2_ND40_Pos) +#define CAN_NDAT2_ND41_Pos 9 /**< \brief (CAN_NDAT2) New Data 41 */ +#define CAN_NDAT2_ND41 (_U_(0x1) << CAN_NDAT2_ND41_Pos) +#define CAN_NDAT2_ND42_Pos 10 /**< \brief (CAN_NDAT2) New Data 42 */ +#define CAN_NDAT2_ND42 (_U_(0x1) << CAN_NDAT2_ND42_Pos) +#define CAN_NDAT2_ND43_Pos 11 /**< \brief (CAN_NDAT2) New Data 43 */ +#define CAN_NDAT2_ND43 (_U_(0x1) << CAN_NDAT2_ND43_Pos) +#define CAN_NDAT2_ND44_Pos 12 /**< \brief (CAN_NDAT2) New Data 44 */ +#define CAN_NDAT2_ND44 (_U_(0x1) << CAN_NDAT2_ND44_Pos) +#define CAN_NDAT2_ND45_Pos 13 /**< \brief (CAN_NDAT2) New Data 45 */ +#define CAN_NDAT2_ND45 (_U_(0x1) << CAN_NDAT2_ND45_Pos) +#define CAN_NDAT2_ND46_Pos 14 /**< \brief (CAN_NDAT2) New Data 46 */ +#define CAN_NDAT2_ND46 (_U_(0x1) << CAN_NDAT2_ND46_Pos) +#define CAN_NDAT2_ND47_Pos 15 /**< \brief (CAN_NDAT2) New Data 47 */ +#define CAN_NDAT2_ND47 (_U_(0x1) << CAN_NDAT2_ND47_Pos) +#define CAN_NDAT2_ND48_Pos 16 /**< \brief (CAN_NDAT2) New Data 48 */ +#define CAN_NDAT2_ND48 (_U_(0x1) << CAN_NDAT2_ND48_Pos) +#define CAN_NDAT2_ND49_Pos 17 /**< \brief (CAN_NDAT2) New Data 49 */ +#define CAN_NDAT2_ND49 (_U_(0x1) << CAN_NDAT2_ND49_Pos) +#define CAN_NDAT2_ND50_Pos 18 /**< \brief (CAN_NDAT2) New Data 50 */ +#define CAN_NDAT2_ND50 (_U_(0x1) << CAN_NDAT2_ND50_Pos) +#define CAN_NDAT2_ND51_Pos 19 /**< \brief (CAN_NDAT2) New Data 51 */ +#define CAN_NDAT2_ND51 (_U_(0x1) << CAN_NDAT2_ND51_Pos) +#define CAN_NDAT2_ND52_Pos 20 /**< \brief (CAN_NDAT2) New Data 52 */ +#define CAN_NDAT2_ND52 (_U_(0x1) << CAN_NDAT2_ND52_Pos) +#define CAN_NDAT2_ND53_Pos 21 /**< \brief (CAN_NDAT2) New Data 53 */ +#define CAN_NDAT2_ND53 (_U_(0x1) << CAN_NDAT2_ND53_Pos) +#define CAN_NDAT2_ND54_Pos 22 /**< \brief (CAN_NDAT2) New Data 54 */ +#define CAN_NDAT2_ND54 (_U_(0x1) << CAN_NDAT2_ND54_Pos) +#define CAN_NDAT2_ND55_Pos 23 /**< \brief (CAN_NDAT2) New Data 55 */ +#define CAN_NDAT2_ND55 (_U_(0x1) << CAN_NDAT2_ND55_Pos) +#define CAN_NDAT2_ND56_Pos 24 /**< \brief (CAN_NDAT2) New Data 56 */ +#define CAN_NDAT2_ND56 (_U_(0x1) << CAN_NDAT2_ND56_Pos) +#define CAN_NDAT2_ND57_Pos 25 /**< \brief (CAN_NDAT2) New Data 57 */ +#define CAN_NDAT2_ND57 (_U_(0x1) << CAN_NDAT2_ND57_Pos) +#define CAN_NDAT2_ND58_Pos 26 /**< \brief (CAN_NDAT2) New Data 58 */ +#define CAN_NDAT2_ND58 (_U_(0x1) << CAN_NDAT2_ND58_Pos) +#define CAN_NDAT2_ND59_Pos 27 /**< \brief (CAN_NDAT2) New Data 59 */ +#define CAN_NDAT2_ND59 (_U_(0x1) << CAN_NDAT2_ND59_Pos) +#define CAN_NDAT2_ND60_Pos 28 /**< \brief (CAN_NDAT2) New Data 60 */ +#define CAN_NDAT2_ND60 (_U_(0x1) << CAN_NDAT2_ND60_Pos) +#define CAN_NDAT2_ND61_Pos 29 /**< \brief (CAN_NDAT2) New Data 61 */ +#define CAN_NDAT2_ND61 (_U_(0x1) << CAN_NDAT2_ND61_Pos) +#define CAN_NDAT2_ND62_Pos 30 /**< \brief (CAN_NDAT2) New Data 62 */ +#define CAN_NDAT2_ND62 (_U_(0x1) << CAN_NDAT2_ND62_Pos) +#define CAN_NDAT2_ND63_Pos 31 /**< \brief (CAN_NDAT2) New Data 63 */ +#define CAN_NDAT2_ND63 (_U_(0x1) << CAN_NDAT2_ND63_Pos) +#define CAN_NDAT2_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_NDAT2) MASK Register */ + +/* -------- CAN_RXF0C : (CAN Offset: 0xA0) (R/W 32) Rx FIFO 0 Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t F0SA:16; /*!< bit: 0..15 Rx FIFO 0 Start Address */ + uint32_t F0S:7; /*!< bit: 16..22 Rx FIFO 0 Size */ + uint32_t :1; /*!< bit: 23 Reserved */ + uint32_t F0WM:7; /*!< bit: 24..30 Rx FIFO 0 Watermark */ + uint32_t F0OM:1; /*!< bit: 31 FIFO 0 Operation Mode */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF0C_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF0C_OFFSET 0xA0 /**< \brief (CAN_RXF0C offset) Rx FIFO 0 Configuration */ +#define CAN_RXF0C_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0C reset_value) Rx FIFO 0 Configuration */ + +#define CAN_RXF0C_F0SA_Pos 0 /**< \brief (CAN_RXF0C) Rx FIFO 0 Start Address */ +#define CAN_RXF0C_F0SA_Msk (_U_(0xFFFF) << CAN_RXF0C_F0SA_Pos) +#define CAN_RXF0C_F0SA(value) (CAN_RXF0C_F0SA_Msk & ((value) << CAN_RXF0C_F0SA_Pos)) +#define CAN_RXF0C_F0S_Pos 16 /**< \brief (CAN_RXF0C) Rx FIFO 0 Size */ +#define CAN_RXF0C_F0S_Msk (_U_(0x7F) << CAN_RXF0C_F0S_Pos) +#define CAN_RXF0C_F0S(value) (CAN_RXF0C_F0S_Msk & ((value) << CAN_RXF0C_F0S_Pos)) +#define CAN_RXF0C_F0WM_Pos 24 /**< \brief (CAN_RXF0C) Rx FIFO 0 Watermark */ +#define CAN_RXF0C_F0WM_Msk (_U_(0x7F) << CAN_RXF0C_F0WM_Pos) +#define CAN_RXF0C_F0WM(value) (CAN_RXF0C_F0WM_Msk & ((value) << CAN_RXF0C_F0WM_Pos)) +#define CAN_RXF0C_F0OM_Pos 31 /**< \brief (CAN_RXF0C) FIFO 0 Operation Mode */ +#define CAN_RXF0C_F0OM (_U_(0x1) << CAN_RXF0C_F0OM_Pos) +#define CAN_RXF0C_MASK _U_(0xFF7FFFFF) /**< \brief (CAN_RXF0C) MASK Register */ + +/* -------- CAN_RXF0S : (CAN Offset: 0xA4) (R/ 32) Rx FIFO 0 Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t F0FL:7; /*!< bit: 0.. 6 Rx FIFO 0 Fill Level */ + uint32_t :1; /*!< bit: 7 Reserved */ + uint32_t F0GI:6; /*!< bit: 8..13 Rx FIFO 0 Get Index */ + uint32_t :2; /*!< bit: 14..15 Reserved */ + uint32_t F0PI:6; /*!< bit: 16..21 Rx FIFO 0 Put Index */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t F0F:1; /*!< bit: 24 Rx FIFO 0 Full */ + uint32_t RF0L:1; /*!< bit: 25 Rx FIFO 0 Message Lost */ + uint32_t :6; /*!< bit: 26..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF0S_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF0S_OFFSET 0xA4 /**< \brief (CAN_RXF0S offset) Rx FIFO 0 Status */ +#define CAN_RXF0S_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0S reset_value) Rx FIFO 0 Status */ + +#define CAN_RXF0S_F0FL_Pos 0 /**< \brief (CAN_RXF0S) Rx FIFO 0 Fill Level */ +#define CAN_RXF0S_F0FL_Msk (_U_(0x7F) << CAN_RXF0S_F0FL_Pos) +#define CAN_RXF0S_F0FL(value) (CAN_RXF0S_F0FL_Msk & ((value) << CAN_RXF0S_F0FL_Pos)) +#define CAN_RXF0S_F0GI_Pos 8 /**< \brief (CAN_RXF0S) Rx FIFO 0 Get Index */ +#define CAN_RXF0S_F0GI_Msk (_U_(0x3F) << CAN_RXF0S_F0GI_Pos) +#define CAN_RXF0S_F0GI(value) (CAN_RXF0S_F0GI_Msk & ((value) << CAN_RXF0S_F0GI_Pos)) +#define CAN_RXF0S_F0PI_Pos 16 /**< \brief (CAN_RXF0S) Rx FIFO 0 Put Index */ +#define CAN_RXF0S_F0PI_Msk (_U_(0x3F) << CAN_RXF0S_F0PI_Pos) +#define CAN_RXF0S_F0PI(value) (CAN_RXF0S_F0PI_Msk & ((value) << CAN_RXF0S_F0PI_Pos)) +#define CAN_RXF0S_F0F_Pos 24 /**< \brief (CAN_RXF0S) Rx FIFO 0 Full */ +#define CAN_RXF0S_F0F (_U_(0x1) << CAN_RXF0S_F0F_Pos) +#define CAN_RXF0S_RF0L_Pos 25 /**< \brief (CAN_RXF0S) Rx FIFO 0 Message Lost */ +#define CAN_RXF0S_RF0L (_U_(0x1) << CAN_RXF0S_RF0L_Pos) +#define CAN_RXF0S_MASK _U_(0x033F3F7F) /**< \brief (CAN_RXF0S) MASK Register */ + +/* -------- CAN_RXF0A : (CAN Offset: 0xA8) (R/W 32) Rx FIFO 0 Acknowledge -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t F0AI:6; /*!< bit: 0.. 5 Rx FIFO 0 Acknowledge Index */ + uint32_t :26; /*!< bit: 6..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF0A_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF0A_OFFSET 0xA8 /**< \brief (CAN_RXF0A offset) Rx FIFO 0 Acknowledge */ +#define CAN_RXF0A_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0A reset_value) Rx FIFO 0 Acknowledge */ + +#define CAN_RXF0A_F0AI_Pos 0 /**< \brief (CAN_RXF0A) Rx FIFO 0 Acknowledge Index */ +#define CAN_RXF0A_F0AI_Msk (_U_(0x3F) << CAN_RXF0A_F0AI_Pos) +#define CAN_RXF0A_F0AI(value) (CAN_RXF0A_F0AI_Msk & ((value) << CAN_RXF0A_F0AI_Pos)) +#define CAN_RXF0A_MASK _U_(0x0000003F) /**< \brief (CAN_RXF0A) MASK Register */ + +/* -------- CAN_RXBC : (CAN Offset: 0xAC) (R/W 32) Rx Buffer Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t RBSA:16; /*!< bit: 0..15 Rx Buffer Start Address */ + uint32_t :16; /*!< bit: 16..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXBC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXBC_OFFSET 0xAC /**< \brief (CAN_RXBC offset) Rx Buffer Configuration */ +#define CAN_RXBC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXBC reset_value) Rx Buffer Configuration */ + +#define CAN_RXBC_RBSA_Pos 0 /**< \brief (CAN_RXBC) Rx Buffer Start Address */ +#define CAN_RXBC_RBSA_Msk (_U_(0xFFFF) << CAN_RXBC_RBSA_Pos) +#define CAN_RXBC_RBSA(value) (CAN_RXBC_RBSA_Msk & ((value) << CAN_RXBC_RBSA_Pos)) +#define CAN_RXBC_MASK _U_(0x0000FFFF) /**< \brief (CAN_RXBC) MASK Register */ + +/* -------- CAN_RXF1C : (CAN Offset: 0xB0) (R/W 32) Rx FIFO 1 Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t F1SA:16; /*!< bit: 0..15 Rx FIFO 1 Start Address */ + uint32_t F1S:7; /*!< bit: 16..22 Rx FIFO 1 Size */ + uint32_t :1; /*!< bit: 23 Reserved */ + uint32_t F1WM:7; /*!< bit: 24..30 Rx FIFO 1 Watermark */ + uint32_t F1OM:1; /*!< bit: 31 FIFO 1 Operation Mode */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF1C_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF1C_OFFSET 0xB0 /**< \brief (CAN_RXF1C offset) Rx FIFO 1 Configuration */ +#define CAN_RXF1C_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1C reset_value) Rx FIFO 1 Configuration */ + +#define CAN_RXF1C_F1SA_Pos 0 /**< \brief (CAN_RXF1C) Rx FIFO 1 Start Address */ +#define CAN_RXF1C_F1SA_Msk (_U_(0xFFFF) << CAN_RXF1C_F1SA_Pos) +#define CAN_RXF1C_F1SA(value) (CAN_RXF1C_F1SA_Msk & ((value) << CAN_RXF1C_F1SA_Pos)) +#define CAN_RXF1C_F1S_Pos 16 /**< \brief (CAN_RXF1C) Rx FIFO 1 Size */ +#define CAN_RXF1C_F1S_Msk (_U_(0x7F) << CAN_RXF1C_F1S_Pos) +#define CAN_RXF1C_F1S(value) (CAN_RXF1C_F1S_Msk & ((value) << CAN_RXF1C_F1S_Pos)) +#define CAN_RXF1C_F1WM_Pos 24 /**< \brief (CAN_RXF1C) Rx FIFO 1 Watermark */ +#define CAN_RXF1C_F1WM_Msk (_U_(0x7F) << CAN_RXF1C_F1WM_Pos) +#define CAN_RXF1C_F1WM(value) (CAN_RXF1C_F1WM_Msk & ((value) << CAN_RXF1C_F1WM_Pos)) +#define CAN_RXF1C_F1OM_Pos 31 /**< \brief (CAN_RXF1C) FIFO 1 Operation Mode */ +#define CAN_RXF1C_F1OM (_U_(0x1) << CAN_RXF1C_F1OM_Pos) +#define CAN_RXF1C_MASK _U_(0xFF7FFFFF) /**< \brief (CAN_RXF1C) MASK Register */ + +/* -------- CAN_RXF1S : (CAN Offset: 0xB4) (R/ 32) Rx FIFO 1 Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t F1FL:7; /*!< bit: 0.. 6 Rx FIFO 1 Fill Level */ + uint32_t :1; /*!< bit: 7 Reserved */ + uint32_t F1GI:6; /*!< bit: 8..13 Rx FIFO 1 Get Index */ + uint32_t :2; /*!< bit: 14..15 Reserved */ + uint32_t F1PI:6; /*!< bit: 16..21 Rx FIFO 1 Put Index */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t F1F:1; /*!< bit: 24 Rx FIFO 1 Full */ + uint32_t RF1L:1; /*!< bit: 25 Rx FIFO 1 Message Lost */ + uint32_t :4; /*!< bit: 26..29 Reserved */ + uint32_t DMS:2; /*!< bit: 30..31 Debug Message Status */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF1S_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF1S_OFFSET 0xB4 /**< \brief (CAN_RXF1S offset) Rx FIFO 1 Status */ +#define CAN_RXF1S_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1S reset_value) Rx FIFO 1 Status */ + +#define CAN_RXF1S_F1FL_Pos 0 /**< \brief (CAN_RXF1S) Rx FIFO 1 Fill Level */ +#define CAN_RXF1S_F1FL_Msk (_U_(0x7F) << CAN_RXF1S_F1FL_Pos) +#define CAN_RXF1S_F1FL(value) (CAN_RXF1S_F1FL_Msk & ((value) << CAN_RXF1S_F1FL_Pos)) +#define CAN_RXF1S_F1GI_Pos 8 /**< \brief (CAN_RXF1S) Rx FIFO 1 Get Index */ +#define CAN_RXF1S_F1GI_Msk (_U_(0x3F) << CAN_RXF1S_F1GI_Pos) +#define CAN_RXF1S_F1GI(value) (CAN_RXF1S_F1GI_Msk & ((value) << CAN_RXF1S_F1GI_Pos)) +#define CAN_RXF1S_F1PI_Pos 16 /**< \brief (CAN_RXF1S) Rx FIFO 1 Put Index */ +#define CAN_RXF1S_F1PI_Msk (_U_(0x3F) << CAN_RXF1S_F1PI_Pos) +#define CAN_RXF1S_F1PI(value) (CAN_RXF1S_F1PI_Msk & ((value) << CAN_RXF1S_F1PI_Pos)) +#define CAN_RXF1S_F1F_Pos 24 /**< \brief (CAN_RXF1S) Rx FIFO 1 Full */ +#define CAN_RXF1S_F1F (_U_(0x1) << CAN_RXF1S_F1F_Pos) +#define CAN_RXF1S_RF1L_Pos 25 /**< \brief (CAN_RXF1S) Rx FIFO 1 Message Lost */ +#define CAN_RXF1S_RF1L (_U_(0x1) << CAN_RXF1S_RF1L_Pos) +#define CAN_RXF1S_DMS_Pos 30 /**< \brief (CAN_RXF1S) Debug Message Status */ +#define CAN_RXF1S_DMS_Msk (_U_(0x3) << CAN_RXF1S_DMS_Pos) +#define CAN_RXF1S_DMS(value) (CAN_RXF1S_DMS_Msk & ((value) << CAN_RXF1S_DMS_Pos)) +#define CAN_RXF1S_DMS_IDLE_Val _U_(0x0) /**< \brief (CAN_RXF1S) Idle state */ +#define CAN_RXF1S_DMS_DBGA_Val _U_(0x1) /**< \brief (CAN_RXF1S) Debug message A received */ +#define CAN_RXF1S_DMS_DBGB_Val _U_(0x2) /**< \brief (CAN_RXF1S) Debug message A/B received */ +#define CAN_RXF1S_DMS_DBGC_Val _U_(0x3) /**< \brief (CAN_RXF1S) Debug message A/B/C received, DMA request set */ +#define CAN_RXF1S_DMS_IDLE (CAN_RXF1S_DMS_IDLE_Val << CAN_RXF1S_DMS_Pos) +#define CAN_RXF1S_DMS_DBGA (CAN_RXF1S_DMS_DBGA_Val << CAN_RXF1S_DMS_Pos) +#define CAN_RXF1S_DMS_DBGB (CAN_RXF1S_DMS_DBGB_Val << CAN_RXF1S_DMS_Pos) +#define CAN_RXF1S_DMS_DBGC (CAN_RXF1S_DMS_DBGC_Val << CAN_RXF1S_DMS_Pos) +#define CAN_RXF1S_MASK _U_(0xC33F3F7F) /**< \brief (CAN_RXF1S) MASK Register */ + +/* -------- CAN_RXF1A : (CAN Offset: 0xB8) (R/W 32) Rx FIFO 1 Acknowledge -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t F1AI:6; /*!< bit: 0.. 5 Rx FIFO 1 Acknowledge Index */ + uint32_t :26; /*!< bit: 6..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF1A_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF1A_OFFSET 0xB8 /**< \brief (CAN_RXF1A offset) Rx FIFO 1 Acknowledge */ +#define CAN_RXF1A_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1A reset_value) Rx FIFO 1 Acknowledge */ + +#define CAN_RXF1A_F1AI_Pos 0 /**< \brief (CAN_RXF1A) Rx FIFO 1 Acknowledge Index */ +#define CAN_RXF1A_F1AI_Msk (_U_(0x3F) << CAN_RXF1A_F1AI_Pos) +#define CAN_RXF1A_F1AI(value) (CAN_RXF1A_F1AI_Msk & ((value) << CAN_RXF1A_F1AI_Pos)) +#define CAN_RXF1A_MASK _U_(0x0000003F) /**< \brief (CAN_RXF1A) MASK Register */ + +/* -------- CAN_RXESC : (CAN Offset: 0xBC) (R/W 32) Rx Buffer / FIFO Element Size Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t F0DS:3; /*!< bit: 0.. 2 Rx FIFO 0 Data Field Size */ + uint32_t :1; /*!< bit: 3 Reserved */ + uint32_t F1DS:3; /*!< bit: 4.. 6 Rx FIFO 1 Data Field Size */ + uint32_t :1; /*!< bit: 7 Reserved */ + uint32_t RBDS:3; /*!< bit: 8..10 Rx Buffer Data Field Size */ + uint32_t :21; /*!< bit: 11..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXESC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXESC_OFFSET 0xBC /**< \brief (CAN_RXESC offset) Rx Buffer / FIFO Element Size Configuration */ +#define CAN_RXESC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXESC reset_value) Rx Buffer / FIFO Element Size Configuration */ + +#define CAN_RXESC_F0DS_Pos 0 /**< \brief (CAN_RXESC) Rx FIFO 0 Data Field Size */ +#define CAN_RXESC_F0DS_Msk (_U_(0x7) << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F0DS(value) (CAN_RXESC_F0DS_Msk & ((value) << CAN_RXESC_F0DS_Pos)) +#define CAN_RXESC_F0DS_DATA8_Val _U_(0x0) /**< \brief (CAN_RXESC) 8 byte data field */ +#define CAN_RXESC_F0DS_DATA12_Val _U_(0x1) /**< \brief (CAN_RXESC) 12 byte data field */ +#define CAN_RXESC_F0DS_DATA16_Val _U_(0x2) /**< \brief (CAN_RXESC) 16 byte data field */ +#define CAN_RXESC_F0DS_DATA20_Val _U_(0x3) /**< \brief (CAN_RXESC) 20 byte data field */ +#define CAN_RXESC_F0DS_DATA24_Val _U_(0x4) /**< \brief (CAN_RXESC) 24 byte data field */ +#define CAN_RXESC_F0DS_DATA32_Val _U_(0x5) /**< \brief (CAN_RXESC) 32 byte data field */ +#define CAN_RXESC_F0DS_DATA48_Val _U_(0x6) /**< \brief (CAN_RXESC) 48 byte data field */ +#define CAN_RXESC_F0DS_DATA64_Val _U_(0x7) /**< \brief (CAN_RXESC) 64 byte data field */ +#define CAN_RXESC_F0DS_DATA8 (CAN_RXESC_F0DS_DATA8_Val << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F0DS_DATA12 (CAN_RXESC_F0DS_DATA12_Val << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F0DS_DATA16 (CAN_RXESC_F0DS_DATA16_Val << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F0DS_DATA20 (CAN_RXESC_F0DS_DATA20_Val << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F0DS_DATA24 (CAN_RXESC_F0DS_DATA24_Val << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F0DS_DATA32 (CAN_RXESC_F0DS_DATA32_Val << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F0DS_DATA48 (CAN_RXESC_F0DS_DATA48_Val << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F0DS_DATA64 (CAN_RXESC_F0DS_DATA64_Val << CAN_RXESC_F0DS_Pos) +#define CAN_RXESC_F1DS_Pos 4 /**< \brief (CAN_RXESC) Rx FIFO 1 Data Field Size */ +#define CAN_RXESC_F1DS_Msk (_U_(0x7) << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_F1DS(value) (CAN_RXESC_F1DS_Msk & ((value) << CAN_RXESC_F1DS_Pos)) +#define CAN_RXESC_F1DS_DATA8_Val _U_(0x0) /**< \brief (CAN_RXESC) 8 byte data field */ +#define CAN_RXESC_F1DS_DATA12_Val _U_(0x1) /**< \brief (CAN_RXESC) 12 byte data field */ +#define CAN_RXESC_F1DS_DATA16_Val _U_(0x2) /**< \brief (CAN_RXESC) 16 byte data field */ +#define CAN_RXESC_F1DS_DATA20_Val _U_(0x3) /**< \brief (CAN_RXESC) 20 byte data field */ +#define CAN_RXESC_F1DS_DATA24_Val _U_(0x4) /**< \brief (CAN_RXESC) 24 byte data field */ +#define CAN_RXESC_F1DS_DATA32_Val _U_(0x5) /**< \brief (CAN_RXESC) 32 byte data field */ +#define CAN_RXESC_F1DS_DATA48_Val _U_(0x6) /**< \brief (CAN_RXESC) 48 byte data field */ +#define CAN_RXESC_F1DS_DATA64_Val _U_(0x7) /**< \brief (CAN_RXESC) 64 byte data field */ +#define CAN_RXESC_F1DS_DATA8 (CAN_RXESC_F1DS_DATA8_Val << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_F1DS_DATA12 (CAN_RXESC_F1DS_DATA12_Val << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_F1DS_DATA16 (CAN_RXESC_F1DS_DATA16_Val << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_F1DS_DATA20 (CAN_RXESC_F1DS_DATA20_Val << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_F1DS_DATA24 (CAN_RXESC_F1DS_DATA24_Val << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_F1DS_DATA32 (CAN_RXESC_F1DS_DATA32_Val << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_F1DS_DATA48 (CAN_RXESC_F1DS_DATA48_Val << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_F1DS_DATA64 (CAN_RXESC_F1DS_DATA64_Val << CAN_RXESC_F1DS_Pos) +#define CAN_RXESC_RBDS_Pos 8 /**< \brief (CAN_RXESC) Rx Buffer Data Field Size */ +#define CAN_RXESC_RBDS_Msk (_U_(0x7) << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_RBDS(value) (CAN_RXESC_RBDS_Msk & ((value) << CAN_RXESC_RBDS_Pos)) +#define CAN_RXESC_RBDS_DATA8_Val _U_(0x0) /**< \brief (CAN_RXESC) 8 byte data field */ +#define CAN_RXESC_RBDS_DATA12_Val _U_(0x1) /**< \brief (CAN_RXESC) 12 byte data field */ +#define CAN_RXESC_RBDS_DATA16_Val _U_(0x2) /**< \brief (CAN_RXESC) 16 byte data field */ +#define CAN_RXESC_RBDS_DATA20_Val _U_(0x3) /**< \brief (CAN_RXESC) 20 byte data field */ +#define CAN_RXESC_RBDS_DATA24_Val _U_(0x4) /**< \brief (CAN_RXESC) 24 byte data field */ +#define CAN_RXESC_RBDS_DATA32_Val _U_(0x5) /**< \brief (CAN_RXESC) 32 byte data field */ +#define CAN_RXESC_RBDS_DATA48_Val _U_(0x6) /**< \brief (CAN_RXESC) 48 byte data field */ +#define CAN_RXESC_RBDS_DATA64_Val _U_(0x7) /**< \brief (CAN_RXESC) 64 byte data field */ +#define CAN_RXESC_RBDS_DATA8 (CAN_RXESC_RBDS_DATA8_Val << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_RBDS_DATA12 (CAN_RXESC_RBDS_DATA12_Val << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_RBDS_DATA16 (CAN_RXESC_RBDS_DATA16_Val << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_RBDS_DATA20 (CAN_RXESC_RBDS_DATA20_Val << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_RBDS_DATA24 (CAN_RXESC_RBDS_DATA24_Val << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_RBDS_DATA32 (CAN_RXESC_RBDS_DATA32_Val << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_RBDS_DATA48 (CAN_RXESC_RBDS_DATA48_Val << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_RBDS_DATA64 (CAN_RXESC_RBDS_DATA64_Val << CAN_RXESC_RBDS_Pos) +#define CAN_RXESC_MASK _U_(0x00000777) /**< \brief (CAN_RXESC) MASK Register */ + +/* -------- CAN_TXBC : (CAN Offset: 0xC0) (R/W 32) Tx Buffer Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TBSA:16; /*!< bit: 0..15 Tx Buffers Start Address */ + uint32_t NDTB:6; /*!< bit: 16..21 Number of Dedicated Transmit Buffers */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t TFQS:6; /*!< bit: 24..29 Transmit FIFO/Queue Size */ + uint32_t TFQM:1; /*!< bit: 30 Tx FIFO/Queue Mode */ + uint32_t :1; /*!< bit: 31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBC_OFFSET 0xC0 /**< \brief (CAN_TXBC offset) Tx Buffer Configuration */ +#define CAN_TXBC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBC reset_value) Tx Buffer Configuration */ + +#define CAN_TXBC_TBSA_Pos 0 /**< \brief (CAN_TXBC) Tx Buffers Start Address */ +#define CAN_TXBC_TBSA_Msk (_U_(0xFFFF) << CAN_TXBC_TBSA_Pos) +#define CAN_TXBC_TBSA(value) (CAN_TXBC_TBSA_Msk & ((value) << CAN_TXBC_TBSA_Pos)) +#define CAN_TXBC_NDTB_Pos 16 /**< \brief (CAN_TXBC) Number of Dedicated Transmit Buffers */ +#define CAN_TXBC_NDTB_Msk (_U_(0x3F) << CAN_TXBC_NDTB_Pos) +#define CAN_TXBC_NDTB(value) (CAN_TXBC_NDTB_Msk & ((value) << CAN_TXBC_NDTB_Pos)) +#define CAN_TXBC_TFQS_Pos 24 /**< \brief (CAN_TXBC) Transmit FIFO/Queue Size */ +#define CAN_TXBC_TFQS_Msk (_U_(0x3F) << CAN_TXBC_TFQS_Pos) +#define CAN_TXBC_TFQS(value) (CAN_TXBC_TFQS_Msk & ((value) << CAN_TXBC_TFQS_Pos)) +#define CAN_TXBC_TFQM_Pos 30 /**< \brief (CAN_TXBC) Tx FIFO/Queue Mode */ +#define CAN_TXBC_TFQM (_U_(0x1) << CAN_TXBC_TFQM_Pos) +#define CAN_TXBC_MASK _U_(0x7F3FFFFF) /**< \brief (CAN_TXBC) MASK Register */ + +/* -------- CAN_TXFQS : (CAN Offset: 0xC4) (R/ 32) Tx FIFO / Queue Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TFFL:6; /*!< bit: 0.. 5 Tx FIFO Free Level */ + uint32_t :2; /*!< bit: 6.. 7 Reserved */ + uint32_t TFGI:5; /*!< bit: 8..12 Tx FIFO Get Index */ + uint32_t :3; /*!< bit: 13..15 Reserved */ + uint32_t TFQPI:5; /*!< bit: 16..20 Tx FIFO/Queue Put Index */ + uint32_t TFQF:1; /*!< bit: 21 Tx FIFO/Queue Full */ + uint32_t :10; /*!< bit: 22..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXFQS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXFQS_OFFSET 0xC4 /**< \brief (CAN_TXFQS offset) Tx FIFO / Queue Status */ +#define CAN_TXFQS_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXFQS reset_value) Tx FIFO / Queue Status */ + +#define CAN_TXFQS_TFFL_Pos 0 /**< \brief (CAN_TXFQS) Tx FIFO Free Level */ +#define CAN_TXFQS_TFFL_Msk (_U_(0x3F) << CAN_TXFQS_TFFL_Pos) +#define CAN_TXFQS_TFFL(value) (CAN_TXFQS_TFFL_Msk & ((value) << CAN_TXFQS_TFFL_Pos)) +#define CAN_TXFQS_TFGI_Pos 8 /**< \brief (CAN_TXFQS) Tx FIFO Get Index */ +#define CAN_TXFQS_TFGI_Msk (_U_(0x1F) << CAN_TXFQS_TFGI_Pos) +#define CAN_TXFQS_TFGI(value) (CAN_TXFQS_TFGI_Msk & ((value) << CAN_TXFQS_TFGI_Pos)) +#define CAN_TXFQS_TFQPI_Pos 16 /**< \brief (CAN_TXFQS) Tx FIFO/Queue Put Index */ +#define CAN_TXFQS_TFQPI_Msk (_U_(0x1F) << CAN_TXFQS_TFQPI_Pos) +#define CAN_TXFQS_TFQPI(value) (CAN_TXFQS_TFQPI_Msk & ((value) << CAN_TXFQS_TFQPI_Pos)) +#define CAN_TXFQS_TFQF_Pos 21 /**< \brief (CAN_TXFQS) Tx FIFO/Queue Full */ +#define CAN_TXFQS_TFQF (_U_(0x1) << CAN_TXFQS_TFQF_Pos) +#define CAN_TXFQS_MASK _U_(0x003F1F3F) /**< \brief (CAN_TXFQS) MASK Register */ + +/* -------- CAN_TXESC : (CAN Offset: 0xC8) (R/W 32) Tx Buffer Element Size Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TBDS:3; /*!< bit: 0.. 2 Tx Buffer Data Field Size */ + uint32_t :29; /*!< bit: 3..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXESC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXESC_OFFSET 0xC8 /**< \brief (CAN_TXESC offset) Tx Buffer Element Size Configuration */ +#define CAN_TXESC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXESC reset_value) Tx Buffer Element Size Configuration */ + +#define CAN_TXESC_TBDS_Pos 0 /**< \brief (CAN_TXESC) Tx Buffer Data Field Size */ +#define CAN_TXESC_TBDS_Msk (_U_(0x7) << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_TBDS(value) (CAN_TXESC_TBDS_Msk & ((value) << CAN_TXESC_TBDS_Pos)) +#define CAN_TXESC_TBDS_DATA8_Val _U_(0x0) /**< \brief (CAN_TXESC) 8 byte data field */ +#define CAN_TXESC_TBDS_DATA12_Val _U_(0x1) /**< \brief (CAN_TXESC) 12 byte data field */ +#define CAN_TXESC_TBDS_DATA16_Val _U_(0x2) /**< \brief (CAN_TXESC) 16 byte data field */ +#define CAN_TXESC_TBDS_DATA20_Val _U_(0x3) /**< \brief (CAN_TXESC) 20 byte data field */ +#define CAN_TXESC_TBDS_DATA24_Val _U_(0x4) /**< \brief (CAN_TXESC) 24 byte data field */ +#define CAN_TXESC_TBDS_DATA32_Val _U_(0x5) /**< \brief (CAN_TXESC) 32 byte data field */ +#define CAN_TXESC_TBDS_DATA48_Val _U_(0x6) /**< \brief (CAN_TXESC) 48 byte data field */ +#define CAN_TXESC_TBDS_DATA64_Val _U_(0x7) /**< \brief (CAN_TXESC) 64 byte data field */ +#define CAN_TXESC_TBDS_DATA8 (CAN_TXESC_TBDS_DATA8_Val << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_TBDS_DATA12 (CAN_TXESC_TBDS_DATA12_Val << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_TBDS_DATA16 (CAN_TXESC_TBDS_DATA16_Val << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_TBDS_DATA20 (CAN_TXESC_TBDS_DATA20_Val << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_TBDS_DATA24 (CAN_TXESC_TBDS_DATA24_Val << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_TBDS_DATA32 (CAN_TXESC_TBDS_DATA32_Val << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_TBDS_DATA48 (CAN_TXESC_TBDS_DATA48_Val << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_TBDS_DATA64 (CAN_TXESC_TBDS_DATA64_Val << CAN_TXESC_TBDS_Pos) +#define CAN_TXESC_MASK _U_(0x00000007) /**< \brief (CAN_TXESC) MASK Register */ + +/* -------- CAN_TXBRP : (CAN Offset: 0xCC) (R/ 32) Tx Buffer Request Pending -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TRP0:1; /*!< bit: 0 Transmission Request Pending 0 */ + uint32_t TRP1:1; /*!< bit: 1 Transmission Request Pending 1 */ + uint32_t TRP2:1; /*!< bit: 2 Transmission Request Pending 2 */ + uint32_t TRP3:1; /*!< bit: 3 Transmission Request Pending 3 */ + uint32_t TRP4:1; /*!< bit: 4 Transmission Request Pending 4 */ + uint32_t TRP5:1; /*!< bit: 5 Transmission Request Pending 5 */ + uint32_t TRP6:1; /*!< bit: 6 Transmission Request Pending 6 */ + uint32_t TRP7:1; /*!< bit: 7 Transmission Request Pending 7 */ + uint32_t TRP8:1; /*!< bit: 8 Transmission Request Pending 8 */ + uint32_t TRP9:1; /*!< bit: 9 Transmission Request Pending 9 */ + uint32_t TRP10:1; /*!< bit: 10 Transmission Request Pending 10 */ + uint32_t TRP11:1; /*!< bit: 11 Transmission Request Pending 11 */ + uint32_t TRP12:1; /*!< bit: 12 Transmission Request Pending 12 */ + uint32_t TRP13:1; /*!< bit: 13 Transmission Request Pending 13 */ + uint32_t TRP14:1; /*!< bit: 14 Transmission Request Pending 14 */ + uint32_t TRP15:1; /*!< bit: 15 Transmission Request Pending 15 */ + uint32_t TRP16:1; /*!< bit: 16 Transmission Request Pending 16 */ + uint32_t TRP17:1; /*!< bit: 17 Transmission Request Pending 17 */ + uint32_t TRP18:1; /*!< bit: 18 Transmission Request Pending 18 */ + uint32_t TRP19:1; /*!< bit: 19 Transmission Request Pending 19 */ + uint32_t TRP20:1; /*!< bit: 20 Transmission Request Pending 20 */ + uint32_t TRP21:1; /*!< bit: 21 Transmission Request Pending 21 */ + uint32_t TRP22:1; /*!< bit: 22 Transmission Request Pending 22 */ + uint32_t TRP23:1; /*!< bit: 23 Transmission Request Pending 23 */ + uint32_t TRP24:1; /*!< bit: 24 Transmission Request Pending 24 */ + uint32_t TRP25:1; /*!< bit: 25 Transmission Request Pending 25 */ + uint32_t TRP26:1; /*!< bit: 26 Transmission Request Pending 26 */ + uint32_t TRP27:1; /*!< bit: 27 Transmission Request Pending 27 */ + uint32_t TRP28:1; /*!< bit: 28 Transmission Request Pending 28 */ + uint32_t TRP29:1; /*!< bit: 29 Transmission Request Pending 29 */ + uint32_t TRP30:1; /*!< bit: 30 Transmission Request Pending 30 */ + uint32_t TRP31:1; /*!< bit: 31 Transmission Request Pending 31 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBRP_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBRP_OFFSET 0xCC /**< \brief (CAN_TXBRP offset) Tx Buffer Request Pending */ +#define CAN_TXBRP_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBRP reset_value) Tx Buffer Request Pending */ + +#define CAN_TXBRP_TRP0_Pos 0 /**< \brief (CAN_TXBRP) Transmission Request Pending 0 */ +#define CAN_TXBRP_TRP0 (_U_(0x1) << CAN_TXBRP_TRP0_Pos) +#define CAN_TXBRP_TRP1_Pos 1 /**< \brief (CAN_TXBRP) Transmission Request Pending 1 */ +#define CAN_TXBRP_TRP1 (_U_(0x1) << CAN_TXBRP_TRP1_Pos) +#define CAN_TXBRP_TRP2_Pos 2 /**< \brief (CAN_TXBRP) Transmission Request Pending 2 */ +#define CAN_TXBRP_TRP2 (_U_(0x1) << CAN_TXBRP_TRP2_Pos) +#define CAN_TXBRP_TRP3_Pos 3 /**< \brief (CAN_TXBRP) Transmission Request Pending 3 */ +#define CAN_TXBRP_TRP3 (_U_(0x1) << CAN_TXBRP_TRP3_Pos) +#define CAN_TXBRP_TRP4_Pos 4 /**< \brief (CAN_TXBRP) Transmission Request Pending 4 */ +#define CAN_TXBRP_TRP4 (_U_(0x1) << CAN_TXBRP_TRP4_Pos) +#define CAN_TXBRP_TRP5_Pos 5 /**< \brief (CAN_TXBRP) Transmission Request Pending 5 */ +#define CAN_TXBRP_TRP5 (_U_(0x1) << CAN_TXBRP_TRP5_Pos) +#define CAN_TXBRP_TRP6_Pos 6 /**< \brief (CAN_TXBRP) Transmission Request Pending 6 */ +#define CAN_TXBRP_TRP6 (_U_(0x1) << CAN_TXBRP_TRP6_Pos) +#define CAN_TXBRP_TRP7_Pos 7 /**< \brief (CAN_TXBRP) Transmission Request Pending 7 */ +#define CAN_TXBRP_TRP7 (_U_(0x1) << CAN_TXBRP_TRP7_Pos) +#define CAN_TXBRP_TRP8_Pos 8 /**< \brief (CAN_TXBRP) Transmission Request Pending 8 */ +#define CAN_TXBRP_TRP8 (_U_(0x1) << CAN_TXBRP_TRP8_Pos) +#define CAN_TXBRP_TRP9_Pos 9 /**< \brief (CAN_TXBRP) Transmission Request Pending 9 */ +#define CAN_TXBRP_TRP9 (_U_(0x1) << CAN_TXBRP_TRP9_Pos) +#define CAN_TXBRP_TRP10_Pos 10 /**< \brief (CAN_TXBRP) Transmission Request Pending 10 */ +#define CAN_TXBRP_TRP10 (_U_(0x1) << CAN_TXBRP_TRP10_Pos) +#define CAN_TXBRP_TRP11_Pos 11 /**< \brief (CAN_TXBRP) Transmission Request Pending 11 */ +#define CAN_TXBRP_TRP11 (_U_(0x1) << CAN_TXBRP_TRP11_Pos) +#define CAN_TXBRP_TRP12_Pos 12 /**< \brief (CAN_TXBRP) Transmission Request Pending 12 */ +#define CAN_TXBRP_TRP12 (_U_(0x1) << CAN_TXBRP_TRP12_Pos) +#define CAN_TXBRP_TRP13_Pos 13 /**< \brief (CAN_TXBRP) Transmission Request Pending 13 */ +#define CAN_TXBRP_TRP13 (_U_(0x1) << CAN_TXBRP_TRP13_Pos) +#define CAN_TXBRP_TRP14_Pos 14 /**< \brief (CAN_TXBRP) Transmission Request Pending 14 */ +#define CAN_TXBRP_TRP14 (_U_(0x1) << CAN_TXBRP_TRP14_Pos) +#define CAN_TXBRP_TRP15_Pos 15 /**< \brief (CAN_TXBRP) Transmission Request Pending 15 */ +#define CAN_TXBRP_TRP15 (_U_(0x1) << CAN_TXBRP_TRP15_Pos) +#define CAN_TXBRP_TRP16_Pos 16 /**< \brief (CAN_TXBRP) Transmission Request Pending 16 */ +#define CAN_TXBRP_TRP16 (_U_(0x1) << CAN_TXBRP_TRP16_Pos) +#define CAN_TXBRP_TRP17_Pos 17 /**< \brief (CAN_TXBRP) Transmission Request Pending 17 */ +#define CAN_TXBRP_TRP17 (_U_(0x1) << CAN_TXBRP_TRP17_Pos) +#define CAN_TXBRP_TRP18_Pos 18 /**< \brief (CAN_TXBRP) Transmission Request Pending 18 */ +#define CAN_TXBRP_TRP18 (_U_(0x1) << CAN_TXBRP_TRP18_Pos) +#define CAN_TXBRP_TRP19_Pos 19 /**< \brief (CAN_TXBRP) Transmission Request Pending 19 */ +#define CAN_TXBRP_TRP19 (_U_(0x1) << CAN_TXBRP_TRP19_Pos) +#define CAN_TXBRP_TRP20_Pos 20 /**< \brief (CAN_TXBRP) Transmission Request Pending 20 */ +#define CAN_TXBRP_TRP20 (_U_(0x1) << CAN_TXBRP_TRP20_Pos) +#define CAN_TXBRP_TRP21_Pos 21 /**< \brief (CAN_TXBRP) Transmission Request Pending 21 */ +#define CAN_TXBRP_TRP21 (_U_(0x1) << CAN_TXBRP_TRP21_Pos) +#define CAN_TXBRP_TRP22_Pos 22 /**< \brief (CAN_TXBRP) Transmission Request Pending 22 */ +#define CAN_TXBRP_TRP22 (_U_(0x1) << CAN_TXBRP_TRP22_Pos) +#define CAN_TXBRP_TRP23_Pos 23 /**< \brief (CAN_TXBRP) Transmission Request Pending 23 */ +#define CAN_TXBRP_TRP23 (_U_(0x1) << CAN_TXBRP_TRP23_Pos) +#define CAN_TXBRP_TRP24_Pos 24 /**< \brief (CAN_TXBRP) Transmission Request Pending 24 */ +#define CAN_TXBRP_TRP24 (_U_(0x1) << CAN_TXBRP_TRP24_Pos) +#define CAN_TXBRP_TRP25_Pos 25 /**< \brief (CAN_TXBRP) Transmission Request Pending 25 */ +#define CAN_TXBRP_TRP25 (_U_(0x1) << CAN_TXBRP_TRP25_Pos) +#define CAN_TXBRP_TRP26_Pos 26 /**< \brief (CAN_TXBRP) Transmission Request Pending 26 */ +#define CAN_TXBRP_TRP26 (_U_(0x1) << CAN_TXBRP_TRP26_Pos) +#define CAN_TXBRP_TRP27_Pos 27 /**< \brief (CAN_TXBRP) Transmission Request Pending 27 */ +#define CAN_TXBRP_TRP27 (_U_(0x1) << CAN_TXBRP_TRP27_Pos) +#define CAN_TXBRP_TRP28_Pos 28 /**< \brief (CAN_TXBRP) Transmission Request Pending 28 */ +#define CAN_TXBRP_TRP28 (_U_(0x1) << CAN_TXBRP_TRP28_Pos) +#define CAN_TXBRP_TRP29_Pos 29 /**< \brief (CAN_TXBRP) Transmission Request Pending 29 */ +#define CAN_TXBRP_TRP29 (_U_(0x1) << CAN_TXBRP_TRP29_Pos) +#define CAN_TXBRP_TRP30_Pos 30 /**< \brief (CAN_TXBRP) Transmission Request Pending 30 */ +#define CAN_TXBRP_TRP30 (_U_(0x1) << CAN_TXBRP_TRP30_Pos) +#define CAN_TXBRP_TRP31_Pos 31 /**< \brief (CAN_TXBRP) Transmission Request Pending 31 */ +#define CAN_TXBRP_TRP31 (_U_(0x1) << CAN_TXBRP_TRP31_Pos) +#define CAN_TXBRP_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBRP) MASK Register */ + +/* -------- CAN_TXBAR : (CAN Offset: 0xD0) (R/W 32) Tx Buffer Add Request -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t AR0:1; /*!< bit: 0 Add Request 0 */ + uint32_t AR1:1; /*!< bit: 1 Add Request 1 */ + uint32_t AR2:1; /*!< bit: 2 Add Request 2 */ + uint32_t AR3:1; /*!< bit: 3 Add Request 3 */ + uint32_t AR4:1; /*!< bit: 4 Add Request 4 */ + uint32_t AR5:1; /*!< bit: 5 Add Request 5 */ + uint32_t AR6:1; /*!< bit: 6 Add Request 6 */ + uint32_t AR7:1; /*!< bit: 7 Add Request 7 */ + uint32_t AR8:1; /*!< bit: 8 Add Request 8 */ + uint32_t AR9:1; /*!< bit: 9 Add Request 9 */ + uint32_t AR10:1; /*!< bit: 10 Add Request 10 */ + uint32_t AR11:1; /*!< bit: 11 Add Request 11 */ + uint32_t AR12:1; /*!< bit: 12 Add Request 12 */ + uint32_t AR13:1; /*!< bit: 13 Add Request 13 */ + uint32_t AR14:1; /*!< bit: 14 Add Request 14 */ + uint32_t AR15:1; /*!< bit: 15 Add Request 15 */ + uint32_t AR16:1; /*!< bit: 16 Add Request 16 */ + uint32_t AR17:1; /*!< bit: 17 Add Request 17 */ + uint32_t AR18:1; /*!< bit: 18 Add Request 18 */ + uint32_t AR19:1; /*!< bit: 19 Add Request 19 */ + uint32_t AR20:1; /*!< bit: 20 Add Request 20 */ + uint32_t AR21:1; /*!< bit: 21 Add Request 21 */ + uint32_t AR22:1; /*!< bit: 22 Add Request 22 */ + uint32_t AR23:1; /*!< bit: 23 Add Request 23 */ + uint32_t AR24:1; /*!< bit: 24 Add Request 24 */ + uint32_t AR25:1; /*!< bit: 25 Add Request 25 */ + uint32_t AR26:1; /*!< bit: 26 Add Request 26 */ + uint32_t AR27:1; /*!< bit: 27 Add Request 27 */ + uint32_t AR28:1; /*!< bit: 28 Add Request 28 */ + uint32_t AR29:1; /*!< bit: 29 Add Request 29 */ + uint32_t AR30:1; /*!< bit: 30 Add Request 30 */ + uint32_t AR31:1; /*!< bit: 31 Add Request 31 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBAR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBAR_OFFSET 0xD0 /**< \brief (CAN_TXBAR offset) Tx Buffer Add Request */ +#define CAN_TXBAR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBAR reset_value) Tx Buffer Add Request */ + +#define CAN_TXBAR_AR0_Pos 0 /**< \brief (CAN_TXBAR) Add Request 0 */ +#define CAN_TXBAR_AR0 (_U_(0x1) << CAN_TXBAR_AR0_Pos) +#define CAN_TXBAR_AR1_Pos 1 /**< \brief (CAN_TXBAR) Add Request 1 */ +#define CAN_TXBAR_AR1 (_U_(0x1) << CAN_TXBAR_AR1_Pos) +#define CAN_TXBAR_AR2_Pos 2 /**< \brief (CAN_TXBAR) Add Request 2 */ +#define CAN_TXBAR_AR2 (_U_(0x1) << CAN_TXBAR_AR2_Pos) +#define CAN_TXBAR_AR3_Pos 3 /**< \brief (CAN_TXBAR) Add Request 3 */ +#define CAN_TXBAR_AR3 (_U_(0x1) << CAN_TXBAR_AR3_Pos) +#define CAN_TXBAR_AR4_Pos 4 /**< \brief (CAN_TXBAR) Add Request 4 */ +#define CAN_TXBAR_AR4 (_U_(0x1) << CAN_TXBAR_AR4_Pos) +#define CAN_TXBAR_AR5_Pos 5 /**< \brief (CAN_TXBAR) Add Request 5 */ +#define CAN_TXBAR_AR5 (_U_(0x1) << CAN_TXBAR_AR5_Pos) +#define CAN_TXBAR_AR6_Pos 6 /**< \brief (CAN_TXBAR) Add Request 6 */ +#define CAN_TXBAR_AR6 (_U_(0x1) << CAN_TXBAR_AR6_Pos) +#define CAN_TXBAR_AR7_Pos 7 /**< \brief (CAN_TXBAR) Add Request 7 */ +#define CAN_TXBAR_AR7 (_U_(0x1) << CAN_TXBAR_AR7_Pos) +#define CAN_TXBAR_AR8_Pos 8 /**< \brief (CAN_TXBAR) Add Request 8 */ +#define CAN_TXBAR_AR8 (_U_(0x1) << CAN_TXBAR_AR8_Pos) +#define CAN_TXBAR_AR9_Pos 9 /**< \brief (CAN_TXBAR) Add Request 9 */ +#define CAN_TXBAR_AR9 (_U_(0x1) << CAN_TXBAR_AR9_Pos) +#define CAN_TXBAR_AR10_Pos 10 /**< \brief (CAN_TXBAR) Add Request 10 */ +#define CAN_TXBAR_AR10 (_U_(0x1) << CAN_TXBAR_AR10_Pos) +#define CAN_TXBAR_AR11_Pos 11 /**< \brief (CAN_TXBAR) Add Request 11 */ +#define CAN_TXBAR_AR11 (_U_(0x1) << CAN_TXBAR_AR11_Pos) +#define CAN_TXBAR_AR12_Pos 12 /**< \brief (CAN_TXBAR) Add Request 12 */ +#define CAN_TXBAR_AR12 (_U_(0x1) << CAN_TXBAR_AR12_Pos) +#define CAN_TXBAR_AR13_Pos 13 /**< \brief (CAN_TXBAR) Add Request 13 */ +#define CAN_TXBAR_AR13 (_U_(0x1) << CAN_TXBAR_AR13_Pos) +#define CAN_TXBAR_AR14_Pos 14 /**< \brief (CAN_TXBAR) Add Request 14 */ +#define CAN_TXBAR_AR14 (_U_(0x1) << CAN_TXBAR_AR14_Pos) +#define CAN_TXBAR_AR15_Pos 15 /**< \brief (CAN_TXBAR) Add Request 15 */ +#define CAN_TXBAR_AR15 (_U_(0x1) << CAN_TXBAR_AR15_Pos) +#define CAN_TXBAR_AR16_Pos 16 /**< \brief (CAN_TXBAR) Add Request 16 */ +#define CAN_TXBAR_AR16 (_U_(0x1) << CAN_TXBAR_AR16_Pos) +#define CAN_TXBAR_AR17_Pos 17 /**< \brief (CAN_TXBAR) Add Request 17 */ +#define CAN_TXBAR_AR17 (_U_(0x1) << CAN_TXBAR_AR17_Pos) +#define CAN_TXBAR_AR18_Pos 18 /**< \brief (CAN_TXBAR) Add Request 18 */ +#define CAN_TXBAR_AR18 (_U_(0x1) << CAN_TXBAR_AR18_Pos) +#define CAN_TXBAR_AR19_Pos 19 /**< \brief (CAN_TXBAR) Add Request 19 */ +#define CAN_TXBAR_AR19 (_U_(0x1) << CAN_TXBAR_AR19_Pos) +#define CAN_TXBAR_AR20_Pos 20 /**< \brief (CAN_TXBAR) Add Request 20 */ +#define CAN_TXBAR_AR20 (_U_(0x1) << CAN_TXBAR_AR20_Pos) +#define CAN_TXBAR_AR21_Pos 21 /**< \brief (CAN_TXBAR) Add Request 21 */ +#define CAN_TXBAR_AR21 (_U_(0x1) << CAN_TXBAR_AR21_Pos) +#define CAN_TXBAR_AR22_Pos 22 /**< \brief (CAN_TXBAR) Add Request 22 */ +#define CAN_TXBAR_AR22 (_U_(0x1) << CAN_TXBAR_AR22_Pos) +#define CAN_TXBAR_AR23_Pos 23 /**< \brief (CAN_TXBAR) Add Request 23 */ +#define CAN_TXBAR_AR23 (_U_(0x1) << CAN_TXBAR_AR23_Pos) +#define CAN_TXBAR_AR24_Pos 24 /**< \brief (CAN_TXBAR) Add Request 24 */ +#define CAN_TXBAR_AR24 (_U_(0x1) << CAN_TXBAR_AR24_Pos) +#define CAN_TXBAR_AR25_Pos 25 /**< \brief (CAN_TXBAR) Add Request 25 */ +#define CAN_TXBAR_AR25 (_U_(0x1) << CAN_TXBAR_AR25_Pos) +#define CAN_TXBAR_AR26_Pos 26 /**< \brief (CAN_TXBAR) Add Request 26 */ +#define CAN_TXBAR_AR26 (_U_(0x1) << CAN_TXBAR_AR26_Pos) +#define CAN_TXBAR_AR27_Pos 27 /**< \brief (CAN_TXBAR) Add Request 27 */ +#define CAN_TXBAR_AR27 (_U_(0x1) << CAN_TXBAR_AR27_Pos) +#define CAN_TXBAR_AR28_Pos 28 /**< \brief (CAN_TXBAR) Add Request 28 */ +#define CAN_TXBAR_AR28 (_U_(0x1) << CAN_TXBAR_AR28_Pos) +#define CAN_TXBAR_AR29_Pos 29 /**< \brief (CAN_TXBAR) Add Request 29 */ +#define CAN_TXBAR_AR29 (_U_(0x1) << CAN_TXBAR_AR29_Pos) +#define CAN_TXBAR_AR30_Pos 30 /**< \brief (CAN_TXBAR) Add Request 30 */ +#define CAN_TXBAR_AR30 (_U_(0x1) << CAN_TXBAR_AR30_Pos) +#define CAN_TXBAR_AR31_Pos 31 /**< \brief (CAN_TXBAR) Add Request 31 */ +#define CAN_TXBAR_AR31 (_U_(0x1) << CAN_TXBAR_AR31_Pos) +#define CAN_TXBAR_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBAR) MASK Register */ + +/* -------- CAN_TXBCR : (CAN Offset: 0xD4) (R/W 32) Tx Buffer Cancellation Request -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t CR0:1; /*!< bit: 0 Cancellation Request 0 */ + uint32_t CR1:1; /*!< bit: 1 Cancellation Request 1 */ + uint32_t CR2:1; /*!< bit: 2 Cancellation Request 2 */ + uint32_t CR3:1; /*!< bit: 3 Cancellation Request 3 */ + uint32_t CR4:1; /*!< bit: 4 Cancellation Request 4 */ + uint32_t CR5:1; /*!< bit: 5 Cancellation Request 5 */ + uint32_t CR6:1; /*!< bit: 6 Cancellation Request 6 */ + uint32_t CR7:1; /*!< bit: 7 Cancellation Request 7 */ + uint32_t CR8:1; /*!< bit: 8 Cancellation Request 8 */ + uint32_t CR9:1; /*!< bit: 9 Cancellation Request 9 */ + uint32_t CR10:1; /*!< bit: 10 Cancellation Request 10 */ + uint32_t CR11:1; /*!< bit: 11 Cancellation Request 11 */ + uint32_t CR12:1; /*!< bit: 12 Cancellation Request 12 */ + uint32_t CR13:1; /*!< bit: 13 Cancellation Request 13 */ + uint32_t CR14:1; /*!< bit: 14 Cancellation Request 14 */ + uint32_t CR15:1; /*!< bit: 15 Cancellation Request 15 */ + uint32_t CR16:1; /*!< bit: 16 Cancellation Request 16 */ + uint32_t CR17:1; /*!< bit: 17 Cancellation Request 17 */ + uint32_t CR18:1; /*!< bit: 18 Cancellation Request 18 */ + uint32_t CR19:1; /*!< bit: 19 Cancellation Request 19 */ + uint32_t CR20:1; /*!< bit: 20 Cancellation Request 20 */ + uint32_t CR21:1; /*!< bit: 21 Cancellation Request 21 */ + uint32_t CR22:1; /*!< bit: 22 Cancellation Request 22 */ + uint32_t CR23:1; /*!< bit: 23 Cancellation Request 23 */ + uint32_t CR24:1; /*!< bit: 24 Cancellation Request 24 */ + uint32_t CR25:1; /*!< bit: 25 Cancellation Request 25 */ + uint32_t CR26:1; /*!< bit: 26 Cancellation Request 26 */ + uint32_t CR27:1; /*!< bit: 27 Cancellation Request 27 */ + uint32_t CR28:1; /*!< bit: 28 Cancellation Request 28 */ + uint32_t CR29:1; /*!< bit: 29 Cancellation Request 29 */ + uint32_t CR30:1; /*!< bit: 30 Cancellation Request 30 */ + uint32_t CR31:1; /*!< bit: 31 Cancellation Request 31 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBCR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBCR_OFFSET 0xD4 /**< \brief (CAN_TXBCR offset) Tx Buffer Cancellation Request */ +#define CAN_TXBCR_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBCR reset_value) Tx Buffer Cancellation Request */ + +#define CAN_TXBCR_CR0_Pos 0 /**< \brief (CAN_TXBCR) Cancellation Request 0 */ +#define CAN_TXBCR_CR0 (_U_(0x1) << CAN_TXBCR_CR0_Pos) +#define CAN_TXBCR_CR1_Pos 1 /**< \brief (CAN_TXBCR) Cancellation Request 1 */ +#define CAN_TXBCR_CR1 (_U_(0x1) << CAN_TXBCR_CR1_Pos) +#define CAN_TXBCR_CR2_Pos 2 /**< \brief (CAN_TXBCR) Cancellation Request 2 */ +#define CAN_TXBCR_CR2 (_U_(0x1) << CAN_TXBCR_CR2_Pos) +#define CAN_TXBCR_CR3_Pos 3 /**< \brief (CAN_TXBCR) Cancellation Request 3 */ +#define CAN_TXBCR_CR3 (_U_(0x1) << CAN_TXBCR_CR3_Pos) +#define CAN_TXBCR_CR4_Pos 4 /**< \brief (CAN_TXBCR) Cancellation Request 4 */ +#define CAN_TXBCR_CR4 (_U_(0x1) << CAN_TXBCR_CR4_Pos) +#define CAN_TXBCR_CR5_Pos 5 /**< \brief (CAN_TXBCR) Cancellation Request 5 */ +#define CAN_TXBCR_CR5 (_U_(0x1) << CAN_TXBCR_CR5_Pos) +#define CAN_TXBCR_CR6_Pos 6 /**< \brief (CAN_TXBCR) Cancellation Request 6 */ +#define CAN_TXBCR_CR6 (_U_(0x1) << CAN_TXBCR_CR6_Pos) +#define CAN_TXBCR_CR7_Pos 7 /**< \brief (CAN_TXBCR) Cancellation Request 7 */ +#define CAN_TXBCR_CR7 (_U_(0x1) << CAN_TXBCR_CR7_Pos) +#define CAN_TXBCR_CR8_Pos 8 /**< \brief (CAN_TXBCR) Cancellation Request 8 */ +#define CAN_TXBCR_CR8 (_U_(0x1) << CAN_TXBCR_CR8_Pos) +#define CAN_TXBCR_CR9_Pos 9 /**< \brief (CAN_TXBCR) Cancellation Request 9 */ +#define CAN_TXBCR_CR9 (_U_(0x1) << CAN_TXBCR_CR9_Pos) +#define CAN_TXBCR_CR10_Pos 10 /**< \brief (CAN_TXBCR) Cancellation Request 10 */ +#define CAN_TXBCR_CR10 (_U_(0x1) << CAN_TXBCR_CR10_Pos) +#define CAN_TXBCR_CR11_Pos 11 /**< \brief (CAN_TXBCR) Cancellation Request 11 */ +#define CAN_TXBCR_CR11 (_U_(0x1) << CAN_TXBCR_CR11_Pos) +#define CAN_TXBCR_CR12_Pos 12 /**< \brief (CAN_TXBCR) Cancellation Request 12 */ +#define CAN_TXBCR_CR12 (_U_(0x1) << CAN_TXBCR_CR12_Pos) +#define CAN_TXBCR_CR13_Pos 13 /**< \brief (CAN_TXBCR) Cancellation Request 13 */ +#define CAN_TXBCR_CR13 (_U_(0x1) << CAN_TXBCR_CR13_Pos) +#define CAN_TXBCR_CR14_Pos 14 /**< \brief (CAN_TXBCR) Cancellation Request 14 */ +#define CAN_TXBCR_CR14 (_U_(0x1) << CAN_TXBCR_CR14_Pos) +#define CAN_TXBCR_CR15_Pos 15 /**< \brief (CAN_TXBCR) Cancellation Request 15 */ +#define CAN_TXBCR_CR15 (_U_(0x1) << CAN_TXBCR_CR15_Pos) +#define CAN_TXBCR_CR16_Pos 16 /**< \brief (CAN_TXBCR) Cancellation Request 16 */ +#define CAN_TXBCR_CR16 (_U_(0x1) << CAN_TXBCR_CR16_Pos) +#define CAN_TXBCR_CR17_Pos 17 /**< \brief (CAN_TXBCR) Cancellation Request 17 */ +#define CAN_TXBCR_CR17 (_U_(0x1) << CAN_TXBCR_CR17_Pos) +#define CAN_TXBCR_CR18_Pos 18 /**< \brief (CAN_TXBCR) Cancellation Request 18 */ +#define CAN_TXBCR_CR18 (_U_(0x1) << CAN_TXBCR_CR18_Pos) +#define CAN_TXBCR_CR19_Pos 19 /**< \brief (CAN_TXBCR) Cancellation Request 19 */ +#define CAN_TXBCR_CR19 (_U_(0x1) << CAN_TXBCR_CR19_Pos) +#define CAN_TXBCR_CR20_Pos 20 /**< \brief (CAN_TXBCR) Cancellation Request 20 */ +#define CAN_TXBCR_CR20 (_U_(0x1) << CAN_TXBCR_CR20_Pos) +#define CAN_TXBCR_CR21_Pos 21 /**< \brief (CAN_TXBCR) Cancellation Request 21 */ +#define CAN_TXBCR_CR21 (_U_(0x1) << CAN_TXBCR_CR21_Pos) +#define CAN_TXBCR_CR22_Pos 22 /**< \brief (CAN_TXBCR) Cancellation Request 22 */ +#define CAN_TXBCR_CR22 (_U_(0x1) << CAN_TXBCR_CR22_Pos) +#define CAN_TXBCR_CR23_Pos 23 /**< \brief (CAN_TXBCR) Cancellation Request 23 */ +#define CAN_TXBCR_CR23 (_U_(0x1) << CAN_TXBCR_CR23_Pos) +#define CAN_TXBCR_CR24_Pos 24 /**< \brief (CAN_TXBCR) Cancellation Request 24 */ +#define CAN_TXBCR_CR24 (_U_(0x1) << CAN_TXBCR_CR24_Pos) +#define CAN_TXBCR_CR25_Pos 25 /**< \brief (CAN_TXBCR) Cancellation Request 25 */ +#define CAN_TXBCR_CR25 (_U_(0x1) << CAN_TXBCR_CR25_Pos) +#define CAN_TXBCR_CR26_Pos 26 /**< \brief (CAN_TXBCR) Cancellation Request 26 */ +#define CAN_TXBCR_CR26 (_U_(0x1) << CAN_TXBCR_CR26_Pos) +#define CAN_TXBCR_CR27_Pos 27 /**< \brief (CAN_TXBCR) Cancellation Request 27 */ +#define CAN_TXBCR_CR27 (_U_(0x1) << CAN_TXBCR_CR27_Pos) +#define CAN_TXBCR_CR28_Pos 28 /**< \brief (CAN_TXBCR) Cancellation Request 28 */ +#define CAN_TXBCR_CR28 (_U_(0x1) << CAN_TXBCR_CR28_Pos) +#define CAN_TXBCR_CR29_Pos 29 /**< \brief (CAN_TXBCR) Cancellation Request 29 */ +#define CAN_TXBCR_CR29 (_U_(0x1) << CAN_TXBCR_CR29_Pos) +#define CAN_TXBCR_CR30_Pos 30 /**< \brief (CAN_TXBCR) Cancellation Request 30 */ +#define CAN_TXBCR_CR30 (_U_(0x1) << CAN_TXBCR_CR30_Pos) +#define CAN_TXBCR_CR31_Pos 31 /**< \brief (CAN_TXBCR) Cancellation Request 31 */ +#define CAN_TXBCR_CR31 (_U_(0x1) << CAN_TXBCR_CR31_Pos) +#define CAN_TXBCR_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBCR) MASK Register */ + +/* -------- CAN_TXBTO : (CAN Offset: 0xD8) (R/ 32) Tx Buffer Transmission Occurred -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TO0:1; /*!< bit: 0 Transmission Occurred 0 */ + uint32_t TO1:1; /*!< bit: 1 Transmission Occurred 1 */ + uint32_t TO2:1; /*!< bit: 2 Transmission Occurred 2 */ + uint32_t TO3:1; /*!< bit: 3 Transmission Occurred 3 */ + uint32_t TO4:1; /*!< bit: 4 Transmission Occurred 4 */ + uint32_t TO5:1; /*!< bit: 5 Transmission Occurred 5 */ + uint32_t TO6:1; /*!< bit: 6 Transmission Occurred 6 */ + uint32_t TO7:1; /*!< bit: 7 Transmission Occurred 7 */ + uint32_t TO8:1; /*!< bit: 8 Transmission Occurred 8 */ + uint32_t TO9:1; /*!< bit: 9 Transmission Occurred 9 */ + uint32_t TO10:1; /*!< bit: 10 Transmission Occurred 10 */ + uint32_t TO11:1; /*!< bit: 11 Transmission Occurred 11 */ + uint32_t TO12:1; /*!< bit: 12 Transmission Occurred 12 */ + uint32_t TO13:1; /*!< bit: 13 Transmission Occurred 13 */ + uint32_t TO14:1; /*!< bit: 14 Transmission Occurred 14 */ + uint32_t TO15:1; /*!< bit: 15 Transmission Occurred 15 */ + uint32_t TO16:1; /*!< bit: 16 Transmission Occurred 16 */ + uint32_t TO17:1; /*!< bit: 17 Transmission Occurred 17 */ + uint32_t TO18:1; /*!< bit: 18 Transmission Occurred 18 */ + uint32_t TO19:1; /*!< bit: 19 Transmission Occurred 19 */ + uint32_t TO20:1; /*!< bit: 20 Transmission Occurred 20 */ + uint32_t TO21:1; /*!< bit: 21 Transmission Occurred 21 */ + uint32_t TO22:1; /*!< bit: 22 Transmission Occurred 22 */ + uint32_t TO23:1; /*!< bit: 23 Transmission Occurred 23 */ + uint32_t TO24:1; /*!< bit: 24 Transmission Occurred 24 */ + uint32_t TO25:1; /*!< bit: 25 Transmission Occurred 25 */ + uint32_t TO26:1; /*!< bit: 26 Transmission Occurred 26 */ + uint32_t TO27:1; /*!< bit: 27 Transmission Occurred 27 */ + uint32_t TO28:1; /*!< bit: 28 Transmission Occurred 28 */ + uint32_t TO29:1; /*!< bit: 29 Transmission Occurred 29 */ + uint32_t TO30:1; /*!< bit: 30 Transmission Occurred 30 */ + uint32_t TO31:1; /*!< bit: 31 Transmission Occurred 31 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBTO_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBTO_OFFSET 0xD8 /**< \brief (CAN_TXBTO offset) Tx Buffer Transmission Occurred */ +#define CAN_TXBTO_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBTO reset_value) Tx Buffer Transmission Occurred */ + +#define CAN_TXBTO_TO0_Pos 0 /**< \brief (CAN_TXBTO) Transmission Occurred 0 */ +#define CAN_TXBTO_TO0 (_U_(0x1) << CAN_TXBTO_TO0_Pos) +#define CAN_TXBTO_TO1_Pos 1 /**< \brief (CAN_TXBTO) Transmission Occurred 1 */ +#define CAN_TXBTO_TO1 (_U_(0x1) << CAN_TXBTO_TO1_Pos) +#define CAN_TXBTO_TO2_Pos 2 /**< \brief (CAN_TXBTO) Transmission Occurred 2 */ +#define CAN_TXBTO_TO2 (_U_(0x1) << CAN_TXBTO_TO2_Pos) +#define CAN_TXBTO_TO3_Pos 3 /**< \brief (CAN_TXBTO) Transmission Occurred 3 */ +#define CAN_TXBTO_TO3 (_U_(0x1) << CAN_TXBTO_TO3_Pos) +#define CAN_TXBTO_TO4_Pos 4 /**< \brief (CAN_TXBTO) Transmission Occurred 4 */ +#define CAN_TXBTO_TO4 (_U_(0x1) << CAN_TXBTO_TO4_Pos) +#define CAN_TXBTO_TO5_Pos 5 /**< \brief (CAN_TXBTO) Transmission Occurred 5 */ +#define CAN_TXBTO_TO5 (_U_(0x1) << CAN_TXBTO_TO5_Pos) +#define CAN_TXBTO_TO6_Pos 6 /**< \brief (CAN_TXBTO) Transmission Occurred 6 */ +#define CAN_TXBTO_TO6 (_U_(0x1) << CAN_TXBTO_TO6_Pos) +#define CAN_TXBTO_TO7_Pos 7 /**< \brief (CAN_TXBTO) Transmission Occurred 7 */ +#define CAN_TXBTO_TO7 (_U_(0x1) << CAN_TXBTO_TO7_Pos) +#define CAN_TXBTO_TO8_Pos 8 /**< \brief (CAN_TXBTO) Transmission Occurred 8 */ +#define CAN_TXBTO_TO8 (_U_(0x1) << CAN_TXBTO_TO8_Pos) +#define CAN_TXBTO_TO9_Pos 9 /**< \brief (CAN_TXBTO) Transmission Occurred 9 */ +#define CAN_TXBTO_TO9 (_U_(0x1) << CAN_TXBTO_TO9_Pos) +#define CAN_TXBTO_TO10_Pos 10 /**< \brief (CAN_TXBTO) Transmission Occurred 10 */ +#define CAN_TXBTO_TO10 (_U_(0x1) << CAN_TXBTO_TO10_Pos) +#define CAN_TXBTO_TO11_Pos 11 /**< \brief (CAN_TXBTO) Transmission Occurred 11 */ +#define CAN_TXBTO_TO11 (_U_(0x1) << CAN_TXBTO_TO11_Pos) +#define CAN_TXBTO_TO12_Pos 12 /**< \brief (CAN_TXBTO) Transmission Occurred 12 */ +#define CAN_TXBTO_TO12 (_U_(0x1) << CAN_TXBTO_TO12_Pos) +#define CAN_TXBTO_TO13_Pos 13 /**< \brief (CAN_TXBTO) Transmission Occurred 13 */ +#define CAN_TXBTO_TO13 (_U_(0x1) << CAN_TXBTO_TO13_Pos) +#define CAN_TXBTO_TO14_Pos 14 /**< \brief (CAN_TXBTO) Transmission Occurred 14 */ +#define CAN_TXBTO_TO14 (_U_(0x1) << CAN_TXBTO_TO14_Pos) +#define CAN_TXBTO_TO15_Pos 15 /**< \brief (CAN_TXBTO) Transmission Occurred 15 */ +#define CAN_TXBTO_TO15 (_U_(0x1) << CAN_TXBTO_TO15_Pos) +#define CAN_TXBTO_TO16_Pos 16 /**< \brief (CAN_TXBTO) Transmission Occurred 16 */ +#define CAN_TXBTO_TO16 (_U_(0x1) << CAN_TXBTO_TO16_Pos) +#define CAN_TXBTO_TO17_Pos 17 /**< \brief (CAN_TXBTO) Transmission Occurred 17 */ +#define CAN_TXBTO_TO17 (_U_(0x1) << CAN_TXBTO_TO17_Pos) +#define CAN_TXBTO_TO18_Pos 18 /**< \brief (CAN_TXBTO) Transmission Occurred 18 */ +#define CAN_TXBTO_TO18 (_U_(0x1) << CAN_TXBTO_TO18_Pos) +#define CAN_TXBTO_TO19_Pos 19 /**< \brief (CAN_TXBTO) Transmission Occurred 19 */ +#define CAN_TXBTO_TO19 (_U_(0x1) << CAN_TXBTO_TO19_Pos) +#define CAN_TXBTO_TO20_Pos 20 /**< \brief (CAN_TXBTO) Transmission Occurred 20 */ +#define CAN_TXBTO_TO20 (_U_(0x1) << CAN_TXBTO_TO20_Pos) +#define CAN_TXBTO_TO21_Pos 21 /**< \brief (CAN_TXBTO) Transmission Occurred 21 */ +#define CAN_TXBTO_TO21 (_U_(0x1) << CAN_TXBTO_TO21_Pos) +#define CAN_TXBTO_TO22_Pos 22 /**< \brief (CAN_TXBTO) Transmission Occurred 22 */ +#define CAN_TXBTO_TO22 (_U_(0x1) << CAN_TXBTO_TO22_Pos) +#define CAN_TXBTO_TO23_Pos 23 /**< \brief (CAN_TXBTO) Transmission Occurred 23 */ +#define CAN_TXBTO_TO23 (_U_(0x1) << CAN_TXBTO_TO23_Pos) +#define CAN_TXBTO_TO24_Pos 24 /**< \brief (CAN_TXBTO) Transmission Occurred 24 */ +#define CAN_TXBTO_TO24 (_U_(0x1) << CAN_TXBTO_TO24_Pos) +#define CAN_TXBTO_TO25_Pos 25 /**< \brief (CAN_TXBTO) Transmission Occurred 25 */ +#define CAN_TXBTO_TO25 (_U_(0x1) << CAN_TXBTO_TO25_Pos) +#define CAN_TXBTO_TO26_Pos 26 /**< \brief (CAN_TXBTO) Transmission Occurred 26 */ +#define CAN_TXBTO_TO26 (_U_(0x1) << CAN_TXBTO_TO26_Pos) +#define CAN_TXBTO_TO27_Pos 27 /**< \brief (CAN_TXBTO) Transmission Occurred 27 */ +#define CAN_TXBTO_TO27 (_U_(0x1) << CAN_TXBTO_TO27_Pos) +#define CAN_TXBTO_TO28_Pos 28 /**< \brief (CAN_TXBTO) Transmission Occurred 28 */ +#define CAN_TXBTO_TO28 (_U_(0x1) << CAN_TXBTO_TO28_Pos) +#define CAN_TXBTO_TO29_Pos 29 /**< \brief (CAN_TXBTO) Transmission Occurred 29 */ +#define CAN_TXBTO_TO29 (_U_(0x1) << CAN_TXBTO_TO29_Pos) +#define CAN_TXBTO_TO30_Pos 30 /**< \brief (CAN_TXBTO) Transmission Occurred 30 */ +#define CAN_TXBTO_TO30 (_U_(0x1) << CAN_TXBTO_TO30_Pos) +#define CAN_TXBTO_TO31_Pos 31 /**< \brief (CAN_TXBTO) Transmission Occurred 31 */ +#define CAN_TXBTO_TO31 (_U_(0x1) << CAN_TXBTO_TO31_Pos) +#define CAN_TXBTO_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBTO) MASK Register */ + +/* -------- CAN_TXBCF : (CAN Offset: 0xDC) (R/ 32) Tx Buffer Cancellation Finished -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t CF0:1; /*!< bit: 0 Tx Buffer Cancellation Finished 0 */ + uint32_t CF1:1; /*!< bit: 1 Tx Buffer Cancellation Finished 1 */ + uint32_t CF2:1; /*!< bit: 2 Tx Buffer Cancellation Finished 2 */ + uint32_t CF3:1; /*!< bit: 3 Tx Buffer Cancellation Finished 3 */ + uint32_t CF4:1; /*!< bit: 4 Tx Buffer Cancellation Finished 4 */ + uint32_t CF5:1; /*!< bit: 5 Tx Buffer Cancellation Finished 5 */ + uint32_t CF6:1; /*!< bit: 6 Tx Buffer Cancellation Finished 6 */ + uint32_t CF7:1; /*!< bit: 7 Tx Buffer Cancellation Finished 7 */ + uint32_t CF8:1; /*!< bit: 8 Tx Buffer Cancellation Finished 8 */ + uint32_t CF9:1; /*!< bit: 9 Tx Buffer Cancellation Finished 9 */ + uint32_t CF10:1; /*!< bit: 10 Tx Buffer Cancellation Finished 10 */ + uint32_t CF11:1; /*!< bit: 11 Tx Buffer Cancellation Finished 11 */ + uint32_t CF12:1; /*!< bit: 12 Tx Buffer Cancellation Finished 12 */ + uint32_t CF13:1; /*!< bit: 13 Tx Buffer Cancellation Finished 13 */ + uint32_t CF14:1; /*!< bit: 14 Tx Buffer Cancellation Finished 14 */ + uint32_t CF15:1; /*!< bit: 15 Tx Buffer Cancellation Finished 15 */ + uint32_t CF16:1; /*!< bit: 16 Tx Buffer Cancellation Finished 16 */ + uint32_t CF17:1; /*!< bit: 17 Tx Buffer Cancellation Finished 17 */ + uint32_t CF18:1; /*!< bit: 18 Tx Buffer Cancellation Finished 18 */ + uint32_t CF19:1; /*!< bit: 19 Tx Buffer Cancellation Finished 19 */ + uint32_t CF20:1; /*!< bit: 20 Tx Buffer Cancellation Finished 20 */ + uint32_t CF21:1; /*!< bit: 21 Tx Buffer Cancellation Finished 21 */ + uint32_t CF22:1; /*!< bit: 22 Tx Buffer Cancellation Finished 22 */ + uint32_t CF23:1; /*!< bit: 23 Tx Buffer Cancellation Finished 23 */ + uint32_t CF24:1; /*!< bit: 24 Tx Buffer Cancellation Finished 24 */ + uint32_t CF25:1; /*!< bit: 25 Tx Buffer Cancellation Finished 25 */ + uint32_t CF26:1; /*!< bit: 26 Tx Buffer Cancellation Finished 26 */ + uint32_t CF27:1; /*!< bit: 27 Tx Buffer Cancellation Finished 27 */ + uint32_t CF28:1; /*!< bit: 28 Tx Buffer Cancellation Finished 28 */ + uint32_t CF29:1; /*!< bit: 29 Tx Buffer Cancellation Finished 29 */ + uint32_t CF30:1; /*!< bit: 30 Tx Buffer Cancellation Finished 30 */ + uint32_t CF31:1; /*!< bit: 31 Tx Buffer Cancellation Finished 31 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBCF_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBCF_OFFSET 0xDC /**< \brief (CAN_TXBCF offset) Tx Buffer Cancellation Finished */ +#define CAN_TXBCF_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBCF reset_value) Tx Buffer Cancellation Finished */ + +#define CAN_TXBCF_CF0_Pos 0 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 0 */ +#define CAN_TXBCF_CF0 (_U_(0x1) << CAN_TXBCF_CF0_Pos) +#define CAN_TXBCF_CF1_Pos 1 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 1 */ +#define CAN_TXBCF_CF1 (_U_(0x1) << CAN_TXBCF_CF1_Pos) +#define CAN_TXBCF_CF2_Pos 2 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 2 */ +#define CAN_TXBCF_CF2 (_U_(0x1) << CAN_TXBCF_CF2_Pos) +#define CAN_TXBCF_CF3_Pos 3 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 3 */ +#define CAN_TXBCF_CF3 (_U_(0x1) << CAN_TXBCF_CF3_Pos) +#define CAN_TXBCF_CF4_Pos 4 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 4 */ +#define CAN_TXBCF_CF4 (_U_(0x1) << CAN_TXBCF_CF4_Pos) +#define CAN_TXBCF_CF5_Pos 5 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 5 */ +#define CAN_TXBCF_CF5 (_U_(0x1) << CAN_TXBCF_CF5_Pos) +#define CAN_TXBCF_CF6_Pos 6 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 6 */ +#define CAN_TXBCF_CF6 (_U_(0x1) << CAN_TXBCF_CF6_Pos) +#define CAN_TXBCF_CF7_Pos 7 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 7 */ +#define CAN_TXBCF_CF7 (_U_(0x1) << CAN_TXBCF_CF7_Pos) +#define CAN_TXBCF_CF8_Pos 8 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 8 */ +#define CAN_TXBCF_CF8 (_U_(0x1) << CAN_TXBCF_CF8_Pos) +#define CAN_TXBCF_CF9_Pos 9 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 9 */ +#define CAN_TXBCF_CF9 (_U_(0x1) << CAN_TXBCF_CF9_Pos) +#define CAN_TXBCF_CF10_Pos 10 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 10 */ +#define CAN_TXBCF_CF10 (_U_(0x1) << CAN_TXBCF_CF10_Pos) +#define CAN_TXBCF_CF11_Pos 11 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 11 */ +#define CAN_TXBCF_CF11 (_U_(0x1) << CAN_TXBCF_CF11_Pos) +#define CAN_TXBCF_CF12_Pos 12 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 12 */ +#define CAN_TXBCF_CF12 (_U_(0x1) << CAN_TXBCF_CF12_Pos) +#define CAN_TXBCF_CF13_Pos 13 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 13 */ +#define CAN_TXBCF_CF13 (_U_(0x1) << CAN_TXBCF_CF13_Pos) +#define CAN_TXBCF_CF14_Pos 14 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 14 */ +#define CAN_TXBCF_CF14 (_U_(0x1) << CAN_TXBCF_CF14_Pos) +#define CAN_TXBCF_CF15_Pos 15 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 15 */ +#define CAN_TXBCF_CF15 (_U_(0x1) << CAN_TXBCF_CF15_Pos) +#define CAN_TXBCF_CF16_Pos 16 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 16 */ +#define CAN_TXBCF_CF16 (_U_(0x1) << CAN_TXBCF_CF16_Pos) +#define CAN_TXBCF_CF17_Pos 17 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 17 */ +#define CAN_TXBCF_CF17 (_U_(0x1) << CAN_TXBCF_CF17_Pos) +#define CAN_TXBCF_CF18_Pos 18 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 18 */ +#define CAN_TXBCF_CF18 (_U_(0x1) << CAN_TXBCF_CF18_Pos) +#define CAN_TXBCF_CF19_Pos 19 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 19 */ +#define CAN_TXBCF_CF19 (_U_(0x1) << CAN_TXBCF_CF19_Pos) +#define CAN_TXBCF_CF20_Pos 20 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 20 */ +#define CAN_TXBCF_CF20 (_U_(0x1) << CAN_TXBCF_CF20_Pos) +#define CAN_TXBCF_CF21_Pos 21 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 21 */ +#define CAN_TXBCF_CF21 (_U_(0x1) << CAN_TXBCF_CF21_Pos) +#define CAN_TXBCF_CF22_Pos 22 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 22 */ +#define CAN_TXBCF_CF22 (_U_(0x1) << CAN_TXBCF_CF22_Pos) +#define CAN_TXBCF_CF23_Pos 23 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 23 */ +#define CAN_TXBCF_CF23 (_U_(0x1) << CAN_TXBCF_CF23_Pos) +#define CAN_TXBCF_CF24_Pos 24 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 24 */ +#define CAN_TXBCF_CF24 (_U_(0x1) << CAN_TXBCF_CF24_Pos) +#define CAN_TXBCF_CF25_Pos 25 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 25 */ +#define CAN_TXBCF_CF25 (_U_(0x1) << CAN_TXBCF_CF25_Pos) +#define CAN_TXBCF_CF26_Pos 26 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 26 */ +#define CAN_TXBCF_CF26 (_U_(0x1) << CAN_TXBCF_CF26_Pos) +#define CAN_TXBCF_CF27_Pos 27 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 27 */ +#define CAN_TXBCF_CF27 (_U_(0x1) << CAN_TXBCF_CF27_Pos) +#define CAN_TXBCF_CF28_Pos 28 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 28 */ +#define CAN_TXBCF_CF28 (_U_(0x1) << CAN_TXBCF_CF28_Pos) +#define CAN_TXBCF_CF29_Pos 29 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 29 */ +#define CAN_TXBCF_CF29 (_U_(0x1) << CAN_TXBCF_CF29_Pos) +#define CAN_TXBCF_CF30_Pos 30 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 30 */ +#define CAN_TXBCF_CF30 (_U_(0x1) << CAN_TXBCF_CF30_Pos) +#define CAN_TXBCF_CF31_Pos 31 /**< \brief (CAN_TXBCF) Tx Buffer Cancellation Finished 31 */ +#define CAN_TXBCF_CF31 (_U_(0x1) << CAN_TXBCF_CF31_Pos) +#define CAN_TXBCF_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBCF) MASK Register */ + +/* -------- CAN_TXBTIE : (CAN Offset: 0xE0) (R/W 32) Tx Buffer Transmission Interrupt Enable -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TIE0:1; /*!< bit: 0 Transmission Interrupt Enable 0 */ + uint32_t TIE1:1; /*!< bit: 1 Transmission Interrupt Enable 1 */ + uint32_t TIE2:1; /*!< bit: 2 Transmission Interrupt Enable 2 */ + uint32_t TIE3:1; /*!< bit: 3 Transmission Interrupt Enable 3 */ + uint32_t TIE4:1; /*!< bit: 4 Transmission Interrupt Enable 4 */ + uint32_t TIE5:1; /*!< bit: 5 Transmission Interrupt Enable 5 */ + uint32_t TIE6:1; /*!< bit: 6 Transmission Interrupt Enable 6 */ + uint32_t TIE7:1; /*!< bit: 7 Transmission Interrupt Enable 7 */ + uint32_t TIE8:1; /*!< bit: 8 Transmission Interrupt Enable 8 */ + uint32_t TIE9:1; /*!< bit: 9 Transmission Interrupt Enable 9 */ + uint32_t TIE10:1; /*!< bit: 10 Transmission Interrupt Enable 10 */ + uint32_t TIE11:1; /*!< bit: 11 Transmission Interrupt Enable 11 */ + uint32_t TIE12:1; /*!< bit: 12 Transmission Interrupt Enable 12 */ + uint32_t TIE13:1; /*!< bit: 13 Transmission Interrupt Enable 13 */ + uint32_t TIE14:1; /*!< bit: 14 Transmission Interrupt Enable 14 */ + uint32_t TIE15:1; /*!< bit: 15 Transmission Interrupt Enable 15 */ + uint32_t TIE16:1; /*!< bit: 16 Transmission Interrupt Enable 16 */ + uint32_t TIE17:1; /*!< bit: 17 Transmission Interrupt Enable 17 */ + uint32_t TIE18:1; /*!< bit: 18 Transmission Interrupt Enable 18 */ + uint32_t TIE19:1; /*!< bit: 19 Transmission Interrupt Enable 19 */ + uint32_t TIE20:1; /*!< bit: 20 Transmission Interrupt Enable 20 */ + uint32_t TIE21:1; /*!< bit: 21 Transmission Interrupt Enable 21 */ + uint32_t TIE22:1; /*!< bit: 22 Transmission Interrupt Enable 22 */ + uint32_t TIE23:1; /*!< bit: 23 Transmission Interrupt Enable 23 */ + uint32_t TIE24:1; /*!< bit: 24 Transmission Interrupt Enable 24 */ + uint32_t TIE25:1; /*!< bit: 25 Transmission Interrupt Enable 25 */ + uint32_t TIE26:1; /*!< bit: 26 Transmission Interrupt Enable 26 */ + uint32_t TIE27:1; /*!< bit: 27 Transmission Interrupt Enable 27 */ + uint32_t TIE28:1; /*!< bit: 28 Transmission Interrupt Enable 28 */ + uint32_t TIE29:1; /*!< bit: 29 Transmission Interrupt Enable 29 */ + uint32_t TIE30:1; /*!< bit: 30 Transmission Interrupt Enable 30 */ + uint32_t TIE31:1; /*!< bit: 31 Transmission Interrupt Enable 31 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBTIE_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBTIE_OFFSET 0xE0 /**< \brief (CAN_TXBTIE offset) Tx Buffer Transmission Interrupt Enable */ +#define CAN_TXBTIE_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBTIE reset_value) Tx Buffer Transmission Interrupt Enable */ + +#define CAN_TXBTIE_TIE0_Pos 0 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 0 */ +#define CAN_TXBTIE_TIE0 (_U_(0x1) << CAN_TXBTIE_TIE0_Pos) +#define CAN_TXBTIE_TIE1_Pos 1 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 1 */ +#define CAN_TXBTIE_TIE1 (_U_(0x1) << CAN_TXBTIE_TIE1_Pos) +#define CAN_TXBTIE_TIE2_Pos 2 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 2 */ +#define CAN_TXBTIE_TIE2 (_U_(0x1) << CAN_TXBTIE_TIE2_Pos) +#define CAN_TXBTIE_TIE3_Pos 3 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 3 */ +#define CAN_TXBTIE_TIE3 (_U_(0x1) << CAN_TXBTIE_TIE3_Pos) +#define CAN_TXBTIE_TIE4_Pos 4 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 4 */ +#define CAN_TXBTIE_TIE4 (_U_(0x1) << CAN_TXBTIE_TIE4_Pos) +#define CAN_TXBTIE_TIE5_Pos 5 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 5 */ +#define CAN_TXBTIE_TIE5 (_U_(0x1) << CAN_TXBTIE_TIE5_Pos) +#define CAN_TXBTIE_TIE6_Pos 6 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 6 */ +#define CAN_TXBTIE_TIE6 (_U_(0x1) << CAN_TXBTIE_TIE6_Pos) +#define CAN_TXBTIE_TIE7_Pos 7 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 7 */ +#define CAN_TXBTIE_TIE7 (_U_(0x1) << CAN_TXBTIE_TIE7_Pos) +#define CAN_TXBTIE_TIE8_Pos 8 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 8 */ +#define CAN_TXBTIE_TIE8 (_U_(0x1) << CAN_TXBTIE_TIE8_Pos) +#define CAN_TXBTIE_TIE9_Pos 9 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 9 */ +#define CAN_TXBTIE_TIE9 (_U_(0x1) << CAN_TXBTIE_TIE9_Pos) +#define CAN_TXBTIE_TIE10_Pos 10 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 10 */ +#define CAN_TXBTIE_TIE10 (_U_(0x1) << CAN_TXBTIE_TIE10_Pos) +#define CAN_TXBTIE_TIE11_Pos 11 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 11 */ +#define CAN_TXBTIE_TIE11 (_U_(0x1) << CAN_TXBTIE_TIE11_Pos) +#define CAN_TXBTIE_TIE12_Pos 12 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 12 */ +#define CAN_TXBTIE_TIE12 (_U_(0x1) << CAN_TXBTIE_TIE12_Pos) +#define CAN_TXBTIE_TIE13_Pos 13 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 13 */ +#define CAN_TXBTIE_TIE13 (_U_(0x1) << CAN_TXBTIE_TIE13_Pos) +#define CAN_TXBTIE_TIE14_Pos 14 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 14 */ +#define CAN_TXBTIE_TIE14 (_U_(0x1) << CAN_TXBTIE_TIE14_Pos) +#define CAN_TXBTIE_TIE15_Pos 15 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 15 */ +#define CAN_TXBTIE_TIE15 (_U_(0x1) << CAN_TXBTIE_TIE15_Pos) +#define CAN_TXBTIE_TIE16_Pos 16 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 16 */ +#define CAN_TXBTIE_TIE16 (_U_(0x1) << CAN_TXBTIE_TIE16_Pos) +#define CAN_TXBTIE_TIE17_Pos 17 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 17 */ +#define CAN_TXBTIE_TIE17 (_U_(0x1) << CAN_TXBTIE_TIE17_Pos) +#define CAN_TXBTIE_TIE18_Pos 18 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 18 */ +#define CAN_TXBTIE_TIE18 (_U_(0x1) << CAN_TXBTIE_TIE18_Pos) +#define CAN_TXBTIE_TIE19_Pos 19 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 19 */ +#define CAN_TXBTIE_TIE19 (_U_(0x1) << CAN_TXBTIE_TIE19_Pos) +#define CAN_TXBTIE_TIE20_Pos 20 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 20 */ +#define CAN_TXBTIE_TIE20 (_U_(0x1) << CAN_TXBTIE_TIE20_Pos) +#define CAN_TXBTIE_TIE21_Pos 21 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 21 */ +#define CAN_TXBTIE_TIE21 (_U_(0x1) << CAN_TXBTIE_TIE21_Pos) +#define CAN_TXBTIE_TIE22_Pos 22 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 22 */ +#define CAN_TXBTIE_TIE22 (_U_(0x1) << CAN_TXBTIE_TIE22_Pos) +#define CAN_TXBTIE_TIE23_Pos 23 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 23 */ +#define CAN_TXBTIE_TIE23 (_U_(0x1) << CAN_TXBTIE_TIE23_Pos) +#define CAN_TXBTIE_TIE24_Pos 24 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 24 */ +#define CAN_TXBTIE_TIE24 (_U_(0x1) << CAN_TXBTIE_TIE24_Pos) +#define CAN_TXBTIE_TIE25_Pos 25 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 25 */ +#define CAN_TXBTIE_TIE25 (_U_(0x1) << CAN_TXBTIE_TIE25_Pos) +#define CAN_TXBTIE_TIE26_Pos 26 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 26 */ +#define CAN_TXBTIE_TIE26 (_U_(0x1) << CAN_TXBTIE_TIE26_Pos) +#define CAN_TXBTIE_TIE27_Pos 27 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 27 */ +#define CAN_TXBTIE_TIE27 (_U_(0x1) << CAN_TXBTIE_TIE27_Pos) +#define CAN_TXBTIE_TIE28_Pos 28 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 28 */ +#define CAN_TXBTIE_TIE28 (_U_(0x1) << CAN_TXBTIE_TIE28_Pos) +#define CAN_TXBTIE_TIE29_Pos 29 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 29 */ +#define CAN_TXBTIE_TIE29 (_U_(0x1) << CAN_TXBTIE_TIE29_Pos) +#define CAN_TXBTIE_TIE30_Pos 30 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 30 */ +#define CAN_TXBTIE_TIE30 (_U_(0x1) << CAN_TXBTIE_TIE30_Pos) +#define CAN_TXBTIE_TIE31_Pos 31 /**< \brief (CAN_TXBTIE) Transmission Interrupt Enable 31 */ +#define CAN_TXBTIE_TIE31 (_U_(0x1) << CAN_TXBTIE_TIE31_Pos) +#define CAN_TXBTIE_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBTIE) MASK Register */ + +/* -------- CAN_TXBCIE : (CAN Offset: 0xE4) (R/W 32) Tx Buffer Cancellation Finished Interrupt Enable -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t CFIE0:1; /*!< bit: 0 Cancellation Finished Interrupt Enable 0 */ + uint32_t CFIE1:1; /*!< bit: 1 Cancellation Finished Interrupt Enable 1 */ + uint32_t CFIE2:1; /*!< bit: 2 Cancellation Finished Interrupt Enable 2 */ + uint32_t CFIE3:1; /*!< bit: 3 Cancellation Finished Interrupt Enable 3 */ + uint32_t CFIE4:1; /*!< bit: 4 Cancellation Finished Interrupt Enable 4 */ + uint32_t CFIE5:1; /*!< bit: 5 Cancellation Finished Interrupt Enable 5 */ + uint32_t CFIE6:1; /*!< bit: 6 Cancellation Finished Interrupt Enable 6 */ + uint32_t CFIE7:1; /*!< bit: 7 Cancellation Finished Interrupt Enable 7 */ + uint32_t CFIE8:1; /*!< bit: 8 Cancellation Finished Interrupt Enable 8 */ + uint32_t CFIE9:1; /*!< bit: 9 Cancellation Finished Interrupt Enable 9 */ + uint32_t CFIE10:1; /*!< bit: 10 Cancellation Finished Interrupt Enable 10 */ + uint32_t CFIE11:1; /*!< bit: 11 Cancellation Finished Interrupt Enable 11 */ + uint32_t CFIE12:1; /*!< bit: 12 Cancellation Finished Interrupt Enable 12 */ + uint32_t CFIE13:1; /*!< bit: 13 Cancellation Finished Interrupt Enable 13 */ + uint32_t CFIE14:1; /*!< bit: 14 Cancellation Finished Interrupt Enable 14 */ + uint32_t CFIE15:1; /*!< bit: 15 Cancellation Finished Interrupt Enable 15 */ + uint32_t CFIE16:1; /*!< bit: 16 Cancellation Finished Interrupt Enable 16 */ + uint32_t CFIE17:1; /*!< bit: 17 Cancellation Finished Interrupt Enable 17 */ + uint32_t CFIE18:1; /*!< bit: 18 Cancellation Finished Interrupt Enable 18 */ + uint32_t CFIE19:1; /*!< bit: 19 Cancellation Finished Interrupt Enable 19 */ + uint32_t CFIE20:1; /*!< bit: 20 Cancellation Finished Interrupt Enable 20 */ + uint32_t CFIE21:1; /*!< bit: 21 Cancellation Finished Interrupt Enable 21 */ + uint32_t CFIE22:1; /*!< bit: 22 Cancellation Finished Interrupt Enable 22 */ + uint32_t CFIE23:1; /*!< bit: 23 Cancellation Finished Interrupt Enable 23 */ + uint32_t CFIE24:1; /*!< bit: 24 Cancellation Finished Interrupt Enable 24 */ + uint32_t CFIE25:1; /*!< bit: 25 Cancellation Finished Interrupt Enable 25 */ + uint32_t CFIE26:1; /*!< bit: 26 Cancellation Finished Interrupt Enable 26 */ + uint32_t CFIE27:1; /*!< bit: 27 Cancellation Finished Interrupt Enable 27 */ + uint32_t CFIE28:1; /*!< bit: 28 Cancellation Finished Interrupt Enable 28 */ + uint32_t CFIE29:1; /*!< bit: 29 Cancellation Finished Interrupt Enable 29 */ + uint32_t CFIE30:1; /*!< bit: 30 Cancellation Finished Interrupt Enable 30 */ + uint32_t CFIE31:1; /*!< bit: 31 Cancellation Finished Interrupt Enable 31 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBCIE_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBCIE_OFFSET 0xE4 /**< \brief (CAN_TXBCIE offset) Tx Buffer Cancellation Finished Interrupt Enable */ +#define CAN_TXBCIE_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBCIE reset_value) Tx Buffer Cancellation Finished Interrupt Enable */ + +#define CAN_TXBCIE_CFIE0_Pos 0 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 0 */ +#define CAN_TXBCIE_CFIE0 (_U_(0x1) << CAN_TXBCIE_CFIE0_Pos) +#define CAN_TXBCIE_CFIE1_Pos 1 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 1 */ +#define CAN_TXBCIE_CFIE1 (_U_(0x1) << CAN_TXBCIE_CFIE1_Pos) +#define CAN_TXBCIE_CFIE2_Pos 2 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 2 */ +#define CAN_TXBCIE_CFIE2 (_U_(0x1) << CAN_TXBCIE_CFIE2_Pos) +#define CAN_TXBCIE_CFIE3_Pos 3 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 3 */ +#define CAN_TXBCIE_CFIE3 (_U_(0x1) << CAN_TXBCIE_CFIE3_Pos) +#define CAN_TXBCIE_CFIE4_Pos 4 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 4 */ +#define CAN_TXBCIE_CFIE4 (_U_(0x1) << CAN_TXBCIE_CFIE4_Pos) +#define CAN_TXBCIE_CFIE5_Pos 5 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 5 */ +#define CAN_TXBCIE_CFIE5 (_U_(0x1) << CAN_TXBCIE_CFIE5_Pos) +#define CAN_TXBCIE_CFIE6_Pos 6 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 6 */ +#define CAN_TXBCIE_CFIE6 (_U_(0x1) << CAN_TXBCIE_CFIE6_Pos) +#define CAN_TXBCIE_CFIE7_Pos 7 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 7 */ +#define CAN_TXBCIE_CFIE7 (_U_(0x1) << CAN_TXBCIE_CFIE7_Pos) +#define CAN_TXBCIE_CFIE8_Pos 8 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 8 */ +#define CAN_TXBCIE_CFIE8 (_U_(0x1) << CAN_TXBCIE_CFIE8_Pos) +#define CAN_TXBCIE_CFIE9_Pos 9 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 9 */ +#define CAN_TXBCIE_CFIE9 (_U_(0x1) << CAN_TXBCIE_CFIE9_Pos) +#define CAN_TXBCIE_CFIE10_Pos 10 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 10 */ +#define CAN_TXBCIE_CFIE10 (_U_(0x1) << CAN_TXBCIE_CFIE10_Pos) +#define CAN_TXBCIE_CFIE11_Pos 11 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 11 */ +#define CAN_TXBCIE_CFIE11 (_U_(0x1) << CAN_TXBCIE_CFIE11_Pos) +#define CAN_TXBCIE_CFIE12_Pos 12 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 12 */ +#define CAN_TXBCIE_CFIE12 (_U_(0x1) << CAN_TXBCIE_CFIE12_Pos) +#define CAN_TXBCIE_CFIE13_Pos 13 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 13 */ +#define CAN_TXBCIE_CFIE13 (_U_(0x1) << CAN_TXBCIE_CFIE13_Pos) +#define CAN_TXBCIE_CFIE14_Pos 14 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 14 */ +#define CAN_TXBCIE_CFIE14 (_U_(0x1) << CAN_TXBCIE_CFIE14_Pos) +#define CAN_TXBCIE_CFIE15_Pos 15 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 15 */ +#define CAN_TXBCIE_CFIE15 (_U_(0x1) << CAN_TXBCIE_CFIE15_Pos) +#define CAN_TXBCIE_CFIE16_Pos 16 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 16 */ +#define CAN_TXBCIE_CFIE16 (_U_(0x1) << CAN_TXBCIE_CFIE16_Pos) +#define CAN_TXBCIE_CFIE17_Pos 17 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 17 */ +#define CAN_TXBCIE_CFIE17 (_U_(0x1) << CAN_TXBCIE_CFIE17_Pos) +#define CAN_TXBCIE_CFIE18_Pos 18 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 18 */ +#define CAN_TXBCIE_CFIE18 (_U_(0x1) << CAN_TXBCIE_CFIE18_Pos) +#define CAN_TXBCIE_CFIE19_Pos 19 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 19 */ +#define CAN_TXBCIE_CFIE19 (_U_(0x1) << CAN_TXBCIE_CFIE19_Pos) +#define CAN_TXBCIE_CFIE20_Pos 20 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 20 */ +#define CAN_TXBCIE_CFIE20 (_U_(0x1) << CAN_TXBCIE_CFIE20_Pos) +#define CAN_TXBCIE_CFIE21_Pos 21 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 21 */ +#define CAN_TXBCIE_CFIE21 (_U_(0x1) << CAN_TXBCIE_CFIE21_Pos) +#define CAN_TXBCIE_CFIE22_Pos 22 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 22 */ +#define CAN_TXBCIE_CFIE22 (_U_(0x1) << CAN_TXBCIE_CFIE22_Pos) +#define CAN_TXBCIE_CFIE23_Pos 23 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 23 */ +#define CAN_TXBCIE_CFIE23 (_U_(0x1) << CAN_TXBCIE_CFIE23_Pos) +#define CAN_TXBCIE_CFIE24_Pos 24 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 24 */ +#define CAN_TXBCIE_CFIE24 (_U_(0x1) << CAN_TXBCIE_CFIE24_Pos) +#define CAN_TXBCIE_CFIE25_Pos 25 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 25 */ +#define CAN_TXBCIE_CFIE25 (_U_(0x1) << CAN_TXBCIE_CFIE25_Pos) +#define CAN_TXBCIE_CFIE26_Pos 26 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 26 */ +#define CAN_TXBCIE_CFIE26 (_U_(0x1) << CAN_TXBCIE_CFIE26_Pos) +#define CAN_TXBCIE_CFIE27_Pos 27 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 27 */ +#define CAN_TXBCIE_CFIE27 (_U_(0x1) << CAN_TXBCIE_CFIE27_Pos) +#define CAN_TXBCIE_CFIE28_Pos 28 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 28 */ +#define CAN_TXBCIE_CFIE28 (_U_(0x1) << CAN_TXBCIE_CFIE28_Pos) +#define CAN_TXBCIE_CFIE29_Pos 29 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 29 */ +#define CAN_TXBCIE_CFIE29 (_U_(0x1) << CAN_TXBCIE_CFIE29_Pos) +#define CAN_TXBCIE_CFIE30_Pos 30 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 30 */ +#define CAN_TXBCIE_CFIE30 (_U_(0x1) << CAN_TXBCIE_CFIE30_Pos) +#define CAN_TXBCIE_CFIE31_Pos 31 /**< \brief (CAN_TXBCIE) Cancellation Finished Interrupt Enable 31 */ +#define CAN_TXBCIE_CFIE31 (_U_(0x1) << CAN_TXBCIE_CFIE31_Pos) +#define CAN_TXBCIE_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBCIE) MASK Register */ + +/* -------- CAN_TXEFC : (CAN Offset: 0xF0) (R/W 32) Tx Event FIFO Configuration -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t EFSA:16; /*!< bit: 0..15 Event FIFO Start Address */ + uint32_t EFS:6; /*!< bit: 16..21 Event FIFO Size */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t EFWM:6; /*!< bit: 24..29 Event FIFO Watermark */ + uint32_t :2; /*!< bit: 30..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXEFC_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXEFC_OFFSET 0xF0 /**< \brief (CAN_TXEFC offset) Tx Event FIFO Configuration */ +#define CAN_TXEFC_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFC reset_value) Tx Event FIFO Configuration */ + +#define CAN_TXEFC_EFSA_Pos 0 /**< \brief (CAN_TXEFC) Event FIFO Start Address */ +#define CAN_TXEFC_EFSA_Msk (_U_(0xFFFF) << CAN_TXEFC_EFSA_Pos) +#define CAN_TXEFC_EFSA(value) (CAN_TXEFC_EFSA_Msk & ((value) << CAN_TXEFC_EFSA_Pos)) +#define CAN_TXEFC_EFS_Pos 16 /**< \brief (CAN_TXEFC) Event FIFO Size */ +#define CAN_TXEFC_EFS_Msk (_U_(0x3F) << CAN_TXEFC_EFS_Pos) +#define CAN_TXEFC_EFS(value) (CAN_TXEFC_EFS_Msk & ((value) << CAN_TXEFC_EFS_Pos)) +#define CAN_TXEFC_EFWM_Pos 24 /**< \brief (CAN_TXEFC) Event FIFO Watermark */ +#define CAN_TXEFC_EFWM_Msk (_U_(0x3F) << CAN_TXEFC_EFWM_Pos) +#define CAN_TXEFC_EFWM(value) (CAN_TXEFC_EFWM_Msk & ((value) << CAN_TXEFC_EFWM_Pos)) +#define CAN_TXEFC_MASK _U_(0x3F3FFFFF) /**< \brief (CAN_TXEFC) MASK Register */ + +/* -------- CAN_TXEFS : (CAN Offset: 0xF4) (R/ 32) Tx Event FIFO Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t EFFL:6; /*!< bit: 0.. 5 Event FIFO Fill Level */ + uint32_t :2; /*!< bit: 6.. 7 Reserved */ + uint32_t EFGI:5; /*!< bit: 8..12 Event FIFO Get Index */ + uint32_t :3; /*!< bit: 13..15 Reserved */ + uint32_t EFPI:5; /*!< bit: 16..20 Event FIFO Put Index */ + uint32_t :3; /*!< bit: 21..23 Reserved */ + uint32_t EFF:1; /*!< bit: 24 Event FIFO Full */ + uint32_t TEFL:1; /*!< bit: 25 Tx Event FIFO Element Lost */ + uint32_t :6; /*!< bit: 26..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXEFS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXEFS_OFFSET 0xF4 /**< \brief (CAN_TXEFS offset) Tx Event FIFO Status */ +#define CAN_TXEFS_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFS reset_value) Tx Event FIFO Status */ + +#define CAN_TXEFS_EFFL_Pos 0 /**< \brief (CAN_TXEFS) Event FIFO Fill Level */ +#define CAN_TXEFS_EFFL_Msk (_U_(0x3F) << CAN_TXEFS_EFFL_Pos) +#define CAN_TXEFS_EFFL(value) (CAN_TXEFS_EFFL_Msk & ((value) << CAN_TXEFS_EFFL_Pos)) +#define CAN_TXEFS_EFGI_Pos 8 /**< \brief (CAN_TXEFS) Event FIFO Get Index */ +#define CAN_TXEFS_EFGI_Msk (_U_(0x1F) << CAN_TXEFS_EFGI_Pos) +#define CAN_TXEFS_EFGI(value) (CAN_TXEFS_EFGI_Msk & ((value) << CAN_TXEFS_EFGI_Pos)) +#define CAN_TXEFS_EFPI_Pos 16 /**< \brief (CAN_TXEFS) Event FIFO Put Index */ +#define CAN_TXEFS_EFPI_Msk (_U_(0x1F) << CAN_TXEFS_EFPI_Pos) +#define CAN_TXEFS_EFPI(value) (CAN_TXEFS_EFPI_Msk & ((value) << CAN_TXEFS_EFPI_Pos)) +#define CAN_TXEFS_EFF_Pos 24 /**< \brief (CAN_TXEFS) Event FIFO Full */ +#define CAN_TXEFS_EFF (_U_(0x1) << CAN_TXEFS_EFF_Pos) +#define CAN_TXEFS_TEFL_Pos 25 /**< \brief (CAN_TXEFS) Tx Event FIFO Element Lost */ +#define CAN_TXEFS_TEFL (_U_(0x1) << CAN_TXEFS_TEFL_Pos) +#define CAN_TXEFS_MASK _U_(0x031F1F3F) /**< \brief (CAN_TXEFS) MASK Register */ + +/* -------- CAN_TXEFA : (CAN Offset: 0xF8) (R/W 32) Tx Event FIFO Acknowledge -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t EFAI:5; /*!< bit: 0.. 4 Event FIFO Acknowledge Index */ + uint32_t :27; /*!< bit: 5..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXEFA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXEFA_OFFSET 0xF8 /**< \brief (CAN_TXEFA offset) Tx Event FIFO Acknowledge */ +#define CAN_TXEFA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFA reset_value) Tx Event FIFO Acknowledge */ + +#define CAN_TXEFA_EFAI_Pos 0 /**< \brief (CAN_TXEFA) Event FIFO Acknowledge Index */ +#define CAN_TXEFA_EFAI_Msk (_U_(0x1F) << CAN_TXEFA_EFAI_Pos) +#define CAN_TXEFA_EFAI(value) (CAN_TXEFA_EFAI_Msk & ((value) << CAN_TXEFA_EFAI_Pos)) +#define CAN_TXEFA_MASK _U_(0x0000001F) /**< \brief (CAN_TXEFA) MASK Register */ + +/* -------- CAN_RXBE_0 : (CAN Offset: 0x00) (R/W 32) Rx Buffer Element 0 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ID:29; /*!< bit: 0..28 Identifier */ + uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ + uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ + uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXBE_0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXBE_0_OFFSET 0x00 /**< \brief (CAN_RXBE_0 offset) Rx Buffer Element 0 */ +#define CAN_RXBE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXBE_0 reset_value) Rx Buffer Element 0 */ + +#define CAN_RXBE_0_ID_Pos 0 /**< \brief (CAN_RXBE_0) Identifier */ +#define CAN_RXBE_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_RXBE_0_ID_Pos) +#define CAN_RXBE_0_ID(value) (CAN_RXBE_0_ID_Msk & ((value) << CAN_RXBE_0_ID_Pos)) +#define CAN_RXBE_0_RTR_Pos 29 /**< \brief (CAN_RXBE_0) Remote Transmission Request */ +#define CAN_RXBE_0_RTR (_U_(0x1) << CAN_RXBE_0_RTR_Pos) +#define CAN_RXBE_0_XTD_Pos 30 /**< \brief (CAN_RXBE_0) Extended Identifier */ +#define CAN_RXBE_0_XTD (_U_(0x1) << CAN_RXBE_0_XTD_Pos) +#define CAN_RXBE_0_ESI_Pos 31 /**< \brief (CAN_RXBE_0) Error State Indicator */ +#define CAN_RXBE_0_ESI (_U_(0x1) << CAN_RXBE_0_ESI_Pos) +#define CAN_RXBE_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXBE_0) MASK Register */ + +/* -------- CAN_RXBE_1 : (CAN Offset: 0x04) (R/W 32) Rx Buffer Element 1 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ + uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ + uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ + uint32_t FDF:1; /*!< bit: 21 FD Format */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ + uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXBE_1_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXBE_1_OFFSET 0x04 /**< \brief (CAN_RXBE_1 offset) Rx Buffer Element 1 */ +#define CAN_RXBE_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXBE_1 reset_value) Rx Buffer Element 1 */ + +#define CAN_RXBE_1_RXTS_Pos 0 /**< \brief (CAN_RXBE_1) Rx Timestamp */ +#define CAN_RXBE_1_RXTS_Msk (_U_(0xFFFF) << CAN_RXBE_1_RXTS_Pos) +#define CAN_RXBE_1_RXTS(value) (CAN_RXBE_1_RXTS_Msk & ((value) << CAN_RXBE_1_RXTS_Pos)) +#define CAN_RXBE_1_DLC_Pos 16 /**< \brief (CAN_RXBE_1) Data Length Code */ +#define CAN_RXBE_1_DLC_Msk (_U_(0xF) << CAN_RXBE_1_DLC_Pos) +#define CAN_RXBE_1_DLC(value) (CAN_RXBE_1_DLC_Msk & ((value) << CAN_RXBE_1_DLC_Pos)) +#define CAN_RXBE_1_BRS_Pos 20 /**< \brief (CAN_RXBE_1) Bit Rate Search */ +#define CAN_RXBE_1_BRS (_U_(0x1) << CAN_RXBE_1_BRS_Pos) +#define CAN_RXBE_1_FDF_Pos 21 /**< \brief (CAN_RXBE_1) FD Format */ +#define CAN_RXBE_1_FDF (_U_(0x1) << CAN_RXBE_1_FDF_Pos) +#define CAN_RXBE_1_FIDX_Pos 24 /**< \brief (CAN_RXBE_1) Filter Index */ +#define CAN_RXBE_1_FIDX_Msk (_U_(0x7F) << CAN_RXBE_1_FIDX_Pos) +#define CAN_RXBE_1_FIDX(value) (CAN_RXBE_1_FIDX_Msk & ((value) << CAN_RXBE_1_FIDX_Pos)) +#define CAN_RXBE_1_ANMF_Pos 31 /**< \brief (CAN_RXBE_1) Accepted Non-matching Frame */ +#define CAN_RXBE_1_ANMF (_U_(0x1) << CAN_RXBE_1_ANMF_Pos) +#define CAN_RXBE_1_MASK _U_(0xFF3FFFFF) /**< \brief (CAN_RXBE_1) MASK Register */ + +/* -------- CAN_RXBE_DATA : (CAN Offset: 0x08) (R/W 32) Rx Buffer Element Data -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ + uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ + uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ + uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXBE_DATA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXBE_DATA_OFFSET 0x08 /**< \brief (CAN_RXBE_DATA offset) Rx Buffer Element Data */ +#define CAN_RXBE_DATA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXBE_DATA reset_value) Rx Buffer Element Data */ + +#define CAN_RXBE_DATA_DB0_Pos 0 /**< \brief (CAN_RXBE_DATA) Data Byte 0 */ +#define CAN_RXBE_DATA_DB0_Msk (_U_(0xFF) << CAN_RXBE_DATA_DB0_Pos) +#define CAN_RXBE_DATA_DB0(value) (CAN_RXBE_DATA_DB0_Msk & ((value) << CAN_RXBE_DATA_DB0_Pos)) +#define CAN_RXBE_DATA_DB1_Pos 8 /**< \brief (CAN_RXBE_DATA) Data Byte 1 */ +#define CAN_RXBE_DATA_DB1_Msk (_U_(0xFF) << CAN_RXBE_DATA_DB1_Pos) +#define CAN_RXBE_DATA_DB1(value) (CAN_RXBE_DATA_DB1_Msk & ((value) << CAN_RXBE_DATA_DB1_Pos)) +#define CAN_RXBE_DATA_DB2_Pos 16 /**< \brief (CAN_RXBE_DATA) Data Byte 2 */ +#define CAN_RXBE_DATA_DB2_Msk (_U_(0xFF) << CAN_RXBE_DATA_DB2_Pos) +#define CAN_RXBE_DATA_DB2(value) (CAN_RXBE_DATA_DB2_Msk & ((value) << CAN_RXBE_DATA_DB2_Pos)) +#define CAN_RXBE_DATA_DB3_Pos 24 /**< \brief (CAN_RXBE_DATA) Data Byte 3 */ +#define CAN_RXBE_DATA_DB3_Msk (_U_(0xFF) << CAN_RXBE_DATA_DB3_Pos) +#define CAN_RXBE_DATA_DB3(value) (CAN_RXBE_DATA_DB3_Msk & ((value) << CAN_RXBE_DATA_DB3_Pos)) +#define CAN_RXBE_DATA_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXBE_DATA) MASK Register */ + +/* -------- CAN_RXF0E_0 : (CAN Offset: 0x00) (R/W 32) Rx FIFO 0 Element 0 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ID:29; /*!< bit: 0..28 Identifier */ + uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ + uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ + uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF0E_0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF0E_0_OFFSET 0x00 /**< \brief (CAN_RXF0E_0 offset) Rx FIFO 0 Element 0 */ +#define CAN_RXF0E_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0E_0 reset_value) Rx FIFO 0 Element 0 */ + +#define CAN_RXF0E_0_ID_Pos 0 /**< \brief (CAN_RXF0E_0) Identifier */ +#define CAN_RXF0E_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_RXF0E_0_ID_Pos) +#define CAN_RXF0E_0_ID(value) (CAN_RXF0E_0_ID_Msk & ((value) << CAN_RXF0E_0_ID_Pos)) +#define CAN_RXF0E_0_RTR_Pos 29 /**< \brief (CAN_RXF0E_0) Remote Transmission Request */ +#define CAN_RXF0E_0_RTR (_U_(0x1) << CAN_RXF0E_0_RTR_Pos) +#define CAN_RXF0E_0_XTD_Pos 30 /**< \brief (CAN_RXF0E_0) Extended Identifier */ +#define CAN_RXF0E_0_XTD (_U_(0x1) << CAN_RXF0E_0_XTD_Pos) +#define CAN_RXF0E_0_ESI_Pos 31 /**< \brief (CAN_RXF0E_0) Error State Indicator */ +#define CAN_RXF0E_0_ESI (_U_(0x1) << CAN_RXF0E_0_ESI_Pos) +#define CAN_RXF0E_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXF0E_0) MASK Register */ + +/* -------- CAN_RXF0E_1 : (CAN Offset: 0x04) (R/W 32) Rx FIFO 0 Element 1 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ + uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ + uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ + uint32_t FDF:1; /*!< bit: 21 FD Format */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ + uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF0E_1_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF0E_1_OFFSET 0x04 /**< \brief (CAN_RXF0E_1 offset) Rx FIFO 0 Element 1 */ +#define CAN_RXF0E_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0E_1 reset_value) Rx FIFO 0 Element 1 */ + +#define CAN_RXF0E_1_RXTS_Pos 0 /**< \brief (CAN_RXF0E_1) Rx Timestamp */ +#define CAN_RXF0E_1_RXTS_Msk (_U_(0xFFFF) << CAN_RXF0E_1_RXTS_Pos) +#define CAN_RXF0E_1_RXTS(value) (CAN_RXF0E_1_RXTS_Msk & ((value) << CAN_RXF0E_1_RXTS_Pos)) +#define CAN_RXF0E_1_DLC_Pos 16 /**< \brief (CAN_RXF0E_1) Data Length Code */ +#define CAN_RXF0E_1_DLC_Msk (_U_(0xF) << CAN_RXF0E_1_DLC_Pos) +#define CAN_RXF0E_1_DLC(value) (CAN_RXF0E_1_DLC_Msk & ((value) << CAN_RXF0E_1_DLC_Pos)) +#define CAN_RXF0E_1_BRS_Pos 20 /**< \brief (CAN_RXF0E_1) Bit Rate Search */ +#define CAN_RXF0E_1_BRS (_U_(0x1) << CAN_RXF0E_1_BRS_Pos) +#define CAN_RXF0E_1_FDF_Pos 21 /**< \brief (CAN_RXF0E_1) FD Format */ +#define CAN_RXF0E_1_FDF (_U_(0x1) << CAN_RXF0E_1_FDF_Pos) +#define CAN_RXF0E_1_FIDX_Pos 24 /**< \brief (CAN_RXF0E_1) Filter Index */ +#define CAN_RXF0E_1_FIDX_Msk (_U_(0x7F) << CAN_RXF0E_1_FIDX_Pos) +#define CAN_RXF0E_1_FIDX(value) (CAN_RXF0E_1_FIDX_Msk & ((value) << CAN_RXF0E_1_FIDX_Pos)) +#define CAN_RXF0E_1_ANMF_Pos 31 /**< \brief (CAN_RXF0E_1) Accepted Non-matching Frame */ +#define CAN_RXF0E_1_ANMF (_U_(0x1) << CAN_RXF0E_1_ANMF_Pos) +#define CAN_RXF0E_1_MASK _U_(0xFF3FFFFF) /**< \brief (CAN_RXF0E_1) MASK Register */ + +/* -------- CAN_RXF0E_DATA : (CAN Offset: 0x08) (R/W 32) Rx FIFO 0 Element Data -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ + uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ + uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ + uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF0E_DATA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF0E_DATA_OFFSET 0x08 /**< \brief (CAN_RXF0E_DATA offset) Rx FIFO 0 Element Data */ +#define CAN_RXF0E_DATA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF0E_DATA reset_value) Rx FIFO 0 Element Data */ + +#define CAN_RXF0E_DATA_DB0_Pos 0 /**< \brief (CAN_RXF0E_DATA) Data Byte 0 */ +#define CAN_RXF0E_DATA_DB0_Msk (_U_(0xFF) << CAN_RXF0E_DATA_DB0_Pos) +#define CAN_RXF0E_DATA_DB0(value) (CAN_RXF0E_DATA_DB0_Msk & ((value) << CAN_RXF0E_DATA_DB0_Pos)) +#define CAN_RXF0E_DATA_DB1_Pos 8 /**< \brief (CAN_RXF0E_DATA) Data Byte 1 */ +#define CAN_RXF0E_DATA_DB1_Msk (_U_(0xFF) << CAN_RXF0E_DATA_DB1_Pos) +#define CAN_RXF0E_DATA_DB1(value) (CAN_RXF0E_DATA_DB1_Msk & ((value) << CAN_RXF0E_DATA_DB1_Pos)) +#define CAN_RXF0E_DATA_DB2_Pos 16 /**< \brief (CAN_RXF0E_DATA) Data Byte 2 */ +#define CAN_RXF0E_DATA_DB2_Msk (_U_(0xFF) << CAN_RXF0E_DATA_DB2_Pos) +#define CAN_RXF0E_DATA_DB2(value) (CAN_RXF0E_DATA_DB2_Msk & ((value) << CAN_RXF0E_DATA_DB2_Pos)) +#define CAN_RXF0E_DATA_DB3_Pos 24 /**< \brief (CAN_RXF0E_DATA) Data Byte 3 */ +#define CAN_RXF0E_DATA_DB3_Msk (_U_(0xFF) << CAN_RXF0E_DATA_DB3_Pos) +#define CAN_RXF0E_DATA_DB3(value) (CAN_RXF0E_DATA_DB3_Msk & ((value) << CAN_RXF0E_DATA_DB3_Pos)) +#define CAN_RXF0E_DATA_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXF0E_DATA) MASK Register */ + +/* -------- CAN_RXF1E_0 : (CAN Offset: 0x00) (R/W 32) Rx FIFO 1 Element 0 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ID:29; /*!< bit: 0..28 Identifier */ + uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ + uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ + uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF1E_0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF1E_0_OFFSET 0x00 /**< \brief (CAN_RXF1E_0 offset) Rx FIFO 1 Element 0 */ +#define CAN_RXF1E_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1E_0 reset_value) Rx FIFO 1 Element 0 */ + +#define CAN_RXF1E_0_ID_Pos 0 /**< \brief (CAN_RXF1E_0) Identifier */ +#define CAN_RXF1E_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_RXF1E_0_ID_Pos) +#define CAN_RXF1E_0_ID(value) (CAN_RXF1E_0_ID_Msk & ((value) << CAN_RXF1E_0_ID_Pos)) +#define CAN_RXF1E_0_RTR_Pos 29 /**< \brief (CAN_RXF1E_0) Remote Transmission Request */ +#define CAN_RXF1E_0_RTR (_U_(0x1) << CAN_RXF1E_0_RTR_Pos) +#define CAN_RXF1E_0_XTD_Pos 30 /**< \brief (CAN_RXF1E_0) Extended Identifier */ +#define CAN_RXF1E_0_XTD (_U_(0x1) << CAN_RXF1E_0_XTD_Pos) +#define CAN_RXF1E_0_ESI_Pos 31 /**< \brief (CAN_RXF1E_0) Error State Indicator */ +#define CAN_RXF1E_0_ESI (_U_(0x1) << CAN_RXF1E_0_ESI_Pos) +#define CAN_RXF1E_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXF1E_0) MASK Register */ + +/* -------- CAN_RXF1E_1 : (CAN Offset: 0x04) (R/W 32) Rx FIFO 1 Element 1 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t RXTS:16; /*!< bit: 0..15 Rx Timestamp */ + uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ + uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ + uint32_t FDF:1; /*!< bit: 21 FD Format */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t FIDX:7; /*!< bit: 24..30 Filter Index */ + uint32_t ANMF:1; /*!< bit: 31 Accepted Non-matching Frame */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF1E_1_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF1E_1_OFFSET 0x04 /**< \brief (CAN_RXF1E_1 offset) Rx FIFO 1 Element 1 */ +#define CAN_RXF1E_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1E_1 reset_value) Rx FIFO 1 Element 1 */ + +#define CAN_RXF1E_1_RXTS_Pos 0 /**< \brief (CAN_RXF1E_1) Rx Timestamp */ +#define CAN_RXF1E_1_RXTS_Msk (_U_(0xFFFF) << CAN_RXF1E_1_RXTS_Pos) +#define CAN_RXF1E_1_RXTS(value) (CAN_RXF1E_1_RXTS_Msk & ((value) << CAN_RXF1E_1_RXTS_Pos)) +#define CAN_RXF1E_1_DLC_Pos 16 /**< \brief (CAN_RXF1E_1) Data Length Code */ +#define CAN_RXF1E_1_DLC_Msk (_U_(0xF) << CAN_RXF1E_1_DLC_Pos) +#define CAN_RXF1E_1_DLC(value) (CAN_RXF1E_1_DLC_Msk & ((value) << CAN_RXF1E_1_DLC_Pos)) +#define CAN_RXF1E_1_BRS_Pos 20 /**< \brief (CAN_RXF1E_1) Bit Rate Search */ +#define CAN_RXF1E_1_BRS (_U_(0x1) << CAN_RXF1E_1_BRS_Pos) +#define CAN_RXF1E_1_FDF_Pos 21 /**< \brief (CAN_RXF1E_1) FD Format */ +#define CAN_RXF1E_1_FDF (_U_(0x1) << CAN_RXF1E_1_FDF_Pos) +#define CAN_RXF1E_1_FIDX_Pos 24 /**< \brief (CAN_RXF1E_1) Filter Index */ +#define CAN_RXF1E_1_FIDX_Msk (_U_(0x7F) << CAN_RXF1E_1_FIDX_Pos) +#define CAN_RXF1E_1_FIDX(value) (CAN_RXF1E_1_FIDX_Msk & ((value) << CAN_RXF1E_1_FIDX_Pos)) +#define CAN_RXF1E_1_ANMF_Pos 31 /**< \brief (CAN_RXF1E_1) Accepted Non-matching Frame */ +#define CAN_RXF1E_1_ANMF (_U_(0x1) << CAN_RXF1E_1_ANMF_Pos) +#define CAN_RXF1E_1_MASK _U_(0xFF3FFFFF) /**< \brief (CAN_RXF1E_1) MASK Register */ + +/* -------- CAN_RXF1E_DATA : (CAN Offset: 0x08) (R/W 32) Rx FIFO 1 Element Data -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ + uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ + uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ + uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_RXF1E_DATA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_RXF1E_DATA_OFFSET 0x08 /**< \brief (CAN_RXF1E_DATA offset) Rx FIFO 1 Element Data */ +#define CAN_RXF1E_DATA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_RXF1E_DATA reset_value) Rx FIFO 1 Element Data */ + +#define CAN_RXF1E_DATA_DB0_Pos 0 /**< \brief (CAN_RXF1E_DATA) Data Byte 0 */ +#define CAN_RXF1E_DATA_DB0_Msk (_U_(0xFF) << CAN_RXF1E_DATA_DB0_Pos) +#define CAN_RXF1E_DATA_DB0(value) (CAN_RXF1E_DATA_DB0_Msk & ((value) << CAN_RXF1E_DATA_DB0_Pos)) +#define CAN_RXF1E_DATA_DB1_Pos 8 /**< \brief (CAN_RXF1E_DATA) Data Byte 1 */ +#define CAN_RXF1E_DATA_DB1_Msk (_U_(0xFF) << CAN_RXF1E_DATA_DB1_Pos) +#define CAN_RXF1E_DATA_DB1(value) (CAN_RXF1E_DATA_DB1_Msk & ((value) << CAN_RXF1E_DATA_DB1_Pos)) +#define CAN_RXF1E_DATA_DB2_Pos 16 /**< \brief (CAN_RXF1E_DATA) Data Byte 2 */ +#define CAN_RXF1E_DATA_DB2_Msk (_U_(0xFF) << CAN_RXF1E_DATA_DB2_Pos) +#define CAN_RXF1E_DATA_DB2(value) (CAN_RXF1E_DATA_DB2_Msk & ((value) << CAN_RXF1E_DATA_DB2_Pos)) +#define CAN_RXF1E_DATA_DB3_Pos 24 /**< \brief (CAN_RXF1E_DATA) Data Byte 3 */ +#define CAN_RXF1E_DATA_DB3_Msk (_U_(0xFF) << CAN_RXF1E_DATA_DB3_Pos) +#define CAN_RXF1E_DATA_DB3(value) (CAN_RXF1E_DATA_DB3_Msk & ((value) << CAN_RXF1E_DATA_DB3_Pos)) +#define CAN_RXF1E_DATA_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_RXF1E_DATA) MASK Register */ + +/* -------- CAN_SIDFE_0 : (CAN Offset: 0x00) (R/W 32) Standard Message ID Filter Element -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t SFID2:11; /*!< bit: 0..10 Standard Filter ID 2 */ + uint32_t :5; /*!< bit: 11..15 Reserved */ + uint32_t SFID1:11; /*!< bit: 16..26 Standard Filter ID 1 */ + uint32_t SFEC:3; /*!< bit: 27..29 Standard Filter Element Configuration */ + uint32_t SFT:2; /*!< bit: 30..31 Standard Filter Type */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_SIDFE_0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_SIDFE_0_OFFSET 0x00 /**< \brief (CAN_SIDFE_0 offset) Standard Message ID Filter Element */ +#define CAN_SIDFE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_SIDFE_0 reset_value) Standard Message ID Filter Element */ + +#define CAN_SIDFE_0_SFID2_Pos 0 /**< \brief (CAN_SIDFE_0) Standard Filter ID 2 */ +#define CAN_SIDFE_0_SFID2_Msk (_U_(0x7FF) << CAN_SIDFE_0_SFID2_Pos) +#define CAN_SIDFE_0_SFID2(value) (CAN_SIDFE_0_SFID2_Msk & ((value) << CAN_SIDFE_0_SFID2_Pos)) +#define CAN_SIDFE_0_SFID1_Pos 16 /**< \brief (CAN_SIDFE_0) Standard Filter ID 1 */ +#define CAN_SIDFE_0_SFID1_Msk (_U_(0x7FF) << CAN_SIDFE_0_SFID1_Pos) +#define CAN_SIDFE_0_SFID1(value) (CAN_SIDFE_0_SFID1_Msk & ((value) << CAN_SIDFE_0_SFID1_Pos)) +#define CAN_SIDFE_0_SFEC_Pos 27 /**< \brief (CAN_SIDFE_0) Standard Filter Element Configuration */ +#define CAN_SIDFE_0_SFEC_Msk (_U_(0x7) << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFEC(value) (CAN_SIDFE_0_SFEC_Msk & ((value) << CAN_SIDFE_0_SFEC_Pos)) +#define CAN_SIDFE_0_SFEC_DISABLE_Val _U_(0x0) /**< \brief (CAN_SIDFE_0) Disable filter element */ +#define CAN_SIDFE_0_SFEC_STF0M_Val _U_(0x1) /**< \brief (CAN_SIDFE_0) Store in Rx FIFO 0 if filter match */ +#define CAN_SIDFE_0_SFEC_STF1M_Val _U_(0x2) /**< \brief (CAN_SIDFE_0) Store in Rx FIFO 1 if filter match */ +#define CAN_SIDFE_0_SFEC_REJECT_Val _U_(0x3) /**< \brief (CAN_SIDFE_0) Reject ID if filter match */ +#define CAN_SIDFE_0_SFEC_PRIORITY_Val _U_(0x4) /**< \brief (CAN_SIDFE_0) Set priority if filter match */ +#define CAN_SIDFE_0_SFEC_PRIF0M_Val _U_(0x5) /**< \brief (CAN_SIDFE_0) Set priority and store in FIFO 0 if filter match */ +#define CAN_SIDFE_0_SFEC_PRIF1M_Val _U_(0x6) /**< \brief (CAN_SIDFE_0) Set priority and store in FIFO 1 if filter match */ +#define CAN_SIDFE_0_SFEC_STRXBUF_Val _U_(0x7) /**< \brief (CAN_SIDFE_0) Store into Rx Buffer */ +#define CAN_SIDFE_0_SFEC_DISABLE (CAN_SIDFE_0_SFEC_DISABLE_Val << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFEC_STF0M (CAN_SIDFE_0_SFEC_STF0M_Val << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFEC_STF1M (CAN_SIDFE_0_SFEC_STF1M_Val << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFEC_REJECT (CAN_SIDFE_0_SFEC_REJECT_Val << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFEC_PRIORITY (CAN_SIDFE_0_SFEC_PRIORITY_Val << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFEC_PRIF0M (CAN_SIDFE_0_SFEC_PRIF0M_Val << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFEC_PRIF1M (CAN_SIDFE_0_SFEC_PRIF1M_Val << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFEC_STRXBUF (CAN_SIDFE_0_SFEC_STRXBUF_Val << CAN_SIDFE_0_SFEC_Pos) +#define CAN_SIDFE_0_SFT_Pos 30 /**< \brief (CAN_SIDFE_0) Standard Filter Type */ +#define CAN_SIDFE_0_SFT_Msk (_U_(0x3) << CAN_SIDFE_0_SFT_Pos) +#define CAN_SIDFE_0_SFT(value) (CAN_SIDFE_0_SFT_Msk & ((value) << CAN_SIDFE_0_SFT_Pos)) +#define CAN_SIDFE_0_SFT_RANGE_Val _U_(0x0) /**< \brief (CAN_SIDFE_0) Range filter from SFID1 to SFID2 */ +#define CAN_SIDFE_0_SFT_DUAL_Val _U_(0x1) /**< \brief (CAN_SIDFE_0) Dual ID filter for SFID1 or SFID2 */ +#define CAN_SIDFE_0_SFT_CLASSIC_Val _U_(0x2) /**< \brief (CAN_SIDFE_0) Classic filter */ +#define CAN_SIDFE_0_SFT_RANGE (CAN_SIDFE_0_SFT_RANGE_Val << CAN_SIDFE_0_SFT_Pos) +#define CAN_SIDFE_0_SFT_DUAL (CAN_SIDFE_0_SFT_DUAL_Val << CAN_SIDFE_0_SFT_Pos) +#define CAN_SIDFE_0_SFT_CLASSIC (CAN_SIDFE_0_SFT_CLASSIC_Val << CAN_SIDFE_0_SFT_Pos) +#define CAN_SIDFE_0_MASK _U_(0xFFFF07FF) /**< \brief (CAN_SIDFE_0) MASK Register */ + +/* -------- CAN_TXBE_0 : (CAN Offset: 0x00) (R/W 32) Tx Buffer Element 0 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ID:29; /*!< bit: 0..28 Identifier */ + uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ + uint32_t XTD:1; /*!< bit: 30 Extended Identifier */ + uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBE_0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBE_0_OFFSET 0x00 /**< \brief (CAN_TXBE_0 offset) Tx Buffer Element 0 */ +#define CAN_TXBE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBE_0 reset_value) Tx Buffer Element 0 */ + +#define CAN_TXBE_0_ID_Pos 0 /**< \brief (CAN_TXBE_0) Identifier */ +#define CAN_TXBE_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_TXBE_0_ID_Pos) +#define CAN_TXBE_0_ID(value) (CAN_TXBE_0_ID_Msk & ((value) << CAN_TXBE_0_ID_Pos)) +#define CAN_TXBE_0_RTR_Pos 29 /**< \brief (CAN_TXBE_0) Remote Transmission Request */ +#define CAN_TXBE_0_RTR (_U_(0x1) << CAN_TXBE_0_RTR_Pos) +#define CAN_TXBE_0_XTD_Pos 30 /**< \brief (CAN_TXBE_0) Extended Identifier */ +#define CAN_TXBE_0_XTD (_U_(0x1) << CAN_TXBE_0_XTD_Pos) +#define CAN_TXBE_0_ESI_Pos 31 /**< \brief (CAN_TXBE_0) Error State Indicator */ +#define CAN_TXBE_0_ESI (_U_(0x1) << CAN_TXBE_0_ESI_Pos) +#define CAN_TXBE_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBE_0) MASK Register */ + +/* -------- CAN_TXBE_1 : (CAN Offset: 0x04) (R/W 32) Tx Buffer Element 1 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t :16; /*!< bit: 0..15 Reserved */ + uint32_t DLC:4; /*!< bit: 16..19 Identifier */ + uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ + uint32_t FDF:1; /*!< bit: 21 FD Format */ + uint32_t :1; /*!< bit: 22 Reserved */ + uint32_t EFC:1; /*!< bit: 23 Event FIFO Control */ + uint32_t MM:8; /*!< bit: 24..31 Message Marker */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBE_1_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBE_1_OFFSET 0x04 /**< \brief (CAN_TXBE_1 offset) Tx Buffer Element 1 */ +#define CAN_TXBE_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBE_1 reset_value) Tx Buffer Element 1 */ + +#define CAN_TXBE_1_DLC_Pos 16 /**< \brief (CAN_TXBE_1) Identifier */ +#define CAN_TXBE_1_DLC_Msk (_U_(0xF) << CAN_TXBE_1_DLC_Pos) +#define CAN_TXBE_1_DLC(value) (CAN_TXBE_1_DLC_Msk & ((value) << CAN_TXBE_1_DLC_Pos)) +#define CAN_TXBE_1_BRS_Pos 20 /**< \brief (CAN_TXBE_1) Bit Rate Search */ +#define CAN_TXBE_1_BRS (_U_(0x1) << CAN_TXBE_1_BRS_Pos) +#define CAN_TXBE_1_FDF_Pos 21 /**< \brief (CAN_TXBE_1) FD Format */ +#define CAN_TXBE_1_FDF (_U_(0x1) << CAN_TXBE_1_FDF_Pos) +#define CAN_TXBE_1_EFC_Pos 23 /**< \brief (CAN_TXBE_1) Event FIFO Control */ +#define CAN_TXBE_1_EFC (_U_(0x1) << CAN_TXBE_1_EFC_Pos) +#define CAN_TXBE_1_MM_Pos 24 /**< \brief (CAN_TXBE_1) Message Marker */ +#define CAN_TXBE_1_MM_Msk (_U_(0xFF) << CAN_TXBE_1_MM_Pos) +#define CAN_TXBE_1_MM(value) (CAN_TXBE_1_MM_Msk & ((value) << CAN_TXBE_1_MM_Pos)) +#define CAN_TXBE_1_MASK _U_(0xFFBF0000) /**< \brief (CAN_TXBE_1) MASK Register */ + +/* -------- CAN_TXBE_DATA : (CAN Offset: 0x08) (R/W 32) Tx Buffer Element Data -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t DB0:8; /*!< bit: 0.. 7 Data Byte 0 */ + uint32_t DB1:8; /*!< bit: 8..15 Data Byte 1 */ + uint32_t DB2:8; /*!< bit: 16..23 Data Byte 2 */ + uint32_t DB3:8; /*!< bit: 24..31 Data Byte 3 */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXBE_DATA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXBE_DATA_OFFSET 0x08 /**< \brief (CAN_TXBE_DATA offset) Tx Buffer Element Data */ +#define CAN_TXBE_DATA_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXBE_DATA reset_value) Tx Buffer Element Data */ + +#define CAN_TXBE_DATA_DB0_Pos 0 /**< \brief (CAN_TXBE_DATA) Data Byte 0 */ +#define CAN_TXBE_DATA_DB0_Msk (_U_(0xFF) << CAN_TXBE_DATA_DB0_Pos) +#define CAN_TXBE_DATA_DB0(value) (CAN_TXBE_DATA_DB0_Msk & ((value) << CAN_TXBE_DATA_DB0_Pos)) +#define CAN_TXBE_DATA_DB1_Pos 8 /**< \brief (CAN_TXBE_DATA) Data Byte 1 */ +#define CAN_TXBE_DATA_DB1_Msk (_U_(0xFF) << CAN_TXBE_DATA_DB1_Pos) +#define CAN_TXBE_DATA_DB1(value) (CAN_TXBE_DATA_DB1_Msk & ((value) << CAN_TXBE_DATA_DB1_Pos)) +#define CAN_TXBE_DATA_DB2_Pos 16 /**< \brief (CAN_TXBE_DATA) Data Byte 2 */ +#define CAN_TXBE_DATA_DB2_Msk (_U_(0xFF) << CAN_TXBE_DATA_DB2_Pos) +#define CAN_TXBE_DATA_DB2(value) (CAN_TXBE_DATA_DB2_Msk & ((value) << CAN_TXBE_DATA_DB2_Pos)) +#define CAN_TXBE_DATA_DB3_Pos 24 /**< \brief (CAN_TXBE_DATA) Data Byte 3 */ +#define CAN_TXBE_DATA_DB3_Msk (_U_(0xFF) << CAN_TXBE_DATA_DB3_Pos) +#define CAN_TXBE_DATA_DB3(value) (CAN_TXBE_DATA_DB3_Msk & ((value) << CAN_TXBE_DATA_DB3_Pos)) +#define CAN_TXBE_DATA_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXBE_DATA) MASK Register */ + +/* -------- CAN_TXEFE_0 : (CAN Offset: 0x00) (R/W 32) Tx Event FIFO Element 0 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t ID:29; /*!< bit: 0..28 Identifier */ + uint32_t RTR:1; /*!< bit: 29 Remote Transmission Request */ + uint32_t XTD:1; /*!< bit: 30 Extended Indentifier */ + uint32_t ESI:1; /*!< bit: 31 Error State Indicator */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXEFE_0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXEFE_0_OFFSET 0x00 /**< \brief (CAN_TXEFE_0 offset) Tx Event FIFO Element 0 */ +#define CAN_TXEFE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFE_0 reset_value) Tx Event FIFO Element 0 */ + +#define CAN_TXEFE_0_ID_Pos 0 /**< \brief (CAN_TXEFE_0) Identifier */ +#define CAN_TXEFE_0_ID_Msk (_U_(0x1FFFFFFF) << CAN_TXEFE_0_ID_Pos) +#define CAN_TXEFE_0_ID(value) (CAN_TXEFE_0_ID_Msk & ((value) << CAN_TXEFE_0_ID_Pos)) +#define CAN_TXEFE_0_RTR_Pos 29 /**< \brief (CAN_TXEFE_0) Remote Transmission Request */ +#define CAN_TXEFE_0_RTR (_U_(0x1) << CAN_TXEFE_0_RTR_Pos) +#define CAN_TXEFE_0_XTD_Pos 30 /**< \brief (CAN_TXEFE_0) Extended Indentifier */ +#define CAN_TXEFE_0_XTD (_U_(0x1) << CAN_TXEFE_0_XTD_Pos) +#define CAN_TXEFE_0_ESI_Pos 31 /**< \brief (CAN_TXEFE_0) Error State Indicator */ +#define CAN_TXEFE_0_ESI (_U_(0x1) << CAN_TXEFE_0_ESI_Pos) +#define CAN_TXEFE_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXEFE_0) MASK Register */ + +/* -------- CAN_TXEFE_1 : (CAN Offset: 0x04) (R/W 32) Tx Event FIFO Element 1 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t TXTS:16; /*!< bit: 0..15 Tx Timestamp */ + uint32_t DLC:4; /*!< bit: 16..19 Data Length Code */ + uint32_t BRS:1; /*!< bit: 20 Bit Rate Search */ + uint32_t FDF:1; /*!< bit: 21 FD Format */ + uint32_t ET:2; /*!< bit: 22..23 Event Type */ + uint32_t MM:8; /*!< bit: 24..31 Message Marker */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_TXEFE_1_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_TXEFE_1_OFFSET 0x04 /**< \brief (CAN_TXEFE_1 offset) Tx Event FIFO Element 1 */ +#define CAN_TXEFE_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_TXEFE_1 reset_value) Tx Event FIFO Element 1 */ + +#define CAN_TXEFE_1_TXTS_Pos 0 /**< \brief (CAN_TXEFE_1) Tx Timestamp */ +#define CAN_TXEFE_1_TXTS_Msk (_U_(0xFFFF) << CAN_TXEFE_1_TXTS_Pos) +#define CAN_TXEFE_1_TXTS(value) (CAN_TXEFE_1_TXTS_Msk & ((value) << CAN_TXEFE_1_TXTS_Pos)) +#define CAN_TXEFE_1_DLC_Pos 16 /**< \brief (CAN_TXEFE_1) Data Length Code */ +#define CAN_TXEFE_1_DLC_Msk (_U_(0xF) << CAN_TXEFE_1_DLC_Pos) +#define CAN_TXEFE_1_DLC(value) (CAN_TXEFE_1_DLC_Msk & ((value) << CAN_TXEFE_1_DLC_Pos)) +#define CAN_TXEFE_1_BRS_Pos 20 /**< \brief (CAN_TXEFE_1) Bit Rate Search */ +#define CAN_TXEFE_1_BRS (_U_(0x1) << CAN_TXEFE_1_BRS_Pos) +#define CAN_TXEFE_1_FDF_Pos 21 /**< \brief (CAN_TXEFE_1) FD Format */ +#define CAN_TXEFE_1_FDF (_U_(0x1) << CAN_TXEFE_1_FDF_Pos) +#define CAN_TXEFE_1_ET_Pos 22 /**< \brief (CAN_TXEFE_1) Event Type */ +#define CAN_TXEFE_1_ET_Msk (_U_(0x3) << CAN_TXEFE_1_ET_Pos) +#define CAN_TXEFE_1_ET(value) (CAN_TXEFE_1_ET_Msk & ((value) << CAN_TXEFE_1_ET_Pos)) +#define CAN_TXEFE_1_ET_TXE_Val _U_(0x1) /**< \brief (CAN_TXEFE_1) Tx event */ +#define CAN_TXEFE_1_ET_TXC_Val _U_(0x2) /**< \brief (CAN_TXEFE_1) Transmission in spite of cancellation */ +#define CAN_TXEFE_1_ET_TXE (CAN_TXEFE_1_ET_TXE_Val << CAN_TXEFE_1_ET_Pos) +#define CAN_TXEFE_1_ET_TXC (CAN_TXEFE_1_ET_TXC_Val << CAN_TXEFE_1_ET_Pos) +#define CAN_TXEFE_1_MM_Pos 24 /**< \brief (CAN_TXEFE_1) Message Marker */ +#define CAN_TXEFE_1_MM_Msk (_U_(0xFF) << CAN_TXEFE_1_MM_Pos) +#define CAN_TXEFE_1_MM(value) (CAN_TXEFE_1_MM_Msk & ((value) << CAN_TXEFE_1_MM_Pos)) +#define CAN_TXEFE_1_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_TXEFE_1) MASK Register */ + +/* -------- CAN_XIDFE_0 : (CAN Offset: 0x00) (R/W 32) Extended Message ID Filter Element 0 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t EFID1:29; /*!< bit: 0..28 Extended Filter ID 1 */ + uint32_t EFEC:3; /*!< bit: 29..31 Extended Filter Element Configuration */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_XIDFE_0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_XIDFE_0_OFFSET 0x00 /**< \brief (CAN_XIDFE_0 offset) Extended Message ID Filter Element 0 */ +#define CAN_XIDFE_0_RESETVALUE _U_(0x00000000) /**< \brief (CAN_XIDFE_0 reset_value) Extended Message ID Filter Element 0 */ + +#define CAN_XIDFE_0_EFID1_Pos 0 /**< \brief (CAN_XIDFE_0) Extended Filter ID 1 */ +#define CAN_XIDFE_0_EFID1_Msk (_U_(0x1FFFFFFF) << CAN_XIDFE_0_EFID1_Pos) +#define CAN_XIDFE_0_EFID1(value) (CAN_XIDFE_0_EFID1_Msk & ((value) << CAN_XIDFE_0_EFID1_Pos)) +#define CAN_XIDFE_0_EFEC_Pos 29 /**< \brief (CAN_XIDFE_0) Extended Filter Element Configuration */ +#define CAN_XIDFE_0_EFEC_Msk (_U_(0x7) << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_EFEC(value) (CAN_XIDFE_0_EFEC_Msk & ((value) << CAN_XIDFE_0_EFEC_Pos)) +#define CAN_XIDFE_0_EFEC_DISABLE_Val _U_(0x0) /**< \brief (CAN_XIDFE_0) Disable filter element */ +#define CAN_XIDFE_0_EFEC_STF0M_Val _U_(0x1) /**< \brief (CAN_XIDFE_0) Store in Rx FIFO 0 if filter match */ +#define CAN_XIDFE_0_EFEC_STF1M_Val _U_(0x2) /**< \brief (CAN_XIDFE_0) Store in Rx FIFO 1 if filter match */ +#define CAN_XIDFE_0_EFEC_REJECT_Val _U_(0x3) /**< \brief (CAN_XIDFE_0) Reject ID if filter match */ +#define CAN_XIDFE_0_EFEC_PRIORITY_Val _U_(0x4) /**< \brief (CAN_XIDFE_0) Set priority if filter match */ +#define CAN_XIDFE_0_EFEC_PRIF0M_Val _U_(0x5) /**< \brief (CAN_XIDFE_0) Set priority and store in FIFO 0 if filter match */ +#define CAN_XIDFE_0_EFEC_PRIF1M_Val _U_(0x6) /**< \brief (CAN_XIDFE_0) Set priority and store in FIFO 1 if filter match */ +#define CAN_XIDFE_0_EFEC_STRXBUF_Val _U_(0x7) /**< \brief (CAN_XIDFE_0) Store into Rx Buffer */ +#define CAN_XIDFE_0_EFEC_DISABLE (CAN_XIDFE_0_EFEC_DISABLE_Val << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_EFEC_STF0M (CAN_XIDFE_0_EFEC_STF0M_Val << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_EFEC_STF1M (CAN_XIDFE_0_EFEC_STF1M_Val << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_EFEC_REJECT (CAN_XIDFE_0_EFEC_REJECT_Val << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_EFEC_PRIORITY (CAN_XIDFE_0_EFEC_PRIORITY_Val << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_EFEC_PRIF0M (CAN_XIDFE_0_EFEC_PRIF0M_Val << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_EFEC_PRIF1M (CAN_XIDFE_0_EFEC_PRIF1M_Val << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_EFEC_STRXBUF (CAN_XIDFE_0_EFEC_STRXBUF_Val << CAN_XIDFE_0_EFEC_Pos) +#define CAN_XIDFE_0_MASK _U_(0xFFFFFFFF) /**< \brief (CAN_XIDFE_0) MASK Register */ + +/* -------- CAN_XIDFE_1 : (CAN Offset: 0x04) (R/W 32) Extended Message ID Filter Element 1 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t EFID2:29; /*!< bit: 0..28 Extended Filter ID 2 */ + uint32_t :1; /*!< bit: 29 Reserved */ + uint32_t EFT:2; /*!< bit: 30..31 Extended Filter Type */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CAN_XIDFE_1_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CAN_XIDFE_1_OFFSET 0x04 /**< \brief (CAN_XIDFE_1 offset) Extended Message ID Filter Element 1 */ +#define CAN_XIDFE_1_RESETVALUE _U_(0x00000000) /**< \brief (CAN_XIDFE_1 reset_value) Extended Message ID Filter Element 1 */ + +#define CAN_XIDFE_1_EFID2_Pos 0 /**< \brief (CAN_XIDFE_1) Extended Filter ID 2 */ +#define CAN_XIDFE_1_EFID2_Msk (_U_(0x1FFFFFFF) << CAN_XIDFE_1_EFID2_Pos) +#define CAN_XIDFE_1_EFID2(value) (CAN_XIDFE_1_EFID2_Msk & ((value) << CAN_XIDFE_1_EFID2_Pos)) +#define CAN_XIDFE_1_EFT_Pos 30 /**< \brief (CAN_XIDFE_1) Extended Filter Type */ +#define CAN_XIDFE_1_EFT_Msk (_U_(0x3) << CAN_XIDFE_1_EFT_Pos) +#define CAN_XIDFE_1_EFT(value) (CAN_XIDFE_1_EFT_Msk & ((value) << CAN_XIDFE_1_EFT_Pos)) +#define CAN_XIDFE_1_EFT_RANGEM_Val _U_(0x0) /**< \brief (CAN_XIDFE_1) Range filter from EFID1 to EFID2 */ +#define CAN_XIDFE_1_EFT_DUAL_Val _U_(0x1) /**< \brief (CAN_XIDFE_1) Dual ID filter for EFID1 or EFID2 */ +#define CAN_XIDFE_1_EFT_CLASSIC_Val _U_(0x2) /**< \brief (CAN_XIDFE_1) Classic filter */ +#define CAN_XIDFE_1_EFT_RANGE_Val _U_(0x3) /**< \brief (CAN_XIDFE_1) Range filter from EFID1 to EFID2 with no XIDAM mask */ +#define CAN_XIDFE_1_EFT_RANGEM (CAN_XIDFE_1_EFT_RANGEM_Val << CAN_XIDFE_1_EFT_Pos) +#define CAN_XIDFE_1_EFT_DUAL (CAN_XIDFE_1_EFT_DUAL_Val << CAN_XIDFE_1_EFT_Pos) +#define CAN_XIDFE_1_EFT_CLASSIC (CAN_XIDFE_1_EFT_CLASSIC_Val << CAN_XIDFE_1_EFT_Pos) +#define CAN_XIDFE_1_EFT_RANGE (CAN_XIDFE_1_EFT_RANGE_Val << CAN_XIDFE_1_EFT_Pos) +#define CAN_XIDFE_1_MASK _U_(0xDFFFFFFF) /**< \brief (CAN_XIDFE_1) MASK Register */ + +/** \brief CAN APB hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __I CAN_CREL_Type CREL; /**< \brief Offset: 0x00 (R/ 32) Core Release */ + __I CAN_ENDN_Type ENDN; /**< \brief Offset: 0x04 (R/ 32) Endian */ + __IO CAN_MRCFG_Type MRCFG; /**< \brief Offset: 0x08 (R/W 32) Message RAM Configuration */ + __IO CAN_DBTP_Type DBTP; /**< \brief Offset: 0x0C (R/W 32) Fast Bit Timing and Prescaler */ + __IO CAN_TEST_Type TEST; /**< \brief Offset: 0x10 (R/W 32) Test */ + __IO CAN_RWD_Type RWD; /**< \brief Offset: 0x14 (R/W 32) RAM Watchdog */ + __IO CAN_CCCR_Type CCCR; /**< \brief Offset: 0x18 (R/W 32) CC Control */ + __IO CAN_NBTP_Type NBTP; /**< \brief Offset: 0x1C (R/W 32) Nominal Bit Timing and Prescaler */ + __IO CAN_TSCC_Type TSCC; /**< \brief Offset: 0x20 (R/W 32) Timestamp Counter Configuration */ + __I CAN_TSCV_Type TSCV; /**< \brief Offset: 0x24 (R/ 32) Timestamp Counter Value */ + __IO CAN_TOCC_Type TOCC; /**< \brief Offset: 0x28 (R/W 32) Timeout Counter Configuration */ + __IO CAN_TOCV_Type TOCV; /**< \brief Offset: 0x2C (R/W 32) Timeout Counter Value */ + RoReg8 Reserved1[0x10]; + __I CAN_ECR_Type ECR; /**< \brief Offset: 0x40 (R/ 32) Error Counter */ + __I CAN_PSR_Type PSR; /**< \brief Offset: 0x44 (R/ 32) Protocol Status */ + __IO CAN_TDCR_Type TDCR; /**< \brief Offset: 0x48 (R/W 32) Extended ID Filter Configuration */ + RoReg8 Reserved2[0x4]; + __IO CAN_IR_Type IR; /**< \brief Offset: 0x50 (R/W 32) Interrupt */ + __IO CAN_IE_Type IE; /**< \brief Offset: 0x54 (R/W 32) Interrupt Enable */ + __IO CAN_ILS_Type ILS; /**< \brief Offset: 0x58 (R/W 32) Interrupt Line Select */ + __IO CAN_ILE_Type ILE; /**< \brief Offset: 0x5C (R/W 32) Interrupt Line Enable */ + RoReg8 Reserved3[0x20]; + __IO CAN_GFC_Type GFC; /**< \brief Offset: 0x80 (R/W 32) Global Filter Configuration */ + __IO CAN_SIDFC_Type SIDFC; /**< \brief Offset: 0x84 (R/W 32) Standard ID Filter Configuration */ + __IO CAN_XIDFC_Type XIDFC; /**< \brief Offset: 0x88 (R/W 32) Extended ID Filter Configuration */ + RoReg8 Reserved4[0x4]; + __IO CAN_XIDAM_Type XIDAM; /**< \brief Offset: 0x90 (R/W 32) Extended ID AND Mask */ + __I CAN_HPMS_Type HPMS; /**< \brief Offset: 0x94 (R/ 32) High Priority Message Status */ + __IO CAN_NDAT1_Type NDAT1; /**< \brief Offset: 0x98 (R/W 32) New Data 1 */ + __IO CAN_NDAT2_Type NDAT2; /**< \brief Offset: 0x9C (R/W 32) New Data 2 */ + __IO CAN_RXF0C_Type RXF0C; /**< \brief Offset: 0xA0 (R/W 32) Rx FIFO 0 Configuration */ + __I CAN_RXF0S_Type RXF0S; /**< \brief Offset: 0xA4 (R/ 32) Rx FIFO 0 Status */ + __IO CAN_RXF0A_Type RXF0A; /**< \brief Offset: 0xA8 (R/W 32) Rx FIFO 0 Acknowledge */ + __IO CAN_RXBC_Type RXBC; /**< \brief Offset: 0xAC (R/W 32) Rx Buffer Configuration */ + __IO CAN_RXF1C_Type RXF1C; /**< \brief Offset: 0xB0 (R/W 32) Rx FIFO 1 Configuration */ + __I CAN_RXF1S_Type RXF1S; /**< \brief Offset: 0xB4 (R/ 32) Rx FIFO 1 Status */ + __IO CAN_RXF1A_Type RXF1A; /**< \brief Offset: 0xB8 (R/W 32) Rx FIFO 1 Acknowledge */ + __IO CAN_RXESC_Type RXESC; /**< \brief Offset: 0xBC (R/W 32) Rx Buffer / FIFO Element Size Configuration */ + __IO CAN_TXBC_Type TXBC; /**< \brief Offset: 0xC0 (R/W 32) Tx Buffer Configuration */ + __I CAN_TXFQS_Type TXFQS; /**< \brief Offset: 0xC4 (R/ 32) Tx FIFO / Queue Status */ + __IO CAN_TXESC_Type TXESC; /**< \brief Offset: 0xC8 (R/W 32) Tx Buffer Element Size Configuration */ + __I CAN_TXBRP_Type TXBRP; /**< \brief Offset: 0xCC (R/ 32) Tx Buffer Request Pending */ + __IO CAN_TXBAR_Type TXBAR; /**< \brief Offset: 0xD0 (R/W 32) Tx Buffer Add Request */ + __IO CAN_TXBCR_Type TXBCR; /**< \brief Offset: 0xD4 (R/W 32) Tx Buffer Cancellation Request */ + __I CAN_TXBTO_Type TXBTO; /**< \brief Offset: 0xD8 (R/ 32) Tx Buffer Transmission Occurred */ + __I CAN_TXBCF_Type TXBCF; /**< \brief Offset: 0xDC (R/ 32) Tx Buffer Cancellation Finished */ + __IO CAN_TXBTIE_Type TXBTIE; /**< \brief Offset: 0xE0 (R/W 32) Tx Buffer Transmission Interrupt Enable */ + __IO CAN_TXBCIE_Type TXBCIE; /**< \brief Offset: 0xE4 (R/W 32) Tx Buffer Cancellation Finished Interrupt Enable */ + RoReg8 Reserved5[0x8]; + __IO CAN_TXEFC_Type TXEFC; /**< \brief Offset: 0xF0 (R/W 32) Tx Event FIFO Configuration */ + __I CAN_TXEFS_Type TXEFS; /**< \brief Offset: 0xF4 (R/ 32) Tx Event FIFO Status */ + __IO CAN_TXEFA_Type TXEFA; /**< \brief Offset: 0xF8 (R/W 32) Tx Event FIFO Acknowledge */ +} Can; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/** \brief CAN Mram_rxbe hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO CAN_RXBE_0_Type RXBE_0; /**< \brief Offset: 0x00 (R/W 32) Rx Buffer Element 0 */ + __IO CAN_RXBE_1_Type RXBE_1; /**< \brief Offset: 0x04 (R/W 32) Rx Buffer Element 1 */ + __IO CAN_RXBE_DATA_Type RXBE_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx Buffer Element Data */ +} CanMramRxbe +#ifdef __GNUC__ + __attribute__ ((aligned (4))) +#endif +; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/** \brief CAN Mram_rxf0e hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO CAN_RXF0E_0_Type RXF0E_0; /**< \brief Offset: 0x00 (R/W 32) Rx FIFO 0 Element 0 */ + __IO CAN_RXF0E_1_Type RXF0E_1; /**< \brief Offset: 0x04 (R/W 32) Rx FIFO 0 Element 1 */ + __IO CAN_RXF0E_DATA_Type RXF0E_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx FIFO 0 Element Data */ +} CanMramRxf0e +#ifdef __GNUC__ + __attribute__ ((aligned (4))) +#endif +; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/** \brief CAN Mram_rxf1e hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO CAN_RXF1E_0_Type RXF1E_0; /**< \brief Offset: 0x00 (R/W 32) Rx FIFO 1 Element 0 */ + __IO CAN_RXF1E_1_Type RXF1E_1; /**< \brief Offset: 0x04 (R/W 32) Rx FIFO 1 Element 1 */ + __IO CAN_RXF1E_DATA_Type RXF1E_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Rx FIFO 1 Element Data */ +} CanMramRxf1e +#ifdef __GNUC__ + __attribute__ ((aligned (4))) +#endif +; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/** \brief CAN Mram_sidfe hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO CAN_SIDFE_0_Type SIDFE_0; /**< \brief Offset: 0x00 (R/W 32) Standard Message ID Filter Element */ +} CanMramSidfe +#ifdef __GNUC__ + __attribute__ ((aligned (4))) +#endif +; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/** \brief CAN Mram_txbe hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO CAN_TXBE_0_Type TXBE_0; /**< \brief Offset: 0x00 (R/W 32) Tx Buffer Element 0 */ + __IO CAN_TXBE_1_Type TXBE_1; /**< \brief Offset: 0x04 (R/W 32) Tx Buffer Element 1 */ + __IO CAN_TXBE_DATA_Type TXBE_DATA[16]; /**< \brief Offset: 0x08 (R/W 32) Tx Buffer Element Data */ +} CanMramTxbe +#ifdef __GNUC__ + __attribute__ ((aligned (4))) +#endif +; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/** \brief CAN Mram_txefe hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO CAN_TXEFE_0_Type TXEFE_0; /**< \brief Offset: 0x00 (R/W 32) Tx Event FIFO Element 0 */ + __IO CAN_TXEFE_1_Type TXEFE_1; /**< \brief Offset: 0x04 (R/W 32) Tx Event FIFO Element 1 */ +} CanMramTxefe +#ifdef __GNUC__ + __attribute__ ((aligned (4))) +#endif +; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/** \brief CAN Mram_xifde hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO CAN_XIDFE_0_Type XIDFE_0; /**< \brief Offset: 0x00 (R/W 32) Extended Message ID Filter Element 0 */ + __IO CAN_XIDFE_1_Type XIDFE_1; /**< \brief Offset: 0x04 (R/W 32) Extended Message ID Filter Element 1 */ +} CanMramXifde +#ifdef __GNUC__ + __attribute__ ((aligned (4))) +#endif +; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define SECTION_CAN_MRAM_RXBE + +#define SECTION_CAN_MRAM_RXF0E + +#define SECTION_CAN_MRAM_RXF1E + +#define SECTION_CAN_MRAM_SIDFE + +#define SECTION_CAN_MRAM_TXBE + +#define SECTION_CAN_MRAM_TXEFE + +#define SECTION_CAN_MRAM_XIFDE + +/*@}*/ + +#endif /* _SAME54_CAN_COMPONENT_ */ diff --git a/lib/same54/include/component/ccl.h b/lib/same54/include/component/ccl.h new file mode 100644 index 00000000..fd304cb1 --- /dev/null +++ b/lib/same54/include/component/ccl.h @@ -0,0 +1,227 @@ +/** + * \file + * + * \brief Component description for CCL + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_CCL_COMPONENT_ +#define _SAME54_CCL_COMPONENT_ + +/* ========================================================================== */ +/** SOFTWARE API DEFINITION FOR CCL */ +/* ========================================================================== */ +/** \addtogroup SAME54_CCL Configurable Custom Logic */ +/*@{*/ + +#define CCL_U2225 +#define REV_CCL 0x110 + +/* -------- CCL_CTRL : (CCL Offset: 0x0) (R/W 8) Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t SWRST:1; /*!< bit: 0 Software Reset */ + uint8_t ENABLE:1; /*!< bit: 1 Enable */ + uint8_t :4; /*!< bit: 2.. 5 Reserved */ + uint8_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */ + uint8_t :1; /*!< bit: 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} CCL_CTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CCL_CTRL_OFFSET 0x0 /**< \brief (CCL_CTRL offset) Control */ +#define CCL_CTRL_RESETVALUE _U_(0x00) /**< \brief (CCL_CTRL reset_value) Control */ + +#define CCL_CTRL_SWRST_Pos 0 /**< \brief (CCL_CTRL) Software Reset */ +#define CCL_CTRL_SWRST (_U_(0x1) << CCL_CTRL_SWRST_Pos) +#define CCL_CTRL_ENABLE_Pos 1 /**< \brief (CCL_CTRL) Enable */ +#define CCL_CTRL_ENABLE (_U_(0x1) << CCL_CTRL_ENABLE_Pos) +#define CCL_CTRL_RUNSTDBY_Pos 6 /**< \brief (CCL_CTRL) Run in Standby */ +#define CCL_CTRL_RUNSTDBY (_U_(0x1) << CCL_CTRL_RUNSTDBY_Pos) +#define CCL_CTRL_MASK _U_(0x43) /**< \brief (CCL_CTRL) MASK Register */ + +/* -------- CCL_SEQCTRL : (CCL Offset: 0x4) (R/W 8) SEQ Control x -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t SEQSEL:4; /*!< bit: 0.. 3 Sequential Selection */ + uint8_t :4; /*!< bit: 4.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} CCL_SEQCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CCL_SEQCTRL_OFFSET 0x4 /**< \brief (CCL_SEQCTRL offset) SEQ Control x */ +#define CCL_SEQCTRL_RESETVALUE _U_(0x00) /**< \brief (CCL_SEQCTRL reset_value) SEQ Control x */ + +#define CCL_SEQCTRL_SEQSEL_Pos 0 /**< \brief (CCL_SEQCTRL) Sequential Selection */ +#define CCL_SEQCTRL_SEQSEL_Msk (_U_(0xF) << CCL_SEQCTRL_SEQSEL_Pos) +#define CCL_SEQCTRL_SEQSEL(value) (CCL_SEQCTRL_SEQSEL_Msk & ((value) << CCL_SEQCTRL_SEQSEL_Pos)) +#define CCL_SEQCTRL_SEQSEL_DISABLE_Val _U_(0x0) /**< \brief (CCL_SEQCTRL) Sequential logic is disabled */ +#define CCL_SEQCTRL_SEQSEL_DFF_Val _U_(0x1) /**< \brief (CCL_SEQCTRL) D flip flop */ +#define CCL_SEQCTRL_SEQSEL_JK_Val _U_(0x2) /**< \brief (CCL_SEQCTRL) JK flip flop */ +#define CCL_SEQCTRL_SEQSEL_LATCH_Val _U_(0x3) /**< \brief (CCL_SEQCTRL) D latch */ +#define CCL_SEQCTRL_SEQSEL_RS_Val _U_(0x4) /**< \brief (CCL_SEQCTRL) RS latch */ +#define CCL_SEQCTRL_SEQSEL_DISABLE (CCL_SEQCTRL_SEQSEL_DISABLE_Val << CCL_SEQCTRL_SEQSEL_Pos) +#define CCL_SEQCTRL_SEQSEL_DFF (CCL_SEQCTRL_SEQSEL_DFF_Val << CCL_SEQCTRL_SEQSEL_Pos) +#define CCL_SEQCTRL_SEQSEL_JK (CCL_SEQCTRL_SEQSEL_JK_Val << CCL_SEQCTRL_SEQSEL_Pos) +#define CCL_SEQCTRL_SEQSEL_LATCH (CCL_SEQCTRL_SEQSEL_LATCH_Val << CCL_SEQCTRL_SEQSEL_Pos) +#define CCL_SEQCTRL_SEQSEL_RS (CCL_SEQCTRL_SEQSEL_RS_Val << CCL_SEQCTRL_SEQSEL_Pos) +#define CCL_SEQCTRL_MASK _U_(0x0F) /**< \brief (CCL_SEQCTRL) MASK Register */ + +/* -------- CCL_LUTCTRL : (CCL Offset: 0x8) (R/W 32) LUT Control x -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t :1; /*!< bit: 0 Reserved */ + uint32_t ENABLE:1; /*!< bit: 1 LUT Enable */ + uint32_t :2; /*!< bit: 2.. 3 Reserved */ + uint32_t FILTSEL:2; /*!< bit: 4.. 5 Filter Selection */ + uint32_t :1; /*!< bit: 6 Reserved */ + uint32_t EDGESEL:1; /*!< bit: 7 Edge Selection */ + uint32_t INSEL0:4; /*!< bit: 8..11 Input Selection 0 */ + uint32_t INSEL1:4; /*!< bit: 12..15 Input Selection 1 */ + uint32_t INSEL2:4; /*!< bit: 16..19 Input Selection 2 */ + uint32_t INVEI:1; /*!< bit: 20 Inverted Event Input Enable */ + uint32_t LUTEI:1; /*!< bit: 21 LUT Event Input Enable */ + uint32_t LUTEO:1; /*!< bit: 22 LUT Event Output Enable */ + uint32_t :1; /*!< bit: 23 Reserved */ + uint32_t TRUTH:8; /*!< bit: 24..31 Truth Value */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CCL_LUTCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CCL_LUTCTRL_OFFSET 0x8 /**< \brief (CCL_LUTCTRL offset) LUT Control x */ +#define CCL_LUTCTRL_RESETVALUE _U_(0x00000000) /**< \brief (CCL_LUTCTRL reset_value) LUT Control x */ + +#define CCL_LUTCTRL_ENABLE_Pos 1 /**< \brief (CCL_LUTCTRL) LUT Enable */ +#define CCL_LUTCTRL_ENABLE (_U_(0x1) << CCL_LUTCTRL_ENABLE_Pos) +#define CCL_LUTCTRL_FILTSEL_Pos 4 /**< \brief (CCL_LUTCTRL) Filter Selection */ +#define CCL_LUTCTRL_FILTSEL_Msk (_U_(0x3) << CCL_LUTCTRL_FILTSEL_Pos) +#define CCL_LUTCTRL_FILTSEL(value) (CCL_LUTCTRL_FILTSEL_Msk & ((value) << CCL_LUTCTRL_FILTSEL_Pos)) +#define CCL_LUTCTRL_FILTSEL_DISABLE_Val _U_(0x0) /**< \brief (CCL_LUTCTRL) Filter disabled */ +#define CCL_LUTCTRL_FILTSEL_SYNCH_Val _U_(0x1) /**< \brief (CCL_LUTCTRL) Synchronizer enabled */ +#define CCL_LUTCTRL_FILTSEL_FILTER_Val _U_(0x2) /**< \brief (CCL_LUTCTRL) Filter enabled */ +#define CCL_LUTCTRL_FILTSEL_DISABLE (CCL_LUTCTRL_FILTSEL_DISABLE_Val << CCL_LUTCTRL_FILTSEL_Pos) +#define CCL_LUTCTRL_FILTSEL_SYNCH (CCL_LUTCTRL_FILTSEL_SYNCH_Val << CCL_LUTCTRL_FILTSEL_Pos) +#define CCL_LUTCTRL_FILTSEL_FILTER (CCL_LUTCTRL_FILTSEL_FILTER_Val << CCL_LUTCTRL_FILTSEL_Pos) +#define CCL_LUTCTRL_EDGESEL_Pos 7 /**< \brief (CCL_LUTCTRL) Edge Selection */ +#define CCL_LUTCTRL_EDGESEL (_U_(0x1) << CCL_LUTCTRL_EDGESEL_Pos) +#define CCL_LUTCTRL_INSEL0_Pos 8 /**< \brief (CCL_LUTCTRL) Input Selection 0 */ +#define CCL_LUTCTRL_INSEL0_Msk (_U_(0xF) << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0(value) (CCL_LUTCTRL_INSEL0_Msk & ((value) << CCL_LUTCTRL_INSEL0_Pos)) +#define CCL_LUTCTRL_INSEL0_MASK_Val _U_(0x0) /**< \brief (CCL_LUTCTRL) Masked input */ +#define CCL_LUTCTRL_INSEL0_FEEDBACK_Val _U_(0x1) /**< \brief (CCL_LUTCTRL) Feedback input source */ +#define CCL_LUTCTRL_INSEL0_LINK_Val _U_(0x2) /**< \brief (CCL_LUTCTRL) Linked LUT input source */ +#define CCL_LUTCTRL_INSEL0_EVENT_Val _U_(0x3) /**< \brief (CCL_LUTCTRL) Event input source */ +#define CCL_LUTCTRL_INSEL0_IO_Val _U_(0x4) /**< \brief (CCL_LUTCTRL) I/O pin input source */ +#define CCL_LUTCTRL_INSEL0_AC_Val _U_(0x5) /**< \brief (CCL_LUTCTRL) AC input source */ +#define CCL_LUTCTRL_INSEL0_TC_Val _U_(0x6) /**< \brief (CCL_LUTCTRL) TC input source */ +#define CCL_LUTCTRL_INSEL0_ALTTC_Val _U_(0x7) /**< \brief (CCL_LUTCTRL) Alternate TC input source */ +#define CCL_LUTCTRL_INSEL0_TCC_Val _U_(0x8) /**< \brief (CCL_LUTCTRL) TCC input source */ +#define CCL_LUTCTRL_INSEL0_SERCOM_Val _U_(0x9) /**< \brief (CCL_LUTCTRL) SERCOM input source */ +#define CCL_LUTCTRL_INSEL0_MASK (CCL_LUTCTRL_INSEL0_MASK_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_FEEDBACK (CCL_LUTCTRL_INSEL0_FEEDBACK_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_LINK (CCL_LUTCTRL_INSEL0_LINK_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_EVENT (CCL_LUTCTRL_INSEL0_EVENT_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_IO (CCL_LUTCTRL_INSEL0_IO_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_AC (CCL_LUTCTRL_INSEL0_AC_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_TC (CCL_LUTCTRL_INSEL0_TC_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_ALTTC (CCL_LUTCTRL_INSEL0_ALTTC_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_TCC (CCL_LUTCTRL_INSEL0_TCC_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL0_SERCOM (CCL_LUTCTRL_INSEL0_SERCOM_Val << CCL_LUTCTRL_INSEL0_Pos) +#define CCL_LUTCTRL_INSEL1_Pos 12 /**< \brief (CCL_LUTCTRL) Input Selection 1 */ +#define CCL_LUTCTRL_INSEL1_Msk (_U_(0xF) << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1(value) (CCL_LUTCTRL_INSEL1_Msk & ((value) << CCL_LUTCTRL_INSEL1_Pos)) +#define CCL_LUTCTRL_INSEL1_MASK_Val _U_(0x0) /**< \brief (CCL_LUTCTRL) Masked input */ +#define CCL_LUTCTRL_INSEL1_FEEDBACK_Val _U_(0x1) /**< \brief (CCL_LUTCTRL) Feedback input source */ +#define CCL_LUTCTRL_INSEL1_LINK_Val _U_(0x2) /**< \brief (CCL_LUTCTRL) Linked LUT input source */ +#define CCL_LUTCTRL_INSEL1_EVENT_Val _U_(0x3) /**< \brief (CCL_LUTCTRL) Event input source */ +#define CCL_LUTCTRL_INSEL1_IO_Val _U_(0x4) /**< \brief (CCL_LUTCTRL) I/O pin input source */ +#define CCL_LUTCTRL_INSEL1_AC_Val _U_(0x5) /**< \brief (CCL_LUTCTRL) AC input source */ +#define CCL_LUTCTRL_INSEL1_TC_Val _U_(0x6) /**< \brief (CCL_LUTCTRL) TC input source */ +#define CCL_LUTCTRL_INSEL1_ALTTC_Val _U_(0x7) /**< \brief (CCL_LUTCTRL) Alternate TC input source */ +#define CCL_LUTCTRL_INSEL1_TCC_Val _U_(0x8) /**< \brief (CCL_LUTCTRL) TCC input source */ +#define CCL_LUTCTRL_INSEL1_SERCOM_Val _U_(0x9) /**< \brief (CCL_LUTCTRL) SERCOM input source */ +#define CCL_LUTCTRL_INSEL1_MASK (CCL_LUTCTRL_INSEL1_MASK_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_FEEDBACK (CCL_LUTCTRL_INSEL1_FEEDBACK_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_LINK (CCL_LUTCTRL_INSEL1_LINK_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_EVENT (CCL_LUTCTRL_INSEL1_EVENT_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_IO (CCL_LUTCTRL_INSEL1_IO_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_AC (CCL_LUTCTRL_INSEL1_AC_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_TC (CCL_LUTCTRL_INSEL1_TC_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_ALTTC (CCL_LUTCTRL_INSEL1_ALTTC_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_TCC (CCL_LUTCTRL_INSEL1_TCC_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL1_SERCOM (CCL_LUTCTRL_INSEL1_SERCOM_Val << CCL_LUTCTRL_INSEL1_Pos) +#define CCL_LUTCTRL_INSEL2_Pos 16 /**< \brief (CCL_LUTCTRL) Input Selection 2 */ +#define CCL_LUTCTRL_INSEL2_Msk (_U_(0xF) << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2(value) (CCL_LUTCTRL_INSEL2_Msk & ((value) << CCL_LUTCTRL_INSEL2_Pos)) +#define CCL_LUTCTRL_INSEL2_MASK_Val _U_(0x0) /**< \brief (CCL_LUTCTRL) Masked input */ +#define CCL_LUTCTRL_INSEL2_FEEDBACK_Val _U_(0x1) /**< \brief (CCL_LUTCTRL) Feedback input source */ +#define CCL_LUTCTRL_INSEL2_LINK_Val _U_(0x2) /**< \brief (CCL_LUTCTRL) Linked LUT input source */ +#define CCL_LUTCTRL_INSEL2_EVENT_Val _U_(0x3) /**< \brief (CCL_LUTCTRL) Event input source */ +#define CCL_LUTCTRL_INSEL2_IO_Val _U_(0x4) /**< \brief (CCL_LUTCTRL) I/O pin input source */ +#define CCL_LUTCTRL_INSEL2_AC_Val _U_(0x5) /**< \brief (CCL_LUTCTRL) AC input source */ +#define CCL_LUTCTRL_INSEL2_TC_Val _U_(0x6) /**< \brief (CCL_LUTCTRL) TC input source */ +#define CCL_LUTCTRL_INSEL2_ALTTC_Val _U_(0x7) /**< \brief (CCL_LUTCTRL) Alternate TC input source */ +#define CCL_LUTCTRL_INSEL2_TCC_Val _U_(0x8) /**< \brief (CCL_LUTCTRL) TCC input source */ +#define CCL_LUTCTRL_INSEL2_SERCOM_Val _U_(0x9) /**< \brief (CCL_LUTCTRL) SERCOM input source */ +#define CCL_LUTCTRL_INSEL2_MASK (CCL_LUTCTRL_INSEL2_MASK_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_FEEDBACK (CCL_LUTCTRL_INSEL2_FEEDBACK_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_LINK (CCL_LUTCTRL_INSEL2_LINK_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_EVENT (CCL_LUTCTRL_INSEL2_EVENT_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_IO (CCL_LUTCTRL_INSEL2_IO_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_AC (CCL_LUTCTRL_INSEL2_AC_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_TC (CCL_LUTCTRL_INSEL2_TC_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_ALTTC (CCL_LUTCTRL_INSEL2_ALTTC_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_TCC (CCL_LUTCTRL_INSEL2_TCC_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INSEL2_SERCOM (CCL_LUTCTRL_INSEL2_SERCOM_Val << CCL_LUTCTRL_INSEL2_Pos) +#define CCL_LUTCTRL_INVEI_Pos 20 /**< \brief (CCL_LUTCTRL) Inverted Event Input Enable */ +#define CCL_LUTCTRL_INVEI (_U_(0x1) << CCL_LUTCTRL_INVEI_Pos) +#define CCL_LUTCTRL_LUTEI_Pos 21 /**< \brief (CCL_LUTCTRL) LUT Event Input Enable */ +#define CCL_LUTCTRL_LUTEI (_U_(0x1) << CCL_LUTCTRL_LUTEI_Pos) +#define CCL_LUTCTRL_LUTEO_Pos 22 /**< \brief (CCL_LUTCTRL) LUT Event Output Enable */ +#define CCL_LUTCTRL_LUTEO (_U_(0x1) << CCL_LUTCTRL_LUTEO_Pos) +#define CCL_LUTCTRL_TRUTH_Pos 24 /**< \brief (CCL_LUTCTRL) Truth Value */ +#define CCL_LUTCTRL_TRUTH_Msk (_U_(0xFF) << CCL_LUTCTRL_TRUTH_Pos) +#define CCL_LUTCTRL_TRUTH(value) (CCL_LUTCTRL_TRUTH_Msk & ((value) << CCL_LUTCTRL_TRUTH_Pos)) +#define CCL_LUTCTRL_MASK _U_(0xFF7FFFB2) /**< \brief (CCL_LUTCTRL) MASK Register */ + +/** \brief CCL hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO CCL_CTRL_Type CTRL; /**< \brief Offset: 0x0 (R/W 8) Control */ + RoReg8 Reserved1[0x3]; + __IO CCL_SEQCTRL_Type SEQCTRL[2]; /**< \brief Offset: 0x4 (R/W 8) SEQ Control x */ + RoReg8 Reserved2[0x2]; + __IO CCL_LUTCTRL_Type LUTCTRL[4]; /**< \brief Offset: 0x8 (R/W 32) LUT Control x */ +} Ccl; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/*@}*/ + +#endif /* _SAME54_CCL_COMPONENT_ */ diff --git a/lib/same54/include/component/cmcc.h b/lib/same54/include/component/cmcc.h new file mode 100644 index 00000000..1303acd4 --- /dev/null +++ b/lib/same54/include/component/cmcc.h @@ -0,0 +1,356 @@ +/** + * \file + * + * \brief Component description for CMCC + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_CMCC_COMPONENT_ +#define _SAME54_CMCC_COMPONENT_ + +/* ========================================================================== */ +/** SOFTWARE API DEFINITION FOR CMCC */ +/* ========================================================================== */ +/** \addtogroup SAME54_CMCC Cortex M Cache Controller */ +/*@{*/ + +#define CMCC_U2015 +#define REV_CMCC 0x600 + +/* -------- CMCC_TYPE : (CMCC Offset: 0x00) (R/ 32) Cache Type Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t :1; /*!< bit: 0 Reserved */ + uint32_t GCLK:1; /*!< bit: 1 dynamic Clock Gating supported */ + uint32_t :2; /*!< bit: 2.. 3 Reserved */ + uint32_t RRP:1; /*!< bit: 4 Round Robin Policy supported */ + uint32_t WAYNUM:2; /*!< bit: 5.. 6 Number of Way */ + uint32_t LCKDOWN:1; /*!< bit: 7 Lock Down supported */ + uint32_t CSIZE:3; /*!< bit: 8..10 Cache Size */ + uint32_t CLSIZE:3; /*!< bit: 11..13 Cache Line Size */ + uint32_t :18; /*!< bit: 14..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_TYPE_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_TYPE_OFFSET 0x00 /**< \brief (CMCC_TYPE offset) Cache Type Register */ +#define CMCC_TYPE_RESETVALUE _U_(0x000012D2) /**< \brief (CMCC_TYPE reset_value) Cache Type Register */ + +#define CMCC_TYPE_GCLK_Pos 1 /**< \brief (CMCC_TYPE) dynamic Clock Gating supported */ +#define CMCC_TYPE_GCLK (_U_(0x1) << CMCC_TYPE_GCLK_Pos) +#define CMCC_TYPE_RRP_Pos 4 /**< \brief (CMCC_TYPE) Round Robin Policy supported */ +#define CMCC_TYPE_RRP (_U_(0x1) << CMCC_TYPE_RRP_Pos) +#define CMCC_TYPE_WAYNUM_Pos 5 /**< \brief (CMCC_TYPE) Number of Way */ +#define CMCC_TYPE_WAYNUM_Msk (_U_(0x3) << CMCC_TYPE_WAYNUM_Pos) +#define CMCC_TYPE_WAYNUM(value) (CMCC_TYPE_WAYNUM_Msk & ((value) << CMCC_TYPE_WAYNUM_Pos)) +#define CMCC_TYPE_WAYNUM_DMAPPED_Val _U_(0x0) /**< \brief (CMCC_TYPE) Direct Mapped Cache */ +#define CMCC_TYPE_WAYNUM_ARCH2WAY_Val _U_(0x1) /**< \brief (CMCC_TYPE) 2-WAY set associative */ +#define CMCC_TYPE_WAYNUM_ARCH4WAY_Val _U_(0x2) /**< \brief (CMCC_TYPE) 4-WAY set associative */ +#define CMCC_TYPE_WAYNUM_DMAPPED (CMCC_TYPE_WAYNUM_DMAPPED_Val << CMCC_TYPE_WAYNUM_Pos) +#define CMCC_TYPE_WAYNUM_ARCH2WAY (CMCC_TYPE_WAYNUM_ARCH2WAY_Val << CMCC_TYPE_WAYNUM_Pos) +#define CMCC_TYPE_WAYNUM_ARCH4WAY (CMCC_TYPE_WAYNUM_ARCH4WAY_Val << CMCC_TYPE_WAYNUM_Pos) +#define CMCC_TYPE_LCKDOWN_Pos 7 /**< \brief (CMCC_TYPE) Lock Down supported */ +#define CMCC_TYPE_LCKDOWN (_U_(0x1) << CMCC_TYPE_LCKDOWN_Pos) +#define CMCC_TYPE_CSIZE_Pos 8 /**< \brief (CMCC_TYPE) Cache Size */ +#define CMCC_TYPE_CSIZE_Msk (_U_(0x7) << CMCC_TYPE_CSIZE_Pos) +#define CMCC_TYPE_CSIZE(value) (CMCC_TYPE_CSIZE_Msk & ((value) << CMCC_TYPE_CSIZE_Pos)) +#define CMCC_TYPE_CSIZE_CSIZE_1KB_Val _U_(0x0) /**< \brief (CMCC_TYPE) Cache Size is 1 KB */ +#define CMCC_TYPE_CSIZE_CSIZE_2KB_Val _U_(0x1) /**< \brief (CMCC_TYPE) Cache Size is 2 KB */ +#define CMCC_TYPE_CSIZE_CSIZE_4KB_Val _U_(0x2) /**< \brief (CMCC_TYPE) Cache Size is 4 KB */ +#define CMCC_TYPE_CSIZE_CSIZE_8KB_Val _U_(0x3) /**< \brief (CMCC_TYPE) Cache Size is 8 KB */ +#define CMCC_TYPE_CSIZE_CSIZE_16KB_Val _U_(0x4) /**< \brief (CMCC_TYPE) Cache Size is 16 KB */ +#define CMCC_TYPE_CSIZE_CSIZE_32KB_Val _U_(0x5) /**< \brief (CMCC_TYPE) Cache Size is 32 KB */ +#define CMCC_TYPE_CSIZE_CSIZE_64KB_Val _U_(0x6) /**< \brief (CMCC_TYPE) Cache Size is 64 KB */ +#define CMCC_TYPE_CSIZE_CSIZE_1KB (CMCC_TYPE_CSIZE_CSIZE_1KB_Val << CMCC_TYPE_CSIZE_Pos) +#define CMCC_TYPE_CSIZE_CSIZE_2KB (CMCC_TYPE_CSIZE_CSIZE_2KB_Val << CMCC_TYPE_CSIZE_Pos) +#define CMCC_TYPE_CSIZE_CSIZE_4KB (CMCC_TYPE_CSIZE_CSIZE_4KB_Val << CMCC_TYPE_CSIZE_Pos) +#define CMCC_TYPE_CSIZE_CSIZE_8KB (CMCC_TYPE_CSIZE_CSIZE_8KB_Val << CMCC_TYPE_CSIZE_Pos) +#define CMCC_TYPE_CSIZE_CSIZE_16KB (CMCC_TYPE_CSIZE_CSIZE_16KB_Val << CMCC_TYPE_CSIZE_Pos) +#define CMCC_TYPE_CSIZE_CSIZE_32KB (CMCC_TYPE_CSIZE_CSIZE_32KB_Val << CMCC_TYPE_CSIZE_Pos) +#define CMCC_TYPE_CSIZE_CSIZE_64KB (CMCC_TYPE_CSIZE_CSIZE_64KB_Val << CMCC_TYPE_CSIZE_Pos) +#define CMCC_TYPE_CLSIZE_Pos 11 /**< \brief (CMCC_TYPE) Cache Line Size */ +#define CMCC_TYPE_CLSIZE_Msk (_U_(0x7) << CMCC_TYPE_CLSIZE_Pos) +#define CMCC_TYPE_CLSIZE(value) (CMCC_TYPE_CLSIZE_Msk & ((value) << CMCC_TYPE_CLSIZE_Pos)) +#define CMCC_TYPE_CLSIZE_CLSIZE_4B_Val _U_(0x0) /**< \brief (CMCC_TYPE) Cache Line Size is 4 bytes */ +#define CMCC_TYPE_CLSIZE_CLSIZE_8B_Val _U_(0x1) /**< \brief (CMCC_TYPE) Cache Line Size is 8 bytes */ +#define CMCC_TYPE_CLSIZE_CLSIZE_16B_Val _U_(0x2) /**< \brief (CMCC_TYPE) Cache Line Size is 16 bytes */ +#define CMCC_TYPE_CLSIZE_CLSIZE_32B_Val _U_(0x3) /**< \brief (CMCC_TYPE) Cache Line Size is 32 bytes */ +#define CMCC_TYPE_CLSIZE_CLSIZE_64B_Val _U_(0x4) /**< \brief (CMCC_TYPE) Cache Line Size is 64 bytes */ +#define CMCC_TYPE_CLSIZE_CLSIZE_128B_Val _U_(0x5) /**< \brief (CMCC_TYPE) Cache Line Size is 128 bytes */ +#define CMCC_TYPE_CLSIZE_CLSIZE_4B (CMCC_TYPE_CLSIZE_CLSIZE_4B_Val << CMCC_TYPE_CLSIZE_Pos) +#define CMCC_TYPE_CLSIZE_CLSIZE_8B (CMCC_TYPE_CLSIZE_CLSIZE_8B_Val << CMCC_TYPE_CLSIZE_Pos) +#define CMCC_TYPE_CLSIZE_CLSIZE_16B (CMCC_TYPE_CLSIZE_CLSIZE_16B_Val << CMCC_TYPE_CLSIZE_Pos) +#define CMCC_TYPE_CLSIZE_CLSIZE_32B (CMCC_TYPE_CLSIZE_CLSIZE_32B_Val << CMCC_TYPE_CLSIZE_Pos) +#define CMCC_TYPE_CLSIZE_CLSIZE_64B (CMCC_TYPE_CLSIZE_CLSIZE_64B_Val << CMCC_TYPE_CLSIZE_Pos) +#define CMCC_TYPE_CLSIZE_CLSIZE_128B (CMCC_TYPE_CLSIZE_CLSIZE_128B_Val << CMCC_TYPE_CLSIZE_Pos) +#define CMCC_TYPE_MASK _U_(0x00003FF2) /**< \brief (CMCC_TYPE) MASK Register */ + +/* -------- CMCC_CFG : (CMCC Offset: 0x04) (R/W 32) Cache Configuration Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t :1; /*!< bit: 0 Reserved */ + uint32_t ICDIS:1; /*!< bit: 1 Instruction Cache Disable */ + uint32_t DCDIS:1; /*!< bit: 2 Data Cache Disable */ + uint32_t :1; /*!< bit: 3 Reserved */ + uint32_t CSIZESW:3; /*!< bit: 4.. 6 Cache size configured by software */ + uint32_t :25; /*!< bit: 7..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_CFG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_CFG_OFFSET 0x04 /**< \brief (CMCC_CFG offset) Cache Configuration Register */ +#define CMCC_CFG_RESETVALUE _U_(0x00000020) /**< \brief (CMCC_CFG reset_value) Cache Configuration Register */ + +#define CMCC_CFG_ICDIS_Pos 1 /**< \brief (CMCC_CFG) Instruction Cache Disable */ +#define CMCC_CFG_ICDIS (_U_(0x1) << CMCC_CFG_ICDIS_Pos) +#define CMCC_CFG_DCDIS_Pos 2 /**< \brief (CMCC_CFG) Data Cache Disable */ +#define CMCC_CFG_DCDIS (_U_(0x1) << CMCC_CFG_DCDIS_Pos) +#define CMCC_CFG_CSIZESW_Pos 4 /**< \brief (CMCC_CFG) Cache size configured by software */ +#define CMCC_CFG_CSIZESW_Msk (_U_(0x7) << CMCC_CFG_CSIZESW_Pos) +#define CMCC_CFG_CSIZESW(value) (CMCC_CFG_CSIZESW_Msk & ((value) << CMCC_CFG_CSIZESW_Pos)) +#define CMCC_CFG_CSIZESW_CONF_CSIZE_1KB_Val _U_(0x0) /**< \brief (CMCC_CFG) the Cache Size is configured to 1KB */ +#define CMCC_CFG_CSIZESW_CONF_CSIZE_2KB_Val _U_(0x1) /**< \brief (CMCC_CFG) the Cache Size is configured to 2KB */ +#define CMCC_CFG_CSIZESW_CONF_CSIZE_4KB_Val _U_(0x2) /**< \brief (CMCC_CFG) the Cache Size is configured to 4KB */ +#define CMCC_CFG_CSIZESW_CONF_CSIZE_8KB_Val _U_(0x3) /**< \brief (CMCC_CFG) the Cache Size is configured to 8KB */ +#define CMCC_CFG_CSIZESW_CONF_CSIZE_16KB_Val _U_(0x4) /**< \brief (CMCC_CFG) the Cache Size is configured to 16KB */ +#define CMCC_CFG_CSIZESW_CONF_CSIZE_32KB_Val _U_(0x5) /**< \brief (CMCC_CFG) the Cache Size is configured to 32KB */ +#define CMCC_CFG_CSIZESW_CONF_CSIZE_64KB_Val _U_(0x6) /**< \brief (CMCC_CFG) the Cache Size is configured to 64KB */ +#define CMCC_CFG_CSIZESW_CONF_CSIZE_1KB (CMCC_CFG_CSIZESW_CONF_CSIZE_1KB_Val << CMCC_CFG_CSIZESW_Pos) +#define CMCC_CFG_CSIZESW_CONF_CSIZE_2KB (CMCC_CFG_CSIZESW_CONF_CSIZE_2KB_Val << CMCC_CFG_CSIZESW_Pos) +#define CMCC_CFG_CSIZESW_CONF_CSIZE_4KB (CMCC_CFG_CSIZESW_CONF_CSIZE_4KB_Val << CMCC_CFG_CSIZESW_Pos) +#define CMCC_CFG_CSIZESW_CONF_CSIZE_8KB (CMCC_CFG_CSIZESW_CONF_CSIZE_8KB_Val << CMCC_CFG_CSIZESW_Pos) +#define CMCC_CFG_CSIZESW_CONF_CSIZE_16KB (CMCC_CFG_CSIZESW_CONF_CSIZE_16KB_Val << CMCC_CFG_CSIZESW_Pos) +#define CMCC_CFG_CSIZESW_CONF_CSIZE_32KB (CMCC_CFG_CSIZESW_CONF_CSIZE_32KB_Val << CMCC_CFG_CSIZESW_Pos) +#define CMCC_CFG_CSIZESW_CONF_CSIZE_64KB (CMCC_CFG_CSIZESW_CONF_CSIZE_64KB_Val << CMCC_CFG_CSIZESW_Pos) +#define CMCC_CFG_MASK _U_(0x00000076) /**< \brief (CMCC_CFG) MASK Register */ + +/* -------- CMCC_CTRL : (CMCC Offset: 0x08) ( /W 32) Cache Control Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t CEN:1; /*!< bit: 0 Cache Controller Enable */ + uint32_t :31; /*!< bit: 1..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_CTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_CTRL_OFFSET 0x08 /**< \brief (CMCC_CTRL offset) Cache Control Register */ +#define CMCC_CTRL_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_CTRL reset_value) Cache Control Register */ + +#define CMCC_CTRL_CEN_Pos 0 /**< \brief (CMCC_CTRL) Cache Controller Enable */ +#define CMCC_CTRL_CEN (_U_(0x1) << CMCC_CTRL_CEN_Pos) +#define CMCC_CTRL_MASK _U_(0x00000001) /**< \brief (CMCC_CTRL) MASK Register */ + +/* -------- CMCC_SR : (CMCC Offset: 0x0C) (R/ 32) Cache Status Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t CSTS:1; /*!< bit: 0 Cache Controller Status */ + uint32_t :31; /*!< bit: 1..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_SR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_SR_OFFSET 0x0C /**< \brief (CMCC_SR offset) Cache Status Register */ +#define CMCC_SR_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_SR reset_value) Cache Status Register */ + +#define CMCC_SR_CSTS_Pos 0 /**< \brief (CMCC_SR) Cache Controller Status */ +#define CMCC_SR_CSTS (_U_(0x1) << CMCC_SR_CSTS_Pos) +#define CMCC_SR_MASK _U_(0x00000001) /**< \brief (CMCC_SR) MASK Register */ + +/* -------- CMCC_LCKWAY : (CMCC Offset: 0x10) (R/W 32) Cache Lock per Way Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t LCKWAY:4; /*!< bit: 0.. 3 Lockdown way Register */ + uint32_t :28; /*!< bit: 4..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_LCKWAY_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_LCKWAY_OFFSET 0x10 /**< \brief (CMCC_LCKWAY offset) Cache Lock per Way Register */ +#define CMCC_LCKWAY_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_LCKWAY reset_value) Cache Lock per Way Register */ + +#define CMCC_LCKWAY_LCKWAY_Pos 0 /**< \brief (CMCC_LCKWAY) Lockdown way Register */ +#define CMCC_LCKWAY_LCKWAY_Msk (_U_(0xF) << CMCC_LCKWAY_LCKWAY_Pos) +#define CMCC_LCKWAY_LCKWAY(value) (CMCC_LCKWAY_LCKWAY_Msk & ((value) << CMCC_LCKWAY_LCKWAY_Pos)) +#define CMCC_LCKWAY_MASK _U_(0x0000000F) /**< \brief (CMCC_LCKWAY) MASK Register */ + +/* -------- CMCC_MAINT0 : (CMCC Offset: 0x20) ( /W 32) Cache Maintenance Register 0 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t INVALL:1; /*!< bit: 0 Cache Controller invalidate All */ + uint32_t :31; /*!< bit: 1..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_MAINT0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_MAINT0_OFFSET 0x20 /**< \brief (CMCC_MAINT0 offset) Cache Maintenance Register 0 */ +#define CMCC_MAINT0_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MAINT0 reset_value) Cache Maintenance Register 0 */ + +#define CMCC_MAINT0_INVALL_Pos 0 /**< \brief (CMCC_MAINT0) Cache Controller invalidate All */ +#define CMCC_MAINT0_INVALL (_U_(0x1) << CMCC_MAINT0_INVALL_Pos) +#define CMCC_MAINT0_MASK _U_(0x00000001) /**< \brief (CMCC_MAINT0) MASK Register */ + +/* -------- CMCC_MAINT1 : (CMCC Offset: 0x24) ( /W 32) Cache Maintenance Register 1 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t :4; /*!< bit: 0.. 3 Reserved */ + uint32_t INDEX:8; /*!< bit: 4..11 Invalidate Index */ + uint32_t :16; /*!< bit: 12..27 Reserved */ + uint32_t WAY:4; /*!< bit: 28..31 Invalidate Way */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_MAINT1_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_MAINT1_OFFSET 0x24 /**< \brief (CMCC_MAINT1 offset) Cache Maintenance Register 1 */ +#define CMCC_MAINT1_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MAINT1 reset_value) Cache Maintenance Register 1 */ + +#define CMCC_MAINT1_INDEX_Pos 4 /**< \brief (CMCC_MAINT1) Invalidate Index */ +#define CMCC_MAINT1_INDEX_Msk (_U_(0xFF) << CMCC_MAINT1_INDEX_Pos) +#define CMCC_MAINT1_INDEX(value) (CMCC_MAINT1_INDEX_Msk & ((value) << CMCC_MAINT1_INDEX_Pos)) +#define CMCC_MAINT1_WAY_Pos 28 /**< \brief (CMCC_MAINT1) Invalidate Way */ +#define CMCC_MAINT1_WAY_Msk (_U_(0xF) << CMCC_MAINT1_WAY_Pos) +#define CMCC_MAINT1_WAY(value) (CMCC_MAINT1_WAY_Msk & ((value) << CMCC_MAINT1_WAY_Pos)) +#define CMCC_MAINT1_WAY_WAY0_Val _U_(0x0) /**< \brief (CMCC_MAINT1) Way 0 is selection for index invalidation */ +#define CMCC_MAINT1_WAY_WAY1_Val _U_(0x1) /**< \brief (CMCC_MAINT1) Way 1 is selection for index invalidation */ +#define CMCC_MAINT1_WAY_WAY2_Val _U_(0x2) /**< \brief (CMCC_MAINT1) Way 2 is selection for index invalidation */ +#define CMCC_MAINT1_WAY_WAY3_Val _U_(0x3) /**< \brief (CMCC_MAINT1) Way 3 is selection for index invalidation */ +#define CMCC_MAINT1_WAY_WAY0 (CMCC_MAINT1_WAY_WAY0_Val << CMCC_MAINT1_WAY_Pos) +#define CMCC_MAINT1_WAY_WAY1 (CMCC_MAINT1_WAY_WAY1_Val << CMCC_MAINT1_WAY_Pos) +#define CMCC_MAINT1_WAY_WAY2 (CMCC_MAINT1_WAY_WAY2_Val << CMCC_MAINT1_WAY_Pos) +#define CMCC_MAINT1_WAY_WAY3 (CMCC_MAINT1_WAY_WAY3_Val << CMCC_MAINT1_WAY_Pos) +#define CMCC_MAINT1_MASK _U_(0xF0000FF0) /**< \brief (CMCC_MAINT1) MASK Register */ + +/* -------- CMCC_MCFG : (CMCC Offset: 0x28) (R/W 32) Cache Monitor Configuration Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t MODE:2; /*!< bit: 0.. 1 Cache Controller Monitor Counter Mode */ + uint32_t :30; /*!< bit: 2..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_MCFG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_MCFG_OFFSET 0x28 /**< \brief (CMCC_MCFG offset) Cache Monitor Configuration Register */ +#define CMCC_MCFG_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MCFG reset_value) Cache Monitor Configuration Register */ + +#define CMCC_MCFG_MODE_Pos 0 /**< \brief (CMCC_MCFG) Cache Controller Monitor Counter Mode */ +#define CMCC_MCFG_MODE_Msk (_U_(0x3) << CMCC_MCFG_MODE_Pos) +#define CMCC_MCFG_MODE(value) (CMCC_MCFG_MODE_Msk & ((value) << CMCC_MCFG_MODE_Pos)) +#define CMCC_MCFG_MODE_CYCLE_COUNT_Val _U_(0x0) /**< \brief (CMCC_MCFG) cycle counter */ +#define CMCC_MCFG_MODE_IHIT_COUNT_Val _U_(0x1) /**< \brief (CMCC_MCFG) instruction hit counter */ +#define CMCC_MCFG_MODE_DHIT_COUNT_Val _U_(0x2) /**< \brief (CMCC_MCFG) data hit counter */ +#define CMCC_MCFG_MODE_CYCLE_COUNT (CMCC_MCFG_MODE_CYCLE_COUNT_Val << CMCC_MCFG_MODE_Pos) +#define CMCC_MCFG_MODE_IHIT_COUNT (CMCC_MCFG_MODE_IHIT_COUNT_Val << CMCC_MCFG_MODE_Pos) +#define CMCC_MCFG_MODE_DHIT_COUNT (CMCC_MCFG_MODE_DHIT_COUNT_Val << CMCC_MCFG_MODE_Pos) +#define CMCC_MCFG_MASK _U_(0x00000003) /**< \brief (CMCC_MCFG) MASK Register */ + +/* -------- CMCC_MEN : (CMCC Offset: 0x2C) (R/W 32) Cache Monitor Enable Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t MENABLE:1; /*!< bit: 0 Cache Controller Monitor Enable */ + uint32_t :31; /*!< bit: 1..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_MEN_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_MEN_OFFSET 0x2C /**< \brief (CMCC_MEN offset) Cache Monitor Enable Register */ +#define CMCC_MEN_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MEN reset_value) Cache Monitor Enable Register */ + +#define CMCC_MEN_MENABLE_Pos 0 /**< \brief (CMCC_MEN) Cache Controller Monitor Enable */ +#define CMCC_MEN_MENABLE (_U_(0x1) << CMCC_MEN_MENABLE_Pos) +#define CMCC_MEN_MASK _U_(0x00000001) /**< \brief (CMCC_MEN) MASK Register */ + +/* -------- CMCC_MCTRL : (CMCC Offset: 0x30) ( /W 32) Cache Monitor Control Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t SWRST:1; /*!< bit: 0 Cache Controller Software Reset */ + uint32_t :31; /*!< bit: 1..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_MCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_MCTRL_OFFSET 0x30 /**< \brief (CMCC_MCTRL offset) Cache Monitor Control Register */ +#define CMCC_MCTRL_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MCTRL reset_value) Cache Monitor Control Register */ + +#define CMCC_MCTRL_SWRST_Pos 0 /**< \brief (CMCC_MCTRL) Cache Controller Software Reset */ +#define CMCC_MCTRL_SWRST (_U_(0x1) << CMCC_MCTRL_SWRST_Pos) +#define CMCC_MCTRL_MASK _U_(0x00000001) /**< \brief (CMCC_MCTRL) MASK Register */ + +/* -------- CMCC_MSR : (CMCC Offset: 0x34) (R/ 32) Cache Monitor Status Register -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t EVENT_CNT:32; /*!< bit: 0..31 Monitor Event Counter */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} CMCC_MSR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define CMCC_MSR_OFFSET 0x34 /**< \brief (CMCC_MSR offset) Cache Monitor Status Register */ +#define CMCC_MSR_RESETVALUE _U_(0x00000000) /**< \brief (CMCC_MSR reset_value) Cache Monitor Status Register */ + +#define CMCC_MSR_EVENT_CNT_Pos 0 /**< \brief (CMCC_MSR) Monitor Event Counter */ +#define CMCC_MSR_EVENT_CNT_Msk (_U_(0xFFFFFFFF) << CMCC_MSR_EVENT_CNT_Pos) +#define CMCC_MSR_EVENT_CNT(value) (CMCC_MSR_EVENT_CNT_Msk & ((value) << CMCC_MSR_EVENT_CNT_Pos)) +#define CMCC_MSR_MASK _U_(0xFFFFFFFF) /**< \brief (CMCC_MSR) MASK Register */ + +/** \brief CMCC APB hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __I CMCC_TYPE_Type TYPE; /**< \brief Offset: 0x00 (R/ 32) Cache Type Register */ + __IO CMCC_CFG_Type CFG; /**< \brief Offset: 0x04 (R/W 32) Cache Configuration Register */ + __O CMCC_CTRL_Type CTRL; /**< \brief Offset: 0x08 ( /W 32) Cache Control Register */ + __I CMCC_SR_Type SR; /**< \brief Offset: 0x0C (R/ 32) Cache Status Register */ + __IO CMCC_LCKWAY_Type LCKWAY; /**< \brief Offset: 0x10 (R/W 32) Cache Lock per Way Register */ + RoReg8 Reserved1[0xC]; + __O CMCC_MAINT0_Type MAINT0; /**< \brief Offset: 0x20 ( /W 32) Cache Maintenance Register 0 */ + __O CMCC_MAINT1_Type MAINT1; /**< \brief Offset: 0x24 ( /W 32) Cache Maintenance Register 1 */ + __IO CMCC_MCFG_Type MCFG; /**< \brief Offset: 0x28 (R/W 32) Cache Monitor Configuration Register */ + __IO CMCC_MEN_Type MEN; /**< \brief Offset: 0x2C (R/W 32) Cache Monitor Enable Register */ + __O CMCC_MCTRL_Type MCTRL; /**< \brief Offset: 0x30 ( /W 32) Cache Monitor Control Register */ + __I CMCC_MSR_Type MSR; /**< \brief Offset: 0x34 (R/ 32) Cache Monitor Status Register */ +} Cmcc; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/*@}*/ + +#endif /* _SAME54_CMCC_COMPONENT_ */ diff --git a/lib/same54/include/component/dac.h b/lib/same54/include/component/dac.h new file mode 100644 index 00000000..b357ad7a --- /dev/null +++ b/lib/same54/include/component/dac.h @@ -0,0 +1,543 @@ +/** + * \file + * + * \brief Component description for DAC + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_DAC_COMPONENT_ +#define _SAME54_DAC_COMPONENT_ + +/* ========================================================================== */ +/** SOFTWARE API DEFINITION FOR DAC */ +/* ========================================================================== */ +/** \addtogroup SAME54_DAC Digital-to-Analog Converter */ +/*@{*/ + +#define DAC_U2502 +#define REV_DAC 0x100 + +/* -------- DAC_CTRLA : (DAC Offset: 0x00) (R/W 8) Control A -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t SWRST:1; /*!< bit: 0 Software Reset */ + uint8_t ENABLE:1; /*!< bit: 1 Enable DAC Controller */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DAC_CTRLA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_CTRLA_OFFSET 0x00 /**< \brief (DAC_CTRLA offset) Control A */ +#define DAC_CTRLA_RESETVALUE _U_(0x00) /**< \brief (DAC_CTRLA reset_value) Control A */ + +#define DAC_CTRLA_SWRST_Pos 0 /**< \brief (DAC_CTRLA) Software Reset */ +#define DAC_CTRLA_SWRST (_U_(0x1) << DAC_CTRLA_SWRST_Pos) +#define DAC_CTRLA_ENABLE_Pos 1 /**< \brief (DAC_CTRLA) Enable DAC Controller */ +#define DAC_CTRLA_ENABLE (_U_(0x1) << DAC_CTRLA_ENABLE_Pos) +#define DAC_CTRLA_MASK _U_(0x03) /**< \brief (DAC_CTRLA) MASK Register */ + +/* -------- DAC_CTRLB : (DAC Offset: 0x01) (R/W 8) Control B -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t DIFF:1; /*!< bit: 0 Differential mode enable */ + uint8_t REFSEL:2; /*!< bit: 1.. 2 Reference Selection for DAC0/1 */ + uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DAC_CTRLB_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_CTRLB_OFFSET 0x01 /**< \brief (DAC_CTRLB offset) Control B */ +#define DAC_CTRLB_RESETVALUE _U_(0x02) /**< \brief (DAC_CTRLB reset_value) Control B */ + +#define DAC_CTRLB_DIFF_Pos 0 /**< \brief (DAC_CTRLB) Differential mode enable */ +#define DAC_CTRLB_DIFF (_U_(0x1) << DAC_CTRLB_DIFF_Pos) +#define DAC_CTRLB_REFSEL_Pos 1 /**< \brief (DAC_CTRLB) Reference Selection for DAC0/1 */ +#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_VREFPU_Val _U_(0x0) /**< \brief (DAC_CTRLB) External reference unbuffered */ +#define DAC_CTRLB_REFSEL_VDDANA_Val _U_(0x1) /**< \brief (DAC_CTRLB) Analog supply */ +#define DAC_CTRLB_REFSEL_VREFPB_Val _U_(0x2) /**< \brief (DAC_CTRLB) External reference buffered */ +#define DAC_CTRLB_REFSEL_INTREF_Val _U_(0x3) /**< \brief (DAC_CTRLB) Internal bandgap reference */ +#define DAC_CTRLB_REFSEL_VREFPU (DAC_CTRLB_REFSEL_VREFPU_Val << DAC_CTRLB_REFSEL_Pos) +#define DAC_CTRLB_REFSEL_VDDANA (DAC_CTRLB_REFSEL_VDDANA_Val << DAC_CTRLB_REFSEL_Pos) +#define DAC_CTRLB_REFSEL_VREFPB (DAC_CTRLB_REFSEL_VREFPB_Val << DAC_CTRLB_REFSEL_Pos) +#define DAC_CTRLB_REFSEL_INTREF (DAC_CTRLB_REFSEL_INTREF_Val << DAC_CTRLB_REFSEL_Pos) +#define DAC_CTRLB_MASK _U_(0x07) /**< \brief (DAC_CTRLB) MASK Register */ + +/* -------- DAC_EVCTRL : (DAC Offset: 0x02) (R/W 8) Event Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t STARTEI0:1; /*!< bit: 0 Start Conversion Event Input DAC 0 */ + uint8_t STARTEI1:1; /*!< bit: 1 Start Conversion Event Input DAC 1 */ + uint8_t EMPTYEO0:1; /*!< bit: 2 Data Buffer Empty Event Output DAC 0 */ + uint8_t EMPTYEO1:1; /*!< bit: 3 Data Buffer Empty Event Output DAC 1 */ + uint8_t INVEI0:1; /*!< bit: 4 Enable Invertion of DAC 0 input event */ + uint8_t INVEI1:1; /*!< bit: 5 Enable Invertion of DAC 1 input event */ + uint8_t RESRDYEO0:1; /*!< bit: 6 Result Ready Event Output 0 */ + uint8_t RESRDYEO1:1; /*!< bit: 7 Result Ready Event Output 1 */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t STARTEI:2; /*!< bit: 0.. 1 Start Conversion Event Input DAC x */ + uint8_t EMPTYEO:2; /*!< bit: 2.. 3 Data Buffer Empty Event Output DAC x */ + uint8_t INVEI:2; /*!< bit: 4.. 5 Enable Invertion of DAC x input event */ + uint8_t RESRDYEO:2; /*!< bit: 6.. 7 Result Ready Event Output x */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} DAC_EVCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_EVCTRL_OFFSET 0x02 /**< \brief (DAC_EVCTRL offset) Event Control */ +#define DAC_EVCTRL_RESETVALUE _U_(0x00) /**< \brief (DAC_EVCTRL reset_value) Event Control */ + +#define DAC_EVCTRL_STARTEI0_Pos 0 /**< \brief (DAC_EVCTRL) Start Conversion Event Input DAC 0 */ +#define DAC_EVCTRL_STARTEI0 (_U_(1) << DAC_EVCTRL_STARTEI0_Pos) +#define DAC_EVCTRL_STARTEI1_Pos 1 /**< \brief (DAC_EVCTRL) Start Conversion Event Input DAC 1 */ +#define DAC_EVCTRL_STARTEI1 (_U_(1) << DAC_EVCTRL_STARTEI1_Pos) +#define DAC_EVCTRL_STARTEI_Pos 0 /**< \brief (DAC_EVCTRL) Start Conversion Event Input DAC x */ +#define DAC_EVCTRL_STARTEI_Msk (_U_(0x3) << DAC_EVCTRL_STARTEI_Pos) +#define DAC_EVCTRL_STARTEI(value) (DAC_EVCTRL_STARTEI_Msk & ((value) << DAC_EVCTRL_STARTEI_Pos)) +#define DAC_EVCTRL_EMPTYEO0_Pos 2 /**< \brief (DAC_EVCTRL) Data Buffer Empty Event Output DAC 0 */ +#define DAC_EVCTRL_EMPTYEO0 (_U_(1) << DAC_EVCTRL_EMPTYEO0_Pos) +#define DAC_EVCTRL_EMPTYEO1_Pos 3 /**< \brief (DAC_EVCTRL) Data Buffer Empty Event Output DAC 1 */ +#define DAC_EVCTRL_EMPTYEO1 (_U_(1) << DAC_EVCTRL_EMPTYEO1_Pos) +#define DAC_EVCTRL_EMPTYEO_Pos 2 /**< \brief (DAC_EVCTRL) Data Buffer Empty Event Output DAC x */ +#define DAC_EVCTRL_EMPTYEO_Msk (_U_(0x3) << DAC_EVCTRL_EMPTYEO_Pos) +#define DAC_EVCTRL_EMPTYEO(value) (DAC_EVCTRL_EMPTYEO_Msk & ((value) << DAC_EVCTRL_EMPTYEO_Pos)) +#define DAC_EVCTRL_INVEI0_Pos 4 /**< \brief (DAC_EVCTRL) Enable Invertion of DAC 0 input event */ +#define DAC_EVCTRL_INVEI0 (_U_(1) << DAC_EVCTRL_INVEI0_Pos) +#define DAC_EVCTRL_INVEI1_Pos 5 /**< \brief (DAC_EVCTRL) Enable Invertion of DAC 1 input event */ +#define DAC_EVCTRL_INVEI1 (_U_(1) << DAC_EVCTRL_INVEI1_Pos) +#define DAC_EVCTRL_INVEI_Pos 4 /**< \brief (DAC_EVCTRL) Enable Invertion of DAC x input event */ +#define DAC_EVCTRL_INVEI_Msk (_U_(0x3) << DAC_EVCTRL_INVEI_Pos) +#define DAC_EVCTRL_INVEI(value) (DAC_EVCTRL_INVEI_Msk & ((value) << DAC_EVCTRL_INVEI_Pos)) +#define DAC_EVCTRL_RESRDYEO0_Pos 6 /**< \brief (DAC_EVCTRL) Result Ready Event Output 0 */ +#define DAC_EVCTRL_RESRDYEO0 (_U_(1) << DAC_EVCTRL_RESRDYEO0_Pos) +#define DAC_EVCTRL_RESRDYEO1_Pos 7 /**< \brief (DAC_EVCTRL) Result Ready Event Output 1 */ +#define DAC_EVCTRL_RESRDYEO1 (_U_(1) << DAC_EVCTRL_RESRDYEO1_Pos) +#define DAC_EVCTRL_RESRDYEO_Pos 6 /**< \brief (DAC_EVCTRL) Result Ready Event Output x */ +#define DAC_EVCTRL_RESRDYEO_Msk (_U_(0x3) << DAC_EVCTRL_RESRDYEO_Pos) +#define DAC_EVCTRL_RESRDYEO(value) (DAC_EVCTRL_RESRDYEO_Msk & ((value) << DAC_EVCTRL_RESRDYEO_Pos)) +#define DAC_EVCTRL_MASK _U_(0xFF) /**< \brief (DAC_EVCTRL) MASK Register */ + +/* -------- DAC_INTENCLR : (DAC Offset: 0x04) (R/W 8) Interrupt Enable Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t UNDERRUN0:1; /*!< bit: 0 Underrun 0 Interrupt Enable */ + uint8_t UNDERRUN1:1; /*!< bit: 1 Underrun 1 Interrupt Enable */ + uint8_t EMPTY0:1; /*!< bit: 2 Data Buffer 0 Empty Interrupt Enable */ + uint8_t EMPTY1:1; /*!< bit: 3 Data Buffer 1 Empty Interrupt Enable */ + uint8_t RESRDY0:1; /*!< bit: 4 Result 0 Ready Interrupt Enable */ + uint8_t RESRDY1:1; /*!< bit: 5 Result 1 Ready Interrupt Enable */ + uint8_t OVERRUN0:1; /*!< bit: 6 Overrun 0 Interrupt Enable */ + uint8_t OVERRUN1:1; /*!< bit: 7 Overrun 1 Interrupt Enable */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t UNDERRUN:2; /*!< bit: 0.. 1 Underrun x Interrupt Enable */ + uint8_t EMPTY:2; /*!< bit: 2.. 3 Data Buffer x Empty Interrupt Enable */ + uint8_t RESRDY:2; /*!< bit: 4.. 5 Result x Ready Interrupt Enable */ + uint8_t OVERRUN:2; /*!< bit: 6.. 7 Overrun x Interrupt Enable */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} DAC_INTENCLR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_INTENCLR_OFFSET 0x04 /**< \brief (DAC_INTENCLR offset) Interrupt Enable Clear */ +#define DAC_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (DAC_INTENCLR reset_value) Interrupt Enable Clear */ + +#define DAC_INTENCLR_UNDERRUN0_Pos 0 /**< \brief (DAC_INTENCLR) Underrun 0 Interrupt Enable */ +#define DAC_INTENCLR_UNDERRUN0 (_U_(1) << DAC_INTENCLR_UNDERRUN0_Pos) +#define DAC_INTENCLR_UNDERRUN1_Pos 1 /**< \brief (DAC_INTENCLR) Underrun 1 Interrupt Enable */ +#define DAC_INTENCLR_UNDERRUN1 (_U_(1) << DAC_INTENCLR_UNDERRUN1_Pos) +#define DAC_INTENCLR_UNDERRUN_Pos 0 /**< \brief (DAC_INTENCLR) Underrun x Interrupt Enable */ +#define DAC_INTENCLR_UNDERRUN_Msk (_U_(0x3) << DAC_INTENCLR_UNDERRUN_Pos) +#define DAC_INTENCLR_UNDERRUN(value) (DAC_INTENCLR_UNDERRUN_Msk & ((value) << DAC_INTENCLR_UNDERRUN_Pos)) +#define DAC_INTENCLR_EMPTY0_Pos 2 /**< \brief (DAC_INTENCLR) Data Buffer 0 Empty Interrupt Enable */ +#define DAC_INTENCLR_EMPTY0 (_U_(1) << DAC_INTENCLR_EMPTY0_Pos) +#define DAC_INTENCLR_EMPTY1_Pos 3 /**< \brief (DAC_INTENCLR) Data Buffer 1 Empty Interrupt Enable */ +#define DAC_INTENCLR_EMPTY1 (_U_(1) << DAC_INTENCLR_EMPTY1_Pos) +#define DAC_INTENCLR_EMPTY_Pos 2 /**< \brief (DAC_INTENCLR) Data Buffer x Empty Interrupt Enable */ +#define DAC_INTENCLR_EMPTY_Msk (_U_(0x3) << DAC_INTENCLR_EMPTY_Pos) +#define DAC_INTENCLR_EMPTY(value) (DAC_INTENCLR_EMPTY_Msk & ((value) << DAC_INTENCLR_EMPTY_Pos)) +#define DAC_INTENCLR_RESRDY0_Pos 4 /**< \brief (DAC_INTENCLR) Result 0 Ready Interrupt Enable */ +#define DAC_INTENCLR_RESRDY0 (_U_(1) << DAC_INTENCLR_RESRDY0_Pos) +#define DAC_INTENCLR_RESRDY1_Pos 5 /**< \brief (DAC_INTENCLR) Result 1 Ready Interrupt Enable */ +#define DAC_INTENCLR_RESRDY1 (_U_(1) << DAC_INTENCLR_RESRDY1_Pos) +#define DAC_INTENCLR_RESRDY_Pos 4 /**< \brief (DAC_INTENCLR) Result x Ready Interrupt Enable */ +#define DAC_INTENCLR_RESRDY_Msk (_U_(0x3) << DAC_INTENCLR_RESRDY_Pos) +#define DAC_INTENCLR_RESRDY(value) (DAC_INTENCLR_RESRDY_Msk & ((value) << DAC_INTENCLR_RESRDY_Pos)) +#define DAC_INTENCLR_OVERRUN0_Pos 6 /**< \brief (DAC_INTENCLR) Overrun 0 Interrupt Enable */ +#define DAC_INTENCLR_OVERRUN0 (_U_(1) << DAC_INTENCLR_OVERRUN0_Pos) +#define DAC_INTENCLR_OVERRUN1_Pos 7 /**< \brief (DAC_INTENCLR) Overrun 1 Interrupt Enable */ +#define DAC_INTENCLR_OVERRUN1 (_U_(1) << DAC_INTENCLR_OVERRUN1_Pos) +#define DAC_INTENCLR_OVERRUN_Pos 6 /**< \brief (DAC_INTENCLR) Overrun x Interrupt Enable */ +#define DAC_INTENCLR_OVERRUN_Msk (_U_(0x3) << DAC_INTENCLR_OVERRUN_Pos) +#define DAC_INTENCLR_OVERRUN(value) (DAC_INTENCLR_OVERRUN_Msk & ((value) << DAC_INTENCLR_OVERRUN_Pos)) +#define DAC_INTENCLR_MASK _U_(0xFF) /**< \brief (DAC_INTENCLR) MASK Register */ + +/* -------- DAC_INTENSET : (DAC Offset: 0x05) (R/W 8) Interrupt Enable Set -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t UNDERRUN0:1; /*!< bit: 0 Underrun 0 Interrupt Enable */ + uint8_t UNDERRUN1:1; /*!< bit: 1 Underrun 1 Interrupt Enable */ + uint8_t EMPTY0:1; /*!< bit: 2 Data Buffer 0 Empty Interrupt Enable */ + uint8_t EMPTY1:1; /*!< bit: 3 Data Buffer 1 Empty Interrupt Enable */ + uint8_t RESRDY0:1; /*!< bit: 4 Result 0 Ready Interrupt Enable */ + uint8_t RESRDY1:1; /*!< bit: 5 Result 1 Ready Interrupt Enable */ + uint8_t OVERRUN0:1; /*!< bit: 6 Overrun 0 Interrupt Enable */ + uint8_t OVERRUN1:1; /*!< bit: 7 Overrun 1 Interrupt Enable */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t UNDERRUN:2; /*!< bit: 0.. 1 Underrun x Interrupt Enable */ + uint8_t EMPTY:2; /*!< bit: 2.. 3 Data Buffer x Empty Interrupt Enable */ + uint8_t RESRDY:2; /*!< bit: 4.. 5 Result x Ready Interrupt Enable */ + uint8_t OVERRUN:2; /*!< bit: 6.. 7 Overrun x Interrupt Enable */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} DAC_INTENSET_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_INTENSET_OFFSET 0x05 /**< \brief (DAC_INTENSET offset) Interrupt Enable Set */ +#define DAC_INTENSET_RESETVALUE _U_(0x00) /**< \brief (DAC_INTENSET reset_value) Interrupt Enable Set */ + +#define DAC_INTENSET_UNDERRUN0_Pos 0 /**< \brief (DAC_INTENSET) Underrun 0 Interrupt Enable */ +#define DAC_INTENSET_UNDERRUN0 (_U_(1) << DAC_INTENSET_UNDERRUN0_Pos) +#define DAC_INTENSET_UNDERRUN1_Pos 1 /**< \brief (DAC_INTENSET) Underrun 1 Interrupt Enable */ +#define DAC_INTENSET_UNDERRUN1 (_U_(1) << DAC_INTENSET_UNDERRUN1_Pos) +#define DAC_INTENSET_UNDERRUN_Pos 0 /**< \brief (DAC_INTENSET) Underrun x Interrupt Enable */ +#define DAC_INTENSET_UNDERRUN_Msk (_U_(0x3) << DAC_INTENSET_UNDERRUN_Pos) +#define DAC_INTENSET_UNDERRUN(value) (DAC_INTENSET_UNDERRUN_Msk & ((value) << DAC_INTENSET_UNDERRUN_Pos)) +#define DAC_INTENSET_EMPTY0_Pos 2 /**< \brief (DAC_INTENSET) Data Buffer 0 Empty Interrupt Enable */ +#define DAC_INTENSET_EMPTY0 (_U_(1) << DAC_INTENSET_EMPTY0_Pos) +#define DAC_INTENSET_EMPTY1_Pos 3 /**< \brief (DAC_INTENSET) Data Buffer 1 Empty Interrupt Enable */ +#define DAC_INTENSET_EMPTY1 (_U_(1) << DAC_INTENSET_EMPTY1_Pos) +#define DAC_INTENSET_EMPTY_Pos 2 /**< \brief (DAC_INTENSET) Data Buffer x Empty Interrupt Enable */ +#define DAC_INTENSET_EMPTY_Msk (_U_(0x3) << DAC_INTENSET_EMPTY_Pos) +#define DAC_INTENSET_EMPTY(value) (DAC_INTENSET_EMPTY_Msk & ((value) << DAC_INTENSET_EMPTY_Pos)) +#define DAC_INTENSET_RESRDY0_Pos 4 /**< \brief (DAC_INTENSET) Result 0 Ready Interrupt Enable */ +#define DAC_INTENSET_RESRDY0 (_U_(1) << DAC_INTENSET_RESRDY0_Pos) +#define DAC_INTENSET_RESRDY1_Pos 5 /**< \brief (DAC_INTENSET) Result 1 Ready Interrupt Enable */ +#define DAC_INTENSET_RESRDY1 (_U_(1) << DAC_INTENSET_RESRDY1_Pos) +#define DAC_INTENSET_RESRDY_Pos 4 /**< \brief (DAC_INTENSET) Result x Ready Interrupt Enable */ +#define DAC_INTENSET_RESRDY_Msk (_U_(0x3) << DAC_INTENSET_RESRDY_Pos) +#define DAC_INTENSET_RESRDY(value) (DAC_INTENSET_RESRDY_Msk & ((value) << DAC_INTENSET_RESRDY_Pos)) +#define DAC_INTENSET_OVERRUN0_Pos 6 /**< \brief (DAC_INTENSET) Overrun 0 Interrupt Enable */ +#define DAC_INTENSET_OVERRUN0 (_U_(1) << DAC_INTENSET_OVERRUN0_Pos) +#define DAC_INTENSET_OVERRUN1_Pos 7 /**< \brief (DAC_INTENSET) Overrun 1 Interrupt Enable */ +#define DAC_INTENSET_OVERRUN1 (_U_(1) << DAC_INTENSET_OVERRUN1_Pos) +#define DAC_INTENSET_OVERRUN_Pos 6 /**< \brief (DAC_INTENSET) Overrun x Interrupt Enable */ +#define DAC_INTENSET_OVERRUN_Msk (_U_(0x3) << DAC_INTENSET_OVERRUN_Pos) +#define DAC_INTENSET_OVERRUN(value) (DAC_INTENSET_OVERRUN_Msk & ((value) << DAC_INTENSET_OVERRUN_Pos)) +#define DAC_INTENSET_MASK _U_(0xFF) /**< \brief (DAC_INTENSET) MASK Register */ + +/* -------- DAC_INTFLAG : (DAC Offset: 0x06) (R/W 8) Interrupt Flag Status and Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { // __I to avoid read-modify-write on write-to-clear register + struct { + __I uint8_t UNDERRUN0:1; /*!< bit: 0 Result 0 Underrun */ + __I uint8_t UNDERRUN1:1; /*!< bit: 1 Result 1 Underrun */ + __I uint8_t EMPTY0:1; /*!< bit: 2 Data Buffer 0 Empty */ + __I uint8_t EMPTY1:1; /*!< bit: 3 Data Buffer 1 Empty */ + __I uint8_t RESRDY0:1; /*!< bit: 4 Result 0 Ready */ + __I uint8_t RESRDY1:1; /*!< bit: 5 Result 1 Ready */ + __I uint8_t OVERRUN0:1; /*!< bit: 6 Result 0 Overrun */ + __I uint8_t OVERRUN1:1; /*!< bit: 7 Result 1 Overrun */ + } bit; /*!< Structure used for bit access */ + struct { + __I uint8_t UNDERRUN:2; /*!< bit: 0.. 1 Result x Underrun */ + __I uint8_t EMPTY:2; /*!< bit: 2.. 3 Data Buffer x Empty */ + __I uint8_t RESRDY:2; /*!< bit: 4.. 5 Result x Ready */ + __I uint8_t OVERRUN:2; /*!< bit: 6.. 7 Result x Overrun */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} DAC_INTFLAG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_INTFLAG_OFFSET 0x06 /**< \brief (DAC_INTFLAG offset) Interrupt Flag Status and Clear */ +#define DAC_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (DAC_INTFLAG reset_value) Interrupt Flag Status and Clear */ + +#define DAC_INTFLAG_UNDERRUN0_Pos 0 /**< \brief (DAC_INTFLAG) Result 0 Underrun */ +#define DAC_INTFLAG_UNDERRUN0 (_U_(1) << DAC_INTFLAG_UNDERRUN0_Pos) +#define DAC_INTFLAG_UNDERRUN1_Pos 1 /**< \brief (DAC_INTFLAG) Result 1 Underrun */ +#define DAC_INTFLAG_UNDERRUN1 (_U_(1) << DAC_INTFLAG_UNDERRUN1_Pos) +#define DAC_INTFLAG_UNDERRUN_Pos 0 /**< \brief (DAC_INTFLAG) Result x Underrun */ +#define DAC_INTFLAG_UNDERRUN_Msk (_U_(0x3) << DAC_INTFLAG_UNDERRUN_Pos) +#define DAC_INTFLAG_UNDERRUN(value) (DAC_INTFLAG_UNDERRUN_Msk & ((value) << DAC_INTFLAG_UNDERRUN_Pos)) +#define DAC_INTFLAG_EMPTY0_Pos 2 /**< \brief (DAC_INTFLAG) Data Buffer 0 Empty */ +#define DAC_INTFLAG_EMPTY0 (_U_(1) << DAC_INTFLAG_EMPTY0_Pos) +#define DAC_INTFLAG_EMPTY1_Pos 3 /**< \brief (DAC_INTFLAG) Data Buffer 1 Empty */ +#define DAC_INTFLAG_EMPTY1 (_U_(1) << DAC_INTFLAG_EMPTY1_Pos) +#define DAC_INTFLAG_EMPTY_Pos 2 /**< \brief (DAC_INTFLAG) Data Buffer x Empty */ +#define DAC_INTFLAG_EMPTY_Msk (_U_(0x3) << DAC_INTFLAG_EMPTY_Pos) +#define DAC_INTFLAG_EMPTY(value) (DAC_INTFLAG_EMPTY_Msk & ((value) << DAC_INTFLAG_EMPTY_Pos)) +#define DAC_INTFLAG_RESRDY0_Pos 4 /**< \brief (DAC_INTFLAG) Result 0 Ready */ +#define DAC_INTFLAG_RESRDY0 (_U_(1) << DAC_INTFLAG_RESRDY0_Pos) +#define DAC_INTFLAG_RESRDY1_Pos 5 /**< \brief (DAC_INTFLAG) Result 1 Ready */ +#define DAC_INTFLAG_RESRDY1 (_U_(1) << DAC_INTFLAG_RESRDY1_Pos) +#define DAC_INTFLAG_RESRDY_Pos 4 /**< \brief (DAC_INTFLAG) Result x Ready */ +#define DAC_INTFLAG_RESRDY_Msk (_U_(0x3) << DAC_INTFLAG_RESRDY_Pos) +#define DAC_INTFLAG_RESRDY(value) (DAC_INTFLAG_RESRDY_Msk & ((value) << DAC_INTFLAG_RESRDY_Pos)) +#define DAC_INTFLAG_OVERRUN0_Pos 6 /**< \brief (DAC_INTFLAG) Result 0 Overrun */ +#define DAC_INTFLAG_OVERRUN0 (_U_(1) << DAC_INTFLAG_OVERRUN0_Pos) +#define DAC_INTFLAG_OVERRUN1_Pos 7 /**< \brief (DAC_INTFLAG) Result 1 Overrun */ +#define DAC_INTFLAG_OVERRUN1 (_U_(1) << DAC_INTFLAG_OVERRUN1_Pos) +#define DAC_INTFLAG_OVERRUN_Pos 6 /**< \brief (DAC_INTFLAG) Result x Overrun */ +#define DAC_INTFLAG_OVERRUN_Msk (_U_(0x3) << DAC_INTFLAG_OVERRUN_Pos) +#define DAC_INTFLAG_OVERRUN(value) (DAC_INTFLAG_OVERRUN_Msk & ((value) << DAC_INTFLAG_OVERRUN_Pos)) +#define DAC_INTFLAG_MASK _U_(0xFF) /**< \brief (DAC_INTFLAG) MASK Register */ + +/* -------- DAC_STATUS : (DAC Offset: 0x07) (R/ 8) Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t READY0:1; /*!< bit: 0 DAC 0 Startup Ready */ + uint8_t READY1:1; /*!< bit: 1 DAC 1 Startup Ready */ + uint8_t EOC0:1; /*!< bit: 2 DAC 0 End of Conversion */ + uint8_t EOC1:1; /*!< bit: 3 DAC 1 End of Conversion */ + uint8_t :4; /*!< bit: 4.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint8_t READY:2; /*!< bit: 0.. 1 DAC x Startup Ready */ + uint8_t EOC:2; /*!< bit: 2.. 3 DAC x End of Conversion */ + uint8_t :4; /*!< bit: 4.. 7 Reserved */ + } vec; /*!< Structure used for vec access */ + uint8_t reg; /*!< Type used for register access */ +} DAC_STATUS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_STATUS_OFFSET 0x07 /**< \brief (DAC_STATUS offset) Status */ +#define DAC_STATUS_RESETVALUE _U_(0x00) /**< \brief (DAC_STATUS reset_value) Status */ + +#define DAC_STATUS_READY0_Pos 0 /**< \brief (DAC_STATUS) DAC 0 Startup Ready */ +#define DAC_STATUS_READY0 (_U_(1) << DAC_STATUS_READY0_Pos) +#define DAC_STATUS_READY1_Pos 1 /**< \brief (DAC_STATUS) DAC 1 Startup Ready */ +#define DAC_STATUS_READY1 (_U_(1) << DAC_STATUS_READY1_Pos) +#define DAC_STATUS_READY_Pos 0 /**< \brief (DAC_STATUS) DAC x Startup Ready */ +#define DAC_STATUS_READY_Msk (_U_(0x3) << DAC_STATUS_READY_Pos) +#define DAC_STATUS_READY(value) (DAC_STATUS_READY_Msk & ((value) << DAC_STATUS_READY_Pos)) +#define DAC_STATUS_EOC0_Pos 2 /**< \brief (DAC_STATUS) DAC 0 End of Conversion */ +#define DAC_STATUS_EOC0 (_U_(1) << DAC_STATUS_EOC0_Pos) +#define DAC_STATUS_EOC1_Pos 3 /**< \brief (DAC_STATUS) DAC 1 End of Conversion */ +#define DAC_STATUS_EOC1 (_U_(1) << DAC_STATUS_EOC1_Pos) +#define DAC_STATUS_EOC_Pos 2 /**< \brief (DAC_STATUS) DAC x End of Conversion */ +#define DAC_STATUS_EOC_Msk (_U_(0x3) << DAC_STATUS_EOC_Pos) +#define DAC_STATUS_EOC(value) (DAC_STATUS_EOC_Msk & ((value) << DAC_STATUS_EOC_Pos)) +#define DAC_STATUS_MASK _U_(0x0F) /**< \brief (DAC_STATUS) MASK Register */ + +/* -------- DAC_SYNCBUSY : (DAC Offset: 0x08) (R/ 32) Synchronization Busy -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t SWRST:1; /*!< bit: 0 Software Reset */ + uint32_t ENABLE:1; /*!< bit: 1 DAC Enable Status */ + uint32_t DATA0:1; /*!< bit: 2 Data DAC 0 */ + uint32_t DATA1:1; /*!< bit: 3 Data DAC 1 */ + uint32_t DATABUF0:1; /*!< bit: 4 Data Buffer DAC 0 */ + uint32_t DATABUF1:1; /*!< bit: 5 Data Buffer DAC 1 */ + uint32_t :26; /*!< bit: 6..31 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint32_t :2; /*!< bit: 0.. 1 Reserved */ + uint32_t DATA:2; /*!< bit: 2.. 3 Data DAC x */ + uint32_t DATABUF:2; /*!< bit: 4.. 5 Data Buffer DAC x */ + uint32_t :26; /*!< bit: 6..31 Reserved */ + } vec; /*!< Structure used for vec access */ + uint32_t reg; /*!< Type used for register access */ +} DAC_SYNCBUSY_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_SYNCBUSY_OFFSET 0x08 /**< \brief (DAC_SYNCBUSY offset) Synchronization Busy */ +#define DAC_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (DAC_SYNCBUSY reset_value) Synchronization Busy */ + +#define DAC_SYNCBUSY_SWRST_Pos 0 /**< \brief (DAC_SYNCBUSY) Software Reset */ +#define DAC_SYNCBUSY_SWRST (_U_(0x1) << DAC_SYNCBUSY_SWRST_Pos) +#define DAC_SYNCBUSY_ENABLE_Pos 1 /**< \brief (DAC_SYNCBUSY) DAC Enable Status */ +#define DAC_SYNCBUSY_ENABLE (_U_(0x1) << DAC_SYNCBUSY_ENABLE_Pos) +#define DAC_SYNCBUSY_DATA0_Pos 2 /**< \brief (DAC_SYNCBUSY) Data DAC 0 */ +#define DAC_SYNCBUSY_DATA0 (_U_(1) << DAC_SYNCBUSY_DATA0_Pos) +#define DAC_SYNCBUSY_DATA1_Pos 3 /**< \brief (DAC_SYNCBUSY) Data DAC 1 */ +#define DAC_SYNCBUSY_DATA1 (_U_(1) << DAC_SYNCBUSY_DATA1_Pos) +#define DAC_SYNCBUSY_DATA_Pos 2 /**< \brief (DAC_SYNCBUSY) Data DAC x */ +#define DAC_SYNCBUSY_DATA_Msk (_U_(0x3) << DAC_SYNCBUSY_DATA_Pos) +#define DAC_SYNCBUSY_DATA(value) (DAC_SYNCBUSY_DATA_Msk & ((value) << DAC_SYNCBUSY_DATA_Pos)) +#define DAC_SYNCBUSY_DATABUF0_Pos 4 /**< \brief (DAC_SYNCBUSY) Data Buffer DAC 0 */ +#define DAC_SYNCBUSY_DATABUF0 (_U_(1) << DAC_SYNCBUSY_DATABUF0_Pos) +#define DAC_SYNCBUSY_DATABUF1_Pos 5 /**< \brief (DAC_SYNCBUSY) Data Buffer DAC 1 */ +#define DAC_SYNCBUSY_DATABUF1 (_U_(1) << DAC_SYNCBUSY_DATABUF1_Pos) +#define DAC_SYNCBUSY_DATABUF_Pos 4 /**< \brief (DAC_SYNCBUSY) Data Buffer DAC x */ +#define DAC_SYNCBUSY_DATABUF_Msk (_U_(0x3) << DAC_SYNCBUSY_DATABUF_Pos) +#define DAC_SYNCBUSY_DATABUF(value) (DAC_SYNCBUSY_DATABUF_Msk & ((value) << DAC_SYNCBUSY_DATABUF_Pos)) +#define DAC_SYNCBUSY_MASK _U_(0x0000003F) /**< \brief (DAC_SYNCBUSY) MASK Register */ + +/* -------- DAC_DACCTRL : (DAC Offset: 0x0C) (R/W 16) DAC n Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t LEFTADJ:1; /*!< bit: 0 Left Adjusted Data */ + uint16_t ENABLE:1; /*!< bit: 1 Enable DAC0 */ + uint16_t CCTRL:2; /*!< bit: 2.. 3 Current Control */ + uint16_t :1; /*!< bit: 4 Reserved */ + uint16_t FEXT:1; /*!< bit: 5 Standalone Filter */ + uint16_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */ + uint16_t DITHER:1; /*!< bit: 7 Dithering Mode */ + uint16_t REFRESH:4; /*!< bit: 8..11 Refresh period */ + uint16_t :1; /*!< bit: 12 Reserved */ + uint16_t OSR:3; /*!< bit: 13..15 Sampling Rate */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} DAC_DACCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_DACCTRL_OFFSET 0x0C /**< \brief (DAC_DACCTRL offset) DAC n Control */ +#define DAC_DACCTRL_RESETVALUE _U_(0x0000) /**< \brief (DAC_DACCTRL reset_value) DAC n Control */ + +#define DAC_DACCTRL_LEFTADJ_Pos 0 /**< \brief (DAC_DACCTRL) Left Adjusted Data */ +#define DAC_DACCTRL_LEFTADJ (_U_(0x1) << DAC_DACCTRL_LEFTADJ_Pos) +#define DAC_DACCTRL_ENABLE_Pos 1 /**< \brief (DAC_DACCTRL) Enable DAC0 */ +#define DAC_DACCTRL_ENABLE (_U_(0x1) << DAC_DACCTRL_ENABLE_Pos) +#define DAC_DACCTRL_CCTRL_Pos 2 /**< \brief (DAC_DACCTRL) Current Control */ +#define DAC_DACCTRL_CCTRL_Msk (_U_(0x3) << DAC_DACCTRL_CCTRL_Pos) +#define DAC_DACCTRL_CCTRL(value) (DAC_DACCTRL_CCTRL_Msk & ((value) << DAC_DACCTRL_CCTRL_Pos)) +#define DAC_DACCTRL_CCTRL_CC100K_Val _U_(0x0) /**< \brief (DAC_DACCTRL) GCLK_DAC ≤ 1.2MHz (100kSPS) */ +#define DAC_DACCTRL_CCTRL_CC1M_Val _U_(0x1) /**< \brief (DAC_DACCTRL) 1.2MHz < GCLK_DAC ≤ 6MHz (500kSPS) */ +#define DAC_DACCTRL_CCTRL_CC12M_Val _U_(0x2) /**< \brief (DAC_DACCTRL) 6MHz < GCLK_DAC ≤ 12MHz (1MSPS) */ +#define DAC_DACCTRL_CCTRL_CC100K (DAC_DACCTRL_CCTRL_CC100K_Val << DAC_DACCTRL_CCTRL_Pos) +#define DAC_DACCTRL_CCTRL_CC1M (DAC_DACCTRL_CCTRL_CC1M_Val << DAC_DACCTRL_CCTRL_Pos) +#define DAC_DACCTRL_CCTRL_CC12M (DAC_DACCTRL_CCTRL_CC12M_Val << DAC_DACCTRL_CCTRL_Pos) +#define DAC_DACCTRL_FEXT_Pos 5 /**< \brief (DAC_DACCTRL) Standalone Filter */ +#define DAC_DACCTRL_FEXT (_U_(0x1) << DAC_DACCTRL_FEXT_Pos) +#define DAC_DACCTRL_RUNSTDBY_Pos 6 /**< \brief (DAC_DACCTRL) Run in Standby */ +#define DAC_DACCTRL_RUNSTDBY (_U_(0x1) << DAC_DACCTRL_RUNSTDBY_Pos) +#define DAC_DACCTRL_DITHER_Pos 7 /**< \brief (DAC_DACCTRL) Dithering Mode */ +#define DAC_DACCTRL_DITHER (_U_(0x1) << DAC_DACCTRL_DITHER_Pos) +#define DAC_DACCTRL_REFRESH_Pos 8 /**< \brief (DAC_DACCTRL) Refresh period */ +#define DAC_DACCTRL_REFRESH_Msk (_U_(0xF) << DAC_DACCTRL_REFRESH_Pos) +#define DAC_DACCTRL_REFRESH(value) (DAC_DACCTRL_REFRESH_Msk & ((value) << DAC_DACCTRL_REFRESH_Pos)) +#define DAC_DACCTRL_OSR_Pos 13 /**< \brief (DAC_DACCTRL) Sampling Rate */ +#define DAC_DACCTRL_OSR_Msk (_U_(0x7) << DAC_DACCTRL_OSR_Pos) +#define DAC_DACCTRL_OSR(value) (DAC_DACCTRL_OSR_Msk & ((value) << DAC_DACCTRL_OSR_Pos)) +#define DAC_DACCTRL_MASK _U_(0xEFEF) /**< \brief (DAC_DACCTRL) MASK Register */ + +/* -------- DAC_DATA : (DAC Offset: 0x10) ( /W 16) DAC n Data -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t DATA:16; /*!< bit: 0..15 DAC0 Data */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} DAC_DATA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_DATA_OFFSET 0x10 /**< \brief (DAC_DATA offset) DAC n Data */ +#define DAC_DATA_RESETVALUE _U_(0x0000) /**< \brief (DAC_DATA reset_value) DAC n Data */ + +#define DAC_DATA_DATA_Pos 0 /**< \brief (DAC_DATA) DAC0 Data */ +#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) /**< \brief (DAC_DATA) MASK Register */ + +/* -------- DAC_DATABUF : (DAC Offset: 0x14) ( /W 16) DAC n Data Buffer -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t DATABUF:16; /*!< bit: 0..15 DAC0 Data Buffer */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} DAC_DATABUF_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_DATABUF_OFFSET 0x14 /**< \brief (DAC_DATABUF offset) DAC n Data Buffer */ +#define DAC_DATABUF_RESETVALUE _U_(0x0000) /**< \brief (DAC_DATABUF reset_value) DAC n Data Buffer */ + +#define DAC_DATABUF_DATABUF_Pos 0 /**< \brief (DAC_DATABUF) DAC0 Data Buffer */ +#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) /**< \brief (DAC_DATABUF) MASK Register */ + +/* -------- DAC_DBGCTRL : (DAC Offset: 0x18) (R/W 8) Debug Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ + uint8_t :7; /*!< bit: 1.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DAC_DBGCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_DBGCTRL_OFFSET 0x18 /**< \brief (DAC_DBGCTRL offset) Debug Control */ +#define DAC_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (DAC_DBGCTRL reset_value) Debug Control */ + +#define DAC_DBGCTRL_DBGRUN_Pos 0 /**< \brief (DAC_DBGCTRL) Debug Run */ +#define DAC_DBGCTRL_DBGRUN (_U_(0x1) << DAC_DBGCTRL_DBGRUN_Pos) +#define DAC_DBGCTRL_MASK _U_(0x01) /**< \brief (DAC_DBGCTRL) MASK Register */ + +/* -------- DAC_RESULT : (DAC Offset: 0x1C) (R/ 16) Filter Result -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t RESULT:16; /*!< bit: 0..15 Filter Result */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} DAC_RESULT_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DAC_RESULT_OFFSET 0x1C /**< \brief (DAC_RESULT offset) Filter Result */ +#define DAC_RESULT_RESETVALUE _U_(0x0000) /**< \brief (DAC_RESULT reset_value) Filter Result */ + +#define DAC_RESULT_RESULT_Pos 0 /**< \brief (DAC_RESULT) Filter Result */ +#define DAC_RESULT_RESULT_Msk (_U_(0xFFFF) << DAC_RESULT_RESULT_Pos) +#define DAC_RESULT_RESULT(value) (DAC_RESULT_RESULT_Msk & ((value) << DAC_RESULT_RESULT_Pos)) +#define DAC_RESULT_MASK _U_(0xFFFF) /**< \brief (DAC_RESULT) MASK Register */ + +/** \brief DAC hardware registers */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef struct { + __IO DAC_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 8) Control A */ + __IO DAC_CTRLB_Type CTRLB; /**< \brief Offset: 0x01 (R/W 8) Control B */ + __IO DAC_EVCTRL_Type EVCTRL; /**< \brief Offset: 0x02 (R/W 8) Event Control */ + RoReg8 Reserved1[0x1]; + __IO DAC_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x04 (R/W 8) Interrupt Enable Clear */ + __IO DAC_INTENSET_Type INTENSET; /**< \brief Offset: 0x05 (R/W 8) Interrupt Enable Set */ + __IO DAC_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x06 (R/W 8) Interrupt Flag Status and Clear */ + __I DAC_STATUS_Type STATUS; /**< \brief Offset: 0x07 (R/ 8) Status */ + __I DAC_SYNCBUSY_Type SYNCBUSY; /**< \brief Offset: 0x08 (R/ 32) Synchronization Busy */ + __IO DAC_DACCTRL_Type DACCTRL[2]; /**< \brief Offset: 0x0C (R/W 16) DAC n Control */ + __O DAC_DATA_Type DATA[2]; /**< \brief Offset: 0x10 ( /W 16) DAC n Data */ + __O DAC_DATABUF_Type DATABUF[2]; /**< \brief Offset: 0x14 ( /W 16) DAC n Data Buffer */ + __IO DAC_DBGCTRL_Type DBGCTRL; /**< \brief Offset: 0x18 (R/W 8) Debug Control */ + RoReg8 Reserved2[0x3]; + __I DAC_RESULT_Type RESULT[2]; /**< \brief Offset: 0x1C (R/ 16) Filter Result */ +} Dac; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +/*@}*/ + +#endif /* _SAME54_DAC_COMPONENT_ */ diff --git a/lib/same54/include/component/dmac.h b/lib/same54/include/component/dmac.h new file mode 100644 index 00000000..b8427f33 --- /dev/null +++ b/lib/same54/include/component/dmac.h @@ -0,0 +1,1415 @@ +/** + * \file + * + * \brief Component description for DMAC + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_DMAC_COMPONENT_ +#define _SAME54_DMAC_COMPONENT_ + +/* ========================================================================== */ +/** SOFTWARE API DEFINITION FOR DMAC */ +/* ========================================================================== */ +/** \addtogroup SAME54_DMAC Direct Memory Access Controller */ +/*@{*/ + +#define DMAC_U2503 +#define REV_DMAC 0x100 + +/* -------- DMAC_CTRL : (DMAC Offset: 0x00) (R/W 16) Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t SWRST:1; /*!< bit: 0 Software Reset */ + uint16_t DMAENABLE:1; /*!< bit: 1 DMA Enable */ + uint16_t :6; /*!< bit: 2.. 7 Reserved */ + uint16_t LVLEN0:1; /*!< bit: 8 Priority Level 0 Enable */ + uint16_t LVLEN1:1; /*!< bit: 9 Priority Level 1 Enable */ + uint16_t LVLEN2:1; /*!< bit: 10 Priority Level 2 Enable */ + uint16_t LVLEN3:1; /*!< bit: 11 Priority Level 3 Enable */ + uint16_t :4; /*!< bit: 12..15 Reserved */ + } bit; /*!< Structure used for bit access */ + struct { + uint16_t :8; /*!< bit: 0.. 7 Reserved */ + uint16_t LVLEN:4; /*!< bit: 8..11 Priority Level x Enable */ + uint16_t :4; /*!< bit: 12..15 Reserved */ + } vec; /*!< Structure used for vec access */ + uint16_t reg; /*!< Type used for register access */ +} DMAC_CTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CTRL_OFFSET 0x00 /**< \brief (DMAC_CTRL offset) Control */ +#define DMAC_CTRL_RESETVALUE _U_(0x0000) /**< \brief (DMAC_CTRL reset_value) Control */ + +#define DMAC_CTRL_SWRST_Pos 0 /**< \brief (DMAC_CTRL) Software Reset */ +#define DMAC_CTRL_SWRST (_U_(0x1) << DMAC_CTRL_SWRST_Pos) +#define DMAC_CTRL_DMAENABLE_Pos 1 /**< \brief (DMAC_CTRL) DMA Enable */ +#define DMAC_CTRL_DMAENABLE (_U_(0x1) << DMAC_CTRL_DMAENABLE_Pos) +#define DMAC_CTRL_LVLEN0_Pos 8 /**< \brief (DMAC_CTRL) Priority Level 0 Enable */ +#define DMAC_CTRL_LVLEN0 (_U_(1) << DMAC_CTRL_LVLEN0_Pos) +#define DMAC_CTRL_LVLEN1_Pos 9 /**< \brief (DMAC_CTRL) Priority Level 1 Enable */ +#define DMAC_CTRL_LVLEN1 (_U_(1) << DMAC_CTRL_LVLEN1_Pos) +#define DMAC_CTRL_LVLEN2_Pos 10 /**< \brief (DMAC_CTRL) Priority Level 2 Enable */ +#define DMAC_CTRL_LVLEN2 (_U_(1) << DMAC_CTRL_LVLEN2_Pos) +#define DMAC_CTRL_LVLEN3_Pos 11 /**< \brief (DMAC_CTRL) Priority Level 3 Enable */ +#define DMAC_CTRL_LVLEN3 (_U_(1) << DMAC_CTRL_LVLEN3_Pos) +#define DMAC_CTRL_LVLEN_Pos 8 /**< \brief (DMAC_CTRL) Priority Level x Enable */ +#define DMAC_CTRL_LVLEN_Msk (_U_(0xF) << DMAC_CTRL_LVLEN_Pos) +#define DMAC_CTRL_LVLEN(value) (DMAC_CTRL_LVLEN_Msk & ((value) << DMAC_CTRL_LVLEN_Pos)) +#define DMAC_CTRL_MASK _U_(0x0F03) /**< \brief (DMAC_CTRL) MASK Register */ + +/* -------- DMAC_CRCCTRL : (DMAC Offset: 0x02) (R/W 16) CRC Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t CRCBEATSIZE:2; /*!< bit: 0.. 1 CRC Beat Size */ + uint16_t CRCPOLY:2; /*!< bit: 2.. 3 CRC Polynomial Type */ + uint16_t :4; /*!< bit: 4.. 7 Reserved */ + uint16_t CRCSRC:6; /*!< bit: 8..13 CRC Input Source */ + uint16_t CRCMODE:2; /*!< bit: 14..15 CRC Operating Mode */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} DMAC_CRCCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CRCCTRL_OFFSET 0x02 /**< \brief (DMAC_CRCCTRL offset) CRC Control */ +#define DMAC_CRCCTRL_RESETVALUE _U_(0x0000) /**< \brief (DMAC_CRCCTRL reset_value) CRC Control */ + +#define DMAC_CRCCTRL_CRCBEATSIZE_Pos 0 /**< \brief (DMAC_CRCCTRL) CRC Beat Size */ +#define DMAC_CRCCTRL_CRCBEATSIZE_Msk (_U_(0x3) << DMAC_CRCCTRL_CRCBEATSIZE_Pos) +#define DMAC_CRCCTRL_CRCBEATSIZE(value) (DMAC_CRCCTRL_CRCBEATSIZE_Msk & ((value) << DMAC_CRCCTRL_CRCBEATSIZE_Pos)) +#define DMAC_CRCCTRL_CRCBEATSIZE_BYTE_Val _U_(0x0) /**< \brief (DMAC_CRCCTRL) 8-bit bus transfer */ +#define DMAC_CRCCTRL_CRCBEATSIZE_HWORD_Val _U_(0x1) /**< \brief (DMAC_CRCCTRL) 16-bit bus transfer */ +#define DMAC_CRCCTRL_CRCBEATSIZE_WORD_Val _U_(0x2) /**< \brief (DMAC_CRCCTRL) 32-bit bus transfer */ +#define DMAC_CRCCTRL_CRCBEATSIZE_BYTE (DMAC_CRCCTRL_CRCBEATSIZE_BYTE_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos) +#define DMAC_CRCCTRL_CRCBEATSIZE_HWORD (DMAC_CRCCTRL_CRCBEATSIZE_HWORD_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos) +#define DMAC_CRCCTRL_CRCBEATSIZE_WORD (DMAC_CRCCTRL_CRCBEATSIZE_WORD_Val << DMAC_CRCCTRL_CRCBEATSIZE_Pos) +#define DMAC_CRCCTRL_CRCPOLY_Pos 2 /**< \brief (DMAC_CRCCTRL) CRC Polynomial Type */ +#define DMAC_CRCCTRL_CRCPOLY_Msk (_U_(0x3) << DMAC_CRCCTRL_CRCPOLY_Pos) +#define DMAC_CRCCTRL_CRCPOLY(value) (DMAC_CRCCTRL_CRCPOLY_Msk & ((value) << DMAC_CRCCTRL_CRCPOLY_Pos)) +#define DMAC_CRCCTRL_CRCPOLY_CRC16_Val _U_(0x0) /**< \brief (DMAC_CRCCTRL) CRC-16 (CRC-CCITT) */ +#define DMAC_CRCCTRL_CRCPOLY_CRC32_Val _U_(0x1) /**< \brief (DMAC_CRCCTRL) CRC32 (IEEE 802.3) */ +#define DMAC_CRCCTRL_CRCPOLY_CRC16 (DMAC_CRCCTRL_CRCPOLY_CRC16_Val << DMAC_CRCCTRL_CRCPOLY_Pos) +#define DMAC_CRCCTRL_CRCPOLY_CRC32 (DMAC_CRCCTRL_CRCPOLY_CRC32_Val << DMAC_CRCCTRL_CRCPOLY_Pos) +#define DMAC_CRCCTRL_CRCSRC_Pos 8 /**< \brief (DMAC_CRCCTRL) CRC Input Source */ +#define DMAC_CRCCTRL_CRCSRC_Msk (_U_(0x3F) << DMAC_CRCCTRL_CRCSRC_Pos) +#define DMAC_CRCCTRL_CRCSRC(value) (DMAC_CRCCTRL_CRCSRC_Msk & ((value) << DMAC_CRCCTRL_CRCSRC_Pos)) +#define DMAC_CRCCTRL_CRCSRC_DISABLE_Val _U_(0x0) /**< \brief (DMAC_CRCCTRL) CRC Disabled */ +#define DMAC_CRCCTRL_CRCSRC_IO_Val _U_(0x1) /**< \brief (DMAC_CRCCTRL) I/O interface */ +#define DMAC_CRCCTRL_CRCSRC_DISABLE (DMAC_CRCCTRL_CRCSRC_DISABLE_Val << DMAC_CRCCTRL_CRCSRC_Pos) +#define DMAC_CRCCTRL_CRCSRC_IO (DMAC_CRCCTRL_CRCSRC_IO_Val << DMAC_CRCCTRL_CRCSRC_Pos) +#define DMAC_CRCCTRL_CRCMODE_Pos 14 /**< \brief (DMAC_CRCCTRL) CRC Operating Mode */ +#define DMAC_CRCCTRL_CRCMODE_Msk (_U_(0x3) << DMAC_CRCCTRL_CRCMODE_Pos) +#define DMAC_CRCCTRL_CRCMODE(value) (DMAC_CRCCTRL_CRCMODE_Msk & ((value) << DMAC_CRCCTRL_CRCMODE_Pos)) +#define DMAC_CRCCTRL_CRCMODE_DEFAULT_Val _U_(0x0) /**< \brief (DMAC_CRCCTRL) Default operating mode */ +#define DMAC_CRCCTRL_CRCMODE_CRCMON_Val _U_(0x2) /**< \brief (DMAC_CRCCTRL) Memory CRC monitor operating mode */ +#define DMAC_CRCCTRL_CRCMODE_CRCGEN_Val _U_(0x3) /**< \brief (DMAC_CRCCTRL) Memory CRC generation operating mode */ +#define DMAC_CRCCTRL_CRCMODE_DEFAULT (DMAC_CRCCTRL_CRCMODE_DEFAULT_Val << DMAC_CRCCTRL_CRCMODE_Pos) +#define DMAC_CRCCTRL_CRCMODE_CRCMON (DMAC_CRCCTRL_CRCMODE_CRCMON_Val << DMAC_CRCCTRL_CRCMODE_Pos) +#define DMAC_CRCCTRL_CRCMODE_CRCGEN (DMAC_CRCCTRL_CRCMODE_CRCGEN_Val << DMAC_CRCCTRL_CRCMODE_Pos) +#define DMAC_CRCCTRL_MASK _U_(0xFF0F) /**< \brief (DMAC_CRCCTRL) MASK Register */ + +/* -------- DMAC_CRCDATAIN : (DMAC Offset: 0x04) (R/W 32) CRC Data Input -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t CRCDATAIN:32; /*!< bit: 0..31 CRC Data Input */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_CRCDATAIN_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CRCDATAIN_OFFSET 0x04 /**< \brief (DMAC_CRCDATAIN offset) CRC Data Input */ +#define DMAC_CRCDATAIN_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_CRCDATAIN reset_value) CRC Data Input */ + +#define DMAC_CRCDATAIN_CRCDATAIN_Pos 0 /**< \brief (DMAC_CRCDATAIN) CRC Data Input */ +#define DMAC_CRCDATAIN_CRCDATAIN_Msk (_U_(0xFFFFFFFF) << DMAC_CRCDATAIN_CRCDATAIN_Pos) +#define DMAC_CRCDATAIN_CRCDATAIN(value) (DMAC_CRCDATAIN_CRCDATAIN_Msk & ((value) << DMAC_CRCDATAIN_CRCDATAIN_Pos)) +#define DMAC_CRCDATAIN_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_CRCDATAIN) MASK Register */ + +/* -------- DMAC_CRCCHKSUM : (DMAC Offset: 0x08) (R/W 32) CRC Checksum -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t CRCCHKSUM:32; /*!< bit: 0..31 CRC Checksum */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_CRCCHKSUM_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CRCCHKSUM_OFFSET 0x08 /**< \brief (DMAC_CRCCHKSUM offset) CRC Checksum */ +#define DMAC_CRCCHKSUM_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_CRCCHKSUM reset_value) CRC Checksum */ + +#define DMAC_CRCCHKSUM_CRCCHKSUM_Pos 0 /**< \brief (DMAC_CRCCHKSUM) CRC Checksum */ +#define DMAC_CRCCHKSUM_CRCCHKSUM_Msk (_U_(0xFFFFFFFF) << DMAC_CRCCHKSUM_CRCCHKSUM_Pos) +#define DMAC_CRCCHKSUM_CRCCHKSUM(value) (DMAC_CRCCHKSUM_CRCCHKSUM_Msk & ((value) << DMAC_CRCCHKSUM_CRCCHKSUM_Pos)) +#define DMAC_CRCCHKSUM_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_CRCCHKSUM) MASK Register */ + +/* -------- DMAC_CRCSTATUS : (DMAC Offset: 0x0C) (R/W 8) CRC Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t CRCBUSY:1; /*!< bit: 0 CRC Module Busy */ + uint8_t CRCZERO:1; /*!< bit: 1 CRC Zero */ + uint8_t CRCERR:1; /*!< bit: 2 CRC Error */ + uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_CRCSTATUS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CRCSTATUS_OFFSET 0x0C /**< \brief (DMAC_CRCSTATUS offset) CRC Status */ +#define DMAC_CRCSTATUS_RESETVALUE _U_(0x00) /**< \brief (DMAC_CRCSTATUS reset_value) CRC Status */ + +#define DMAC_CRCSTATUS_CRCBUSY_Pos 0 /**< \brief (DMAC_CRCSTATUS) CRC Module Busy */ +#define DMAC_CRCSTATUS_CRCBUSY (_U_(0x1) << DMAC_CRCSTATUS_CRCBUSY_Pos) +#define DMAC_CRCSTATUS_CRCZERO_Pos 1 /**< \brief (DMAC_CRCSTATUS) CRC Zero */ +#define DMAC_CRCSTATUS_CRCZERO (_U_(0x1) << DMAC_CRCSTATUS_CRCZERO_Pos) +#define DMAC_CRCSTATUS_CRCERR_Pos 2 /**< \brief (DMAC_CRCSTATUS) CRC Error */ +#define DMAC_CRCSTATUS_CRCERR (_U_(0x1) << DMAC_CRCSTATUS_CRCERR_Pos) +#define DMAC_CRCSTATUS_MASK _U_(0x07) /**< \brief (DMAC_CRCSTATUS) MASK Register */ + +/* -------- DMAC_DBGCTRL : (DMAC Offset: 0x0D) (R/W 8) Debug Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t DBGRUN:1; /*!< bit: 0 Debug Run */ + uint8_t :7; /*!< bit: 1.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_DBGCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_DBGCTRL_OFFSET 0x0D /**< \brief (DMAC_DBGCTRL offset) Debug Control */ +#define DMAC_DBGCTRL_RESETVALUE _U_(0x00) /**< \brief (DMAC_DBGCTRL reset_value) Debug Control */ + +#define DMAC_DBGCTRL_DBGRUN_Pos 0 /**< \brief (DMAC_DBGCTRL) Debug Run */ +#define DMAC_DBGCTRL_DBGRUN (_U_(0x1) << DMAC_DBGCTRL_DBGRUN_Pos) +#define DMAC_DBGCTRL_MASK _U_(0x01) /**< \brief (DMAC_DBGCTRL) MASK Register */ + +/* -------- DMAC_SWTRIGCTRL : (DMAC Offset: 0x10) (R/W 32) Software Trigger Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t SWTRIG0:1; /*!< bit: 0 Channel 0 Software Trigger */ + uint32_t SWTRIG1:1; /*!< bit: 1 Channel 1 Software Trigger */ + uint32_t SWTRIG2:1; /*!< bit: 2 Channel 2 Software Trigger */ + uint32_t SWTRIG3:1; /*!< bit: 3 Channel 3 Software Trigger */ + uint32_t SWTRIG4:1; /*!< bit: 4 Channel 4 Software Trigger */ + uint32_t SWTRIG5:1; /*!< bit: 5 Channel 5 Software Trigger */ + uint32_t SWTRIG6:1; /*!< bit: 6 Channel 6 Software Trigger */ + uint32_t SWTRIG7:1; /*!< bit: 7 Channel 7 Software Trigger */ + uint32_t SWTRIG8:1; /*!< bit: 8 Channel 8 Software Trigger */ + uint32_t SWTRIG9:1; /*!< bit: 9 Channel 9 Software Trigger */ + uint32_t SWTRIG10:1; /*!< bit: 10 Channel 10 Software Trigger */ + uint32_t SWTRIG11:1; /*!< bit: 11 Channel 11 Software Trigger */ + uint32_t SWTRIG12:1; /*!< bit: 12 Channel 12 Software Trigger */ + uint32_t SWTRIG13:1; /*!< bit: 13 Channel 13 Software Trigger */ + uint32_t SWTRIG14:1; /*!< bit: 14 Channel 14 Software Trigger */ + uint32_t SWTRIG15:1; /*!< bit: 15 Channel 15 Software Trigger */ + uint32_t SWTRIG16:1; /*!< bit: 16 Channel 16 Software Trigger */ + uint32_t SWTRIG17:1; /*!< bit: 17 Channel 17 Software Trigger */ + uint32_t SWTRIG18:1; /*!< bit: 18 Channel 18 Software Trigger */ + uint32_t SWTRIG19:1; /*!< bit: 19 Channel 19 Software Trigger */ + uint32_t SWTRIG20:1; /*!< bit: 20 Channel 20 Software Trigger */ + uint32_t SWTRIG21:1; /*!< bit: 21 Channel 21 Software Trigger */ + uint32_t SWTRIG22:1; /*!< bit: 22 Channel 22 Software Trigger */ + uint32_t SWTRIG23:1; /*!< bit: 23 Channel 23 Software Trigger */ + uint32_t SWTRIG24:1; /*!< bit: 24 Channel 24 Software Trigger */ + uint32_t SWTRIG25:1; /*!< bit: 25 Channel 25 Software Trigger */ + uint32_t SWTRIG26:1; /*!< bit: 26 Channel 26 Software Trigger */ + uint32_t SWTRIG27:1; /*!< bit: 27 Channel 27 Software Trigger */ + uint32_t SWTRIG28:1; /*!< bit: 28 Channel 28 Software Trigger */ + uint32_t SWTRIG29:1; /*!< bit: 29 Channel 29 Software Trigger */ + uint32_t SWTRIG30:1; /*!< bit: 30 Channel 30 Software Trigger */ + uint32_t SWTRIG31:1; /*!< bit: 31 Channel 31 Software Trigger */ + } bit; /*!< Structure used for bit access */ + struct { + uint32_t SWTRIG:32; /*!< bit: 0..31 Channel x Software Trigger */ + } vec; /*!< Structure used for vec access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_SWTRIGCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_SWTRIGCTRL_OFFSET 0x10 /**< \brief (DMAC_SWTRIGCTRL offset) Software Trigger Control */ +#define DMAC_SWTRIGCTRL_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_SWTRIGCTRL reset_value) Software Trigger Control */ + +#define DMAC_SWTRIGCTRL_SWTRIG0_Pos 0 /**< \brief (DMAC_SWTRIGCTRL) Channel 0 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG0 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG0_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG1_Pos 1 /**< \brief (DMAC_SWTRIGCTRL) Channel 1 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG1 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG1_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG2_Pos 2 /**< \brief (DMAC_SWTRIGCTRL) Channel 2 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG2 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG2_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG3_Pos 3 /**< \brief (DMAC_SWTRIGCTRL) Channel 3 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG3 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG3_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG4_Pos 4 /**< \brief (DMAC_SWTRIGCTRL) Channel 4 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG4 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG4_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG5_Pos 5 /**< \brief (DMAC_SWTRIGCTRL) Channel 5 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG5 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG5_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG6_Pos 6 /**< \brief (DMAC_SWTRIGCTRL) Channel 6 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG6 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG6_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG7_Pos 7 /**< \brief (DMAC_SWTRIGCTRL) Channel 7 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG7 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG7_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG8_Pos 8 /**< \brief (DMAC_SWTRIGCTRL) Channel 8 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG8 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG8_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG9_Pos 9 /**< \brief (DMAC_SWTRIGCTRL) Channel 9 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG9 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG9_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG10_Pos 10 /**< \brief (DMAC_SWTRIGCTRL) Channel 10 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG10 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG10_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG11_Pos 11 /**< \brief (DMAC_SWTRIGCTRL) Channel 11 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG11 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG11_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG12_Pos 12 /**< \brief (DMAC_SWTRIGCTRL) Channel 12 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG12 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG12_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG13_Pos 13 /**< \brief (DMAC_SWTRIGCTRL) Channel 13 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG13 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG13_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG14_Pos 14 /**< \brief (DMAC_SWTRIGCTRL) Channel 14 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG14 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG14_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG15_Pos 15 /**< \brief (DMAC_SWTRIGCTRL) Channel 15 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG15 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG15_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG16_Pos 16 /**< \brief (DMAC_SWTRIGCTRL) Channel 16 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG16 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG16_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG17_Pos 17 /**< \brief (DMAC_SWTRIGCTRL) Channel 17 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG17 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG17_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG18_Pos 18 /**< \brief (DMAC_SWTRIGCTRL) Channel 18 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG18 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG18_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG19_Pos 19 /**< \brief (DMAC_SWTRIGCTRL) Channel 19 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG19 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG19_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG20_Pos 20 /**< \brief (DMAC_SWTRIGCTRL) Channel 20 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG20 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG20_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG21_Pos 21 /**< \brief (DMAC_SWTRIGCTRL) Channel 21 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG21 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG21_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG22_Pos 22 /**< \brief (DMAC_SWTRIGCTRL) Channel 22 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG22 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG22_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG23_Pos 23 /**< \brief (DMAC_SWTRIGCTRL) Channel 23 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG23 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG23_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG24_Pos 24 /**< \brief (DMAC_SWTRIGCTRL) Channel 24 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG24 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG24_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG25_Pos 25 /**< \brief (DMAC_SWTRIGCTRL) Channel 25 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG25 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG25_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG26_Pos 26 /**< \brief (DMAC_SWTRIGCTRL) Channel 26 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG26 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG26_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG27_Pos 27 /**< \brief (DMAC_SWTRIGCTRL) Channel 27 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG27 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG27_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG28_Pos 28 /**< \brief (DMAC_SWTRIGCTRL) Channel 28 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG28 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG28_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG29_Pos 29 /**< \brief (DMAC_SWTRIGCTRL) Channel 29 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG29 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG29_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG30_Pos 30 /**< \brief (DMAC_SWTRIGCTRL) Channel 30 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG30 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG30_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG31_Pos 31 /**< \brief (DMAC_SWTRIGCTRL) Channel 31 Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG31 (_U_(1) << DMAC_SWTRIGCTRL_SWTRIG31_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG_Pos 0 /**< \brief (DMAC_SWTRIGCTRL) Channel x Software Trigger */ +#define DMAC_SWTRIGCTRL_SWTRIG_Msk (_U_(0xFFFFFFFF) << DMAC_SWTRIGCTRL_SWTRIG_Pos) +#define DMAC_SWTRIGCTRL_SWTRIG(value) (DMAC_SWTRIGCTRL_SWTRIG_Msk & ((value) << DMAC_SWTRIGCTRL_SWTRIG_Pos)) +#define DMAC_SWTRIGCTRL_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_SWTRIGCTRL) MASK Register */ + +/* -------- DMAC_PRICTRL0 : (DMAC Offset: 0x14) (R/W 32) Priority Control 0 -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t LVLPRI0:5; /*!< bit: 0.. 4 Level 0 Channel Priority Number */ + uint32_t QOS0:2; /*!< bit: 5.. 6 Level 0 Quality of Service */ + uint32_t RRLVLEN0:1; /*!< bit: 7 Level 0 Round-Robin Scheduling Enable */ + uint32_t LVLPRI1:5; /*!< bit: 8..12 Level 1 Channel Priority Number */ + uint32_t QOS1:2; /*!< bit: 13..14 Level 1 Quality of Service */ + uint32_t RRLVLEN1:1; /*!< bit: 15 Level 1 Round-Robin Scheduling Enable */ + uint32_t LVLPRI2:5; /*!< bit: 16..20 Level 2 Channel Priority Number */ + uint32_t QOS2:2; /*!< bit: 21..22 Level 2 Quality of Service */ + uint32_t RRLVLEN2:1; /*!< bit: 23 Level 2 Round-Robin Scheduling Enable */ + uint32_t LVLPRI3:5; /*!< bit: 24..28 Level 3 Channel Priority Number */ + uint32_t QOS3:2; /*!< bit: 29..30 Level 3 Quality of Service */ + uint32_t RRLVLEN3:1; /*!< bit: 31 Level 3 Round-Robin Scheduling Enable */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_PRICTRL0_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_PRICTRL0_OFFSET 0x14 /**< \brief (DMAC_PRICTRL0 offset) Priority Control 0 */ +#define DMAC_PRICTRL0_RESETVALUE _U_(0x40404040) /**< \brief (DMAC_PRICTRL0 reset_value) Priority Control 0 */ + +#define DMAC_PRICTRL0_LVLPRI0_Pos 0 /**< \brief (DMAC_PRICTRL0) Level 0 Channel Priority Number */ +#define DMAC_PRICTRL0_LVLPRI0_Msk (_U_(0x1F) << DMAC_PRICTRL0_LVLPRI0_Pos) +#define DMAC_PRICTRL0_LVLPRI0(value) (DMAC_PRICTRL0_LVLPRI0_Msk & ((value) << DMAC_PRICTRL0_LVLPRI0_Pos)) +#define DMAC_PRICTRL0_QOS0_Pos 5 /**< \brief (DMAC_PRICTRL0) Level 0 Quality of Service */ +#define DMAC_PRICTRL0_QOS0_Msk (_U_(0x3) << DMAC_PRICTRL0_QOS0_Pos) +#define DMAC_PRICTRL0_QOS0(value) (DMAC_PRICTRL0_QOS0_Msk & ((value) << DMAC_PRICTRL0_QOS0_Pos)) +#define DMAC_PRICTRL0_QOS0_REGULAR_Val _U_(0x0) /**< \brief (DMAC_PRICTRL0) Regular delivery */ +#define DMAC_PRICTRL0_QOS0_SHORTAGE_Val _U_(0x1) /**< \brief (DMAC_PRICTRL0) Bandwidth shortage */ +#define DMAC_PRICTRL0_QOS0_SENSITIVE_Val _U_(0x2) /**< \brief (DMAC_PRICTRL0) Latency sensitive */ +#define DMAC_PRICTRL0_QOS0_CRITICAL_Val _U_(0x3) /**< \brief (DMAC_PRICTRL0) Latency critical */ +#define DMAC_PRICTRL0_QOS0_REGULAR (DMAC_PRICTRL0_QOS0_REGULAR_Val << DMAC_PRICTRL0_QOS0_Pos) +#define DMAC_PRICTRL0_QOS0_SHORTAGE (DMAC_PRICTRL0_QOS0_SHORTAGE_Val << DMAC_PRICTRL0_QOS0_Pos) +#define DMAC_PRICTRL0_QOS0_SENSITIVE (DMAC_PRICTRL0_QOS0_SENSITIVE_Val << DMAC_PRICTRL0_QOS0_Pos) +#define DMAC_PRICTRL0_QOS0_CRITICAL (DMAC_PRICTRL0_QOS0_CRITICAL_Val << DMAC_PRICTRL0_QOS0_Pos) +#define DMAC_PRICTRL0_RRLVLEN0_Pos 7 /**< \brief (DMAC_PRICTRL0) Level 0 Round-Robin Scheduling Enable */ +#define DMAC_PRICTRL0_RRLVLEN0 (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN0_Pos) +#define DMAC_PRICTRL0_LVLPRI1_Pos 8 /**< \brief (DMAC_PRICTRL0) Level 1 Channel Priority Number */ +#define DMAC_PRICTRL0_LVLPRI1_Msk (_U_(0x1F) << DMAC_PRICTRL0_LVLPRI1_Pos) +#define DMAC_PRICTRL0_LVLPRI1(value) (DMAC_PRICTRL0_LVLPRI1_Msk & ((value) << DMAC_PRICTRL0_LVLPRI1_Pos)) +#define DMAC_PRICTRL0_QOS1_Pos 13 /**< \brief (DMAC_PRICTRL0) Level 1 Quality of Service */ +#define DMAC_PRICTRL0_QOS1_Msk (_U_(0x3) << DMAC_PRICTRL0_QOS1_Pos) +#define DMAC_PRICTRL0_QOS1(value) (DMAC_PRICTRL0_QOS1_Msk & ((value) << DMAC_PRICTRL0_QOS1_Pos)) +#define DMAC_PRICTRL0_QOS1_REGULAR_Val _U_(0x0) /**< \brief (DMAC_PRICTRL0) Regular delivery */ +#define DMAC_PRICTRL0_QOS1_SHORTAGE_Val _U_(0x1) /**< \brief (DMAC_PRICTRL0) Bandwidth shortage */ +#define DMAC_PRICTRL0_QOS1_SENSITIVE_Val _U_(0x2) /**< \brief (DMAC_PRICTRL0) Latency sensitive */ +#define DMAC_PRICTRL0_QOS1_CRITICAL_Val _U_(0x3) /**< \brief (DMAC_PRICTRL0) Latency critical */ +#define DMAC_PRICTRL0_QOS1_REGULAR (DMAC_PRICTRL0_QOS1_REGULAR_Val << DMAC_PRICTRL0_QOS1_Pos) +#define DMAC_PRICTRL0_QOS1_SHORTAGE (DMAC_PRICTRL0_QOS1_SHORTAGE_Val << DMAC_PRICTRL0_QOS1_Pos) +#define DMAC_PRICTRL0_QOS1_SENSITIVE (DMAC_PRICTRL0_QOS1_SENSITIVE_Val << DMAC_PRICTRL0_QOS1_Pos) +#define DMAC_PRICTRL0_QOS1_CRITICAL (DMAC_PRICTRL0_QOS1_CRITICAL_Val << DMAC_PRICTRL0_QOS1_Pos) +#define DMAC_PRICTRL0_RRLVLEN1_Pos 15 /**< \brief (DMAC_PRICTRL0) Level 1 Round-Robin Scheduling Enable */ +#define DMAC_PRICTRL0_RRLVLEN1 (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN1_Pos) +#define DMAC_PRICTRL0_LVLPRI2_Pos 16 /**< \brief (DMAC_PRICTRL0) Level 2 Channel Priority Number */ +#define DMAC_PRICTRL0_LVLPRI2_Msk (_U_(0x1F) << DMAC_PRICTRL0_LVLPRI2_Pos) +#define DMAC_PRICTRL0_LVLPRI2(value) (DMAC_PRICTRL0_LVLPRI2_Msk & ((value) << DMAC_PRICTRL0_LVLPRI2_Pos)) +#define DMAC_PRICTRL0_QOS2_Pos 21 /**< \brief (DMAC_PRICTRL0) Level 2 Quality of Service */ +#define DMAC_PRICTRL0_QOS2_Msk (_U_(0x3) << DMAC_PRICTRL0_QOS2_Pos) +#define DMAC_PRICTRL0_QOS2(value) (DMAC_PRICTRL0_QOS2_Msk & ((value) << DMAC_PRICTRL0_QOS2_Pos)) +#define DMAC_PRICTRL0_QOS2_REGULAR_Val _U_(0x0) /**< \brief (DMAC_PRICTRL0) Regular delivery */ +#define DMAC_PRICTRL0_QOS2_SHORTAGE_Val _U_(0x1) /**< \brief (DMAC_PRICTRL0) Bandwidth shortage */ +#define DMAC_PRICTRL0_QOS2_SENSITIVE_Val _U_(0x2) /**< \brief (DMAC_PRICTRL0) Latency sensitive */ +#define DMAC_PRICTRL0_QOS2_CRITICAL_Val _U_(0x3) /**< \brief (DMAC_PRICTRL0) Latency critical */ +#define DMAC_PRICTRL0_QOS2_REGULAR (DMAC_PRICTRL0_QOS2_REGULAR_Val << DMAC_PRICTRL0_QOS2_Pos) +#define DMAC_PRICTRL0_QOS2_SHORTAGE (DMAC_PRICTRL0_QOS2_SHORTAGE_Val << DMAC_PRICTRL0_QOS2_Pos) +#define DMAC_PRICTRL0_QOS2_SENSITIVE (DMAC_PRICTRL0_QOS2_SENSITIVE_Val << DMAC_PRICTRL0_QOS2_Pos) +#define DMAC_PRICTRL0_QOS2_CRITICAL (DMAC_PRICTRL0_QOS2_CRITICAL_Val << DMAC_PRICTRL0_QOS2_Pos) +#define DMAC_PRICTRL0_RRLVLEN2_Pos 23 /**< \brief (DMAC_PRICTRL0) Level 2 Round-Robin Scheduling Enable */ +#define DMAC_PRICTRL0_RRLVLEN2 (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN2_Pos) +#define DMAC_PRICTRL0_LVLPRI3_Pos 24 /**< \brief (DMAC_PRICTRL0) Level 3 Channel Priority Number */ +#define DMAC_PRICTRL0_LVLPRI3_Msk (_U_(0x1F) << DMAC_PRICTRL0_LVLPRI3_Pos) +#define DMAC_PRICTRL0_LVLPRI3(value) (DMAC_PRICTRL0_LVLPRI3_Msk & ((value) << DMAC_PRICTRL0_LVLPRI3_Pos)) +#define DMAC_PRICTRL0_QOS3_Pos 29 /**< \brief (DMAC_PRICTRL0) Level 3 Quality of Service */ +#define DMAC_PRICTRL0_QOS3_Msk (_U_(0x3) << DMAC_PRICTRL0_QOS3_Pos) +#define DMAC_PRICTRL0_QOS3(value) (DMAC_PRICTRL0_QOS3_Msk & ((value) << DMAC_PRICTRL0_QOS3_Pos)) +#define DMAC_PRICTRL0_QOS3_REGULAR_Val _U_(0x0) /**< \brief (DMAC_PRICTRL0) Regular delivery */ +#define DMAC_PRICTRL0_QOS3_SHORTAGE_Val _U_(0x1) /**< \brief (DMAC_PRICTRL0) Bandwidth shortage */ +#define DMAC_PRICTRL0_QOS3_SENSITIVE_Val _U_(0x2) /**< \brief (DMAC_PRICTRL0) Latency sensitive */ +#define DMAC_PRICTRL0_QOS3_CRITICAL_Val _U_(0x3) /**< \brief (DMAC_PRICTRL0) Latency critical */ +#define DMAC_PRICTRL0_QOS3_REGULAR (DMAC_PRICTRL0_QOS3_REGULAR_Val << DMAC_PRICTRL0_QOS3_Pos) +#define DMAC_PRICTRL0_QOS3_SHORTAGE (DMAC_PRICTRL0_QOS3_SHORTAGE_Val << DMAC_PRICTRL0_QOS3_Pos) +#define DMAC_PRICTRL0_QOS3_SENSITIVE (DMAC_PRICTRL0_QOS3_SENSITIVE_Val << DMAC_PRICTRL0_QOS3_Pos) +#define DMAC_PRICTRL0_QOS3_CRITICAL (DMAC_PRICTRL0_QOS3_CRITICAL_Val << DMAC_PRICTRL0_QOS3_Pos) +#define DMAC_PRICTRL0_RRLVLEN3_Pos 31 /**< \brief (DMAC_PRICTRL0) Level 3 Round-Robin Scheduling Enable */ +#define DMAC_PRICTRL0_RRLVLEN3 (_U_(0x1) << DMAC_PRICTRL0_RRLVLEN3_Pos) +#define DMAC_PRICTRL0_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_PRICTRL0) MASK Register */ + +/* -------- DMAC_INTPEND : (DMAC Offset: 0x20) (R/W 16) Interrupt Pending -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t ID:5; /*!< bit: 0.. 4 Channel ID */ + uint16_t :3; /*!< bit: 5.. 7 Reserved */ + uint16_t TERR:1; /*!< bit: 8 Transfer Error */ + uint16_t TCMPL:1; /*!< bit: 9 Transfer Complete */ + uint16_t SUSP:1; /*!< bit: 10 Channel Suspend */ + uint16_t :1; /*!< bit: 11 Reserved */ + uint16_t CRCERR:1; /*!< bit: 12 CRC Error */ + uint16_t FERR:1; /*!< bit: 13 Fetch Error */ + uint16_t BUSY:1; /*!< bit: 14 Busy */ + uint16_t PEND:1; /*!< bit: 15 Pending */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} DMAC_INTPEND_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_INTPEND_OFFSET 0x20 /**< \brief (DMAC_INTPEND offset) Interrupt Pending */ +#define DMAC_INTPEND_RESETVALUE _U_(0x0000) /**< \brief (DMAC_INTPEND reset_value) Interrupt Pending */ + +#define DMAC_INTPEND_ID_Pos 0 /**< \brief (DMAC_INTPEND) Channel ID */ +#define DMAC_INTPEND_ID_Msk (_U_(0x1F) << DMAC_INTPEND_ID_Pos) +#define DMAC_INTPEND_ID(value) (DMAC_INTPEND_ID_Msk & ((value) << DMAC_INTPEND_ID_Pos)) +#define DMAC_INTPEND_TERR_Pos 8 /**< \brief (DMAC_INTPEND) Transfer Error */ +#define DMAC_INTPEND_TERR (_U_(0x1) << DMAC_INTPEND_TERR_Pos) +#define DMAC_INTPEND_TCMPL_Pos 9 /**< \brief (DMAC_INTPEND) Transfer Complete */ +#define DMAC_INTPEND_TCMPL (_U_(0x1) << DMAC_INTPEND_TCMPL_Pos) +#define DMAC_INTPEND_SUSP_Pos 10 /**< \brief (DMAC_INTPEND) Channel Suspend */ +#define DMAC_INTPEND_SUSP (_U_(0x1) << DMAC_INTPEND_SUSP_Pos) +#define DMAC_INTPEND_CRCERR_Pos 12 /**< \brief (DMAC_INTPEND) CRC Error */ +#define DMAC_INTPEND_CRCERR (_U_(0x1) << DMAC_INTPEND_CRCERR_Pos) +#define DMAC_INTPEND_FERR_Pos 13 /**< \brief (DMAC_INTPEND) Fetch Error */ +#define DMAC_INTPEND_FERR (_U_(0x1) << DMAC_INTPEND_FERR_Pos) +#define DMAC_INTPEND_BUSY_Pos 14 /**< \brief (DMAC_INTPEND) Busy */ +#define DMAC_INTPEND_BUSY (_U_(0x1) << DMAC_INTPEND_BUSY_Pos) +#define DMAC_INTPEND_PEND_Pos 15 /**< \brief (DMAC_INTPEND) Pending */ +#define DMAC_INTPEND_PEND (_U_(0x1) << DMAC_INTPEND_PEND_Pos) +#define DMAC_INTPEND_MASK _U_(0xF71F) /**< \brief (DMAC_INTPEND) MASK Register */ + +/* -------- DMAC_INTSTATUS : (DMAC Offset: 0x24) (R/ 32) Interrupt Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t CHINT0:1; /*!< bit: 0 Channel 0 Pending Interrupt */ + uint32_t CHINT1:1; /*!< bit: 1 Channel 1 Pending Interrupt */ + uint32_t CHINT2:1; /*!< bit: 2 Channel 2 Pending Interrupt */ + uint32_t CHINT3:1; /*!< bit: 3 Channel 3 Pending Interrupt */ + uint32_t CHINT4:1; /*!< bit: 4 Channel 4 Pending Interrupt */ + uint32_t CHINT5:1; /*!< bit: 5 Channel 5 Pending Interrupt */ + uint32_t CHINT6:1; /*!< bit: 6 Channel 6 Pending Interrupt */ + uint32_t CHINT7:1; /*!< bit: 7 Channel 7 Pending Interrupt */ + uint32_t CHINT8:1; /*!< bit: 8 Channel 8 Pending Interrupt */ + uint32_t CHINT9:1; /*!< bit: 9 Channel 9 Pending Interrupt */ + uint32_t CHINT10:1; /*!< bit: 10 Channel 10 Pending Interrupt */ + uint32_t CHINT11:1; /*!< bit: 11 Channel 11 Pending Interrupt */ + uint32_t CHINT12:1; /*!< bit: 12 Channel 12 Pending Interrupt */ + uint32_t CHINT13:1; /*!< bit: 13 Channel 13 Pending Interrupt */ + uint32_t CHINT14:1; /*!< bit: 14 Channel 14 Pending Interrupt */ + uint32_t CHINT15:1; /*!< bit: 15 Channel 15 Pending Interrupt */ + uint32_t CHINT16:1; /*!< bit: 16 Channel 16 Pending Interrupt */ + uint32_t CHINT17:1; /*!< bit: 17 Channel 17 Pending Interrupt */ + uint32_t CHINT18:1; /*!< bit: 18 Channel 18 Pending Interrupt */ + uint32_t CHINT19:1; /*!< bit: 19 Channel 19 Pending Interrupt */ + uint32_t CHINT20:1; /*!< bit: 20 Channel 20 Pending Interrupt */ + uint32_t CHINT21:1; /*!< bit: 21 Channel 21 Pending Interrupt */ + uint32_t CHINT22:1; /*!< bit: 22 Channel 22 Pending Interrupt */ + uint32_t CHINT23:1; /*!< bit: 23 Channel 23 Pending Interrupt */ + uint32_t CHINT24:1; /*!< bit: 24 Channel 24 Pending Interrupt */ + uint32_t CHINT25:1; /*!< bit: 25 Channel 25 Pending Interrupt */ + uint32_t CHINT26:1; /*!< bit: 26 Channel 26 Pending Interrupt */ + uint32_t CHINT27:1; /*!< bit: 27 Channel 27 Pending Interrupt */ + uint32_t CHINT28:1; /*!< bit: 28 Channel 28 Pending Interrupt */ + uint32_t CHINT29:1; /*!< bit: 29 Channel 29 Pending Interrupt */ + uint32_t CHINT30:1; /*!< bit: 30 Channel 30 Pending Interrupt */ + uint32_t CHINT31:1; /*!< bit: 31 Channel 31 Pending Interrupt */ + } bit; /*!< Structure used for bit access */ + struct { + uint32_t CHINT:32; /*!< bit: 0..31 Channel x Pending Interrupt */ + } vec; /*!< Structure used for vec access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_INTSTATUS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_INTSTATUS_OFFSET 0x24 /**< \brief (DMAC_INTSTATUS offset) Interrupt Status */ +#define DMAC_INTSTATUS_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_INTSTATUS reset_value) Interrupt Status */ + +#define DMAC_INTSTATUS_CHINT0_Pos 0 /**< \brief (DMAC_INTSTATUS) Channel 0 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT0 (_U_(1) << DMAC_INTSTATUS_CHINT0_Pos) +#define DMAC_INTSTATUS_CHINT1_Pos 1 /**< \brief (DMAC_INTSTATUS) Channel 1 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT1 (_U_(1) << DMAC_INTSTATUS_CHINT1_Pos) +#define DMAC_INTSTATUS_CHINT2_Pos 2 /**< \brief (DMAC_INTSTATUS) Channel 2 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT2 (_U_(1) << DMAC_INTSTATUS_CHINT2_Pos) +#define DMAC_INTSTATUS_CHINT3_Pos 3 /**< \brief (DMAC_INTSTATUS) Channel 3 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT3 (_U_(1) << DMAC_INTSTATUS_CHINT3_Pos) +#define DMAC_INTSTATUS_CHINT4_Pos 4 /**< \brief (DMAC_INTSTATUS) Channel 4 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT4 (_U_(1) << DMAC_INTSTATUS_CHINT4_Pos) +#define DMAC_INTSTATUS_CHINT5_Pos 5 /**< \brief (DMAC_INTSTATUS) Channel 5 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT5 (_U_(1) << DMAC_INTSTATUS_CHINT5_Pos) +#define DMAC_INTSTATUS_CHINT6_Pos 6 /**< \brief (DMAC_INTSTATUS) Channel 6 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT6 (_U_(1) << DMAC_INTSTATUS_CHINT6_Pos) +#define DMAC_INTSTATUS_CHINT7_Pos 7 /**< \brief (DMAC_INTSTATUS) Channel 7 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT7 (_U_(1) << DMAC_INTSTATUS_CHINT7_Pos) +#define DMAC_INTSTATUS_CHINT8_Pos 8 /**< \brief (DMAC_INTSTATUS) Channel 8 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT8 (_U_(1) << DMAC_INTSTATUS_CHINT8_Pos) +#define DMAC_INTSTATUS_CHINT9_Pos 9 /**< \brief (DMAC_INTSTATUS) Channel 9 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT9 (_U_(1) << DMAC_INTSTATUS_CHINT9_Pos) +#define DMAC_INTSTATUS_CHINT10_Pos 10 /**< \brief (DMAC_INTSTATUS) Channel 10 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT10 (_U_(1) << DMAC_INTSTATUS_CHINT10_Pos) +#define DMAC_INTSTATUS_CHINT11_Pos 11 /**< \brief (DMAC_INTSTATUS) Channel 11 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT11 (_U_(1) << DMAC_INTSTATUS_CHINT11_Pos) +#define DMAC_INTSTATUS_CHINT12_Pos 12 /**< \brief (DMAC_INTSTATUS) Channel 12 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT12 (_U_(1) << DMAC_INTSTATUS_CHINT12_Pos) +#define DMAC_INTSTATUS_CHINT13_Pos 13 /**< \brief (DMAC_INTSTATUS) Channel 13 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT13 (_U_(1) << DMAC_INTSTATUS_CHINT13_Pos) +#define DMAC_INTSTATUS_CHINT14_Pos 14 /**< \brief (DMAC_INTSTATUS) Channel 14 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT14 (_U_(1) << DMAC_INTSTATUS_CHINT14_Pos) +#define DMAC_INTSTATUS_CHINT15_Pos 15 /**< \brief (DMAC_INTSTATUS) Channel 15 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT15 (_U_(1) << DMAC_INTSTATUS_CHINT15_Pos) +#define DMAC_INTSTATUS_CHINT16_Pos 16 /**< \brief (DMAC_INTSTATUS) Channel 16 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT16 (_U_(1) << DMAC_INTSTATUS_CHINT16_Pos) +#define DMAC_INTSTATUS_CHINT17_Pos 17 /**< \brief (DMAC_INTSTATUS) Channel 17 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT17 (_U_(1) << DMAC_INTSTATUS_CHINT17_Pos) +#define DMAC_INTSTATUS_CHINT18_Pos 18 /**< \brief (DMAC_INTSTATUS) Channel 18 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT18 (_U_(1) << DMAC_INTSTATUS_CHINT18_Pos) +#define DMAC_INTSTATUS_CHINT19_Pos 19 /**< \brief (DMAC_INTSTATUS) Channel 19 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT19 (_U_(1) << DMAC_INTSTATUS_CHINT19_Pos) +#define DMAC_INTSTATUS_CHINT20_Pos 20 /**< \brief (DMAC_INTSTATUS) Channel 20 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT20 (_U_(1) << DMAC_INTSTATUS_CHINT20_Pos) +#define DMAC_INTSTATUS_CHINT21_Pos 21 /**< \brief (DMAC_INTSTATUS) Channel 21 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT21 (_U_(1) << DMAC_INTSTATUS_CHINT21_Pos) +#define DMAC_INTSTATUS_CHINT22_Pos 22 /**< \brief (DMAC_INTSTATUS) Channel 22 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT22 (_U_(1) << DMAC_INTSTATUS_CHINT22_Pos) +#define DMAC_INTSTATUS_CHINT23_Pos 23 /**< \brief (DMAC_INTSTATUS) Channel 23 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT23 (_U_(1) << DMAC_INTSTATUS_CHINT23_Pos) +#define DMAC_INTSTATUS_CHINT24_Pos 24 /**< \brief (DMAC_INTSTATUS) Channel 24 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT24 (_U_(1) << DMAC_INTSTATUS_CHINT24_Pos) +#define DMAC_INTSTATUS_CHINT25_Pos 25 /**< \brief (DMAC_INTSTATUS) Channel 25 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT25 (_U_(1) << DMAC_INTSTATUS_CHINT25_Pos) +#define DMAC_INTSTATUS_CHINT26_Pos 26 /**< \brief (DMAC_INTSTATUS) Channel 26 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT26 (_U_(1) << DMAC_INTSTATUS_CHINT26_Pos) +#define DMAC_INTSTATUS_CHINT27_Pos 27 /**< \brief (DMAC_INTSTATUS) Channel 27 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT27 (_U_(1) << DMAC_INTSTATUS_CHINT27_Pos) +#define DMAC_INTSTATUS_CHINT28_Pos 28 /**< \brief (DMAC_INTSTATUS) Channel 28 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT28 (_U_(1) << DMAC_INTSTATUS_CHINT28_Pos) +#define DMAC_INTSTATUS_CHINT29_Pos 29 /**< \brief (DMAC_INTSTATUS) Channel 29 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT29 (_U_(1) << DMAC_INTSTATUS_CHINT29_Pos) +#define DMAC_INTSTATUS_CHINT30_Pos 30 /**< \brief (DMAC_INTSTATUS) Channel 30 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT30 (_U_(1) << DMAC_INTSTATUS_CHINT30_Pos) +#define DMAC_INTSTATUS_CHINT31_Pos 31 /**< \brief (DMAC_INTSTATUS) Channel 31 Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT31 (_U_(1) << DMAC_INTSTATUS_CHINT31_Pos) +#define DMAC_INTSTATUS_CHINT_Pos 0 /**< \brief (DMAC_INTSTATUS) Channel x Pending Interrupt */ +#define DMAC_INTSTATUS_CHINT_Msk (_U_(0xFFFFFFFF) << DMAC_INTSTATUS_CHINT_Pos) +#define DMAC_INTSTATUS_CHINT(value) (DMAC_INTSTATUS_CHINT_Msk & ((value) << DMAC_INTSTATUS_CHINT_Pos)) +#define DMAC_INTSTATUS_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_INTSTATUS) MASK Register */ + +/* -------- DMAC_BUSYCH : (DMAC Offset: 0x28) (R/ 32) Busy Channels -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t BUSYCH0:1; /*!< bit: 0 Busy Channel 0 */ + uint32_t BUSYCH1:1; /*!< bit: 1 Busy Channel 1 */ + uint32_t BUSYCH2:1; /*!< bit: 2 Busy Channel 2 */ + uint32_t BUSYCH3:1; /*!< bit: 3 Busy Channel 3 */ + uint32_t BUSYCH4:1; /*!< bit: 4 Busy Channel 4 */ + uint32_t BUSYCH5:1; /*!< bit: 5 Busy Channel 5 */ + uint32_t BUSYCH6:1; /*!< bit: 6 Busy Channel 6 */ + uint32_t BUSYCH7:1; /*!< bit: 7 Busy Channel 7 */ + uint32_t BUSYCH8:1; /*!< bit: 8 Busy Channel 8 */ + uint32_t BUSYCH9:1; /*!< bit: 9 Busy Channel 9 */ + uint32_t BUSYCH10:1; /*!< bit: 10 Busy Channel 10 */ + uint32_t BUSYCH11:1; /*!< bit: 11 Busy Channel 11 */ + uint32_t BUSYCH12:1; /*!< bit: 12 Busy Channel 12 */ + uint32_t BUSYCH13:1; /*!< bit: 13 Busy Channel 13 */ + uint32_t BUSYCH14:1; /*!< bit: 14 Busy Channel 14 */ + uint32_t BUSYCH15:1; /*!< bit: 15 Busy Channel 15 */ + uint32_t BUSYCH16:1; /*!< bit: 16 Busy Channel 16 */ + uint32_t BUSYCH17:1; /*!< bit: 17 Busy Channel 17 */ + uint32_t BUSYCH18:1; /*!< bit: 18 Busy Channel 18 */ + uint32_t BUSYCH19:1; /*!< bit: 19 Busy Channel 19 */ + uint32_t BUSYCH20:1; /*!< bit: 20 Busy Channel 20 */ + uint32_t BUSYCH21:1; /*!< bit: 21 Busy Channel 21 */ + uint32_t BUSYCH22:1; /*!< bit: 22 Busy Channel 22 */ + uint32_t BUSYCH23:1; /*!< bit: 23 Busy Channel 23 */ + uint32_t BUSYCH24:1; /*!< bit: 24 Busy Channel 24 */ + uint32_t BUSYCH25:1; /*!< bit: 25 Busy Channel 25 */ + uint32_t BUSYCH26:1; /*!< bit: 26 Busy Channel 26 */ + uint32_t BUSYCH27:1; /*!< bit: 27 Busy Channel 27 */ + uint32_t BUSYCH28:1; /*!< bit: 28 Busy Channel 28 */ + uint32_t BUSYCH29:1; /*!< bit: 29 Busy Channel 29 */ + uint32_t BUSYCH30:1; /*!< bit: 30 Busy Channel 30 */ + uint32_t BUSYCH31:1; /*!< bit: 31 Busy Channel 31 */ + } bit; /*!< Structure used for bit access */ + struct { + uint32_t BUSYCH:32; /*!< bit: 0..31 Busy Channel x */ + } vec; /*!< Structure used for vec access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_BUSYCH_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_BUSYCH_OFFSET 0x28 /**< \brief (DMAC_BUSYCH offset) Busy Channels */ +#define DMAC_BUSYCH_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_BUSYCH reset_value) Busy Channels */ + +#define DMAC_BUSYCH_BUSYCH0_Pos 0 /**< \brief (DMAC_BUSYCH) Busy Channel 0 */ +#define DMAC_BUSYCH_BUSYCH0 (_U_(1) << DMAC_BUSYCH_BUSYCH0_Pos) +#define DMAC_BUSYCH_BUSYCH1_Pos 1 /**< \brief (DMAC_BUSYCH) Busy Channel 1 */ +#define DMAC_BUSYCH_BUSYCH1 (_U_(1) << DMAC_BUSYCH_BUSYCH1_Pos) +#define DMAC_BUSYCH_BUSYCH2_Pos 2 /**< \brief (DMAC_BUSYCH) Busy Channel 2 */ +#define DMAC_BUSYCH_BUSYCH2 (_U_(1) << DMAC_BUSYCH_BUSYCH2_Pos) +#define DMAC_BUSYCH_BUSYCH3_Pos 3 /**< \brief (DMAC_BUSYCH) Busy Channel 3 */ +#define DMAC_BUSYCH_BUSYCH3 (_U_(1) << DMAC_BUSYCH_BUSYCH3_Pos) +#define DMAC_BUSYCH_BUSYCH4_Pos 4 /**< \brief (DMAC_BUSYCH) Busy Channel 4 */ +#define DMAC_BUSYCH_BUSYCH4 (_U_(1) << DMAC_BUSYCH_BUSYCH4_Pos) +#define DMAC_BUSYCH_BUSYCH5_Pos 5 /**< \brief (DMAC_BUSYCH) Busy Channel 5 */ +#define DMAC_BUSYCH_BUSYCH5 (_U_(1) << DMAC_BUSYCH_BUSYCH5_Pos) +#define DMAC_BUSYCH_BUSYCH6_Pos 6 /**< \brief (DMAC_BUSYCH) Busy Channel 6 */ +#define DMAC_BUSYCH_BUSYCH6 (_U_(1) << DMAC_BUSYCH_BUSYCH6_Pos) +#define DMAC_BUSYCH_BUSYCH7_Pos 7 /**< \brief (DMAC_BUSYCH) Busy Channel 7 */ +#define DMAC_BUSYCH_BUSYCH7 (_U_(1) << DMAC_BUSYCH_BUSYCH7_Pos) +#define DMAC_BUSYCH_BUSYCH8_Pos 8 /**< \brief (DMAC_BUSYCH) Busy Channel 8 */ +#define DMAC_BUSYCH_BUSYCH8 (_U_(1) << DMAC_BUSYCH_BUSYCH8_Pos) +#define DMAC_BUSYCH_BUSYCH9_Pos 9 /**< \brief (DMAC_BUSYCH) Busy Channel 9 */ +#define DMAC_BUSYCH_BUSYCH9 (_U_(1) << DMAC_BUSYCH_BUSYCH9_Pos) +#define DMAC_BUSYCH_BUSYCH10_Pos 10 /**< \brief (DMAC_BUSYCH) Busy Channel 10 */ +#define DMAC_BUSYCH_BUSYCH10 (_U_(1) << DMAC_BUSYCH_BUSYCH10_Pos) +#define DMAC_BUSYCH_BUSYCH11_Pos 11 /**< \brief (DMAC_BUSYCH) Busy Channel 11 */ +#define DMAC_BUSYCH_BUSYCH11 (_U_(1) << DMAC_BUSYCH_BUSYCH11_Pos) +#define DMAC_BUSYCH_BUSYCH12_Pos 12 /**< \brief (DMAC_BUSYCH) Busy Channel 12 */ +#define DMAC_BUSYCH_BUSYCH12 (_U_(1) << DMAC_BUSYCH_BUSYCH12_Pos) +#define DMAC_BUSYCH_BUSYCH13_Pos 13 /**< \brief (DMAC_BUSYCH) Busy Channel 13 */ +#define DMAC_BUSYCH_BUSYCH13 (_U_(1) << DMAC_BUSYCH_BUSYCH13_Pos) +#define DMAC_BUSYCH_BUSYCH14_Pos 14 /**< \brief (DMAC_BUSYCH) Busy Channel 14 */ +#define DMAC_BUSYCH_BUSYCH14 (_U_(1) << DMAC_BUSYCH_BUSYCH14_Pos) +#define DMAC_BUSYCH_BUSYCH15_Pos 15 /**< \brief (DMAC_BUSYCH) Busy Channel 15 */ +#define DMAC_BUSYCH_BUSYCH15 (_U_(1) << DMAC_BUSYCH_BUSYCH15_Pos) +#define DMAC_BUSYCH_BUSYCH16_Pos 16 /**< \brief (DMAC_BUSYCH) Busy Channel 16 */ +#define DMAC_BUSYCH_BUSYCH16 (_U_(1) << DMAC_BUSYCH_BUSYCH16_Pos) +#define DMAC_BUSYCH_BUSYCH17_Pos 17 /**< \brief (DMAC_BUSYCH) Busy Channel 17 */ +#define DMAC_BUSYCH_BUSYCH17 (_U_(1) << DMAC_BUSYCH_BUSYCH17_Pos) +#define DMAC_BUSYCH_BUSYCH18_Pos 18 /**< \brief (DMAC_BUSYCH) Busy Channel 18 */ +#define DMAC_BUSYCH_BUSYCH18 (_U_(1) << DMAC_BUSYCH_BUSYCH18_Pos) +#define DMAC_BUSYCH_BUSYCH19_Pos 19 /**< \brief (DMAC_BUSYCH) Busy Channel 19 */ +#define DMAC_BUSYCH_BUSYCH19 (_U_(1) << DMAC_BUSYCH_BUSYCH19_Pos) +#define DMAC_BUSYCH_BUSYCH20_Pos 20 /**< \brief (DMAC_BUSYCH) Busy Channel 20 */ +#define DMAC_BUSYCH_BUSYCH20 (_U_(1) << DMAC_BUSYCH_BUSYCH20_Pos) +#define DMAC_BUSYCH_BUSYCH21_Pos 21 /**< \brief (DMAC_BUSYCH) Busy Channel 21 */ +#define DMAC_BUSYCH_BUSYCH21 (_U_(1) << DMAC_BUSYCH_BUSYCH21_Pos) +#define DMAC_BUSYCH_BUSYCH22_Pos 22 /**< \brief (DMAC_BUSYCH) Busy Channel 22 */ +#define DMAC_BUSYCH_BUSYCH22 (_U_(1) << DMAC_BUSYCH_BUSYCH22_Pos) +#define DMAC_BUSYCH_BUSYCH23_Pos 23 /**< \brief (DMAC_BUSYCH) Busy Channel 23 */ +#define DMAC_BUSYCH_BUSYCH23 (_U_(1) << DMAC_BUSYCH_BUSYCH23_Pos) +#define DMAC_BUSYCH_BUSYCH24_Pos 24 /**< \brief (DMAC_BUSYCH) Busy Channel 24 */ +#define DMAC_BUSYCH_BUSYCH24 (_U_(1) << DMAC_BUSYCH_BUSYCH24_Pos) +#define DMAC_BUSYCH_BUSYCH25_Pos 25 /**< \brief (DMAC_BUSYCH) Busy Channel 25 */ +#define DMAC_BUSYCH_BUSYCH25 (_U_(1) << DMAC_BUSYCH_BUSYCH25_Pos) +#define DMAC_BUSYCH_BUSYCH26_Pos 26 /**< \brief (DMAC_BUSYCH) Busy Channel 26 */ +#define DMAC_BUSYCH_BUSYCH26 (_U_(1) << DMAC_BUSYCH_BUSYCH26_Pos) +#define DMAC_BUSYCH_BUSYCH27_Pos 27 /**< \brief (DMAC_BUSYCH) Busy Channel 27 */ +#define DMAC_BUSYCH_BUSYCH27 (_U_(1) << DMAC_BUSYCH_BUSYCH27_Pos) +#define DMAC_BUSYCH_BUSYCH28_Pos 28 /**< \brief (DMAC_BUSYCH) Busy Channel 28 */ +#define DMAC_BUSYCH_BUSYCH28 (_U_(1) << DMAC_BUSYCH_BUSYCH28_Pos) +#define DMAC_BUSYCH_BUSYCH29_Pos 29 /**< \brief (DMAC_BUSYCH) Busy Channel 29 */ +#define DMAC_BUSYCH_BUSYCH29 (_U_(1) << DMAC_BUSYCH_BUSYCH29_Pos) +#define DMAC_BUSYCH_BUSYCH30_Pos 30 /**< \brief (DMAC_BUSYCH) Busy Channel 30 */ +#define DMAC_BUSYCH_BUSYCH30 (_U_(1) << DMAC_BUSYCH_BUSYCH30_Pos) +#define DMAC_BUSYCH_BUSYCH31_Pos 31 /**< \brief (DMAC_BUSYCH) Busy Channel 31 */ +#define DMAC_BUSYCH_BUSYCH31 (_U_(1) << DMAC_BUSYCH_BUSYCH31_Pos) +#define DMAC_BUSYCH_BUSYCH_Pos 0 /**< \brief (DMAC_BUSYCH) Busy Channel x */ +#define DMAC_BUSYCH_BUSYCH_Msk (_U_(0xFFFFFFFF) << DMAC_BUSYCH_BUSYCH_Pos) +#define DMAC_BUSYCH_BUSYCH(value) (DMAC_BUSYCH_BUSYCH_Msk & ((value) << DMAC_BUSYCH_BUSYCH_Pos)) +#define DMAC_BUSYCH_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_BUSYCH) MASK Register */ + +/* -------- DMAC_PENDCH : (DMAC Offset: 0x2C) (R/ 32) Pending Channels -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t PENDCH0:1; /*!< bit: 0 Pending Channel 0 */ + uint32_t PENDCH1:1; /*!< bit: 1 Pending Channel 1 */ + uint32_t PENDCH2:1; /*!< bit: 2 Pending Channel 2 */ + uint32_t PENDCH3:1; /*!< bit: 3 Pending Channel 3 */ + uint32_t PENDCH4:1; /*!< bit: 4 Pending Channel 4 */ + uint32_t PENDCH5:1; /*!< bit: 5 Pending Channel 5 */ + uint32_t PENDCH6:1; /*!< bit: 6 Pending Channel 6 */ + uint32_t PENDCH7:1; /*!< bit: 7 Pending Channel 7 */ + uint32_t PENDCH8:1; /*!< bit: 8 Pending Channel 8 */ + uint32_t PENDCH9:1; /*!< bit: 9 Pending Channel 9 */ + uint32_t PENDCH10:1; /*!< bit: 10 Pending Channel 10 */ + uint32_t PENDCH11:1; /*!< bit: 11 Pending Channel 11 */ + uint32_t PENDCH12:1; /*!< bit: 12 Pending Channel 12 */ + uint32_t PENDCH13:1; /*!< bit: 13 Pending Channel 13 */ + uint32_t PENDCH14:1; /*!< bit: 14 Pending Channel 14 */ + uint32_t PENDCH15:1; /*!< bit: 15 Pending Channel 15 */ + uint32_t PENDCH16:1; /*!< bit: 16 Pending Channel 16 */ + uint32_t PENDCH17:1; /*!< bit: 17 Pending Channel 17 */ + uint32_t PENDCH18:1; /*!< bit: 18 Pending Channel 18 */ + uint32_t PENDCH19:1; /*!< bit: 19 Pending Channel 19 */ + uint32_t PENDCH20:1; /*!< bit: 20 Pending Channel 20 */ + uint32_t PENDCH21:1; /*!< bit: 21 Pending Channel 21 */ + uint32_t PENDCH22:1; /*!< bit: 22 Pending Channel 22 */ + uint32_t PENDCH23:1; /*!< bit: 23 Pending Channel 23 */ + uint32_t PENDCH24:1; /*!< bit: 24 Pending Channel 24 */ + uint32_t PENDCH25:1; /*!< bit: 25 Pending Channel 25 */ + uint32_t PENDCH26:1; /*!< bit: 26 Pending Channel 26 */ + uint32_t PENDCH27:1; /*!< bit: 27 Pending Channel 27 */ + uint32_t PENDCH28:1; /*!< bit: 28 Pending Channel 28 */ + uint32_t PENDCH29:1; /*!< bit: 29 Pending Channel 29 */ + uint32_t PENDCH30:1; /*!< bit: 30 Pending Channel 30 */ + uint32_t PENDCH31:1; /*!< bit: 31 Pending Channel 31 */ + } bit; /*!< Structure used for bit access */ + struct { + uint32_t PENDCH:32; /*!< bit: 0..31 Pending Channel x */ + } vec; /*!< Structure used for vec access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_PENDCH_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_PENDCH_OFFSET 0x2C /**< \brief (DMAC_PENDCH offset) Pending Channels */ +#define DMAC_PENDCH_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_PENDCH reset_value) Pending Channels */ + +#define DMAC_PENDCH_PENDCH0_Pos 0 /**< \brief (DMAC_PENDCH) Pending Channel 0 */ +#define DMAC_PENDCH_PENDCH0 (_U_(1) << DMAC_PENDCH_PENDCH0_Pos) +#define DMAC_PENDCH_PENDCH1_Pos 1 /**< \brief (DMAC_PENDCH) Pending Channel 1 */ +#define DMAC_PENDCH_PENDCH1 (_U_(1) << DMAC_PENDCH_PENDCH1_Pos) +#define DMAC_PENDCH_PENDCH2_Pos 2 /**< \brief (DMAC_PENDCH) Pending Channel 2 */ +#define DMAC_PENDCH_PENDCH2 (_U_(1) << DMAC_PENDCH_PENDCH2_Pos) +#define DMAC_PENDCH_PENDCH3_Pos 3 /**< \brief (DMAC_PENDCH) Pending Channel 3 */ +#define DMAC_PENDCH_PENDCH3 (_U_(1) << DMAC_PENDCH_PENDCH3_Pos) +#define DMAC_PENDCH_PENDCH4_Pos 4 /**< \brief (DMAC_PENDCH) Pending Channel 4 */ +#define DMAC_PENDCH_PENDCH4 (_U_(1) << DMAC_PENDCH_PENDCH4_Pos) +#define DMAC_PENDCH_PENDCH5_Pos 5 /**< \brief (DMAC_PENDCH) Pending Channel 5 */ +#define DMAC_PENDCH_PENDCH5 (_U_(1) << DMAC_PENDCH_PENDCH5_Pos) +#define DMAC_PENDCH_PENDCH6_Pos 6 /**< \brief (DMAC_PENDCH) Pending Channel 6 */ +#define DMAC_PENDCH_PENDCH6 (_U_(1) << DMAC_PENDCH_PENDCH6_Pos) +#define DMAC_PENDCH_PENDCH7_Pos 7 /**< \brief (DMAC_PENDCH) Pending Channel 7 */ +#define DMAC_PENDCH_PENDCH7 (_U_(1) << DMAC_PENDCH_PENDCH7_Pos) +#define DMAC_PENDCH_PENDCH8_Pos 8 /**< \brief (DMAC_PENDCH) Pending Channel 8 */ +#define DMAC_PENDCH_PENDCH8 (_U_(1) << DMAC_PENDCH_PENDCH8_Pos) +#define DMAC_PENDCH_PENDCH9_Pos 9 /**< \brief (DMAC_PENDCH) Pending Channel 9 */ +#define DMAC_PENDCH_PENDCH9 (_U_(1) << DMAC_PENDCH_PENDCH9_Pos) +#define DMAC_PENDCH_PENDCH10_Pos 10 /**< \brief (DMAC_PENDCH) Pending Channel 10 */ +#define DMAC_PENDCH_PENDCH10 (_U_(1) << DMAC_PENDCH_PENDCH10_Pos) +#define DMAC_PENDCH_PENDCH11_Pos 11 /**< \brief (DMAC_PENDCH) Pending Channel 11 */ +#define DMAC_PENDCH_PENDCH11 (_U_(1) << DMAC_PENDCH_PENDCH11_Pos) +#define DMAC_PENDCH_PENDCH12_Pos 12 /**< \brief (DMAC_PENDCH) Pending Channel 12 */ +#define DMAC_PENDCH_PENDCH12 (_U_(1) << DMAC_PENDCH_PENDCH12_Pos) +#define DMAC_PENDCH_PENDCH13_Pos 13 /**< \brief (DMAC_PENDCH) Pending Channel 13 */ +#define DMAC_PENDCH_PENDCH13 (_U_(1) << DMAC_PENDCH_PENDCH13_Pos) +#define DMAC_PENDCH_PENDCH14_Pos 14 /**< \brief (DMAC_PENDCH) Pending Channel 14 */ +#define DMAC_PENDCH_PENDCH14 (_U_(1) << DMAC_PENDCH_PENDCH14_Pos) +#define DMAC_PENDCH_PENDCH15_Pos 15 /**< \brief (DMAC_PENDCH) Pending Channel 15 */ +#define DMAC_PENDCH_PENDCH15 (_U_(1) << DMAC_PENDCH_PENDCH15_Pos) +#define DMAC_PENDCH_PENDCH16_Pos 16 /**< \brief (DMAC_PENDCH) Pending Channel 16 */ +#define DMAC_PENDCH_PENDCH16 (_U_(1) << DMAC_PENDCH_PENDCH16_Pos) +#define DMAC_PENDCH_PENDCH17_Pos 17 /**< \brief (DMAC_PENDCH) Pending Channel 17 */ +#define DMAC_PENDCH_PENDCH17 (_U_(1) << DMAC_PENDCH_PENDCH17_Pos) +#define DMAC_PENDCH_PENDCH18_Pos 18 /**< \brief (DMAC_PENDCH) Pending Channel 18 */ +#define DMAC_PENDCH_PENDCH18 (_U_(1) << DMAC_PENDCH_PENDCH18_Pos) +#define DMAC_PENDCH_PENDCH19_Pos 19 /**< \brief (DMAC_PENDCH) Pending Channel 19 */ +#define DMAC_PENDCH_PENDCH19 (_U_(1) << DMAC_PENDCH_PENDCH19_Pos) +#define DMAC_PENDCH_PENDCH20_Pos 20 /**< \brief (DMAC_PENDCH) Pending Channel 20 */ +#define DMAC_PENDCH_PENDCH20 (_U_(1) << DMAC_PENDCH_PENDCH20_Pos) +#define DMAC_PENDCH_PENDCH21_Pos 21 /**< \brief (DMAC_PENDCH) Pending Channel 21 */ +#define DMAC_PENDCH_PENDCH21 (_U_(1) << DMAC_PENDCH_PENDCH21_Pos) +#define DMAC_PENDCH_PENDCH22_Pos 22 /**< \brief (DMAC_PENDCH) Pending Channel 22 */ +#define DMAC_PENDCH_PENDCH22 (_U_(1) << DMAC_PENDCH_PENDCH22_Pos) +#define DMAC_PENDCH_PENDCH23_Pos 23 /**< \brief (DMAC_PENDCH) Pending Channel 23 */ +#define DMAC_PENDCH_PENDCH23 (_U_(1) << DMAC_PENDCH_PENDCH23_Pos) +#define DMAC_PENDCH_PENDCH24_Pos 24 /**< \brief (DMAC_PENDCH) Pending Channel 24 */ +#define DMAC_PENDCH_PENDCH24 (_U_(1) << DMAC_PENDCH_PENDCH24_Pos) +#define DMAC_PENDCH_PENDCH25_Pos 25 /**< \brief (DMAC_PENDCH) Pending Channel 25 */ +#define DMAC_PENDCH_PENDCH25 (_U_(1) << DMAC_PENDCH_PENDCH25_Pos) +#define DMAC_PENDCH_PENDCH26_Pos 26 /**< \brief (DMAC_PENDCH) Pending Channel 26 */ +#define DMAC_PENDCH_PENDCH26 (_U_(1) << DMAC_PENDCH_PENDCH26_Pos) +#define DMAC_PENDCH_PENDCH27_Pos 27 /**< \brief (DMAC_PENDCH) Pending Channel 27 */ +#define DMAC_PENDCH_PENDCH27 (_U_(1) << DMAC_PENDCH_PENDCH27_Pos) +#define DMAC_PENDCH_PENDCH28_Pos 28 /**< \brief (DMAC_PENDCH) Pending Channel 28 */ +#define DMAC_PENDCH_PENDCH28 (_U_(1) << DMAC_PENDCH_PENDCH28_Pos) +#define DMAC_PENDCH_PENDCH29_Pos 29 /**< \brief (DMAC_PENDCH) Pending Channel 29 */ +#define DMAC_PENDCH_PENDCH29 (_U_(1) << DMAC_PENDCH_PENDCH29_Pos) +#define DMAC_PENDCH_PENDCH30_Pos 30 /**< \brief (DMAC_PENDCH) Pending Channel 30 */ +#define DMAC_PENDCH_PENDCH30 (_U_(1) << DMAC_PENDCH_PENDCH30_Pos) +#define DMAC_PENDCH_PENDCH31_Pos 31 /**< \brief (DMAC_PENDCH) Pending Channel 31 */ +#define DMAC_PENDCH_PENDCH31 (_U_(1) << DMAC_PENDCH_PENDCH31_Pos) +#define DMAC_PENDCH_PENDCH_Pos 0 /**< \brief (DMAC_PENDCH) Pending Channel x */ +#define DMAC_PENDCH_PENDCH_Msk (_U_(0xFFFFFFFF) << DMAC_PENDCH_PENDCH_Pos) +#define DMAC_PENDCH_PENDCH(value) (DMAC_PENDCH_PENDCH_Msk & ((value) << DMAC_PENDCH_PENDCH_Pos)) +#define DMAC_PENDCH_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_PENDCH) MASK Register */ + +/* -------- DMAC_ACTIVE : (DMAC Offset: 0x30) (R/ 32) Active Channel and Levels -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t LVLEX0:1; /*!< bit: 0 Level 0 Channel Trigger Request Executing */ + uint32_t LVLEX1:1; /*!< bit: 1 Level 1 Channel Trigger Request Executing */ + uint32_t LVLEX2:1; /*!< bit: 2 Level 2 Channel Trigger Request Executing */ + uint32_t LVLEX3:1; /*!< bit: 3 Level 3 Channel Trigger Request Executing */ + uint32_t :4; /*!< bit: 4.. 7 Reserved */ + uint32_t ID:5; /*!< bit: 8..12 Active Channel ID */ + uint32_t :2; /*!< bit: 13..14 Reserved */ + uint32_t ABUSY:1; /*!< bit: 15 Active Channel Busy */ + uint32_t BTCNT:16; /*!< bit: 16..31 Active Channel Block Transfer Count */ + } bit; /*!< Structure used for bit access */ + struct { + uint32_t LVLEX:4; /*!< bit: 0.. 3 Level x Channel Trigger Request Executing */ + uint32_t :28; /*!< bit: 4..31 Reserved */ + } vec; /*!< Structure used for vec access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_ACTIVE_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_ACTIVE_OFFSET 0x30 /**< \brief (DMAC_ACTIVE offset) Active Channel and Levels */ +#define DMAC_ACTIVE_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_ACTIVE reset_value) Active Channel and Levels */ + +#define DMAC_ACTIVE_LVLEX0_Pos 0 /**< \brief (DMAC_ACTIVE) Level 0 Channel Trigger Request Executing */ +#define DMAC_ACTIVE_LVLEX0 (_U_(1) << DMAC_ACTIVE_LVLEX0_Pos) +#define DMAC_ACTIVE_LVLEX1_Pos 1 /**< \brief (DMAC_ACTIVE) Level 1 Channel Trigger Request Executing */ +#define DMAC_ACTIVE_LVLEX1 (_U_(1) << DMAC_ACTIVE_LVLEX1_Pos) +#define DMAC_ACTIVE_LVLEX2_Pos 2 /**< \brief (DMAC_ACTIVE) Level 2 Channel Trigger Request Executing */ +#define DMAC_ACTIVE_LVLEX2 (_U_(1) << DMAC_ACTIVE_LVLEX2_Pos) +#define DMAC_ACTIVE_LVLEX3_Pos 3 /**< \brief (DMAC_ACTIVE) Level 3 Channel Trigger Request Executing */ +#define DMAC_ACTIVE_LVLEX3 (_U_(1) << DMAC_ACTIVE_LVLEX3_Pos) +#define DMAC_ACTIVE_LVLEX_Pos 0 /**< \brief (DMAC_ACTIVE) Level x Channel Trigger Request Executing */ +#define DMAC_ACTIVE_LVLEX_Msk (_U_(0xF) << DMAC_ACTIVE_LVLEX_Pos) +#define DMAC_ACTIVE_LVLEX(value) (DMAC_ACTIVE_LVLEX_Msk & ((value) << DMAC_ACTIVE_LVLEX_Pos)) +#define DMAC_ACTIVE_ID_Pos 8 /**< \brief (DMAC_ACTIVE) Active Channel ID */ +#define DMAC_ACTIVE_ID_Msk (_U_(0x1F) << DMAC_ACTIVE_ID_Pos) +#define DMAC_ACTIVE_ID(value) (DMAC_ACTIVE_ID_Msk & ((value) << DMAC_ACTIVE_ID_Pos)) +#define DMAC_ACTIVE_ABUSY_Pos 15 /**< \brief (DMAC_ACTIVE) Active Channel Busy */ +#define DMAC_ACTIVE_ABUSY (_U_(0x1) << DMAC_ACTIVE_ABUSY_Pos) +#define DMAC_ACTIVE_BTCNT_Pos 16 /**< \brief (DMAC_ACTIVE) Active Channel Block Transfer Count */ +#define DMAC_ACTIVE_BTCNT_Msk (_U_(0xFFFF) << DMAC_ACTIVE_BTCNT_Pos) +#define DMAC_ACTIVE_BTCNT(value) (DMAC_ACTIVE_BTCNT_Msk & ((value) << DMAC_ACTIVE_BTCNT_Pos)) +#define DMAC_ACTIVE_MASK _U_(0xFFFF9F0F) /**< \brief (DMAC_ACTIVE) MASK Register */ + +/* -------- DMAC_BASEADDR : (DMAC Offset: 0x34) (R/W 32) Descriptor Memory Section Base Address -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t BASEADDR:32; /*!< bit: 0..31 Descriptor Memory Base Address */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_BASEADDR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_BASEADDR_OFFSET 0x34 /**< \brief (DMAC_BASEADDR offset) Descriptor Memory Section Base Address */ +#define DMAC_BASEADDR_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_BASEADDR reset_value) Descriptor Memory Section Base Address */ + +#define DMAC_BASEADDR_BASEADDR_Pos 0 /**< \brief (DMAC_BASEADDR) Descriptor Memory Base Address */ +#define DMAC_BASEADDR_BASEADDR_Msk (_U_(0xFFFFFFFF) << DMAC_BASEADDR_BASEADDR_Pos) +#define DMAC_BASEADDR_BASEADDR(value) (DMAC_BASEADDR_BASEADDR_Msk & ((value) << DMAC_BASEADDR_BASEADDR_Pos)) +#define DMAC_BASEADDR_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_BASEADDR) MASK Register */ + +/* -------- DMAC_WRBADDR : (DMAC Offset: 0x38) (R/W 32) Write-Back Memory Section Base Address -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t WRBADDR:32; /*!< bit: 0..31 Write-Back Memory Base Address */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_WRBADDR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_WRBADDR_OFFSET 0x38 /**< \brief (DMAC_WRBADDR offset) Write-Back Memory Section Base Address */ +#define DMAC_WRBADDR_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_WRBADDR reset_value) Write-Back Memory Section Base Address */ + +#define DMAC_WRBADDR_WRBADDR_Pos 0 /**< \brief (DMAC_WRBADDR) Write-Back Memory Base Address */ +#define DMAC_WRBADDR_WRBADDR_Msk (_U_(0xFFFFFFFF) << DMAC_WRBADDR_WRBADDR_Pos) +#define DMAC_WRBADDR_WRBADDR(value) (DMAC_WRBADDR_WRBADDR_Msk & ((value) << DMAC_WRBADDR_WRBADDR_Pos)) +#define DMAC_WRBADDR_MASK _U_(0xFFFFFFFF) /**< \brief (DMAC_WRBADDR) MASK Register */ + +/* -------- DMAC_CHCTRLA : (DMAC Offset: 0x40) (R/W 32) CHANNEL Channel n Control A -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint32_t SWRST:1; /*!< bit: 0 Channel Software Reset */ + uint32_t ENABLE:1; /*!< bit: 1 Channel Enable */ + uint32_t :4; /*!< bit: 2.. 5 Reserved */ + uint32_t RUNSTDBY:1; /*!< bit: 6 Channel Run in Standby */ + uint32_t :1; /*!< bit: 7 Reserved */ + uint32_t TRIGSRC:7; /*!< bit: 8..14 Trigger Source */ + uint32_t :5; /*!< bit: 15..19 Reserved */ + uint32_t TRIGACT:2; /*!< bit: 20..21 Trigger Action */ + uint32_t :2; /*!< bit: 22..23 Reserved */ + uint32_t BURSTLEN:4; /*!< bit: 24..27 Burst Length */ + uint32_t THRESHOLD:2; /*!< bit: 28..29 FIFO Threshold */ + uint32_t :2; /*!< bit: 30..31 Reserved */ + } bit; /*!< Structure used for bit access */ + uint32_t reg; /*!< Type used for register access */ +} DMAC_CHCTRLA_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CHCTRLA_OFFSET 0x40 /**< \brief (DMAC_CHCTRLA offset) Channel n Control A */ +#define DMAC_CHCTRLA_RESETVALUE _U_(0x00000000) /**< \brief (DMAC_CHCTRLA reset_value) Channel n Control A */ + +#define DMAC_CHCTRLA_SWRST_Pos 0 /**< \brief (DMAC_CHCTRLA) Channel Software Reset */ +#define DMAC_CHCTRLA_SWRST (_U_(0x1) << DMAC_CHCTRLA_SWRST_Pos) +#define DMAC_CHCTRLA_ENABLE_Pos 1 /**< \brief (DMAC_CHCTRLA) Channel Enable */ +#define DMAC_CHCTRLA_ENABLE (_U_(0x1) << DMAC_CHCTRLA_ENABLE_Pos) +#define DMAC_CHCTRLA_RUNSTDBY_Pos 6 /**< \brief (DMAC_CHCTRLA) Channel Run in Standby */ +#define DMAC_CHCTRLA_RUNSTDBY (_U_(0x1) << DMAC_CHCTRLA_RUNSTDBY_Pos) +#define DMAC_CHCTRLA_TRIGSRC_Pos 8 /**< \brief (DMAC_CHCTRLA) Trigger Source */ +#define DMAC_CHCTRLA_TRIGSRC_Msk (_U_(0x7F) << DMAC_CHCTRLA_TRIGSRC_Pos) +#define DMAC_CHCTRLA_TRIGSRC(value) (DMAC_CHCTRLA_TRIGSRC_Msk & ((value) << DMAC_CHCTRLA_TRIGSRC_Pos)) +#define DMAC_CHCTRLA_TRIGSRC_DISABLE_Val _U_(0x0) /**< \brief (DMAC_CHCTRLA) Only software/event triggers */ +#define DMAC_CHCTRLA_TRIGSRC_DISABLE (DMAC_CHCTRLA_TRIGSRC_DISABLE_Val << DMAC_CHCTRLA_TRIGSRC_Pos) +#define DMAC_CHCTRLA_TRIGACT_Pos 20 /**< \brief (DMAC_CHCTRLA) Trigger Action */ +#define DMAC_CHCTRLA_TRIGACT_Msk (_U_(0x3) << DMAC_CHCTRLA_TRIGACT_Pos) +#define DMAC_CHCTRLA_TRIGACT(value) (DMAC_CHCTRLA_TRIGACT_Msk & ((value) << DMAC_CHCTRLA_TRIGACT_Pos)) +#define DMAC_CHCTRLA_TRIGACT_BLOCK_Val _U_(0x0) /**< \brief (DMAC_CHCTRLA) One trigger required for each block transfer */ +#define DMAC_CHCTRLA_TRIGACT_BURST_Val _U_(0x2) /**< \brief (DMAC_CHCTRLA) One trigger required for each burst transfer */ +#define DMAC_CHCTRLA_TRIGACT_TRANSACTION_Val _U_(0x3) /**< \brief (DMAC_CHCTRLA) One trigger required for each transaction */ +#define DMAC_CHCTRLA_TRIGACT_BLOCK (DMAC_CHCTRLA_TRIGACT_BLOCK_Val << DMAC_CHCTRLA_TRIGACT_Pos) +#define DMAC_CHCTRLA_TRIGACT_BURST (DMAC_CHCTRLA_TRIGACT_BURST_Val << DMAC_CHCTRLA_TRIGACT_Pos) +#define DMAC_CHCTRLA_TRIGACT_TRANSACTION (DMAC_CHCTRLA_TRIGACT_TRANSACTION_Val << DMAC_CHCTRLA_TRIGACT_Pos) +#define DMAC_CHCTRLA_BURSTLEN_Pos 24 /**< \brief (DMAC_CHCTRLA) Burst Length */ +#define DMAC_CHCTRLA_BURSTLEN_Msk (_U_(0xF) << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN(value) (DMAC_CHCTRLA_BURSTLEN_Msk & ((value) << DMAC_CHCTRLA_BURSTLEN_Pos)) +#define DMAC_CHCTRLA_BURSTLEN_SINGLE_Val _U_(0x0) /**< \brief (DMAC_CHCTRLA) Single-beat burst length */ +#define DMAC_CHCTRLA_BURSTLEN_2BEAT_Val _U_(0x1) /**< \brief (DMAC_CHCTRLA) 2-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_3BEAT_Val _U_(0x2) /**< \brief (DMAC_CHCTRLA) 3-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_4BEAT_Val _U_(0x3) /**< \brief (DMAC_CHCTRLA) 4-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_5BEAT_Val _U_(0x4) /**< \brief (DMAC_CHCTRLA) 5-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_6BEAT_Val _U_(0x5) /**< \brief (DMAC_CHCTRLA) 6-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_7BEAT_Val _U_(0x6) /**< \brief (DMAC_CHCTRLA) 7-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_8BEAT_Val _U_(0x7) /**< \brief (DMAC_CHCTRLA) 8-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_9BEAT_Val _U_(0x8) /**< \brief (DMAC_CHCTRLA) 9-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_10BEAT_Val _U_(0x9) /**< \brief (DMAC_CHCTRLA) 10-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_11BEAT_Val _U_(0xA) /**< \brief (DMAC_CHCTRLA) 11-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_12BEAT_Val _U_(0xB) /**< \brief (DMAC_CHCTRLA) 12-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_13BEAT_Val _U_(0xC) /**< \brief (DMAC_CHCTRLA) 13-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_14BEAT_Val _U_(0xD) /**< \brief (DMAC_CHCTRLA) 14-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_15BEAT_Val _U_(0xE) /**< \brief (DMAC_CHCTRLA) 15-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_16BEAT_Val _U_(0xF) /**< \brief (DMAC_CHCTRLA) 16-beats burst length */ +#define DMAC_CHCTRLA_BURSTLEN_SINGLE (DMAC_CHCTRLA_BURSTLEN_SINGLE_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_2BEAT (DMAC_CHCTRLA_BURSTLEN_2BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_3BEAT (DMAC_CHCTRLA_BURSTLEN_3BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_4BEAT (DMAC_CHCTRLA_BURSTLEN_4BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_5BEAT (DMAC_CHCTRLA_BURSTLEN_5BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_6BEAT (DMAC_CHCTRLA_BURSTLEN_6BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_7BEAT (DMAC_CHCTRLA_BURSTLEN_7BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_8BEAT (DMAC_CHCTRLA_BURSTLEN_8BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_9BEAT (DMAC_CHCTRLA_BURSTLEN_9BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_10BEAT (DMAC_CHCTRLA_BURSTLEN_10BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_11BEAT (DMAC_CHCTRLA_BURSTLEN_11BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_12BEAT (DMAC_CHCTRLA_BURSTLEN_12BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_13BEAT (DMAC_CHCTRLA_BURSTLEN_13BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_14BEAT (DMAC_CHCTRLA_BURSTLEN_14BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_15BEAT (DMAC_CHCTRLA_BURSTLEN_15BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_BURSTLEN_16BEAT (DMAC_CHCTRLA_BURSTLEN_16BEAT_Val << DMAC_CHCTRLA_BURSTLEN_Pos) +#define DMAC_CHCTRLA_THRESHOLD_Pos 28 /**< \brief (DMAC_CHCTRLA) FIFO Threshold */ +#define DMAC_CHCTRLA_THRESHOLD_Msk (_U_(0x3) << DMAC_CHCTRLA_THRESHOLD_Pos) +#define DMAC_CHCTRLA_THRESHOLD(value) (DMAC_CHCTRLA_THRESHOLD_Msk & ((value) << DMAC_CHCTRLA_THRESHOLD_Pos)) +#define DMAC_CHCTRLA_THRESHOLD_1BEAT_Val _U_(0x0) /**< \brief (DMAC_CHCTRLA) Destination write starts after each beat source address read */ +#define DMAC_CHCTRLA_THRESHOLD_2BEATS_Val _U_(0x1) /**< \brief (DMAC_CHCTRLA) Destination write starts after 2-beats source address read */ +#define DMAC_CHCTRLA_THRESHOLD_4BEATS_Val _U_(0x2) /**< \brief (DMAC_CHCTRLA) Destination write starts after 4-beats source address read */ +#define DMAC_CHCTRLA_THRESHOLD_8BEATS_Val _U_(0x3) /**< \brief (DMAC_CHCTRLA) Destination write starts after 8-beats source address read */ +#define DMAC_CHCTRLA_THRESHOLD_1BEAT (DMAC_CHCTRLA_THRESHOLD_1BEAT_Val << DMAC_CHCTRLA_THRESHOLD_Pos) +#define DMAC_CHCTRLA_THRESHOLD_2BEATS (DMAC_CHCTRLA_THRESHOLD_2BEATS_Val << DMAC_CHCTRLA_THRESHOLD_Pos) +#define DMAC_CHCTRLA_THRESHOLD_4BEATS (DMAC_CHCTRLA_THRESHOLD_4BEATS_Val << DMAC_CHCTRLA_THRESHOLD_Pos) +#define DMAC_CHCTRLA_THRESHOLD_8BEATS (DMAC_CHCTRLA_THRESHOLD_8BEATS_Val << DMAC_CHCTRLA_THRESHOLD_Pos) +#define DMAC_CHCTRLA_MASK _U_(0x3F307F43) /**< \brief (DMAC_CHCTRLA) MASK Register */ + +/* -------- DMAC_CHCTRLB : (DMAC Offset: 0x44) (R/W 8) CHANNEL Channel n Control B -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t CMD:2; /*!< bit: 0.. 1 Software Command */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_CHCTRLB_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CHCTRLB_OFFSET 0x44 /**< \brief (DMAC_CHCTRLB offset) Channel n Control B */ +#define DMAC_CHCTRLB_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHCTRLB reset_value) Channel n Control B */ + +#define DMAC_CHCTRLB_CMD_Pos 0 /**< \brief (DMAC_CHCTRLB) Software Command */ +#define DMAC_CHCTRLB_CMD_Msk (_U_(0x3) << DMAC_CHCTRLB_CMD_Pos) +#define DMAC_CHCTRLB_CMD(value) (DMAC_CHCTRLB_CMD_Msk & ((value) << DMAC_CHCTRLB_CMD_Pos)) +#define DMAC_CHCTRLB_CMD_NOACT_Val _U_(0x0) /**< \brief (DMAC_CHCTRLB) No action */ +#define DMAC_CHCTRLB_CMD_SUSPEND_Val _U_(0x1) /**< \brief (DMAC_CHCTRLB) Channel suspend operation */ +#define DMAC_CHCTRLB_CMD_RESUME_Val _U_(0x2) /**< \brief (DMAC_CHCTRLB) Channel resume operation */ +#define DMAC_CHCTRLB_CMD_NOACT (DMAC_CHCTRLB_CMD_NOACT_Val << DMAC_CHCTRLB_CMD_Pos) +#define DMAC_CHCTRLB_CMD_SUSPEND (DMAC_CHCTRLB_CMD_SUSPEND_Val << DMAC_CHCTRLB_CMD_Pos) +#define DMAC_CHCTRLB_CMD_RESUME (DMAC_CHCTRLB_CMD_RESUME_Val << DMAC_CHCTRLB_CMD_Pos) +#define DMAC_CHCTRLB_MASK _U_(0x03) /**< \brief (DMAC_CHCTRLB) MASK Register */ + +/* -------- DMAC_CHPRILVL : (DMAC Offset: 0x45) (R/W 8) CHANNEL Channel n Priority Level -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t PRILVL:2; /*!< bit: 0.. 1 Channel Priority Level */ + uint8_t :6; /*!< bit: 2.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_CHPRILVL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CHPRILVL_OFFSET 0x45 /**< \brief (DMAC_CHPRILVL offset) Channel n Priority Level */ +#define DMAC_CHPRILVL_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHPRILVL reset_value) Channel n Priority Level */ + +#define DMAC_CHPRILVL_PRILVL_Pos 0 /**< \brief (DMAC_CHPRILVL) Channel Priority Level */ +#define DMAC_CHPRILVL_PRILVL_Msk (_U_(0x3) << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_PRILVL(value) (DMAC_CHPRILVL_PRILVL_Msk & ((value) << DMAC_CHPRILVL_PRILVL_Pos)) +#define DMAC_CHPRILVL_PRILVL_LVL0_Val _U_(0x0) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 0 (Lowest Level) */ +#define DMAC_CHPRILVL_PRILVL_LVL1_Val _U_(0x1) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 1 */ +#define DMAC_CHPRILVL_PRILVL_LVL2_Val _U_(0x2) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 2 */ +#define DMAC_CHPRILVL_PRILVL_LVL3_Val _U_(0x3) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 3 */ +#define DMAC_CHPRILVL_PRILVL_LVL4_Val _U_(0x4) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 4 */ +#define DMAC_CHPRILVL_PRILVL_LVL5_Val _U_(0x5) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 5 */ +#define DMAC_CHPRILVL_PRILVL_LVL6_Val _U_(0x6) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 6 */ +#define DMAC_CHPRILVL_PRILVL_LVL7_Val _U_(0x7) /**< \brief (DMAC_CHPRILVL) Channel Priority Level 7 (Highest Level) */ +#define DMAC_CHPRILVL_PRILVL_LVL0 (DMAC_CHPRILVL_PRILVL_LVL0_Val << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_PRILVL_LVL1 (DMAC_CHPRILVL_PRILVL_LVL1_Val << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_PRILVL_LVL2 (DMAC_CHPRILVL_PRILVL_LVL2_Val << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_PRILVL_LVL3 (DMAC_CHPRILVL_PRILVL_LVL3_Val << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_PRILVL_LVL4 (DMAC_CHPRILVL_PRILVL_LVL4_Val << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_PRILVL_LVL5 (DMAC_CHPRILVL_PRILVL_LVL5_Val << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_PRILVL_LVL6 (DMAC_CHPRILVL_PRILVL_LVL6_Val << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_PRILVL_LVL7 (DMAC_CHPRILVL_PRILVL_LVL7_Val << DMAC_CHPRILVL_PRILVL_Pos) +#define DMAC_CHPRILVL_MASK _U_(0x03) /**< \brief (DMAC_CHPRILVL) MASK Register */ + +/* -------- DMAC_CHEVCTRL : (DMAC Offset: 0x46) (R/W 8) CHANNEL Channel n Event Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t EVACT:3; /*!< bit: 0.. 2 Channel Event Input Action */ + uint8_t :1; /*!< bit: 3 Reserved */ + uint8_t EVOMODE:2; /*!< bit: 4.. 5 Channel Event Output Mode */ + uint8_t EVIE:1; /*!< bit: 6 Channel Event Input Enable */ + uint8_t EVOE:1; /*!< bit: 7 Channel Event Output Enable */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_CHEVCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CHEVCTRL_OFFSET 0x46 /**< \brief (DMAC_CHEVCTRL offset) Channel n Event Control */ +#define DMAC_CHEVCTRL_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHEVCTRL reset_value) Channel n Event Control */ + +#define DMAC_CHEVCTRL_EVACT_Pos 0 /**< \brief (DMAC_CHEVCTRL) Channel Event Input Action */ +#define DMAC_CHEVCTRL_EVACT_Msk (_U_(0x7) << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVACT(value) (DMAC_CHEVCTRL_EVACT_Msk & ((value) << DMAC_CHEVCTRL_EVACT_Pos)) +#define DMAC_CHEVCTRL_EVACT_NOACT_Val _U_(0x0) /**< \brief (DMAC_CHEVCTRL) No action */ +#define DMAC_CHEVCTRL_EVACT_TRIG_Val _U_(0x1) /**< \brief (DMAC_CHEVCTRL) Transfer and periodic transfer trigger */ +#define DMAC_CHEVCTRL_EVACT_CTRIG_Val _U_(0x2) /**< \brief (DMAC_CHEVCTRL) Conditional transfer trigger */ +#define DMAC_CHEVCTRL_EVACT_CBLOCK_Val _U_(0x3) /**< \brief (DMAC_CHEVCTRL) Conditional block transfer */ +#define DMAC_CHEVCTRL_EVACT_SUSPEND_Val _U_(0x4) /**< \brief (DMAC_CHEVCTRL) Channel suspend operation */ +#define DMAC_CHEVCTRL_EVACT_RESUME_Val _U_(0x5) /**< \brief (DMAC_CHEVCTRL) Channel resume operation */ +#define DMAC_CHEVCTRL_EVACT_SSKIP_Val _U_(0x6) /**< \brief (DMAC_CHEVCTRL) Skip next block suspend action */ +#define DMAC_CHEVCTRL_EVACT_INCPRI_Val _U_(0x7) /**< \brief (DMAC_CHEVCTRL) Increase priority */ +#define DMAC_CHEVCTRL_EVACT_NOACT (DMAC_CHEVCTRL_EVACT_NOACT_Val << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVACT_TRIG (DMAC_CHEVCTRL_EVACT_TRIG_Val << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVACT_CTRIG (DMAC_CHEVCTRL_EVACT_CTRIG_Val << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVACT_CBLOCK (DMAC_CHEVCTRL_EVACT_CBLOCK_Val << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVACT_SUSPEND (DMAC_CHEVCTRL_EVACT_SUSPEND_Val << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVACT_RESUME (DMAC_CHEVCTRL_EVACT_RESUME_Val << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVACT_SSKIP (DMAC_CHEVCTRL_EVACT_SSKIP_Val << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVACT_INCPRI (DMAC_CHEVCTRL_EVACT_INCPRI_Val << DMAC_CHEVCTRL_EVACT_Pos) +#define DMAC_CHEVCTRL_EVOMODE_Pos 4 /**< \brief (DMAC_CHEVCTRL) Channel Event Output Mode */ +#define DMAC_CHEVCTRL_EVOMODE_Msk (_U_(0x3) << DMAC_CHEVCTRL_EVOMODE_Pos) +#define DMAC_CHEVCTRL_EVOMODE(value) (DMAC_CHEVCTRL_EVOMODE_Msk & ((value) << DMAC_CHEVCTRL_EVOMODE_Pos)) +#define DMAC_CHEVCTRL_EVOMODE_DEFAULT_Val _U_(0x0) /**< \brief (DMAC_CHEVCTRL) Block event output selection. Refer to BTCTRL.EVOSEL for available selections. */ +#define DMAC_CHEVCTRL_EVOMODE_TRIGACT_Val _U_(0x1) /**< \brief (DMAC_CHEVCTRL) Ongoing trigger action */ +#define DMAC_CHEVCTRL_EVOMODE_DEFAULT (DMAC_CHEVCTRL_EVOMODE_DEFAULT_Val << DMAC_CHEVCTRL_EVOMODE_Pos) +#define DMAC_CHEVCTRL_EVOMODE_TRIGACT (DMAC_CHEVCTRL_EVOMODE_TRIGACT_Val << DMAC_CHEVCTRL_EVOMODE_Pos) +#define DMAC_CHEVCTRL_EVIE_Pos 6 /**< \brief (DMAC_CHEVCTRL) Channel Event Input Enable */ +#define DMAC_CHEVCTRL_EVIE (_U_(0x1) << DMAC_CHEVCTRL_EVIE_Pos) +#define DMAC_CHEVCTRL_EVOE_Pos 7 /**< \brief (DMAC_CHEVCTRL) Channel Event Output Enable */ +#define DMAC_CHEVCTRL_EVOE (_U_(0x1) << DMAC_CHEVCTRL_EVOE_Pos) +#define DMAC_CHEVCTRL_MASK _U_(0xF7) /**< \brief (DMAC_CHEVCTRL) MASK Register */ + +/* -------- DMAC_CHINTENCLR : (DMAC Offset: 0x4C) (R/W 8) CHANNEL Channel n Interrupt Enable Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t TERR:1; /*!< bit: 0 Channel Transfer Error Interrupt Enable */ + uint8_t TCMPL:1; /*!< bit: 1 Channel Transfer Complete Interrupt Enable */ + uint8_t SUSP:1; /*!< bit: 2 Channel Suspend Interrupt Enable */ + uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_CHINTENCLR_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CHINTENCLR_OFFSET 0x4C /**< \brief (DMAC_CHINTENCLR offset) Channel n Interrupt Enable Clear */ +#define DMAC_CHINTENCLR_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHINTENCLR reset_value) Channel n Interrupt Enable Clear */ + +#define DMAC_CHINTENCLR_TERR_Pos 0 /**< \brief (DMAC_CHINTENCLR) Channel Transfer Error Interrupt Enable */ +#define DMAC_CHINTENCLR_TERR (_U_(0x1) << DMAC_CHINTENCLR_TERR_Pos) +#define DMAC_CHINTENCLR_TCMPL_Pos 1 /**< \brief (DMAC_CHINTENCLR) Channel Transfer Complete Interrupt Enable */ +#define DMAC_CHINTENCLR_TCMPL (_U_(0x1) << DMAC_CHINTENCLR_TCMPL_Pos) +#define DMAC_CHINTENCLR_SUSP_Pos 2 /**< \brief (DMAC_CHINTENCLR) Channel Suspend Interrupt Enable */ +#define DMAC_CHINTENCLR_SUSP (_U_(0x1) << DMAC_CHINTENCLR_SUSP_Pos) +#define DMAC_CHINTENCLR_MASK _U_(0x07) /**< \brief (DMAC_CHINTENCLR) MASK Register */ + +/* -------- DMAC_CHINTENSET : (DMAC Offset: 0x4D) (R/W 8) CHANNEL Channel n Interrupt Enable Set -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t TERR:1; /*!< bit: 0 Channel Transfer Error Interrupt Enable */ + uint8_t TCMPL:1; /*!< bit: 1 Channel Transfer Complete Interrupt Enable */ + uint8_t SUSP:1; /*!< bit: 2 Channel Suspend Interrupt Enable */ + uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_CHINTENSET_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CHINTENSET_OFFSET 0x4D /**< \brief (DMAC_CHINTENSET offset) Channel n Interrupt Enable Set */ +#define DMAC_CHINTENSET_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHINTENSET reset_value) Channel n Interrupt Enable Set */ + +#define DMAC_CHINTENSET_TERR_Pos 0 /**< \brief (DMAC_CHINTENSET) Channel Transfer Error Interrupt Enable */ +#define DMAC_CHINTENSET_TERR (_U_(0x1) << DMAC_CHINTENSET_TERR_Pos) +#define DMAC_CHINTENSET_TCMPL_Pos 1 /**< \brief (DMAC_CHINTENSET) Channel Transfer Complete Interrupt Enable */ +#define DMAC_CHINTENSET_TCMPL (_U_(0x1) << DMAC_CHINTENSET_TCMPL_Pos) +#define DMAC_CHINTENSET_SUSP_Pos 2 /**< \brief (DMAC_CHINTENSET) Channel Suspend Interrupt Enable */ +#define DMAC_CHINTENSET_SUSP (_U_(0x1) << DMAC_CHINTENSET_SUSP_Pos) +#define DMAC_CHINTENSET_MASK _U_(0x07) /**< \brief (DMAC_CHINTENSET) MASK Register */ + +/* -------- DMAC_CHINTFLAG : (DMAC Offset: 0x4E) (R/W 8) CHANNEL Channel n Interrupt Flag Status and Clear -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { // __I to avoid read-modify-write on write-to-clear register + struct { + __I uint8_t TERR:1; /*!< bit: 0 Channel Transfer Error */ + __I uint8_t TCMPL:1; /*!< bit: 1 Channel Transfer Complete */ + __I uint8_t SUSP:1; /*!< bit: 2 Channel Suspend */ + __I uint8_t :5; /*!< bit: 3.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_CHINTFLAG_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CHINTFLAG_OFFSET 0x4E /**< \brief (DMAC_CHINTFLAG offset) Channel n Interrupt Flag Status and Clear */ +#define DMAC_CHINTFLAG_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHINTFLAG reset_value) Channel n Interrupt Flag Status and Clear */ + +#define DMAC_CHINTFLAG_TERR_Pos 0 /**< \brief (DMAC_CHINTFLAG) Channel Transfer Error */ +#define DMAC_CHINTFLAG_TERR (_U_(0x1) << DMAC_CHINTFLAG_TERR_Pos) +#define DMAC_CHINTFLAG_TCMPL_Pos 1 /**< \brief (DMAC_CHINTFLAG) Channel Transfer Complete */ +#define DMAC_CHINTFLAG_TCMPL (_U_(0x1) << DMAC_CHINTFLAG_TCMPL_Pos) +#define DMAC_CHINTFLAG_SUSP_Pos 2 /**< \brief (DMAC_CHINTFLAG) Channel Suspend */ +#define DMAC_CHINTFLAG_SUSP (_U_(0x1) << DMAC_CHINTFLAG_SUSP_Pos) +#define DMAC_CHINTFLAG_MASK _U_(0x07) /**< \brief (DMAC_CHINTFLAG) MASK Register */ + +/* -------- DMAC_CHSTATUS : (DMAC Offset: 0x4F) (R/W 8) CHANNEL Channel n Status -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint8_t PEND:1; /*!< bit: 0 Channel Pending */ + uint8_t BUSY:1; /*!< bit: 1 Channel Busy */ + uint8_t FERR:1; /*!< bit: 2 Channel Fetch Error */ + uint8_t CRCERR:1; /*!< bit: 3 Channel CRC Error */ + uint8_t :4; /*!< bit: 4.. 7 Reserved */ + } bit; /*!< Structure used for bit access */ + uint8_t reg; /*!< Type used for register access */ +} DMAC_CHSTATUS_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_CHSTATUS_OFFSET 0x4F /**< \brief (DMAC_CHSTATUS offset) Channel n Status */ +#define DMAC_CHSTATUS_RESETVALUE _U_(0x00) /**< \brief (DMAC_CHSTATUS reset_value) Channel n Status */ + +#define DMAC_CHSTATUS_PEND_Pos 0 /**< \brief (DMAC_CHSTATUS) Channel Pending */ +#define DMAC_CHSTATUS_PEND (_U_(0x1) << DMAC_CHSTATUS_PEND_Pos) +#define DMAC_CHSTATUS_BUSY_Pos 1 /**< \brief (DMAC_CHSTATUS) Channel Busy */ +#define DMAC_CHSTATUS_BUSY (_U_(0x1) << DMAC_CHSTATUS_BUSY_Pos) +#define DMAC_CHSTATUS_FERR_Pos 2 /**< \brief (DMAC_CHSTATUS) Channel Fetch Error */ +#define DMAC_CHSTATUS_FERR (_U_(0x1) << DMAC_CHSTATUS_FERR_Pos) +#define DMAC_CHSTATUS_CRCERR_Pos 3 /**< \brief (DMAC_CHSTATUS) Channel CRC Error */ +#define DMAC_CHSTATUS_CRCERR (_U_(0x1) << DMAC_CHSTATUS_CRCERR_Pos) +#define DMAC_CHSTATUS_MASK _U_(0x0F) /**< \brief (DMAC_CHSTATUS) MASK Register */ + +/* -------- DMAC_BTCTRL : (DMAC Offset: 0x00) (R/W 16) Block Transfer Control -------- */ +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +typedef union { + struct { + uint16_t VALID:1; /*!< bit: 0 Descriptor Valid */ + uint16_t EVOSEL:2; /*!< bit: 1.. 2 Block Event Output Selection */ + uint16_t BLOCKACT:2; /*!< bit: 3.. 4 Block Action */ + uint16_t :3; /*!< bit: 5.. 7 Reserved */ + uint16_t BEATSIZE:2; /*!< bit: 8.. 9 Beat Size */ + uint16_t SRCINC:1; /*!< bit: 10 Source Address Increment Enable */ + uint16_t DSTINC:1; /*!< bit: 11 Destination Address Increment Enable */ + uint16_t STEPSEL:1; /*!< bit: 12 Step Selection */ + uint16_t STEPSIZE:3; /*!< bit: 13..15 Address Increment Step Size */ + } bit; /*!< Structure used for bit access */ + uint16_t reg; /*!< Type used for register access */ +} DMAC_BTCTRL_Type; +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + +#define DMAC_BTCTRL_OFFSET 0x00 /**< \brief (DMAC_BTCTRL offset) Block Transfer Control */ +#define DMAC_BTCTRL_RESETVALUE _U_(0x0000) /**< \brief (DMAC_BTCTRL reset_value) Block Transfer Control */ + +#define DMAC_BTCTRL_VALID_Pos 0 /**< \brief (DMAC_BTCTRL) Descriptor Valid */ +#define DMAC_BTCTRL_VALID (_U_(0x1) << DMAC_BTCTRL_VALID_Pos) +#define DMAC_BTCTRL_EVOSEL_Pos 1 /**< \brief (DMAC_BTCTRL) Block Event Output Selection */ +#define DMAC_BTCTRL_EVOSEL_Msk (_U_(0x3) << DMAC_BTCTRL_EVOSEL_Pos) +#define DMAC_BTCTRL_EVOSEL(value) (DMAC_BTCTRL_EVOSEL_Msk & ((value) << DMAC_BTCTRL_EVOSEL_Pos)) +#define DMAC_BTCTRL_EVOSEL_DISABLE_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) Event generation disabled */ +#define DMAC_BTCTRL_EVOSEL_BLOCK_Val _U_(0x1) /**< \brief (DMAC_BTCTRL) Block event strobe */ +#define DMAC_BTCTRL_EVOSEL_BURST_Val _U_(0x3) /**< \brief (DMAC_BTCTRL) Burst event strobe */ +#define DMAC_BTCTRL_EVOSEL_DISABLE (DMAC_BTCTRL_EVOSEL_DISABLE_Val << DMAC_BTCTRL_EVOSEL_Pos) +#define DMAC_BTCTRL_EVOSEL_BLOCK (DMAC_BTCTRL_EVOSEL_BLOCK_Val << DMAC_BTCTRL_EVOSEL_Pos) +#define DMAC_BTCTRL_EVOSEL_BURST (DMAC_BTCTRL_EVOSEL_BURST_Val << DMAC_BTCTRL_EVOSEL_Pos) +#define DMAC_BTCTRL_BLOCKACT_Pos 3 /**< \brief (DMAC_BTCTRL) Block Action */ +#define DMAC_BTCTRL_BLOCKACT_Msk (_U_(0x3) << DMAC_BTCTRL_BLOCKACT_Pos) +#define DMAC_BTCTRL_BLOCKACT(value) (DMAC_BTCTRL_BLOCKACT_Msk & ((value) << DMAC_BTCTRL_BLOCKACT_Pos)) +#define DMAC_BTCTRL_BLOCKACT_NOACT_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction */ +#define DMAC_BTCTRL_BLOCKACT_INT_Val _U_(0x1) /**< \brief (DMAC_BTCTRL) Channel will be disabled if it is the last block transfer in the transaction and block interrupt */ +#define DMAC_BTCTRL_BLOCKACT_SUSPEND_Val _U_(0x2) /**< \brief (DMAC_BTCTRL) Channel suspend operation is completed */ +#define DMAC_BTCTRL_BLOCKACT_BOTH_Val _U_(0x3) /**< \brief (DMAC_BTCTRL) Both channel suspend operation and block interrupt */ +#define DMAC_BTCTRL_BLOCKACT_NOACT (DMAC_BTCTRL_BLOCKACT_NOACT_Val << DMAC_BTCTRL_BLOCKACT_Pos) +#define DMAC_BTCTRL_BLOCKACT_INT (DMAC_BTCTRL_BLOCKACT_INT_Val << DMAC_BTCTRL_BLOCKACT_Pos) +#define DMAC_BTCTRL_BLOCKACT_SUSPEND (DMAC_BTCTRL_BLOCKACT_SUSPEND_Val << DMAC_BTCTRL_BLOCKACT_Pos) +#define DMAC_BTCTRL_BLOCKACT_BOTH (DMAC_BTCTRL_BLOCKACT_BOTH_Val << DMAC_BTCTRL_BLOCKACT_Pos) +#define DMAC_BTCTRL_BEATSIZE_Pos 8 /**< \brief (DMAC_BTCTRL) Beat Size */ +#define DMAC_BTCTRL_BEATSIZE_Msk (_U_(0x3) << DMAC_BTCTRL_BEATSIZE_Pos) +#define DMAC_BTCTRL_BEATSIZE(value) (DMAC_BTCTRL_BEATSIZE_Msk & ((value) << DMAC_BTCTRL_BEATSIZE_Pos)) +#define DMAC_BTCTRL_BEATSIZE_BYTE_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) 8-bit bus transfer */ +#define DMAC_BTCTRL_BEATSIZE_HWORD_Val _U_(0x1) /**< \brief (DMAC_BTCTRL) 16-bit bus transfer */ +#define DMAC_BTCTRL_BEATSIZE_WORD_Val _U_(0x2) /**< \brief (DMAC_BTCTRL) 32-bit bus transfer */ +#define DMAC_BTCTRL_BEATSIZE_BYTE (DMAC_BTCTRL_BEATSIZE_BYTE_Val << DMAC_BTCTRL_BEATSIZE_Pos) +#define DMAC_BTCTRL_BEATSIZE_HWORD (DMAC_BTCTRL_BEATSIZE_HWORD_Val << DMAC_BTCTRL_BEATSIZE_Pos) +#define DMAC_BTCTRL_BEATSIZE_WORD (DMAC_BTCTRL_BEATSIZE_WORD_Val << DMAC_BTCTRL_BEATSIZE_Pos) +#define DMAC_BTCTRL_SRCINC_Pos 10 /**< \brief (DMAC_BTCTRL) Source Address Increment Enable */ +#define DMAC_BTCTRL_SRCINC (_U_(0x1) << DMAC_BTCTRL_SRCINC_Pos) +#define DMAC_BTCTRL_DSTINC_Pos 11 /**< \brief (DMAC_BTCTRL) Destination Address Increment Enable */ +#define DMAC_BTCTRL_DSTINC (_U_(0x1) << DMAC_BTCTRL_DSTINC_Pos) +#define DMAC_BTCTRL_STEPSEL_Pos 12 /**< \brief (DMAC_BTCTRL) Step Selection */ +#define DMAC_BTCTRL_STEPSEL (_U_(0x1) << DMAC_BTCTRL_STEPSEL_Pos) +#define DMAC_BTCTRL_STEPSEL_DST_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) Step size settings apply to the destination address */ +#define DMAC_BTCTRL_STEPSEL_SRC_Val _U_(0x1) /**< \brief (DMAC_BTCTRL) Step size settings apply to the source address */ +#define DMAC_BTCTRL_STEPSEL_DST (DMAC_BTCTRL_STEPSEL_DST_Val << DMAC_BTCTRL_STEPSEL_Pos) +#define DMAC_BTCTRL_STEPSEL_SRC (DMAC_BTCTRL_STEPSEL_SRC_Val << DMAC_BTCTRL_STEPSEL_Pos) +#define DMAC_BTCTRL_STEPSIZE_Pos 13 /**< \brief (DMAC_BTCTRL) Address Increment Step Size */ +#define DMAC_BTCTRL_STEPSIZE_Msk (_U_(0x7) << DMAC_BTCTRL_STEPSIZE_Pos) +#define DMAC_BTCTRL_STEPSIZE(value) (DMAC_BTCTRL_STEPSIZE_Msk & ((value) << DMAC_BTCTRL_STEPSIZE_Pos)) +#define DMAC_BTCTRL_STEPSIZE_X1_Val _U_(0x0) /**< \brief (DMAC_BTCTRL) Next ADDR = ADDR + (1< 8 bits, 1 -> 16 bits +#define USB_EPNUM 8 // parameter for rtl : max of ENDPOINT and PIPE NUM +#define USB_EPT_NUM 8 // Number of USB end points +#define USB_GCLK_ID 10 // Index of Generic Clock +#define USB_INITIAL_CONTROL_QOS 3 // CONTROL QOS RESET value +#define USB_INITIAL_DATA_QOS 3 // DATA QOS RESET value +#define USB_MISSING_SOF_DET_IMPLEMENTED 1 // 48 mHz xPLL feature implemented +#define USB_PIPE_NUM 8 // Number of USB pipes +#define USB_SYSTEM_CLOCK_IS_CKUSB 0 // Dual (1'b0) or Single (1'b1) clock system +#define USB_USB_2_AHB_FIFO_DEPTH 4 // bytes number, should be at least 2, and 2^n (4,8,16 ...) +#define USB_USB_2_AHB_RD_DATA_BITS 16 // 8, 16 or 32, here : 8-bits is required as UTMI interface should work in 8-bits mode +#define USB_USB_2_AHB_RD_THRESHOLD 2 // as soon as there are 16 bytes-free inside the fifo, ahb read transfer is requested +#define USB_USB_2_AHB_WR_DATA_BITS 8 // 8, 16 or 32 : here : 8-bits is required as UTMI interface should work in 8-bits mode + +#endif /* _SAME54_USB_INSTANCE_ */ diff --git a/lib/same54/include/instance/wdt.h b/lib/same54/include/instance/wdt.h new file mode 100644 index 00000000..e7eed8d7 --- /dev/null +++ b/lib/same54/include/instance/wdt.h @@ -0,0 +1,54 @@ +/** + * \file + * + * \brief Instance description for WDT + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_WDT_INSTANCE_ +#define _SAME54_WDT_INSTANCE_ + +/* ========== Register definition for WDT peripheral ========== */ +#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +#define REG_WDT_CTRLA (0x40002000) /**< \brief (WDT) Control */ +#define REG_WDT_CONFIG (0x40002001) /**< \brief (WDT) Configuration */ +#define REG_WDT_EWCTRL (0x40002002) /**< \brief (WDT) Early Warning Interrupt Control */ +#define REG_WDT_INTENCLR (0x40002004) /**< \brief (WDT) Interrupt Enable Clear */ +#define REG_WDT_INTENSET (0x40002005) /**< \brief (WDT) Interrupt Enable Set */ +#define REG_WDT_INTFLAG (0x40002006) /**< \brief (WDT) Interrupt Flag Status and Clear */ +#define REG_WDT_SYNCBUSY (0x40002008) /**< \brief (WDT) Synchronization Busy */ +#define REG_WDT_CLEAR (0x4000200C) /**< \brief (WDT) Clear */ +#else +#define REG_WDT_CTRLA (*(RwReg8 *)0x40002000UL) /**< \brief (WDT) Control */ +#define REG_WDT_CONFIG (*(RwReg8 *)0x40002001UL) /**< \brief (WDT) Configuration */ +#define REG_WDT_EWCTRL (*(RwReg8 *)0x40002002UL) /**< \brief (WDT) Early Warning Interrupt Control */ +#define REG_WDT_INTENCLR (*(RwReg8 *)0x40002004UL) /**< \brief (WDT) Interrupt Enable Clear */ +#define REG_WDT_INTENSET (*(RwReg8 *)0x40002005UL) /**< \brief (WDT) Interrupt Enable Set */ +#define REG_WDT_INTFLAG (*(RwReg8 *)0x40002006UL) /**< \brief (WDT) Interrupt Flag Status and Clear */ +#define REG_WDT_SYNCBUSY (*(RoReg *)0x40002008UL) /**< \brief (WDT) Synchronization Busy */ +#define REG_WDT_CLEAR (*(WoReg8 *)0x4000200CUL) /**< \brief (WDT) Clear */ +#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ + + +#endif /* _SAME54_WDT_INSTANCE_ */ diff --git a/lib/same54/include/pio/same54n19a.h b/lib/same54/include/pio/same54n19a.h new file mode 100644 index 00000000..326e11f2 --- /dev/null +++ b/lib/same54/include/pio/same54n19a.h @@ -0,0 +1,2692 @@ +/** + * \file + * + * \brief Peripheral I/O description for SAME54N19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54N19A_PIO_ +#define _SAME54N19A_PIO_ + +#define PIN_PA00 0 /**< \brief Pin Number for PA00 */ +#define PORT_PA00 (_UL_(1) << 0) /**< \brief PORT Mask for PA00 */ +#define PIN_PA01 1 /**< \brief Pin Number for PA01 */ +#define PORT_PA01 (_UL_(1) << 1) /**< \brief PORT Mask for PA01 */ +#define PIN_PA02 2 /**< \brief Pin Number for PA02 */ +#define PORT_PA02 (_UL_(1) << 2) /**< \brief PORT Mask for PA02 */ +#define PIN_PA03 3 /**< \brief Pin Number for PA03 */ +#define PORT_PA03 (_UL_(1) << 3) /**< \brief PORT Mask for PA03 */ +#define PIN_PA04 4 /**< \brief Pin Number for PA04 */ +#define PORT_PA04 (_UL_(1) << 4) /**< \brief PORT Mask for PA04 */ +#define PIN_PA05 5 /**< \brief Pin Number for PA05 */ +#define PORT_PA05 (_UL_(1) << 5) /**< \brief PORT Mask for PA05 */ +#define PIN_PA06 6 /**< \brief Pin Number for PA06 */ +#define PORT_PA06 (_UL_(1) << 6) /**< \brief PORT Mask for PA06 */ +#define PIN_PA07 7 /**< \brief Pin Number for PA07 */ +#define PORT_PA07 (_UL_(1) << 7) /**< \brief PORT Mask for PA07 */ +#define PIN_PA08 8 /**< \brief Pin Number for PA08 */ +#define PORT_PA08 (_UL_(1) << 8) /**< \brief PORT Mask for PA08 */ +#define PIN_PA09 9 /**< \brief Pin Number for PA09 */ +#define PORT_PA09 (_UL_(1) << 9) /**< \brief PORT Mask for PA09 */ +#define PIN_PA10 10 /**< \brief Pin Number for PA10 */ +#define PORT_PA10 (_UL_(1) << 10) /**< \brief PORT Mask for PA10 */ +#define PIN_PA11 11 /**< \brief Pin Number for PA11 */ +#define PORT_PA11 (_UL_(1) << 11) /**< \brief PORT Mask for PA11 */ +#define PIN_PA12 12 /**< \brief Pin Number for PA12 */ +#define PORT_PA12 (_UL_(1) << 12) /**< \brief PORT Mask for PA12 */ +#define PIN_PA13 13 /**< \brief Pin Number for PA13 */ +#define PORT_PA13 (_UL_(1) << 13) /**< \brief PORT Mask for PA13 */ +#define PIN_PA14 14 /**< \brief Pin Number for PA14 */ +#define PORT_PA14 (_UL_(1) << 14) /**< \brief PORT Mask for PA14 */ +#define PIN_PA15 15 /**< \brief Pin Number for PA15 */ +#define PORT_PA15 (_UL_(1) << 15) /**< \brief PORT Mask for PA15 */ +#define PIN_PA16 16 /**< \brief Pin Number for PA16 */ +#define PORT_PA16 (_UL_(1) << 16) /**< \brief PORT Mask for PA16 */ +#define PIN_PA17 17 /**< \brief Pin Number for PA17 */ +#define PORT_PA17 (_UL_(1) << 17) /**< \brief PORT Mask for PA17 */ +#define PIN_PA18 18 /**< \brief Pin Number for PA18 */ +#define PORT_PA18 (_UL_(1) << 18) /**< \brief PORT Mask for PA18 */ +#define PIN_PA19 19 /**< \brief Pin Number for PA19 */ +#define PORT_PA19 (_UL_(1) << 19) /**< \brief PORT Mask for PA19 */ +#define PIN_PA20 20 /**< \brief Pin Number for PA20 */ +#define PORT_PA20 (_UL_(1) << 20) /**< \brief PORT Mask for PA20 */ +#define PIN_PA21 21 /**< \brief Pin Number for PA21 */ +#define PORT_PA21 (_UL_(1) << 21) /**< \brief PORT Mask for PA21 */ +#define PIN_PA22 22 /**< \brief Pin Number for PA22 */ +#define PORT_PA22 (_UL_(1) << 22) /**< \brief PORT Mask for PA22 */ +#define PIN_PA23 23 /**< \brief Pin Number for PA23 */ +#define PORT_PA23 (_UL_(1) << 23) /**< \brief PORT Mask for PA23 */ +#define PIN_PA24 24 /**< \brief Pin Number for PA24 */ +#define PORT_PA24 (_UL_(1) << 24) /**< \brief PORT Mask for PA24 */ +#define PIN_PA25 25 /**< \brief Pin Number for PA25 */ +#define PORT_PA25 (_UL_(1) << 25) /**< \brief PORT Mask for PA25 */ +#define PIN_PA27 27 /**< \brief Pin Number for PA27 */ +#define PORT_PA27 (_UL_(1) << 27) /**< \brief PORT Mask for PA27 */ +#define PIN_PA30 30 /**< \brief Pin Number for PA30 */ +#define PORT_PA30 (_UL_(1) << 30) /**< \brief PORT Mask for PA30 */ +#define PIN_PA31 31 /**< \brief Pin Number for PA31 */ +#define PORT_PA31 (_UL_(1) << 31) /**< \brief PORT Mask for PA31 */ +#define PIN_PB00 32 /**< \brief Pin Number for PB00 */ +#define PORT_PB00 (_UL_(1) << 0) /**< \brief PORT Mask for PB00 */ +#define PIN_PB01 33 /**< \brief Pin Number for PB01 */ +#define PORT_PB01 (_UL_(1) << 1) /**< \brief PORT Mask for PB01 */ +#define PIN_PB02 34 /**< \brief Pin Number for PB02 */ +#define PORT_PB02 (_UL_(1) << 2) /**< \brief PORT Mask for PB02 */ +#define PIN_PB03 35 /**< \brief Pin Number for PB03 */ +#define PORT_PB03 (_UL_(1) << 3) /**< \brief PORT Mask for PB03 */ +#define PIN_PB04 36 /**< \brief Pin Number for PB04 */ +#define PORT_PB04 (_UL_(1) << 4) /**< \brief PORT Mask for PB04 */ +#define PIN_PB05 37 /**< \brief Pin Number for PB05 */ +#define PORT_PB05 (_UL_(1) << 5) /**< \brief PORT Mask for PB05 */ +#define PIN_PB06 38 /**< \brief Pin Number for PB06 */ +#define PORT_PB06 (_UL_(1) << 6) /**< \brief PORT Mask for PB06 */ +#define PIN_PB07 39 /**< \brief Pin Number for PB07 */ +#define PORT_PB07 (_UL_(1) << 7) /**< \brief PORT Mask for PB07 */ +#define PIN_PB08 40 /**< \brief Pin Number for PB08 */ +#define PORT_PB08 (_UL_(1) << 8) /**< \brief PORT Mask for PB08 */ +#define PIN_PB09 41 /**< \brief Pin Number for PB09 */ +#define PORT_PB09 (_UL_(1) << 9) /**< \brief PORT Mask for PB09 */ +#define PIN_PB10 42 /**< \brief Pin Number for PB10 */ +#define PORT_PB10 (_UL_(1) << 10) /**< \brief PORT Mask for PB10 */ +#define PIN_PB11 43 /**< \brief Pin Number for PB11 */ +#define PORT_PB11 (_UL_(1) << 11) /**< \brief PORT Mask for PB11 */ +#define PIN_PB12 44 /**< \brief Pin Number for PB12 */ +#define PORT_PB12 (_UL_(1) << 12) /**< \brief PORT Mask for PB12 */ +#define PIN_PB13 45 /**< \brief Pin Number for PB13 */ +#define PORT_PB13 (_UL_(1) << 13) /**< \brief PORT Mask for PB13 */ +#define PIN_PB14 46 /**< \brief Pin Number for PB14 */ +#define PORT_PB14 (_UL_(1) << 14) /**< \brief PORT Mask for PB14 */ +#define PIN_PB15 47 /**< \brief Pin Number for PB15 */ +#define PORT_PB15 (_UL_(1) << 15) /**< \brief PORT Mask for PB15 */ +#define PIN_PB16 48 /**< \brief Pin Number for PB16 */ +#define PORT_PB16 (_UL_(1) << 16) /**< \brief PORT Mask for PB16 */ +#define PIN_PB17 49 /**< \brief Pin Number for PB17 */ +#define PORT_PB17 (_UL_(1) << 17) /**< \brief PORT Mask for PB17 */ +#define PIN_PB18 50 /**< \brief Pin Number for PB18 */ +#define PORT_PB18 (_UL_(1) << 18) /**< \brief PORT Mask for PB18 */ +#define PIN_PB19 51 /**< \brief Pin Number for PB19 */ +#define PORT_PB19 (_UL_(1) << 19) /**< \brief PORT Mask for PB19 */ +#define PIN_PB20 52 /**< \brief Pin Number for PB20 */ +#define PORT_PB20 (_UL_(1) << 20) /**< \brief PORT Mask for PB20 */ +#define PIN_PB21 53 /**< \brief Pin Number for PB21 */ +#define PORT_PB21 (_UL_(1) << 21) /**< \brief PORT Mask for PB21 */ +#define PIN_PB22 54 /**< \brief Pin Number for PB22 */ +#define PORT_PB22 (_UL_(1) << 22) /**< \brief PORT Mask for PB22 */ +#define PIN_PB23 55 /**< \brief Pin Number for PB23 */ +#define PORT_PB23 (_UL_(1) << 23) /**< \brief PORT Mask for PB23 */ +#define PIN_PB24 56 /**< \brief Pin Number for PB24 */ +#define PORT_PB24 (_UL_(1) << 24) /**< \brief PORT Mask for PB24 */ +#define PIN_PB25 57 /**< \brief Pin Number for PB25 */ +#define PORT_PB25 (_UL_(1) << 25) /**< \brief PORT Mask for PB25 */ +#define PIN_PB30 62 /**< \brief Pin Number for PB30 */ +#define PORT_PB30 (_UL_(1) << 30) /**< \brief PORT Mask for PB30 */ +#define PIN_PB31 63 /**< \brief Pin Number for PB31 */ +#define PORT_PB31 (_UL_(1) << 31) /**< \brief PORT Mask for PB31 */ +#define PIN_PC00 64 /**< \brief Pin Number for PC00 */ +#define PORT_PC00 (_UL_(1) << 0) /**< \brief PORT Mask for PC00 */ +#define PIN_PC01 65 /**< \brief Pin Number for PC01 */ +#define PORT_PC01 (_UL_(1) << 1) /**< \brief PORT Mask for PC01 */ +#define PIN_PC02 66 /**< \brief Pin Number for PC02 */ +#define PORT_PC02 (_UL_(1) << 2) /**< \brief PORT Mask for PC02 */ +#define PIN_PC03 67 /**< \brief Pin Number for PC03 */ +#define PORT_PC03 (_UL_(1) << 3) /**< \brief PORT Mask for PC03 */ +#define PIN_PC05 69 /**< \brief Pin Number for PC05 */ +#define PORT_PC05 (_UL_(1) << 5) /**< \brief PORT Mask for PC05 */ +#define PIN_PC06 70 /**< \brief Pin Number for PC06 */ +#define PORT_PC06 (_UL_(1) << 6) /**< \brief PORT Mask for PC06 */ +#define PIN_PC07 71 /**< \brief Pin Number for PC07 */ +#define PORT_PC07 (_UL_(1) << 7) /**< \brief PORT Mask for PC07 */ +#define PIN_PC10 74 /**< \brief Pin Number for PC10 */ +#define PORT_PC10 (_UL_(1) << 10) /**< \brief PORT Mask for PC10 */ +#define PIN_PC11 75 /**< \brief Pin Number for PC11 */ +#define PORT_PC11 (_UL_(1) << 11) /**< \brief PORT Mask for PC11 */ +#define PIN_PC12 76 /**< \brief Pin Number for PC12 */ +#define PORT_PC12 (_UL_(1) << 12) /**< \brief PORT Mask for PC12 */ +#define PIN_PC13 77 /**< \brief Pin Number for PC13 */ +#define PORT_PC13 (_UL_(1) << 13) /**< \brief PORT Mask for PC13 */ +#define PIN_PC14 78 /**< \brief Pin Number for PC14 */ +#define PORT_PC14 (_UL_(1) << 14) /**< \brief PORT Mask for PC14 */ +#define PIN_PC15 79 /**< \brief Pin Number for PC15 */ +#define PORT_PC15 (_UL_(1) << 15) /**< \brief PORT Mask for PC15 */ +#define PIN_PC16 80 /**< \brief Pin Number for PC16 */ +#define PORT_PC16 (_UL_(1) << 16) /**< \brief PORT Mask for PC16 */ +#define PIN_PC17 81 /**< \brief Pin Number for PC17 */ +#define PORT_PC17 (_UL_(1) << 17) /**< \brief PORT Mask for PC17 */ +#define PIN_PC18 82 /**< \brief Pin Number for PC18 */ +#define PORT_PC18 (_UL_(1) << 18) /**< \brief PORT Mask for PC18 */ +#define PIN_PC19 83 /**< \brief Pin Number for PC19 */ +#define PORT_PC19 (_UL_(1) << 19) /**< \brief PORT Mask for PC19 */ +#define PIN_PC20 84 /**< \brief Pin Number for PC20 */ +#define PORT_PC20 (_UL_(1) << 20) /**< \brief PORT Mask for PC20 */ +#define PIN_PC21 85 /**< \brief Pin Number for PC21 */ +#define PORT_PC21 (_UL_(1) << 21) /**< \brief PORT Mask for PC21 */ +#define PIN_PC24 88 /**< \brief Pin Number for PC24 */ +#define PORT_PC24 (_UL_(1) << 24) /**< \brief PORT Mask for PC24 */ +#define PIN_PC25 89 /**< \brief Pin Number for PC25 */ +#define PORT_PC25 (_UL_(1) << 25) /**< \brief PORT Mask for PC25 */ +#define PIN_PC26 90 /**< \brief Pin Number for PC26 */ +#define PORT_PC26 (_UL_(1) << 26) /**< \brief PORT Mask for PC26 */ +#define PIN_PC27 91 /**< \brief Pin Number for PC27 */ +#define PORT_PC27 (_UL_(1) << 27) /**< \brief PORT Mask for PC27 */ +#define PIN_PC28 92 /**< \brief Pin Number for PC28 */ +#define PORT_PC28 (_UL_(1) << 28) /**< \brief PORT Mask for PC28 */ +/* ========== PORT definition for CM4 peripheral ========== */ +#define PIN_PA30H_CM4_SWCLK _L_(30) /**< \brief CM4 signal: SWCLK on PA30 mux H */ +#define MUX_PA30H_CM4_SWCLK _L_(7) +#define PINMUX_PA30H_CM4_SWCLK ((PIN_PA30H_CM4_SWCLK << 16) | MUX_PA30H_CM4_SWCLK) +#define PORT_PA30H_CM4_SWCLK (_UL_(1) << 30) +#define PIN_PC27M_CM4_SWO _L_(91) /**< \brief CM4 signal: SWO on PC27 mux M */ +#define MUX_PC27M_CM4_SWO _L_(12) +#define PINMUX_PC27M_CM4_SWO ((PIN_PC27M_CM4_SWO << 16) | MUX_PC27M_CM4_SWO) +#define PORT_PC27M_CM4_SWO (_UL_(1) << 27) +#define PIN_PB30H_CM4_SWO _L_(62) /**< \brief CM4 signal: SWO on PB30 mux H */ +#define MUX_PB30H_CM4_SWO _L_(7) +#define PINMUX_PB30H_CM4_SWO ((PIN_PB30H_CM4_SWO << 16) | MUX_PB30H_CM4_SWO) +#define PORT_PB30H_CM4_SWO (_UL_(1) << 30) +#define PIN_PC27H_CM4_TRACECLK _L_(91) /**< \brief CM4 signal: TRACECLK on PC27 mux H */ +#define MUX_PC27H_CM4_TRACECLK _L_(7) +#define PINMUX_PC27H_CM4_TRACECLK ((PIN_PC27H_CM4_TRACECLK << 16) | MUX_PC27H_CM4_TRACECLK) +#define PORT_PC27H_CM4_TRACECLK (_UL_(1) << 27) +#define PIN_PC28H_CM4_TRACEDATA0 _L_(92) /**< \brief CM4 signal: TRACEDATA0 on PC28 mux H */ +#define MUX_PC28H_CM4_TRACEDATA0 _L_(7) +#define PINMUX_PC28H_CM4_TRACEDATA0 ((PIN_PC28H_CM4_TRACEDATA0 << 16) | MUX_PC28H_CM4_TRACEDATA0) +#define PORT_PC28H_CM4_TRACEDATA0 (_UL_(1) << 28) +#define PIN_PC26H_CM4_TRACEDATA1 _L_(90) /**< \brief CM4 signal: TRACEDATA1 on PC26 mux H */ +#define MUX_PC26H_CM4_TRACEDATA1 _L_(7) +#define PINMUX_PC26H_CM4_TRACEDATA1 ((PIN_PC26H_CM4_TRACEDATA1 << 16) | MUX_PC26H_CM4_TRACEDATA1) +#define PORT_PC26H_CM4_TRACEDATA1 (_UL_(1) << 26) +#define PIN_PC25H_CM4_TRACEDATA2 _L_(89) /**< \brief CM4 signal: TRACEDATA2 on PC25 mux H */ +#define MUX_PC25H_CM4_TRACEDATA2 _L_(7) +#define PINMUX_PC25H_CM4_TRACEDATA2 ((PIN_PC25H_CM4_TRACEDATA2 << 16) | MUX_PC25H_CM4_TRACEDATA2) +#define PORT_PC25H_CM4_TRACEDATA2 (_UL_(1) << 25) +#define PIN_PC24H_CM4_TRACEDATA3 _L_(88) /**< \brief CM4 signal: TRACEDATA3 on PC24 mux H */ +#define MUX_PC24H_CM4_TRACEDATA3 _L_(7) +#define PINMUX_PC24H_CM4_TRACEDATA3 ((PIN_PC24H_CM4_TRACEDATA3 << 16) | MUX_PC24H_CM4_TRACEDATA3) +#define PORT_PC24H_CM4_TRACEDATA3 (_UL_(1) << 24) +/* ========== PORT definition for ANAREF peripheral ========== */ +#define PIN_PA03B_ANAREF_VREF0 _L_(3) /**< \brief ANAREF signal: VREF0 on PA03 mux B */ +#define MUX_PA03B_ANAREF_VREF0 _L_(1) +#define PINMUX_PA03B_ANAREF_VREF0 ((PIN_PA03B_ANAREF_VREF0 << 16) | MUX_PA03B_ANAREF_VREF0) +#define PORT_PA03B_ANAREF_VREF0 (_UL_(1) << 3) +#define PIN_PA04B_ANAREF_VREF1 _L_(4) /**< \brief ANAREF signal: VREF1 on PA04 mux B */ +#define MUX_PA04B_ANAREF_VREF1 _L_(1) +#define PINMUX_PA04B_ANAREF_VREF1 ((PIN_PA04B_ANAREF_VREF1 << 16) | MUX_PA04B_ANAREF_VREF1) +#define PORT_PA04B_ANAREF_VREF1 (_UL_(1) << 4) +#define PIN_PA06B_ANAREF_VREF2 _L_(6) /**< \brief ANAREF signal: VREF2 on PA06 mux B */ +#define MUX_PA06B_ANAREF_VREF2 _L_(1) +#define PINMUX_PA06B_ANAREF_VREF2 ((PIN_PA06B_ANAREF_VREF2 << 16) | MUX_PA06B_ANAREF_VREF2) +#define PORT_PA06B_ANAREF_VREF2 (_UL_(1) << 6) +/* ========== PORT definition for GCLK peripheral ========== */ +#define PIN_PA30M_GCLK_IO0 _L_(30) /**< \brief GCLK signal: IO0 on PA30 mux M */ +#define MUX_PA30M_GCLK_IO0 _L_(12) +#define PINMUX_PA30M_GCLK_IO0 ((PIN_PA30M_GCLK_IO0 << 16) | MUX_PA30M_GCLK_IO0) +#define PORT_PA30M_GCLK_IO0 (_UL_(1) << 30) +#define PIN_PB14M_GCLK_IO0 _L_(46) /**< \brief GCLK signal: IO0 on PB14 mux M */ +#define MUX_PB14M_GCLK_IO0 _L_(12) +#define PINMUX_PB14M_GCLK_IO0 ((PIN_PB14M_GCLK_IO0 << 16) | MUX_PB14M_GCLK_IO0) +#define PORT_PB14M_GCLK_IO0 (_UL_(1) << 14) +#define PIN_PA14M_GCLK_IO0 _L_(14) /**< \brief GCLK signal: IO0 on PA14 mux M */ +#define MUX_PA14M_GCLK_IO0 _L_(12) +#define PINMUX_PA14M_GCLK_IO0 ((PIN_PA14M_GCLK_IO0 << 16) | MUX_PA14M_GCLK_IO0) +#define PORT_PA14M_GCLK_IO0 (_UL_(1) << 14) +#define PIN_PB22M_GCLK_IO0 _L_(54) /**< \brief GCLK signal: IO0 on PB22 mux M */ +#define MUX_PB22M_GCLK_IO0 _L_(12) +#define PINMUX_PB22M_GCLK_IO0 ((PIN_PB22M_GCLK_IO0 << 16) | MUX_PB22M_GCLK_IO0) +#define PORT_PB22M_GCLK_IO0 (_UL_(1) << 22) +#define PIN_PB15M_GCLK_IO1 _L_(47) /**< \brief GCLK signal: IO1 on PB15 mux M */ +#define MUX_PB15M_GCLK_IO1 _L_(12) +#define PINMUX_PB15M_GCLK_IO1 ((PIN_PB15M_GCLK_IO1 << 16) | MUX_PB15M_GCLK_IO1) +#define PORT_PB15M_GCLK_IO1 (_UL_(1) << 15) +#define PIN_PA15M_GCLK_IO1 _L_(15) /**< \brief GCLK signal: IO1 on PA15 mux M */ +#define MUX_PA15M_GCLK_IO1 _L_(12) +#define PINMUX_PA15M_GCLK_IO1 ((PIN_PA15M_GCLK_IO1 << 16) | MUX_PA15M_GCLK_IO1) +#define PORT_PA15M_GCLK_IO1 (_UL_(1) << 15) +#define PIN_PB23M_GCLK_IO1 _L_(55) /**< \brief GCLK signal: IO1 on PB23 mux M */ +#define MUX_PB23M_GCLK_IO1 _L_(12) +#define PINMUX_PB23M_GCLK_IO1 ((PIN_PB23M_GCLK_IO1 << 16) | MUX_PB23M_GCLK_IO1) +#define PORT_PB23M_GCLK_IO1 (_UL_(1) << 23) +#define PIN_PA27M_GCLK_IO1 _L_(27) /**< \brief GCLK signal: IO1 on PA27 mux M */ +#define MUX_PA27M_GCLK_IO1 _L_(12) +#define PINMUX_PA27M_GCLK_IO1 ((PIN_PA27M_GCLK_IO1 << 16) | MUX_PA27M_GCLK_IO1) +#define PORT_PA27M_GCLK_IO1 (_UL_(1) << 27) +#define PIN_PA16M_GCLK_IO2 _L_(16) /**< \brief GCLK signal: IO2 on PA16 mux M */ +#define MUX_PA16M_GCLK_IO2 _L_(12) +#define PINMUX_PA16M_GCLK_IO2 ((PIN_PA16M_GCLK_IO2 << 16) | MUX_PA16M_GCLK_IO2) +#define PORT_PA16M_GCLK_IO2 (_UL_(1) << 16) +#define PIN_PB16M_GCLK_IO2 _L_(48) /**< \brief GCLK signal: IO2 on PB16 mux M */ +#define MUX_PB16M_GCLK_IO2 _L_(12) +#define PINMUX_PB16M_GCLK_IO2 ((PIN_PB16M_GCLK_IO2 << 16) | MUX_PB16M_GCLK_IO2) +#define PORT_PB16M_GCLK_IO2 (_UL_(1) << 16) +#define PIN_PA17M_GCLK_IO3 _L_(17) /**< \brief GCLK signal: IO3 on PA17 mux M */ +#define MUX_PA17M_GCLK_IO3 _L_(12) +#define PINMUX_PA17M_GCLK_IO3 ((PIN_PA17M_GCLK_IO3 << 16) | MUX_PA17M_GCLK_IO3) +#define PORT_PA17M_GCLK_IO3 (_UL_(1) << 17) +#define PIN_PB17M_GCLK_IO3 _L_(49) /**< \brief GCLK signal: IO3 on PB17 mux M */ +#define MUX_PB17M_GCLK_IO3 _L_(12) +#define PINMUX_PB17M_GCLK_IO3 ((PIN_PB17M_GCLK_IO3 << 16) | MUX_PB17M_GCLK_IO3) +#define PORT_PB17M_GCLK_IO3 (_UL_(1) << 17) +#define PIN_PA10M_GCLK_IO4 _L_(10) /**< \brief GCLK signal: IO4 on PA10 mux M */ +#define MUX_PA10M_GCLK_IO4 _L_(12) +#define PINMUX_PA10M_GCLK_IO4 ((PIN_PA10M_GCLK_IO4 << 16) | MUX_PA10M_GCLK_IO4) +#define PORT_PA10M_GCLK_IO4 (_UL_(1) << 10) +#define PIN_PB10M_GCLK_IO4 _L_(42) /**< \brief GCLK signal: IO4 on PB10 mux M */ +#define MUX_PB10M_GCLK_IO4 _L_(12) +#define PINMUX_PB10M_GCLK_IO4 ((PIN_PB10M_GCLK_IO4 << 16) | MUX_PB10M_GCLK_IO4) +#define PORT_PB10M_GCLK_IO4 (_UL_(1) << 10) +#define PIN_PB18M_GCLK_IO4 _L_(50) /**< \brief GCLK signal: IO4 on PB18 mux M */ +#define MUX_PB18M_GCLK_IO4 _L_(12) +#define PINMUX_PB18M_GCLK_IO4 ((PIN_PB18M_GCLK_IO4 << 16) | MUX_PB18M_GCLK_IO4) +#define PORT_PB18M_GCLK_IO4 (_UL_(1) << 18) +#define PIN_PA11M_GCLK_IO5 _L_(11) /**< \brief GCLK signal: IO5 on PA11 mux M */ +#define MUX_PA11M_GCLK_IO5 _L_(12) +#define PINMUX_PA11M_GCLK_IO5 ((PIN_PA11M_GCLK_IO5 << 16) | MUX_PA11M_GCLK_IO5) +#define PORT_PA11M_GCLK_IO5 (_UL_(1) << 11) +#define PIN_PB11M_GCLK_IO5 _L_(43) /**< \brief GCLK signal: IO5 on PB11 mux M */ +#define MUX_PB11M_GCLK_IO5 _L_(12) +#define PINMUX_PB11M_GCLK_IO5 ((PIN_PB11M_GCLK_IO5 << 16) | MUX_PB11M_GCLK_IO5) +#define PORT_PB11M_GCLK_IO5 (_UL_(1) << 11) +#define PIN_PB19M_GCLK_IO5 _L_(51) /**< \brief GCLK signal: IO5 on PB19 mux M */ +#define MUX_PB19M_GCLK_IO5 _L_(12) +#define PINMUX_PB19M_GCLK_IO5 ((PIN_PB19M_GCLK_IO5 << 16) | MUX_PB19M_GCLK_IO5) +#define PORT_PB19M_GCLK_IO5 (_UL_(1) << 19) +#define PIN_PB12M_GCLK_IO6 _L_(44) /**< \brief GCLK signal: IO6 on PB12 mux M */ +#define MUX_PB12M_GCLK_IO6 _L_(12) +#define PINMUX_PB12M_GCLK_IO6 ((PIN_PB12M_GCLK_IO6 << 16) | MUX_PB12M_GCLK_IO6) +#define PORT_PB12M_GCLK_IO6 (_UL_(1) << 12) +#define PIN_PB20M_GCLK_IO6 _L_(52) /**< \brief GCLK signal: IO6 on PB20 mux M */ +#define MUX_PB20M_GCLK_IO6 _L_(12) +#define PINMUX_PB20M_GCLK_IO6 ((PIN_PB20M_GCLK_IO6 << 16) | MUX_PB20M_GCLK_IO6) +#define PORT_PB20M_GCLK_IO6 (_UL_(1) << 20) +#define PIN_PB13M_GCLK_IO7 _L_(45) /**< \brief GCLK signal: IO7 on PB13 mux M */ +#define MUX_PB13M_GCLK_IO7 _L_(12) +#define PINMUX_PB13M_GCLK_IO7 ((PIN_PB13M_GCLK_IO7 << 16) | MUX_PB13M_GCLK_IO7) +#define PORT_PB13M_GCLK_IO7 (_UL_(1) << 13) +#define PIN_PB21M_GCLK_IO7 _L_(53) /**< \brief GCLK signal: IO7 on PB21 mux M */ +#define MUX_PB21M_GCLK_IO7 _L_(12) +#define PINMUX_PB21M_GCLK_IO7 ((PIN_PB21M_GCLK_IO7 << 16) | MUX_PB21M_GCLK_IO7) +#define PORT_PB21M_GCLK_IO7 (_UL_(1) << 21) +/* ========== PORT definition for EIC peripheral ========== */ +#define PIN_PA00A_EIC_EXTINT0 _L_(0) /**< \brief EIC signal: EXTINT0 on PA00 mux A */ +#define MUX_PA00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PA00A_EIC_EXTINT0 ((PIN_PA00A_EIC_EXTINT0 << 16) | MUX_PA00A_EIC_EXTINT0) +#define PORT_PA00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PA00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA00 External Interrupt Line */ +#define PIN_PA16A_EIC_EXTINT0 _L_(16) /**< \brief EIC signal: EXTINT0 on PA16 mux A */ +#define MUX_PA16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PA16A_EIC_EXTINT0 ((PIN_PA16A_EIC_EXTINT0 << 16) | MUX_PA16A_EIC_EXTINT0) +#define PORT_PA16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PA16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA16 External Interrupt Line */ +#define PIN_PB00A_EIC_EXTINT0 _L_(32) /**< \brief EIC signal: EXTINT0 on PB00 mux A */ +#define MUX_PB00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PB00A_EIC_EXTINT0 ((PIN_PB00A_EIC_EXTINT0 << 16) | MUX_PB00A_EIC_EXTINT0) +#define PORT_PB00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PB00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB00 External Interrupt Line */ +#define PIN_PB16A_EIC_EXTINT0 _L_(48) /**< \brief EIC signal: EXTINT0 on PB16 mux A */ +#define MUX_PB16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PB16A_EIC_EXTINT0 ((PIN_PB16A_EIC_EXTINT0 << 16) | MUX_PB16A_EIC_EXTINT0) +#define PORT_PB16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PB16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB16 External Interrupt Line */ +#define PIN_PC00A_EIC_EXTINT0 _L_(64) /**< \brief EIC signal: EXTINT0 on PC00 mux A */ +#define MUX_PC00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PC00A_EIC_EXTINT0 ((PIN_PC00A_EIC_EXTINT0 << 16) | MUX_PC00A_EIC_EXTINT0) +#define PORT_PC00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PC00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC00 External Interrupt Line */ +#define PIN_PC16A_EIC_EXTINT0 _L_(80) /**< \brief EIC signal: EXTINT0 on PC16 mux A */ +#define MUX_PC16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PC16A_EIC_EXTINT0 ((PIN_PC16A_EIC_EXTINT0 << 16) | MUX_PC16A_EIC_EXTINT0) +#define PORT_PC16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PC16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC16 External Interrupt Line */ +#define PIN_PA01A_EIC_EXTINT1 _L_(1) /**< \brief EIC signal: EXTINT1 on PA01 mux A */ +#define MUX_PA01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PA01A_EIC_EXTINT1 ((PIN_PA01A_EIC_EXTINT1 << 16) | MUX_PA01A_EIC_EXTINT1) +#define PORT_PA01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PA01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA01 External Interrupt Line */ +#define PIN_PA17A_EIC_EXTINT1 _L_(17) /**< \brief EIC signal: EXTINT1 on PA17 mux A */ +#define MUX_PA17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PA17A_EIC_EXTINT1 ((PIN_PA17A_EIC_EXTINT1 << 16) | MUX_PA17A_EIC_EXTINT1) +#define PORT_PA17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PA17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA17 External Interrupt Line */ +#define PIN_PB01A_EIC_EXTINT1 _L_(33) /**< \brief EIC signal: EXTINT1 on PB01 mux A */ +#define MUX_PB01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PB01A_EIC_EXTINT1 ((PIN_PB01A_EIC_EXTINT1 << 16) | MUX_PB01A_EIC_EXTINT1) +#define PORT_PB01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PB01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB01 External Interrupt Line */ +#define PIN_PB17A_EIC_EXTINT1 _L_(49) /**< \brief EIC signal: EXTINT1 on PB17 mux A */ +#define MUX_PB17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PB17A_EIC_EXTINT1 ((PIN_PB17A_EIC_EXTINT1 << 16) | MUX_PB17A_EIC_EXTINT1) +#define PORT_PB17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PB17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB17 External Interrupt Line */ +#define PIN_PC01A_EIC_EXTINT1 _L_(65) /**< \brief EIC signal: EXTINT1 on PC01 mux A */ +#define MUX_PC01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PC01A_EIC_EXTINT1 ((PIN_PC01A_EIC_EXTINT1 << 16) | MUX_PC01A_EIC_EXTINT1) +#define PORT_PC01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PC01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC01 External Interrupt Line */ +#define PIN_PC17A_EIC_EXTINT1 _L_(81) /**< \brief EIC signal: EXTINT1 on PC17 mux A */ +#define MUX_PC17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PC17A_EIC_EXTINT1 ((PIN_PC17A_EIC_EXTINT1 << 16) | MUX_PC17A_EIC_EXTINT1) +#define PORT_PC17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PC17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC17 External Interrupt Line */ +#define PIN_PA02A_EIC_EXTINT2 _L_(2) /**< \brief EIC signal: EXTINT2 on PA02 mux A */ +#define MUX_PA02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PA02A_EIC_EXTINT2 ((PIN_PA02A_EIC_EXTINT2 << 16) | MUX_PA02A_EIC_EXTINT2) +#define PORT_PA02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PA02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA02 External Interrupt Line */ +#define PIN_PA18A_EIC_EXTINT2 _L_(18) /**< \brief EIC signal: EXTINT2 on PA18 mux A */ +#define MUX_PA18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PA18A_EIC_EXTINT2 ((PIN_PA18A_EIC_EXTINT2 << 16) | MUX_PA18A_EIC_EXTINT2) +#define PORT_PA18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PA18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA18 External Interrupt Line */ +#define PIN_PB02A_EIC_EXTINT2 _L_(34) /**< \brief EIC signal: EXTINT2 on PB02 mux A */ +#define MUX_PB02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PB02A_EIC_EXTINT2 ((PIN_PB02A_EIC_EXTINT2 << 16) | MUX_PB02A_EIC_EXTINT2) +#define PORT_PB02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PB02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB02 External Interrupt Line */ +#define PIN_PB18A_EIC_EXTINT2 _L_(50) /**< \brief EIC signal: EXTINT2 on PB18 mux A */ +#define MUX_PB18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PB18A_EIC_EXTINT2 ((PIN_PB18A_EIC_EXTINT2 << 16) | MUX_PB18A_EIC_EXTINT2) +#define PORT_PB18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PB18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB18 External Interrupt Line */ +#define PIN_PC02A_EIC_EXTINT2 _L_(66) /**< \brief EIC signal: EXTINT2 on PC02 mux A */ +#define MUX_PC02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PC02A_EIC_EXTINT2 ((PIN_PC02A_EIC_EXTINT2 << 16) | MUX_PC02A_EIC_EXTINT2) +#define PORT_PC02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PC02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC02 External Interrupt Line */ +#define PIN_PC18A_EIC_EXTINT2 _L_(82) /**< \brief EIC signal: EXTINT2 on PC18 mux A */ +#define MUX_PC18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PC18A_EIC_EXTINT2 ((PIN_PC18A_EIC_EXTINT2 << 16) | MUX_PC18A_EIC_EXTINT2) +#define PORT_PC18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PC18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC18 External Interrupt Line */ +#define PIN_PA03A_EIC_EXTINT3 _L_(3) /**< \brief EIC signal: EXTINT3 on PA03 mux A */ +#define MUX_PA03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PA03A_EIC_EXTINT3 ((PIN_PA03A_EIC_EXTINT3 << 16) | MUX_PA03A_EIC_EXTINT3) +#define PORT_PA03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PA03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA03 External Interrupt Line */ +#define PIN_PA19A_EIC_EXTINT3 _L_(19) /**< \brief EIC signal: EXTINT3 on PA19 mux A */ +#define MUX_PA19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PA19A_EIC_EXTINT3 ((PIN_PA19A_EIC_EXTINT3 << 16) | MUX_PA19A_EIC_EXTINT3) +#define PORT_PA19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PA19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA19 External Interrupt Line */ +#define PIN_PB03A_EIC_EXTINT3 _L_(35) /**< \brief EIC signal: EXTINT3 on PB03 mux A */ +#define MUX_PB03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PB03A_EIC_EXTINT3 ((PIN_PB03A_EIC_EXTINT3 << 16) | MUX_PB03A_EIC_EXTINT3) +#define PORT_PB03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PB03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB03 External Interrupt Line */ +#define PIN_PB19A_EIC_EXTINT3 _L_(51) /**< \brief EIC signal: EXTINT3 on PB19 mux A */ +#define MUX_PB19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PB19A_EIC_EXTINT3 ((PIN_PB19A_EIC_EXTINT3 << 16) | MUX_PB19A_EIC_EXTINT3) +#define PORT_PB19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PB19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB19 External Interrupt Line */ +#define PIN_PC03A_EIC_EXTINT3 _L_(67) /**< \brief EIC signal: EXTINT3 on PC03 mux A */ +#define MUX_PC03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PC03A_EIC_EXTINT3 ((PIN_PC03A_EIC_EXTINT3 << 16) | MUX_PC03A_EIC_EXTINT3) +#define PORT_PC03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PC03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC03 External Interrupt Line */ +#define PIN_PC19A_EIC_EXTINT3 _L_(83) /**< \brief EIC signal: EXTINT3 on PC19 mux A */ +#define MUX_PC19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PC19A_EIC_EXTINT3 ((PIN_PC19A_EIC_EXTINT3 << 16) | MUX_PC19A_EIC_EXTINT3) +#define PORT_PC19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PC19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC19 External Interrupt Line */ +#define PIN_PA04A_EIC_EXTINT4 _L_(4) /**< \brief EIC signal: EXTINT4 on PA04 mux A */ +#define MUX_PA04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PA04A_EIC_EXTINT4 ((PIN_PA04A_EIC_EXTINT4 << 16) | MUX_PA04A_EIC_EXTINT4) +#define PORT_PA04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PA04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA04 External Interrupt Line */ +#define PIN_PA20A_EIC_EXTINT4 _L_(20) /**< \brief EIC signal: EXTINT4 on PA20 mux A */ +#define MUX_PA20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PA20A_EIC_EXTINT4 ((PIN_PA20A_EIC_EXTINT4 << 16) | MUX_PA20A_EIC_EXTINT4) +#define PORT_PA20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PA20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA20 External Interrupt Line */ +#define PIN_PB04A_EIC_EXTINT4 _L_(36) /**< \brief EIC signal: EXTINT4 on PB04 mux A */ +#define MUX_PB04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PB04A_EIC_EXTINT4 ((PIN_PB04A_EIC_EXTINT4 << 16) | MUX_PB04A_EIC_EXTINT4) +#define PORT_PB04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PB04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB04 External Interrupt Line */ +#define PIN_PB20A_EIC_EXTINT4 _L_(52) /**< \brief EIC signal: EXTINT4 on PB20 mux A */ +#define MUX_PB20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PB20A_EIC_EXTINT4 ((PIN_PB20A_EIC_EXTINT4 << 16) | MUX_PB20A_EIC_EXTINT4) +#define PORT_PB20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PB20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB20 External Interrupt Line */ +#define PIN_PC20A_EIC_EXTINT4 _L_(84) /**< \brief EIC signal: EXTINT4 on PC20 mux A */ +#define MUX_PC20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PC20A_EIC_EXTINT4 ((PIN_PC20A_EIC_EXTINT4 << 16) | MUX_PC20A_EIC_EXTINT4) +#define PORT_PC20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PC20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC20 External Interrupt Line */ +#define PIN_PA05A_EIC_EXTINT5 _L_(5) /**< \brief EIC signal: EXTINT5 on PA05 mux A */ +#define MUX_PA05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PA05A_EIC_EXTINT5 ((PIN_PA05A_EIC_EXTINT5 << 16) | MUX_PA05A_EIC_EXTINT5) +#define PORT_PA05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PA05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA05 External Interrupt Line */ +#define PIN_PA21A_EIC_EXTINT5 _L_(21) /**< \brief EIC signal: EXTINT5 on PA21 mux A */ +#define MUX_PA21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PA21A_EIC_EXTINT5 ((PIN_PA21A_EIC_EXTINT5 << 16) | MUX_PA21A_EIC_EXTINT5) +#define PORT_PA21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PA21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA21 External Interrupt Line */ +#define PIN_PB05A_EIC_EXTINT5 _L_(37) /**< \brief EIC signal: EXTINT5 on PB05 mux A */ +#define MUX_PB05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PB05A_EIC_EXTINT5 ((PIN_PB05A_EIC_EXTINT5 << 16) | MUX_PB05A_EIC_EXTINT5) +#define PORT_PB05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PB05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB05 External Interrupt Line */ +#define PIN_PB21A_EIC_EXTINT5 _L_(53) /**< \brief EIC signal: EXTINT5 on PB21 mux A */ +#define MUX_PB21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PB21A_EIC_EXTINT5 ((PIN_PB21A_EIC_EXTINT5 << 16) | MUX_PB21A_EIC_EXTINT5) +#define PORT_PB21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PB21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB21 External Interrupt Line */ +#define PIN_PC05A_EIC_EXTINT5 _L_(69) /**< \brief EIC signal: EXTINT5 on PC05 mux A */ +#define MUX_PC05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PC05A_EIC_EXTINT5 ((PIN_PC05A_EIC_EXTINT5 << 16) | MUX_PC05A_EIC_EXTINT5) +#define PORT_PC05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PC05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC05 External Interrupt Line */ +#define PIN_PC21A_EIC_EXTINT5 _L_(85) /**< \brief EIC signal: EXTINT5 on PC21 mux A */ +#define MUX_PC21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PC21A_EIC_EXTINT5 ((PIN_PC21A_EIC_EXTINT5 << 16) | MUX_PC21A_EIC_EXTINT5) +#define PORT_PC21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PC21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC21 External Interrupt Line */ +#define PIN_PA06A_EIC_EXTINT6 _L_(6) /**< \brief EIC signal: EXTINT6 on PA06 mux A */ +#define MUX_PA06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PA06A_EIC_EXTINT6 ((PIN_PA06A_EIC_EXTINT6 << 16) | MUX_PA06A_EIC_EXTINT6) +#define PORT_PA06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PA06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA06 External Interrupt Line */ +#define PIN_PA22A_EIC_EXTINT6 _L_(22) /**< \brief EIC signal: EXTINT6 on PA22 mux A */ +#define MUX_PA22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PA22A_EIC_EXTINT6 ((PIN_PA22A_EIC_EXTINT6 << 16) | MUX_PA22A_EIC_EXTINT6) +#define PORT_PA22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PA22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA22 External Interrupt Line */ +#define PIN_PB06A_EIC_EXTINT6 _L_(38) /**< \brief EIC signal: EXTINT6 on PB06 mux A */ +#define MUX_PB06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PB06A_EIC_EXTINT6 ((PIN_PB06A_EIC_EXTINT6 << 16) | MUX_PB06A_EIC_EXTINT6) +#define PORT_PB06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PB06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB06 External Interrupt Line */ +#define PIN_PB22A_EIC_EXTINT6 _L_(54) /**< \brief EIC signal: EXTINT6 on PB22 mux A */ +#define MUX_PB22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PB22A_EIC_EXTINT6 ((PIN_PB22A_EIC_EXTINT6 << 16) | MUX_PB22A_EIC_EXTINT6) +#define PORT_PB22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PB22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB22 External Interrupt Line */ +#define PIN_PC06A_EIC_EXTINT6 _L_(70) /**< \brief EIC signal: EXTINT6 on PC06 mux A */ +#define MUX_PC06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PC06A_EIC_EXTINT6 ((PIN_PC06A_EIC_EXTINT6 << 16) | MUX_PC06A_EIC_EXTINT6) +#define PORT_PC06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PC06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC06 External Interrupt Line */ +#define PIN_PA07A_EIC_EXTINT7 _L_(7) /**< \brief EIC signal: EXTINT7 on PA07 mux A */ +#define MUX_PA07A_EIC_EXTINT7 _L_(0) +#define PINMUX_PA07A_EIC_EXTINT7 ((PIN_PA07A_EIC_EXTINT7 << 16) | MUX_PA07A_EIC_EXTINT7) +#define PORT_PA07A_EIC_EXTINT7 (_UL_(1) << 7) +#define PIN_PA07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA07 External Interrupt Line */ +#define PIN_PA23A_EIC_EXTINT7 _L_(23) /**< \brief EIC signal: EXTINT7 on PA23 mux A */ +#define MUX_PA23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PA23A_EIC_EXTINT7 ((PIN_PA23A_EIC_EXTINT7 << 16) | MUX_PA23A_EIC_EXTINT7) +#define PORT_PA23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PA23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA23 External Interrupt Line */ +#define PIN_PB07A_EIC_EXTINT7 _L_(39) /**< \brief EIC signal: EXTINT7 on PB07 mux A */ +#define MUX_PB07A_EIC_EXTINT7 _L_(0) +#define PINMUX_PB07A_EIC_EXTINT7 ((PIN_PB07A_EIC_EXTINT7 << 16) | MUX_PB07A_EIC_EXTINT7) +#define PORT_PB07A_EIC_EXTINT7 (_UL_(1) << 7) +#define PIN_PB07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB07 External Interrupt Line */ +#define PIN_PB23A_EIC_EXTINT7 _L_(55) /**< \brief EIC signal: EXTINT7 on PB23 mux A */ +#define MUX_PB23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PB23A_EIC_EXTINT7 ((PIN_PB23A_EIC_EXTINT7 << 16) | MUX_PB23A_EIC_EXTINT7) +#define PORT_PB23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PB23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB23 External Interrupt Line */ +#define PIN_PA24A_EIC_EXTINT8 _L_(24) /**< \brief EIC signal: EXTINT8 on PA24 mux A */ +#define MUX_PA24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PA24A_EIC_EXTINT8 ((PIN_PA24A_EIC_EXTINT8 << 16) | MUX_PA24A_EIC_EXTINT8) +#define PORT_PA24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PA24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PA24 External Interrupt Line */ +#define PIN_PB08A_EIC_EXTINT8 _L_(40) /**< \brief EIC signal: EXTINT8 on PB08 mux A */ +#define MUX_PB08A_EIC_EXTINT8 _L_(0) +#define PINMUX_PB08A_EIC_EXTINT8 ((PIN_PB08A_EIC_EXTINT8 << 16) | MUX_PB08A_EIC_EXTINT8) +#define PORT_PB08A_EIC_EXTINT8 (_UL_(1) << 8) +#define PIN_PB08A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB08 External Interrupt Line */ +#define PIN_PB24A_EIC_EXTINT8 _L_(56) /**< \brief EIC signal: EXTINT8 on PB24 mux A */ +#define MUX_PB24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PB24A_EIC_EXTINT8 ((PIN_PB24A_EIC_EXTINT8 << 16) | MUX_PB24A_EIC_EXTINT8) +#define PORT_PB24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PB24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB24 External Interrupt Line */ +#define PIN_PC24A_EIC_EXTINT8 _L_(88) /**< \brief EIC signal: EXTINT8 on PC24 mux A */ +#define MUX_PC24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PC24A_EIC_EXTINT8 ((PIN_PC24A_EIC_EXTINT8 << 16) | MUX_PC24A_EIC_EXTINT8) +#define PORT_PC24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PC24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PC24 External Interrupt Line */ +#define PIN_PA09A_EIC_EXTINT9 _L_(9) /**< \brief EIC signal: EXTINT9 on PA09 mux A */ +#define MUX_PA09A_EIC_EXTINT9 _L_(0) +#define PINMUX_PA09A_EIC_EXTINT9 ((PIN_PA09A_EIC_EXTINT9 << 16) | MUX_PA09A_EIC_EXTINT9) +#define PORT_PA09A_EIC_EXTINT9 (_UL_(1) << 9) +#define PIN_PA09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA09 External Interrupt Line */ +#define PIN_PA25A_EIC_EXTINT9 _L_(25) /**< \brief EIC signal: EXTINT9 on PA25 mux A */ +#define MUX_PA25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PA25A_EIC_EXTINT9 ((PIN_PA25A_EIC_EXTINT9 << 16) | MUX_PA25A_EIC_EXTINT9) +#define PORT_PA25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PA25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA25 External Interrupt Line */ +#define PIN_PB09A_EIC_EXTINT9 _L_(41) /**< \brief EIC signal: EXTINT9 on PB09 mux A */ +#define MUX_PB09A_EIC_EXTINT9 _L_(0) +#define PINMUX_PB09A_EIC_EXTINT9 ((PIN_PB09A_EIC_EXTINT9 << 16) | MUX_PB09A_EIC_EXTINT9) +#define PORT_PB09A_EIC_EXTINT9 (_UL_(1) << 9) +#define PIN_PB09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB09 External Interrupt Line */ +#define PIN_PB25A_EIC_EXTINT9 _L_(57) /**< \brief EIC signal: EXTINT9 on PB25 mux A */ +#define MUX_PB25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PB25A_EIC_EXTINT9 ((PIN_PB25A_EIC_EXTINT9 << 16) | MUX_PB25A_EIC_EXTINT9) +#define PORT_PB25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PB25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB25 External Interrupt Line */ +#define PIN_PC07A_EIC_EXTINT9 _L_(71) /**< \brief EIC signal: EXTINT9 on PC07 mux A */ +#define MUX_PC07A_EIC_EXTINT9 _L_(0) +#define PINMUX_PC07A_EIC_EXTINT9 ((PIN_PC07A_EIC_EXTINT9 << 16) | MUX_PC07A_EIC_EXTINT9) +#define PORT_PC07A_EIC_EXTINT9 (_UL_(1) << 7) +#define PIN_PC07A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC07 External Interrupt Line */ +#define PIN_PC25A_EIC_EXTINT9 _L_(89) /**< \brief EIC signal: EXTINT9 on PC25 mux A */ +#define MUX_PC25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PC25A_EIC_EXTINT9 ((PIN_PC25A_EIC_EXTINT9 << 16) | MUX_PC25A_EIC_EXTINT9) +#define PORT_PC25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PC25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC25 External Interrupt Line */ +#define PIN_PA10A_EIC_EXTINT10 _L_(10) /**< \brief EIC signal: EXTINT10 on PA10 mux A */ +#define MUX_PA10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PA10A_EIC_EXTINT10 ((PIN_PA10A_EIC_EXTINT10 << 16) | MUX_PA10A_EIC_EXTINT10) +#define PORT_PA10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PA10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PA10 External Interrupt Line */ +#define PIN_PB10A_EIC_EXTINT10 _L_(42) /**< \brief EIC signal: EXTINT10 on PB10 mux A */ +#define MUX_PB10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PB10A_EIC_EXTINT10 ((PIN_PB10A_EIC_EXTINT10 << 16) | MUX_PB10A_EIC_EXTINT10) +#define PORT_PB10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PB10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PB10 External Interrupt Line */ +#define PIN_PC10A_EIC_EXTINT10 _L_(74) /**< \brief EIC signal: EXTINT10 on PC10 mux A */ +#define MUX_PC10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PC10A_EIC_EXTINT10 ((PIN_PC10A_EIC_EXTINT10 << 16) | MUX_PC10A_EIC_EXTINT10) +#define PORT_PC10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PC10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC10 External Interrupt Line */ +#define PIN_PC26A_EIC_EXTINT10 _L_(90) /**< \brief EIC signal: EXTINT10 on PC26 mux A */ +#define MUX_PC26A_EIC_EXTINT10 _L_(0) +#define PINMUX_PC26A_EIC_EXTINT10 ((PIN_PC26A_EIC_EXTINT10 << 16) | MUX_PC26A_EIC_EXTINT10) +#define PORT_PC26A_EIC_EXTINT10 (_UL_(1) << 26) +#define PIN_PC26A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC26 External Interrupt Line */ +#define PIN_PA11A_EIC_EXTINT11 _L_(11) /**< \brief EIC signal: EXTINT11 on PA11 mux A */ +#define MUX_PA11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PA11A_EIC_EXTINT11 ((PIN_PA11A_EIC_EXTINT11 << 16) | MUX_PA11A_EIC_EXTINT11) +#define PORT_PA11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PA11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA11 External Interrupt Line */ +#define PIN_PA27A_EIC_EXTINT11 _L_(27) /**< \brief EIC signal: EXTINT11 on PA27 mux A */ +#define MUX_PA27A_EIC_EXTINT11 _L_(0) +#define PINMUX_PA27A_EIC_EXTINT11 ((PIN_PA27A_EIC_EXTINT11 << 16) | MUX_PA27A_EIC_EXTINT11) +#define PORT_PA27A_EIC_EXTINT11 (_UL_(1) << 27) +#define PIN_PA27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA27 External Interrupt Line */ +#define PIN_PB11A_EIC_EXTINT11 _L_(43) /**< \brief EIC signal: EXTINT11 on PB11 mux A */ +#define MUX_PB11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PB11A_EIC_EXTINT11 ((PIN_PB11A_EIC_EXTINT11 << 16) | MUX_PB11A_EIC_EXTINT11) +#define PORT_PB11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PB11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PB11 External Interrupt Line */ +#define PIN_PC11A_EIC_EXTINT11 _L_(75) /**< \brief EIC signal: EXTINT11 on PC11 mux A */ +#define MUX_PC11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PC11A_EIC_EXTINT11 ((PIN_PC11A_EIC_EXTINT11 << 16) | MUX_PC11A_EIC_EXTINT11) +#define PORT_PC11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PC11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC11 External Interrupt Line */ +#define PIN_PC27A_EIC_EXTINT11 _L_(91) /**< \brief EIC signal: EXTINT11 on PC27 mux A */ +#define MUX_PC27A_EIC_EXTINT11 _L_(0) +#define PINMUX_PC27A_EIC_EXTINT11 ((PIN_PC27A_EIC_EXTINT11 << 16) | MUX_PC27A_EIC_EXTINT11) +#define PORT_PC27A_EIC_EXTINT11 (_UL_(1) << 27) +#define PIN_PC27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC27 External Interrupt Line */ +#define PIN_PA12A_EIC_EXTINT12 _L_(12) /**< \brief EIC signal: EXTINT12 on PA12 mux A */ +#define MUX_PA12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PA12A_EIC_EXTINT12 ((PIN_PA12A_EIC_EXTINT12 << 16) | MUX_PA12A_EIC_EXTINT12) +#define PORT_PA12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PA12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PA12 External Interrupt Line */ +#define PIN_PB12A_EIC_EXTINT12 _L_(44) /**< \brief EIC signal: EXTINT12 on PB12 mux A */ +#define MUX_PB12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PB12A_EIC_EXTINT12 ((PIN_PB12A_EIC_EXTINT12 << 16) | MUX_PB12A_EIC_EXTINT12) +#define PORT_PB12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PB12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB12 External Interrupt Line */ +#define PIN_PC12A_EIC_EXTINT12 _L_(76) /**< \brief EIC signal: EXTINT12 on PC12 mux A */ +#define MUX_PC12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PC12A_EIC_EXTINT12 ((PIN_PC12A_EIC_EXTINT12 << 16) | MUX_PC12A_EIC_EXTINT12) +#define PORT_PC12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PC12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC12 External Interrupt Line */ +#define PIN_PC28A_EIC_EXTINT12 _L_(92) /**< \brief EIC signal: EXTINT12 on PC28 mux A */ +#define MUX_PC28A_EIC_EXTINT12 _L_(0) +#define PINMUX_PC28A_EIC_EXTINT12 ((PIN_PC28A_EIC_EXTINT12 << 16) | MUX_PC28A_EIC_EXTINT12) +#define PORT_PC28A_EIC_EXTINT12 (_UL_(1) << 28) +#define PIN_PC28A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC28 External Interrupt Line */ +#define PIN_PA13A_EIC_EXTINT13 _L_(13) /**< \brief EIC signal: EXTINT13 on PA13 mux A */ +#define MUX_PA13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PA13A_EIC_EXTINT13 ((PIN_PA13A_EIC_EXTINT13 << 16) | MUX_PA13A_EIC_EXTINT13) +#define PORT_PA13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PA13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PA13 External Interrupt Line */ +#define PIN_PB13A_EIC_EXTINT13 _L_(45) /**< \brief EIC signal: EXTINT13 on PB13 mux A */ +#define MUX_PB13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PB13A_EIC_EXTINT13 ((PIN_PB13A_EIC_EXTINT13 << 16) | MUX_PB13A_EIC_EXTINT13) +#define PORT_PB13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PB13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB13 External Interrupt Line */ +#define PIN_PC13A_EIC_EXTINT13 _L_(77) /**< \brief EIC signal: EXTINT13 on PC13 mux A */ +#define MUX_PC13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PC13A_EIC_EXTINT13 ((PIN_PC13A_EIC_EXTINT13 << 16) | MUX_PC13A_EIC_EXTINT13) +#define PORT_PC13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PC13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PC13 External Interrupt Line */ +#define PIN_PA30A_EIC_EXTINT14 _L_(30) /**< \brief EIC signal: EXTINT14 on PA30 mux A */ +#define MUX_PA30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PA30A_EIC_EXTINT14 ((PIN_PA30A_EIC_EXTINT14 << 16) | MUX_PA30A_EIC_EXTINT14) +#define PORT_PA30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PA30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA30 External Interrupt Line */ +#define PIN_PB14A_EIC_EXTINT14 _L_(46) /**< \brief EIC signal: EXTINT14 on PB14 mux A */ +#define MUX_PB14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB14A_EIC_EXTINT14 ((PIN_PB14A_EIC_EXTINT14 << 16) | MUX_PB14A_EIC_EXTINT14) +#define PORT_PB14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PB14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB14 External Interrupt Line */ +#define PIN_PB30A_EIC_EXTINT14 _L_(62) /**< \brief EIC signal: EXTINT14 on PB30 mux A */ +#define MUX_PB30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB30A_EIC_EXTINT14 ((PIN_PB30A_EIC_EXTINT14 << 16) | MUX_PB30A_EIC_EXTINT14) +#define PORT_PB30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PB30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB30 External Interrupt Line */ +#define PIN_PC14A_EIC_EXTINT14 _L_(78) /**< \brief EIC signal: EXTINT14 on PC14 mux A */ +#define MUX_PC14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PC14A_EIC_EXTINT14 ((PIN_PC14A_EIC_EXTINT14 << 16) | MUX_PC14A_EIC_EXTINT14) +#define PORT_PC14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PC14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC14 External Interrupt Line */ +#define PIN_PA14A_EIC_EXTINT14 _L_(14) /**< \brief EIC signal: EXTINT14 on PA14 mux A */ +#define MUX_PA14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PA14A_EIC_EXTINT14 ((PIN_PA14A_EIC_EXTINT14 << 16) | MUX_PA14A_EIC_EXTINT14) +#define PORT_PA14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PA14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA14 External Interrupt Line */ +#define PIN_PA15A_EIC_EXTINT15 _L_(15) /**< \brief EIC signal: EXTINT15 on PA15 mux A */ +#define MUX_PA15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PA15A_EIC_EXTINT15 ((PIN_PA15A_EIC_EXTINT15 << 16) | MUX_PA15A_EIC_EXTINT15) +#define PORT_PA15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PA15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA15 External Interrupt Line */ +#define PIN_PA31A_EIC_EXTINT15 _L_(31) /**< \brief EIC signal: EXTINT15 on PA31 mux A */ +#define MUX_PA31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PA31A_EIC_EXTINT15 ((PIN_PA31A_EIC_EXTINT15 << 16) | MUX_PA31A_EIC_EXTINT15) +#define PORT_PA31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PA31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA31 External Interrupt Line */ +#define PIN_PB15A_EIC_EXTINT15 _L_(47) /**< \brief EIC signal: EXTINT15 on PB15 mux A */ +#define MUX_PB15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB15A_EIC_EXTINT15 ((PIN_PB15A_EIC_EXTINT15 << 16) | MUX_PB15A_EIC_EXTINT15) +#define PORT_PB15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PB15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB15 External Interrupt Line */ +#define PIN_PB31A_EIC_EXTINT15 _L_(63) /**< \brief EIC signal: EXTINT15 on PB31 mux A */ +#define MUX_PB31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB31A_EIC_EXTINT15 ((PIN_PB31A_EIC_EXTINT15 << 16) | MUX_PB31A_EIC_EXTINT15) +#define PORT_PB31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PB31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB31 External Interrupt Line */ +#define PIN_PC15A_EIC_EXTINT15 _L_(79) /**< \brief EIC signal: EXTINT15 on PC15 mux A */ +#define MUX_PC15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PC15A_EIC_EXTINT15 ((PIN_PC15A_EIC_EXTINT15 << 16) | MUX_PC15A_EIC_EXTINT15) +#define PORT_PC15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PC15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC15 External Interrupt Line */ +#define PIN_PA08A_EIC_NMI _L_(8) /**< \brief EIC signal: NMI on PA08 mux A */ +#define MUX_PA08A_EIC_NMI _L_(0) +#define PINMUX_PA08A_EIC_NMI ((PIN_PA08A_EIC_NMI << 16) | MUX_PA08A_EIC_NMI) +#define PORT_PA08A_EIC_NMI (_UL_(1) << 8) +/* ========== PORT definition for SERCOM0 peripheral ========== */ +#define PIN_PA04D_SERCOM0_PAD0 _L_(4) /**< \brief SERCOM0 signal: PAD0 on PA04 mux D */ +#define MUX_PA04D_SERCOM0_PAD0 _L_(3) +#define PINMUX_PA04D_SERCOM0_PAD0 ((PIN_PA04D_SERCOM0_PAD0 << 16) | MUX_PA04D_SERCOM0_PAD0) +#define PORT_PA04D_SERCOM0_PAD0 (_UL_(1) << 4) +#define PIN_PC17D_SERCOM0_PAD0 _L_(81) /**< \brief SERCOM0 signal: PAD0 on PC17 mux D */ +#define MUX_PC17D_SERCOM0_PAD0 _L_(3) +#define PINMUX_PC17D_SERCOM0_PAD0 ((PIN_PC17D_SERCOM0_PAD0 << 16) | MUX_PC17D_SERCOM0_PAD0) +#define PORT_PC17D_SERCOM0_PAD0 (_UL_(1) << 17) +#define PIN_PA08C_SERCOM0_PAD0 _L_(8) /**< \brief SERCOM0 signal: PAD0 on PA08 mux C */ +#define MUX_PA08C_SERCOM0_PAD0 _L_(2) +#define PINMUX_PA08C_SERCOM0_PAD0 ((PIN_PA08C_SERCOM0_PAD0 << 16) | MUX_PA08C_SERCOM0_PAD0) +#define PORT_PA08C_SERCOM0_PAD0 (_UL_(1) << 8) +#define PIN_PB24C_SERCOM0_PAD0 _L_(56) /**< \brief SERCOM0 signal: PAD0 on PB24 mux C */ +#define MUX_PB24C_SERCOM0_PAD0 _L_(2) +#define PINMUX_PB24C_SERCOM0_PAD0 ((PIN_PB24C_SERCOM0_PAD0 << 16) | MUX_PB24C_SERCOM0_PAD0) +#define PORT_PB24C_SERCOM0_PAD0 (_UL_(1) << 24) +#define PIN_PA05D_SERCOM0_PAD1 _L_(5) /**< \brief SERCOM0 signal: PAD1 on PA05 mux D */ +#define MUX_PA05D_SERCOM0_PAD1 _L_(3) +#define PINMUX_PA05D_SERCOM0_PAD1 ((PIN_PA05D_SERCOM0_PAD1 << 16) | MUX_PA05D_SERCOM0_PAD1) +#define PORT_PA05D_SERCOM0_PAD1 (_UL_(1) << 5) +#define PIN_PC16D_SERCOM0_PAD1 _L_(80) /**< \brief SERCOM0 signal: PAD1 on PC16 mux D */ +#define MUX_PC16D_SERCOM0_PAD1 _L_(3) +#define PINMUX_PC16D_SERCOM0_PAD1 ((PIN_PC16D_SERCOM0_PAD1 << 16) | MUX_PC16D_SERCOM0_PAD1) +#define PORT_PC16D_SERCOM0_PAD1 (_UL_(1) << 16) +#define PIN_PA09C_SERCOM0_PAD1 _L_(9) /**< \brief SERCOM0 signal: PAD1 on PA09 mux C */ +#define MUX_PA09C_SERCOM0_PAD1 _L_(2) +#define PINMUX_PA09C_SERCOM0_PAD1 ((PIN_PA09C_SERCOM0_PAD1 << 16) | MUX_PA09C_SERCOM0_PAD1) +#define PORT_PA09C_SERCOM0_PAD1 (_UL_(1) << 9) +#define PIN_PB25C_SERCOM0_PAD1 _L_(57) /**< \brief SERCOM0 signal: PAD1 on PB25 mux C */ +#define MUX_PB25C_SERCOM0_PAD1 _L_(2) +#define PINMUX_PB25C_SERCOM0_PAD1 ((PIN_PB25C_SERCOM0_PAD1 << 16) | MUX_PB25C_SERCOM0_PAD1) +#define PORT_PB25C_SERCOM0_PAD1 (_UL_(1) << 25) +#define PIN_PA06D_SERCOM0_PAD2 _L_(6) /**< \brief SERCOM0 signal: PAD2 on PA06 mux D */ +#define MUX_PA06D_SERCOM0_PAD2 _L_(3) +#define PINMUX_PA06D_SERCOM0_PAD2 ((PIN_PA06D_SERCOM0_PAD2 << 16) | MUX_PA06D_SERCOM0_PAD2) +#define PORT_PA06D_SERCOM0_PAD2 (_UL_(1) << 6) +#define PIN_PC18D_SERCOM0_PAD2 _L_(82) /**< \brief SERCOM0 signal: PAD2 on PC18 mux D */ +#define MUX_PC18D_SERCOM0_PAD2 _L_(3) +#define PINMUX_PC18D_SERCOM0_PAD2 ((PIN_PC18D_SERCOM0_PAD2 << 16) | MUX_PC18D_SERCOM0_PAD2) +#define PORT_PC18D_SERCOM0_PAD2 (_UL_(1) << 18) +#define PIN_PA10C_SERCOM0_PAD2 _L_(10) /**< \brief SERCOM0 signal: PAD2 on PA10 mux C */ +#define MUX_PA10C_SERCOM0_PAD2 _L_(2) +#define PINMUX_PA10C_SERCOM0_PAD2 ((PIN_PA10C_SERCOM0_PAD2 << 16) | MUX_PA10C_SERCOM0_PAD2) +#define PORT_PA10C_SERCOM0_PAD2 (_UL_(1) << 10) +#define PIN_PC24C_SERCOM0_PAD2 _L_(88) /**< \brief SERCOM0 signal: PAD2 on PC24 mux C */ +#define MUX_PC24C_SERCOM0_PAD2 _L_(2) +#define PINMUX_PC24C_SERCOM0_PAD2 ((PIN_PC24C_SERCOM0_PAD2 << 16) | MUX_PC24C_SERCOM0_PAD2) +#define PORT_PC24C_SERCOM0_PAD2 (_UL_(1) << 24) +#define PIN_PA07D_SERCOM0_PAD3 _L_(7) /**< \brief SERCOM0 signal: PAD3 on PA07 mux D */ +#define MUX_PA07D_SERCOM0_PAD3 _L_(3) +#define PINMUX_PA07D_SERCOM0_PAD3 ((PIN_PA07D_SERCOM0_PAD3 << 16) | MUX_PA07D_SERCOM0_PAD3) +#define PORT_PA07D_SERCOM0_PAD3 (_UL_(1) << 7) +#define PIN_PC19D_SERCOM0_PAD3 _L_(83) /**< \brief SERCOM0 signal: PAD3 on PC19 mux D */ +#define MUX_PC19D_SERCOM0_PAD3 _L_(3) +#define PINMUX_PC19D_SERCOM0_PAD3 ((PIN_PC19D_SERCOM0_PAD3 << 16) | MUX_PC19D_SERCOM0_PAD3) +#define PORT_PC19D_SERCOM0_PAD3 (_UL_(1) << 19) +#define PIN_PA11C_SERCOM0_PAD3 _L_(11) /**< \brief SERCOM0 signal: PAD3 on PA11 mux C */ +#define MUX_PA11C_SERCOM0_PAD3 _L_(2) +#define PINMUX_PA11C_SERCOM0_PAD3 ((PIN_PA11C_SERCOM0_PAD3 << 16) | MUX_PA11C_SERCOM0_PAD3) +#define PORT_PA11C_SERCOM0_PAD3 (_UL_(1) << 11) +#define PIN_PC25C_SERCOM0_PAD3 _L_(89) /**< \brief SERCOM0 signal: PAD3 on PC25 mux C */ +#define MUX_PC25C_SERCOM0_PAD3 _L_(2) +#define PINMUX_PC25C_SERCOM0_PAD3 ((PIN_PC25C_SERCOM0_PAD3 << 16) | MUX_PC25C_SERCOM0_PAD3) +#define PORT_PC25C_SERCOM0_PAD3 (_UL_(1) << 25) +/* ========== PORT definition for SERCOM1 peripheral ========== */ +#define PIN_PA00D_SERCOM1_PAD0 _L_(0) /**< \brief SERCOM1 signal: PAD0 on PA00 mux D */ +#define MUX_PA00D_SERCOM1_PAD0 _L_(3) +#define PINMUX_PA00D_SERCOM1_PAD0 ((PIN_PA00D_SERCOM1_PAD0 << 16) | MUX_PA00D_SERCOM1_PAD0) +#define PORT_PA00D_SERCOM1_PAD0 (_UL_(1) << 0) +#define PIN_PA16C_SERCOM1_PAD0 _L_(16) /**< \brief SERCOM1 signal: PAD0 on PA16 mux C */ +#define MUX_PA16C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PA16C_SERCOM1_PAD0 ((PIN_PA16C_SERCOM1_PAD0 << 16) | MUX_PA16C_SERCOM1_PAD0) +#define PORT_PA16C_SERCOM1_PAD0 (_UL_(1) << 16) +#define PIN_PC27C_SERCOM1_PAD0 _L_(91) /**< \brief SERCOM1 signal: PAD0 on PC27 mux C */ +#define MUX_PC27C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PC27C_SERCOM1_PAD0 ((PIN_PC27C_SERCOM1_PAD0 << 16) | MUX_PC27C_SERCOM1_PAD0) +#define PORT_PC27C_SERCOM1_PAD0 (_UL_(1) << 27) +#define PIN_PA01D_SERCOM1_PAD1 _L_(1) /**< \brief SERCOM1 signal: PAD1 on PA01 mux D */ +#define MUX_PA01D_SERCOM1_PAD1 _L_(3) +#define PINMUX_PA01D_SERCOM1_PAD1 ((PIN_PA01D_SERCOM1_PAD1 << 16) | MUX_PA01D_SERCOM1_PAD1) +#define PORT_PA01D_SERCOM1_PAD1 (_UL_(1) << 1) +#define PIN_PA17C_SERCOM1_PAD1 _L_(17) /**< \brief SERCOM1 signal: PAD1 on PA17 mux C */ +#define MUX_PA17C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PA17C_SERCOM1_PAD1 ((PIN_PA17C_SERCOM1_PAD1 << 16) | MUX_PA17C_SERCOM1_PAD1) +#define PORT_PA17C_SERCOM1_PAD1 (_UL_(1) << 17) +#define PIN_PC28C_SERCOM1_PAD1 _L_(92) /**< \brief SERCOM1 signal: PAD1 on PC28 mux C */ +#define MUX_PC28C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PC28C_SERCOM1_PAD1 ((PIN_PC28C_SERCOM1_PAD1 << 16) | MUX_PC28C_SERCOM1_PAD1) +#define PORT_PC28C_SERCOM1_PAD1 (_UL_(1) << 28) +#define PIN_PA30D_SERCOM1_PAD2 _L_(30) /**< \brief SERCOM1 signal: PAD2 on PA30 mux D */ +#define MUX_PA30D_SERCOM1_PAD2 _L_(3) +#define PINMUX_PA30D_SERCOM1_PAD2 ((PIN_PA30D_SERCOM1_PAD2 << 16) | MUX_PA30D_SERCOM1_PAD2) +#define PORT_PA30D_SERCOM1_PAD2 (_UL_(1) << 30) +#define PIN_PA18C_SERCOM1_PAD2 _L_(18) /**< \brief SERCOM1 signal: PAD2 on PA18 mux C */ +#define MUX_PA18C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PA18C_SERCOM1_PAD2 ((PIN_PA18C_SERCOM1_PAD2 << 16) | MUX_PA18C_SERCOM1_PAD2) +#define PORT_PA18C_SERCOM1_PAD2 (_UL_(1) << 18) +#define PIN_PB22C_SERCOM1_PAD2 _L_(54) /**< \brief SERCOM1 signal: PAD2 on PB22 mux C */ +#define MUX_PB22C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PB22C_SERCOM1_PAD2 ((PIN_PB22C_SERCOM1_PAD2 << 16) | MUX_PB22C_SERCOM1_PAD2) +#define PORT_PB22C_SERCOM1_PAD2 (_UL_(1) << 22) +#define PIN_PA31D_SERCOM1_PAD3 _L_(31) /**< \brief SERCOM1 signal: PAD3 on PA31 mux D */ +#define MUX_PA31D_SERCOM1_PAD3 _L_(3) +#define PINMUX_PA31D_SERCOM1_PAD3 ((PIN_PA31D_SERCOM1_PAD3 << 16) | MUX_PA31D_SERCOM1_PAD3) +#define PORT_PA31D_SERCOM1_PAD3 (_UL_(1) << 31) +#define PIN_PA19C_SERCOM1_PAD3 _L_(19) /**< \brief SERCOM1 signal: PAD3 on PA19 mux C */ +#define MUX_PA19C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PA19C_SERCOM1_PAD3 ((PIN_PA19C_SERCOM1_PAD3 << 16) | MUX_PA19C_SERCOM1_PAD3) +#define PORT_PA19C_SERCOM1_PAD3 (_UL_(1) << 19) +#define PIN_PB23C_SERCOM1_PAD3 _L_(55) /**< \brief SERCOM1 signal: PAD3 on PB23 mux C */ +#define MUX_PB23C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PB23C_SERCOM1_PAD3 ((PIN_PB23C_SERCOM1_PAD3 << 16) | MUX_PB23C_SERCOM1_PAD3) +#define PORT_PB23C_SERCOM1_PAD3 (_UL_(1) << 23) +/* ========== PORT definition for TC0 peripheral ========== */ +#define PIN_PA04E_TC0_WO0 _L_(4) /**< \brief TC0 signal: WO0 on PA04 mux E */ +#define MUX_PA04E_TC0_WO0 _L_(4) +#define PINMUX_PA04E_TC0_WO0 ((PIN_PA04E_TC0_WO0 << 16) | MUX_PA04E_TC0_WO0) +#define PORT_PA04E_TC0_WO0 (_UL_(1) << 4) +#define PIN_PA08E_TC0_WO0 _L_(8) /**< \brief TC0 signal: WO0 on PA08 mux E */ +#define MUX_PA08E_TC0_WO0 _L_(4) +#define PINMUX_PA08E_TC0_WO0 ((PIN_PA08E_TC0_WO0 << 16) | MUX_PA08E_TC0_WO0) +#define PORT_PA08E_TC0_WO0 (_UL_(1) << 8) +#define PIN_PB30E_TC0_WO0 _L_(62) /**< \brief TC0 signal: WO0 on PB30 mux E */ +#define MUX_PB30E_TC0_WO0 _L_(4) +#define PINMUX_PB30E_TC0_WO0 ((PIN_PB30E_TC0_WO0 << 16) | MUX_PB30E_TC0_WO0) +#define PORT_PB30E_TC0_WO0 (_UL_(1) << 30) +#define PIN_PA05E_TC0_WO1 _L_(5) /**< \brief TC0 signal: WO1 on PA05 mux E */ +#define MUX_PA05E_TC0_WO1 _L_(4) +#define PINMUX_PA05E_TC0_WO1 ((PIN_PA05E_TC0_WO1 << 16) | MUX_PA05E_TC0_WO1) +#define PORT_PA05E_TC0_WO1 (_UL_(1) << 5) +#define PIN_PA09E_TC0_WO1 _L_(9) /**< \brief TC0 signal: WO1 on PA09 mux E */ +#define MUX_PA09E_TC0_WO1 _L_(4) +#define PINMUX_PA09E_TC0_WO1 ((PIN_PA09E_TC0_WO1 << 16) | MUX_PA09E_TC0_WO1) +#define PORT_PA09E_TC0_WO1 (_UL_(1) << 9) +#define PIN_PB31E_TC0_WO1 _L_(63) /**< \brief TC0 signal: WO1 on PB31 mux E */ +#define MUX_PB31E_TC0_WO1 _L_(4) +#define PINMUX_PB31E_TC0_WO1 ((PIN_PB31E_TC0_WO1 << 16) | MUX_PB31E_TC0_WO1) +#define PORT_PB31E_TC0_WO1 (_UL_(1) << 31) +/* ========== PORT definition for TC1 peripheral ========== */ +#define PIN_PA06E_TC1_WO0 _L_(6) /**< \brief TC1 signal: WO0 on PA06 mux E */ +#define MUX_PA06E_TC1_WO0 _L_(4) +#define PINMUX_PA06E_TC1_WO0 ((PIN_PA06E_TC1_WO0 << 16) | MUX_PA06E_TC1_WO0) +#define PORT_PA06E_TC1_WO0 (_UL_(1) << 6) +#define PIN_PA10E_TC1_WO0 _L_(10) /**< \brief TC1 signal: WO0 on PA10 mux E */ +#define MUX_PA10E_TC1_WO0 _L_(4) +#define PINMUX_PA10E_TC1_WO0 ((PIN_PA10E_TC1_WO0 << 16) | MUX_PA10E_TC1_WO0) +#define PORT_PA10E_TC1_WO0 (_UL_(1) << 10) +#define PIN_PA07E_TC1_WO1 _L_(7) /**< \brief TC1 signal: WO1 on PA07 mux E */ +#define MUX_PA07E_TC1_WO1 _L_(4) +#define PINMUX_PA07E_TC1_WO1 ((PIN_PA07E_TC1_WO1 << 16) | MUX_PA07E_TC1_WO1) +#define PORT_PA07E_TC1_WO1 (_UL_(1) << 7) +#define PIN_PA11E_TC1_WO1 _L_(11) /**< \brief TC1 signal: WO1 on PA11 mux E */ +#define MUX_PA11E_TC1_WO1 _L_(4) +#define PINMUX_PA11E_TC1_WO1 ((PIN_PA11E_TC1_WO1 << 16) | MUX_PA11E_TC1_WO1) +#define PORT_PA11E_TC1_WO1 (_UL_(1) << 11) +/* ========== PORT definition for USB peripheral ========== */ +#define PIN_PA24H_USB_DM _L_(24) /**< \brief USB signal: DM on PA24 mux H */ +#define MUX_PA24H_USB_DM _L_(7) +#define PINMUX_PA24H_USB_DM ((PIN_PA24H_USB_DM << 16) | MUX_PA24H_USB_DM) +#define PORT_PA24H_USB_DM (_UL_(1) << 24) +#define PIN_PA25H_USB_DP _L_(25) /**< \brief USB signal: DP on PA25 mux H */ +#define MUX_PA25H_USB_DP _L_(7) +#define PINMUX_PA25H_USB_DP ((PIN_PA25H_USB_DP << 16) | MUX_PA25H_USB_DP) +#define PORT_PA25H_USB_DP (_UL_(1) << 25) +#define PIN_PA23H_USB_SOF_1KHZ _L_(23) /**< \brief USB signal: SOF_1KHZ on PA23 mux H */ +#define MUX_PA23H_USB_SOF_1KHZ _L_(7) +#define PINMUX_PA23H_USB_SOF_1KHZ ((PIN_PA23H_USB_SOF_1KHZ << 16) | MUX_PA23H_USB_SOF_1KHZ) +#define PORT_PA23H_USB_SOF_1KHZ (_UL_(1) << 23) +#define PIN_PB22H_USB_SOF_1KHZ _L_(54) /**< \brief USB signal: SOF_1KHZ on PB22 mux H */ +#define MUX_PB22H_USB_SOF_1KHZ _L_(7) +#define PINMUX_PB22H_USB_SOF_1KHZ ((PIN_PB22H_USB_SOF_1KHZ << 16) | MUX_PB22H_USB_SOF_1KHZ) +#define PORT_PB22H_USB_SOF_1KHZ (_UL_(1) << 22) +/* ========== PORT definition for SERCOM2 peripheral ========== */ +#define PIN_PA09D_SERCOM2_PAD0 _L_(9) /**< \brief SERCOM2 signal: PAD0 on PA09 mux D */ +#define MUX_PA09D_SERCOM2_PAD0 _L_(3) +#define PINMUX_PA09D_SERCOM2_PAD0 ((PIN_PA09D_SERCOM2_PAD0 << 16) | MUX_PA09D_SERCOM2_PAD0) +#define PORT_PA09D_SERCOM2_PAD0 (_UL_(1) << 9) +#define PIN_PB25D_SERCOM2_PAD0 _L_(57) /**< \brief SERCOM2 signal: PAD0 on PB25 mux D */ +#define MUX_PB25D_SERCOM2_PAD0 _L_(3) +#define PINMUX_PB25D_SERCOM2_PAD0 ((PIN_PB25D_SERCOM2_PAD0 << 16) | MUX_PB25D_SERCOM2_PAD0) +#define PORT_PB25D_SERCOM2_PAD0 (_UL_(1) << 25) +#define PIN_PA12C_SERCOM2_PAD0 _L_(12) /**< \brief SERCOM2 signal: PAD0 on PA12 mux C */ +#define MUX_PA12C_SERCOM2_PAD0 _L_(2) +#define PINMUX_PA12C_SERCOM2_PAD0 ((PIN_PA12C_SERCOM2_PAD0 << 16) | MUX_PA12C_SERCOM2_PAD0) +#define PORT_PA12C_SERCOM2_PAD0 (_UL_(1) << 12) +#define PIN_PA08D_SERCOM2_PAD1 _L_(8) /**< \brief SERCOM2 signal: PAD1 on PA08 mux D */ +#define MUX_PA08D_SERCOM2_PAD1 _L_(3) +#define PINMUX_PA08D_SERCOM2_PAD1 ((PIN_PA08D_SERCOM2_PAD1 << 16) | MUX_PA08D_SERCOM2_PAD1) +#define PORT_PA08D_SERCOM2_PAD1 (_UL_(1) << 8) +#define PIN_PB24D_SERCOM2_PAD1 _L_(56) /**< \brief SERCOM2 signal: PAD1 on PB24 mux D */ +#define MUX_PB24D_SERCOM2_PAD1 _L_(3) +#define PINMUX_PB24D_SERCOM2_PAD1 ((PIN_PB24D_SERCOM2_PAD1 << 16) | MUX_PB24D_SERCOM2_PAD1) +#define PORT_PB24D_SERCOM2_PAD1 (_UL_(1) << 24) +#define PIN_PA13C_SERCOM2_PAD1 _L_(13) /**< \brief SERCOM2 signal: PAD1 on PA13 mux C */ +#define MUX_PA13C_SERCOM2_PAD1 _L_(2) +#define PINMUX_PA13C_SERCOM2_PAD1 ((PIN_PA13C_SERCOM2_PAD1 << 16) | MUX_PA13C_SERCOM2_PAD1) +#define PORT_PA13C_SERCOM2_PAD1 (_UL_(1) << 13) +#define PIN_PA10D_SERCOM2_PAD2 _L_(10) /**< \brief SERCOM2 signal: PAD2 on PA10 mux D */ +#define MUX_PA10D_SERCOM2_PAD2 _L_(3) +#define PINMUX_PA10D_SERCOM2_PAD2 ((PIN_PA10D_SERCOM2_PAD2 << 16) | MUX_PA10D_SERCOM2_PAD2) +#define PORT_PA10D_SERCOM2_PAD2 (_UL_(1) << 10) +#define PIN_PC24D_SERCOM2_PAD2 _L_(88) /**< \brief SERCOM2 signal: PAD2 on PC24 mux D */ +#define MUX_PC24D_SERCOM2_PAD2 _L_(3) +#define PINMUX_PC24D_SERCOM2_PAD2 ((PIN_PC24D_SERCOM2_PAD2 << 16) | MUX_PC24D_SERCOM2_PAD2) +#define PORT_PC24D_SERCOM2_PAD2 (_UL_(1) << 24) +#define PIN_PA14C_SERCOM2_PAD2 _L_(14) /**< \brief SERCOM2 signal: PAD2 on PA14 mux C */ +#define MUX_PA14C_SERCOM2_PAD2 _L_(2) +#define PINMUX_PA14C_SERCOM2_PAD2 ((PIN_PA14C_SERCOM2_PAD2 << 16) | MUX_PA14C_SERCOM2_PAD2) +#define PORT_PA14C_SERCOM2_PAD2 (_UL_(1) << 14) +#define PIN_PA11D_SERCOM2_PAD3 _L_(11) /**< \brief SERCOM2 signal: PAD3 on PA11 mux D */ +#define MUX_PA11D_SERCOM2_PAD3 _L_(3) +#define PINMUX_PA11D_SERCOM2_PAD3 ((PIN_PA11D_SERCOM2_PAD3 << 16) | MUX_PA11D_SERCOM2_PAD3) +#define PORT_PA11D_SERCOM2_PAD3 (_UL_(1) << 11) +#define PIN_PC25D_SERCOM2_PAD3 _L_(89) /**< \brief SERCOM2 signal: PAD3 on PC25 mux D */ +#define MUX_PC25D_SERCOM2_PAD3 _L_(3) +#define PINMUX_PC25D_SERCOM2_PAD3 ((PIN_PC25D_SERCOM2_PAD3 << 16) | MUX_PC25D_SERCOM2_PAD3) +#define PORT_PC25D_SERCOM2_PAD3 (_UL_(1) << 25) +#define PIN_PA15C_SERCOM2_PAD3 _L_(15) /**< \brief SERCOM2 signal: PAD3 on PA15 mux C */ +#define MUX_PA15C_SERCOM2_PAD3 _L_(2) +#define PINMUX_PA15C_SERCOM2_PAD3 ((PIN_PA15C_SERCOM2_PAD3 << 16) | MUX_PA15C_SERCOM2_PAD3) +#define PORT_PA15C_SERCOM2_PAD3 (_UL_(1) << 15) +/* ========== PORT definition for SERCOM3 peripheral ========== */ +#define PIN_PA17D_SERCOM3_PAD0 _L_(17) /**< \brief SERCOM3 signal: PAD0 on PA17 mux D */ +#define MUX_PA17D_SERCOM3_PAD0 _L_(3) +#define PINMUX_PA17D_SERCOM3_PAD0 ((PIN_PA17D_SERCOM3_PAD0 << 16) | MUX_PA17D_SERCOM3_PAD0) +#define PORT_PA17D_SERCOM3_PAD0 (_UL_(1) << 17) +#define PIN_PA22C_SERCOM3_PAD0 _L_(22) /**< \brief SERCOM3 signal: PAD0 on PA22 mux C */ +#define MUX_PA22C_SERCOM3_PAD0 _L_(2) +#define PINMUX_PA22C_SERCOM3_PAD0 ((PIN_PA22C_SERCOM3_PAD0 << 16) | MUX_PA22C_SERCOM3_PAD0) +#define PORT_PA22C_SERCOM3_PAD0 (_UL_(1) << 22) +#define PIN_PB20C_SERCOM3_PAD0 _L_(52) /**< \brief SERCOM3 signal: PAD0 on PB20 mux C */ +#define MUX_PB20C_SERCOM3_PAD0 _L_(2) +#define PINMUX_PB20C_SERCOM3_PAD0 ((PIN_PB20C_SERCOM3_PAD0 << 16) | MUX_PB20C_SERCOM3_PAD0) +#define PORT_PB20C_SERCOM3_PAD0 (_UL_(1) << 20) +#define PIN_PA16D_SERCOM3_PAD1 _L_(16) /**< \brief SERCOM3 signal: PAD1 on PA16 mux D */ +#define MUX_PA16D_SERCOM3_PAD1 _L_(3) +#define PINMUX_PA16D_SERCOM3_PAD1 ((PIN_PA16D_SERCOM3_PAD1 << 16) | MUX_PA16D_SERCOM3_PAD1) +#define PORT_PA16D_SERCOM3_PAD1 (_UL_(1) << 16) +#define PIN_PA23C_SERCOM3_PAD1 _L_(23) /**< \brief SERCOM3 signal: PAD1 on PA23 mux C */ +#define MUX_PA23C_SERCOM3_PAD1 _L_(2) +#define PINMUX_PA23C_SERCOM3_PAD1 ((PIN_PA23C_SERCOM3_PAD1 << 16) | MUX_PA23C_SERCOM3_PAD1) +#define PORT_PA23C_SERCOM3_PAD1 (_UL_(1) << 23) +#define PIN_PB21C_SERCOM3_PAD1 _L_(53) /**< \brief SERCOM3 signal: PAD1 on PB21 mux C */ +#define MUX_PB21C_SERCOM3_PAD1 _L_(2) +#define PINMUX_PB21C_SERCOM3_PAD1 ((PIN_PB21C_SERCOM3_PAD1 << 16) | MUX_PB21C_SERCOM3_PAD1) +#define PORT_PB21C_SERCOM3_PAD1 (_UL_(1) << 21) +#define PIN_PA18D_SERCOM3_PAD2 _L_(18) /**< \brief SERCOM3 signal: PAD2 on PA18 mux D */ +#define MUX_PA18D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PA18D_SERCOM3_PAD2 ((PIN_PA18D_SERCOM3_PAD2 << 16) | MUX_PA18D_SERCOM3_PAD2) +#define PORT_PA18D_SERCOM3_PAD2 (_UL_(1) << 18) +#define PIN_PA20D_SERCOM3_PAD2 _L_(20) /**< \brief SERCOM3 signal: PAD2 on PA20 mux D */ +#define MUX_PA20D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PA20D_SERCOM3_PAD2 ((PIN_PA20D_SERCOM3_PAD2 << 16) | MUX_PA20D_SERCOM3_PAD2) +#define PORT_PA20D_SERCOM3_PAD2 (_UL_(1) << 20) +#define PIN_PA24C_SERCOM3_PAD2 _L_(24) /**< \brief SERCOM3 signal: PAD2 on PA24 mux C */ +#define MUX_PA24C_SERCOM3_PAD2 _L_(2) +#define PINMUX_PA24C_SERCOM3_PAD2 ((PIN_PA24C_SERCOM3_PAD2 << 16) | MUX_PA24C_SERCOM3_PAD2) +#define PORT_PA24C_SERCOM3_PAD2 (_UL_(1) << 24) +#define PIN_PA19D_SERCOM3_PAD3 _L_(19) /**< \brief SERCOM3 signal: PAD3 on PA19 mux D */ +#define MUX_PA19D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PA19D_SERCOM3_PAD3 ((PIN_PA19D_SERCOM3_PAD3 << 16) | MUX_PA19D_SERCOM3_PAD3) +#define PORT_PA19D_SERCOM3_PAD3 (_UL_(1) << 19) +#define PIN_PA21D_SERCOM3_PAD3 _L_(21) /**< \brief SERCOM3 signal: PAD3 on PA21 mux D */ +#define MUX_PA21D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PA21D_SERCOM3_PAD3 ((PIN_PA21D_SERCOM3_PAD3 << 16) | MUX_PA21D_SERCOM3_PAD3) +#define PORT_PA21D_SERCOM3_PAD3 (_UL_(1) << 21) +#define PIN_PA25C_SERCOM3_PAD3 _L_(25) /**< \brief SERCOM3 signal: PAD3 on PA25 mux C */ +#define MUX_PA25C_SERCOM3_PAD3 _L_(2) +#define PINMUX_PA25C_SERCOM3_PAD3 ((PIN_PA25C_SERCOM3_PAD3 << 16) | MUX_PA25C_SERCOM3_PAD3) +#define PORT_PA25C_SERCOM3_PAD3 (_UL_(1) << 25) +/* ========== PORT definition for TCC0 peripheral ========== */ +#define PIN_PA20G_TCC0_WO0 _L_(20) /**< \brief TCC0 signal: WO0 on PA20 mux G */ +#define MUX_PA20G_TCC0_WO0 _L_(6) +#define PINMUX_PA20G_TCC0_WO0 ((PIN_PA20G_TCC0_WO0 << 16) | MUX_PA20G_TCC0_WO0) +#define PORT_PA20G_TCC0_WO0 (_UL_(1) << 20) +#define PIN_PB12G_TCC0_WO0 _L_(44) /**< \brief TCC0 signal: WO0 on PB12 mux G */ +#define MUX_PB12G_TCC0_WO0 _L_(6) +#define PINMUX_PB12G_TCC0_WO0 ((PIN_PB12G_TCC0_WO0 << 16) | MUX_PB12G_TCC0_WO0) +#define PORT_PB12G_TCC0_WO0 (_UL_(1) << 12) +#define PIN_PA08F_TCC0_WO0 _L_(8) /**< \brief TCC0 signal: WO0 on PA08 mux F */ +#define MUX_PA08F_TCC0_WO0 _L_(5) +#define PINMUX_PA08F_TCC0_WO0 ((PIN_PA08F_TCC0_WO0 << 16) | MUX_PA08F_TCC0_WO0) +#define PORT_PA08F_TCC0_WO0 (_UL_(1) << 8) +#define PIN_PC10F_TCC0_WO0 _L_(74) /**< \brief TCC0 signal: WO0 on PC10 mux F */ +#define MUX_PC10F_TCC0_WO0 _L_(5) +#define PINMUX_PC10F_TCC0_WO0 ((PIN_PC10F_TCC0_WO0 << 16) | MUX_PC10F_TCC0_WO0) +#define PORT_PC10F_TCC0_WO0 (_UL_(1) << 10) +#define PIN_PC16F_TCC0_WO0 _L_(80) /**< \brief TCC0 signal: WO0 on PC16 mux F */ +#define MUX_PC16F_TCC0_WO0 _L_(5) +#define PINMUX_PC16F_TCC0_WO0 ((PIN_PC16F_TCC0_WO0 << 16) | MUX_PC16F_TCC0_WO0) +#define PORT_PC16F_TCC0_WO0 (_UL_(1) << 16) +#define PIN_PA21G_TCC0_WO1 _L_(21) /**< \brief TCC0 signal: WO1 on PA21 mux G */ +#define MUX_PA21G_TCC0_WO1 _L_(6) +#define PINMUX_PA21G_TCC0_WO1 ((PIN_PA21G_TCC0_WO1 << 16) | MUX_PA21G_TCC0_WO1) +#define PORT_PA21G_TCC0_WO1 (_UL_(1) << 21) +#define PIN_PB13G_TCC0_WO1 _L_(45) /**< \brief TCC0 signal: WO1 on PB13 mux G */ +#define MUX_PB13G_TCC0_WO1 _L_(6) +#define PINMUX_PB13G_TCC0_WO1 ((PIN_PB13G_TCC0_WO1 << 16) | MUX_PB13G_TCC0_WO1) +#define PORT_PB13G_TCC0_WO1 (_UL_(1) << 13) +#define PIN_PA09F_TCC0_WO1 _L_(9) /**< \brief TCC0 signal: WO1 on PA09 mux F */ +#define MUX_PA09F_TCC0_WO1 _L_(5) +#define PINMUX_PA09F_TCC0_WO1 ((PIN_PA09F_TCC0_WO1 << 16) | MUX_PA09F_TCC0_WO1) +#define PORT_PA09F_TCC0_WO1 (_UL_(1) << 9) +#define PIN_PC11F_TCC0_WO1 _L_(75) /**< \brief TCC0 signal: WO1 on PC11 mux F */ +#define MUX_PC11F_TCC0_WO1 _L_(5) +#define PINMUX_PC11F_TCC0_WO1 ((PIN_PC11F_TCC0_WO1 << 16) | MUX_PC11F_TCC0_WO1) +#define PORT_PC11F_TCC0_WO1 (_UL_(1) << 11) +#define PIN_PC17F_TCC0_WO1 _L_(81) /**< \brief TCC0 signal: WO1 on PC17 mux F */ +#define MUX_PC17F_TCC0_WO1 _L_(5) +#define PINMUX_PC17F_TCC0_WO1 ((PIN_PC17F_TCC0_WO1 << 16) | MUX_PC17F_TCC0_WO1) +#define PORT_PC17F_TCC0_WO1 (_UL_(1) << 17) +#define PIN_PA22G_TCC0_WO2 _L_(22) /**< \brief TCC0 signal: WO2 on PA22 mux G */ +#define MUX_PA22G_TCC0_WO2 _L_(6) +#define PINMUX_PA22G_TCC0_WO2 ((PIN_PA22G_TCC0_WO2 << 16) | MUX_PA22G_TCC0_WO2) +#define PORT_PA22G_TCC0_WO2 (_UL_(1) << 22) +#define PIN_PB14G_TCC0_WO2 _L_(46) /**< \brief TCC0 signal: WO2 on PB14 mux G */ +#define MUX_PB14G_TCC0_WO2 _L_(6) +#define PINMUX_PB14G_TCC0_WO2 ((PIN_PB14G_TCC0_WO2 << 16) | MUX_PB14G_TCC0_WO2) +#define PORT_PB14G_TCC0_WO2 (_UL_(1) << 14) +#define PIN_PA10F_TCC0_WO2 _L_(10) /**< \brief TCC0 signal: WO2 on PA10 mux F */ +#define MUX_PA10F_TCC0_WO2 _L_(5) +#define PINMUX_PA10F_TCC0_WO2 ((PIN_PA10F_TCC0_WO2 << 16) | MUX_PA10F_TCC0_WO2) +#define PORT_PA10F_TCC0_WO2 (_UL_(1) << 10) +#define PIN_PC12F_TCC0_WO2 _L_(76) /**< \brief TCC0 signal: WO2 on PC12 mux F */ +#define MUX_PC12F_TCC0_WO2 _L_(5) +#define PINMUX_PC12F_TCC0_WO2 ((PIN_PC12F_TCC0_WO2 << 16) | MUX_PC12F_TCC0_WO2) +#define PORT_PC12F_TCC0_WO2 (_UL_(1) << 12) +#define PIN_PC18F_TCC0_WO2 _L_(82) /**< \brief TCC0 signal: WO2 on PC18 mux F */ +#define MUX_PC18F_TCC0_WO2 _L_(5) +#define PINMUX_PC18F_TCC0_WO2 ((PIN_PC18F_TCC0_WO2 << 16) | MUX_PC18F_TCC0_WO2) +#define PORT_PC18F_TCC0_WO2 (_UL_(1) << 18) +#define PIN_PA23G_TCC0_WO3 _L_(23) /**< \brief TCC0 signal: WO3 on PA23 mux G */ +#define MUX_PA23G_TCC0_WO3 _L_(6) +#define PINMUX_PA23G_TCC0_WO3 ((PIN_PA23G_TCC0_WO3 << 16) | MUX_PA23G_TCC0_WO3) +#define PORT_PA23G_TCC0_WO3 (_UL_(1) << 23) +#define PIN_PB15G_TCC0_WO3 _L_(47) /**< \brief TCC0 signal: WO3 on PB15 mux G */ +#define MUX_PB15G_TCC0_WO3 _L_(6) +#define PINMUX_PB15G_TCC0_WO3 ((PIN_PB15G_TCC0_WO3 << 16) | MUX_PB15G_TCC0_WO3) +#define PORT_PB15G_TCC0_WO3 (_UL_(1) << 15) +#define PIN_PA11F_TCC0_WO3 _L_(11) /**< \brief TCC0 signal: WO3 on PA11 mux F */ +#define MUX_PA11F_TCC0_WO3 _L_(5) +#define PINMUX_PA11F_TCC0_WO3 ((PIN_PA11F_TCC0_WO3 << 16) | MUX_PA11F_TCC0_WO3) +#define PORT_PA11F_TCC0_WO3 (_UL_(1) << 11) +#define PIN_PC13F_TCC0_WO3 _L_(77) /**< \brief TCC0 signal: WO3 on PC13 mux F */ +#define MUX_PC13F_TCC0_WO3 _L_(5) +#define PINMUX_PC13F_TCC0_WO3 ((PIN_PC13F_TCC0_WO3 << 16) | MUX_PC13F_TCC0_WO3) +#define PORT_PC13F_TCC0_WO3 (_UL_(1) << 13) +#define PIN_PC19F_TCC0_WO3 _L_(83) /**< \brief TCC0 signal: WO3 on PC19 mux F */ +#define MUX_PC19F_TCC0_WO3 _L_(5) +#define PINMUX_PC19F_TCC0_WO3 ((PIN_PC19F_TCC0_WO3 << 16) | MUX_PC19F_TCC0_WO3) +#define PORT_PC19F_TCC0_WO3 (_UL_(1) << 19) +#define PIN_PA16G_TCC0_WO4 _L_(16) /**< \brief TCC0 signal: WO4 on PA16 mux G */ +#define MUX_PA16G_TCC0_WO4 _L_(6) +#define PINMUX_PA16G_TCC0_WO4 ((PIN_PA16G_TCC0_WO4 << 16) | MUX_PA16G_TCC0_WO4) +#define PORT_PA16G_TCC0_WO4 (_UL_(1) << 16) +#define PIN_PB16G_TCC0_WO4 _L_(48) /**< \brief TCC0 signal: WO4 on PB16 mux G */ +#define MUX_PB16G_TCC0_WO4 _L_(6) +#define PINMUX_PB16G_TCC0_WO4 ((PIN_PB16G_TCC0_WO4 << 16) | MUX_PB16G_TCC0_WO4) +#define PORT_PB16G_TCC0_WO4 (_UL_(1) << 16) +#define PIN_PB10F_TCC0_WO4 _L_(42) /**< \brief TCC0 signal: WO4 on PB10 mux F */ +#define MUX_PB10F_TCC0_WO4 _L_(5) +#define PINMUX_PB10F_TCC0_WO4 ((PIN_PB10F_TCC0_WO4 << 16) | MUX_PB10F_TCC0_WO4) +#define PORT_PB10F_TCC0_WO4 (_UL_(1) << 10) +#define PIN_PC14F_TCC0_WO4 _L_(78) /**< \brief TCC0 signal: WO4 on PC14 mux F */ +#define MUX_PC14F_TCC0_WO4 _L_(5) +#define PINMUX_PC14F_TCC0_WO4 ((PIN_PC14F_TCC0_WO4 << 16) | MUX_PC14F_TCC0_WO4) +#define PORT_PC14F_TCC0_WO4 (_UL_(1) << 14) +#define PIN_PC20F_TCC0_WO4 _L_(84) /**< \brief TCC0 signal: WO4 on PC20 mux F */ +#define MUX_PC20F_TCC0_WO4 _L_(5) +#define PINMUX_PC20F_TCC0_WO4 ((PIN_PC20F_TCC0_WO4 << 16) | MUX_PC20F_TCC0_WO4) +#define PORT_PC20F_TCC0_WO4 (_UL_(1) << 20) +#define PIN_PA17G_TCC0_WO5 _L_(17) /**< \brief TCC0 signal: WO5 on PA17 mux G */ +#define MUX_PA17G_TCC0_WO5 _L_(6) +#define PINMUX_PA17G_TCC0_WO5 ((PIN_PA17G_TCC0_WO5 << 16) | MUX_PA17G_TCC0_WO5) +#define PORT_PA17G_TCC0_WO5 (_UL_(1) << 17) +#define PIN_PB17G_TCC0_WO5 _L_(49) /**< \brief TCC0 signal: WO5 on PB17 mux G */ +#define MUX_PB17G_TCC0_WO5 _L_(6) +#define PINMUX_PB17G_TCC0_WO5 ((PIN_PB17G_TCC0_WO5 << 16) | MUX_PB17G_TCC0_WO5) +#define PORT_PB17G_TCC0_WO5 (_UL_(1) << 17) +#define PIN_PB11F_TCC0_WO5 _L_(43) /**< \brief TCC0 signal: WO5 on PB11 mux F */ +#define MUX_PB11F_TCC0_WO5 _L_(5) +#define PINMUX_PB11F_TCC0_WO5 ((PIN_PB11F_TCC0_WO5 << 16) | MUX_PB11F_TCC0_WO5) +#define PORT_PB11F_TCC0_WO5 (_UL_(1) << 11) +#define PIN_PC15F_TCC0_WO5 _L_(79) /**< \brief TCC0 signal: WO5 on PC15 mux F */ +#define MUX_PC15F_TCC0_WO5 _L_(5) +#define PINMUX_PC15F_TCC0_WO5 ((PIN_PC15F_TCC0_WO5 << 16) | MUX_PC15F_TCC0_WO5) +#define PORT_PC15F_TCC0_WO5 (_UL_(1) << 15) +#define PIN_PC21F_TCC0_WO5 _L_(85) /**< \brief TCC0 signal: WO5 on PC21 mux F */ +#define MUX_PC21F_TCC0_WO5 _L_(5) +#define PINMUX_PC21F_TCC0_WO5 ((PIN_PC21F_TCC0_WO5 << 16) | MUX_PC21F_TCC0_WO5) +#define PORT_PC21F_TCC0_WO5 (_UL_(1) << 21) +#define PIN_PA18G_TCC0_WO6 _L_(18) /**< \brief TCC0 signal: WO6 on PA18 mux G */ +#define MUX_PA18G_TCC0_WO6 _L_(6) +#define PINMUX_PA18G_TCC0_WO6 ((PIN_PA18G_TCC0_WO6 << 16) | MUX_PA18G_TCC0_WO6) +#define PORT_PA18G_TCC0_WO6 (_UL_(1) << 18) +#define PIN_PB30G_TCC0_WO6 _L_(62) /**< \brief TCC0 signal: WO6 on PB30 mux G */ +#define MUX_PB30G_TCC0_WO6 _L_(6) +#define PINMUX_PB30G_TCC0_WO6 ((PIN_PB30G_TCC0_WO6 << 16) | MUX_PB30G_TCC0_WO6) +#define PORT_PB30G_TCC0_WO6 (_UL_(1) << 30) +#define PIN_PA12F_TCC0_WO6 _L_(12) /**< \brief TCC0 signal: WO6 on PA12 mux F */ +#define MUX_PA12F_TCC0_WO6 _L_(5) +#define PINMUX_PA12F_TCC0_WO6 ((PIN_PA12F_TCC0_WO6 << 16) | MUX_PA12F_TCC0_WO6) +#define PORT_PA12F_TCC0_WO6 (_UL_(1) << 12) +#define PIN_PA19G_TCC0_WO7 _L_(19) /**< \brief TCC0 signal: WO7 on PA19 mux G */ +#define MUX_PA19G_TCC0_WO7 _L_(6) +#define PINMUX_PA19G_TCC0_WO7 ((PIN_PA19G_TCC0_WO7 << 16) | MUX_PA19G_TCC0_WO7) +#define PORT_PA19G_TCC0_WO7 (_UL_(1) << 19) +#define PIN_PB31G_TCC0_WO7 _L_(63) /**< \brief TCC0 signal: WO7 on PB31 mux G */ +#define MUX_PB31G_TCC0_WO7 _L_(6) +#define PINMUX_PB31G_TCC0_WO7 ((PIN_PB31G_TCC0_WO7 << 16) | MUX_PB31G_TCC0_WO7) +#define PORT_PB31G_TCC0_WO7 (_UL_(1) << 31) +#define PIN_PA13F_TCC0_WO7 _L_(13) /**< \brief TCC0 signal: WO7 on PA13 mux F */ +#define MUX_PA13F_TCC0_WO7 _L_(5) +#define PINMUX_PA13F_TCC0_WO7 ((PIN_PA13F_TCC0_WO7 << 16) | MUX_PA13F_TCC0_WO7) +#define PORT_PA13F_TCC0_WO7 (_UL_(1) << 13) +/* ========== PORT definition for TCC1 peripheral ========== */ +#define PIN_PB10G_TCC1_WO0 _L_(42) /**< \brief TCC1 signal: WO0 on PB10 mux G */ +#define MUX_PB10G_TCC1_WO0 _L_(6) +#define PINMUX_PB10G_TCC1_WO0 ((PIN_PB10G_TCC1_WO0 << 16) | MUX_PB10G_TCC1_WO0) +#define PORT_PB10G_TCC1_WO0 (_UL_(1) << 10) +#define PIN_PC14G_TCC1_WO0 _L_(78) /**< \brief TCC1 signal: WO0 on PC14 mux G */ +#define MUX_PC14G_TCC1_WO0 _L_(6) +#define PINMUX_PC14G_TCC1_WO0 ((PIN_PC14G_TCC1_WO0 << 16) | MUX_PC14G_TCC1_WO0) +#define PORT_PC14G_TCC1_WO0 (_UL_(1) << 14) +#define PIN_PA16F_TCC1_WO0 _L_(16) /**< \brief TCC1 signal: WO0 on PA16 mux F */ +#define MUX_PA16F_TCC1_WO0 _L_(5) +#define PINMUX_PA16F_TCC1_WO0 ((PIN_PA16F_TCC1_WO0 << 16) | MUX_PA16F_TCC1_WO0) +#define PORT_PA16F_TCC1_WO0 (_UL_(1) << 16) +#define PIN_PB18F_TCC1_WO0 _L_(50) /**< \brief TCC1 signal: WO0 on PB18 mux F */ +#define MUX_PB18F_TCC1_WO0 _L_(5) +#define PINMUX_PB18F_TCC1_WO0 ((PIN_PB18F_TCC1_WO0 << 16) | MUX_PB18F_TCC1_WO0) +#define PORT_PB18F_TCC1_WO0 (_UL_(1) << 18) +#define PIN_PB11G_TCC1_WO1 _L_(43) /**< \brief TCC1 signal: WO1 on PB11 mux G */ +#define MUX_PB11G_TCC1_WO1 _L_(6) +#define PINMUX_PB11G_TCC1_WO1 ((PIN_PB11G_TCC1_WO1 << 16) | MUX_PB11G_TCC1_WO1) +#define PORT_PB11G_TCC1_WO1 (_UL_(1) << 11) +#define PIN_PC15G_TCC1_WO1 _L_(79) /**< \brief TCC1 signal: WO1 on PC15 mux G */ +#define MUX_PC15G_TCC1_WO1 _L_(6) +#define PINMUX_PC15G_TCC1_WO1 ((PIN_PC15G_TCC1_WO1 << 16) | MUX_PC15G_TCC1_WO1) +#define PORT_PC15G_TCC1_WO1 (_UL_(1) << 15) +#define PIN_PA17F_TCC1_WO1 _L_(17) /**< \brief TCC1 signal: WO1 on PA17 mux F */ +#define MUX_PA17F_TCC1_WO1 _L_(5) +#define PINMUX_PA17F_TCC1_WO1 ((PIN_PA17F_TCC1_WO1 << 16) | MUX_PA17F_TCC1_WO1) +#define PORT_PA17F_TCC1_WO1 (_UL_(1) << 17) +#define PIN_PB19F_TCC1_WO1 _L_(51) /**< \brief TCC1 signal: WO1 on PB19 mux F */ +#define MUX_PB19F_TCC1_WO1 _L_(5) +#define PINMUX_PB19F_TCC1_WO1 ((PIN_PB19F_TCC1_WO1 << 16) | MUX_PB19F_TCC1_WO1) +#define PORT_PB19F_TCC1_WO1 (_UL_(1) << 19) +#define PIN_PA12G_TCC1_WO2 _L_(12) /**< \brief TCC1 signal: WO2 on PA12 mux G */ +#define MUX_PA12G_TCC1_WO2 _L_(6) +#define PINMUX_PA12G_TCC1_WO2 ((PIN_PA12G_TCC1_WO2 << 16) | MUX_PA12G_TCC1_WO2) +#define PORT_PA12G_TCC1_WO2 (_UL_(1) << 12) +#define PIN_PA14G_TCC1_WO2 _L_(14) /**< \brief TCC1 signal: WO2 on PA14 mux G */ +#define MUX_PA14G_TCC1_WO2 _L_(6) +#define PINMUX_PA14G_TCC1_WO2 ((PIN_PA14G_TCC1_WO2 << 16) | MUX_PA14G_TCC1_WO2) +#define PORT_PA14G_TCC1_WO2 (_UL_(1) << 14) +#define PIN_PA18F_TCC1_WO2 _L_(18) /**< \brief TCC1 signal: WO2 on PA18 mux F */ +#define MUX_PA18F_TCC1_WO2 _L_(5) +#define PINMUX_PA18F_TCC1_WO2 ((PIN_PA18F_TCC1_WO2 << 16) | MUX_PA18F_TCC1_WO2) +#define PORT_PA18F_TCC1_WO2 (_UL_(1) << 18) +#define PIN_PB20F_TCC1_WO2 _L_(52) /**< \brief TCC1 signal: WO2 on PB20 mux F */ +#define MUX_PB20F_TCC1_WO2 _L_(5) +#define PINMUX_PB20F_TCC1_WO2 ((PIN_PB20F_TCC1_WO2 << 16) | MUX_PB20F_TCC1_WO2) +#define PORT_PB20F_TCC1_WO2 (_UL_(1) << 20) +#define PIN_PA13G_TCC1_WO3 _L_(13) /**< \brief TCC1 signal: WO3 on PA13 mux G */ +#define MUX_PA13G_TCC1_WO3 _L_(6) +#define PINMUX_PA13G_TCC1_WO3 ((PIN_PA13G_TCC1_WO3 << 16) | MUX_PA13G_TCC1_WO3) +#define PORT_PA13G_TCC1_WO3 (_UL_(1) << 13) +#define PIN_PA15G_TCC1_WO3 _L_(15) /**< \brief TCC1 signal: WO3 on PA15 mux G */ +#define MUX_PA15G_TCC1_WO3 _L_(6) +#define PINMUX_PA15G_TCC1_WO3 ((PIN_PA15G_TCC1_WO3 << 16) | MUX_PA15G_TCC1_WO3) +#define PORT_PA15G_TCC1_WO3 (_UL_(1) << 15) +#define PIN_PA19F_TCC1_WO3 _L_(19) /**< \brief TCC1 signal: WO3 on PA19 mux F */ +#define MUX_PA19F_TCC1_WO3 _L_(5) +#define PINMUX_PA19F_TCC1_WO3 ((PIN_PA19F_TCC1_WO3 << 16) | MUX_PA19F_TCC1_WO3) +#define PORT_PA19F_TCC1_WO3 (_UL_(1) << 19) +#define PIN_PB21F_TCC1_WO3 _L_(53) /**< \brief TCC1 signal: WO3 on PB21 mux F */ +#define MUX_PB21F_TCC1_WO3 _L_(5) +#define PINMUX_PB21F_TCC1_WO3 ((PIN_PB21F_TCC1_WO3 << 16) | MUX_PB21F_TCC1_WO3) +#define PORT_PB21F_TCC1_WO3 (_UL_(1) << 21) +#define PIN_PA08G_TCC1_WO4 _L_(8) /**< \brief TCC1 signal: WO4 on PA08 mux G */ +#define MUX_PA08G_TCC1_WO4 _L_(6) +#define PINMUX_PA08G_TCC1_WO4 ((PIN_PA08G_TCC1_WO4 << 16) | MUX_PA08G_TCC1_WO4) +#define PORT_PA08G_TCC1_WO4 (_UL_(1) << 8) +#define PIN_PC10G_TCC1_WO4 _L_(74) /**< \brief TCC1 signal: WO4 on PC10 mux G */ +#define MUX_PC10G_TCC1_WO4 _L_(6) +#define PINMUX_PC10G_TCC1_WO4 ((PIN_PC10G_TCC1_WO4 << 16) | MUX_PC10G_TCC1_WO4) +#define PORT_PC10G_TCC1_WO4 (_UL_(1) << 10) +#define PIN_PA20F_TCC1_WO4 _L_(20) /**< \brief TCC1 signal: WO4 on PA20 mux F */ +#define MUX_PA20F_TCC1_WO4 _L_(5) +#define PINMUX_PA20F_TCC1_WO4 ((PIN_PA20F_TCC1_WO4 << 16) | MUX_PA20F_TCC1_WO4) +#define PORT_PA20F_TCC1_WO4 (_UL_(1) << 20) +#define PIN_PA09G_TCC1_WO5 _L_(9) /**< \brief TCC1 signal: WO5 on PA09 mux G */ +#define MUX_PA09G_TCC1_WO5 _L_(6) +#define PINMUX_PA09G_TCC1_WO5 ((PIN_PA09G_TCC1_WO5 << 16) | MUX_PA09G_TCC1_WO5) +#define PORT_PA09G_TCC1_WO5 (_UL_(1) << 9) +#define PIN_PC11G_TCC1_WO5 _L_(75) /**< \brief TCC1 signal: WO5 on PC11 mux G */ +#define MUX_PC11G_TCC1_WO5 _L_(6) +#define PINMUX_PC11G_TCC1_WO5 ((PIN_PC11G_TCC1_WO5 << 16) | MUX_PC11G_TCC1_WO5) +#define PORT_PC11G_TCC1_WO5 (_UL_(1) << 11) +#define PIN_PA21F_TCC1_WO5 _L_(21) /**< \brief TCC1 signal: WO5 on PA21 mux F */ +#define MUX_PA21F_TCC1_WO5 _L_(5) +#define PINMUX_PA21F_TCC1_WO5 ((PIN_PA21F_TCC1_WO5 << 16) | MUX_PA21F_TCC1_WO5) +#define PORT_PA21F_TCC1_WO5 (_UL_(1) << 21) +#define PIN_PA10G_TCC1_WO6 _L_(10) /**< \brief TCC1 signal: WO6 on PA10 mux G */ +#define MUX_PA10G_TCC1_WO6 _L_(6) +#define PINMUX_PA10G_TCC1_WO6 ((PIN_PA10G_TCC1_WO6 << 16) | MUX_PA10G_TCC1_WO6) +#define PORT_PA10G_TCC1_WO6 (_UL_(1) << 10) +#define PIN_PC12G_TCC1_WO6 _L_(76) /**< \brief TCC1 signal: WO6 on PC12 mux G */ +#define MUX_PC12G_TCC1_WO6 _L_(6) +#define PINMUX_PC12G_TCC1_WO6 ((PIN_PC12G_TCC1_WO6 << 16) | MUX_PC12G_TCC1_WO6) +#define PORT_PC12G_TCC1_WO6 (_UL_(1) << 12) +#define PIN_PA22F_TCC1_WO6 _L_(22) /**< \brief TCC1 signal: WO6 on PA22 mux F */ +#define MUX_PA22F_TCC1_WO6 _L_(5) +#define PINMUX_PA22F_TCC1_WO6 ((PIN_PA22F_TCC1_WO6 << 16) | MUX_PA22F_TCC1_WO6) +#define PORT_PA22F_TCC1_WO6 (_UL_(1) << 22) +#define PIN_PA11G_TCC1_WO7 _L_(11) /**< \brief TCC1 signal: WO7 on PA11 mux G */ +#define MUX_PA11G_TCC1_WO7 _L_(6) +#define PINMUX_PA11G_TCC1_WO7 ((PIN_PA11G_TCC1_WO7 << 16) | MUX_PA11G_TCC1_WO7) +#define PORT_PA11G_TCC1_WO7 (_UL_(1) << 11) +#define PIN_PC13G_TCC1_WO7 _L_(77) /**< \brief TCC1 signal: WO7 on PC13 mux G */ +#define MUX_PC13G_TCC1_WO7 _L_(6) +#define PINMUX_PC13G_TCC1_WO7 ((PIN_PC13G_TCC1_WO7 << 16) | MUX_PC13G_TCC1_WO7) +#define PORT_PC13G_TCC1_WO7 (_UL_(1) << 13) +#define PIN_PA23F_TCC1_WO7 _L_(23) /**< \brief TCC1 signal: WO7 on PA23 mux F */ +#define MUX_PA23F_TCC1_WO7 _L_(5) +#define PINMUX_PA23F_TCC1_WO7 ((PIN_PA23F_TCC1_WO7 << 16) | MUX_PA23F_TCC1_WO7) +#define PORT_PA23F_TCC1_WO7 (_UL_(1) << 23) +/* ========== PORT definition for TC2 peripheral ========== */ +#define PIN_PA12E_TC2_WO0 _L_(12) /**< \brief TC2 signal: WO0 on PA12 mux E */ +#define MUX_PA12E_TC2_WO0 _L_(4) +#define PINMUX_PA12E_TC2_WO0 ((PIN_PA12E_TC2_WO0 << 16) | MUX_PA12E_TC2_WO0) +#define PORT_PA12E_TC2_WO0 (_UL_(1) << 12) +#define PIN_PA16E_TC2_WO0 _L_(16) /**< \brief TC2 signal: WO0 on PA16 mux E */ +#define MUX_PA16E_TC2_WO0 _L_(4) +#define PINMUX_PA16E_TC2_WO0 ((PIN_PA16E_TC2_WO0 << 16) | MUX_PA16E_TC2_WO0) +#define PORT_PA16E_TC2_WO0 (_UL_(1) << 16) +#define PIN_PA00E_TC2_WO0 _L_(0) /**< \brief TC2 signal: WO0 on PA00 mux E */ +#define MUX_PA00E_TC2_WO0 _L_(4) +#define PINMUX_PA00E_TC2_WO0 ((PIN_PA00E_TC2_WO0 << 16) | MUX_PA00E_TC2_WO0) +#define PORT_PA00E_TC2_WO0 (_UL_(1) << 0) +#define PIN_PA01E_TC2_WO1 _L_(1) /**< \brief TC2 signal: WO1 on PA01 mux E */ +#define MUX_PA01E_TC2_WO1 _L_(4) +#define PINMUX_PA01E_TC2_WO1 ((PIN_PA01E_TC2_WO1 << 16) | MUX_PA01E_TC2_WO1) +#define PORT_PA01E_TC2_WO1 (_UL_(1) << 1) +#define PIN_PA13E_TC2_WO1 _L_(13) /**< \brief TC2 signal: WO1 on PA13 mux E */ +#define MUX_PA13E_TC2_WO1 _L_(4) +#define PINMUX_PA13E_TC2_WO1 ((PIN_PA13E_TC2_WO1 << 16) | MUX_PA13E_TC2_WO1) +#define PORT_PA13E_TC2_WO1 (_UL_(1) << 13) +#define PIN_PA17E_TC2_WO1 _L_(17) /**< \brief TC2 signal: WO1 on PA17 mux E */ +#define MUX_PA17E_TC2_WO1 _L_(4) +#define PINMUX_PA17E_TC2_WO1 ((PIN_PA17E_TC2_WO1 << 16) | MUX_PA17E_TC2_WO1) +#define PORT_PA17E_TC2_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC3 peripheral ========== */ +#define PIN_PA18E_TC3_WO0 _L_(18) /**< \brief TC3 signal: WO0 on PA18 mux E */ +#define MUX_PA18E_TC3_WO0 _L_(4) +#define PINMUX_PA18E_TC3_WO0 ((PIN_PA18E_TC3_WO0 << 16) | MUX_PA18E_TC3_WO0) +#define PORT_PA18E_TC3_WO0 (_UL_(1) << 18) +#define PIN_PA14E_TC3_WO0 _L_(14) /**< \brief TC3 signal: WO0 on PA14 mux E */ +#define MUX_PA14E_TC3_WO0 _L_(4) +#define PINMUX_PA14E_TC3_WO0 ((PIN_PA14E_TC3_WO0 << 16) | MUX_PA14E_TC3_WO0) +#define PORT_PA14E_TC3_WO0 (_UL_(1) << 14) +#define PIN_PA15E_TC3_WO1 _L_(15) /**< \brief TC3 signal: WO1 on PA15 mux E */ +#define MUX_PA15E_TC3_WO1 _L_(4) +#define PINMUX_PA15E_TC3_WO1 ((PIN_PA15E_TC3_WO1 << 16) | MUX_PA15E_TC3_WO1) +#define PORT_PA15E_TC3_WO1 (_UL_(1) << 15) +#define PIN_PA19E_TC3_WO1 _L_(19) /**< \brief TC3 signal: WO1 on PA19 mux E */ +#define MUX_PA19E_TC3_WO1 _L_(4) +#define PINMUX_PA19E_TC3_WO1 ((PIN_PA19E_TC3_WO1 << 16) | MUX_PA19E_TC3_WO1) +#define PORT_PA19E_TC3_WO1 (_UL_(1) << 19) +/* ========== PORT definition for TAL peripheral ========== */ +#define PIN_PA27H_TAL_BRK _L_(27) /**< \brief TAL signal: BRK on PA27 mux H */ +#define MUX_PA27H_TAL_BRK _L_(7) +#define PINMUX_PA27H_TAL_BRK ((PIN_PA27H_TAL_BRK << 16) | MUX_PA27H_TAL_BRK) +#define PORT_PA27H_TAL_BRK (_UL_(1) << 27) +#define PIN_PB31H_TAL_BRK _L_(63) /**< \brief TAL signal: BRK on PB31 mux H */ +#define MUX_PB31H_TAL_BRK _L_(7) +#define PINMUX_PB31H_TAL_BRK ((PIN_PB31H_TAL_BRK << 16) | MUX_PB31H_TAL_BRK) +#define PORT_PB31H_TAL_BRK (_UL_(1) << 31) +/* ========== PORT definition for CAN0 peripheral ========== */ +#define PIN_PA23I_CAN0_RX _L_(23) /**< \brief CAN0 signal: RX on PA23 mux I */ +#define MUX_PA23I_CAN0_RX _L_(8) +#define PINMUX_PA23I_CAN0_RX ((PIN_PA23I_CAN0_RX << 16) | MUX_PA23I_CAN0_RX) +#define PORT_PA23I_CAN0_RX (_UL_(1) << 23) +#define PIN_PA25I_CAN0_RX _L_(25) /**< \brief CAN0 signal: RX on PA25 mux I */ +#define MUX_PA25I_CAN0_RX _L_(8) +#define PINMUX_PA25I_CAN0_RX ((PIN_PA25I_CAN0_RX << 16) | MUX_PA25I_CAN0_RX) +#define PORT_PA25I_CAN0_RX (_UL_(1) << 25) +#define PIN_PA22I_CAN0_TX _L_(22) /**< \brief CAN0 signal: TX on PA22 mux I */ +#define MUX_PA22I_CAN0_TX _L_(8) +#define PINMUX_PA22I_CAN0_TX ((PIN_PA22I_CAN0_TX << 16) | MUX_PA22I_CAN0_TX) +#define PORT_PA22I_CAN0_TX (_UL_(1) << 22) +#define PIN_PA24I_CAN0_TX _L_(24) /**< \brief CAN0 signal: TX on PA24 mux I */ +#define MUX_PA24I_CAN0_TX _L_(8) +#define PINMUX_PA24I_CAN0_TX ((PIN_PA24I_CAN0_TX << 16) | MUX_PA24I_CAN0_TX) +#define PORT_PA24I_CAN0_TX (_UL_(1) << 24) +/* ========== PORT definition for CAN1 peripheral ========== */ +#define PIN_PB13H_CAN1_RX _L_(45) /**< \brief CAN1 signal: RX on PB13 mux H */ +#define MUX_PB13H_CAN1_RX _L_(7) +#define PINMUX_PB13H_CAN1_RX ((PIN_PB13H_CAN1_RX << 16) | MUX_PB13H_CAN1_RX) +#define PORT_PB13H_CAN1_RX (_UL_(1) << 13) +#define PIN_PB15H_CAN1_RX _L_(47) /**< \brief CAN1 signal: RX on PB15 mux H */ +#define MUX_PB15H_CAN1_RX _L_(7) +#define PINMUX_PB15H_CAN1_RX ((PIN_PB15H_CAN1_RX << 16) | MUX_PB15H_CAN1_RX) +#define PORT_PB15H_CAN1_RX (_UL_(1) << 15) +#define PIN_PB12H_CAN1_TX _L_(44) /**< \brief CAN1 signal: TX on PB12 mux H */ +#define MUX_PB12H_CAN1_TX _L_(7) +#define PINMUX_PB12H_CAN1_TX ((PIN_PB12H_CAN1_TX << 16) | MUX_PB12H_CAN1_TX) +#define PORT_PB12H_CAN1_TX (_UL_(1) << 12) +#define PIN_PB14H_CAN1_TX _L_(46) /**< \brief CAN1 signal: TX on PB14 mux H */ +#define MUX_PB14H_CAN1_TX _L_(7) +#define PINMUX_PB14H_CAN1_TX ((PIN_PB14H_CAN1_TX << 16) | MUX_PB14H_CAN1_TX) +#define PORT_PB14H_CAN1_TX (_UL_(1) << 14) +/* ========== PORT definition for GMAC peripheral ========== */ +#define PIN_PC21L_GMAC_GCOL _L_(85) /**< \brief GMAC signal: GCOL on PC21 mux L */ +#define MUX_PC21L_GMAC_GCOL _L_(11) +#define PINMUX_PC21L_GMAC_GCOL ((PIN_PC21L_GMAC_GCOL << 16) | MUX_PC21L_GMAC_GCOL) +#define PORT_PC21L_GMAC_GCOL (_UL_(1) << 21) +#define PIN_PA16L_GMAC_GCRS _L_(16) /**< \brief GMAC signal: GCRS on PA16 mux L */ +#define MUX_PA16L_GMAC_GCRS _L_(11) +#define PINMUX_PA16L_GMAC_GCRS ((PIN_PA16L_GMAC_GCRS << 16) | MUX_PA16L_GMAC_GCRS) +#define PORT_PA16L_GMAC_GCRS (_UL_(1) << 16) +#define PIN_PA20L_GMAC_GMDC _L_(20) /**< \brief GMAC signal: GMDC on PA20 mux L */ +#define MUX_PA20L_GMAC_GMDC _L_(11) +#define PINMUX_PA20L_GMAC_GMDC ((PIN_PA20L_GMAC_GMDC << 16) | MUX_PA20L_GMAC_GMDC) +#define PORT_PA20L_GMAC_GMDC (_UL_(1) << 20) +#define PIN_PB14L_GMAC_GMDC _L_(46) /**< \brief GMAC signal: GMDC on PB14 mux L */ +#define MUX_PB14L_GMAC_GMDC _L_(11) +#define PINMUX_PB14L_GMAC_GMDC ((PIN_PB14L_GMAC_GMDC << 16) | MUX_PB14L_GMAC_GMDC) +#define PORT_PB14L_GMAC_GMDC (_UL_(1) << 14) +#define PIN_PC11L_GMAC_GMDC _L_(75) /**< \brief GMAC signal: GMDC on PC11 mux L */ +#define MUX_PC11L_GMAC_GMDC _L_(11) +#define PINMUX_PC11L_GMAC_GMDC ((PIN_PC11L_GMAC_GMDC << 16) | MUX_PC11L_GMAC_GMDC) +#define PORT_PC11L_GMAC_GMDC (_UL_(1) << 11) +#define PIN_PA21L_GMAC_GMDIO _L_(21) /**< \brief GMAC signal: GMDIO on PA21 mux L */ +#define MUX_PA21L_GMAC_GMDIO _L_(11) +#define PINMUX_PA21L_GMAC_GMDIO ((PIN_PA21L_GMAC_GMDIO << 16) | MUX_PA21L_GMAC_GMDIO) +#define PORT_PA21L_GMAC_GMDIO (_UL_(1) << 21) +#define PIN_PB15L_GMAC_GMDIO _L_(47) /**< \brief GMAC signal: GMDIO on PB15 mux L */ +#define MUX_PB15L_GMAC_GMDIO _L_(11) +#define PINMUX_PB15L_GMAC_GMDIO ((PIN_PB15L_GMAC_GMDIO << 16) | MUX_PB15L_GMAC_GMDIO) +#define PORT_PB15L_GMAC_GMDIO (_UL_(1) << 15) +#define PIN_PC12L_GMAC_GMDIO _L_(76) /**< \brief GMAC signal: GMDIO on PC12 mux L */ +#define MUX_PC12L_GMAC_GMDIO _L_(11) +#define PINMUX_PC12L_GMAC_GMDIO ((PIN_PC12L_GMAC_GMDIO << 16) | MUX_PC12L_GMAC_GMDIO) +#define PORT_PC12L_GMAC_GMDIO (_UL_(1) << 12) +#define PIN_PA13L_GMAC_GRX0 _L_(13) /**< \brief GMAC signal: GRX0 on PA13 mux L */ +#define MUX_PA13L_GMAC_GRX0 _L_(11) +#define PINMUX_PA13L_GMAC_GRX0 ((PIN_PA13L_GMAC_GRX0 << 16) | MUX_PA13L_GMAC_GRX0) +#define PORT_PA13L_GMAC_GRX0 (_UL_(1) << 13) +#define PIN_PA12L_GMAC_GRX1 _L_(12) /**< \brief GMAC signal: GRX1 on PA12 mux L */ +#define MUX_PA12L_GMAC_GRX1 _L_(11) +#define PINMUX_PA12L_GMAC_GRX1 ((PIN_PA12L_GMAC_GRX1 << 16) | MUX_PA12L_GMAC_GRX1) +#define PORT_PA12L_GMAC_GRX1 (_UL_(1) << 12) +#define PIN_PC15L_GMAC_GRX2 _L_(79) /**< \brief GMAC signal: GRX2 on PC15 mux L */ +#define MUX_PC15L_GMAC_GRX2 _L_(11) +#define PINMUX_PC15L_GMAC_GRX2 ((PIN_PC15L_GMAC_GRX2 << 16) | MUX_PC15L_GMAC_GRX2) +#define PORT_PC15L_GMAC_GRX2 (_UL_(1) << 15) +#define PIN_PC14L_GMAC_GRX3 _L_(78) /**< \brief GMAC signal: GRX3 on PC14 mux L */ +#define MUX_PC14L_GMAC_GRX3 _L_(11) +#define PINMUX_PC14L_GMAC_GRX3 ((PIN_PC14L_GMAC_GRX3 << 16) | MUX_PC14L_GMAC_GRX3) +#define PORT_PC14L_GMAC_GRX3 (_UL_(1) << 14) +#define PIN_PC18L_GMAC_GRXCK _L_(82) /**< \brief GMAC signal: GRXCK on PC18 mux L */ +#define MUX_PC18L_GMAC_GRXCK _L_(11) +#define PINMUX_PC18L_GMAC_GRXCK ((PIN_PC18L_GMAC_GRXCK << 16) | MUX_PC18L_GMAC_GRXCK) +#define PORT_PC18L_GMAC_GRXCK (_UL_(1) << 18) +#define PIN_PC20L_GMAC_GRXDV _L_(84) /**< \brief GMAC signal: GRXDV on PC20 mux L */ +#define MUX_PC20L_GMAC_GRXDV _L_(11) +#define PINMUX_PC20L_GMAC_GRXDV ((PIN_PC20L_GMAC_GRXDV << 16) | MUX_PC20L_GMAC_GRXDV) +#define PORT_PC20L_GMAC_GRXDV (_UL_(1) << 20) +#define PIN_PA15L_GMAC_GRXER _L_(15) /**< \brief GMAC signal: GRXER on PA15 mux L */ +#define MUX_PA15L_GMAC_GRXER _L_(11) +#define PINMUX_PA15L_GMAC_GRXER ((PIN_PA15L_GMAC_GRXER << 16) | MUX_PA15L_GMAC_GRXER) +#define PORT_PA15L_GMAC_GRXER (_UL_(1) << 15) +#define PIN_PA18L_GMAC_GTX0 _L_(18) /**< \brief GMAC signal: GTX0 on PA18 mux L */ +#define MUX_PA18L_GMAC_GTX0 _L_(11) +#define PINMUX_PA18L_GMAC_GTX0 ((PIN_PA18L_GMAC_GTX0 << 16) | MUX_PA18L_GMAC_GTX0) +#define PORT_PA18L_GMAC_GTX0 (_UL_(1) << 18) +#define PIN_PA19L_GMAC_GTX1 _L_(19) /**< \brief GMAC signal: GTX1 on PA19 mux L */ +#define MUX_PA19L_GMAC_GTX1 _L_(11) +#define PINMUX_PA19L_GMAC_GTX1 ((PIN_PA19L_GMAC_GTX1 << 16) | MUX_PA19L_GMAC_GTX1) +#define PORT_PA19L_GMAC_GTX1 (_UL_(1) << 19) +#define PIN_PC16L_GMAC_GTX2 _L_(80) /**< \brief GMAC signal: GTX2 on PC16 mux L */ +#define MUX_PC16L_GMAC_GTX2 _L_(11) +#define PINMUX_PC16L_GMAC_GTX2 ((PIN_PC16L_GMAC_GTX2 << 16) | MUX_PC16L_GMAC_GTX2) +#define PORT_PC16L_GMAC_GTX2 (_UL_(1) << 16) +#define PIN_PC17L_GMAC_GTX3 _L_(81) /**< \brief GMAC signal: GTX3 on PC17 mux L */ +#define MUX_PC17L_GMAC_GTX3 _L_(11) +#define PINMUX_PC17L_GMAC_GTX3 ((PIN_PC17L_GMAC_GTX3 << 16) | MUX_PC17L_GMAC_GTX3) +#define PORT_PC17L_GMAC_GTX3 (_UL_(1) << 17) +#define PIN_PA14L_GMAC_GTXCK _L_(14) /**< \brief GMAC signal: GTXCK on PA14 mux L */ +#define MUX_PA14L_GMAC_GTXCK _L_(11) +#define PINMUX_PA14L_GMAC_GTXCK ((PIN_PA14L_GMAC_GTXCK << 16) | MUX_PA14L_GMAC_GTXCK) +#define PORT_PA14L_GMAC_GTXCK (_UL_(1) << 14) +#define PIN_PA17L_GMAC_GTXEN _L_(17) /**< \brief GMAC signal: GTXEN on PA17 mux L */ +#define MUX_PA17L_GMAC_GTXEN _L_(11) +#define PINMUX_PA17L_GMAC_GTXEN ((PIN_PA17L_GMAC_GTXEN << 16) | MUX_PA17L_GMAC_GTXEN) +#define PORT_PA17L_GMAC_GTXEN (_UL_(1) << 17) +#define PIN_PC19L_GMAC_GTXER _L_(83) /**< \brief GMAC signal: GTXER on PC19 mux L */ +#define MUX_PC19L_GMAC_GTXER _L_(11) +#define PINMUX_PC19L_GMAC_GTXER ((PIN_PC19L_GMAC_GTXER << 16) | MUX_PC19L_GMAC_GTXER) +#define PORT_PC19L_GMAC_GTXER (_UL_(1) << 19) +/* ========== PORT definition for TCC2 peripheral ========== */ +#define PIN_PA14F_TCC2_WO0 _L_(14) /**< \brief TCC2 signal: WO0 on PA14 mux F */ +#define MUX_PA14F_TCC2_WO0 _L_(5) +#define PINMUX_PA14F_TCC2_WO0 ((PIN_PA14F_TCC2_WO0 << 16) | MUX_PA14F_TCC2_WO0) +#define PORT_PA14F_TCC2_WO0 (_UL_(1) << 14) +#define PIN_PA30F_TCC2_WO0 _L_(30) /**< \brief TCC2 signal: WO0 on PA30 mux F */ +#define MUX_PA30F_TCC2_WO0 _L_(5) +#define PINMUX_PA30F_TCC2_WO0 ((PIN_PA30F_TCC2_WO0 << 16) | MUX_PA30F_TCC2_WO0) +#define PORT_PA30F_TCC2_WO0 (_UL_(1) << 30) +#define PIN_PA15F_TCC2_WO1 _L_(15) /**< \brief TCC2 signal: WO1 on PA15 mux F */ +#define MUX_PA15F_TCC2_WO1 _L_(5) +#define PINMUX_PA15F_TCC2_WO1 ((PIN_PA15F_TCC2_WO1 << 16) | MUX_PA15F_TCC2_WO1) +#define PORT_PA15F_TCC2_WO1 (_UL_(1) << 15) +#define PIN_PA31F_TCC2_WO1 _L_(31) /**< \brief TCC2 signal: WO1 on PA31 mux F */ +#define MUX_PA31F_TCC2_WO1 _L_(5) +#define PINMUX_PA31F_TCC2_WO1 ((PIN_PA31F_TCC2_WO1 << 16) | MUX_PA31F_TCC2_WO1) +#define PORT_PA31F_TCC2_WO1 (_UL_(1) << 31) +#define PIN_PA24F_TCC2_WO2 _L_(24) /**< \brief TCC2 signal: WO2 on PA24 mux F */ +#define MUX_PA24F_TCC2_WO2 _L_(5) +#define PINMUX_PA24F_TCC2_WO2 ((PIN_PA24F_TCC2_WO2 << 16) | MUX_PA24F_TCC2_WO2) +#define PORT_PA24F_TCC2_WO2 (_UL_(1) << 24) +#define PIN_PB02F_TCC2_WO2 _L_(34) /**< \brief TCC2 signal: WO2 on PB02 mux F */ +#define MUX_PB02F_TCC2_WO2 _L_(5) +#define PINMUX_PB02F_TCC2_WO2 ((PIN_PB02F_TCC2_WO2 << 16) | MUX_PB02F_TCC2_WO2) +#define PORT_PB02F_TCC2_WO2 (_UL_(1) << 2) +/* ========== PORT definition for TCC3 peripheral ========== */ +#define PIN_PB12F_TCC3_WO0 _L_(44) /**< \brief TCC3 signal: WO0 on PB12 mux F */ +#define MUX_PB12F_TCC3_WO0 _L_(5) +#define PINMUX_PB12F_TCC3_WO0 ((PIN_PB12F_TCC3_WO0 << 16) | MUX_PB12F_TCC3_WO0) +#define PORT_PB12F_TCC3_WO0 (_UL_(1) << 12) +#define PIN_PB16F_TCC3_WO0 _L_(48) /**< \brief TCC3 signal: WO0 on PB16 mux F */ +#define MUX_PB16F_TCC3_WO0 _L_(5) +#define PINMUX_PB16F_TCC3_WO0 ((PIN_PB16F_TCC3_WO0 << 16) | MUX_PB16F_TCC3_WO0) +#define PORT_PB16F_TCC3_WO0 (_UL_(1) << 16) +#define PIN_PB13F_TCC3_WO1 _L_(45) /**< \brief TCC3 signal: WO1 on PB13 mux F */ +#define MUX_PB13F_TCC3_WO1 _L_(5) +#define PINMUX_PB13F_TCC3_WO1 ((PIN_PB13F_TCC3_WO1 << 16) | MUX_PB13F_TCC3_WO1) +#define PORT_PB13F_TCC3_WO1 (_UL_(1) << 13) +#define PIN_PB17F_TCC3_WO1 _L_(49) /**< \brief TCC3 signal: WO1 on PB17 mux F */ +#define MUX_PB17F_TCC3_WO1 _L_(5) +#define PINMUX_PB17F_TCC3_WO1 ((PIN_PB17F_TCC3_WO1 << 16) | MUX_PB17F_TCC3_WO1) +#define PORT_PB17F_TCC3_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC4 peripheral ========== */ +#define PIN_PA22E_TC4_WO0 _L_(22) /**< \brief TC4 signal: WO0 on PA22 mux E */ +#define MUX_PA22E_TC4_WO0 _L_(4) +#define PINMUX_PA22E_TC4_WO0 ((PIN_PA22E_TC4_WO0 << 16) | MUX_PA22E_TC4_WO0) +#define PORT_PA22E_TC4_WO0 (_UL_(1) << 22) +#define PIN_PB08E_TC4_WO0 _L_(40) /**< \brief TC4 signal: WO0 on PB08 mux E */ +#define MUX_PB08E_TC4_WO0 _L_(4) +#define PINMUX_PB08E_TC4_WO0 ((PIN_PB08E_TC4_WO0 << 16) | MUX_PB08E_TC4_WO0) +#define PORT_PB08E_TC4_WO0 (_UL_(1) << 8) +#define PIN_PB12E_TC4_WO0 _L_(44) /**< \brief TC4 signal: WO0 on PB12 mux E */ +#define MUX_PB12E_TC4_WO0 _L_(4) +#define PINMUX_PB12E_TC4_WO0 ((PIN_PB12E_TC4_WO0 << 16) | MUX_PB12E_TC4_WO0) +#define PORT_PB12E_TC4_WO0 (_UL_(1) << 12) +#define PIN_PA23E_TC4_WO1 _L_(23) /**< \brief TC4 signal: WO1 on PA23 mux E */ +#define MUX_PA23E_TC4_WO1 _L_(4) +#define PINMUX_PA23E_TC4_WO1 ((PIN_PA23E_TC4_WO1 << 16) | MUX_PA23E_TC4_WO1) +#define PORT_PA23E_TC4_WO1 (_UL_(1) << 23) +#define PIN_PB09E_TC4_WO1 _L_(41) /**< \brief TC4 signal: WO1 on PB09 mux E */ +#define MUX_PB09E_TC4_WO1 _L_(4) +#define PINMUX_PB09E_TC4_WO1 ((PIN_PB09E_TC4_WO1 << 16) | MUX_PB09E_TC4_WO1) +#define PORT_PB09E_TC4_WO1 (_UL_(1) << 9) +#define PIN_PB13E_TC4_WO1 _L_(45) /**< \brief TC4 signal: WO1 on PB13 mux E */ +#define MUX_PB13E_TC4_WO1 _L_(4) +#define PINMUX_PB13E_TC4_WO1 ((PIN_PB13E_TC4_WO1 << 16) | MUX_PB13E_TC4_WO1) +#define PORT_PB13E_TC4_WO1 (_UL_(1) << 13) +/* ========== PORT definition for TC5 peripheral ========== */ +#define PIN_PA24E_TC5_WO0 _L_(24) /**< \brief TC5 signal: WO0 on PA24 mux E */ +#define MUX_PA24E_TC5_WO0 _L_(4) +#define PINMUX_PA24E_TC5_WO0 ((PIN_PA24E_TC5_WO0 << 16) | MUX_PA24E_TC5_WO0) +#define PORT_PA24E_TC5_WO0 (_UL_(1) << 24) +#define PIN_PB10E_TC5_WO0 _L_(42) /**< \brief TC5 signal: WO0 on PB10 mux E */ +#define MUX_PB10E_TC5_WO0 _L_(4) +#define PINMUX_PB10E_TC5_WO0 ((PIN_PB10E_TC5_WO0 << 16) | MUX_PB10E_TC5_WO0) +#define PORT_PB10E_TC5_WO0 (_UL_(1) << 10) +#define PIN_PB14E_TC5_WO0 _L_(46) /**< \brief TC5 signal: WO0 on PB14 mux E */ +#define MUX_PB14E_TC5_WO0 _L_(4) +#define PINMUX_PB14E_TC5_WO0 ((PIN_PB14E_TC5_WO0 << 16) | MUX_PB14E_TC5_WO0) +#define PORT_PB14E_TC5_WO0 (_UL_(1) << 14) +#define PIN_PA25E_TC5_WO1 _L_(25) /**< \brief TC5 signal: WO1 on PA25 mux E */ +#define MUX_PA25E_TC5_WO1 _L_(4) +#define PINMUX_PA25E_TC5_WO1 ((PIN_PA25E_TC5_WO1 << 16) | MUX_PA25E_TC5_WO1) +#define PORT_PA25E_TC5_WO1 (_UL_(1) << 25) +#define PIN_PB11E_TC5_WO1 _L_(43) /**< \brief TC5 signal: WO1 on PB11 mux E */ +#define MUX_PB11E_TC5_WO1 _L_(4) +#define PINMUX_PB11E_TC5_WO1 ((PIN_PB11E_TC5_WO1 << 16) | MUX_PB11E_TC5_WO1) +#define PORT_PB11E_TC5_WO1 (_UL_(1) << 11) +#define PIN_PB15E_TC5_WO1 _L_(47) /**< \brief TC5 signal: WO1 on PB15 mux E */ +#define MUX_PB15E_TC5_WO1 _L_(4) +#define PINMUX_PB15E_TC5_WO1 ((PIN_PB15E_TC5_WO1 << 16) | MUX_PB15E_TC5_WO1) +#define PORT_PB15E_TC5_WO1 (_UL_(1) << 15) +/* ========== PORT definition for PDEC peripheral ========== */ +#define PIN_PB18G_PDEC_QDI0 _L_(50) /**< \brief PDEC signal: QDI0 on PB18 mux G */ +#define MUX_PB18G_PDEC_QDI0 _L_(6) +#define PINMUX_PB18G_PDEC_QDI0 ((PIN_PB18G_PDEC_QDI0 << 16) | MUX_PB18G_PDEC_QDI0) +#define PORT_PB18G_PDEC_QDI0 (_UL_(1) << 18) +#define PIN_PB23G_PDEC_QDI0 _L_(55) /**< \brief PDEC signal: QDI0 on PB23 mux G */ +#define MUX_PB23G_PDEC_QDI0 _L_(6) +#define PINMUX_PB23G_PDEC_QDI0 ((PIN_PB23G_PDEC_QDI0 << 16) | MUX_PB23G_PDEC_QDI0) +#define PORT_PB23G_PDEC_QDI0 (_UL_(1) << 23) +#define PIN_PC16G_PDEC_QDI0 _L_(80) /**< \brief PDEC signal: QDI0 on PC16 mux G */ +#define MUX_PC16G_PDEC_QDI0 _L_(6) +#define PINMUX_PC16G_PDEC_QDI0 ((PIN_PC16G_PDEC_QDI0 << 16) | MUX_PC16G_PDEC_QDI0) +#define PORT_PC16G_PDEC_QDI0 (_UL_(1) << 16) +#define PIN_PA24G_PDEC_QDI0 _L_(24) /**< \brief PDEC signal: QDI0 on PA24 mux G */ +#define MUX_PA24G_PDEC_QDI0 _L_(6) +#define PINMUX_PA24G_PDEC_QDI0 ((PIN_PA24G_PDEC_QDI0 << 16) | MUX_PA24G_PDEC_QDI0) +#define PORT_PA24G_PDEC_QDI0 (_UL_(1) << 24) +#define PIN_PB19G_PDEC_QDI1 _L_(51) /**< \brief PDEC signal: QDI1 on PB19 mux G */ +#define MUX_PB19G_PDEC_QDI1 _L_(6) +#define PINMUX_PB19G_PDEC_QDI1 ((PIN_PB19G_PDEC_QDI1 << 16) | MUX_PB19G_PDEC_QDI1) +#define PORT_PB19G_PDEC_QDI1 (_UL_(1) << 19) +#define PIN_PB24G_PDEC_QDI1 _L_(56) /**< \brief PDEC signal: QDI1 on PB24 mux G */ +#define MUX_PB24G_PDEC_QDI1 _L_(6) +#define PINMUX_PB24G_PDEC_QDI1 ((PIN_PB24G_PDEC_QDI1 << 16) | MUX_PB24G_PDEC_QDI1) +#define PORT_PB24G_PDEC_QDI1 (_UL_(1) << 24) +#define PIN_PC17G_PDEC_QDI1 _L_(81) /**< \brief PDEC signal: QDI1 on PC17 mux G */ +#define MUX_PC17G_PDEC_QDI1 _L_(6) +#define PINMUX_PC17G_PDEC_QDI1 ((PIN_PC17G_PDEC_QDI1 << 16) | MUX_PC17G_PDEC_QDI1) +#define PORT_PC17G_PDEC_QDI1 (_UL_(1) << 17) +#define PIN_PA25G_PDEC_QDI1 _L_(25) /**< \brief PDEC signal: QDI1 on PA25 mux G */ +#define MUX_PA25G_PDEC_QDI1 _L_(6) +#define PINMUX_PA25G_PDEC_QDI1 ((PIN_PA25G_PDEC_QDI1 << 16) | MUX_PA25G_PDEC_QDI1) +#define PORT_PA25G_PDEC_QDI1 (_UL_(1) << 25) +#define PIN_PB20G_PDEC_QDI2 _L_(52) /**< \brief PDEC signal: QDI2 on PB20 mux G */ +#define MUX_PB20G_PDEC_QDI2 _L_(6) +#define PINMUX_PB20G_PDEC_QDI2 ((PIN_PB20G_PDEC_QDI2 << 16) | MUX_PB20G_PDEC_QDI2) +#define PORT_PB20G_PDEC_QDI2 (_UL_(1) << 20) +#define PIN_PB25G_PDEC_QDI2 _L_(57) /**< \brief PDEC signal: QDI2 on PB25 mux G */ +#define MUX_PB25G_PDEC_QDI2 _L_(6) +#define PINMUX_PB25G_PDEC_QDI2 ((PIN_PB25G_PDEC_QDI2 << 16) | MUX_PB25G_PDEC_QDI2) +#define PORT_PB25G_PDEC_QDI2 (_UL_(1) << 25) +#define PIN_PC18G_PDEC_QDI2 _L_(82) /**< \brief PDEC signal: QDI2 on PC18 mux G */ +#define MUX_PC18G_PDEC_QDI2 _L_(6) +#define PINMUX_PC18G_PDEC_QDI2 ((PIN_PC18G_PDEC_QDI2 << 16) | MUX_PC18G_PDEC_QDI2) +#define PORT_PC18G_PDEC_QDI2 (_UL_(1) << 18) +#define PIN_PB22G_PDEC_QDI2 _L_(54) /**< \brief PDEC signal: QDI2 on PB22 mux G */ +#define MUX_PB22G_PDEC_QDI2 _L_(6) +#define PINMUX_PB22G_PDEC_QDI2 ((PIN_PB22G_PDEC_QDI2 << 16) | MUX_PB22G_PDEC_QDI2) +#define PORT_PB22G_PDEC_QDI2 (_UL_(1) << 22) +/* ========== PORT definition for AC peripheral ========== */ +#define PIN_PA04B_AC_AIN0 _L_(4) /**< \brief AC signal: AIN0 on PA04 mux B */ +#define MUX_PA04B_AC_AIN0 _L_(1) +#define PINMUX_PA04B_AC_AIN0 ((PIN_PA04B_AC_AIN0 << 16) | MUX_PA04B_AC_AIN0) +#define PORT_PA04B_AC_AIN0 (_UL_(1) << 4) +#define PIN_PA05B_AC_AIN1 _L_(5) /**< \brief AC signal: AIN1 on PA05 mux B */ +#define MUX_PA05B_AC_AIN1 _L_(1) +#define PINMUX_PA05B_AC_AIN1 ((PIN_PA05B_AC_AIN1 << 16) | MUX_PA05B_AC_AIN1) +#define PORT_PA05B_AC_AIN1 (_UL_(1) << 5) +#define PIN_PA06B_AC_AIN2 _L_(6) /**< \brief AC signal: AIN2 on PA06 mux B */ +#define MUX_PA06B_AC_AIN2 _L_(1) +#define PINMUX_PA06B_AC_AIN2 ((PIN_PA06B_AC_AIN2 << 16) | MUX_PA06B_AC_AIN2) +#define PORT_PA06B_AC_AIN2 (_UL_(1) << 6) +#define PIN_PA07B_AC_AIN3 _L_(7) /**< \brief AC signal: AIN3 on PA07 mux B */ +#define MUX_PA07B_AC_AIN3 _L_(1) +#define PINMUX_PA07B_AC_AIN3 ((PIN_PA07B_AC_AIN3 << 16) | MUX_PA07B_AC_AIN3) +#define PORT_PA07B_AC_AIN3 (_UL_(1) << 7) +#define PIN_PA12M_AC_CMP0 _L_(12) /**< \brief AC signal: CMP0 on PA12 mux M */ +#define MUX_PA12M_AC_CMP0 _L_(12) +#define PINMUX_PA12M_AC_CMP0 ((PIN_PA12M_AC_CMP0 << 16) | MUX_PA12M_AC_CMP0) +#define PORT_PA12M_AC_CMP0 (_UL_(1) << 12) +#define PIN_PA18M_AC_CMP0 _L_(18) /**< \brief AC signal: CMP0 on PA18 mux M */ +#define MUX_PA18M_AC_CMP0 _L_(12) +#define PINMUX_PA18M_AC_CMP0 ((PIN_PA18M_AC_CMP0 << 16) | MUX_PA18M_AC_CMP0) +#define PORT_PA18M_AC_CMP0 (_UL_(1) << 18) +#define PIN_PB24M_AC_CMP0 _L_(56) /**< \brief AC signal: CMP0 on PB24 mux M */ +#define MUX_PB24M_AC_CMP0 _L_(12) +#define PINMUX_PB24M_AC_CMP0 ((PIN_PB24M_AC_CMP0 << 16) | MUX_PB24M_AC_CMP0) +#define PORT_PB24M_AC_CMP0 (_UL_(1) << 24) +#define PIN_PA13M_AC_CMP1 _L_(13) /**< \brief AC signal: CMP1 on PA13 mux M */ +#define MUX_PA13M_AC_CMP1 _L_(12) +#define PINMUX_PA13M_AC_CMP1 ((PIN_PA13M_AC_CMP1 << 16) | MUX_PA13M_AC_CMP1) +#define PORT_PA13M_AC_CMP1 (_UL_(1) << 13) +#define PIN_PA19M_AC_CMP1 _L_(19) /**< \brief AC signal: CMP1 on PA19 mux M */ +#define MUX_PA19M_AC_CMP1 _L_(12) +#define PINMUX_PA19M_AC_CMP1 ((PIN_PA19M_AC_CMP1 << 16) | MUX_PA19M_AC_CMP1) +#define PORT_PA19M_AC_CMP1 (_UL_(1) << 19) +#define PIN_PB25M_AC_CMP1 _L_(57) /**< \brief AC signal: CMP1 on PB25 mux M */ +#define MUX_PB25M_AC_CMP1 _L_(12) +#define PINMUX_PB25M_AC_CMP1 ((PIN_PB25M_AC_CMP1 << 16) | MUX_PB25M_AC_CMP1) +#define PORT_PB25M_AC_CMP1 (_UL_(1) << 25) +/* ========== PORT definition for QSPI peripheral ========== */ +#define PIN_PB11H_QSPI_CS _L_(43) /**< \brief QSPI signal: CS on PB11 mux H */ +#define MUX_PB11H_QSPI_CS _L_(7) +#define PINMUX_PB11H_QSPI_CS ((PIN_PB11H_QSPI_CS << 16) | MUX_PB11H_QSPI_CS) +#define PORT_PB11H_QSPI_CS (_UL_(1) << 11) +#define PIN_PA08H_QSPI_DATA0 _L_(8) /**< \brief QSPI signal: DATA0 on PA08 mux H */ +#define MUX_PA08H_QSPI_DATA0 _L_(7) +#define PINMUX_PA08H_QSPI_DATA0 ((PIN_PA08H_QSPI_DATA0 << 16) | MUX_PA08H_QSPI_DATA0) +#define PORT_PA08H_QSPI_DATA0 (_UL_(1) << 8) +#define PIN_PA09H_QSPI_DATA1 _L_(9) /**< \brief QSPI signal: DATA1 on PA09 mux H */ +#define MUX_PA09H_QSPI_DATA1 _L_(7) +#define PINMUX_PA09H_QSPI_DATA1 ((PIN_PA09H_QSPI_DATA1 << 16) | MUX_PA09H_QSPI_DATA1) +#define PORT_PA09H_QSPI_DATA1 (_UL_(1) << 9) +#define PIN_PA10H_QSPI_DATA2 _L_(10) /**< \brief QSPI signal: DATA2 on PA10 mux H */ +#define MUX_PA10H_QSPI_DATA2 _L_(7) +#define PINMUX_PA10H_QSPI_DATA2 ((PIN_PA10H_QSPI_DATA2 << 16) | MUX_PA10H_QSPI_DATA2) +#define PORT_PA10H_QSPI_DATA2 (_UL_(1) << 10) +#define PIN_PA11H_QSPI_DATA3 _L_(11) /**< \brief QSPI signal: DATA3 on PA11 mux H */ +#define MUX_PA11H_QSPI_DATA3 _L_(7) +#define PINMUX_PA11H_QSPI_DATA3 ((PIN_PA11H_QSPI_DATA3 << 16) | MUX_PA11H_QSPI_DATA3) +#define PORT_PA11H_QSPI_DATA3 (_UL_(1) << 11) +#define PIN_PB10H_QSPI_SCK _L_(42) /**< \brief QSPI signal: SCK on PB10 mux H */ +#define MUX_PB10H_QSPI_SCK _L_(7) +#define PINMUX_PB10H_QSPI_SCK ((PIN_PB10H_QSPI_SCK << 16) | MUX_PB10H_QSPI_SCK) +#define PORT_PB10H_QSPI_SCK (_UL_(1) << 10) +/* ========== PORT definition for CCL peripheral ========== */ +#define PIN_PA04N_CCL_IN0 _L_(4) /**< \brief CCL signal: IN0 on PA04 mux N */ +#define MUX_PA04N_CCL_IN0 _L_(13) +#define PINMUX_PA04N_CCL_IN0 ((PIN_PA04N_CCL_IN0 << 16) | MUX_PA04N_CCL_IN0) +#define PORT_PA04N_CCL_IN0 (_UL_(1) << 4) +#define PIN_PA16N_CCL_IN0 _L_(16) /**< \brief CCL signal: IN0 on PA16 mux N */ +#define MUX_PA16N_CCL_IN0 _L_(13) +#define PINMUX_PA16N_CCL_IN0 ((PIN_PA16N_CCL_IN0 << 16) | MUX_PA16N_CCL_IN0) +#define PORT_PA16N_CCL_IN0 (_UL_(1) << 16) +#define PIN_PB22N_CCL_IN0 _L_(54) /**< \brief CCL signal: IN0 on PB22 mux N */ +#define MUX_PB22N_CCL_IN0 _L_(13) +#define PINMUX_PB22N_CCL_IN0 ((PIN_PB22N_CCL_IN0 << 16) | MUX_PB22N_CCL_IN0) +#define PORT_PB22N_CCL_IN0 (_UL_(1) << 22) +#define PIN_PA05N_CCL_IN1 _L_(5) /**< \brief CCL signal: IN1 on PA05 mux N */ +#define MUX_PA05N_CCL_IN1 _L_(13) +#define PINMUX_PA05N_CCL_IN1 ((PIN_PA05N_CCL_IN1 << 16) | MUX_PA05N_CCL_IN1) +#define PORT_PA05N_CCL_IN1 (_UL_(1) << 5) +#define PIN_PA17N_CCL_IN1 _L_(17) /**< \brief CCL signal: IN1 on PA17 mux N */ +#define MUX_PA17N_CCL_IN1 _L_(13) +#define PINMUX_PA17N_CCL_IN1 ((PIN_PA17N_CCL_IN1 << 16) | MUX_PA17N_CCL_IN1) +#define PORT_PA17N_CCL_IN1 (_UL_(1) << 17) +#define PIN_PB00N_CCL_IN1 _L_(32) /**< \brief CCL signal: IN1 on PB00 mux N */ +#define MUX_PB00N_CCL_IN1 _L_(13) +#define PINMUX_PB00N_CCL_IN1 ((PIN_PB00N_CCL_IN1 << 16) | MUX_PB00N_CCL_IN1) +#define PORT_PB00N_CCL_IN1 (_UL_(1) << 0) +#define PIN_PA06N_CCL_IN2 _L_(6) /**< \brief CCL signal: IN2 on PA06 mux N */ +#define MUX_PA06N_CCL_IN2 _L_(13) +#define PINMUX_PA06N_CCL_IN2 ((PIN_PA06N_CCL_IN2 << 16) | MUX_PA06N_CCL_IN2) +#define PORT_PA06N_CCL_IN2 (_UL_(1) << 6) +#define PIN_PA18N_CCL_IN2 _L_(18) /**< \brief CCL signal: IN2 on PA18 mux N */ +#define MUX_PA18N_CCL_IN2 _L_(13) +#define PINMUX_PA18N_CCL_IN2 ((PIN_PA18N_CCL_IN2 << 16) | MUX_PA18N_CCL_IN2) +#define PORT_PA18N_CCL_IN2 (_UL_(1) << 18) +#define PIN_PB01N_CCL_IN2 _L_(33) /**< \brief CCL signal: IN2 on PB01 mux N */ +#define MUX_PB01N_CCL_IN2 _L_(13) +#define PINMUX_PB01N_CCL_IN2 ((PIN_PB01N_CCL_IN2 << 16) | MUX_PB01N_CCL_IN2) +#define PORT_PB01N_CCL_IN2 (_UL_(1) << 1) +#define PIN_PA08N_CCL_IN3 _L_(8) /**< \brief CCL signal: IN3 on PA08 mux N */ +#define MUX_PA08N_CCL_IN3 _L_(13) +#define PINMUX_PA08N_CCL_IN3 ((PIN_PA08N_CCL_IN3 << 16) | MUX_PA08N_CCL_IN3) +#define PORT_PA08N_CCL_IN3 (_UL_(1) << 8) +#define PIN_PA30N_CCL_IN3 _L_(30) /**< \brief CCL signal: IN3 on PA30 mux N */ +#define MUX_PA30N_CCL_IN3 _L_(13) +#define PINMUX_PA30N_CCL_IN3 ((PIN_PA30N_CCL_IN3 << 16) | MUX_PA30N_CCL_IN3) +#define PORT_PA30N_CCL_IN3 (_UL_(1) << 30) +#define PIN_PA09N_CCL_IN4 _L_(9) /**< \brief CCL signal: IN4 on PA09 mux N */ +#define MUX_PA09N_CCL_IN4 _L_(13) +#define PINMUX_PA09N_CCL_IN4 ((PIN_PA09N_CCL_IN4 << 16) | MUX_PA09N_CCL_IN4) +#define PORT_PA09N_CCL_IN4 (_UL_(1) << 9) +#define PIN_PC27N_CCL_IN4 _L_(91) /**< \brief CCL signal: IN4 on PC27 mux N */ +#define MUX_PC27N_CCL_IN4 _L_(13) +#define PINMUX_PC27N_CCL_IN4 ((PIN_PC27N_CCL_IN4 << 16) | MUX_PC27N_CCL_IN4) +#define PORT_PC27N_CCL_IN4 (_UL_(1) << 27) +#define PIN_PA10N_CCL_IN5 _L_(10) /**< \brief CCL signal: IN5 on PA10 mux N */ +#define MUX_PA10N_CCL_IN5 _L_(13) +#define PINMUX_PA10N_CCL_IN5 ((PIN_PA10N_CCL_IN5 << 16) | MUX_PA10N_CCL_IN5) +#define PORT_PA10N_CCL_IN5 (_UL_(1) << 10) +#define PIN_PC28N_CCL_IN5 _L_(92) /**< \brief CCL signal: IN5 on PC28 mux N */ +#define MUX_PC28N_CCL_IN5 _L_(13) +#define PINMUX_PC28N_CCL_IN5 ((PIN_PC28N_CCL_IN5 << 16) | MUX_PC28N_CCL_IN5) +#define PORT_PC28N_CCL_IN5 (_UL_(1) << 28) +#define PIN_PA22N_CCL_IN6 _L_(22) /**< \brief CCL signal: IN6 on PA22 mux N */ +#define MUX_PA22N_CCL_IN6 _L_(13) +#define PINMUX_PA22N_CCL_IN6 ((PIN_PA22N_CCL_IN6 << 16) | MUX_PA22N_CCL_IN6) +#define PORT_PA22N_CCL_IN6 (_UL_(1) << 22) +#define PIN_PB06N_CCL_IN6 _L_(38) /**< \brief CCL signal: IN6 on PB06 mux N */ +#define MUX_PB06N_CCL_IN6 _L_(13) +#define PINMUX_PB06N_CCL_IN6 ((PIN_PB06N_CCL_IN6 << 16) | MUX_PB06N_CCL_IN6) +#define PORT_PB06N_CCL_IN6 (_UL_(1) << 6) +#define PIN_PA23N_CCL_IN7 _L_(23) /**< \brief CCL signal: IN7 on PA23 mux N */ +#define MUX_PA23N_CCL_IN7 _L_(13) +#define PINMUX_PA23N_CCL_IN7 ((PIN_PA23N_CCL_IN7 << 16) | MUX_PA23N_CCL_IN7) +#define PORT_PA23N_CCL_IN7 (_UL_(1) << 23) +#define PIN_PB07N_CCL_IN7 _L_(39) /**< \brief CCL signal: IN7 on PB07 mux N */ +#define MUX_PB07N_CCL_IN7 _L_(13) +#define PINMUX_PB07N_CCL_IN7 ((PIN_PB07N_CCL_IN7 << 16) | MUX_PB07N_CCL_IN7) +#define PORT_PB07N_CCL_IN7 (_UL_(1) << 7) +#define PIN_PA24N_CCL_IN8 _L_(24) /**< \brief CCL signal: IN8 on PA24 mux N */ +#define MUX_PA24N_CCL_IN8 _L_(13) +#define PINMUX_PA24N_CCL_IN8 ((PIN_PA24N_CCL_IN8 << 16) | MUX_PA24N_CCL_IN8) +#define PORT_PA24N_CCL_IN8 (_UL_(1) << 24) +#define PIN_PB08N_CCL_IN8 _L_(40) /**< \brief CCL signal: IN8 on PB08 mux N */ +#define MUX_PB08N_CCL_IN8 _L_(13) +#define PINMUX_PB08N_CCL_IN8 ((PIN_PB08N_CCL_IN8 << 16) | MUX_PB08N_CCL_IN8) +#define PORT_PB08N_CCL_IN8 (_UL_(1) << 8) +#define PIN_PB14N_CCL_IN9 _L_(46) /**< \brief CCL signal: IN9 on PB14 mux N */ +#define MUX_PB14N_CCL_IN9 _L_(13) +#define PINMUX_PB14N_CCL_IN9 ((PIN_PB14N_CCL_IN9 << 16) | MUX_PB14N_CCL_IN9) +#define PORT_PB14N_CCL_IN9 (_UL_(1) << 14) +#define PIN_PC20N_CCL_IN9 _L_(84) /**< \brief CCL signal: IN9 on PC20 mux N */ +#define MUX_PC20N_CCL_IN9 _L_(13) +#define PINMUX_PC20N_CCL_IN9 ((PIN_PC20N_CCL_IN9 << 16) | MUX_PC20N_CCL_IN9) +#define PORT_PC20N_CCL_IN9 (_UL_(1) << 20) +#define PIN_PB15N_CCL_IN10 _L_(47) /**< \brief CCL signal: IN10 on PB15 mux N */ +#define MUX_PB15N_CCL_IN10 _L_(13) +#define PINMUX_PB15N_CCL_IN10 ((PIN_PB15N_CCL_IN10 << 16) | MUX_PB15N_CCL_IN10) +#define PORT_PB15N_CCL_IN10 (_UL_(1) << 15) +#define PIN_PC21N_CCL_IN10 _L_(85) /**< \brief CCL signal: IN10 on PC21 mux N */ +#define MUX_PC21N_CCL_IN10 _L_(13) +#define PINMUX_PC21N_CCL_IN10 ((PIN_PC21N_CCL_IN10 << 16) | MUX_PC21N_CCL_IN10) +#define PORT_PC21N_CCL_IN10 (_UL_(1) << 21) +#define PIN_PB10N_CCL_IN11 _L_(42) /**< \brief CCL signal: IN11 on PB10 mux N */ +#define MUX_PB10N_CCL_IN11 _L_(13) +#define PINMUX_PB10N_CCL_IN11 ((PIN_PB10N_CCL_IN11 << 16) | MUX_PB10N_CCL_IN11) +#define PORT_PB10N_CCL_IN11 (_UL_(1) << 10) +#define PIN_PB16N_CCL_IN11 _L_(48) /**< \brief CCL signal: IN11 on PB16 mux N */ +#define MUX_PB16N_CCL_IN11 _L_(13) +#define PINMUX_PB16N_CCL_IN11 ((PIN_PB16N_CCL_IN11 << 16) | MUX_PB16N_CCL_IN11) +#define PORT_PB16N_CCL_IN11 (_UL_(1) << 16) +#define PIN_PA07N_CCL_OUT0 _L_(7) /**< \brief CCL signal: OUT0 on PA07 mux N */ +#define MUX_PA07N_CCL_OUT0 _L_(13) +#define PINMUX_PA07N_CCL_OUT0 ((PIN_PA07N_CCL_OUT0 << 16) | MUX_PA07N_CCL_OUT0) +#define PORT_PA07N_CCL_OUT0 (_UL_(1) << 7) +#define PIN_PA19N_CCL_OUT0 _L_(19) /**< \brief CCL signal: OUT0 on PA19 mux N */ +#define MUX_PA19N_CCL_OUT0 _L_(13) +#define PINMUX_PA19N_CCL_OUT0 ((PIN_PA19N_CCL_OUT0 << 16) | MUX_PA19N_CCL_OUT0) +#define PORT_PA19N_CCL_OUT0 (_UL_(1) << 19) +#define PIN_PB02N_CCL_OUT0 _L_(34) /**< \brief CCL signal: OUT0 on PB02 mux N */ +#define MUX_PB02N_CCL_OUT0 _L_(13) +#define PINMUX_PB02N_CCL_OUT0 ((PIN_PB02N_CCL_OUT0 << 16) | MUX_PB02N_CCL_OUT0) +#define PORT_PB02N_CCL_OUT0 (_UL_(1) << 2) +#define PIN_PB23N_CCL_OUT0 _L_(55) /**< \brief CCL signal: OUT0 on PB23 mux N */ +#define MUX_PB23N_CCL_OUT0 _L_(13) +#define PINMUX_PB23N_CCL_OUT0 ((PIN_PB23N_CCL_OUT0 << 16) | MUX_PB23N_CCL_OUT0) +#define PORT_PB23N_CCL_OUT0 (_UL_(1) << 23) +#define PIN_PA11N_CCL_OUT1 _L_(11) /**< \brief CCL signal: OUT1 on PA11 mux N */ +#define MUX_PA11N_CCL_OUT1 _L_(13) +#define PINMUX_PA11N_CCL_OUT1 ((PIN_PA11N_CCL_OUT1 << 16) | MUX_PA11N_CCL_OUT1) +#define PORT_PA11N_CCL_OUT1 (_UL_(1) << 11) +#define PIN_PA31N_CCL_OUT1 _L_(31) /**< \brief CCL signal: OUT1 on PA31 mux N */ +#define MUX_PA31N_CCL_OUT1 _L_(13) +#define PINMUX_PA31N_CCL_OUT1 ((PIN_PA31N_CCL_OUT1 << 16) | MUX_PA31N_CCL_OUT1) +#define PORT_PA31N_CCL_OUT1 (_UL_(1) << 31) +#define PIN_PB11N_CCL_OUT1 _L_(43) /**< \brief CCL signal: OUT1 on PB11 mux N */ +#define MUX_PB11N_CCL_OUT1 _L_(13) +#define PINMUX_PB11N_CCL_OUT1 ((PIN_PB11N_CCL_OUT1 << 16) | MUX_PB11N_CCL_OUT1) +#define PORT_PB11N_CCL_OUT1 (_UL_(1) << 11) +#define PIN_PA25N_CCL_OUT2 _L_(25) /**< \brief CCL signal: OUT2 on PA25 mux N */ +#define MUX_PA25N_CCL_OUT2 _L_(13) +#define PINMUX_PA25N_CCL_OUT2 ((PIN_PA25N_CCL_OUT2 << 16) | MUX_PA25N_CCL_OUT2) +#define PORT_PA25N_CCL_OUT2 (_UL_(1) << 25) +#define PIN_PB09N_CCL_OUT2 _L_(41) /**< \brief CCL signal: OUT2 on PB09 mux N */ +#define MUX_PB09N_CCL_OUT2 _L_(13) +#define PINMUX_PB09N_CCL_OUT2 ((PIN_PB09N_CCL_OUT2 << 16) | MUX_PB09N_CCL_OUT2) +#define PORT_PB09N_CCL_OUT2 (_UL_(1) << 9) +#define PIN_PB17N_CCL_OUT3 _L_(49) /**< \brief CCL signal: OUT3 on PB17 mux N */ +#define MUX_PB17N_CCL_OUT3 _L_(13) +#define PINMUX_PB17N_CCL_OUT3 ((PIN_PB17N_CCL_OUT3 << 16) | MUX_PB17N_CCL_OUT3) +#define PORT_PB17N_CCL_OUT3 (_UL_(1) << 17) +/* ========== PORT definition for SERCOM4 peripheral ========== */ +#define PIN_PA13D_SERCOM4_PAD0 _L_(13) /**< \brief SERCOM4 signal: PAD0 on PA13 mux D */ +#define MUX_PA13D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PA13D_SERCOM4_PAD0 ((PIN_PA13D_SERCOM4_PAD0 << 16) | MUX_PA13D_SERCOM4_PAD0) +#define PORT_PA13D_SERCOM4_PAD0 (_UL_(1) << 13) +#define PIN_PB08D_SERCOM4_PAD0 _L_(40) /**< \brief SERCOM4 signal: PAD0 on PB08 mux D */ +#define MUX_PB08D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PB08D_SERCOM4_PAD0 ((PIN_PB08D_SERCOM4_PAD0 << 16) | MUX_PB08D_SERCOM4_PAD0) +#define PORT_PB08D_SERCOM4_PAD0 (_UL_(1) << 8) +#define PIN_PB12C_SERCOM4_PAD0 _L_(44) /**< \brief SERCOM4 signal: PAD0 on PB12 mux C */ +#define MUX_PB12C_SERCOM4_PAD0 _L_(2) +#define PINMUX_PB12C_SERCOM4_PAD0 ((PIN_PB12C_SERCOM4_PAD0 << 16) | MUX_PB12C_SERCOM4_PAD0) +#define PORT_PB12C_SERCOM4_PAD0 (_UL_(1) << 12) +#define PIN_PA12D_SERCOM4_PAD1 _L_(12) /**< \brief SERCOM4 signal: PAD1 on PA12 mux D */ +#define MUX_PA12D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PA12D_SERCOM4_PAD1 ((PIN_PA12D_SERCOM4_PAD1 << 16) | MUX_PA12D_SERCOM4_PAD1) +#define PORT_PA12D_SERCOM4_PAD1 (_UL_(1) << 12) +#define PIN_PB09D_SERCOM4_PAD1 _L_(41) /**< \brief SERCOM4 signal: PAD1 on PB09 mux D */ +#define MUX_PB09D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PB09D_SERCOM4_PAD1 ((PIN_PB09D_SERCOM4_PAD1 << 16) | MUX_PB09D_SERCOM4_PAD1) +#define PORT_PB09D_SERCOM4_PAD1 (_UL_(1) << 9) +#define PIN_PB13C_SERCOM4_PAD1 _L_(45) /**< \brief SERCOM4 signal: PAD1 on PB13 mux C */ +#define MUX_PB13C_SERCOM4_PAD1 _L_(2) +#define PINMUX_PB13C_SERCOM4_PAD1 ((PIN_PB13C_SERCOM4_PAD1 << 16) | MUX_PB13C_SERCOM4_PAD1) +#define PORT_PB13C_SERCOM4_PAD1 (_UL_(1) << 13) +#define PIN_PA14D_SERCOM4_PAD2 _L_(14) /**< \brief SERCOM4 signal: PAD2 on PA14 mux D */ +#define MUX_PA14D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PA14D_SERCOM4_PAD2 ((PIN_PA14D_SERCOM4_PAD2 << 16) | MUX_PA14D_SERCOM4_PAD2) +#define PORT_PA14D_SERCOM4_PAD2 (_UL_(1) << 14) +#define PIN_PB10D_SERCOM4_PAD2 _L_(42) /**< \brief SERCOM4 signal: PAD2 on PB10 mux D */ +#define MUX_PB10D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PB10D_SERCOM4_PAD2 ((PIN_PB10D_SERCOM4_PAD2 << 16) | MUX_PB10D_SERCOM4_PAD2) +#define PORT_PB10D_SERCOM4_PAD2 (_UL_(1) << 10) +#define PIN_PB14C_SERCOM4_PAD2 _L_(46) /**< \brief SERCOM4 signal: PAD2 on PB14 mux C */ +#define MUX_PB14C_SERCOM4_PAD2 _L_(2) +#define PINMUX_PB14C_SERCOM4_PAD2 ((PIN_PB14C_SERCOM4_PAD2 << 16) | MUX_PB14C_SERCOM4_PAD2) +#define PORT_PB14C_SERCOM4_PAD2 (_UL_(1) << 14) +#define PIN_PB11D_SERCOM4_PAD3 _L_(43) /**< \brief SERCOM4 signal: PAD3 on PB11 mux D */ +#define MUX_PB11D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PB11D_SERCOM4_PAD3 ((PIN_PB11D_SERCOM4_PAD3 << 16) | MUX_PB11D_SERCOM4_PAD3) +#define PORT_PB11D_SERCOM4_PAD3 (_UL_(1) << 11) +#define PIN_PA15D_SERCOM4_PAD3 _L_(15) /**< \brief SERCOM4 signal: PAD3 on PA15 mux D */ +#define MUX_PA15D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PA15D_SERCOM4_PAD3 ((PIN_PA15D_SERCOM4_PAD3 << 16) | MUX_PA15D_SERCOM4_PAD3) +#define PORT_PA15D_SERCOM4_PAD3 (_UL_(1) << 15) +#define PIN_PB15C_SERCOM4_PAD3 _L_(47) /**< \brief SERCOM4 signal: PAD3 on PB15 mux C */ +#define MUX_PB15C_SERCOM4_PAD3 _L_(2) +#define PINMUX_PB15C_SERCOM4_PAD3 ((PIN_PB15C_SERCOM4_PAD3 << 16) | MUX_PB15C_SERCOM4_PAD3) +#define PORT_PB15C_SERCOM4_PAD3 (_UL_(1) << 15) +/* ========== PORT definition for SERCOM5 peripheral ========== */ +#define PIN_PA23D_SERCOM5_PAD0 _L_(23) /**< \brief SERCOM5 signal: PAD0 on PA23 mux D */ +#define MUX_PA23D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PA23D_SERCOM5_PAD0 ((PIN_PA23D_SERCOM5_PAD0 << 16) | MUX_PA23D_SERCOM5_PAD0) +#define PORT_PA23D_SERCOM5_PAD0 (_UL_(1) << 23) +#define PIN_PB02D_SERCOM5_PAD0 _L_(34) /**< \brief SERCOM5 signal: PAD0 on PB02 mux D */ +#define MUX_PB02D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PB02D_SERCOM5_PAD0 ((PIN_PB02D_SERCOM5_PAD0 << 16) | MUX_PB02D_SERCOM5_PAD0) +#define PORT_PB02D_SERCOM5_PAD0 (_UL_(1) << 2) +#define PIN_PB31D_SERCOM5_PAD0 _L_(63) /**< \brief SERCOM5 signal: PAD0 on PB31 mux D */ +#define MUX_PB31D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PB31D_SERCOM5_PAD0 ((PIN_PB31D_SERCOM5_PAD0 << 16) | MUX_PB31D_SERCOM5_PAD0) +#define PORT_PB31D_SERCOM5_PAD0 (_UL_(1) << 31) +#define PIN_PB16C_SERCOM5_PAD0 _L_(48) /**< \brief SERCOM5 signal: PAD0 on PB16 mux C */ +#define MUX_PB16C_SERCOM5_PAD0 _L_(2) +#define PINMUX_PB16C_SERCOM5_PAD0 ((PIN_PB16C_SERCOM5_PAD0 << 16) | MUX_PB16C_SERCOM5_PAD0) +#define PORT_PB16C_SERCOM5_PAD0 (_UL_(1) << 16) +#define PIN_PA22D_SERCOM5_PAD1 _L_(22) /**< \brief SERCOM5 signal: PAD1 on PA22 mux D */ +#define MUX_PA22D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PA22D_SERCOM5_PAD1 ((PIN_PA22D_SERCOM5_PAD1 << 16) | MUX_PA22D_SERCOM5_PAD1) +#define PORT_PA22D_SERCOM5_PAD1 (_UL_(1) << 22) +#define PIN_PB03D_SERCOM5_PAD1 _L_(35) /**< \brief SERCOM5 signal: PAD1 on PB03 mux D */ +#define MUX_PB03D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PB03D_SERCOM5_PAD1 ((PIN_PB03D_SERCOM5_PAD1 << 16) | MUX_PB03D_SERCOM5_PAD1) +#define PORT_PB03D_SERCOM5_PAD1 (_UL_(1) << 3) +#define PIN_PB30D_SERCOM5_PAD1 _L_(62) /**< \brief SERCOM5 signal: PAD1 on PB30 mux D */ +#define MUX_PB30D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PB30D_SERCOM5_PAD1 ((PIN_PB30D_SERCOM5_PAD1 << 16) | MUX_PB30D_SERCOM5_PAD1) +#define PORT_PB30D_SERCOM5_PAD1 (_UL_(1) << 30) +#define PIN_PB17C_SERCOM5_PAD1 _L_(49) /**< \brief SERCOM5 signal: PAD1 on PB17 mux C */ +#define MUX_PB17C_SERCOM5_PAD1 _L_(2) +#define PINMUX_PB17C_SERCOM5_PAD1 ((PIN_PB17C_SERCOM5_PAD1 << 16) | MUX_PB17C_SERCOM5_PAD1) +#define PORT_PB17C_SERCOM5_PAD1 (_UL_(1) << 17) +#define PIN_PA24D_SERCOM5_PAD2 _L_(24) /**< \brief SERCOM5 signal: PAD2 on PA24 mux D */ +#define MUX_PA24D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PA24D_SERCOM5_PAD2 ((PIN_PA24D_SERCOM5_PAD2 << 16) | MUX_PA24D_SERCOM5_PAD2) +#define PORT_PA24D_SERCOM5_PAD2 (_UL_(1) << 24) +#define PIN_PB00D_SERCOM5_PAD2 _L_(32) /**< \brief SERCOM5 signal: PAD2 on PB00 mux D */ +#define MUX_PB00D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PB00D_SERCOM5_PAD2 ((PIN_PB00D_SERCOM5_PAD2 << 16) | MUX_PB00D_SERCOM5_PAD2) +#define PORT_PB00D_SERCOM5_PAD2 (_UL_(1) << 0) +#define PIN_PB22D_SERCOM5_PAD2 _L_(54) /**< \brief SERCOM5 signal: PAD2 on PB22 mux D */ +#define MUX_PB22D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PB22D_SERCOM5_PAD2 ((PIN_PB22D_SERCOM5_PAD2 << 16) | MUX_PB22D_SERCOM5_PAD2) +#define PORT_PB22D_SERCOM5_PAD2 (_UL_(1) << 22) +#define PIN_PA20C_SERCOM5_PAD2 _L_(20) /**< \brief SERCOM5 signal: PAD2 on PA20 mux C */ +#define MUX_PA20C_SERCOM5_PAD2 _L_(2) +#define PINMUX_PA20C_SERCOM5_PAD2 ((PIN_PA20C_SERCOM5_PAD2 << 16) | MUX_PA20C_SERCOM5_PAD2) +#define PORT_PA20C_SERCOM5_PAD2 (_UL_(1) << 20) +#define PIN_PB18C_SERCOM5_PAD2 _L_(50) /**< \brief SERCOM5 signal: PAD2 on PB18 mux C */ +#define MUX_PB18C_SERCOM5_PAD2 _L_(2) +#define PINMUX_PB18C_SERCOM5_PAD2 ((PIN_PB18C_SERCOM5_PAD2 << 16) | MUX_PB18C_SERCOM5_PAD2) +#define PORT_PB18C_SERCOM5_PAD2 (_UL_(1) << 18) +#define PIN_PA25D_SERCOM5_PAD3 _L_(25) /**< \brief SERCOM5 signal: PAD3 on PA25 mux D */ +#define MUX_PA25D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PA25D_SERCOM5_PAD3 ((PIN_PA25D_SERCOM5_PAD3 << 16) | MUX_PA25D_SERCOM5_PAD3) +#define PORT_PA25D_SERCOM5_PAD3 (_UL_(1) << 25) +#define PIN_PB01D_SERCOM5_PAD3 _L_(33) /**< \brief SERCOM5 signal: PAD3 on PB01 mux D */ +#define MUX_PB01D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PB01D_SERCOM5_PAD3 ((PIN_PB01D_SERCOM5_PAD3 << 16) | MUX_PB01D_SERCOM5_PAD3) +#define PORT_PB01D_SERCOM5_PAD3 (_UL_(1) << 1) +#define PIN_PB23D_SERCOM5_PAD3 _L_(55) /**< \brief SERCOM5 signal: PAD3 on PB23 mux D */ +#define MUX_PB23D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PB23D_SERCOM5_PAD3 ((PIN_PB23D_SERCOM5_PAD3 << 16) | MUX_PB23D_SERCOM5_PAD3) +#define PORT_PB23D_SERCOM5_PAD3 (_UL_(1) << 23) +#define PIN_PA21C_SERCOM5_PAD3 _L_(21) /**< \brief SERCOM5 signal: PAD3 on PA21 mux C */ +#define MUX_PA21C_SERCOM5_PAD3 _L_(2) +#define PINMUX_PA21C_SERCOM5_PAD3 ((PIN_PA21C_SERCOM5_PAD3 << 16) | MUX_PA21C_SERCOM5_PAD3) +#define PORT_PA21C_SERCOM5_PAD3 (_UL_(1) << 21) +#define PIN_PB19C_SERCOM5_PAD3 _L_(51) /**< \brief SERCOM5 signal: PAD3 on PB19 mux C */ +#define MUX_PB19C_SERCOM5_PAD3 _L_(2) +#define PINMUX_PB19C_SERCOM5_PAD3 ((PIN_PB19C_SERCOM5_PAD3 << 16) | MUX_PB19C_SERCOM5_PAD3) +#define PORT_PB19C_SERCOM5_PAD3 (_UL_(1) << 19) +/* ========== PORT definition for SERCOM6 peripheral ========== */ +#define PIN_PC13D_SERCOM6_PAD0 _L_(77) /**< \brief SERCOM6 signal: PAD0 on PC13 mux D */ +#define MUX_PC13D_SERCOM6_PAD0 _L_(3) +#define PINMUX_PC13D_SERCOM6_PAD0 ((PIN_PC13D_SERCOM6_PAD0 << 16) | MUX_PC13D_SERCOM6_PAD0) +#define PORT_PC13D_SERCOM6_PAD0 (_UL_(1) << 13) +#define PIN_PC16C_SERCOM6_PAD0 _L_(80) /**< \brief SERCOM6 signal: PAD0 on PC16 mux C */ +#define MUX_PC16C_SERCOM6_PAD0 _L_(2) +#define PINMUX_PC16C_SERCOM6_PAD0 ((PIN_PC16C_SERCOM6_PAD0 << 16) | MUX_PC16C_SERCOM6_PAD0) +#define PORT_PC16C_SERCOM6_PAD0 (_UL_(1) << 16) +#define PIN_PC12D_SERCOM6_PAD1 _L_(76) /**< \brief SERCOM6 signal: PAD1 on PC12 mux D */ +#define MUX_PC12D_SERCOM6_PAD1 _L_(3) +#define PINMUX_PC12D_SERCOM6_PAD1 ((PIN_PC12D_SERCOM6_PAD1 << 16) | MUX_PC12D_SERCOM6_PAD1) +#define PORT_PC12D_SERCOM6_PAD1 (_UL_(1) << 12) +#define PIN_PC05C_SERCOM6_PAD1 _L_(69) /**< \brief SERCOM6 signal: PAD1 on PC05 mux C */ +#define MUX_PC05C_SERCOM6_PAD1 _L_(2) +#define PINMUX_PC05C_SERCOM6_PAD1 ((PIN_PC05C_SERCOM6_PAD1 << 16) | MUX_PC05C_SERCOM6_PAD1) +#define PORT_PC05C_SERCOM6_PAD1 (_UL_(1) << 5) +#define PIN_PC17C_SERCOM6_PAD1 _L_(81) /**< \brief SERCOM6 signal: PAD1 on PC17 mux C */ +#define MUX_PC17C_SERCOM6_PAD1 _L_(2) +#define PINMUX_PC17C_SERCOM6_PAD1 ((PIN_PC17C_SERCOM6_PAD1 << 16) | MUX_PC17C_SERCOM6_PAD1) +#define PORT_PC17C_SERCOM6_PAD1 (_UL_(1) << 17) +#define PIN_PC14D_SERCOM6_PAD2 _L_(78) /**< \brief SERCOM6 signal: PAD2 on PC14 mux D */ +#define MUX_PC14D_SERCOM6_PAD2 _L_(3) +#define PINMUX_PC14D_SERCOM6_PAD2 ((PIN_PC14D_SERCOM6_PAD2 << 16) | MUX_PC14D_SERCOM6_PAD2) +#define PORT_PC14D_SERCOM6_PAD2 (_UL_(1) << 14) +#define PIN_PC06C_SERCOM6_PAD2 _L_(70) /**< \brief SERCOM6 signal: PAD2 on PC06 mux C */ +#define MUX_PC06C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC06C_SERCOM6_PAD2 ((PIN_PC06C_SERCOM6_PAD2 << 16) | MUX_PC06C_SERCOM6_PAD2) +#define PORT_PC06C_SERCOM6_PAD2 (_UL_(1) << 6) +#define PIN_PC10C_SERCOM6_PAD2 _L_(74) /**< \brief SERCOM6 signal: PAD2 on PC10 mux C */ +#define MUX_PC10C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC10C_SERCOM6_PAD2 ((PIN_PC10C_SERCOM6_PAD2 << 16) | MUX_PC10C_SERCOM6_PAD2) +#define PORT_PC10C_SERCOM6_PAD2 (_UL_(1) << 10) +#define PIN_PC18C_SERCOM6_PAD2 _L_(82) /**< \brief SERCOM6 signal: PAD2 on PC18 mux C */ +#define MUX_PC18C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC18C_SERCOM6_PAD2 ((PIN_PC18C_SERCOM6_PAD2 << 16) | MUX_PC18C_SERCOM6_PAD2) +#define PORT_PC18C_SERCOM6_PAD2 (_UL_(1) << 18) +#define PIN_PC15D_SERCOM6_PAD3 _L_(79) /**< \brief SERCOM6 signal: PAD3 on PC15 mux D */ +#define MUX_PC15D_SERCOM6_PAD3 _L_(3) +#define PINMUX_PC15D_SERCOM6_PAD3 ((PIN_PC15D_SERCOM6_PAD3 << 16) | MUX_PC15D_SERCOM6_PAD3) +#define PORT_PC15D_SERCOM6_PAD3 (_UL_(1) << 15) +#define PIN_PC07C_SERCOM6_PAD3 _L_(71) /**< \brief SERCOM6 signal: PAD3 on PC07 mux C */ +#define MUX_PC07C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC07C_SERCOM6_PAD3 ((PIN_PC07C_SERCOM6_PAD3 << 16) | MUX_PC07C_SERCOM6_PAD3) +#define PORT_PC07C_SERCOM6_PAD3 (_UL_(1) << 7) +#define PIN_PC11C_SERCOM6_PAD3 _L_(75) /**< \brief SERCOM6 signal: PAD3 on PC11 mux C */ +#define MUX_PC11C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC11C_SERCOM6_PAD3 ((PIN_PC11C_SERCOM6_PAD3 << 16) | MUX_PC11C_SERCOM6_PAD3) +#define PORT_PC11C_SERCOM6_PAD3 (_UL_(1) << 11) +#define PIN_PC19C_SERCOM6_PAD3 _L_(83) /**< \brief SERCOM6 signal: PAD3 on PC19 mux C */ +#define MUX_PC19C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC19C_SERCOM6_PAD3 ((PIN_PC19C_SERCOM6_PAD3 << 16) | MUX_PC19C_SERCOM6_PAD3) +#define PORT_PC19C_SERCOM6_PAD3 (_UL_(1) << 19) +/* ========== PORT definition for SERCOM7 peripheral ========== */ +#define PIN_PB21D_SERCOM7_PAD0 _L_(53) /**< \brief SERCOM7 signal: PAD0 on PB21 mux D */ +#define MUX_PB21D_SERCOM7_PAD0 _L_(3) +#define PINMUX_PB21D_SERCOM7_PAD0 ((PIN_PB21D_SERCOM7_PAD0 << 16) | MUX_PB21D_SERCOM7_PAD0) +#define PORT_PB21D_SERCOM7_PAD0 (_UL_(1) << 21) +#define PIN_PB30C_SERCOM7_PAD0 _L_(62) /**< \brief SERCOM7 signal: PAD0 on PB30 mux C */ +#define MUX_PB30C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PB30C_SERCOM7_PAD0 ((PIN_PB30C_SERCOM7_PAD0 << 16) | MUX_PB30C_SERCOM7_PAD0) +#define PORT_PB30C_SERCOM7_PAD0 (_UL_(1) << 30) +#define PIN_PC12C_SERCOM7_PAD0 _L_(76) /**< \brief SERCOM7 signal: PAD0 on PC12 mux C */ +#define MUX_PC12C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PC12C_SERCOM7_PAD0 ((PIN_PC12C_SERCOM7_PAD0 << 16) | MUX_PC12C_SERCOM7_PAD0) +#define PORT_PC12C_SERCOM7_PAD0 (_UL_(1) << 12) +#define PIN_PB20D_SERCOM7_PAD1 _L_(52) /**< \brief SERCOM7 signal: PAD1 on PB20 mux D */ +#define MUX_PB20D_SERCOM7_PAD1 _L_(3) +#define PINMUX_PB20D_SERCOM7_PAD1 ((PIN_PB20D_SERCOM7_PAD1 << 16) | MUX_PB20D_SERCOM7_PAD1) +#define PORT_PB20D_SERCOM7_PAD1 (_UL_(1) << 20) +#define PIN_PB31C_SERCOM7_PAD1 _L_(63) /**< \brief SERCOM7 signal: PAD1 on PB31 mux C */ +#define MUX_PB31C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PB31C_SERCOM7_PAD1 ((PIN_PB31C_SERCOM7_PAD1 << 16) | MUX_PB31C_SERCOM7_PAD1) +#define PORT_PB31C_SERCOM7_PAD1 (_UL_(1) << 31) +#define PIN_PC13C_SERCOM7_PAD1 _L_(77) /**< \brief SERCOM7 signal: PAD1 on PC13 mux C */ +#define MUX_PC13C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PC13C_SERCOM7_PAD1 ((PIN_PC13C_SERCOM7_PAD1 << 16) | MUX_PC13C_SERCOM7_PAD1) +#define PORT_PC13C_SERCOM7_PAD1 (_UL_(1) << 13) +#define PIN_PB18D_SERCOM7_PAD2 _L_(50) /**< \brief SERCOM7 signal: PAD2 on PB18 mux D */ +#define MUX_PB18D_SERCOM7_PAD2 _L_(3) +#define PINMUX_PB18D_SERCOM7_PAD2 ((PIN_PB18D_SERCOM7_PAD2 << 16) | MUX_PB18D_SERCOM7_PAD2) +#define PORT_PB18D_SERCOM7_PAD2 (_UL_(1) << 18) +#define PIN_PC10D_SERCOM7_PAD2 _L_(74) /**< \brief SERCOM7 signal: PAD2 on PC10 mux D */ +#define MUX_PC10D_SERCOM7_PAD2 _L_(3) +#define PINMUX_PC10D_SERCOM7_PAD2 ((PIN_PC10D_SERCOM7_PAD2 << 16) | MUX_PC10D_SERCOM7_PAD2) +#define PORT_PC10D_SERCOM7_PAD2 (_UL_(1) << 10) +#define PIN_PC14C_SERCOM7_PAD2 _L_(78) /**< \brief SERCOM7 signal: PAD2 on PC14 mux C */ +#define MUX_PC14C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PC14C_SERCOM7_PAD2 ((PIN_PC14C_SERCOM7_PAD2 << 16) | MUX_PC14C_SERCOM7_PAD2) +#define PORT_PC14C_SERCOM7_PAD2 (_UL_(1) << 14) +#define PIN_PA30C_SERCOM7_PAD2 _L_(30) /**< \brief SERCOM7 signal: PAD2 on PA30 mux C */ +#define MUX_PA30C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PA30C_SERCOM7_PAD2 ((PIN_PA30C_SERCOM7_PAD2 << 16) | MUX_PA30C_SERCOM7_PAD2) +#define PORT_PA30C_SERCOM7_PAD2 (_UL_(1) << 30) +#define PIN_PB19D_SERCOM7_PAD3 _L_(51) /**< \brief SERCOM7 signal: PAD3 on PB19 mux D */ +#define MUX_PB19D_SERCOM7_PAD3 _L_(3) +#define PINMUX_PB19D_SERCOM7_PAD3 ((PIN_PB19D_SERCOM7_PAD3 << 16) | MUX_PB19D_SERCOM7_PAD3) +#define PORT_PB19D_SERCOM7_PAD3 (_UL_(1) << 19) +#define PIN_PC11D_SERCOM7_PAD3 _L_(75) /**< \brief SERCOM7 signal: PAD3 on PC11 mux D */ +#define MUX_PC11D_SERCOM7_PAD3 _L_(3) +#define PINMUX_PC11D_SERCOM7_PAD3 ((PIN_PC11D_SERCOM7_PAD3 << 16) | MUX_PC11D_SERCOM7_PAD3) +#define PORT_PC11D_SERCOM7_PAD3 (_UL_(1) << 11) +#define PIN_PC15C_SERCOM7_PAD3 _L_(79) /**< \brief SERCOM7 signal: PAD3 on PC15 mux C */ +#define MUX_PC15C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PC15C_SERCOM7_PAD3 ((PIN_PC15C_SERCOM7_PAD3 << 16) | MUX_PC15C_SERCOM7_PAD3) +#define PORT_PC15C_SERCOM7_PAD3 (_UL_(1) << 15) +#define PIN_PA31C_SERCOM7_PAD3 _L_(31) /**< \brief SERCOM7 signal: PAD3 on PA31 mux C */ +#define MUX_PA31C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PA31C_SERCOM7_PAD3 ((PIN_PA31C_SERCOM7_PAD3 << 16) | MUX_PA31C_SERCOM7_PAD3) +#define PORT_PA31C_SERCOM7_PAD3 (_UL_(1) << 31) +/* ========== PORT definition for TCC4 peripheral ========== */ +#define PIN_PB14F_TCC4_WO0 _L_(46) /**< \brief TCC4 signal: WO0 on PB14 mux F */ +#define MUX_PB14F_TCC4_WO0 _L_(5) +#define PINMUX_PB14F_TCC4_WO0 ((PIN_PB14F_TCC4_WO0 << 16) | MUX_PB14F_TCC4_WO0) +#define PORT_PB14F_TCC4_WO0 (_UL_(1) << 14) +#define PIN_PB30F_TCC4_WO0 _L_(62) /**< \brief TCC4 signal: WO0 on PB30 mux F */ +#define MUX_PB30F_TCC4_WO0 _L_(5) +#define PINMUX_PB30F_TCC4_WO0 ((PIN_PB30F_TCC4_WO0 << 16) | MUX_PB30F_TCC4_WO0) +#define PORT_PB30F_TCC4_WO0 (_UL_(1) << 30) +#define PIN_PB15F_TCC4_WO1 _L_(47) /**< \brief TCC4 signal: WO1 on PB15 mux F */ +#define MUX_PB15F_TCC4_WO1 _L_(5) +#define PINMUX_PB15F_TCC4_WO1 ((PIN_PB15F_TCC4_WO1 << 16) | MUX_PB15F_TCC4_WO1) +#define PORT_PB15F_TCC4_WO1 (_UL_(1) << 15) +#define PIN_PB31F_TCC4_WO1 _L_(63) /**< \brief TCC4 signal: WO1 on PB31 mux F */ +#define MUX_PB31F_TCC4_WO1 _L_(5) +#define PINMUX_PB31F_TCC4_WO1 ((PIN_PB31F_TCC4_WO1 << 16) | MUX_PB31F_TCC4_WO1) +#define PORT_PB31F_TCC4_WO1 (_UL_(1) << 31) +/* ========== PORT definition for TC6 peripheral ========== */ +#define PIN_PA30E_TC6_WO0 _L_(30) /**< \brief TC6 signal: WO0 on PA30 mux E */ +#define MUX_PA30E_TC6_WO0 _L_(4) +#define PINMUX_PA30E_TC6_WO0 ((PIN_PA30E_TC6_WO0 << 16) | MUX_PA30E_TC6_WO0) +#define PORT_PA30E_TC6_WO0 (_UL_(1) << 30) +#define PIN_PB02E_TC6_WO0 _L_(34) /**< \brief TC6 signal: WO0 on PB02 mux E */ +#define MUX_PB02E_TC6_WO0 _L_(4) +#define PINMUX_PB02E_TC6_WO0 ((PIN_PB02E_TC6_WO0 << 16) | MUX_PB02E_TC6_WO0) +#define PORT_PB02E_TC6_WO0 (_UL_(1) << 2) +#define PIN_PB16E_TC6_WO0 _L_(48) /**< \brief TC6 signal: WO0 on PB16 mux E */ +#define MUX_PB16E_TC6_WO0 _L_(4) +#define PINMUX_PB16E_TC6_WO0 ((PIN_PB16E_TC6_WO0 << 16) | MUX_PB16E_TC6_WO0) +#define PORT_PB16E_TC6_WO0 (_UL_(1) << 16) +#define PIN_PA31E_TC6_WO1 _L_(31) /**< \brief TC6 signal: WO1 on PA31 mux E */ +#define MUX_PA31E_TC6_WO1 _L_(4) +#define PINMUX_PA31E_TC6_WO1 ((PIN_PA31E_TC6_WO1 << 16) | MUX_PA31E_TC6_WO1) +#define PORT_PA31E_TC6_WO1 (_UL_(1) << 31) +#define PIN_PB03E_TC6_WO1 _L_(35) /**< \brief TC6 signal: WO1 on PB03 mux E */ +#define MUX_PB03E_TC6_WO1 _L_(4) +#define PINMUX_PB03E_TC6_WO1 ((PIN_PB03E_TC6_WO1 << 16) | MUX_PB03E_TC6_WO1) +#define PORT_PB03E_TC6_WO1 (_UL_(1) << 3) +#define PIN_PB17E_TC6_WO1 _L_(49) /**< \brief TC6 signal: WO1 on PB17 mux E */ +#define MUX_PB17E_TC6_WO1 _L_(4) +#define PINMUX_PB17E_TC6_WO1 ((PIN_PB17E_TC6_WO1 << 16) | MUX_PB17E_TC6_WO1) +#define PORT_PB17E_TC6_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC7 peripheral ========== */ +#define PIN_PA20E_TC7_WO0 _L_(20) /**< \brief TC7 signal: WO0 on PA20 mux E */ +#define MUX_PA20E_TC7_WO0 _L_(4) +#define PINMUX_PA20E_TC7_WO0 ((PIN_PA20E_TC7_WO0 << 16) | MUX_PA20E_TC7_WO0) +#define PORT_PA20E_TC7_WO0 (_UL_(1) << 20) +#define PIN_PB00E_TC7_WO0 _L_(32) /**< \brief TC7 signal: WO0 on PB00 mux E */ +#define MUX_PB00E_TC7_WO0 _L_(4) +#define PINMUX_PB00E_TC7_WO0 ((PIN_PB00E_TC7_WO0 << 16) | MUX_PB00E_TC7_WO0) +#define PORT_PB00E_TC7_WO0 (_UL_(1) << 0) +#define PIN_PB22E_TC7_WO0 _L_(54) /**< \brief TC7 signal: WO0 on PB22 mux E */ +#define MUX_PB22E_TC7_WO0 _L_(4) +#define PINMUX_PB22E_TC7_WO0 ((PIN_PB22E_TC7_WO0 << 16) | MUX_PB22E_TC7_WO0) +#define PORT_PB22E_TC7_WO0 (_UL_(1) << 22) +#define PIN_PA21E_TC7_WO1 _L_(21) /**< \brief TC7 signal: WO1 on PA21 mux E */ +#define MUX_PA21E_TC7_WO1 _L_(4) +#define PINMUX_PA21E_TC7_WO1 ((PIN_PA21E_TC7_WO1 << 16) | MUX_PA21E_TC7_WO1) +#define PORT_PA21E_TC7_WO1 (_UL_(1) << 21) +#define PIN_PB01E_TC7_WO1 _L_(33) /**< \brief TC7 signal: WO1 on PB01 mux E */ +#define MUX_PB01E_TC7_WO1 _L_(4) +#define PINMUX_PB01E_TC7_WO1 ((PIN_PB01E_TC7_WO1 << 16) | MUX_PB01E_TC7_WO1) +#define PORT_PB01E_TC7_WO1 (_UL_(1) << 1) +#define PIN_PB23E_TC7_WO1 _L_(55) /**< \brief TC7 signal: WO1 on PB23 mux E */ +#define MUX_PB23E_TC7_WO1 _L_(4) +#define PINMUX_PB23E_TC7_WO1 ((PIN_PB23E_TC7_WO1 << 16) | MUX_PB23E_TC7_WO1) +#define PORT_PB23E_TC7_WO1 (_UL_(1) << 23) +/* ========== PORT definition for ADC0 peripheral ========== */ +#define PIN_PA02B_ADC0_AIN0 _L_(2) /**< \brief ADC0 signal: AIN0 on PA02 mux B */ +#define MUX_PA02B_ADC0_AIN0 _L_(1) +#define PINMUX_PA02B_ADC0_AIN0 ((PIN_PA02B_ADC0_AIN0 << 16) | MUX_PA02B_ADC0_AIN0) +#define PORT_PA02B_ADC0_AIN0 (_UL_(1) << 2) +#define PIN_PA03B_ADC0_AIN1 _L_(3) /**< \brief ADC0 signal: AIN1 on PA03 mux B */ +#define MUX_PA03B_ADC0_AIN1 _L_(1) +#define PINMUX_PA03B_ADC0_AIN1 ((PIN_PA03B_ADC0_AIN1 << 16) | MUX_PA03B_ADC0_AIN1) +#define PORT_PA03B_ADC0_AIN1 (_UL_(1) << 3) +#define PIN_PB08B_ADC0_AIN2 _L_(40) /**< \brief ADC0 signal: AIN2 on PB08 mux B */ +#define MUX_PB08B_ADC0_AIN2 _L_(1) +#define PINMUX_PB08B_ADC0_AIN2 ((PIN_PB08B_ADC0_AIN2 << 16) | MUX_PB08B_ADC0_AIN2) +#define PORT_PB08B_ADC0_AIN2 (_UL_(1) << 8) +#define PIN_PB09B_ADC0_AIN3 _L_(41) /**< \brief ADC0 signal: AIN3 on PB09 mux B */ +#define MUX_PB09B_ADC0_AIN3 _L_(1) +#define PINMUX_PB09B_ADC0_AIN3 ((PIN_PB09B_ADC0_AIN3 << 16) | MUX_PB09B_ADC0_AIN3) +#define PORT_PB09B_ADC0_AIN3 (_UL_(1) << 9) +#define PIN_PA04B_ADC0_AIN4 _L_(4) /**< \brief ADC0 signal: AIN4 on PA04 mux B */ +#define MUX_PA04B_ADC0_AIN4 _L_(1) +#define PINMUX_PA04B_ADC0_AIN4 ((PIN_PA04B_ADC0_AIN4 << 16) | MUX_PA04B_ADC0_AIN4) +#define PORT_PA04B_ADC0_AIN4 (_UL_(1) << 4) +#define PIN_PA05B_ADC0_AIN5 _L_(5) /**< \brief ADC0 signal: AIN5 on PA05 mux B */ +#define MUX_PA05B_ADC0_AIN5 _L_(1) +#define PINMUX_PA05B_ADC0_AIN5 ((PIN_PA05B_ADC0_AIN5 << 16) | MUX_PA05B_ADC0_AIN5) +#define PORT_PA05B_ADC0_AIN5 (_UL_(1) << 5) +#define PIN_PA06B_ADC0_AIN6 _L_(6) /**< \brief ADC0 signal: AIN6 on PA06 mux B */ +#define MUX_PA06B_ADC0_AIN6 _L_(1) +#define PINMUX_PA06B_ADC0_AIN6 ((PIN_PA06B_ADC0_AIN6 << 16) | MUX_PA06B_ADC0_AIN6) +#define PORT_PA06B_ADC0_AIN6 (_UL_(1) << 6) +#define PIN_PA07B_ADC0_AIN7 _L_(7) /**< \brief ADC0 signal: AIN7 on PA07 mux B */ +#define MUX_PA07B_ADC0_AIN7 _L_(1) +#define PINMUX_PA07B_ADC0_AIN7 ((PIN_PA07B_ADC0_AIN7 << 16) | MUX_PA07B_ADC0_AIN7) +#define PORT_PA07B_ADC0_AIN7 (_UL_(1) << 7) +#define PIN_PA08B_ADC0_AIN8 _L_(8) /**< \brief ADC0 signal: AIN8 on PA08 mux B */ +#define MUX_PA08B_ADC0_AIN8 _L_(1) +#define PINMUX_PA08B_ADC0_AIN8 ((PIN_PA08B_ADC0_AIN8 << 16) | MUX_PA08B_ADC0_AIN8) +#define PORT_PA08B_ADC0_AIN8 (_UL_(1) << 8) +#define PIN_PA09B_ADC0_AIN9 _L_(9) /**< \brief ADC0 signal: AIN9 on PA09 mux B */ +#define MUX_PA09B_ADC0_AIN9 _L_(1) +#define PINMUX_PA09B_ADC0_AIN9 ((PIN_PA09B_ADC0_AIN9 << 16) | MUX_PA09B_ADC0_AIN9) +#define PORT_PA09B_ADC0_AIN9 (_UL_(1) << 9) +#define PIN_PA10B_ADC0_AIN10 _L_(10) /**< \brief ADC0 signal: AIN10 on PA10 mux B */ +#define MUX_PA10B_ADC0_AIN10 _L_(1) +#define PINMUX_PA10B_ADC0_AIN10 ((PIN_PA10B_ADC0_AIN10 << 16) | MUX_PA10B_ADC0_AIN10) +#define PORT_PA10B_ADC0_AIN10 (_UL_(1) << 10) +#define PIN_PA11B_ADC0_AIN11 _L_(11) /**< \brief ADC0 signal: AIN11 on PA11 mux B */ +#define MUX_PA11B_ADC0_AIN11 _L_(1) +#define PINMUX_PA11B_ADC0_AIN11 ((PIN_PA11B_ADC0_AIN11 << 16) | MUX_PA11B_ADC0_AIN11) +#define PORT_PA11B_ADC0_AIN11 (_UL_(1) << 11) +#define PIN_PB00B_ADC0_AIN12 _L_(32) /**< \brief ADC0 signal: AIN12 on PB00 mux B */ +#define MUX_PB00B_ADC0_AIN12 _L_(1) +#define PINMUX_PB00B_ADC0_AIN12 ((PIN_PB00B_ADC0_AIN12 << 16) | MUX_PB00B_ADC0_AIN12) +#define PORT_PB00B_ADC0_AIN12 (_UL_(1) << 0) +#define PIN_PB01B_ADC0_AIN13 _L_(33) /**< \brief ADC0 signal: AIN13 on PB01 mux B */ +#define MUX_PB01B_ADC0_AIN13 _L_(1) +#define PINMUX_PB01B_ADC0_AIN13 ((PIN_PB01B_ADC0_AIN13 << 16) | MUX_PB01B_ADC0_AIN13) +#define PORT_PB01B_ADC0_AIN13 (_UL_(1) << 1) +#define PIN_PB02B_ADC0_AIN14 _L_(34) /**< \brief ADC0 signal: AIN14 on PB02 mux B */ +#define MUX_PB02B_ADC0_AIN14 _L_(1) +#define PINMUX_PB02B_ADC0_AIN14 ((PIN_PB02B_ADC0_AIN14 << 16) | MUX_PB02B_ADC0_AIN14) +#define PORT_PB02B_ADC0_AIN14 (_UL_(1) << 2) +#define PIN_PB03B_ADC0_AIN15 _L_(35) /**< \brief ADC0 signal: AIN15 on PB03 mux B */ +#define MUX_PB03B_ADC0_AIN15 _L_(1) +#define PINMUX_PB03B_ADC0_AIN15 ((PIN_PB03B_ADC0_AIN15 << 16) | MUX_PB03B_ADC0_AIN15) +#define PORT_PB03B_ADC0_AIN15 (_UL_(1) << 3) +#define PIN_PA03O_ADC0_DRV0 _L_(3) /**< \brief ADC0 signal: DRV0 on PA03 mux O */ +#define MUX_PA03O_ADC0_DRV0 _L_(14) +#define PINMUX_PA03O_ADC0_DRV0 ((PIN_PA03O_ADC0_DRV0 << 16) | MUX_PA03O_ADC0_DRV0) +#define PORT_PA03O_ADC0_DRV0 (_UL_(1) << 3) +#define PIN_PB08O_ADC0_DRV1 _L_(40) /**< \brief ADC0 signal: DRV1 on PB08 mux O */ +#define MUX_PB08O_ADC0_DRV1 _L_(14) +#define PINMUX_PB08O_ADC0_DRV1 ((PIN_PB08O_ADC0_DRV1 << 16) | MUX_PB08O_ADC0_DRV1) +#define PORT_PB08O_ADC0_DRV1 (_UL_(1) << 8) +#define PIN_PB09O_ADC0_DRV2 _L_(41) /**< \brief ADC0 signal: DRV2 on PB09 mux O */ +#define MUX_PB09O_ADC0_DRV2 _L_(14) +#define PINMUX_PB09O_ADC0_DRV2 ((PIN_PB09O_ADC0_DRV2 << 16) | MUX_PB09O_ADC0_DRV2) +#define PORT_PB09O_ADC0_DRV2 (_UL_(1) << 9) +#define PIN_PA04O_ADC0_DRV3 _L_(4) /**< \brief ADC0 signal: DRV3 on PA04 mux O */ +#define MUX_PA04O_ADC0_DRV3 _L_(14) +#define PINMUX_PA04O_ADC0_DRV3 ((PIN_PA04O_ADC0_DRV3 << 16) | MUX_PA04O_ADC0_DRV3) +#define PORT_PA04O_ADC0_DRV3 (_UL_(1) << 4) +#define PIN_PA06O_ADC0_DRV4 _L_(6) /**< \brief ADC0 signal: DRV4 on PA06 mux O */ +#define MUX_PA06O_ADC0_DRV4 _L_(14) +#define PINMUX_PA06O_ADC0_DRV4 ((PIN_PA06O_ADC0_DRV4 << 16) | MUX_PA06O_ADC0_DRV4) +#define PORT_PA06O_ADC0_DRV4 (_UL_(1) << 6) +#define PIN_PA07O_ADC0_DRV5 _L_(7) /**< \brief ADC0 signal: DRV5 on PA07 mux O */ +#define MUX_PA07O_ADC0_DRV5 _L_(14) +#define PINMUX_PA07O_ADC0_DRV5 ((PIN_PA07O_ADC0_DRV5 << 16) | MUX_PA07O_ADC0_DRV5) +#define PORT_PA07O_ADC0_DRV5 (_UL_(1) << 7) +#define PIN_PA08O_ADC0_DRV6 _L_(8) /**< \brief ADC0 signal: DRV6 on PA08 mux O */ +#define MUX_PA08O_ADC0_DRV6 _L_(14) +#define PINMUX_PA08O_ADC0_DRV6 ((PIN_PA08O_ADC0_DRV6 << 16) | MUX_PA08O_ADC0_DRV6) +#define PORT_PA08O_ADC0_DRV6 (_UL_(1) << 8) +#define PIN_PA09O_ADC0_DRV7 _L_(9) /**< \brief ADC0 signal: DRV7 on PA09 mux O */ +#define MUX_PA09O_ADC0_DRV7 _L_(14) +#define PINMUX_PA09O_ADC0_DRV7 ((PIN_PA09O_ADC0_DRV7 << 16) | MUX_PA09O_ADC0_DRV7) +#define PORT_PA09O_ADC0_DRV7 (_UL_(1) << 9) +#define PIN_PA10O_ADC0_DRV8 _L_(10) /**< \brief ADC0 signal: DRV8 on PA10 mux O */ +#define MUX_PA10O_ADC0_DRV8 _L_(14) +#define PINMUX_PA10O_ADC0_DRV8 ((PIN_PA10O_ADC0_DRV8 << 16) | MUX_PA10O_ADC0_DRV8) +#define PORT_PA10O_ADC0_DRV8 (_UL_(1) << 10) +#define PIN_PA11O_ADC0_DRV9 _L_(11) /**< \brief ADC0 signal: DRV9 on PA11 mux O */ +#define MUX_PA11O_ADC0_DRV9 _L_(14) +#define PINMUX_PA11O_ADC0_DRV9 ((PIN_PA11O_ADC0_DRV9 << 16) | MUX_PA11O_ADC0_DRV9) +#define PORT_PA11O_ADC0_DRV9 (_UL_(1) << 11) +#define PIN_PA16O_ADC0_DRV10 _L_(16) /**< \brief ADC0 signal: DRV10 on PA16 mux O */ +#define MUX_PA16O_ADC0_DRV10 _L_(14) +#define PINMUX_PA16O_ADC0_DRV10 ((PIN_PA16O_ADC0_DRV10 << 16) | MUX_PA16O_ADC0_DRV10) +#define PORT_PA16O_ADC0_DRV10 (_UL_(1) << 16) +#define PIN_PA17O_ADC0_DRV11 _L_(17) /**< \brief ADC0 signal: DRV11 on PA17 mux O */ +#define MUX_PA17O_ADC0_DRV11 _L_(14) +#define PINMUX_PA17O_ADC0_DRV11 ((PIN_PA17O_ADC0_DRV11 << 16) | MUX_PA17O_ADC0_DRV11) +#define PORT_PA17O_ADC0_DRV11 (_UL_(1) << 17) +#define PIN_PA18O_ADC0_DRV12 _L_(18) /**< \brief ADC0 signal: DRV12 on PA18 mux O */ +#define MUX_PA18O_ADC0_DRV12 _L_(14) +#define PINMUX_PA18O_ADC0_DRV12 ((PIN_PA18O_ADC0_DRV12 << 16) | MUX_PA18O_ADC0_DRV12) +#define PORT_PA18O_ADC0_DRV12 (_UL_(1) << 18) +#define PIN_PA19O_ADC0_DRV13 _L_(19) /**< \brief ADC0 signal: DRV13 on PA19 mux O */ +#define MUX_PA19O_ADC0_DRV13 _L_(14) +#define PINMUX_PA19O_ADC0_DRV13 ((PIN_PA19O_ADC0_DRV13 << 16) | MUX_PA19O_ADC0_DRV13) +#define PORT_PA19O_ADC0_DRV13 (_UL_(1) << 19) +#define PIN_PA20O_ADC0_DRV14 _L_(20) /**< \brief ADC0 signal: DRV14 on PA20 mux O */ +#define MUX_PA20O_ADC0_DRV14 _L_(14) +#define PINMUX_PA20O_ADC0_DRV14 ((PIN_PA20O_ADC0_DRV14 << 16) | MUX_PA20O_ADC0_DRV14) +#define PORT_PA20O_ADC0_DRV14 (_UL_(1) << 20) +#define PIN_PA21O_ADC0_DRV15 _L_(21) /**< \brief ADC0 signal: DRV15 on PA21 mux O */ +#define MUX_PA21O_ADC0_DRV15 _L_(14) +#define PINMUX_PA21O_ADC0_DRV15 ((PIN_PA21O_ADC0_DRV15 << 16) | MUX_PA21O_ADC0_DRV15) +#define PORT_PA21O_ADC0_DRV15 (_UL_(1) << 21) +#define PIN_PA22O_ADC0_DRV16 _L_(22) /**< \brief ADC0 signal: DRV16 on PA22 mux O */ +#define MUX_PA22O_ADC0_DRV16 _L_(14) +#define PINMUX_PA22O_ADC0_DRV16 ((PIN_PA22O_ADC0_DRV16 << 16) | MUX_PA22O_ADC0_DRV16) +#define PORT_PA22O_ADC0_DRV16 (_UL_(1) << 22) +#define PIN_PA23O_ADC0_DRV17 _L_(23) /**< \brief ADC0 signal: DRV17 on PA23 mux O */ +#define MUX_PA23O_ADC0_DRV17 _L_(14) +#define PINMUX_PA23O_ADC0_DRV17 ((PIN_PA23O_ADC0_DRV17 << 16) | MUX_PA23O_ADC0_DRV17) +#define PORT_PA23O_ADC0_DRV17 (_UL_(1) << 23) +#define PIN_PA27O_ADC0_DRV18 _L_(27) /**< \brief ADC0 signal: DRV18 on PA27 mux O */ +#define MUX_PA27O_ADC0_DRV18 _L_(14) +#define PINMUX_PA27O_ADC0_DRV18 ((PIN_PA27O_ADC0_DRV18 << 16) | MUX_PA27O_ADC0_DRV18) +#define PORT_PA27O_ADC0_DRV18 (_UL_(1) << 27) +#define PIN_PA30O_ADC0_DRV19 _L_(30) /**< \brief ADC0 signal: DRV19 on PA30 mux O */ +#define MUX_PA30O_ADC0_DRV19 _L_(14) +#define PINMUX_PA30O_ADC0_DRV19 ((PIN_PA30O_ADC0_DRV19 << 16) | MUX_PA30O_ADC0_DRV19) +#define PORT_PA30O_ADC0_DRV19 (_UL_(1) << 30) +#define PIN_PB02O_ADC0_DRV20 _L_(34) /**< \brief ADC0 signal: DRV20 on PB02 mux O */ +#define MUX_PB02O_ADC0_DRV20 _L_(14) +#define PINMUX_PB02O_ADC0_DRV20 ((PIN_PB02O_ADC0_DRV20 << 16) | MUX_PB02O_ADC0_DRV20) +#define PORT_PB02O_ADC0_DRV20 (_UL_(1) << 2) +#define PIN_PB03O_ADC0_DRV21 _L_(35) /**< \brief ADC0 signal: DRV21 on PB03 mux O */ +#define MUX_PB03O_ADC0_DRV21 _L_(14) +#define PINMUX_PB03O_ADC0_DRV21 ((PIN_PB03O_ADC0_DRV21 << 16) | MUX_PB03O_ADC0_DRV21) +#define PORT_PB03O_ADC0_DRV21 (_UL_(1) << 3) +#define PIN_PB04O_ADC0_DRV22 _L_(36) /**< \brief ADC0 signal: DRV22 on PB04 mux O */ +#define MUX_PB04O_ADC0_DRV22 _L_(14) +#define PINMUX_PB04O_ADC0_DRV22 ((PIN_PB04O_ADC0_DRV22 << 16) | MUX_PB04O_ADC0_DRV22) +#define PORT_PB04O_ADC0_DRV22 (_UL_(1) << 4) +#define PIN_PB05O_ADC0_DRV23 _L_(37) /**< \brief ADC0 signal: DRV23 on PB05 mux O */ +#define MUX_PB05O_ADC0_DRV23 _L_(14) +#define PINMUX_PB05O_ADC0_DRV23 ((PIN_PB05O_ADC0_DRV23 << 16) | MUX_PB05O_ADC0_DRV23) +#define PORT_PB05O_ADC0_DRV23 (_UL_(1) << 5) +#define PIN_PB06O_ADC0_DRV24 _L_(38) /**< \brief ADC0 signal: DRV24 on PB06 mux O */ +#define MUX_PB06O_ADC0_DRV24 _L_(14) +#define PINMUX_PB06O_ADC0_DRV24 ((PIN_PB06O_ADC0_DRV24 << 16) | MUX_PB06O_ADC0_DRV24) +#define PORT_PB06O_ADC0_DRV24 (_UL_(1) << 6) +#define PIN_PB07O_ADC0_DRV25 _L_(39) /**< \brief ADC0 signal: DRV25 on PB07 mux O */ +#define MUX_PB07O_ADC0_DRV25 _L_(14) +#define PINMUX_PB07O_ADC0_DRV25 ((PIN_PB07O_ADC0_DRV25 << 16) | MUX_PB07O_ADC0_DRV25) +#define PORT_PB07O_ADC0_DRV25 (_UL_(1) << 7) +#define PIN_PB12O_ADC0_DRV26 _L_(44) /**< \brief ADC0 signal: DRV26 on PB12 mux O */ +#define MUX_PB12O_ADC0_DRV26 _L_(14) +#define PINMUX_PB12O_ADC0_DRV26 ((PIN_PB12O_ADC0_DRV26 << 16) | MUX_PB12O_ADC0_DRV26) +#define PORT_PB12O_ADC0_DRV26 (_UL_(1) << 12) +#define PIN_PB13O_ADC0_DRV27 _L_(45) /**< \brief ADC0 signal: DRV27 on PB13 mux O */ +#define MUX_PB13O_ADC0_DRV27 _L_(14) +#define PINMUX_PB13O_ADC0_DRV27 ((PIN_PB13O_ADC0_DRV27 << 16) | MUX_PB13O_ADC0_DRV27) +#define PORT_PB13O_ADC0_DRV27 (_UL_(1) << 13) +#define PIN_PB14O_ADC0_DRV28 _L_(46) /**< \brief ADC0 signal: DRV28 on PB14 mux O */ +#define MUX_PB14O_ADC0_DRV28 _L_(14) +#define PINMUX_PB14O_ADC0_DRV28 ((PIN_PB14O_ADC0_DRV28 << 16) | MUX_PB14O_ADC0_DRV28) +#define PORT_PB14O_ADC0_DRV28 (_UL_(1) << 14) +#define PIN_PB15O_ADC0_DRV29 _L_(47) /**< \brief ADC0 signal: DRV29 on PB15 mux O */ +#define MUX_PB15O_ADC0_DRV29 _L_(14) +#define PINMUX_PB15O_ADC0_DRV29 ((PIN_PB15O_ADC0_DRV29 << 16) | MUX_PB15O_ADC0_DRV29) +#define PORT_PB15O_ADC0_DRV29 (_UL_(1) << 15) +#define PIN_PB00O_ADC0_DRV30 _L_(32) /**< \brief ADC0 signal: DRV30 on PB00 mux O */ +#define MUX_PB00O_ADC0_DRV30 _L_(14) +#define PINMUX_PB00O_ADC0_DRV30 ((PIN_PB00O_ADC0_DRV30 << 16) | MUX_PB00O_ADC0_DRV30) +#define PORT_PB00O_ADC0_DRV30 (_UL_(1) << 0) +#define PIN_PB01O_ADC0_DRV31 _L_(33) /**< \brief ADC0 signal: DRV31 on PB01 mux O */ +#define MUX_PB01O_ADC0_DRV31 _L_(14) +#define PINMUX_PB01O_ADC0_DRV31 ((PIN_PB01O_ADC0_DRV31 << 16) | MUX_PB01O_ADC0_DRV31) +#define PORT_PB01O_ADC0_DRV31 (_UL_(1) << 1) +#define PIN_PA03B_ADC0_PTCXY0 _L_(3) /**< \brief ADC0 signal: PTCXY0 on PA03 mux B */ +#define MUX_PA03B_ADC0_PTCXY0 _L_(1) +#define PINMUX_PA03B_ADC0_PTCXY0 ((PIN_PA03B_ADC0_PTCXY0 << 16) | MUX_PA03B_ADC0_PTCXY0) +#define PORT_PA03B_ADC0_PTCXY0 (_UL_(1) << 3) +#define PIN_PB08B_ADC0_PTCXY1 _L_(40) /**< \brief ADC0 signal: PTCXY1 on PB08 mux B */ +#define MUX_PB08B_ADC0_PTCXY1 _L_(1) +#define PINMUX_PB08B_ADC0_PTCXY1 ((PIN_PB08B_ADC0_PTCXY1 << 16) | MUX_PB08B_ADC0_PTCXY1) +#define PORT_PB08B_ADC0_PTCXY1 (_UL_(1) << 8) +#define PIN_PB09B_ADC0_PTCXY2 _L_(41) /**< \brief ADC0 signal: PTCXY2 on PB09 mux B */ +#define MUX_PB09B_ADC0_PTCXY2 _L_(1) +#define PINMUX_PB09B_ADC0_PTCXY2 ((PIN_PB09B_ADC0_PTCXY2 << 16) | MUX_PB09B_ADC0_PTCXY2) +#define PORT_PB09B_ADC0_PTCXY2 (_UL_(1) << 9) +#define PIN_PA04B_ADC0_PTCXY3 _L_(4) /**< \brief ADC0 signal: PTCXY3 on PA04 mux B */ +#define MUX_PA04B_ADC0_PTCXY3 _L_(1) +#define PINMUX_PA04B_ADC0_PTCXY3 ((PIN_PA04B_ADC0_PTCXY3 << 16) | MUX_PA04B_ADC0_PTCXY3) +#define PORT_PA04B_ADC0_PTCXY3 (_UL_(1) << 4) +#define PIN_PA06B_ADC0_PTCXY4 _L_(6) /**< \brief ADC0 signal: PTCXY4 on PA06 mux B */ +#define MUX_PA06B_ADC0_PTCXY4 _L_(1) +#define PINMUX_PA06B_ADC0_PTCXY4 ((PIN_PA06B_ADC0_PTCXY4 << 16) | MUX_PA06B_ADC0_PTCXY4) +#define PORT_PA06B_ADC0_PTCXY4 (_UL_(1) << 6) +#define PIN_PA07B_ADC0_PTCXY5 _L_(7) /**< \brief ADC0 signal: PTCXY5 on PA07 mux B */ +#define MUX_PA07B_ADC0_PTCXY5 _L_(1) +#define PINMUX_PA07B_ADC0_PTCXY5 ((PIN_PA07B_ADC0_PTCXY5 << 16) | MUX_PA07B_ADC0_PTCXY5) +#define PORT_PA07B_ADC0_PTCXY5 (_UL_(1) << 7) +#define PIN_PA08B_ADC0_PTCXY6 _L_(8) /**< \brief ADC0 signal: PTCXY6 on PA08 mux B */ +#define MUX_PA08B_ADC0_PTCXY6 _L_(1) +#define PINMUX_PA08B_ADC0_PTCXY6 ((PIN_PA08B_ADC0_PTCXY6 << 16) | MUX_PA08B_ADC0_PTCXY6) +#define PORT_PA08B_ADC0_PTCXY6 (_UL_(1) << 8) +#define PIN_PA09B_ADC0_PTCXY7 _L_(9) /**< \brief ADC0 signal: PTCXY7 on PA09 mux B */ +#define MUX_PA09B_ADC0_PTCXY7 _L_(1) +#define PINMUX_PA09B_ADC0_PTCXY7 ((PIN_PA09B_ADC0_PTCXY7 << 16) | MUX_PA09B_ADC0_PTCXY7) +#define PORT_PA09B_ADC0_PTCXY7 (_UL_(1) << 9) +#define PIN_PA10B_ADC0_PTCXY8 _L_(10) /**< \brief ADC0 signal: PTCXY8 on PA10 mux B */ +#define MUX_PA10B_ADC0_PTCXY8 _L_(1) +#define PINMUX_PA10B_ADC0_PTCXY8 ((PIN_PA10B_ADC0_PTCXY8 << 16) | MUX_PA10B_ADC0_PTCXY8) +#define PORT_PA10B_ADC0_PTCXY8 (_UL_(1) << 10) +#define PIN_PA11B_ADC0_PTCXY9 _L_(11) /**< \brief ADC0 signal: PTCXY9 on PA11 mux B */ +#define MUX_PA11B_ADC0_PTCXY9 _L_(1) +#define PINMUX_PA11B_ADC0_PTCXY9 ((PIN_PA11B_ADC0_PTCXY9 << 16) | MUX_PA11B_ADC0_PTCXY9) +#define PORT_PA11B_ADC0_PTCXY9 (_UL_(1) << 11) +#define PIN_PA16B_ADC0_PTCXY10 _L_(16) /**< \brief ADC0 signal: PTCXY10 on PA16 mux B */ +#define MUX_PA16B_ADC0_PTCXY10 _L_(1) +#define PINMUX_PA16B_ADC0_PTCXY10 ((PIN_PA16B_ADC0_PTCXY10 << 16) | MUX_PA16B_ADC0_PTCXY10) +#define PORT_PA16B_ADC0_PTCXY10 (_UL_(1) << 16) +#define PIN_PA17B_ADC0_PTCXY11 _L_(17) /**< \brief ADC0 signal: PTCXY11 on PA17 mux B */ +#define MUX_PA17B_ADC0_PTCXY11 _L_(1) +#define PINMUX_PA17B_ADC0_PTCXY11 ((PIN_PA17B_ADC0_PTCXY11 << 16) | MUX_PA17B_ADC0_PTCXY11) +#define PORT_PA17B_ADC0_PTCXY11 (_UL_(1) << 17) +#define PIN_PA19B_ADC0_PTCXY13 _L_(19) /**< \brief ADC0 signal: PTCXY13 on PA19 mux B */ +#define MUX_PA19B_ADC0_PTCXY13 _L_(1) +#define PINMUX_PA19B_ADC0_PTCXY13 ((PIN_PA19B_ADC0_PTCXY13 << 16) | MUX_PA19B_ADC0_PTCXY13) +#define PORT_PA19B_ADC0_PTCXY13 (_UL_(1) << 19) +#define PIN_PA20B_ADC0_PTCXY14 _L_(20) /**< \brief ADC0 signal: PTCXY14 on PA20 mux B */ +#define MUX_PA20B_ADC0_PTCXY14 _L_(1) +#define PINMUX_PA20B_ADC0_PTCXY14 ((PIN_PA20B_ADC0_PTCXY14 << 16) | MUX_PA20B_ADC0_PTCXY14) +#define PORT_PA20B_ADC0_PTCXY14 (_UL_(1) << 20) +#define PIN_PA21B_ADC0_PTCXY15 _L_(21) /**< \brief ADC0 signal: PTCXY15 on PA21 mux B */ +#define MUX_PA21B_ADC0_PTCXY15 _L_(1) +#define PINMUX_PA21B_ADC0_PTCXY15 ((PIN_PA21B_ADC0_PTCXY15 << 16) | MUX_PA21B_ADC0_PTCXY15) +#define PORT_PA21B_ADC0_PTCXY15 (_UL_(1) << 21) +#define PIN_PA22B_ADC0_PTCXY16 _L_(22) /**< \brief ADC0 signal: PTCXY16 on PA22 mux B */ +#define MUX_PA22B_ADC0_PTCXY16 _L_(1) +#define PINMUX_PA22B_ADC0_PTCXY16 ((PIN_PA22B_ADC0_PTCXY16 << 16) | MUX_PA22B_ADC0_PTCXY16) +#define PORT_PA22B_ADC0_PTCXY16 (_UL_(1) << 22) +#define PIN_PA23B_ADC0_PTCXY17 _L_(23) /**< \brief ADC0 signal: PTCXY17 on PA23 mux B */ +#define MUX_PA23B_ADC0_PTCXY17 _L_(1) +#define PINMUX_PA23B_ADC0_PTCXY17 ((PIN_PA23B_ADC0_PTCXY17 << 16) | MUX_PA23B_ADC0_PTCXY17) +#define PORT_PA23B_ADC0_PTCXY17 (_UL_(1) << 23) +#define PIN_PA27B_ADC0_PTCXY18 _L_(27) /**< \brief ADC0 signal: PTCXY18 on PA27 mux B */ +#define MUX_PA27B_ADC0_PTCXY18 _L_(1) +#define PINMUX_PA27B_ADC0_PTCXY18 ((PIN_PA27B_ADC0_PTCXY18 << 16) | MUX_PA27B_ADC0_PTCXY18) +#define PORT_PA27B_ADC0_PTCXY18 (_UL_(1) << 27) +#define PIN_PA30B_ADC0_PTCXY19 _L_(30) /**< \brief ADC0 signal: PTCXY19 on PA30 mux B */ +#define MUX_PA30B_ADC0_PTCXY19 _L_(1) +#define PINMUX_PA30B_ADC0_PTCXY19 ((PIN_PA30B_ADC0_PTCXY19 << 16) | MUX_PA30B_ADC0_PTCXY19) +#define PORT_PA30B_ADC0_PTCXY19 (_UL_(1) << 30) +#define PIN_PB02B_ADC0_PTCXY20 _L_(34) /**< \brief ADC0 signal: PTCXY20 on PB02 mux B */ +#define MUX_PB02B_ADC0_PTCXY20 _L_(1) +#define PINMUX_PB02B_ADC0_PTCXY20 ((PIN_PB02B_ADC0_PTCXY20 << 16) | MUX_PB02B_ADC0_PTCXY20) +#define PORT_PB02B_ADC0_PTCXY20 (_UL_(1) << 2) +#define PIN_PB03B_ADC0_PTCXY21 _L_(35) /**< \brief ADC0 signal: PTCXY21 on PB03 mux B */ +#define MUX_PB03B_ADC0_PTCXY21 _L_(1) +#define PINMUX_PB03B_ADC0_PTCXY21 ((PIN_PB03B_ADC0_PTCXY21 << 16) | MUX_PB03B_ADC0_PTCXY21) +#define PORT_PB03B_ADC0_PTCXY21 (_UL_(1) << 3) +#define PIN_PB04B_ADC0_PTCXY22 _L_(36) /**< \brief ADC0 signal: PTCXY22 on PB04 mux B */ +#define MUX_PB04B_ADC0_PTCXY22 _L_(1) +#define PINMUX_PB04B_ADC0_PTCXY22 ((PIN_PB04B_ADC0_PTCXY22 << 16) | MUX_PB04B_ADC0_PTCXY22) +#define PORT_PB04B_ADC0_PTCXY22 (_UL_(1) << 4) +#define PIN_PB05B_ADC0_PTCXY23 _L_(37) /**< \brief ADC0 signal: PTCXY23 on PB05 mux B */ +#define MUX_PB05B_ADC0_PTCXY23 _L_(1) +#define PINMUX_PB05B_ADC0_PTCXY23 ((PIN_PB05B_ADC0_PTCXY23 << 16) | MUX_PB05B_ADC0_PTCXY23) +#define PORT_PB05B_ADC0_PTCXY23 (_UL_(1) << 5) +#define PIN_PB06B_ADC0_PTCXY24 _L_(38) /**< \brief ADC0 signal: PTCXY24 on PB06 mux B */ +#define MUX_PB06B_ADC0_PTCXY24 _L_(1) +#define PINMUX_PB06B_ADC0_PTCXY24 ((PIN_PB06B_ADC0_PTCXY24 << 16) | MUX_PB06B_ADC0_PTCXY24) +#define PORT_PB06B_ADC0_PTCXY24 (_UL_(1) << 6) +#define PIN_PB07B_ADC0_PTCXY25 _L_(39) /**< \brief ADC0 signal: PTCXY25 on PB07 mux B */ +#define MUX_PB07B_ADC0_PTCXY25 _L_(1) +#define PINMUX_PB07B_ADC0_PTCXY25 ((PIN_PB07B_ADC0_PTCXY25 << 16) | MUX_PB07B_ADC0_PTCXY25) +#define PORT_PB07B_ADC0_PTCXY25 (_UL_(1) << 7) +#define PIN_PB12B_ADC0_PTCXY26 _L_(44) /**< \brief ADC0 signal: PTCXY26 on PB12 mux B */ +#define MUX_PB12B_ADC0_PTCXY26 _L_(1) +#define PINMUX_PB12B_ADC0_PTCXY26 ((PIN_PB12B_ADC0_PTCXY26 << 16) | MUX_PB12B_ADC0_PTCXY26) +#define PORT_PB12B_ADC0_PTCXY26 (_UL_(1) << 12) +#define PIN_PB13B_ADC0_PTCXY27 _L_(45) /**< \brief ADC0 signal: PTCXY27 on PB13 mux B */ +#define MUX_PB13B_ADC0_PTCXY27 _L_(1) +#define PINMUX_PB13B_ADC0_PTCXY27 ((PIN_PB13B_ADC0_PTCXY27 << 16) | MUX_PB13B_ADC0_PTCXY27) +#define PORT_PB13B_ADC0_PTCXY27 (_UL_(1) << 13) +#define PIN_PB14B_ADC0_PTCXY28 _L_(46) /**< \brief ADC0 signal: PTCXY28 on PB14 mux B */ +#define MUX_PB14B_ADC0_PTCXY28 _L_(1) +#define PINMUX_PB14B_ADC0_PTCXY28 ((PIN_PB14B_ADC0_PTCXY28 << 16) | MUX_PB14B_ADC0_PTCXY28) +#define PORT_PB14B_ADC0_PTCXY28 (_UL_(1) << 14) +#define PIN_PB15B_ADC0_PTCXY29 _L_(47) /**< \brief ADC0 signal: PTCXY29 on PB15 mux B */ +#define MUX_PB15B_ADC0_PTCXY29 _L_(1) +#define PINMUX_PB15B_ADC0_PTCXY29 ((PIN_PB15B_ADC0_PTCXY29 << 16) | MUX_PB15B_ADC0_PTCXY29) +#define PORT_PB15B_ADC0_PTCXY29 (_UL_(1) << 15) +#define PIN_PB00B_ADC0_PTCXY30 _L_(32) /**< \brief ADC0 signal: PTCXY30 on PB00 mux B */ +#define MUX_PB00B_ADC0_PTCXY30 _L_(1) +#define PINMUX_PB00B_ADC0_PTCXY30 ((PIN_PB00B_ADC0_PTCXY30 << 16) | MUX_PB00B_ADC0_PTCXY30) +#define PORT_PB00B_ADC0_PTCXY30 (_UL_(1) << 0) +#define PIN_PB01B_ADC0_PTCXY31 _L_(33) /**< \brief ADC0 signal: PTCXY31 on PB01 mux B */ +#define MUX_PB01B_ADC0_PTCXY31 _L_(1) +#define PINMUX_PB01B_ADC0_PTCXY31 ((PIN_PB01B_ADC0_PTCXY31 << 16) | MUX_PB01B_ADC0_PTCXY31) +#define PORT_PB01B_ADC0_PTCXY31 (_UL_(1) << 1) +/* ========== PORT definition for ADC1 peripheral ========== */ +#define PIN_PB08B_ADC1_AIN0 _L_(40) /**< \brief ADC1 signal: AIN0 on PB08 mux B */ +#define MUX_PB08B_ADC1_AIN0 _L_(1) +#define PINMUX_PB08B_ADC1_AIN0 ((PIN_PB08B_ADC1_AIN0 << 16) | MUX_PB08B_ADC1_AIN0) +#define PORT_PB08B_ADC1_AIN0 (_UL_(1) << 8) +#define PIN_PB09B_ADC1_AIN1 _L_(41) /**< \brief ADC1 signal: AIN1 on PB09 mux B */ +#define MUX_PB09B_ADC1_AIN1 _L_(1) +#define PINMUX_PB09B_ADC1_AIN1 ((PIN_PB09B_ADC1_AIN1 << 16) | MUX_PB09B_ADC1_AIN1) +#define PORT_PB09B_ADC1_AIN1 (_UL_(1) << 9) +#define PIN_PA08B_ADC1_AIN2 _L_(8) /**< \brief ADC1 signal: AIN2 on PA08 mux B */ +#define MUX_PA08B_ADC1_AIN2 _L_(1) +#define PINMUX_PA08B_ADC1_AIN2 ((PIN_PA08B_ADC1_AIN2 << 16) | MUX_PA08B_ADC1_AIN2) +#define PORT_PA08B_ADC1_AIN2 (_UL_(1) << 8) +#define PIN_PA09B_ADC1_AIN3 _L_(9) /**< \brief ADC1 signal: AIN3 on PA09 mux B */ +#define MUX_PA09B_ADC1_AIN3 _L_(1) +#define PINMUX_PA09B_ADC1_AIN3 ((PIN_PA09B_ADC1_AIN3 << 16) | MUX_PA09B_ADC1_AIN3) +#define PORT_PA09B_ADC1_AIN3 (_UL_(1) << 9) +#define PIN_PC02B_ADC1_AIN4 _L_(66) /**< \brief ADC1 signal: AIN4 on PC02 mux B */ +#define MUX_PC02B_ADC1_AIN4 _L_(1) +#define PINMUX_PC02B_ADC1_AIN4 ((PIN_PC02B_ADC1_AIN4 << 16) | MUX_PC02B_ADC1_AIN4) +#define PORT_PC02B_ADC1_AIN4 (_UL_(1) << 2) +#define PIN_PC03B_ADC1_AIN5 _L_(67) /**< \brief ADC1 signal: AIN5 on PC03 mux B */ +#define MUX_PC03B_ADC1_AIN5 _L_(1) +#define PINMUX_PC03B_ADC1_AIN5 ((PIN_PC03B_ADC1_AIN5 << 16) | MUX_PC03B_ADC1_AIN5) +#define PORT_PC03B_ADC1_AIN5 (_UL_(1) << 3) +#define PIN_PB04B_ADC1_AIN6 _L_(36) /**< \brief ADC1 signal: AIN6 on PB04 mux B */ +#define MUX_PB04B_ADC1_AIN6 _L_(1) +#define PINMUX_PB04B_ADC1_AIN6 ((PIN_PB04B_ADC1_AIN6 << 16) | MUX_PB04B_ADC1_AIN6) +#define PORT_PB04B_ADC1_AIN6 (_UL_(1) << 4) +#define PIN_PB05B_ADC1_AIN7 _L_(37) /**< \brief ADC1 signal: AIN7 on PB05 mux B */ +#define MUX_PB05B_ADC1_AIN7 _L_(1) +#define PINMUX_PB05B_ADC1_AIN7 ((PIN_PB05B_ADC1_AIN7 << 16) | MUX_PB05B_ADC1_AIN7) +#define PORT_PB05B_ADC1_AIN7 (_UL_(1) << 5) +#define PIN_PB06B_ADC1_AIN8 _L_(38) /**< \brief ADC1 signal: AIN8 on PB06 mux B */ +#define MUX_PB06B_ADC1_AIN8 _L_(1) +#define PINMUX_PB06B_ADC1_AIN8 ((PIN_PB06B_ADC1_AIN8 << 16) | MUX_PB06B_ADC1_AIN8) +#define PORT_PB06B_ADC1_AIN8 (_UL_(1) << 6) +#define PIN_PB07B_ADC1_AIN9 _L_(39) /**< \brief ADC1 signal: AIN9 on PB07 mux B */ +#define MUX_PB07B_ADC1_AIN9 _L_(1) +#define PINMUX_PB07B_ADC1_AIN9 ((PIN_PB07B_ADC1_AIN9 << 16) | MUX_PB07B_ADC1_AIN9) +#define PORT_PB07B_ADC1_AIN9 (_UL_(1) << 7) +#define PIN_PC00B_ADC1_AIN10 _L_(64) /**< \brief ADC1 signal: AIN10 on PC00 mux B */ +#define MUX_PC00B_ADC1_AIN10 _L_(1) +#define PINMUX_PC00B_ADC1_AIN10 ((PIN_PC00B_ADC1_AIN10 << 16) | MUX_PC00B_ADC1_AIN10) +#define PORT_PC00B_ADC1_AIN10 (_UL_(1) << 0) +#define PIN_PC01B_ADC1_AIN11 _L_(65) /**< \brief ADC1 signal: AIN11 on PC01 mux B */ +#define MUX_PC01B_ADC1_AIN11 _L_(1) +#define PINMUX_PC01B_ADC1_AIN11 ((PIN_PC01B_ADC1_AIN11 << 16) | MUX_PC01B_ADC1_AIN11) +#define PORT_PC01B_ADC1_AIN11 (_UL_(1) << 1) +/* ========== PORT definition for DAC peripheral ========== */ +#define PIN_PA02B_DAC_VOUT0 _L_(2) /**< \brief DAC signal: VOUT0 on PA02 mux B */ +#define MUX_PA02B_DAC_VOUT0 _L_(1) +#define PINMUX_PA02B_DAC_VOUT0 ((PIN_PA02B_DAC_VOUT0 << 16) | MUX_PA02B_DAC_VOUT0) +#define PORT_PA02B_DAC_VOUT0 (_UL_(1) << 2) +#define PIN_PA05B_DAC_VOUT1 _L_(5) /**< \brief DAC signal: VOUT1 on PA05 mux B */ +#define MUX_PA05B_DAC_VOUT1 _L_(1) +#define PINMUX_PA05B_DAC_VOUT1 ((PIN_PA05B_DAC_VOUT1 << 16) | MUX_PA05B_DAC_VOUT1) +#define PORT_PA05B_DAC_VOUT1 (_UL_(1) << 5) +/* ========== PORT definition for I2S peripheral ========== */ +#define PIN_PA09J_I2S_FS0 _L_(9) /**< \brief I2S signal: FS0 on PA09 mux J */ +#define MUX_PA09J_I2S_FS0 _L_(9) +#define PINMUX_PA09J_I2S_FS0 ((PIN_PA09J_I2S_FS0 << 16) | MUX_PA09J_I2S_FS0) +#define PORT_PA09J_I2S_FS0 (_UL_(1) << 9) +#define PIN_PA20J_I2S_FS0 _L_(20) /**< \brief I2S signal: FS0 on PA20 mux J */ +#define MUX_PA20J_I2S_FS0 _L_(9) +#define PINMUX_PA20J_I2S_FS0 ((PIN_PA20J_I2S_FS0 << 16) | MUX_PA20J_I2S_FS0) +#define PORT_PA20J_I2S_FS0 (_UL_(1) << 20) +#define PIN_PA23J_I2S_FS1 _L_(23) /**< \brief I2S signal: FS1 on PA23 mux J */ +#define MUX_PA23J_I2S_FS1 _L_(9) +#define PINMUX_PA23J_I2S_FS1 ((PIN_PA23J_I2S_FS1 << 16) | MUX_PA23J_I2S_FS1) +#define PORT_PA23J_I2S_FS1 (_UL_(1) << 23) +#define PIN_PB11J_I2S_FS1 _L_(43) /**< \brief I2S signal: FS1 on PB11 mux J */ +#define MUX_PB11J_I2S_FS1 _L_(9) +#define PINMUX_PB11J_I2S_FS1 ((PIN_PB11J_I2S_FS1 << 16) | MUX_PB11J_I2S_FS1) +#define PORT_PB11J_I2S_FS1 (_UL_(1) << 11) +#define PIN_PA08J_I2S_MCK0 _L_(8) /**< \brief I2S signal: MCK0 on PA08 mux J */ +#define MUX_PA08J_I2S_MCK0 _L_(9) +#define PINMUX_PA08J_I2S_MCK0 ((PIN_PA08J_I2S_MCK0 << 16) | MUX_PA08J_I2S_MCK0) +#define PORT_PA08J_I2S_MCK0 (_UL_(1) << 8) +#define PIN_PB17J_I2S_MCK0 _L_(49) /**< \brief I2S signal: MCK0 on PB17 mux J */ +#define MUX_PB17J_I2S_MCK0 _L_(9) +#define PINMUX_PB17J_I2S_MCK0 ((PIN_PB17J_I2S_MCK0 << 16) | MUX_PB17J_I2S_MCK0) +#define PORT_PB17J_I2S_MCK0 (_UL_(1) << 17) +#define PIN_PB13J_I2S_MCK1 _L_(45) /**< \brief I2S signal: MCK1 on PB13 mux J */ +#define MUX_PB13J_I2S_MCK1 _L_(9) +#define PINMUX_PB13J_I2S_MCK1 ((PIN_PB13J_I2S_MCK1 << 16) | MUX_PB13J_I2S_MCK1) +#define PORT_PB13J_I2S_MCK1 (_UL_(1) << 13) +#define PIN_PA10J_I2S_SCK0 _L_(10) /**< \brief I2S signal: SCK0 on PA10 mux J */ +#define MUX_PA10J_I2S_SCK0 _L_(9) +#define PINMUX_PA10J_I2S_SCK0 ((PIN_PA10J_I2S_SCK0 << 16) | MUX_PA10J_I2S_SCK0) +#define PORT_PA10J_I2S_SCK0 (_UL_(1) << 10) +#define PIN_PB16J_I2S_SCK0 _L_(48) /**< \brief I2S signal: SCK0 on PB16 mux J */ +#define MUX_PB16J_I2S_SCK0 _L_(9) +#define PINMUX_PB16J_I2S_SCK0 ((PIN_PB16J_I2S_SCK0 << 16) | MUX_PB16J_I2S_SCK0) +#define PORT_PB16J_I2S_SCK0 (_UL_(1) << 16) +#define PIN_PB12J_I2S_SCK1 _L_(44) /**< \brief I2S signal: SCK1 on PB12 mux J */ +#define MUX_PB12J_I2S_SCK1 _L_(9) +#define PINMUX_PB12J_I2S_SCK1 ((PIN_PB12J_I2S_SCK1 << 16) | MUX_PB12J_I2S_SCK1) +#define PORT_PB12J_I2S_SCK1 (_UL_(1) << 12) +#define PIN_PA22J_I2S_SDI _L_(22) /**< \brief I2S signal: SDI on PA22 mux J */ +#define MUX_PA22J_I2S_SDI _L_(9) +#define PINMUX_PA22J_I2S_SDI ((PIN_PA22J_I2S_SDI << 16) | MUX_PA22J_I2S_SDI) +#define PORT_PA22J_I2S_SDI (_UL_(1) << 22) +#define PIN_PB10J_I2S_SDI _L_(42) /**< \brief I2S signal: SDI on PB10 mux J */ +#define MUX_PB10J_I2S_SDI _L_(9) +#define PINMUX_PB10J_I2S_SDI ((PIN_PB10J_I2S_SDI << 16) | MUX_PB10J_I2S_SDI) +#define PORT_PB10J_I2S_SDI (_UL_(1) << 10) +#define PIN_PA11J_I2S_SDO _L_(11) /**< \brief I2S signal: SDO on PA11 mux J */ +#define MUX_PA11J_I2S_SDO _L_(9) +#define PINMUX_PA11J_I2S_SDO ((PIN_PA11J_I2S_SDO << 16) | MUX_PA11J_I2S_SDO) +#define PORT_PA11J_I2S_SDO (_UL_(1) << 11) +#define PIN_PA21J_I2S_SDO _L_(21) /**< \brief I2S signal: SDO on PA21 mux J */ +#define MUX_PA21J_I2S_SDO _L_(9) +#define PINMUX_PA21J_I2S_SDO ((PIN_PA21J_I2S_SDO << 16) | MUX_PA21J_I2S_SDO) +#define PORT_PA21J_I2S_SDO (_UL_(1) << 21) +/* ========== PORT definition for PCC peripheral ========== */ +#define PIN_PA14K_PCC_CLK _L_(14) /**< \brief PCC signal: CLK on PA14 mux K */ +#define MUX_PA14K_PCC_CLK _L_(10) +#define PINMUX_PA14K_PCC_CLK ((PIN_PA14K_PCC_CLK << 16) | MUX_PA14K_PCC_CLK) +#define PORT_PA14K_PCC_CLK (_UL_(1) << 14) +#define PIN_PA16K_PCC_DATA0 _L_(16) /**< \brief PCC signal: DATA0 on PA16 mux K */ +#define MUX_PA16K_PCC_DATA0 _L_(10) +#define PINMUX_PA16K_PCC_DATA0 ((PIN_PA16K_PCC_DATA0 << 16) | MUX_PA16K_PCC_DATA0) +#define PORT_PA16K_PCC_DATA0 (_UL_(1) << 16) +#define PIN_PA17K_PCC_DATA1 _L_(17) /**< \brief PCC signal: DATA1 on PA17 mux K */ +#define MUX_PA17K_PCC_DATA1 _L_(10) +#define PINMUX_PA17K_PCC_DATA1 ((PIN_PA17K_PCC_DATA1 << 16) | MUX_PA17K_PCC_DATA1) +#define PORT_PA17K_PCC_DATA1 (_UL_(1) << 17) +#define PIN_PA18K_PCC_DATA2 _L_(18) /**< \brief PCC signal: DATA2 on PA18 mux K */ +#define MUX_PA18K_PCC_DATA2 _L_(10) +#define PINMUX_PA18K_PCC_DATA2 ((PIN_PA18K_PCC_DATA2 << 16) | MUX_PA18K_PCC_DATA2) +#define PORT_PA18K_PCC_DATA2 (_UL_(1) << 18) +#define PIN_PA19K_PCC_DATA3 _L_(19) /**< \brief PCC signal: DATA3 on PA19 mux K */ +#define MUX_PA19K_PCC_DATA3 _L_(10) +#define PINMUX_PA19K_PCC_DATA3 ((PIN_PA19K_PCC_DATA3 << 16) | MUX_PA19K_PCC_DATA3) +#define PORT_PA19K_PCC_DATA3 (_UL_(1) << 19) +#define PIN_PA20K_PCC_DATA4 _L_(20) /**< \brief PCC signal: DATA4 on PA20 mux K */ +#define MUX_PA20K_PCC_DATA4 _L_(10) +#define PINMUX_PA20K_PCC_DATA4 ((PIN_PA20K_PCC_DATA4 << 16) | MUX_PA20K_PCC_DATA4) +#define PORT_PA20K_PCC_DATA4 (_UL_(1) << 20) +#define PIN_PA21K_PCC_DATA5 _L_(21) /**< \brief PCC signal: DATA5 on PA21 mux K */ +#define MUX_PA21K_PCC_DATA5 _L_(10) +#define PINMUX_PA21K_PCC_DATA5 ((PIN_PA21K_PCC_DATA5 << 16) | MUX_PA21K_PCC_DATA5) +#define PORT_PA21K_PCC_DATA5 (_UL_(1) << 21) +#define PIN_PA22K_PCC_DATA6 _L_(22) /**< \brief PCC signal: DATA6 on PA22 mux K */ +#define MUX_PA22K_PCC_DATA6 _L_(10) +#define PINMUX_PA22K_PCC_DATA6 ((PIN_PA22K_PCC_DATA6 << 16) | MUX_PA22K_PCC_DATA6) +#define PORT_PA22K_PCC_DATA6 (_UL_(1) << 22) +#define PIN_PA23K_PCC_DATA7 _L_(23) /**< \brief PCC signal: DATA7 on PA23 mux K */ +#define MUX_PA23K_PCC_DATA7 _L_(10) +#define PINMUX_PA23K_PCC_DATA7 ((PIN_PA23K_PCC_DATA7 << 16) | MUX_PA23K_PCC_DATA7) +#define PORT_PA23K_PCC_DATA7 (_UL_(1) << 23) +#define PIN_PB14K_PCC_DATA8 _L_(46) /**< \brief PCC signal: DATA8 on PB14 mux K */ +#define MUX_PB14K_PCC_DATA8 _L_(10) +#define PINMUX_PB14K_PCC_DATA8 ((PIN_PB14K_PCC_DATA8 << 16) | MUX_PB14K_PCC_DATA8) +#define PORT_PB14K_PCC_DATA8 (_UL_(1) << 14) +#define PIN_PB15K_PCC_DATA9 _L_(47) /**< \brief PCC signal: DATA9 on PB15 mux K */ +#define MUX_PB15K_PCC_DATA9 _L_(10) +#define PINMUX_PB15K_PCC_DATA9 ((PIN_PB15K_PCC_DATA9 << 16) | MUX_PB15K_PCC_DATA9) +#define PORT_PB15K_PCC_DATA9 (_UL_(1) << 15) +#define PIN_PC12K_PCC_DATA10 _L_(76) /**< \brief PCC signal: DATA10 on PC12 mux K */ +#define MUX_PC12K_PCC_DATA10 _L_(10) +#define PINMUX_PC12K_PCC_DATA10 ((PIN_PC12K_PCC_DATA10 << 16) | MUX_PC12K_PCC_DATA10) +#define PORT_PC12K_PCC_DATA10 (_UL_(1) << 12) +#define PIN_PC13K_PCC_DATA11 _L_(77) /**< \brief PCC signal: DATA11 on PC13 mux K */ +#define MUX_PC13K_PCC_DATA11 _L_(10) +#define PINMUX_PC13K_PCC_DATA11 ((PIN_PC13K_PCC_DATA11 << 16) | MUX_PC13K_PCC_DATA11) +#define PORT_PC13K_PCC_DATA11 (_UL_(1) << 13) +#define PIN_PC14K_PCC_DATA12 _L_(78) /**< \brief PCC signal: DATA12 on PC14 mux K */ +#define MUX_PC14K_PCC_DATA12 _L_(10) +#define PINMUX_PC14K_PCC_DATA12 ((PIN_PC14K_PCC_DATA12 << 16) | MUX_PC14K_PCC_DATA12) +#define PORT_PC14K_PCC_DATA12 (_UL_(1) << 14) +#define PIN_PC15K_PCC_DATA13 _L_(79) /**< \brief PCC signal: DATA13 on PC15 mux K */ +#define MUX_PC15K_PCC_DATA13 _L_(10) +#define PINMUX_PC15K_PCC_DATA13 ((PIN_PC15K_PCC_DATA13 << 16) | MUX_PC15K_PCC_DATA13) +#define PORT_PC15K_PCC_DATA13 (_UL_(1) << 15) +#define PIN_PA12K_PCC_DEN1 _L_(12) /**< \brief PCC signal: DEN1 on PA12 mux K */ +#define MUX_PA12K_PCC_DEN1 _L_(10) +#define PINMUX_PA12K_PCC_DEN1 ((PIN_PA12K_PCC_DEN1 << 16) | MUX_PA12K_PCC_DEN1) +#define PORT_PA12K_PCC_DEN1 (_UL_(1) << 12) +#define PIN_PA13K_PCC_DEN2 _L_(13) /**< \brief PCC signal: DEN2 on PA13 mux K */ +#define MUX_PA13K_PCC_DEN2 _L_(10) +#define PINMUX_PA13K_PCC_DEN2 ((PIN_PA13K_PCC_DEN2 << 16) | MUX_PA13K_PCC_DEN2) +#define PORT_PA13K_PCC_DEN2 (_UL_(1) << 13) +/* ========== PORT definition for SDHC0 peripheral ========== */ +#define PIN_PA06I_SDHC0_SDCD _L_(6) /**< \brief SDHC0 signal: SDCD on PA06 mux I */ +#define MUX_PA06I_SDHC0_SDCD _L_(8) +#define PINMUX_PA06I_SDHC0_SDCD ((PIN_PA06I_SDHC0_SDCD << 16) | MUX_PA06I_SDHC0_SDCD) +#define PORT_PA06I_SDHC0_SDCD (_UL_(1) << 6) +#define PIN_PA12I_SDHC0_SDCD _L_(12) /**< \brief SDHC0 signal: SDCD on PA12 mux I */ +#define MUX_PA12I_SDHC0_SDCD _L_(8) +#define PINMUX_PA12I_SDHC0_SDCD ((PIN_PA12I_SDHC0_SDCD << 16) | MUX_PA12I_SDHC0_SDCD) +#define PORT_PA12I_SDHC0_SDCD (_UL_(1) << 12) +#define PIN_PB12I_SDHC0_SDCD _L_(44) /**< \brief SDHC0 signal: SDCD on PB12 mux I */ +#define MUX_PB12I_SDHC0_SDCD _L_(8) +#define PINMUX_PB12I_SDHC0_SDCD ((PIN_PB12I_SDHC0_SDCD << 16) | MUX_PB12I_SDHC0_SDCD) +#define PORT_PB12I_SDHC0_SDCD (_UL_(1) << 12) +#define PIN_PC06I_SDHC0_SDCD _L_(70) /**< \brief SDHC0 signal: SDCD on PC06 mux I */ +#define MUX_PC06I_SDHC0_SDCD _L_(8) +#define PINMUX_PC06I_SDHC0_SDCD ((PIN_PC06I_SDHC0_SDCD << 16) | MUX_PC06I_SDHC0_SDCD) +#define PORT_PC06I_SDHC0_SDCD (_UL_(1) << 6) +#define PIN_PB11I_SDHC0_SDCK _L_(43) /**< \brief SDHC0 signal: SDCK on PB11 mux I */ +#define MUX_PB11I_SDHC0_SDCK _L_(8) +#define PINMUX_PB11I_SDHC0_SDCK ((PIN_PB11I_SDHC0_SDCK << 16) | MUX_PB11I_SDHC0_SDCK) +#define PORT_PB11I_SDHC0_SDCK (_UL_(1) << 11) +#define PIN_PA08I_SDHC0_SDCMD _L_(8) /**< \brief SDHC0 signal: SDCMD on PA08 mux I */ +#define MUX_PA08I_SDHC0_SDCMD _L_(8) +#define PINMUX_PA08I_SDHC0_SDCMD ((PIN_PA08I_SDHC0_SDCMD << 16) | MUX_PA08I_SDHC0_SDCMD) +#define PORT_PA08I_SDHC0_SDCMD (_UL_(1) << 8) +#define PIN_PA09I_SDHC0_SDDAT0 _L_(9) /**< \brief SDHC0 signal: SDDAT0 on PA09 mux I */ +#define MUX_PA09I_SDHC0_SDDAT0 _L_(8) +#define PINMUX_PA09I_SDHC0_SDDAT0 ((PIN_PA09I_SDHC0_SDDAT0 << 16) | MUX_PA09I_SDHC0_SDDAT0) +#define PORT_PA09I_SDHC0_SDDAT0 (_UL_(1) << 9) +#define PIN_PA10I_SDHC0_SDDAT1 _L_(10) /**< \brief SDHC0 signal: SDDAT1 on PA10 mux I */ +#define MUX_PA10I_SDHC0_SDDAT1 _L_(8) +#define PINMUX_PA10I_SDHC0_SDDAT1 ((PIN_PA10I_SDHC0_SDDAT1 << 16) | MUX_PA10I_SDHC0_SDDAT1) +#define PORT_PA10I_SDHC0_SDDAT1 (_UL_(1) << 10) +#define PIN_PA11I_SDHC0_SDDAT2 _L_(11) /**< \brief SDHC0 signal: SDDAT2 on PA11 mux I */ +#define MUX_PA11I_SDHC0_SDDAT2 _L_(8) +#define PINMUX_PA11I_SDHC0_SDDAT2 ((PIN_PA11I_SDHC0_SDDAT2 << 16) | MUX_PA11I_SDHC0_SDDAT2) +#define PORT_PA11I_SDHC0_SDDAT2 (_UL_(1) << 11) +#define PIN_PB10I_SDHC0_SDDAT3 _L_(42) /**< \brief SDHC0 signal: SDDAT3 on PB10 mux I */ +#define MUX_PB10I_SDHC0_SDDAT3 _L_(8) +#define PINMUX_PB10I_SDHC0_SDDAT3 ((PIN_PB10I_SDHC0_SDDAT3 << 16) | MUX_PB10I_SDHC0_SDDAT3) +#define PORT_PB10I_SDHC0_SDDAT3 (_UL_(1) << 10) +#define PIN_PA07I_SDHC0_SDWP _L_(7) /**< \brief SDHC0 signal: SDWP on PA07 mux I */ +#define MUX_PA07I_SDHC0_SDWP _L_(8) +#define PINMUX_PA07I_SDHC0_SDWP ((PIN_PA07I_SDHC0_SDWP << 16) | MUX_PA07I_SDHC0_SDWP) +#define PORT_PA07I_SDHC0_SDWP (_UL_(1) << 7) +#define PIN_PA13I_SDHC0_SDWP _L_(13) /**< \brief SDHC0 signal: SDWP on PA13 mux I */ +#define MUX_PA13I_SDHC0_SDWP _L_(8) +#define PINMUX_PA13I_SDHC0_SDWP ((PIN_PA13I_SDHC0_SDWP << 16) | MUX_PA13I_SDHC0_SDWP) +#define PORT_PA13I_SDHC0_SDWP (_UL_(1) << 13) +#define PIN_PB13I_SDHC0_SDWP _L_(45) /**< \brief SDHC0 signal: SDWP on PB13 mux I */ +#define MUX_PB13I_SDHC0_SDWP _L_(8) +#define PINMUX_PB13I_SDHC0_SDWP ((PIN_PB13I_SDHC0_SDWP << 16) | MUX_PB13I_SDHC0_SDWP) +#define PORT_PB13I_SDHC0_SDWP (_UL_(1) << 13) +#define PIN_PC07I_SDHC0_SDWP _L_(71) /**< \brief SDHC0 signal: SDWP on PC07 mux I */ +#define MUX_PC07I_SDHC0_SDWP _L_(8) +#define PINMUX_PC07I_SDHC0_SDWP ((PIN_PC07I_SDHC0_SDWP << 16) | MUX_PC07I_SDHC0_SDWP) +#define PORT_PC07I_SDHC0_SDWP (_UL_(1) << 7) +/* ========== PORT definition for SDHC1 peripheral ========== */ +#define PIN_PB16I_SDHC1_SDCD _L_(48) /**< \brief SDHC1 signal: SDCD on PB16 mux I */ +#define MUX_PB16I_SDHC1_SDCD _L_(8) +#define PINMUX_PB16I_SDHC1_SDCD ((PIN_PB16I_SDHC1_SDCD << 16) | MUX_PB16I_SDHC1_SDCD) +#define PORT_PB16I_SDHC1_SDCD (_UL_(1) << 16) +#define PIN_PC20I_SDHC1_SDCD _L_(84) /**< \brief SDHC1 signal: SDCD on PC20 mux I */ +#define MUX_PC20I_SDHC1_SDCD _L_(8) +#define PINMUX_PC20I_SDHC1_SDCD ((PIN_PC20I_SDHC1_SDCD << 16) | MUX_PC20I_SDHC1_SDCD) +#define PORT_PC20I_SDHC1_SDCD (_UL_(1) << 20) +#define PIN_PA21I_SDHC1_SDCK _L_(21) /**< \brief SDHC1 signal: SDCK on PA21 mux I */ +#define MUX_PA21I_SDHC1_SDCK _L_(8) +#define PINMUX_PA21I_SDHC1_SDCK ((PIN_PA21I_SDHC1_SDCK << 16) | MUX_PA21I_SDHC1_SDCK) +#define PORT_PA21I_SDHC1_SDCK (_UL_(1) << 21) +#define PIN_PA20I_SDHC1_SDCMD _L_(20) /**< \brief SDHC1 signal: SDCMD on PA20 mux I */ +#define MUX_PA20I_SDHC1_SDCMD _L_(8) +#define PINMUX_PA20I_SDHC1_SDCMD ((PIN_PA20I_SDHC1_SDCMD << 16) | MUX_PA20I_SDHC1_SDCMD) +#define PORT_PA20I_SDHC1_SDCMD (_UL_(1) << 20) +#define PIN_PB18I_SDHC1_SDDAT0 _L_(50) /**< \brief SDHC1 signal: SDDAT0 on PB18 mux I */ +#define MUX_PB18I_SDHC1_SDDAT0 _L_(8) +#define PINMUX_PB18I_SDHC1_SDDAT0 ((PIN_PB18I_SDHC1_SDDAT0 << 16) | MUX_PB18I_SDHC1_SDDAT0) +#define PORT_PB18I_SDHC1_SDDAT0 (_UL_(1) << 18) +#define PIN_PB19I_SDHC1_SDDAT1 _L_(51) /**< \brief SDHC1 signal: SDDAT1 on PB19 mux I */ +#define MUX_PB19I_SDHC1_SDDAT1 _L_(8) +#define PINMUX_PB19I_SDHC1_SDDAT1 ((PIN_PB19I_SDHC1_SDDAT1 << 16) | MUX_PB19I_SDHC1_SDDAT1) +#define PORT_PB19I_SDHC1_SDDAT1 (_UL_(1) << 19) +#define PIN_PB20I_SDHC1_SDDAT2 _L_(52) /**< \brief SDHC1 signal: SDDAT2 on PB20 mux I */ +#define MUX_PB20I_SDHC1_SDDAT2 _L_(8) +#define PINMUX_PB20I_SDHC1_SDDAT2 ((PIN_PB20I_SDHC1_SDDAT2 << 16) | MUX_PB20I_SDHC1_SDDAT2) +#define PORT_PB20I_SDHC1_SDDAT2 (_UL_(1) << 20) +#define PIN_PB21I_SDHC1_SDDAT3 _L_(53) /**< \brief SDHC1 signal: SDDAT3 on PB21 mux I */ +#define MUX_PB21I_SDHC1_SDDAT3 _L_(8) +#define PINMUX_PB21I_SDHC1_SDDAT3 ((PIN_PB21I_SDHC1_SDDAT3 << 16) | MUX_PB21I_SDHC1_SDDAT3) +#define PORT_PB21I_SDHC1_SDDAT3 (_UL_(1) << 21) +#define PIN_PB17I_SDHC1_SDWP _L_(49) /**< \brief SDHC1 signal: SDWP on PB17 mux I */ +#define MUX_PB17I_SDHC1_SDWP _L_(8) +#define PINMUX_PB17I_SDHC1_SDWP ((PIN_PB17I_SDHC1_SDWP << 16) | MUX_PB17I_SDHC1_SDWP) +#define PORT_PB17I_SDHC1_SDWP (_UL_(1) << 17) +#define PIN_PC21I_SDHC1_SDWP _L_(85) /**< \brief SDHC1 signal: SDWP on PC21 mux I */ +#define MUX_PC21I_SDHC1_SDWP _L_(8) +#define PINMUX_PC21I_SDHC1_SDWP ((PIN_PC21I_SDHC1_SDWP << 16) | MUX_PC21I_SDHC1_SDWP) +#define PORT_PC21I_SDHC1_SDWP (_UL_(1) << 21) + +#endif /* _SAME54N19A_PIO_ */ diff --git a/lib/same54/include/pio/same54n20a.h b/lib/same54/include/pio/same54n20a.h new file mode 100644 index 00000000..4403cdf8 --- /dev/null +++ b/lib/same54/include/pio/same54n20a.h @@ -0,0 +1,2692 @@ +/** + * \file + * + * \brief Peripheral I/O description for SAME54N20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54N20A_PIO_ +#define _SAME54N20A_PIO_ + +#define PIN_PA00 0 /**< \brief Pin Number for PA00 */ +#define PORT_PA00 (_UL_(1) << 0) /**< \brief PORT Mask for PA00 */ +#define PIN_PA01 1 /**< \brief Pin Number for PA01 */ +#define PORT_PA01 (_UL_(1) << 1) /**< \brief PORT Mask for PA01 */ +#define PIN_PA02 2 /**< \brief Pin Number for PA02 */ +#define PORT_PA02 (_UL_(1) << 2) /**< \brief PORT Mask for PA02 */ +#define PIN_PA03 3 /**< \brief Pin Number for PA03 */ +#define PORT_PA03 (_UL_(1) << 3) /**< \brief PORT Mask for PA03 */ +#define PIN_PA04 4 /**< \brief Pin Number for PA04 */ +#define PORT_PA04 (_UL_(1) << 4) /**< \brief PORT Mask for PA04 */ +#define PIN_PA05 5 /**< \brief Pin Number for PA05 */ +#define PORT_PA05 (_UL_(1) << 5) /**< \brief PORT Mask for PA05 */ +#define PIN_PA06 6 /**< \brief Pin Number for PA06 */ +#define PORT_PA06 (_UL_(1) << 6) /**< \brief PORT Mask for PA06 */ +#define PIN_PA07 7 /**< \brief Pin Number for PA07 */ +#define PORT_PA07 (_UL_(1) << 7) /**< \brief PORT Mask for PA07 */ +#define PIN_PA08 8 /**< \brief Pin Number for PA08 */ +#define PORT_PA08 (_UL_(1) << 8) /**< \brief PORT Mask for PA08 */ +#define PIN_PA09 9 /**< \brief Pin Number for PA09 */ +#define PORT_PA09 (_UL_(1) << 9) /**< \brief PORT Mask for PA09 */ +#define PIN_PA10 10 /**< \brief Pin Number for PA10 */ +#define PORT_PA10 (_UL_(1) << 10) /**< \brief PORT Mask for PA10 */ +#define PIN_PA11 11 /**< \brief Pin Number for PA11 */ +#define PORT_PA11 (_UL_(1) << 11) /**< \brief PORT Mask for PA11 */ +#define PIN_PA12 12 /**< \brief Pin Number for PA12 */ +#define PORT_PA12 (_UL_(1) << 12) /**< \brief PORT Mask for PA12 */ +#define PIN_PA13 13 /**< \brief Pin Number for PA13 */ +#define PORT_PA13 (_UL_(1) << 13) /**< \brief PORT Mask for PA13 */ +#define PIN_PA14 14 /**< \brief Pin Number for PA14 */ +#define PORT_PA14 (_UL_(1) << 14) /**< \brief PORT Mask for PA14 */ +#define PIN_PA15 15 /**< \brief Pin Number for PA15 */ +#define PORT_PA15 (_UL_(1) << 15) /**< \brief PORT Mask for PA15 */ +#define PIN_PA16 16 /**< \brief Pin Number for PA16 */ +#define PORT_PA16 (_UL_(1) << 16) /**< \brief PORT Mask for PA16 */ +#define PIN_PA17 17 /**< \brief Pin Number for PA17 */ +#define PORT_PA17 (_UL_(1) << 17) /**< \brief PORT Mask for PA17 */ +#define PIN_PA18 18 /**< \brief Pin Number for PA18 */ +#define PORT_PA18 (_UL_(1) << 18) /**< \brief PORT Mask for PA18 */ +#define PIN_PA19 19 /**< \brief Pin Number for PA19 */ +#define PORT_PA19 (_UL_(1) << 19) /**< \brief PORT Mask for PA19 */ +#define PIN_PA20 20 /**< \brief Pin Number for PA20 */ +#define PORT_PA20 (_UL_(1) << 20) /**< \brief PORT Mask for PA20 */ +#define PIN_PA21 21 /**< \brief Pin Number for PA21 */ +#define PORT_PA21 (_UL_(1) << 21) /**< \brief PORT Mask for PA21 */ +#define PIN_PA22 22 /**< \brief Pin Number for PA22 */ +#define PORT_PA22 (_UL_(1) << 22) /**< \brief PORT Mask for PA22 */ +#define PIN_PA23 23 /**< \brief Pin Number for PA23 */ +#define PORT_PA23 (_UL_(1) << 23) /**< \brief PORT Mask for PA23 */ +#define PIN_PA24 24 /**< \brief Pin Number for PA24 */ +#define PORT_PA24 (_UL_(1) << 24) /**< \brief PORT Mask for PA24 */ +#define PIN_PA25 25 /**< \brief Pin Number for PA25 */ +#define PORT_PA25 (_UL_(1) << 25) /**< \brief PORT Mask for PA25 */ +#define PIN_PA27 27 /**< \brief Pin Number for PA27 */ +#define PORT_PA27 (_UL_(1) << 27) /**< \brief PORT Mask for PA27 */ +#define PIN_PA30 30 /**< \brief Pin Number for PA30 */ +#define PORT_PA30 (_UL_(1) << 30) /**< \brief PORT Mask for PA30 */ +#define PIN_PA31 31 /**< \brief Pin Number for PA31 */ +#define PORT_PA31 (_UL_(1) << 31) /**< \brief PORT Mask for PA31 */ +#define PIN_PB00 32 /**< \brief Pin Number for PB00 */ +#define PORT_PB00 (_UL_(1) << 0) /**< \brief PORT Mask for PB00 */ +#define PIN_PB01 33 /**< \brief Pin Number for PB01 */ +#define PORT_PB01 (_UL_(1) << 1) /**< \brief PORT Mask for PB01 */ +#define PIN_PB02 34 /**< \brief Pin Number for PB02 */ +#define PORT_PB02 (_UL_(1) << 2) /**< \brief PORT Mask for PB02 */ +#define PIN_PB03 35 /**< \brief Pin Number for PB03 */ +#define PORT_PB03 (_UL_(1) << 3) /**< \brief PORT Mask for PB03 */ +#define PIN_PB04 36 /**< \brief Pin Number for PB04 */ +#define PORT_PB04 (_UL_(1) << 4) /**< \brief PORT Mask for PB04 */ +#define PIN_PB05 37 /**< \brief Pin Number for PB05 */ +#define PORT_PB05 (_UL_(1) << 5) /**< \brief PORT Mask for PB05 */ +#define PIN_PB06 38 /**< \brief Pin Number for PB06 */ +#define PORT_PB06 (_UL_(1) << 6) /**< \brief PORT Mask for PB06 */ +#define PIN_PB07 39 /**< \brief Pin Number for PB07 */ +#define PORT_PB07 (_UL_(1) << 7) /**< \brief PORT Mask for PB07 */ +#define PIN_PB08 40 /**< \brief Pin Number for PB08 */ +#define PORT_PB08 (_UL_(1) << 8) /**< \brief PORT Mask for PB08 */ +#define PIN_PB09 41 /**< \brief Pin Number for PB09 */ +#define PORT_PB09 (_UL_(1) << 9) /**< \brief PORT Mask for PB09 */ +#define PIN_PB10 42 /**< \brief Pin Number for PB10 */ +#define PORT_PB10 (_UL_(1) << 10) /**< \brief PORT Mask for PB10 */ +#define PIN_PB11 43 /**< \brief Pin Number for PB11 */ +#define PORT_PB11 (_UL_(1) << 11) /**< \brief PORT Mask for PB11 */ +#define PIN_PB12 44 /**< \brief Pin Number for PB12 */ +#define PORT_PB12 (_UL_(1) << 12) /**< \brief PORT Mask for PB12 */ +#define PIN_PB13 45 /**< \brief Pin Number for PB13 */ +#define PORT_PB13 (_UL_(1) << 13) /**< \brief PORT Mask for PB13 */ +#define PIN_PB14 46 /**< \brief Pin Number for PB14 */ +#define PORT_PB14 (_UL_(1) << 14) /**< \brief PORT Mask for PB14 */ +#define PIN_PB15 47 /**< \brief Pin Number for PB15 */ +#define PORT_PB15 (_UL_(1) << 15) /**< \brief PORT Mask for PB15 */ +#define PIN_PB16 48 /**< \brief Pin Number for PB16 */ +#define PORT_PB16 (_UL_(1) << 16) /**< \brief PORT Mask for PB16 */ +#define PIN_PB17 49 /**< \brief Pin Number for PB17 */ +#define PORT_PB17 (_UL_(1) << 17) /**< \brief PORT Mask for PB17 */ +#define PIN_PB18 50 /**< \brief Pin Number for PB18 */ +#define PORT_PB18 (_UL_(1) << 18) /**< \brief PORT Mask for PB18 */ +#define PIN_PB19 51 /**< \brief Pin Number for PB19 */ +#define PORT_PB19 (_UL_(1) << 19) /**< \brief PORT Mask for PB19 */ +#define PIN_PB20 52 /**< \brief Pin Number for PB20 */ +#define PORT_PB20 (_UL_(1) << 20) /**< \brief PORT Mask for PB20 */ +#define PIN_PB21 53 /**< \brief Pin Number for PB21 */ +#define PORT_PB21 (_UL_(1) << 21) /**< \brief PORT Mask for PB21 */ +#define PIN_PB22 54 /**< \brief Pin Number for PB22 */ +#define PORT_PB22 (_UL_(1) << 22) /**< \brief PORT Mask for PB22 */ +#define PIN_PB23 55 /**< \brief Pin Number for PB23 */ +#define PORT_PB23 (_UL_(1) << 23) /**< \brief PORT Mask for PB23 */ +#define PIN_PB24 56 /**< \brief Pin Number for PB24 */ +#define PORT_PB24 (_UL_(1) << 24) /**< \brief PORT Mask for PB24 */ +#define PIN_PB25 57 /**< \brief Pin Number for PB25 */ +#define PORT_PB25 (_UL_(1) << 25) /**< \brief PORT Mask for PB25 */ +#define PIN_PB30 62 /**< \brief Pin Number for PB30 */ +#define PORT_PB30 (_UL_(1) << 30) /**< \brief PORT Mask for PB30 */ +#define PIN_PB31 63 /**< \brief Pin Number for PB31 */ +#define PORT_PB31 (_UL_(1) << 31) /**< \brief PORT Mask for PB31 */ +#define PIN_PC00 64 /**< \brief Pin Number for PC00 */ +#define PORT_PC00 (_UL_(1) << 0) /**< \brief PORT Mask for PC00 */ +#define PIN_PC01 65 /**< \brief Pin Number for PC01 */ +#define PORT_PC01 (_UL_(1) << 1) /**< \brief PORT Mask for PC01 */ +#define PIN_PC02 66 /**< \brief Pin Number for PC02 */ +#define PORT_PC02 (_UL_(1) << 2) /**< \brief PORT Mask for PC02 */ +#define PIN_PC03 67 /**< \brief Pin Number for PC03 */ +#define PORT_PC03 (_UL_(1) << 3) /**< \brief PORT Mask for PC03 */ +#define PIN_PC05 69 /**< \brief Pin Number for PC05 */ +#define PORT_PC05 (_UL_(1) << 5) /**< \brief PORT Mask for PC05 */ +#define PIN_PC06 70 /**< \brief Pin Number for PC06 */ +#define PORT_PC06 (_UL_(1) << 6) /**< \brief PORT Mask for PC06 */ +#define PIN_PC07 71 /**< \brief Pin Number for PC07 */ +#define PORT_PC07 (_UL_(1) << 7) /**< \brief PORT Mask for PC07 */ +#define PIN_PC10 74 /**< \brief Pin Number for PC10 */ +#define PORT_PC10 (_UL_(1) << 10) /**< \brief PORT Mask for PC10 */ +#define PIN_PC11 75 /**< \brief Pin Number for PC11 */ +#define PORT_PC11 (_UL_(1) << 11) /**< \brief PORT Mask for PC11 */ +#define PIN_PC12 76 /**< \brief Pin Number for PC12 */ +#define PORT_PC12 (_UL_(1) << 12) /**< \brief PORT Mask for PC12 */ +#define PIN_PC13 77 /**< \brief Pin Number for PC13 */ +#define PORT_PC13 (_UL_(1) << 13) /**< \brief PORT Mask for PC13 */ +#define PIN_PC14 78 /**< \brief Pin Number for PC14 */ +#define PORT_PC14 (_UL_(1) << 14) /**< \brief PORT Mask for PC14 */ +#define PIN_PC15 79 /**< \brief Pin Number for PC15 */ +#define PORT_PC15 (_UL_(1) << 15) /**< \brief PORT Mask for PC15 */ +#define PIN_PC16 80 /**< \brief Pin Number for PC16 */ +#define PORT_PC16 (_UL_(1) << 16) /**< \brief PORT Mask for PC16 */ +#define PIN_PC17 81 /**< \brief Pin Number for PC17 */ +#define PORT_PC17 (_UL_(1) << 17) /**< \brief PORT Mask for PC17 */ +#define PIN_PC18 82 /**< \brief Pin Number for PC18 */ +#define PORT_PC18 (_UL_(1) << 18) /**< \brief PORT Mask for PC18 */ +#define PIN_PC19 83 /**< \brief Pin Number for PC19 */ +#define PORT_PC19 (_UL_(1) << 19) /**< \brief PORT Mask for PC19 */ +#define PIN_PC20 84 /**< \brief Pin Number for PC20 */ +#define PORT_PC20 (_UL_(1) << 20) /**< \brief PORT Mask for PC20 */ +#define PIN_PC21 85 /**< \brief Pin Number for PC21 */ +#define PORT_PC21 (_UL_(1) << 21) /**< \brief PORT Mask for PC21 */ +#define PIN_PC24 88 /**< \brief Pin Number for PC24 */ +#define PORT_PC24 (_UL_(1) << 24) /**< \brief PORT Mask for PC24 */ +#define PIN_PC25 89 /**< \brief Pin Number for PC25 */ +#define PORT_PC25 (_UL_(1) << 25) /**< \brief PORT Mask for PC25 */ +#define PIN_PC26 90 /**< \brief Pin Number for PC26 */ +#define PORT_PC26 (_UL_(1) << 26) /**< \brief PORT Mask for PC26 */ +#define PIN_PC27 91 /**< \brief Pin Number for PC27 */ +#define PORT_PC27 (_UL_(1) << 27) /**< \brief PORT Mask for PC27 */ +#define PIN_PC28 92 /**< \brief Pin Number for PC28 */ +#define PORT_PC28 (_UL_(1) << 28) /**< \brief PORT Mask for PC28 */ +/* ========== PORT definition for CM4 peripheral ========== */ +#define PIN_PA30H_CM4_SWCLK _L_(30) /**< \brief CM4 signal: SWCLK on PA30 mux H */ +#define MUX_PA30H_CM4_SWCLK _L_(7) +#define PINMUX_PA30H_CM4_SWCLK ((PIN_PA30H_CM4_SWCLK << 16) | MUX_PA30H_CM4_SWCLK) +#define PORT_PA30H_CM4_SWCLK (_UL_(1) << 30) +#define PIN_PC27M_CM4_SWO _L_(91) /**< \brief CM4 signal: SWO on PC27 mux M */ +#define MUX_PC27M_CM4_SWO _L_(12) +#define PINMUX_PC27M_CM4_SWO ((PIN_PC27M_CM4_SWO << 16) | MUX_PC27M_CM4_SWO) +#define PORT_PC27M_CM4_SWO (_UL_(1) << 27) +#define PIN_PB30H_CM4_SWO _L_(62) /**< \brief CM4 signal: SWO on PB30 mux H */ +#define MUX_PB30H_CM4_SWO _L_(7) +#define PINMUX_PB30H_CM4_SWO ((PIN_PB30H_CM4_SWO << 16) | MUX_PB30H_CM4_SWO) +#define PORT_PB30H_CM4_SWO (_UL_(1) << 30) +#define PIN_PC27H_CM4_TRACECLK _L_(91) /**< \brief CM4 signal: TRACECLK on PC27 mux H */ +#define MUX_PC27H_CM4_TRACECLK _L_(7) +#define PINMUX_PC27H_CM4_TRACECLK ((PIN_PC27H_CM4_TRACECLK << 16) | MUX_PC27H_CM4_TRACECLK) +#define PORT_PC27H_CM4_TRACECLK (_UL_(1) << 27) +#define PIN_PC28H_CM4_TRACEDATA0 _L_(92) /**< \brief CM4 signal: TRACEDATA0 on PC28 mux H */ +#define MUX_PC28H_CM4_TRACEDATA0 _L_(7) +#define PINMUX_PC28H_CM4_TRACEDATA0 ((PIN_PC28H_CM4_TRACEDATA0 << 16) | MUX_PC28H_CM4_TRACEDATA0) +#define PORT_PC28H_CM4_TRACEDATA0 (_UL_(1) << 28) +#define PIN_PC26H_CM4_TRACEDATA1 _L_(90) /**< \brief CM4 signal: TRACEDATA1 on PC26 mux H */ +#define MUX_PC26H_CM4_TRACEDATA1 _L_(7) +#define PINMUX_PC26H_CM4_TRACEDATA1 ((PIN_PC26H_CM4_TRACEDATA1 << 16) | MUX_PC26H_CM4_TRACEDATA1) +#define PORT_PC26H_CM4_TRACEDATA1 (_UL_(1) << 26) +#define PIN_PC25H_CM4_TRACEDATA2 _L_(89) /**< \brief CM4 signal: TRACEDATA2 on PC25 mux H */ +#define MUX_PC25H_CM4_TRACEDATA2 _L_(7) +#define PINMUX_PC25H_CM4_TRACEDATA2 ((PIN_PC25H_CM4_TRACEDATA2 << 16) | MUX_PC25H_CM4_TRACEDATA2) +#define PORT_PC25H_CM4_TRACEDATA2 (_UL_(1) << 25) +#define PIN_PC24H_CM4_TRACEDATA3 _L_(88) /**< \brief CM4 signal: TRACEDATA3 on PC24 mux H */ +#define MUX_PC24H_CM4_TRACEDATA3 _L_(7) +#define PINMUX_PC24H_CM4_TRACEDATA3 ((PIN_PC24H_CM4_TRACEDATA3 << 16) | MUX_PC24H_CM4_TRACEDATA3) +#define PORT_PC24H_CM4_TRACEDATA3 (_UL_(1) << 24) +/* ========== PORT definition for ANAREF peripheral ========== */ +#define PIN_PA03B_ANAREF_VREF0 _L_(3) /**< \brief ANAREF signal: VREF0 on PA03 mux B */ +#define MUX_PA03B_ANAREF_VREF0 _L_(1) +#define PINMUX_PA03B_ANAREF_VREF0 ((PIN_PA03B_ANAREF_VREF0 << 16) | MUX_PA03B_ANAREF_VREF0) +#define PORT_PA03B_ANAREF_VREF0 (_UL_(1) << 3) +#define PIN_PA04B_ANAREF_VREF1 _L_(4) /**< \brief ANAREF signal: VREF1 on PA04 mux B */ +#define MUX_PA04B_ANAREF_VREF1 _L_(1) +#define PINMUX_PA04B_ANAREF_VREF1 ((PIN_PA04B_ANAREF_VREF1 << 16) | MUX_PA04B_ANAREF_VREF1) +#define PORT_PA04B_ANAREF_VREF1 (_UL_(1) << 4) +#define PIN_PA06B_ANAREF_VREF2 _L_(6) /**< \brief ANAREF signal: VREF2 on PA06 mux B */ +#define MUX_PA06B_ANAREF_VREF2 _L_(1) +#define PINMUX_PA06B_ANAREF_VREF2 ((PIN_PA06B_ANAREF_VREF2 << 16) | MUX_PA06B_ANAREF_VREF2) +#define PORT_PA06B_ANAREF_VREF2 (_UL_(1) << 6) +/* ========== PORT definition for GCLK peripheral ========== */ +#define PIN_PA30M_GCLK_IO0 _L_(30) /**< \brief GCLK signal: IO0 on PA30 mux M */ +#define MUX_PA30M_GCLK_IO0 _L_(12) +#define PINMUX_PA30M_GCLK_IO0 ((PIN_PA30M_GCLK_IO0 << 16) | MUX_PA30M_GCLK_IO0) +#define PORT_PA30M_GCLK_IO0 (_UL_(1) << 30) +#define PIN_PB14M_GCLK_IO0 _L_(46) /**< \brief GCLK signal: IO0 on PB14 mux M */ +#define MUX_PB14M_GCLK_IO0 _L_(12) +#define PINMUX_PB14M_GCLK_IO0 ((PIN_PB14M_GCLK_IO0 << 16) | MUX_PB14M_GCLK_IO0) +#define PORT_PB14M_GCLK_IO0 (_UL_(1) << 14) +#define PIN_PA14M_GCLK_IO0 _L_(14) /**< \brief GCLK signal: IO0 on PA14 mux M */ +#define MUX_PA14M_GCLK_IO0 _L_(12) +#define PINMUX_PA14M_GCLK_IO0 ((PIN_PA14M_GCLK_IO0 << 16) | MUX_PA14M_GCLK_IO0) +#define PORT_PA14M_GCLK_IO0 (_UL_(1) << 14) +#define PIN_PB22M_GCLK_IO0 _L_(54) /**< \brief GCLK signal: IO0 on PB22 mux M */ +#define MUX_PB22M_GCLK_IO0 _L_(12) +#define PINMUX_PB22M_GCLK_IO0 ((PIN_PB22M_GCLK_IO0 << 16) | MUX_PB22M_GCLK_IO0) +#define PORT_PB22M_GCLK_IO0 (_UL_(1) << 22) +#define PIN_PB15M_GCLK_IO1 _L_(47) /**< \brief GCLK signal: IO1 on PB15 mux M */ +#define MUX_PB15M_GCLK_IO1 _L_(12) +#define PINMUX_PB15M_GCLK_IO1 ((PIN_PB15M_GCLK_IO1 << 16) | MUX_PB15M_GCLK_IO1) +#define PORT_PB15M_GCLK_IO1 (_UL_(1) << 15) +#define PIN_PA15M_GCLK_IO1 _L_(15) /**< \brief GCLK signal: IO1 on PA15 mux M */ +#define MUX_PA15M_GCLK_IO1 _L_(12) +#define PINMUX_PA15M_GCLK_IO1 ((PIN_PA15M_GCLK_IO1 << 16) | MUX_PA15M_GCLK_IO1) +#define PORT_PA15M_GCLK_IO1 (_UL_(1) << 15) +#define PIN_PB23M_GCLK_IO1 _L_(55) /**< \brief GCLK signal: IO1 on PB23 mux M */ +#define MUX_PB23M_GCLK_IO1 _L_(12) +#define PINMUX_PB23M_GCLK_IO1 ((PIN_PB23M_GCLK_IO1 << 16) | MUX_PB23M_GCLK_IO1) +#define PORT_PB23M_GCLK_IO1 (_UL_(1) << 23) +#define PIN_PA27M_GCLK_IO1 _L_(27) /**< \brief GCLK signal: IO1 on PA27 mux M */ +#define MUX_PA27M_GCLK_IO1 _L_(12) +#define PINMUX_PA27M_GCLK_IO1 ((PIN_PA27M_GCLK_IO1 << 16) | MUX_PA27M_GCLK_IO1) +#define PORT_PA27M_GCLK_IO1 (_UL_(1) << 27) +#define PIN_PA16M_GCLK_IO2 _L_(16) /**< \brief GCLK signal: IO2 on PA16 mux M */ +#define MUX_PA16M_GCLK_IO2 _L_(12) +#define PINMUX_PA16M_GCLK_IO2 ((PIN_PA16M_GCLK_IO2 << 16) | MUX_PA16M_GCLK_IO2) +#define PORT_PA16M_GCLK_IO2 (_UL_(1) << 16) +#define PIN_PB16M_GCLK_IO2 _L_(48) /**< \brief GCLK signal: IO2 on PB16 mux M */ +#define MUX_PB16M_GCLK_IO2 _L_(12) +#define PINMUX_PB16M_GCLK_IO2 ((PIN_PB16M_GCLK_IO2 << 16) | MUX_PB16M_GCLK_IO2) +#define PORT_PB16M_GCLK_IO2 (_UL_(1) << 16) +#define PIN_PA17M_GCLK_IO3 _L_(17) /**< \brief GCLK signal: IO3 on PA17 mux M */ +#define MUX_PA17M_GCLK_IO3 _L_(12) +#define PINMUX_PA17M_GCLK_IO3 ((PIN_PA17M_GCLK_IO3 << 16) | MUX_PA17M_GCLK_IO3) +#define PORT_PA17M_GCLK_IO3 (_UL_(1) << 17) +#define PIN_PB17M_GCLK_IO3 _L_(49) /**< \brief GCLK signal: IO3 on PB17 mux M */ +#define MUX_PB17M_GCLK_IO3 _L_(12) +#define PINMUX_PB17M_GCLK_IO3 ((PIN_PB17M_GCLK_IO3 << 16) | MUX_PB17M_GCLK_IO3) +#define PORT_PB17M_GCLK_IO3 (_UL_(1) << 17) +#define PIN_PA10M_GCLK_IO4 _L_(10) /**< \brief GCLK signal: IO4 on PA10 mux M */ +#define MUX_PA10M_GCLK_IO4 _L_(12) +#define PINMUX_PA10M_GCLK_IO4 ((PIN_PA10M_GCLK_IO4 << 16) | MUX_PA10M_GCLK_IO4) +#define PORT_PA10M_GCLK_IO4 (_UL_(1) << 10) +#define PIN_PB10M_GCLK_IO4 _L_(42) /**< \brief GCLK signal: IO4 on PB10 mux M */ +#define MUX_PB10M_GCLK_IO4 _L_(12) +#define PINMUX_PB10M_GCLK_IO4 ((PIN_PB10M_GCLK_IO4 << 16) | MUX_PB10M_GCLK_IO4) +#define PORT_PB10M_GCLK_IO4 (_UL_(1) << 10) +#define PIN_PB18M_GCLK_IO4 _L_(50) /**< \brief GCLK signal: IO4 on PB18 mux M */ +#define MUX_PB18M_GCLK_IO4 _L_(12) +#define PINMUX_PB18M_GCLK_IO4 ((PIN_PB18M_GCLK_IO4 << 16) | MUX_PB18M_GCLK_IO4) +#define PORT_PB18M_GCLK_IO4 (_UL_(1) << 18) +#define PIN_PA11M_GCLK_IO5 _L_(11) /**< \brief GCLK signal: IO5 on PA11 mux M */ +#define MUX_PA11M_GCLK_IO5 _L_(12) +#define PINMUX_PA11M_GCLK_IO5 ((PIN_PA11M_GCLK_IO5 << 16) | MUX_PA11M_GCLK_IO5) +#define PORT_PA11M_GCLK_IO5 (_UL_(1) << 11) +#define PIN_PB11M_GCLK_IO5 _L_(43) /**< \brief GCLK signal: IO5 on PB11 mux M */ +#define MUX_PB11M_GCLK_IO5 _L_(12) +#define PINMUX_PB11M_GCLK_IO5 ((PIN_PB11M_GCLK_IO5 << 16) | MUX_PB11M_GCLK_IO5) +#define PORT_PB11M_GCLK_IO5 (_UL_(1) << 11) +#define PIN_PB19M_GCLK_IO5 _L_(51) /**< \brief GCLK signal: IO5 on PB19 mux M */ +#define MUX_PB19M_GCLK_IO5 _L_(12) +#define PINMUX_PB19M_GCLK_IO5 ((PIN_PB19M_GCLK_IO5 << 16) | MUX_PB19M_GCLK_IO5) +#define PORT_PB19M_GCLK_IO5 (_UL_(1) << 19) +#define PIN_PB12M_GCLK_IO6 _L_(44) /**< \brief GCLK signal: IO6 on PB12 mux M */ +#define MUX_PB12M_GCLK_IO6 _L_(12) +#define PINMUX_PB12M_GCLK_IO6 ((PIN_PB12M_GCLK_IO6 << 16) | MUX_PB12M_GCLK_IO6) +#define PORT_PB12M_GCLK_IO6 (_UL_(1) << 12) +#define PIN_PB20M_GCLK_IO6 _L_(52) /**< \brief GCLK signal: IO6 on PB20 mux M */ +#define MUX_PB20M_GCLK_IO6 _L_(12) +#define PINMUX_PB20M_GCLK_IO6 ((PIN_PB20M_GCLK_IO6 << 16) | MUX_PB20M_GCLK_IO6) +#define PORT_PB20M_GCLK_IO6 (_UL_(1) << 20) +#define PIN_PB13M_GCLK_IO7 _L_(45) /**< \brief GCLK signal: IO7 on PB13 mux M */ +#define MUX_PB13M_GCLK_IO7 _L_(12) +#define PINMUX_PB13M_GCLK_IO7 ((PIN_PB13M_GCLK_IO7 << 16) | MUX_PB13M_GCLK_IO7) +#define PORT_PB13M_GCLK_IO7 (_UL_(1) << 13) +#define PIN_PB21M_GCLK_IO7 _L_(53) /**< \brief GCLK signal: IO7 on PB21 mux M */ +#define MUX_PB21M_GCLK_IO7 _L_(12) +#define PINMUX_PB21M_GCLK_IO7 ((PIN_PB21M_GCLK_IO7 << 16) | MUX_PB21M_GCLK_IO7) +#define PORT_PB21M_GCLK_IO7 (_UL_(1) << 21) +/* ========== PORT definition for EIC peripheral ========== */ +#define PIN_PA00A_EIC_EXTINT0 _L_(0) /**< \brief EIC signal: EXTINT0 on PA00 mux A */ +#define MUX_PA00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PA00A_EIC_EXTINT0 ((PIN_PA00A_EIC_EXTINT0 << 16) | MUX_PA00A_EIC_EXTINT0) +#define PORT_PA00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PA00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA00 External Interrupt Line */ +#define PIN_PA16A_EIC_EXTINT0 _L_(16) /**< \brief EIC signal: EXTINT0 on PA16 mux A */ +#define MUX_PA16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PA16A_EIC_EXTINT0 ((PIN_PA16A_EIC_EXTINT0 << 16) | MUX_PA16A_EIC_EXTINT0) +#define PORT_PA16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PA16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA16 External Interrupt Line */ +#define PIN_PB00A_EIC_EXTINT0 _L_(32) /**< \brief EIC signal: EXTINT0 on PB00 mux A */ +#define MUX_PB00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PB00A_EIC_EXTINT0 ((PIN_PB00A_EIC_EXTINT0 << 16) | MUX_PB00A_EIC_EXTINT0) +#define PORT_PB00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PB00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB00 External Interrupt Line */ +#define PIN_PB16A_EIC_EXTINT0 _L_(48) /**< \brief EIC signal: EXTINT0 on PB16 mux A */ +#define MUX_PB16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PB16A_EIC_EXTINT0 ((PIN_PB16A_EIC_EXTINT0 << 16) | MUX_PB16A_EIC_EXTINT0) +#define PORT_PB16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PB16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB16 External Interrupt Line */ +#define PIN_PC00A_EIC_EXTINT0 _L_(64) /**< \brief EIC signal: EXTINT0 on PC00 mux A */ +#define MUX_PC00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PC00A_EIC_EXTINT0 ((PIN_PC00A_EIC_EXTINT0 << 16) | MUX_PC00A_EIC_EXTINT0) +#define PORT_PC00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PC00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC00 External Interrupt Line */ +#define PIN_PC16A_EIC_EXTINT0 _L_(80) /**< \brief EIC signal: EXTINT0 on PC16 mux A */ +#define MUX_PC16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PC16A_EIC_EXTINT0 ((PIN_PC16A_EIC_EXTINT0 << 16) | MUX_PC16A_EIC_EXTINT0) +#define PORT_PC16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PC16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC16 External Interrupt Line */ +#define PIN_PA01A_EIC_EXTINT1 _L_(1) /**< \brief EIC signal: EXTINT1 on PA01 mux A */ +#define MUX_PA01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PA01A_EIC_EXTINT1 ((PIN_PA01A_EIC_EXTINT1 << 16) | MUX_PA01A_EIC_EXTINT1) +#define PORT_PA01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PA01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA01 External Interrupt Line */ +#define PIN_PA17A_EIC_EXTINT1 _L_(17) /**< \brief EIC signal: EXTINT1 on PA17 mux A */ +#define MUX_PA17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PA17A_EIC_EXTINT1 ((PIN_PA17A_EIC_EXTINT1 << 16) | MUX_PA17A_EIC_EXTINT1) +#define PORT_PA17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PA17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA17 External Interrupt Line */ +#define PIN_PB01A_EIC_EXTINT1 _L_(33) /**< \brief EIC signal: EXTINT1 on PB01 mux A */ +#define MUX_PB01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PB01A_EIC_EXTINT1 ((PIN_PB01A_EIC_EXTINT1 << 16) | MUX_PB01A_EIC_EXTINT1) +#define PORT_PB01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PB01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB01 External Interrupt Line */ +#define PIN_PB17A_EIC_EXTINT1 _L_(49) /**< \brief EIC signal: EXTINT1 on PB17 mux A */ +#define MUX_PB17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PB17A_EIC_EXTINT1 ((PIN_PB17A_EIC_EXTINT1 << 16) | MUX_PB17A_EIC_EXTINT1) +#define PORT_PB17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PB17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB17 External Interrupt Line */ +#define PIN_PC01A_EIC_EXTINT1 _L_(65) /**< \brief EIC signal: EXTINT1 on PC01 mux A */ +#define MUX_PC01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PC01A_EIC_EXTINT1 ((PIN_PC01A_EIC_EXTINT1 << 16) | MUX_PC01A_EIC_EXTINT1) +#define PORT_PC01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PC01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC01 External Interrupt Line */ +#define PIN_PC17A_EIC_EXTINT1 _L_(81) /**< \brief EIC signal: EXTINT1 on PC17 mux A */ +#define MUX_PC17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PC17A_EIC_EXTINT1 ((PIN_PC17A_EIC_EXTINT1 << 16) | MUX_PC17A_EIC_EXTINT1) +#define PORT_PC17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PC17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC17 External Interrupt Line */ +#define PIN_PA02A_EIC_EXTINT2 _L_(2) /**< \brief EIC signal: EXTINT2 on PA02 mux A */ +#define MUX_PA02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PA02A_EIC_EXTINT2 ((PIN_PA02A_EIC_EXTINT2 << 16) | MUX_PA02A_EIC_EXTINT2) +#define PORT_PA02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PA02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA02 External Interrupt Line */ +#define PIN_PA18A_EIC_EXTINT2 _L_(18) /**< \brief EIC signal: EXTINT2 on PA18 mux A */ +#define MUX_PA18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PA18A_EIC_EXTINT2 ((PIN_PA18A_EIC_EXTINT2 << 16) | MUX_PA18A_EIC_EXTINT2) +#define PORT_PA18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PA18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA18 External Interrupt Line */ +#define PIN_PB02A_EIC_EXTINT2 _L_(34) /**< \brief EIC signal: EXTINT2 on PB02 mux A */ +#define MUX_PB02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PB02A_EIC_EXTINT2 ((PIN_PB02A_EIC_EXTINT2 << 16) | MUX_PB02A_EIC_EXTINT2) +#define PORT_PB02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PB02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB02 External Interrupt Line */ +#define PIN_PB18A_EIC_EXTINT2 _L_(50) /**< \brief EIC signal: EXTINT2 on PB18 mux A */ +#define MUX_PB18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PB18A_EIC_EXTINT2 ((PIN_PB18A_EIC_EXTINT2 << 16) | MUX_PB18A_EIC_EXTINT2) +#define PORT_PB18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PB18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB18 External Interrupt Line */ +#define PIN_PC02A_EIC_EXTINT2 _L_(66) /**< \brief EIC signal: EXTINT2 on PC02 mux A */ +#define MUX_PC02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PC02A_EIC_EXTINT2 ((PIN_PC02A_EIC_EXTINT2 << 16) | MUX_PC02A_EIC_EXTINT2) +#define PORT_PC02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PC02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC02 External Interrupt Line */ +#define PIN_PC18A_EIC_EXTINT2 _L_(82) /**< \brief EIC signal: EXTINT2 on PC18 mux A */ +#define MUX_PC18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PC18A_EIC_EXTINT2 ((PIN_PC18A_EIC_EXTINT2 << 16) | MUX_PC18A_EIC_EXTINT2) +#define PORT_PC18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PC18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC18 External Interrupt Line */ +#define PIN_PA03A_EIC_EXTINT3 _L_(3) /**< \brief EIC signal: EXTINT3 on PA03 mux A */ +#define MUX_PA03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PA03A_EIC_EXTINT3 ((PIN_PA03A_EIC_EXTINT3 << 16) | MUX_PA03A_EIC_EXTINT3) +#define PORT_PA03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PA03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA03 External Interrupt Line */ +#define PIN_PA19A_EIC_EXTINT3 _L_(19) /**< \brief EIC signal: EXTINT3 on PA19 mux A */ +#define MUX_PA19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PA19A_EIC_EXTINT3 ((PIN_PA19A_EIC_EXTINT3 << 16) | MUX_PA19A_EIC_EXTINT3) +#define PORT_PA19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PA19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA19 External Interrupt Line */ +#define PIN_PB03A_EIC_EXTINT3 _L_(35) /**< \brief EIC signal: EXTINT3 on PB03 mux A */ +#define MUX_PB03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PB03A_EIC_EXTINT3 ((PIN_PB03A_EIC_EXTINT3 << 16) | MUX_PB03A_EIC_EXTINT3) +#define PORT_PB03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PB03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB03 External Interrupt Line */ +#define PIN_PB19A_EIC_EXTINT3 _L_(51) /**< \brief EIC signal: EXTINT3 on PB19 mux A */ +#define MUX_PB19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PB19A_EIC_EXTINT3 ((PIN_PB19A_EIC_EXTINT3 << 16) | MUX_PB19A_EIC_EXTINT3) +#define PORT_PB19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PB19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB19 External Interrupt Line */ +#define PIN_PC03A_EIC_EXTINT3 _L_(67) /**< \brief EIC signal: EXTINT3 on PC03 mux A */ +#define MUX_PC03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PC03A_EIC_EXTINT3 ((PIN_PC03A_EIC_EXTINT3 << 16) | MUX_PC03A_EIC_EXTINT3) +#define PORT_PC03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PC03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC03 External Interrupt Line */ +#define PIN_PC19A_EIC_EXTINT3 _L_(83) /**< \brief EIC signal: EXTINT3 on PC19 mux A */ +#define MUX_PC19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PC19A_EIC_EXTINT3 ((PIN_PC19A_EIC_EXTINT3 << 16) | MUX_PC19A_EIC_EXTINT3) +#define PORT_PC19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PC19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC19 External Interrupt Line */ +#define PIN_PA04A_EIC_EXTINT4 _L_(4) /**< \brief EIC signal: EXTINT4 on PA04 mux A */ +#define MUX_PA04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PA04A_EIC_EXTINT4 ((PIN_PA04A_EIC_EXTINT4 << 16) | MUX_PA04A_EIC_EXTINT4) +#define PORT_PA04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PA04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA04 External Interrupt Line */ +#define PIN_PA20A_EIC_EXTINT4 _L_(20) /**< \brief EIC signal: EXTINT4 on PA20 mux A */ +#define MUX_PA20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PA20A_EIC_EXTINT4 ((PIN_PA20A_EIC_EXTINT4 << 16) | MUX_PA20A_EIC_EXTINT4) +#define PORT_PA20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PA20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA20 External Interrupt Line */ +#define PIN_PB04A_EIC_EXTINT4 _L_(36) /**< \brief EIC signal: EXTINT4 on PB04 mux A */ +#define MUX_PB04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PB04A_EIC_EXTINT4 ((PIN_PB04A_EIC_EXTINT4 << 16) | MUX_PB04A_EIC_EXTINT4) +#define PORT_PB04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PB04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB04 External Interrupt Line */ +#define PIN_PB20A_EIC_EXTINT4 _L_(52) /**< \brief EIC signal: EXTINT4 on PB20 mux A */ +#define MUX_PB20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PB20A_EIC_EXTINT4 ((PIN_PB20A_EIC_EXTINT4 << 16) | MUX_PB20A_EIC_EXTINT4) +#define PORT_PB20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PB20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB20 External Interrupt Line */ +#define PIN_PC20A_EIC_EXTINT4 _L_(84) /**< \brief EIC signal: EXTINT4 on PC20 mux A */ +#define MUX_PC20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PC20A_EIC_EXTINT4 ((PIN_PC20A_EIC_EXTINT4 << 16) | MUX_PC20A_EIC_EXTINT4) +#define PORT_PC20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PC20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC20 External Interrupt Line */ +#define PIN_PA05A_EIC_EXTINT5 _L_(5) /**< \brief EIC signal: EXTINT5 on PA05 mux A */ +#define MUX_PA05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PA05A_EIC_EXTINT5 ((PIN_PA05A_EIC_EXTINT5 << 16) | MUX_PA05A_EIC_EXTINT5) +#define PORT_PA05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PA05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA05 External Interrupt Line */ +#define PIN_PA21A_EIC_EXTINT5 _L_(21) /**< \brief EIC signal: EXTINT5 on PA21 mux A */ +#define MUX_PA21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PA21A_EIC_EXTINT5 ((PIN_PA21A_EIC_EXTINT5 << 16) | MUX_PA21A_EIC_EXTINT5) +#define PORT_PA21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PA21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA21 External Interrupt Line */ +#define PIN_PB05A_EIC_EXTINT5 _L_(37) /**< \brief EIC signal: EXTINT5 on PB05 mux A */ +#define MUX_PB05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PB05A_EIC_EXTINT5 ((PIN_PB05A_EIC_EXTINT5 << 16) | MUX_PB05A_EIC_EXTINT5) +#define PORT_PB05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PB05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB05 External Interrupt Line */ +#define PIN_PB21A_EIC_EXTINT5 _L_(53) /**< \brief EIC signal: EXTINT5 on PB21 mux A */ +#define MUX_PB21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PB21A_EIC_EXTINT5 ((PIN_PB21A_EIC_EXTINT5 << 16) | MUX_PB21A_EIC_EXTINT5) +#define PORT_PB21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PB21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB21 External Interrupt Line */ +#define PIN_PC05A_EIC_EXTINT5 _L_(69) /**< \brief EIC signal: EXTINT5 on PC05 mux A */ +#define MUX_PC05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PC05A_EIC_EXTINT5 ((PIN_PC05A_EIC_EXTINT5 << 16) | MUX_PC05A_EIC_EXTINT5) +#define PORT_PC05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PC05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC05 External Interrupt Line */ +#define PIN_PC21A_EIC_EXTINT5 _L_(85) /**< \brief EIC signal: EXTINT5 on PC21 mux A */ +#define MUX_PC21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PC21A_EIC_EXTINT5 ((PIN_PC21A_EIC_EXTINT5 << 16) | MUX_PC21A_EIC_EXTINT5) +#define PORT_PC21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PC21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC21 External Interrupt Line */ +#define PIN_PA06A_EIC_EXTINT6 _L_(6) /**< \brief EIC signal: EXTINT6 on PA06 mux A */ +#define MUX_PA06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PA06A_EIC_EXTINT6 ((PIN_PA06A_EIC_EXTINT6 << 16) | MUX_PA06A_EIC_EXTINT6) +#define PORT_PA06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PA06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA06 External Interrupt Line */ +#define PIN_PA22A_EIC_EXTINT6 _L_(22) /**< \brief EIC signal: EXTINT6 on PA22 mux A */ +#define MUX_PA22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PA22A_EIC_EXTINT6 ((PIN_PA22A_EIC_EXTINT6 << 16) | MUX_PA22A_EIC_EXTINT6) +#define PORT_PA22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PA22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA22 External Interrupt Line */ +#define PIN_PB06A_EIC_EXTINT6 _L_(38) /**< \brief EIC signal: EXTINT6 on PB06 mux A */ +#define MUX_PB06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PB06A_EIC_EXTINT6 ((PIN_PB06A_EIC_EXTINT6 << 16) | MUX_PB06A_EIC_EXTINT6) +#define PORT_PB06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PB06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB06 External Interrupt Line */ +#define PIN_PB22A_EIC_EXTINT6 _L_(54) /**< \brief EIC signal: EXTINT6 on PB22 mux A */ +#define MUX_PB22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PB22A_EIC_EXTINT6 ((PIN_PB22A_EIC_EXTINT6 << 16) | MUX_PB22A_EIC_EXTINT6) +#define PORT_PB22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PB22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB22 External Interrupt Line */ +#define PIN_PC06A_EIC_EXTINT6 _L_(70) /**< \brief EIC signal: EXTINT6 on PC06 mux A */ +#define MUX_PC06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PC06A_EIC_EXTINT6 ((PIN_PC06A_EIC_EXTINT6 << 16) | MUX_PC06A_EIC_EXTINT6) +#define PORT_PC06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PC06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC06 External Interrupt Line */ +#define PIN_PA07A_EIC_EXTINT7 _L_(7) /**< \brief EIC signal: EXTINT7 on PA07 mux A */ +#define MUX_PA07A_EIC_EXTINT7 _L_(0) +#define PINMUX_PA07A_EIC_EXTINT7 ((PIN_PA07A_EIC_EXTINT7 << 16) | MUX_PA07A_EIC_EXTINT7) +#define PORT_PA07A_EIC_EXTINT7 (_UL_(1) << 7) +#define PIN_PA07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA07 External Interrupt Line */ +#define PIN_PA23A_EIC_EXTINT7 _L_(23) /**< \brief EIC signal: EXTINT7 on PA23 mux A */ +#define MUX_PA23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PA23A_EIC_EXTINT7 ((PIN_PA23A_EIC_EXTINT7 << 16) | MUX_PA23A_EIC_EXTINT7) +#define PORT_PA23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PA23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA23 External Interrupt Line */ +#define PIN_PB07A_EIC_EXTINT7 _L_(39) /**< \brief EIC signal: EXTINT7 on PB07 mux A */ +#define MUX_PB07A_EIC_EXTINT7 _L_(0) +#define PINMUX_PB07A_EIC_EXTINT7 ((PIN_PB07A_EIC_EXTINT7 << 16) | MUX_PB07A_EIC_EXTINT7) +#define PORT_PB07A_EIC_EXTINT7 (_UL_(1) << 7) +#define PIN_PB07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB07 External Interrupt Line */ +#define PIN_PB23A_EIC_EXTINT7 _L_(55) /**< \brief EIC signal: EXTINT7 on PB23 mux A */ +#define MUX_PB23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PB23A_EIC_EXTINT7 ((PIN_PB23A_EIC_EXTINT7 << 16) | MUX_PB23A_EIC_EXTINT7) +#define PORT_PB23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PB23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB23 External Interrupt Line */ +#define PIN_PA24A_EIC_EXTINT8 _L_(24) /**< \brief EIC signal: EXTINT8 on PA24 mux A */ +#define MUX_PA24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PA24A_EIC_EXTINT8 ((PIN_PA24A_EIC_EXTINT8 << 16) | MUX_PA24A_EIC_EXTINT8) +#define PORT_PA24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PA24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PA24 External Interrupt Line */ +#define PIN_PB08A_EIC_EXTINT8 _L_(40) /**< \brief EIC signal: EXTINT8 on PB08 mux A */ +#define MUX_PB08A_EIC_EXTINT8 _L_(0) +#define PINMUX_PB08A_EIC_EXTINT8 ((PIN_PB08A_EIC_EXTINT8 << 16) | MUX_PB08A_EIC_EXTINT8) +#define PORT_PB08A_EIC_EXTINT8 (_UL_(1) << 8) +#define PIN_PB08A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB08 External Interrupt Line */ +#define PIN_PB24A_EIC_EXTINT8 _L_(56) /**< \brief EIC signal: EXTINT8 on PB24 mux A */ +#define MUX_PB24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PB24A_EIC_EXTINT8 ((PIN_PB24A_EIC_EXTINT8 << 16) | MUX_PB24A_EIC_EXTINT8) +#define PORT_PB24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PB24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB24 External Interrupt Line */ +#define PIN_PC24A_EIC_EXTINT8 _L_(88) /**< \brief EIC signal: EXTINT8 on PC24 mux A */ +#define MUX_PC24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PC24A_EIC_EXTINT8 ((PIN_PC24A_EIC_EXTINT8 << 16) | MUX_PC24A_EIC_EXTINT8) +#define PORT_PC24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PC24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PC24 External Interrupt Line */ +#define PIN_PA09A_EIC_EXTINT9 _L_(9) /**< \brief EIC signal: EXTINT9 on PA09 mux A */ +#define MUX_PA09A_EIC_EXTINT9 _L_(0) +#define PINMUX_PA09A_EIC_EXTINT9 ((PIN_PA09A_EIC_EXTINT9 << 16) | MUX_PA09A_EIC_EXTINT9) +#define PORT_PA09A_EIC_EXTINT9 (_UL_(1) << 9) +#define PIN_PA09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA09 External Interrupt Line */ +#define PIN_PA25A_EIC_EXTINT9 _L_(25) /**< \brief EIC signal: EXTINT9 on PA25 mux A */ +#define MUX_PA25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PA25A_EIC_EXTINT9 ((PIN_PA25A_EIC_EXTINT9 << 16) | MUX_PA25A_EIC_EXTINT9) +#define PORT_PA25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PA25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA25 External Interrupt Line */ +#define PIN_PB09A_EIC_EXTINT9 _L_(41) /**< \brief EIC signal: EXTINT9 on PB09 mux A */ +#define MUX_PB09A_EIC_EXTINT9 _L_(0) +#define PINMUX_PB09A_EIC_EXTINT9 ((PIN_PB09A_EIC_EXTINT9 << 16) | MUX_PB09A_EIC_EXTINT9) +#define PORT_PB09A_EIC_EXTINT9 (_UL_(1) << 9) +#define PIN_PB09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB09 External Interrupt Line */ +#define PIN_PB25A_EIC_EXTINT9 _L_(57) /**< \brief EIC signal: EXTINT9 on PB25 mux A */ +#define MUX_PB25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PB25A_EIC_EXTINT9 ((PIN_PB25A_EIC_EXTINT9 << 16) | MUX_PB25A_EIC_EXTINT9) +#define PORT_PB25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PB25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB25 External Interrupt Line */ +#define PIN_PC07A_EIC_EXTINT9 _L_(71) /**< \brief EIC signal: EXTINT9 on PC07 mux A */ +#define MUX_PC07A_EIC_EXTINT9 _L_(0) +#define PINMUX_PC07A_EIC_EXTINT9 ((PIN_PC07A_EIC_EXTINT9 << 16) | MUX_PC07A_EIC_EXTINT9) +#define PORT_PC07A_EIC_EXTINT9 (_UL_(1) << 7) +#define PIN_PC07A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC07 External Interrupt Line */ +#define PIN_PC25A_EIC_EXTINT9 _L_(89) /**< \brief EIC signal: EXTINT9 on PC25 mux A */ +#define MUX_PC25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PC25A_EIC_EXTINT9 ((PIN_PC25A_EIC_EXTINT9 << 16) | MUX_PC25A_EIC_EXTINT9) +#define PORT_PC25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PC25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC25 External Interrupt Line */ +#define PIN_PA10A_EIC_EXTINT10 _L_(10) /**< \brief EIC signal: EXTINT10 on PA10 mux A */ +#define MUX_PA10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PA10A_EIC_EXTINT10 ((PIN_PA10A_EIC_EXTINT10 << 16) | MUX_PA10A_EIC_EXTINT10) +#define PORT_PA10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PA10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PA10 External Interrupt Line */ +#define PIN_PB10A_EIC_EXTINT10 _L_(42) /**< \brief EIC signal: EXTINT10 on PB10 mux A */ +#define MUX_PB10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PB10A_EIC_EXTINT10 ((PIN_PB10A_EIC_EXTINT10 << 16) | MUX_PB10A_EIC_EXTINT10) +#define PORT_PB10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PB10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PB10 External Interrupt Line */ +#define PIN_PC10A_EIC_EXTINT10 _L_(74) /**< \brief EIC signal: EXTINT10 on PC10 mux A */ +#define MUX_PC10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PC10A_EIC_EXTINT10 ((PIN_PC10A_EIC_EXTINT10 << 16) | MUX_PC10A_EIC_EXTINT10) +#define PORT_PC10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PC10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC10 External Interrupt Line */ +#define PIN_PC26A_EIC_EXTINT10 _L_(90) /**< \brief EIC signal: EXTINT10 on PC26 mux A */ +#define MUX_PC26A_EIC_EXTINT10 _L_(0) +#define PINMUX_PC26A_EIC_EXTINT10 ((PIN_PC26A_EIC_EXTINT10 << 16) | MUX_PC26A_EIC_EXTINT10) +#define PORT_PC26A_EIC_EXTINT10 (_UL_(1) << 26) +#define PIN_PC26A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC26 External Interrupt Line */ +#define PIN_PA11A_EIC_EXTINT11 _L_(11) /**< \brief EIC signal: EXTINT11 on PA11 mux A */ +#define MUX_PA11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PA11A_EIC_EXTINT11 ((PIN_PA11A_EIC_EXTINT11 << 16) | MUX_PA11A_EIC_EXTINT11) +#define PORT_PA11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PA11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA11 External Interrupt Line */ +#define PIN_PA27A_EIC_EXTINT11 _L_(27) /**< \brief EIC signal: EXTINT11 on PA27 mux A */ +#define MUX_PA27A_EIC_EXTINT11 _L_(0) +#define PINMUX_PA27A_EIC_EXTINT11 ((PIN_PA27A_EIC_EXTINT11 << 16) | MUX_PA27A_EIC_EXTINT11) +#define PORT_PA27A_EIC_EXTINT11 (_UL_(1) << 27) +#define PIN_PA27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA27 External Interrupt Line */ +#define PIN_PB11A_EIC_EXTINT11 _L_(43) /**< \brief EIC signal: EXTINT11 on PB11 mux A */ +#define MUX_PB11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PB11A_EIC_EXTINT11 ((PIN_PB11A_EIC_EXTINT11 << 16) | MUX_PB11A_EIC_EXTINT11) +#define PORT_PB11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PB11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PB11 External Interrupt Line */ +#define PIN_PC11A_EIC_EXTINT11 _L_(75) /**< \brief EIC signal: EXTINT11 on PC11 mux A */ +#define MUX_PC11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PC11A_EIC_EXTINT11 ((PIN_PC11A_EIC_EXTINT11 << 16) | MUX_PC11A_EIC_EXTINT11) +#define PORT_PC11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PC11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC11 External Interrupt Line */ +#define PIN_PC27A_EIC_EXTINT11 _L_(91) /**< \brief EIC signal: EXTINT11 on PC27 mux A */ +#define MUX_PC27A_EIC_EXTINT11 _L_(0) +#define PINMUX_PC27A_EIC_EXTINT11 ((PIN_PC27A_EIC_EXTINT11 << 16) | MUX_PC27A_EIC_EXTINT11) +#define PORT_PC27A_EIC_EXTINT11 (_UL_(1) << 27) +#define PIN_PC27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC27 External Interrupt Line */ +#define PIN_PA12A_EIC_EXTINT12 _L_(12) /**< \brief EIC signal: EXTINT12 on PA12 mux A */ +#define MUX_PA12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PA12A_EIC_EXTINT12 ((PIN_PA12A_EIC_EXTINT12 << 16) | MUX_PA12A_EIC_EXTINT12) +#define PORT_PA12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PA12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PA12 External Interrupt Line */ +#define PIN_PB12A_EIC_EXTINT12 _L_(44) /**< \brief EIC signal: EXTINT12 on PB12 mux A */ +#define MUX_PB12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PB12A_EIC_EXTINT12 ((PIN_PB12A_EIC_EXTINT12 << 16) | MUX_PB12A_EIC_EXTINT12) +#define PORT_PB12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PB12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB12 External Interrupt Line */ +#define PIN_PC12A_EIC_EXTINT12 _L_(76) /**< \brief EIC signal: EXTINT12 on PC12 mux A */ +#define MUX_PC12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PC12A_EIC_EXTINT12 ((PIN_PC12A_EIC_EXTINT12 << 16) | MUX_PC12A_EIC_EXTINT12) +#define PORT_PC12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PC12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC12 External Interrupt Line */ +#define PIN_PC28A_EIC_EXTINT12 _L_(92) /**< \brief EIC signal: EXTINT12 on PC28 mux A */ +#define MUX_PC28A_EIC_EXTINT12 _L_(0) +#define PINMUX_PC28A_EIC_EXTINT12 ((PIN_PC28A_EIC_EXTINT12 << 16) | MUX_PC28A_EIC_EXTINT12) +#define PORT_PC28A_EIC_EXTINT12 (_UL_(1) << 28) +#define PIN_PC28A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC28 External Interrupt Line */ +#define PIN_PA13A_EIC_EXTINT13 _L_(13) /**< \brief EIC signal: EXTINT13 on PA13 mux A */ +#define MUX_PA13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PA13A_EIC_EXTINT13 ((PIN_PA13A_EIC_EXTINT13 << 16) | MUX_PA13A_EIC_EXTINT13) +#define PORT_PA13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PA13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PA13 External Interrupt Line */ +#define PIN_PB13A_EIC_EXTINT13 _L_(45) /**< \brief EIC signal: EXTINT13 on PB13 mux A */ +#define MUX_PB13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PB13A_EIC_EXTINT13 ((PIN_PB13A_EIC_EXTINT13 << 16) | MUX_PB13A_EIC_EXTINT13) +#define PORT_PB13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PB13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB13 External Interrupt Line */ +#define PIN_PC13A_EIC_EXTINT13 _L_(77) /**< \brief EIC signal: EXTINT13 on PC13 mux A */ +#define MUX_PC13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PC13A_EIC_EXTINT13 ((PIN_PC13A_EIC_EXTINT13 << 16) | MUX_PC13A_EIC_EXTINT13) +#define PORT_PC13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PC13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PC13 External Interrupt Line */ +#define PIN_PA30A_EIC_EXTINT14 _L_(30) /**< \brief EIC signal: EXTINT14 on PA30 mux A */ +#define MUX_PA30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PA30A_EIC_EXTINT14 ((PIN_PA30A_EIC_EXTINT14 << 16) | MUX_PA30A_EIC_EXTINT14) +#define PORT_PA30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PA30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA30 External Interrupt Line */ +#define PIN_PB14A_EIC_EXTINT14 _L_(46) /**< \brief EIC signal: EXTINT14 on PB14 mux A */ +#define MUX_PB14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB14A_EIC_EXTINT14 ((PIN_PB14A_EIC_EXTINT14 << 16) | MUX_PB14A_EIC_EXTINT14) +#define PORT_PB14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PB14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB14 External Interrupt Line */ +#define PIN_PB30A_EIC_EXTINT14 _L_(62) /**< \brief EIC signal: EXTINT14 on PB30 mux A */ +#define MUX_PB30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB30A_EIC_EXTINT14 ((PIN_PB30A_EIC_EXTINT14 << 16) | MUX_PB30A_EIC_EXTINT14) +#define PORT_PB30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PB30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB30 External Interrupt Line */ +#define PIN_PC14A_EIC_EXTINT14 _L_(78) /**< \brief EIC signal: EXTINT14 on PC14 mux A */ +#define MUX_PC14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PC14A_EIC_EXTINT14 ((PIN_PC14A_EIC_EXTINT14 << 16) | MUX_PC14A_EIC_EXTINT14) +#define PORT_PC14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PC14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC14 External Interrupt Line */ +#define PIN_PA14A_EIC_EXTINT14 _L_(14) /**< \brief EIC signal: EXTINT14 on PA14 mux A */ +#define MUX_PA14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PA14A_EIC_EXTINT14 ((PIN_PA14A_EIC_EXTINT14 << 16) | MUX_PA14A_EIC_EXTINT14) +#define PORT_PA14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PA14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA14 External Interrupt Line */ +#define PIN_PA15A_EIC_EXTINT15 _L_(15) /**< \brief EIC signal: EXTINT15 on PA15 mux A */ +#define MUX_PA15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PA15A_EIC_EXTINT15 ((PIN_PA15A_EIC_EXTINT15 << 16) | MUX_PA15A_EIC_EXTINT15) +#define PORT_PA15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PA15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA15 External Interrupt Line */ +#define PIN_PA31A_EIC_EXTINT15 _L_(31) /**< \brief EIC signal: EXTINT15 on PA31 mux A */ +#define MUX_PA31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PA31A_EIC_EXTINT15 ((PIN_PA31A_EIC_EXTINT15 << 16) | MUX_PA31A_EIC_EXTINT15) +#define PORT_PA31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PA31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA31 External Interrupt Line */ +#define PIN_PB15A_EIC_EXTINT15 _L_(47) /**< \brief EIC signal: EXTINT15 on PB15 mux A */ +#define MUX_PB15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB15A_EIC_EXTINT15 ((PIN_PB15A_EIC_EXTINT15 << 16) | MUX_PB15A_EIC_EXTINT15) +#define PORT_PB15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PB15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB15 External Interrupt Line */ +#define PIN_PB31A_EIC_EXTINT15 _L_(63) /**< \brief EIC signal: EXTINT15 on PB31 mux A */ +#define MUX_PB31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB31A_EIC_EXTINT15 ((PIN_PB31A_EIC_EXTINT15 << 16) | MUX_PB31A_EIC_EXTINT15) +#define PORT_PB31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PB31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB31 External Interrupt Line */ +#define PIN_PC15A_EIC_EXTINT15 _L_(79) /**< \brief EIC signal: EXTINT15 on PC15 mux A */ +#define MUX_PC15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PC15A_EIC_EXTINT15 ((PIN_PC15A_EIC_EXTINT15 << 16) | MUX_PC15A_EIC_EXTINT15) +#define PORT_PC15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PC15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC15 External Interrupt Line */ +#define PIN_PA08A_EIC_NMI _L_(8) /**< \brief EIC signal: NMI on PA08 mux A */ +#define MUX_PA08A_EIC_NMI _L_(0) +#define PINMUX_PA08A_EIC_NMI ((PIN_PA08A_EIC_NMI << 16) | MUX_PA08A_EIC_NMI) +#define PORT_PA08A_EIC_NMI (_UL_(1) << 8) +/* ========== PORT definition for SERCOM0 peripheral ========== */ +#define PIN_PA04D_SERCOM0_PAD0 _L_(4) /**< \brief SERCOM0 signal: PAD0 on PA04 mux D */ +#define MUX_PA04D_SERCOM0_PAD0 _L_(3) +#define PINMUX_PA04D_SERCOM0_PAD0 ((PIN_PA04D_SERCOM0_PAD0 << 16) | MUX_PA04D_SERCOM0_PAD0) +#define PORT_PA04D_SERCOM0_PAD0 (_UL_(1) << 4) +#define PIN_PC17D_SERCOM0_PAD0 _L_(81) /**< \brief SERCOM0 signal: PAD0 on PC17 mux D */ +#define MUX_PC17D_SERCOM0_PAD0 _L_(3) +#define PINMUX_PC17D_SERCOM0_PAD0 ((PIN_PC17D_SERCOM0_PAD0 << 16) | MUX_PC17D_SERCOM0_PAD0) +#define PORT_PC17D_SERCOM0_PAD0 (_UL_(1) << 17) +#define PIN_PA08C_SERCOM0_PAD0 _L_(8) /**< \brief SERCOM0 signal: PAD0 on PA08 mux C */ +#define MUX_PA08C_SERCOM0_PAD0 _L_(2) +#define PINMUX_PA08C_SERCOM0_PAD0 ((PIN_PA08C_SERCOM0_PAD0 << 16) | MUX_PA08C_SERCOM0_PAD0) +#define PORT_PA08C_SERCOM0_PAD0 (_UL_(1) << 8) +#define PIN_PB24C_SERCOM0_PAD0 _L_(56) /**< \brief SERCOM0 signal: PAD0 on PB24 mux C */ +#define MUX_PB24C_SERCOM0_PAD0 _L_(2) +#define PINMUX_PB24C_SERCOM0_PAD0 ((PIN_PB24C_SERCOM0_PAD0 << 16) | MUX_PB24C_SERCOM0_PAD0) +#define PORT_PB24C_SERCOM0_PAD0 (_UL_(1) << 24) +#define PIN_PA05D_SERCOM0_PAD1 _L_(5) /**< \brief SERCOM0 signal: PAD1 on PA05 mux D */ +#define MUX_PA05D_SERCOM0_PAD1 _L_(3) +#define PINMUX_PA05D_SERCOM0_PAD1 ((PIN_PA05D_SERCOM0_PAD1 << 16) | MUX_PA05D_SERCOM0_PAD1) +#define PORT_PA05D_SERCOM0_PAD1 (_UL_(1) << 5) +#define PIN_PC16D_SERCOM0_PAD1 _L_(80) /**< \brief SERCOM0 signal: PAD1 on PC16 mux D */ +#define MUX_PC16D_SERCOM0_PAD1 _L_(3) +#define PINMUX_PC16D_SERCOM0_PAD1 ((PIN_PC16D_SERCOM0_PAD1 << 16) | MUX_PC16D_SERCOM0_PAD1) +#define PORT_PC16D_SERCOM0_PAD1 (_UL_(1) << 16) +#define PIN_PA09C_SERCOM0_PAD1 _L_(9) /**< \brief SERCOM0 signal: PAD1 on PA09 mux C */ +#define MUX_PA09C_SERCOM0_PAD1 _L_(2) +#define PINMUX_PA09C_SERCOM0_PAD1 ((PIN_PA09C_SERCOM0_PAD1 << 16) | MUX_PA09C_SERCOM0_PAD1) +#define PORT_PA09C_SERCOM0_PAD1 (_UL_(1) << 9) +#define PIN_PB25C_SERCOM0_PAD1 _L_(57) /**< \brief SERCOM0 signal: PAD1 on PB25 mux C */ +#define MUX_PB25C_SERCOM0_PAD1 _L_(2) +#define PINMUX_PB25C_SERCOM0_PAD1 ((PIN_PB25C_SERCOM0_PAD1 << 16) | MUX_PB25C_SERCOM0_PAD1) +#define PORT_PB25C_SERCOM0_PAD1 (_UL_(1) << 25) +#define PIN_PA06D_SERCOM0_PAD2 _L_(6) /**< \brief SERCOM0 signal: PAD2 on PA06 mux D */ +#define MUX_PA06D_SERCOM0_PAD2 _L_(3) +#define PINMUX_PA06D_SERCOM0_PAD2 ((PIN_PA06D_SERCOM0_PAD2 << 16) | MUX_PA06D_SERCOM0_PAD2) +#define PORT_PA06D_SERCOM0_PAD2 (_UL_(1) << 6) +#define PIN_PC18D_SERCOM0_PAD2 _L_(82) /**< \brief SERCOM0 signal: PAD2 on PC18 mux D */ +#define MUX_PC18D_SERCOM0_PAD2 _L_(3) +#define PINMUX_PC18D_SERCOM0_PAD2 ((PIN_PC18D_SERCOM0_PAD2 << 16) | MUX_PC18D_SERCOM0_PAD2) +#define PORT_PC18D_SERCOM0_PAD2 (_UL_(1) << 18) +#define PIN_PA10C_SERCOM0_PAD2 _L_(10) /**< \brief SERCOM0 signal: PAD2 on PA10 mux C */ +#define MUX_PA10C_SERCOM0_PAD2 _L_(2) +#define PINMUX_PA10C_SERCOM0_PAD2 ((PIN_PA10C_SERCOM0_PAD2 << 16) | MUX_PA10C_SERCOM0_PAD2) +#define PORT_PA10C_SERCOM0_PAD2 (_UL_(1) << 10) +#define PIN_PC24C_SERCOM0_PAD2 _L_(88) /**< \brief SERCOM0 signal: PAD2 on PC24 mux C */ +#define MUX_PC24C_SERCOM0_PAD2 _L_(2) +#define PINMUX_PC24C_SERCOM0_PAD2 ((PIN_PC24C_SERCOM0_PAD2 << 16) | MUX_PC24C_SERCOM0_PAD2) +#define PORT_PC24C_SERCOM0_PAD2 (_UL_(1) << 24) +#define PIN_PA07D_SERCOM0_PAD3 _L_(7) /**< \brief SERCOM0 signal: PAD3 on PA07 mux D */ +#define MUX_PA07D_SERCOM0_PAD3 _L_(3) +#define PINMUX_PA07D_SERCOM0_PAD3 ((PIN_PA07D_SERCOM0_PAD3 << 16) | MUX_PA07D_SERCOM0_PAD3) +#define PORT_PA07D_SERCOM0_PAD3 (_UL_(1) << 7) +#define PIN_PC19D_SERCOM0_PAD3 _L_(83) /**< \brief SERCOM0 signal: PAD3 on PC19 mux D */ +#define MUX_PC19D_SERCOM0_PAD3 _L_(3) +#define PINMUX_PC19D_SERCOM0_PAD3 ((PIN_PC19D_SERCOM0_PAD3 << 16) | MUX_PC19D_SERCOM0_PAD3) +#define PORT_PC19D_SERCOM0_PAD3 (_UL_(1) << 19) +#define PIN_PA11C_SERCOM0_PAD3 _L_(11) /**< \brief SERCOM0 signal: PAD3 on PA11 mux C */ +#define MUX_PA11C_SERCOM0_PAD3 _L_(2) +#define PINMUX_PA11C_SERCOM0_PAD3 ((PIN_PA11C_SERCOM0_PAD3 << 16) | MUX_PA11C_SERCOM0_PAD3) +#define PORT_PA11C_SERCOM0_PAD3 (_UL_(1) << 11) +#define PIN_PC25C_SERCOM0_PAD3 _L_(89) /**< \brief SERCOM0 signal: PAD3 on PC25 mux C */ +#define MUX_PC25C_SERCOM0_PAD3 _L_(2) +#define PINMUX_PC25C_SERCOM0_PAD3 ((PIN_PC25C_SERCOM0_PAD3 << 16) | MUX_PC25C_SERCOM0_PAD3) +#define PORT_PC25C_SERCOM0_PAD3 (_UL_(1) << 25) +/* ========== PORT definition for SERCOM1 peripheral ========== */ +#define PIN_PA00D_SERCOM1_PAD0 _L_(0) /**< \brief SERCOM1 signal: PAD0 on PA00 mux D */ +#define MUX_PA00D_SERCOM1_PAD0 _L_(3) +#define PINMUX_PA00D_SERCOM1_PAD0 ((PIN_PA00D_SERCOM1_PAD0 << 16) | MUX_PA00D_SERCOM1_PAD0) +#define PORT_PA00D_SERCOM1_PAD0 (_UL_(1) << 0) +#define PIN_PA16C_SERCOM1_PAD0 _L_(16) /**< \brief SERCOM1 signal: PAD0 on PA16 mux C */ +#define MUX_PA16C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PA16C_SERCOM1_PAD0 ((PIN_PA16C_SERCOM1_PAD0 << 16) | MUX_PA16C_SERCOM1_PAD0) +#define PORT_PA16C_SERCOM1_PAD0 (_UL_(1) << 16) +#define PIN_PC27C_SERCOM1_PAD0 _L_(91) /**< \brief SERCOM1 signal: PAD0 on PC27 mux C */ +#define MUX_PC27C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PC27C_SERCOM1_PAD0 ((PIN_PC27C_SERCOM1_PAD0 << 16) | MUX_PC27C_SERCOM1_PAD0) +#define PORT_PC27C_SERCOM1_PAD0 (_UL_(1) << 27) +#define PIN_PA01D_SERCOM1_PAD1 _L_(1) /**< \brief SERCOM1 signal: PAD1 on PA01 mux D */ +#define MUX_PA01D_SERCOM1_PAD1 _L_(3) +#define PINMUX_PA01D_SERCOM1_PAD1 ((PIN_PA01D_SERCOM1_PAD1 << 16) | MUX_PA01D_SERCOM1_PAD1) +#define PORT_PA01D_SERCOM1_PAD1 (_UL_(1) << 1) +#define PIN_PA17C_SERCOM1_PAD1 _L_(17) /**< \brief SERCOM1 signal: PAD1 on PA17 mux C */ +#define MUX_PA17C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PA17C_SERCOM1_PAD1 ((PIN_PA17C_SERCOM1_PAD1 << 16) | MUX_PA17C_SERCOM1_PAD1) +#define PORT_PA17C_SERCOM1_PAD1 (_UL_(1) << 17) +#define PIN_PC28C_SERCOM1_PAD1 _L_(92) /**< \brief SERCOM1 signal: PAD1 on PC28 mux C */ +#define MUX_PC28C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PC28C_SERCOM1_PAD1 ((PIN_PC28C_SERCOM1_PAD1 << 16) | MUX_PC28C_SERCOM1_PAD1) +#define PORT_PC28C_SERCOM1_PAD1 (_UL_(1) << 28) +#define PIN_PA30D_SERCOM1_PAD2 _L_(30) /**< \brief SERCOM1 signal: PAD2 on PA30 mux D */ +#define MUX_PA30D_SERCOM1_PAD2 _L_(3) +#define PINMUX_PA30D_SERCOM1_PAD2 ((PIN_PA30D_SERCOM1_PAD2 << 16) | MUX_PA30D_SERCOM1_PAD2) +#define PORT_PA30D_SERCOM1_PAD2 (_UL_(1) << 30) +#define PIN_PA18C_SERCOM1_PAD2 _L_(18) /**< \brief SERCOM1 signal: PAD2 on PA18 mux C */ +#define MUX_PA18C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PA18C_SERCOM1_PAD2 ((PIN_PA18C_SERCOM1_PAD2 << 16) | MUX_PA18C_SERCOM1_PAD2) +#define PORT_PA18C_SERCOM1_PAD2 (_UL_(1) << 18) +#define PIN_PB22C_SERCOM1_PAD2 _L_(54) /**< \brief SERCOM1 signal: PAD2 on PB22 mux C */ +#define MUX_PB22C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PB22C_SERCOM1_PAD2 ((PIN_PB22C_SERCOM1_PAD2 << 16) | MUX_PB22C_SERCOM1_PAD2) +#define PORT_PB22C_SERCOM1_PAD2 (_UL_(1) << 22) +#define PIN_PA31D_SERCOM1_PAD3 _L_(31) /**< \brief SERCOM1 signal: PAD3 on PA31 mux D */ +#define MUX_PA31D_SERCOM1_PAD3 _L_(3) +#define PINMUX_PA31D_SERCOM1_PAD3 ((PIN_PA31D_SERCOM1_PAD3 << 16) | MUX_PA31D_SERCOM1_PAD3) +#define PORT_PA31D_SERCOM1_PAD3 (_UL_(1) << 31) +#define PIN_PA19C_SERCOM1_PAD3 _L_(19) /**< \brief SERCOM1 signal: PAD3 on PA19 mux C */ +#define MUX_PA19C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PA19C_SERCOM1_PAD3 ((PIN_PA19C_SERCOM1_PAD3 << 16) | MUX_PA19C_SERCOM1_PAD3) +#define PORT_PA19C_SERCOM1_PAD3 (_UL_(1) << 19) +#define PIN_PB23C_SERCOM1_PAD3 _L_(55) /**< \brief SERCOM1 signal: PAD3 on PB23 mux C */ +#define MUX_PB23C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PB23C_SERCOM1_PAD3 ((PIN_PB23C_SERCOM1_PAD3 << 16) | MUX_PB23C_SERCOM1_PAD3) +#define PORT_PB23C_SERCOM1_PAD3 (_UL_(1) << 23) +/* ========== PORT definition for TC0 peripheral ========== */ +#define PIN_PA04E_TC0_WO0 _L_(4) /**< \brief TC0 signal: WO0 on PA04 mux E */ +#define MUX_PA04E_TC0_WO0 _L_(4) +#define PINMUX_PA04E_TC0_WO0 ((PIN_PA04E_TC0_WO0 << 16) | MUX_PA04E_TC0_WO0) +#define PORT_PA04E_TC0_WO0 (_UL_(1) << 4) +#define PIN_PA08E_TC0_WO0 _L_(8) /**< \brief TC0 signal: WO0 on PA08 mux E */ +#define MUX_PA08E_TC0_WO0 _L_(4) +#define PINMUX_PA08E_TC0_WO0 ((PIN_PA08E_TC0_WO0 << 16) | MUX_PA08E_TC0_WO0) +#define PORT_PA08E_TC0_WO0 (_UL_(1) << 8) +#define PIN_PB30E_TC0_WO0 _L_(62) /**< \brief TC0 signal: WO0 on PB30 mux E */ +#define MUX_PB30E_TC0_WO0 _L_(4) +#define PINMUX_PB30E_TC0_WO0 ((PIN_PB30E_TC0_WO0 << 16) | MUX_PB30E_TC0_WO0) +#define PORT_PB30E_TC0_WO0 (_UL_(1) << 30) +#define PIN_PA05E_TC0_WO1 _L_(5) /**< \brief TC0 signal: WO1 on PA05 mux E */ +#define MUX_PA05E_TC0_WO1 _L_(4) +#define PINMUX_PA05E_TC0_WO1 ((PIN_PA05E_TC0_WO1 << 16) | MUX_PA05E_TC0_WO1) +#define PORT_PA05E_TC0_WO1 (_UL_(1) << 5) +#define PIN_PA09E_TC0_WO1 _L_(9) /**< \brief TC0 signal: WO1 on PA09 mux E */ +#define MUX_PA09E_TC0_WO1 _L_(4) +#define PINMUX_PA09E_TC0_WO1 ((PIN_PA09E_TC0_WO1 << 16) | MUX_PA09E_TC0_WO1) +#define PORT_PA09E_TC0_WO1 (_UL_(1) << 9) +#define PIN_PB31E_TC0_WO1 _L_(63) /**< \brief TC0 signal: WO1 on PB31 mux E */ +#define MUX_PB31E_TC0_WO1 _L_(4) +#define PINMUX_PB31E_TC0_WO1 ((PIN_PB31E_TC0_WO1 << 16) | MUX_PB31E_TC0_WO1) +#define PORT_PB31E_TC0_WO1 (_UL_(1) << 31) +/* ========== PORT definition for TC1 peripheral ========== */ +#define PIN_PA06E_TC1_WO0 _L_(6) /**< \brief TC1 signal: WO0 on PA06 mux E */ +#define MUX_PA06E_TC1_WO0 _L_(4) +#define PINMUX_PA06E_TC1_WO0 ((PIN_PA06E_TC1_WO0 << 16) | MUX_PA06E_TC1_WO0) +#define PORT_PA06E_TC1_WO0 (_UL_(1) << 6) +#define PIN_PA10E_TC1_WO0 _L_(10) /**< \brief TC1 signal: WO0 on PA10 mux E */ +#define MUX_PA10E_TC1_WO0 _L_(4) +#define PINMUX_PA10E_TC1_WO0 ((PIN_PA10E_TC1_WO0 << 16) | MUX_PA10E_TC1_WO0) +#define PORT_PA10E_TC1_WO0 (_UL_(1) << 10) +#define PIN_PA07E_TC1_WO1 _L_(7) /**< \brief TC1 signal: WO1 on PA07 mux E */ +#define MUX_PA07E_TC1_WO1 _L_(4) +#define PINMUX_PA07E_TC1_WO1 ((PIN_PA07E_TC1_WO1 << 16) | MUX_PA07E_TC1_WO1) +#define PORT_PA07E_TC1_WO1 (_UL_(1) << 7) +#define PIN_PA11E_TC1_WO1 _L_(11) /**< \brief TC1 signal: WO1 on PA11 mux E */ +#define MUX_PA11E_TC1_WO1 _L_(4) +#define PINMUX_PA11E_TC1_WO1 ((PIN_PA11E_TC1_WO1 << 16) | MUX_PA11E_TC1_WO1) +#define PORT_PA11E_TC1_WO1 (_UL_(1) << 11) +/* ========== PORT definition for USB peripheral ========== */ +#define PIN_PA24H_USB_DM _L_(24) /**< \brief USB signal: DM on PA24 mux H */ +#define MUX_PA24H_USB_DM _L_(7) +#define PINMUX_PA24H_USB_DM ((PIN_PA24H_USB_DM << 16) | MUX_PA24H_USB_DM) +#define PORT_PA24H_USB_DM (_UL_(1) << 24) +#define PIN_PA25H_USB_DP _L_(25) /**< \brief USB signal: DP on PA25 mux H */ +#define MUX_PA25H_USB_DP _L_(7) +#define PINMUX_PA25H_USB_DP ((PIN_PA25H_USB_DP << 16) | MUX_PA25H_USB_DP) +#define PORT_PA25H_USB_DP (_UL_(1) << 25) +#define PIN_PA23H_USB_SOF_1KHZ _L_(23) /**< \brief USB signal: SOF_1KHZ on PA23 mux H */ +#define MUX_PA23H_USB_SOF_1KHZ _L_(7) +#define PINMUX_PA23H_USB_SOF_1KHZ ((PIN_PA23H_USB_SOF_1KHZ << 16) | MUX_PA23H_USB_SOF_1KHZ) +#define PORT_PA23H_USB_SOF_1KHZ (_UL_(1) << 23) +#define PIN_PB22H_USB_SOF_1KHZ _L_(54) /**< \brief USB signal: SOF_1KHZ on PB22 mux H */ +#define MUX_PB22H_USB_SOF_1KHZ _L_(7) +#define PINMUX_PB22H_USB_SOF_1KHZ ((PIN_PB22H_USB_SOF_1KHZ << 16) | MUX_PB22H_USB_SOF_1KHZ) +#define PORT_PB22H_USB_SOF_1KHZ (_UL_(1) << 22) +/* ========== PORT definition for SERCOM2 peripheral ========== */ +#define PIN_PA09D_SERCOM2_PAD0 _L_(9) /**< \brief SERCOM2 signal: PAD0 on PA09 mux D */ +#define MUX_PA09D_SERCOM2_PAD0 _L_(3) +#define PINMUX_PA09D_SERCOM2_PAD0 ((PIN_PA09D_SERCOM2_PAD0 << 16) | MUX_PA09D_SERCOM2_PAD0) +#define PORT_PA09D_SERCOM2_PAD0 (_UL_(1) << 9) +#define PIN_PB25D_SERCOM2_PAD0 _L_(57) /**< \brief SERCOM2 signal: PAD0 on PB25 mux D */ +#define MUX_PB25D_SERCOM2_PAD0 _L_(3) +#define PINMUX_PB25D_SERCOM2_PAD0 ((PIN_PB25D_SERCOM2_PAD0 << 16) | MUX_PB25D_SERCOM2_PAD0) +#define PORT_PB25D_SERCOM2_PAD0 (_UL_(1) << 25) +#define PIN_PA12C_SERCOM2_PAD0 _L_(12) /**< \brief SERCOM2 signal: PAD0 on PA12 mux C */ +#define MUX_PA12C_SERCOM2_PAD0 _L_(2) +#define PINMUX_PA12C_SERCOM2_PAD0 ((PIN_PA12C_SERCOM2_PAD0 << 16) | MUX_PA12C_SERCOM2_PAD0) +#define PORT_PA12C_SERCOM2_PAD0 (_UL_(1) << 12) +#define PIN_PA08D_SERCOM2_PAD1 _L_(8) /**< \brief SERCOM2 signal: PAD1 on PA08 mux D */ +#define MUX_PA08D_SERCOM2_PAD1 _L_(3) +#define PINMUX_PA08D_SERCOM2_PAD1 ((PIN_PA08D_SERCOM2_PAD1 << 16) | MUX_PA08D_SERCOM2_PAD1) +#define PORT_PA08D_SERCOM2_PAD1 (_UL_(1) << 8) +#define PIN_PB24D_SERCOM2_PAD1 _L_(56) /**< \brief SERCOM2 signal: PAD1 on PB24 mux D */ +#define MUX_PB24D_SERCOM2_PAD1 _L_(3) +#define PINMUX_PB24D_SERCOM2_PAD1 ((PIN_PB24D_SERCOM2_PAD1 << 16) | MUX_PB24D_SERCOM2_PAD1) +#define PORT_PB24D_SERCOM2_PAD1 (_UL_(1) << 24) +#define PIN_PA13C_SERCOM2_PAD1 _L_(13) /**< \brief SERCOM2 signal: PAD1 on PA13 mux C */ +#define MUX_PA13C_SERCOM2_PAD1 _L_(2) +#define PINMUX_PA13C_SERCOM2_PAD1 ((PIN_PA13C_SERCOM2_PAD1 << 16) | MUX_PA13C_SERCOM2_PAD1) +#define PORT_PA13C_SERCOM2_PAD1 (_UL_(1) << 13) +#define PIN_PA10D_SERCOM2_PAD2 _L_(10) /**< \brief SERCOM2 signal: PAD2 on PA10 mux D */ +#define MUX_PA10D_SERCOM2_PAD2 _L_(3) +#define PINMUX_PA10D_SERCOM2_PAD2 ((PIN_PA10D_SERCOM2_PAD2 << 16) | MUX_PA10D_SERCOM2_PAD2) +#define PORT_PA10D_SERCOM2_PAD2 (_UL_(1) << 10) +#define PIN_PC24D_SERCOM2_PAD2 _L_(88) /**< \brief SERCOM2 signal: PAD2 on PC24 mux D */ +#define MUX_PC24D_SERCOM2_PAD2 _L_(3) +#define PINMUX_PC24D_SERCOM2_PAD2 ((PIN_PC24D_SERCOM2_PAD2 << 16) | MUX_PC24D_SERCOM2_PAD2) +#define PORT_PC24D_SERCOM2_PAD2 (_UL_(1) << 24) +#define PIN_PA14C_SERCOM2_PAD2 _L_(14) /**< \brief SERCOM2 signal: PAD2 on PA14 mux C */ +#define MUX_PA14C_SERCOM2_PAD2 _L_(2) +#define PINMUX_PA14C_SERCOM2_PAD2 ((PIN_PA14C_SERCOM2_PAD2 << 16) | MUX_PA14C_SERCOM2_PAD2) +#define PORT_PA14C_SERCOM2_PAD2 (_UL_(1) << 14) +#define PIN_PA11D_SERCOM2_PAD3 _L_(11) /**< \brief SERCOM2 signal: PAD3 on PA11 mux D */ +#define MUX_PA11D_SERCOM2_PAD3 _L_(3) +#define PINMUX_PA11D_SERCOM2_PAD3 ((PIN_PA11D_SERCOM2_PAD3 << 16) | MUX_PA11D_SERCOM2_PAD3) +#define PORT_PA11D_SERCOM2_PAD3 (_UL_(1) << 11) +#define PIN_PC25D_SERCOM2_PAD3 _L_(89) /**< \brief SERCOM2 signal: PAD3 on PC25 mux D */ +#define MUX_PC25D_SERCOM2_PAD3 _L_(3) +#define PINMUX_PC25D_SERCOM2_PAD3 ((PIN_PC25D_SERCOM2_PAD3 << 16) | MUX_PC25D_SERCOM2_PAD3) +#define PORT_PC25D_SERCOM2_PAD3 (_UL_(1) << 25) +#define PIN_PA15C_SERCOM2_PAD3 _L_(15) /**< \brief SERCOM2 signal: PAD3 on PA15 mux C */ +#define MUX_PA15C_SERCOM2_PAD3 _L_(2) +#define PINMUX_PA15C_SERCOM2_PAD3 ((PIN_PA15C_SERCOM2_PAD3 << 16) | MUX_PA15C_SERCOM2_PAD3) +#define PORT_PA15C_SERCOM2_PAD3 (_UL_(1) << 15) +/* ========== PORT definition for SERCOM3 peripheral ========== */ +#define PIN_PA17D_SERCOM3_PAD0 _L_(17) /**< \brief SERCOM3 signal: PAD0 on PA17 mux D */ +#define MUX_PA17D_SERCOM3_PAD0 _L_(3) +#define PINMUX_PA17D_SERCOM3_PAD0 ((PIN_PA17D_SERCOM3_PAD0 << 16) | MUX_PA17D_SERCOM3_PAD0) +#define PORT_PA17D_SERCOM3_PAD0 (_UL_(1) << 17) +#define PIN_PA22C_SERCOM3_PAD0 _L_(22) /**< \brief SERCOM3 signal: PAD0 on PA22 mux C */ +#define MUX_PA22C_SERCOM3_PAD0 _L_(2) +#define PINMUX_PA22C_SERCOM3_PAD0 ((PIN_PA22C_SERCOM3_PAD0 << 16) | MUX_PA22C_SERCOM3_PAD0) +#define PORT_PA22C_SERCOM3_PAD0 (_UL_(1) << 22) +#define PIN_PB20C_SERCOM3_PAD0 _L_(52) /**< \brief SERCOM3 signal: PAD0 on PB20 mux C */ +#define MUX_PB20C_SERCOM3_PAD0 _L_(2) +#define PINMUX_PB20C_SERCOM3_PAD0 ((PIN_PB20C_SERCOM3_PAD0 << 16) | MUX_PB20C_SERCOM3_PAD0) +#define PORT_PB20C_SERCOM3_PAD0 (_UL_(1) << 20) +#define PIN_PA16D_SERCOM3_PAD1 _L_(16) /**< \brief SERCOM3 signal: PAD1 on PA16 mux D */ +#define MUX_PA16D_SERCOM3_PAD1 _L_(3) +#define PINMUX_PA16D_SERCOM3_PAD1 ((PIN_PA16D_SERCOM3_PAD1 << 16) | MUX_PA16D_SERCOM3_PAD1) +#define PORT_PA16D_SERCOM3_PAD1 (_UL_(1) << 16) +#define PIN_PA23C_SERCOM3_PAD1 _L_(23) /**< \brief SERCOM3 signal: PAD1 on PA23 mux C */ +#define MUX_PA23C_SERCOM3_PAD1 _L_(2) +#define PINMUX_PA23C_SERCOM3_PAD1 ((PIN_PA23C_SERCOM3_PAD1 << 16) | MUX_PA23C_SERCOM3_PAD1) +#define PORT_PA23C_SERCOM3_PAD1 (_UL_(1) << 23) +#define PIN_PB21C_SERCOM3_PAD1 _L_(53) /**< \brief SERCOM3 signal: PAD1 on PB21 mux C */ +#define MUX_PB21C_SERCOM3_PAD1 _L_(2) +#define PINMUX_PB21C_SERCOM3_PAD1 ((PIN_PB21C_SERCOM3_PAD1 << 16) | MUX_PB21C_SERCOM3_PAD1) +#define PORT_PB21C_SERCOM3_PAD1 (_UL_(1) << 21) +#define PIN_PA18D_SERCOM3_PAD2 _L_(18) /**< \brief SERCOM3 signal: PAD2 on PA18 mux D */ +#define MUX_PA18D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PA18D_SERCOM3_PAD2 ((PIN_PA18D_SERCOM3_PAD2 << 16) | MUX_PA18D_SERCOM3_PAD2) +#define PORT_PA18D_SERCOM3_PAD2 (_UL_(1) << 18) +#define PIN_PA20D_SERCOM3_PAD2 _L_(20) /**< \brief SERCOM3 signal: PAD2 on PA20 mux D */ +#define MUX_PA20D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PA20D_SERCOM3_PAD2 ((PIN_PA20D_SERCOM3_PAD2 << 16) | MUX_PA20D_SERCOM3_PAD2) +#define PORT_PA20D_SERCOM3_PAD2 (_UL_(1) << 20) +#define PIN_PA24C_SERCOM3_PAD2 _L_(24) /**< \brief SERCOM3 signal: PAD2 on PA24 mux C */ +#define MUX_PA24C_SERCOM3_PAD2 _L_(2) +#define PINMUX_PA24C_SERCOM3_PAD2 ((PIN_PA24C_SERCOM3_PAD2 << 16) | MUX_PA24C_SERCOM3_PAD2) +#define PORT_PA24C_SERCOM3_PAD2 (_UL_(1) << 24) +#define PIN_PA19D_SERCOM3_PAD3 _L_(19) /**< \brief SERCOM3 signal: PAD3 on PA19 mux D */ +#define MUX_PA19D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PA19D_SERCOM3_PAD3 ((PIN_PA19D_SERCOM3_PAD3 << 16) | MUX_PA19D_SERCOM3_PAD3) +#define PORT_PA19D_SERCOM3_PAD3 (_UL_(1) << 19) +#define PIN_PA21D_SERCOM3_PAD3 _L_(21) /**< \brief SERCOM3 signal: PAD3 on PA21 mux D */ +#define MUX_PA21D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PA21D_SERCOM3_PAD3 ((PIN_PA21D_SERCOM3_PAD3 << 16) | MUX_PA21D_SERCOM3_PAD3) +#define PORT_PA21D_SERCOM3_PAD3 (_UL_(1) << 21) +#define PIN_PA25C_SERCOM3_PAD3 _L_(25) /**< \brief SERCOM3 signal: PAD3 on PA25 mux C */ +#define MUX_PA25C_SERCOM3_PAD3 _L_(2) +#define PINMUX_PA25C_SERCOM3_PAD3 ((PIN_PA25C_SERCOM3_PAD3 << 16) | MUX_PA25C_SERCOM3_PAD3) +#define PORT_PA25C_SERCOM3_PAD3 (_UL_(1) << 25) +/* ========== PORT definition for TCC0 peripheral ========== */ +#define PIN_PA20G_TCC0_WO0 _L_(20) /**< \brief TCC0 signal: WO0 on PA20 mux G */ +#define MUX_PA20G_TCC0_WO0 _L_(6) +#define PINMUX_PA20G_TCC0_WO0 ((PIN_PA20G_TCC0_WO0 << 16) | MUX_PA20G_TCC0_WO0) +#define PORT_PA20G_TCC0_WO0 (_UL_(1) << 20) +#define PIN_PB12G_TCC0_WO0 _L_(44) /**< \brief TCC0 signal: WO0 on PB12 mux G */ +#define MUX_PB12G_TCC0_WO0 _L_(6) +#define PINMUX_PB12G_TCC0_WO0 ((PIN_PB12G_TCC0_WO0 << 16) | MUX_PB12G_TCC0_WO0) +#define PORT_PB12G_TCC0_WO0 (_UL_(1) << 12) +#define PIN_PA08F_TCC0_WO0 _L_(8) /**< \brief TCC0 signal: WO0 on PA08 mux F */ +#define MUX_PA08F_TCC0_WO0 _L_(5) +#define PINMUX_PA08F_TCC0_WO0 ((PIN_PA08F_TCC0_WO0 << 16) | MUX_PA08F_TCC0_WO0) +#define PORT_PA08F_TCC0_WO0 (_UL_(1) << 8) +#define PIN_PC10F_TCC0_WO0 _L_(74) /**< \brief TCC0 signal: WO0 on PC10 mux F */ +#define MUX_PC10F_TCC0_WO0 _L_(5) +#define PINMUX_PC10F_TCC0_WO0 ((PIN_PC10F_TCC0_WO0 << 16) | MUX_PC10F_TCC0_WO0) +#define PORT_PC10F_TCC0_WO0 (_UL_(1) << 10) +#define PIN_PC16F_TCC0_WO0 _L_(80) /**< \brief TCC0 signal: WO0 on PC16 mux F */ +#define MUX_PC16F_TCC0_WO0 _L_(5) +#define PINMUX_PC16F_TCC0_WO0 ((PIN_PC16F_TCC0_WO0 << 16) | MUX_PC16F_TCC0_WO0) +#define PORT_PC16F_TCC0_WO0 (_UL_(1) << 16) +#define PIN_PA21G_TCC0_WO1 _L_(21) /**< \brief TCC0 signal: WO1 on PA21 mux G */ +#define MUX_PA21G_TCC0_WO1 _L_(6) +#define PINMUX_PA21G_TCC0_WO1 ((PIN_PA21G_TCC0_WO1 << 16) | MUX_PA21G_TCC0_WO1) +#define PORT_PA21G_TCC0_WO1 (_UL_(1) << 21) +#define PIN_PB13G_TCC0_WO1 _L_(45) /**< \brief TCC0 signal: WO1 on PB13 mux G */ +#define MUX_PB13G_TCC0_WO1 _L_(6) +#define PINMUX_PB13G_TCC0_WO1 ((PIN_PB13G_TCC0_WO1 << 16) | MUX_PB13G_TCC0_WO1) +#define PORT_PB13G_TCC0_WO1 (_UL_(1) << 13) +#define PIN_PA09F_TCC0_WO1 _L_(9) /**< \brief TCC0 signal: WO1 on PA09 mux F */ +#define MUX_PA09F_TCC0_WO1 _L_(5) +#define PINMUX_PA09F_TCC0_WO1 ((PIN_PA09F_TCC0_WO1 << 16) | MUX_PA09F_TCC0_WO1) +#define PORT_PA09F_TCC0_WO1 (_UL_(1) << 9) +#define PIN_PC11F_TCC0_WO1 _L_(75) /**< \brief TCC0 signal: WO1 on PC11 mux F */ +#define MUX_PC11F_TCC0_WO1 _L_(5) +#define PINMUX_PC11F_TCC0_WO1 ((PIN_PC11F_TCC0_WO1 << 16) | MUX_PC11F_TCC0_WO1) +#define PORT_PC11F_TCC0_WO1 (_UL_(1) << 11) +#define PIN_PC17F_TCC0_WO1 _L_(81) /**< \brief TCC0 signal: WO1 on PC17 mux F */ +#define MUX_PC17F_TCC0_WO1 _L_(5) +#define PINMUX_PC17F_TCC0_WO1 ((PIN_PC17F_TCC0_WO1 << 16) | MUX_PC17F_TCC0_WO1) +#define PORT_PC17F_TCC0_WO1 (_UL_(1) << 17) +#define PIN_PA22G_TCC0_WO2 _L_(22) /**< \brief TCC0 signal: WO2 on PA22 mux G */ +#define MUX_PA22G_TCC0_WO2 _L_(6) +#define PINMUX_PA22G_TCC0_WO2 ((PIN_PA22G_TCC0_WO2 << 16) | MUX_PA22G_TCC0_WO2) +#define PORT_PA22G_TCC0_WO2 (_UL_(1) << 22) +#define PIN_PB14G_TCC0_WO2 _L_(46) /**< \brief TCC0 signal: WO2 on PB14 mux G */ +#define MUX_PB14G_TCC0_WO2 _L_(6) +#define PINMUX_PB14G_TCC0_WO2 ((PIN_PB14G_TCC0_WO2 << 16) | MUX_PB14G_TCC0_WO2) +#define PORT_PB14G_TCC0_WO2 (_UL_(1) << 14) +#define PIN_PA10F_TCC0_WO2 _L_(10) /**< \brief TCC0 signal: WO2 on PA10 mux F */ +#define MUX_PA10F_TCC0_WO2 _L_(5) +#define PINMUX_PA10F_TCC0_WO2 ((PIN_PA10F_TCC0_WO2 << 16) | MUX_PA10F_TCC0_WO2) +#define PORT_PA10F_TCC0_WO2 (_UL_(1) << 10) +#define PIN_PC12F_TCC0_WO2 _L_(76) /**< \brief TCC0 signal: WO2 on PC12 mux F */ +#define MUX_PC12F_TCC0_WO2 _L_(5) +#define PINMUX_PC12F_TCC0_WO2 ((PIN_PC12F_TCC0_WO2 << 16) | MUX_PC12F_TCC0_WO2) +#define PORT_PC12F_TCC0_WO2 (_UL_(1) << 12) +#define PIN_PC18F_TCC0_WO2 _L_(82) /**< \brief TCC0 signal: WO2 on PC18 mux F */ +#define MUX_PC18F_TCC0_WO2 _L_(5) +#define PINMUX_PC18F_TCC0_WO2 ((PIN_PC18F_TCC0_WO2 << 16) | MUX_PC18F_TCC0_WO2) +#define PORT_PC18F_TCC0_WO2 (_UL_(1) << 18) +#define PIN_PA23G_TCC0_WO3 _L_(23) /**< \brief TCC0 signal: WO3 on PA23 mux G */ +#define MUX_PA23G_TCC0_WO3 _L_(6) +#define PINMUX_PA23G_TCC0_WO3 ((PIN_PA23G_TCC0_WO3 << 16) | MUX_PA23G_TCC0_WO3) +#define PORT_PA23G_TCC0_WO3 (_UL_(1) << 23) +#define PIN_PB15G_TCC0_WO3 _L_(47) /**< \brief TCC0 signal: WO3 on PB15 mux G */ +#define MUX_PB15G_TCC0_WO3 _L_(6) +#define PINMUX_PB15G_TCC0_WO3 ((PIN_PB15G_TCC0_WO3 << 16) | MUX_PB15G_TCC0_WO3) +#define PORT_PB15G_TCC0_WO3 (_UL_(1) << 15) +#define PIN_PA11F_TCC0_WO3 _L_(11) /**< \brief TCC0 signal: WO3 on PA11 mux F */ +#define MUX_PA11F_TCC0_WO3 _L_(5) +#define PINMUX_PA11F_TCC0_WO3 ((PIN_PA11F_TCC0_WO3 << 16) | MUX_PA11F_TCC0_WO3) +#define PORT_PA11F_TCC0_WO3 (_UL_(1) << 11) +#define PIN_PC13F_TCC0_WO3 _L_(77) /**< \brief TCC0 signal: WO3 on PC13 mux F */ +#define MUX_PC13F_TCC0_WO3 _L_(5) +#define PINMUX_PC13F_TCC0_WO3 ((PIN_PC13F_TCC0_WO3 << 16) | MUX_PC13F_TCC0_WO3) +#define PORT_PC13F_TCC0_WO3 (_UL_(1) << 13) +#define PIN_PC19F_TCC0_WO3 _L_(83) /**< \brief TCC0 signal: WO3 on PC19 mux F */ +#define MUX_PC19F_TCC0_WO3 _L_(5) +#define PINMUX_PC19F_TCC0_WO3 ((PIN_PC19F_TCC0_WO3 << 16) | MUX_PC19F_TCC0_WO3) +#define PORT_PC19F_TCC0_WO3 (_UL_(1) << 19) +#define PIN_PA16G_TCC0_WO4 _L_(16) /**< \brief TCC0 signal: WO4 on PA16 mux G */ +#define MUX_PA16G_TCC0_WO4 _L_(6) +#define PINMUX_PA16G_TCC0_WO4 ((PIN_PA16G_TCC0_WO4 << 16) | MUX_PA16G_TCC0_WO4) +#define PORT_PA16G_TCC0_WO4 (_UL_(1) << 16) +#define PIN_PB16G_TCC0_WO4 _L_(48) /**< \brief TCC0 signal: WO4 on PB16 mux G */ +#define MUX_PB16G_TCC0_WO4 _L_(6) +#define PINMUX_PB16G_TCC0_WO4 ((PIN_PB16G_TCC0_WO4 << 16) | MUX_PB16G_TCC0_WO4) +#define PORT_PB16G_TCC0_WO4 (_UL_(1) << 16) +#define PIN_PB10F_TCC0_WO4 _L_(42) /**< \brief TCC0 signal: WO4 on PB10 mux F */ +#define MUX_PB10F_TCC0_WO4 _L_(5) +#define PINMUX_PB10F_TCC0_WO4 ((PIN_PB10F_TCC0_WO4 << 16) | MUX_PB10F_TCC0_WO4) +#define PORT_PB10F_TCC0_WO4 (_UL_(1) << 10) +#define PIN_PC14F_TCC0_WO4 _L_(78) /**< \brief TCC0 signal: WO4 on PC14 mux F */ +#define MUX_PC14F_TCC0_WO4 _L_(5) +#define PINMUX_PC14F_TCC0_WO4 ((PIN_PC14F_TCC0_WO4 << 16) | MUX_PC14F_TCC0_WO4) +#define PORT_PC14F_TCC0_WO4 (_UL_(1) << 14) +#define PIN_PC20F_TCC0_WO4 _L_(84) /**< \brief TCC0 signal: WO4 on PC20 mux F */ +#define MUX_PC20F_TCC0_WO4 _L_(5) +#define PINMUX_PC20F_TCC0_WO4 ((PIN_PC20F_TCC0_WO4 << 16) | MUX_PC20F_TCC0_WO4) +#define PORT_PC20F_TCC0_WO4 (_UL_(1) << 20) +#define PIN_PA17G_TCC0_WO5 _L_(17) /**< \brief TCC0 signal: WO5 on PA17 mux G */ +#define MUX_PA17G_TCC0_WO5 _L_(6) +#define PINMUX_PA17G_TCC0_WO5 ((PIN_PA17G_TCC0_WO5 << 16) | MUX_PA17G_TCC0_WO5) +#define PORT_PA17G_TCC0_WO5 (_UL_(1) << 17) +#define PIN_PB17G_TCC0_WO5 _L_(49) /**< \brief TCC0 signal: WO5 on PB17 mux G */ +#define MUX_PB17G_TCC0_WO5 _L_(6) +#define PINMUX_PB17G_TCC0_WO5 ((PIN_PB17G_TCC0_WO5 << 16) | MUX_PB17G_TCC0_WO5) +#define PORT_PB17G_TCC0_WO5 (_UL_(1) << 17) +#define PIN_PB11F_TCC0_WO5 _L_(43) /**< \brief TCC0 signal: WO5 on PB11 mux F */ +#define MUX_PB11F_TCC0_WO5 _L_(5) +#define PINMUX_PB11F_TCC0_WO5 ((PIN_PB11F_TCC0_WO5 << 16) | MUX_PB11F_TCC0_WO5) +#define PORT_PB11F_TCC0_WO5 (_UL_(1) << 11) +#define PIN_PC15F_TCC0_WO5 _L_(79) /**< \brief TCC0 signal: WO5 on PC15 mux F */ +#define MUX_PC15F_TCC0_WO5 _L_(5) +#define PINMUX_PC15F_TCC0_WO5 ((PIN_PC15F_TCC0_WO5 << 16) | MUX_PC15F_TCC0_WO5) +#define PORT_PC15F_TCC0_WO5 (_UL_(1) << 15) +#define PIN_PC21F_TCC0_WO5 _L_(85) /**< \brief TCC0 signal: WO5 on PC21 mux F */ +#define MUX_PC21F_TCC0_WO5 _L_(5) +#define PINMUX_PC21F_TCC0_WO5 ((PIN_PC21F_TCC0_WO5 << 16) | MUX_PC21F_TCC0_WO5) +#define PORT_PC21F_TCC0_WO5 (_UL_(1) << 21) +#define PIN_PA18G_TCC0_WO6 _L_(18) /**< \brief TCC0 signal: WO6 on PA18 mux G */ +#define MUX_PA18G_TCC0_WO6 _L_(6) +#define PINMUX_PA18G_TCC0_WO6 ((PIN_PA18G_TCC0_WO6 << 16) | MUX_PA18G_TCC0_WO6) +#define PORT_PA18G_TCC0_WO6 (_UL_(1) << 18) +#define PIN_PB30G_TCC0_WO6 _L_(62) /**< \brief TCC0 signal: WO6 on PB30 mux G */ +#define MUX_PB30G_TCC0_WO6 _L_(6) +#define PINMUX_PB30G_TCC0_WO6 ((PIN_PB30G_TCC0_WO6 << 16) | MUX_PB30G_TCC0_WO6) +#define PORT_PB30G_TCC0_WO6 (_UL_(1) << 30) +#define PIN_PA12F_TCC0_WO6 _L_(12) /**< \brief TCC0 signal: WO6 on PA12 mux F */ +#define MUX_PA12F_TCC0_WO6 _L_(5) +#define PINMUX_PA12F_TCC0_WO6 ((PIN_PA12F_TCC0_WO6 << 16) | MUX_PA12F_TCC0_WO6) +#define PORT_PA12F_TCC0_WO6 (_UL_(1) << 12) +#define PIN_PA19G_TCC0_WO7 _L_(19) /**< \brief TCC0 signal: WO7 on PA19 mux G */ +#define MUX_PA19G_TCC0_WO7 _L_(6) +#define PINMUX_PA19G_TCC0_WO7 ((PIN_PA19G_TCC0_WO7 << 16) | MUX_PA19G_TCC0_WO7) +#define PORT_PA19G_TCC0_WO7 (_UL_(1) << 19) +#define PIN_PB31G_TCC0_WO7 _L_(63) /**< \brief TCC0 signal: WO7 on PB31 mux G */ +#define MUX_PB31G_TCC0_WO7 _L_(6) +#define PINMUX_PB31G_TCC0_WO7 ((PIN_PB31G_TCC0_WO7 << 16) | MUX_PB31G_TCC0_WO7) +#define PORT_PB31G_TCC0_WO7 (_UL_(1) << 31) +#define PIN_PA13F_TCC0_WO7 _L_(13) /**< \brief TCC0 signal: WO7 on PA13 mux F */ +#define MUX_PA13F_TCC0_WO7 _L_(5) +#define PINMUX_PA13F_TCC0_WO7 ((PIN_PA13F_TCC0_WO7 << 16) | MUX_PA13F_TCC0_WO7) +#define PORT_PA13F_TCC0_WO7 (_UL_(1) << 13) +/* ========== PORT definition for TCC1 peripheral ========== */ +#define PIN_PB10G_TCC1_WO0 _L_(42) /**< \brief TCC1 signal: WO0 on PB10 mux G */ +#define MUX_PB10G_TCC1_WO0 _L_(6) +#define PINMUX_PB10G_TCC1_WO0 ((PIN_PB10G_TCC1_WO0 << 16) | MUX_PB10G_TCC1_WO0) +#define PORT_PB10G_TCC1_WO0 (_UL_(1) << 10) +#define PIN_PC14G_TCC1_WO0 _L_(78) /**< \brief TCC1 signal: WO0 on PC14 mux G */ +#define MUX_PC14G_TCC1_WO0 _L_(6) +#define PINMUX_PC14G_TCC1_WO0 ((PIN_PC14G_TCC1_WO0 << 16) | MUX_PC14G_TCC1_WO0) +#define PORT_PC14G_TCC1_WO0 (_UL_(1) << 14) +#define PIN_PA16F_TCC1_WO0 _L_(16) /**< \brief TCC1 signal: WO0 on PA16 mux F */ +#define MUX_PA16F_TCC1_WO0 _L_(5) +#define PINMUX_PA16F_TCC1_WO0 ((PIN_PA16F_TCC1_WO0 << 16) | MUX_PA16F_TCC1_WO0) +#define PORT_PA16F_TCC1_WO0 (_UL_(1) << 16) +#define PIN_PB18F_TCC1_WO0 _L_(50) /**< \brief TCC1 signal: WO0 on PB18 mux F */ +#define MUX_PB18F_TCC1_WO0 _L_(5) +#define PINMUX_PB18F_TCC1_WO0 ((PIN_PB18F_TCC1_WO0 << 16) | MUX_PB18F_TCC1_WO0) +#define PORT_PB18F_TCC1_WO0 (_UL_(1) << 18) +#define PIN_PB11G_TCC1_WO1 _L_(43) /**< \brief TCC1 signal: WO1 on PB11 mux G */ +#define MUX_PB11G_TCC1_WO1 _L_(6) +#define PINMUX_PB11G_TCC1_WO1 ((PIN_PB11G_TCC1_WO1 << 16) | MUX_PB11G_TCC1_WO1) +#define PORT_PB11G_TCC1_WO1 (_UL_(1) << 11) +#define PIN_PC15G_TCC1_WO1 _L_(79) /**< \brief TCC1 signal: WO1 on PC15 mux G */ +#define MUX_PC15G_TCC1_WO1 _L_(6) +#define PINMUX_PC15G_TCC1_WO1 ((PIN_PC15G_TCC1_WO1 << 16) | MUX_PC15G_TCC1_WO1) +#define PORT_PC15G_TCC1_WO1 (_UL_(1) << 15) +#define PIN_PA17F_TCC1_WO1 _L_(17) /**< \brief TCC1 signal: WO1 on PA17 mux F */ +#define MUX_PA17F_TCC1_WO1 _L_(5) +#define PINMUX_PA17F_TCC1_WO1 ((PIN_PA17F_TCC1_WO1 << 16) | MUX_PA17F_TCC1_WO1) +#define PORT_PA17F_TCC1_WO1 (_UL_(1) << 17) +#define PIN_PB19F_TCC1_WO1 _L_(51) /**< \brief TCC1 signal: WO1 on PB19 mux F */ +#define MUX_PB19F_TCC1_WO1 _L_(5) +#define PINMUX_PB19F_TCC1_WO1 ((PIN_PB19F_TCC1_WO1 << 16) | MUX_PB19F_TCC1_WO1) +#define PORT_PB19F_TCC1_WO1 (_UL_(1) << 19) +#define PIN_PA12G_TCC1_WO2 _L_(12) /**< \brief TCC1 signal: WO2 on PA12 mux G */ +#define MUX_PA12G_TCC1_WO2 _L_(6) +#define PINMUX_PA12G_TCC1_WO2 ((PIN_PA12G_TCC1_WO2 << 16) | MUX_PA12G_TCC1_WO2) +#define PORT_PA12G_TCC1_WO2 (_UL_(1) << 12) +#define PIN_PA14G_TCC1_WO2 _L_(14) /**< \brief TCC1 signal: WO2 on PA14 mux G */ +#define MUX_PA14G_TCC1_WO2 _L_(6) +#define PINMUX_PA14G_TCC1_WO2 ((PIN_PA14G_TCC1_WO2 << 16) | MUX_PA14G_TCC1_WO2) +#define PORT_PA14G_TCC1_WO2 (_UL_(1) << 14) +#define PIN_PA18F_TCC1_WO2 _L_(18) /**< \brief TCC1 signal: WO2 on PA18 mux F */ +#define MUX_PA18F_TCC1_WO2 _L_(5) +#define PINMUX_PA18F_TCC1_WO2 ((PIN_PA18F_TCC1_WO2 << 16) | MUX_PA18F_TCC1_WO2) +#define PORT_PA18F_TCC1_WO2 (_UL_(1) << 18) +#define PIN_PB20F_TCC1_WO2 _L_(52) /**< \brief TCC1 signal: WO2 on PB20 mux F */ +#define MUX_PB20F_TCC1_WO2 _L_(5) +#define PINMUX_PB20F_TCC1_WO2 ((PIN_PB20F_TCC1_WO2 << 16) | MUX_PB20F_TCC1_WO2) +#define PORT_PB20F_TCC1_WO2 (_UL_(1) << 20) +#define PIN_PA13G_TCC1_WO3 _L_(13) /**< \brief TCC1 signal: WO3 on PA13 mux G */ +#define MUX_PA13G_TCC1_WO3 _L_(6) +#define PINMUX_PA13G_TCC1_WO3 ((PIN_PA13G_TCC1_WO3 << 16) | MUX_PA13G_TCC1_WO3) +#define PORT_PA13G_TCC1_WO3 (_UL_(1) << 13) +#define PIN_PA15G_TCC1_WO3 _L_(15) /**< \brief TCC1 signal: WO3 on PA15 mux G */ +#define MUX_PA15G_TCC1_WO3 _L_(6) +#define PINMUX_PA15G_TCC1_WO3 ((PIN_PA15G_TCC1_WO3 << 16) | MUX_PA15G_TCC1_WO3) +#define PORT_PA15G_TCC1_WO3 (_UL_(1) << 15) +#define PIN_PA19F_TCC1_WO3 _L_(19) /**< \brief TCC1 signal: WO3 on PA19 mux F */ +#define MUX_PA19F_TCC1_WO3 _L_(5) +#define PINMUX_PA19F_TCC1_WO3 ((PIN_PA19F_TCC1_WO3 << 16) | MUX_PA19F_TCC1_WO3) +#define PORT_PA19F_TCC1_WO3 (_UL_(1) << 19) +#define PIN_PB21F_TCC1_WO3 _L_(53) /**< \brief TCC1 signal: WO3 on PB21 mux F */ +#define MUX_PB21F_TCC1_WO3 _L_(5) +#define PINMUX_PB21F_TCC1_WO3 ((PIN_PB21F_TCC1_WO3 << 16) | MUX_PB21F_TCC1_WO3) +#define PORT_PB21F_TCC1_WO3 (_UL_(1) << 21) +#define PIN_PA08G_TCC1_WO4 _L_(8) /**< \brief TCC1 signal: WO4 on PA08 mux G */ +#define MUX_PA08G_TCC1_WO4 _L_(6) +#define PINMUX_PA08G_TCC1_WO4 ((PIN_PA08G_TCC1_WO4 << 16) | MUX_PA08G_TCC1_WO4) +#define PORT_PA08G_TCC1_WO4 (_UL_(1) << 8) +#define PIN_PC10G_TCC1_WO4 _L_(74) /**< \brief TCC1 signal: WO4 on PC10 mux G */ +#define MUX_PC10G_TCC1_WO4 _L_(6) +#define PINMUX_PC10G_TCC1_WO4 ((PIN_PC10G_TCC1_WO4 << 16) | MUX_PC10G_TCC1_WO4) +#define PORT_PC10G_TCC1_WO4 (_UL_(1) << 10) +#define PIN_PA20F_TCC1_WO4 _L_(20) /**< \brief TCC1 signal: WO4 on PA20 mux F */ +#define MUX_PA20F_TCC1_WO4 _L_(5) +#define PINMUX_PA20F_TCC1_WO4 ((PIN_PA20F_TCC1_WO4 << 16) | MUX_PA20F_TCC1_WO4) +#define PORT_PA20F_TCC1_WO4 (_UL_(1) << 20) +#define PIN_PA09G_TCC1_WO5 _L_(9) /**< \brief TCC1 signal: WO5 on PA09 mux G */ +#define MUX_PA09G_TCC1_WO5 _L_(6) +#define PINMUX_PA09G_TCC1_WO5 ((PIN_PA09G_TCC1_WO5 << 16) | MUX_PA09G_TCC1_WO5) +#define PORT_PA09G_TCC1_WO5 (_UL_(1) << 9) +#define PIN_PC11G_TCC1_WO5 _L_(75) /**< \brief TCC1 signal: WO5 on PC11 mux G */ +#define MUX_PC11G_TCC1_WO5 _L_(6) +#define PINMUX_PC11G_TCC1_WO5 ((PIN_PC11G_TCC1_WO5 << 16) | MUX_PC11G_TCC1_WO5) +#define PORT_PC11G_TCC1_WO5 (_UL_(1) << 11) +#define PIN_PA21F_TCC1_WO5 _L_(21) /**< \brief TCC1 signal: WO5 on PA21 mux F */ +#define MUX_PA21F_TCC1_WO5 _L_(5) +#define PINMUX_PA21F_TCC1_WO5 ((PIN_PA21F_TCC1_WO5 << 16) | MUX_PA21F_TCC1_WO5) +#define PORT_PA21F_TCC1_WO5 (_UL_(1) << 21) +#define PIN_PA10G_TCC1_WO6 _L_(10) /**< \brief TCC1 signal: WO6 on PA10 mux G */ +#define MUX_PA10G_TCC1_WO6 _L_(6) +#define PINMUX_PA10G_TCC1_WO6 ((PIN_PA10G_TCC1_WO6 << 16) | MUX_PA10G_TCC1_WO6) +#define PORT_PA10G_TCC1_WO6 (_UL_(1) << 10) +#define PIN_PC12G_TCC1_WO6 _L_(76) /**< \brief TCC1 signal: WO6 on PC12 mux G */ +#define MUX_PC12G_TCC1_WO6 _L_(6) +#define PINMUX_PC12G_TCC1_WO6 ((PIN_PC12G_TCC1_WO6 << 16) | MUX_PC12G_TCC1_WO6) +#define PORT_PC12G_TCC1_WO6 (_UL_(1) << 12) +#define PIN_PA22F_TCC1_WO6 _L_(22) /**< \brief TCC1 signal: WO6 on PA22 mux F */ +#define MUX_PA22F_TCC1_WO6 _L_(5) +#define PINMUX_PA22F_TCC1_WO6 ((PIN_PA22F_TCC1_WO6 << 16) | MUX_PA22F_TCC1_WO6) +#define PORT_PA22F_TCC1_WO6 (_UL_(1) << 22) +#define PIN_PA11G_TCC1_WO7 _L_(11) /**< \brief TCC1 signal: WO7 on PA11 mux G */ +#define MUX_PA11G_TCC1_WO7 _L_(6) +#define PINMUX_PA11G_TCC1_WO7 ((PIN_PA11G_TCC1_WO7 << 16) | MUX_PA11G_TCC1_WO7) +#define PORT_PA11G_TCC1_WO7 (_UL_(1) << 11) +#define PIN_PC13G_TCC1_WO7 _L_(77) /**< \brief TCC1 signal: WO7 on PC13 mux G */ +#define MUX_PC13G_TCC1_WO7 _L_(6) +#define PINMUX_PC13G_TCC1_WO7 ((PIN_PC13G_TCC1_WO7 << 16) | MUX_PC13G_TCC1_WO7) +#define PORT_PC13G_TCC1_WO7 (_UL_(1) << 13) +#define PIN_PA23F_TCC1_WO7 _L_(23) /**< \brief TCC1 signal: WO7 on PA23 mux F */ +#define MUX_PA23F_TCC1_WO7 _L_(5) +#define PINMUX_PA23F_TCC1_WO7 ((PIN_PA23F_TCC1_WO7 << 16) | MUX_PA23F_TCC1_WO7) +#define PORT_PA23F_TCC1_WO7 (_UL_(1) << 23) +/* ========== PORT definition for TC2 peripheral ========== */ +#define PIN_PA12E_TC2_WO0 _L_(12) /**< \brief TC2 signal: WO0 on PA12 mux E */ +#define MUX_PA12E_TC2_WO0 _L_(4) +#define PINMUX_PA12E_TC2_WO0 ((PIN_PA12E_TC2_WO0 << 16) | MUX_PA12E_TC2_WO0) +#define PORT_PA12E_TC2_WO0 (_UL_(1) << 12) +#define PIN_PA16E_TC2_WO0 _L_(16) /**< \brief TC2 signal: WO0 on PA16 mux E */ +#define MUX_PA16E_TC2_WO0 _L_(4) +#define PINMUX_PA16E_TC2_WO0 ((PIN_PA16E_TC2_WO0 << 16) | MUX_PA16E_TC2_WO0) +#define PORT_PA16E_TC2_WO0 (_UL_(1) << 16) +#define PIN_PA00E_TC2_WO0 _L_(0) /**< \brief TC2 signal: WO0 on PA00 mux E */ +#define MUX_PA00E_TC2_WO0 _L_(4) +#define PINMUX_PA00E_TC2_WO0 ((PIN_PA00E_TC2_WO0 << 16) | MUX_PA00E_TC2_WO0) +#define PORT_PA00E_TC2_WO0 (_UL_(1) << 0) +#define PIN_PA01E_TC2_WO1 _L_(1) /**< \brief TC2 signal: WO1 on PA01 mux E */ +#define MUX_PA01E_TC2_WO1 _L_(4) +#define PINMUX_PA01E_TC2_WO1 ((PIN_PA01E_TC2_WO1 << 16) | MUX_PA01E_TC2_WO1) +#define PORT_PA01E_TC2_WO1 (_UL_(1) << 1) +#define PIN_PA13E_TC2_WO1 _L_(13) /**< \brief TC2 signal: WO1 on PA13 mux E */ +#define MUX_PA13E_TC2_WO1 _L_(4) +#define PINMUX_PA13E_TC2_WO1 ((PIN_PA13E_TC2_WO1 << 16) | MUX_PA13E_TC2_WO1) +#define PORT_PA13E_TC2_WO1 (_UL_(1) << 13) +#define PIN_PA17E_TC2_WO1 _L_(17) /**< \brief TC2 signal: WO1 on PA17 mux E */ +#define MUX_PA17E_TC2_WO1 _L_(4) +#define PINMUX_PA17E_TC2_WO1 ((PIN_PA17E_TC2_WO1 << 16) | MUX_PA17E_TC2_WO1) +#define PORT_PA17E_TC2_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC3 peripheral ========== */ +#define PIN_PA18E_TC3_WO0 _L_(18) /**< \brief TC3 signal: WO0 on PA18 mux E */ +#define MUX_PA18E_TC3_WO0 _L_(4) +#define PINMUX_PA18E_TC3_WO0 ((PIN_PA18E_TC3_WO0 << 16) | MUX_PA18E_TC3_WO0) +#define PORT_PA18E_TC3_WO0 (_UL_(1) << 18) +#define PIN_PA14E_TC3_WO0 _L_(14) /**< \brief TC3 signal: WO0 on PA14 mux E */ +#define MUX_PA14E_TC3_WO0 _L_(4) +#define PINMUX_PA14E_TC3_WO0 ((PIN_PA14E_TC3_WO0 << 16) | MUX_PA14E_TC3_WO0) +#define PORT_PA14E_TC3_WO0 (_UL_(1) << 14) +#define PIN_PA15E_TC3_WO1 _L_(15) /**< \brief TC3 signal: WO1 on PA15 mux E */ +#define MUX_PA15E_TC3_WO1 _L_(4) +#define PINMUX_PA15E_TC3_WO1 ((PIN_PA15E_TC3_WO1 << 16) | MUX_PA15E_TC3_WO1) +#define PORT_PA15E_TC3_WO1 (_UL_(1) << 15) +#define PIN_PA19E_TC3_WO1 _L_(19) /**< \brief TC3 signal: WO1 on PA19 mux E */ +#define MUX_PA19E_TC3_WO1 _L_(4) +#define PINMUX_PA19E_TC3_WO1 ((PIN_PA19E_TC3_WO1 << 16) | MUX_PA19E_TC3_WO1) +#define PORT_PA19E_TC3_WO1 (_UL_(1) << 19) +/* ========== PORT definition for TAL peripheral ========== */ +#define PIN_PA27H_TAL_BRK _L_(27) /**< \brief TAL signal: BRK on PA27 mux H */ +#define MUX_PA27H_TAL_BRK _L_(7) +#define PINMUX_PA27H_TAL_BRK ((PIN_PA27H_TAL_BRK << 16) | MUX_PA27H_TAL_BRK) +#define PORT_PA27H_TAL_BRK (_UL_(1) << 27) +#define PIN_PB31H_TAL_BRK _L_(63) /**< \brief TAL signal: BRK on PB31 mux H */ +#define MUX_PB31H_TAL_BRK _L_(7) +#define PINMUX_PB31H_TAL_BRK ((PIN_PB31H_TAL_BRK << 16) | MUX_PB31H_TAL_BRK) +#define PORT_PB31H_TAL_BRK (_UL_(1) << 31) +/* ========== PORT definition for CAN0 peripheral ========== */ +#define PIN_PA23I_CAN0_RX _L_(23) /**< \brief CAN0 signal: RX on PA23 mux I */ +#define MUX_PA23I_CAN0_RX _L_(8) +#define PINMUX_PA23I_CAN0_RX ((PIN_PA23I_CAN0_RX << 16) | MUX_PA23I_CAN0_RX) +#define PORT_PA23I_CAN0_RX (_UL_(1) << 23) +#define PIN_PA25I_CAN0_RX _L_(25) /**< \brief CAN0 signal: RX on PA25 mux I */ +#define MUX_PA25I_CAN0_RX _L_(8) +#define PINMUX_PA25I_CAN0_RX ((PIN_PA25I_CAN0_RX << 16) | MUX_PA25I_CAN0_RX) +#define PORT_PA25I_CAN0_RX (_UL_(1) << 25) +#define PIN_PA22I_CAN0_TX _L_(22) /**< \brief CAN0 signal: TX on PA22 mux I */ +#define MUX_PA22I_CAN0_TX _L_(8) +#define PINMUX_PA22I_CAN0_TX ((PIN_PA22I_CAN0_TX << 16) | MUX_PA22I_CAN0_TX) +#define PORT_PA22I_CAN0_TX (_UL_(1) << 22) +#define PIN_PA24I_CAN0_TX _L_(24) /**< \brief CAN0 signal: TX on PA24 mux I */ +#define MUX_PA24I_CAN0_TX _L_(8) +#define PINMUX_PA24I_CAN0_TX ((PIN_PA24I_CAN0_TX << 16) | MUX_PA24I_CAN0_TX) +#define PORT_PA24I_CAN0_TX (_UL_(1) << 24) +/* ========== PORT definition for CAN1 peripheral ========== */ +#define PIN_PB13H_CAN1_RX _L_(45) /**< \brief CAN1 signal: RX on PB13 mux H */ +#define MUX_PB13H_CAN1_RX _L_(7) +#define PINMUX_PB13H_CAN1_RX ((PIN_PB13H_CAN1_RX << 16) | MUX_PB13H_CAN1_RX) +#define PORT_PB13H_CAN1_RX (_UL_(1) << 13) +#define PIN_PB15H_CAN1_RX _L_(47) /**< \brief CAN1 signal: RX on PB15 mux H */ +#define MUX_PB15H_CAN1_RX _L_(7) +#define PINMUX_PB15H_CAN1_RX ((PIN_PB15H_CAN1_RX << 16) | MUX_PB15H_CAN1_RX) +#define PORT_PB15H_CAN1_RX (_UL_(1) << 15) +#define PIN_PB12H_CAN1_TX _L_(44) /**< \brief CAN1 signal: TX on PB12 mux H */ +#define MUX_PB12H_CAN1_TX _L_(7) +#define PINMUX_PB12H_CAN1_TX ((PIN_PB12H_CAN1_TX << 16) | MUX_PB12H_CAN1_TX) +#define PORT_PB12H_CAN1_TX (_UL_(1) << 12) +#define PIN_PB14H_CAN1_TX _L_(46) /**< \brief CAN1 signal: TX on PB14 mux H */ +#define MUX_PB14H_CAN1_TX _L_(7) +#define PINMUX_PB14H_CAN1_TX ((PIN_PB14H_CAN1_TX << 16) | MUX_PB14H_CAN1_TX) +#define PORT_PB14H_CAN1_TX (_UL_(1) << 14) +/* ========== PORT definition for GMAC peripheral ========== */ +#define PIN_PC21L_GMAC_GCOL _L_(85) /**< \brief GMAC signal: GCOL on PC21 mux L */ +#define MUX_PC21L_GMAC_GCOL _L_(11) +#define PINMUX_PC21L_GMAC_GCOL ((PIN_PC21L_GMAC_GCOL << 16) | MUX_PC21L_GMAC_GCOL) +#define PORT_PC21L_GMAC_GCOL (_UL_(1) << 21) +#define PIN_PA16L_GMAC_GCRS _L_(16) /**< \brief GMAC signal: GCRS on PA16 mux L */ +#define MUX_PA16L_GMAC_GCRS _L_(11) +#define PINMUX_PA16L_GMAC_GCRS ((PIN_PA16L_GMAC_GCRS << 16) | MUX_PA16L_GMAC_GCRS) +#define PORT_PA16L_GMAC_GCRS (_UL_(1) << 16) +#define PIN_PA20L_GMAC_GMDC _L_(20) /**< \brief GMAC signal: GMDC on PA20 mux L */ +#define MUX_PA20L_GMAC_GMDC _L_(11) +#define PINMUX_PA20L_GMAC_GMDC ((PIN_PA20L_GMAC_GMDC << 16) | MUX_PA20L_GMAC_GMDC) +#define PORT_PA20L_GMAC_GMDC (_UL_(1) << 20) +#define PIN_PB14L_GMAC_GMDC _L_(46) /**< \brief GMAC signal: GMDC on PB14 mux L */ +#define MUX_PB14L_GMAC_GMDC _L_(11) +#define PINMUX_PB14L_GMAC_GMDC ((PIN_PB14L_GMAC_GMDC << 16) | MUX_PB14L_GMAC_GMDC) +#define PORT_PB14L_GMAC_GMDC (_UL_(1) << 14) +#define PIN_PC11L_GMAC_GMDC _L_(75) /**< \brief GMAC signal: GMDC on PC11 mux L */ +#define MUX_PC11L_GMAC_GMDC _L_(11) +#define PINMUX_PC11L_GMAC_GMDC ((PIN_PC11L_GMAC_GMDC << 16) | MUX_PC11L_GMAC_GMDC) +#define PORT_PC11L_GMAC_GMDC (_UL_(1) << 11) +#define PIN_PA21L_GMAC_GMDIO _L_(21) /**< \brief GMAC signal: GMDIO on PA21 mux L */ +#define MUX_PA21L_GMAC_GMDIO _L_(11) +#define PINMUX_PA21L_GMAC_GMDIO ((PIN_PA21L_GMAC_GMDIO << 16) | MUX_PA21L_GMAC_GMDIO) +#define PORT_PA21L_GMAC_GMDIO (_UL_(1) << 21) +#define PIN_PB15L_GMAC_GMDIO _L_(47) /**< \brief GMAC signal: GMDIO on PB15 mux L */ +#define MUX_PB15L_GMAC_GMDIO _L_(11) +#define PINMUX_PB15L_GMAC_GMDIO ((PIN_PB15L_GMAC_GMDIO << 16) | MUX_PB15L_GMAC_GMDIO) +#define PORT_PB15L_GMAC_GMDIO (_UL_(1) << 15) +#define PIN_PC12L_GMAC_GMDIO _L_(76) /**< \brief GMAC signal: GMDIO on PC12 mux L */ +#define MUX_PC12L_GMAC_GMDIO _L_(11) +#define PINMUX_PC12L_GMAC_GMDIO ((PIN_PC12L_GMAC_GMDIO << 16) | MUX_PC12L_GMAC_GMDIO) +#define PORT_PC12L_GMAC_GMDIO (_UL_(1) << 12) +#define PIN_PA13L_GMAC_GRX0 _L_(13) /**< \brief GMAC signal: GRX0 on PA13 mux L */ +#define MUX_PA13L_GMAC_GRX0 _L_(11) +#define PINMUX_PA13L_GMAC_GRX0 ((PIN_PA13L_GMAC_GRX0 << 16) | MUX_PA13L_GMAC_GRX0) +#define PORT_PA13L_GMAC_GRX0 (_UL_(1) << 13) +#define PIN_PA12L_GMAC_GRX1 _L_(12) /**< \brief GMAC signal: GRX1 on PA12 mux L */ +#define MUX_PA12L_GMAC_GRX1 _L_(11) +#define PINMUX_PA12L_GMAC_GRX1 ((PIN_PA12L_GMAC_GRX1 << 16) | MUX_PA12L_GMAC_GRX1) +#define PORT_PA12L_GMAC_GRX1 (_UL_(1) << 12) +#define PIN_PC15L_GMAC_GRX2 _L_(79) /**< \brief GMAC signal: GRX2 on PC15 mux L */ +#define MUX_PC15L_GMAC_GRX2 _L_(11) +#define PINMUX_PC15L_GMAC_GRX2 ((PIN_PC15L_GMAC_GRX2 << 16) | MUX_PC15L_GMAC_GRX2) +#define PORT_PC15L_GMAC_GRX2 (_UL_(1) << 15) +#define PIN_PC14L_GMAC_GRX3 _L_(78) /**< \brief GMAC signal: GRX3 on PC14 mux L */ +#define MUX_PC14L_GMAC_GRX3 _L_(11) +#define PINMUX_PC14L_GMAC_GRX3 ((PIN_PC14L_GMAC_GRX3 << 16) | MUX_PC14L_GMAC_GRX3) +#define PORT_PC14L_GMAC_GRX3 (_UL_(1) << 14) +#define PIN_PC18L_GMAC_GRXCK _L_(82) /**< \brief GMAC signal: GRXCK on PC18 mux L */ +#define MUX_PC18L_GMAC_GRXCK _L_(11) +#define PINMUX_PC18L_GMAC_GRXCK ((PIN_PC18L_GMAC_GRXCK << 16) | MUX_PC18L_GMAC_GRXCK) +#define PORT_PC18L_GMAC_GRXCK (_UL_(1) << 18) +#define PIN_PC20L_GMAC_GRXDV _L_(84) /**< \brief GMAC signal: GRXDV on PC20 mux L */ +#define MUX_PC20L_GMAC_GRXDV _L_(11) +#define PINMUX_PC20L_GMAC_GRXDV ((PIN_PC20L_GMAC_GRXDV << 16) | MUX_PC20L_GMAC_GRXDV) +#define PORT_PC20L_GMAC_GRXDV (_UL_(1) << 20) +#define PIN_PA15L_GMAC_GRXER _L_(15) /**< \brief GMAC signal: GRXER on PA15 mux L */ +#define MUX_PA15L_GMAC_GRXER _L_(11) +#define PINMUX_PA15L_GMAC_GRXER ((PIN_PA15L_GMAC_GRXER << 16) | MUX_PA15L_GMAC_GRXER) +#define PORT_PA15L_GMAC_GRXER (_UL_(1) << 15) +#define PIN_PA18L_GMAC_GTX0 _L_(18) /**< \brief GMAC signal: GTX0 on PA18 mux L */ +#define MUX_PA18L_GMAC_GTX0 _L_(11) +#define PINMUX_PA18L_GMAC_GTX0 ((PIN_PA18L_GMAC_GTX0 << 16) | MUX_PA18L_GMAC_GTX0) +#define PORT_PA18L_GMAC_GTX0 (_UL_(1) << 18) +#define PIN_PA19L_GMAC_GTX1 _L_(19) /**< \brief GMAC signal: GTX1 on PA19 mux L */ +#define MUX_PA19L_GMAC_GTX1 _L_(11) +#define PINMUX_PA19L_GMAC_GTX1 ((PIN_PA19L_GMAC_GTX1 << 16) | MUX_PA19L_GMAC_GTX1) +#define PORT_PA19L_GMAC_GTX1 (_UL_(1) << 19) +#define PIN_PC16L_GMAC_GTX2 _L_(80) /**< \brief GMAC signal: GTX2 on PC16 mux L */ +#define MUX_PC16L_GMAC_GTX2 _L_(11) +#define PINMUX_PC16L_GMAC_GTX2 ((PIN_PC16L_GMAC_GTX2 << 16) | MUX_PC16L_GMAC_GTX2) +#define PORT_PC16L_GMAC_GTX2 (_UL_(1) << 16) +#define PIN_PC17L_GMAC_GTX3 _L_(81) /**< \brief GMAC signal: GTX3 on PC17 mux L */ +#define MUX_PC17L_GMAC_GTX3 _L_(11) +#define PINMUX_PC17L_GMAC_GTX3 ((PIN_PC17L_GMAC_GTX3 << 16) | MUX_PC17L_GMAC_GTX3) +#define PORT_PC17L_GMAC_GTX3 (_UL_(1) << 17) +#define PIN_PA14L_GMAC_GTXCK _L_(14) /**< \brief GMAC signal: GTXCK on PA14 mux L */ +#define MUX_PA14L_GMAC_GTXCK _L_(11) +#define PINMUX_PA14L_GMAC_GTXCK ((PIN_PA14L_GMAC_GTXCK << 16) | MUX_PA14L_GMAC_GTXCK) +#define PORT_PA14L_GMAC_GTXCK (_UL_(1) << 14) +#define PIN_PA17L_GMAC_GTXEN _L_(17) /**< \brief GMAC signal: GTXEN on PA17 mux L */ +#define MUX_PA17L_GMAC_GTXEN _L_(11) +#define PINMUX_PA17L_GMAC_GTXEN ((PIN_PA17L_GMAC_GTXEN << 16) | MUX_PA17L_GMAC_GTXEN) +#define PORT_PA17L_GMAC_GTXEN (_UL_(1) << 17) +#define PIN_PC19L_GMAC_GTXER _L_(83) /**< \brief GMAC signal: GTXER on PC19 mux L */ +#define MUX_PC19L_GMAC_GTXER _L_(11) +#define PINMUX_PC19L_GMAC_GTXER ((PIN_PC19L_GMAC_GTXER << 16) | MUX_PC19L_GMAC_GTXER) +#define PORT_PC19L_GMAC_GTXER (_UL_(1) << 19) +/* ========== PORT definition for TCC2 peripheral ========== */ +#define PIN_PA14F_TCC2_WO0 _L_(14) /**< \brief TCC2 signal: WO0 on PA14 mux F */ +#define MUX_PA14F_TCC2_WO0 _L_(5) +#define PINMUX_PA14F_TCC2_WO0 ((PIN_PA14F_TCC2_WO0 << 16) | MUX_PA14F_TCC2_WO0) +#define PORT_PA14F_TCC2_WO0 (_UL_(1) << 14) +#define PIN_PA30F_TCC2_WO0 _L_(30) /**< \brief TCC2 signal: WO0 on PA30 mux F */ +#define MUX_PA30F_TCC2_WO0 _L_(5) +#define PINMUX_PA30F_TCC2_WO0 ((PIN_PA30F_TCC2_WO0 << 16) | MUX_PA30F_TCC2_WO0) +#define PORT_PA30F_TCC2_WO0 (_UL_(1) << 30) +#define PIN_PA15F_TCC2_WO1 _L_(15) /**< \brief TCC2 signal: WO1 on PA15 mux F */ +#define MUX_PA15F_TCC2_WO1 _L_(5) +#define PINMUX_PA15F_TCC2_WO1 ((PIN_PA15F_TCC2_WO1 << 16) | MUX_PA15F_TCC2_WO1) +#define PORT_PA15F_TCC2_WO1 (_UL_(1) << 15) +#define PIN_PA31F_TCC2_WO1 _L_(31) /**< \brief TCC2 signal: WO1 on PA31 mux F */ +#define MUX_PA31F_TCC2_WO1 _L_(5) +#define PINMUX_PA31F_TCC2_WO1 ((PIN_PA31F_TCC2_WO1 << 16) | MUX_PA31F_TCC2_WO1) +#define PORT_PA31F_TCC2_WO1 (_UL_(1) << 31) +#define PIN_PA24F_TCC2_WO2 _L_(24) /**< \brief TCC2 signal: WO2 on PA24 mux F */ +#define MUX_PA24F_TCC2_WO2 _L_(5) +#define PINMUX_PA24F_TCC2_WO2 ((PIN_PA24F_TCC2_WO2 << 16) | MUX_PA24F_TCC2_WO2) +#define PORT_PA24F_TCC2_WO2 (_UL_(1) << 24) +#define PIN_PB02F_TCC2_WO2 _L_(34) /**< \brief TCC2 signal: WO2 on PB02 mux F */ +#define MUX_PB02F_TCC2_WO2 _L_(5) +#define PINMUX_PB02F_TCC2_WO2 ((PIN_PB02F_TCC2_WO2 << 16) | MUX_PB02F_TCC2_WO2) +#define PORT_PB02F_TCC2_WO2 (_UL_(1) << 2) +/* ========== PORT definition for TCC3 peripheral ========== */ +#define PIN_PB12F_TCC3_WO0 _L_(44) /**< \brief TCC3 signal: WO0 on PB12 mux F */ +#define MUX_PB12F_TCC3_WO0 _L_(5) +#define PINMUX_PB12F_TCC3_WO0 ((PIN_PB12F_TCC3_WO0 << 16) | MUX_PB12F_TCC3_WO0) +#define PORT_PB12F_TCC3_WO0 (_UL_(1) << 12) +#define PIN_PB16F_TCC3_WO0 _L_(48) /**< \brief TCC3 signal: WO0 on PB16 mux F */ +#define MUX_PB16F_TCC3_WO0 _L_(5) +#define PINMUX_PB16F_TCC3_WO0 ((PIN_PB16F_TCC3_WO0 << 16) | MUX_PB16F_TCC3_WO0) +#define PORT_PB16F_TCC3_WO0 (_UL_(1) << 16) +#define PIN_PB13F_TCC3_WO1 _L_(45) /**< \brief TCC3 signal: WO1 on PB13 mux F */ +#define MUX_PB13F_TCC3_WO1 _L_(5) +#define PINMUX_PB13F_TCC3_WO1 ((PIN_PB13F_TCC3_WO1 << 16) | MUX_PB13F_TCC3_WO1) +#define PORT_PB13F_TCC3_WO1 (_UL_(1) << 13) +#define PIN_PB17F_TCC3_WO1 _L_(49) /**< \brief TCC3 signal: WO1 on PB17 mux F */ +#define MUX_PB17F_TCC3_WO1 _L_(5) +#define PINMUX_PB17F_TCC3_WO1 ((PIN_PB17F_TCC3_WO1 << 16) | MUX_PB17F_TCC3_WO1) +#define PORT_PB17F_TCC3_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC4 peripheral ========== */ +#define PIN_PA22E_TC4_WO0 _L_(22) /**< \brief TC4 signal: WO0 on PA22 mux E */ +#define MUX_PA22E_TC4_WO0 _L_(4) +#define PINMUX_PA22E_TC4_WO0 ((PIN_PA22E_TC4_WO0 << 16) | MUX_PA22E_TC4_WO0) +#define PORT_PA22E_TC4_WO0 (_UL_(1) << 22) +#define PIN_PB08E_TC4_WO0 _L_(40) /**< \brief TC4 signal: WO0 on PB08 mux E */ +#define MUX_PB08E_TC4_WO0 _L_(4) +#define PINMUX_PB08E_TC4_WO0 ((PIN_PB08E_TC4_WO0 << 16) | MUX_PB08E_TC4_WO0) +#define PORT_PB08E_TC4_WO0 (_UL_(1) << 8) +#define PIN_PB12E_TC4_WO0 _L_(44) /**< \brief TC4 signal: WO0 on PB12 mux E */ +#define MUX_PB12E_TC4_WO0 _L_(4) +#define PINMUX_PB12E_TC4_WO0 ((PIN_PB12E_TC4_WO0 << 16) | MUX_PB12E_TC4_WO0) +#define PORT_PB12E_TC4_WO0 (_UL_(1) << 12) +#define PIN_PA23E_TC4_WO1 _L_(23) /**< \brief TC4 signal: WO1 on PA23 mux E */ +#define MUX_PA23E_TC4_WO1 _L_(4) +#define PINMUX_PA23E_TC4_WO1 ((PIN_PA23E_TC4_WO1 << 16) | MUX_PA23E_TC4_WO1) +#define PORT_PA23E_TC4_WO1 (_UL_(1) << 23) +#define PIN_PB09E_TC4_WO1 _L_(41) /**< \brief TC4 signal: WO1 on PB09 mux E */ +#define MUX_PB09E_TC4_WO1 _L_(4) +#define PINMUX_PB09E_TC4_WO1 ((PIN_PB09E_TC4_WO1 << 16) | MUX_PB09E_TC4_WO1) +#define PORT_PB09E_TC4_WO1 (_UL_(1) << 9) +#define PIN_PB13E_TC4_WO1 _L_(45) /**< \brief TC4 signal: WO1 on PB13 mux E */ +#define MUX_PB13E_TC4_WO1 _L_(4) +#define PINMUX_PB13E_TC4_WO1 ((PIN_PB13E_TC4_WO1 << 16) | MUX_PB13E_TC4_WO1) +#define PORT_PB13E_TC4_WO1 (_UL_(1) << 13) +/* ========== PORT definition for TC5 peripheral ========== */ +#define PIN_PA24E_TC5_WO0 _L_(24) /**< \brief TC5 signal: WO0 on PA24 mux E */ +#define MUX_PA24E_TC5_WO0 _L_(4) +#define PINMUX_PA24E_TC5_WO0 ((PIN_PA24E_TC5_WO0 << 16) | MUX_PA24E_TC5_WO0) +#define PORT_PA24E_TC5_WO0 (_UL_(1) << 24) +#define PIN_PB10E_TC5_WO0 _L_(42) /**< \brief TC5 signal: WO0 on PB10 mux E */ +#define MUX_PB10E_TC5_WO0 _L_(4) +#define PINMUX_PB10E_TC5_WO0 ((PIN_PB10E_TC5_WO0 << 16) | MUX_PB10E_TC5_WO0) +#define PORT_PB10E_TC5_WO0 (_UL_(1) << 10) +#define PIN_PB14E_TC5_WO0 _L_(46) /**< \brief TC5 signal: WO0 on PB14 mux E */ +#define MUX_PB14E_TC5_WO0 _L_(4) +#define PINMUX_PB14E_TC5_WO0 ((PIN_PB14E_TC5_WO0 << 16) | MUX_PB14E_TC5_WO0) +#define PORT_PB14E_TC5_WO0 (_UL_(1) << 14) +#define PIN_PA25E_TC5_WO1 _L_(25) /**< \brief TC5 signal: WO1 on PA25 mux E */ +#define MUX_PA25E_TC5_WO1 _L_(4) +#define PINMUX_PA25E_TC5_WO1 ((PIN_PA25E_TC5_WO1 << 16) | MUX_PA25E_TC5_WO1) +#define PORT_PA25E_TC5_WO1 (_UL_(1) << 25) +#define PIN_PB11E_TC5_WO1 _L_(43) /**< \brief TC5 signal: WO1 on PB11 mux E */ +#define MUX_PB11E_TC5_WO1 _L_(4) +#define PINMUX_PB11E_TC5_WO1 ((PIN_PB11E_TC5_WO1 << 16) | MUX_PB11E_TC5_WO1) +#define PORT_PB11E_TC5_WO1 (_UL_(1) << 11) +#define PIN_PB15E_TC5_WO1 _L_(47) /**< \brief TC5 signal: WO1 on PB15 mux E */ +#define MUX_PB15E_TC5_WO1 _L_(4) +#define PINMUX_PB15E_TC5_WO1 ((PIN_PB15E_TC5_WO1 << 16) | MUX_PB15E_TC5_WO1) +#define PORT_PB15E_TC5_WO1 (_UL_(1) << 15) +/* ========== PORT definition for PDEC peripheral ========== */ +#define PIN_PB18G_PDEC_QDI0 _L_(50) /**< \brief PDEC signal: QDI0 on PB18 mux G */ +#define MUX_PB18G_PDEC_QDI0 _L_(6) +#define PINMUX_PB18G_PDEC_QDI0 ((PIN_PB18G_PDEC_QDI0 << 16) | MUX_PB18G_PDEC_QDI0) +#define PORT_PB18G_PDEC_QDI0 (_UL_(1) << 18) +#define PIN_PB23G_PDEC_QDI0 _L_(55) /**< \brief PDEC signal: QDI0 on PB23 mux G */ +#define MUX_PB23G_PDEC_QDI0 _L_(6) +#define PINMUX_PB23G_PDEC_QDI0 ((PIN_PB23G_PDEC_QDI0 << 16) | MUX_PB23G_PDEC_QDI0) +#define PORT_PB23G_PDEC_QDI0 (_UL_(1) << 23) +#define PIN_PC16G_PDEC_QDI0 _L_(80) /**< \brief PDEC signal: QDI0 on PC16 mux G */ +#define MUX_PC16G_PDEC_QDI0 _L_(6) +#define PINMUX_PC16G_PDEC_QDI0 ((PIN_PC16G_PDEC_QDI0 << 16) | MUX_PC16G_PDEC_QDI0) +#define PORT_PC16G_PDEC_QDI0 (_UL_(1) << 16) +#define PIN_PA24G_PDEC_QDI0 _L_(24) /**< \brief PDEC signal: QDI0 on PA24 mux G */ +#define MUX_PA24G_PDEC_QDI0 _L_(6) +#define PINMUX_PA24G_PDEC_QDI0 ((PIN_PA24G_PDEC_QDI0 << 16) | MUX_PA24G_PDEC_QDI0) +#define PORT_PA24G_PDEC_QDI0 (_UL_(1) << 24) +#define PIN_PB19G_PDEC_QDI1 _L_(51) /**< \brief PDEC signal: QDI1 on PB19 mux G */ +#define MUX_PB19G_PDEC_QDI1 _L_(6) +#define PINMUX_PB19G_PDEC_QDI1 ((PIN_PB19G_PDEC_QDI1 << 16) | MUX_PB19G_PDEC_QDI1) +#define PORT_PB19G_PDEC_QDI1 (_UL_(1) << 19) +#define PIN_PB24G_PDEC_QDI1 _L_(56) /**< \brief PDEC signal: QDI1 on PB24 mux G */ +#define MUX_PB24G_PDEC_QDI1 _L_(6) +#define PINMUX_PB24G_PDEC_QDI1 ((PIN_PB24G_PDEC_QDI1 << 16) | MUX_PB24G_PDEC_QDI1) +#define PORT_PB24G_PDEC_QDI1 (_UL_(1) << 24) +#define PIN_PC17G_PDEC_QDI1 _L_(81) /**< \brief PDEC signal: QDI1 on PC17 mux G */ +#define MUX_PC17G_PDEC_QDI1 _L_(6) +#define PINMUX_PC17G_PDEC_QDI1 ((PIN_PC17G_PDEC_QDI1 << 16) | MUX_PC17G_PDEC_QDI1) +#define PORT_PC17G_PDEC_QDI1 (_UL_(1) << 17) +#define PIN_PA25G_PDEC_QDI1 _L_(25) /**< \brief PDEC signal: QDI1 on PA25 mux G */ +#define MUX_PA25G_PDEC_QDI1 _L_(6) +#define PINMUX_PA25G_PDEC_QDI1 ((PIN_PA25G_PDEC_QDI1 << 16) | MUX_PA25G_PDEC_QDI1) +#define PORT_PA25G_PDEC_QDI1 (_UL_(1) << 25) +#define PIN_PB20G_PDEC_QDI2 _L_(52) /**< \brief PDEC signal: QDI2 on PB20 mux G */ +#define MUX_PB20G_PDEC_QDI2 _L_(6) +#define PINMUX_PB20G_PDEC_QDI2 ((PIN_PB20G_PDEC_QDI2 << 16) | MUX_PB20G_PDEC_QDI2) +#define PORT_PB20G_PDEC_QDI2 (_UL_(1) << 20) +#define PIN_PB25G_PDEC_QDI2 _L_(57) /**< \brief PDEC signal: QDI2 on PB25 mux G */ +#define MUX_PB25G_PDEC_QDI2 _L_(6) +#define PINMUX_PB25G_PDEC_QDI2 ((PIN_PB25G_PDEC_QDI2 << 16) | MUX_PB25G_PDEC_QDI2) +#define PORT_PB25G_PDEC_QDI2 (_UL_(1) << 25) +#define PIN_PC18G_PDEC_QDI2 _L_(82) /**< \brief PDEC signal: QDI2 on PC18 mux G */ +#define MUX_PC18G_PDEC_QDI2 _L_(6) +#define PINMUX_PC18G_PDEC_QDI2 ((PIN_PC18G_PDEC_QDI2 << 16) | MUX_PC18G_PDEC_QDI2) +#define PORT_PC18G_PDEC_QDI2 (_UL_(1) << 18) +#define PIN_PB22G_PDEC_QDI2 _L_(54) /**< \brief PDEC signal: QDI2 on PB22 mux G */ +#define MUX_PB22G_PDEC_QDI2 _L_(6) +#define PINMUX_PB22G_PDEC_QDI2 ((PIN_PB22G_PDEC_QDI2 << 16) | MUX_PB22G_PDEC_QDI2) +#define PORT_PB22G_PDEC_QDI2 (_UL_(1) << 22) +/* ========== PORT definition for AC peripheral ========== */ +#define PIN_PA04B_AC_AIN0 _L_(4) /**< \brief AC signal: AIN0 on PA04 mux B */ +#define MUX_PA04B_AC_AIN0 _L_(1) +#define PINMUX_PA04B_AC_AIN0 ((PIN_PA04B_AC_AIN0 << 16) | MUX_PA04B_AC_AIN0) +#define PORT_PA04B_AC_AIN0 (_UL_(1) << 4) +#define PIN_PA05B_AC_AIN1 _L_(5) /**< \brief AC signal: AIN1 on PA05 mux B */ +#define MUX_PA05B_AC_AIN1 _L_(1) +#define PINMUX_PA05B_AC_AIN1 ((PIN_PA05B_AC_AIN1 << 16) | MUX_PA05B_AC_AIN1) +#define PORT_PA05B_AC_AIN1 (_UL_(1) << 5) +#define PIN_PA06B_AC_AIN2 _L_(6) /**< \brief AC signal: AIN2 on PA06 mux B */ +#define MUX_PA06B_AC_AIN2 _L_(1) +#define PINMUX_PA06B_AC_AIN2 ((PIN_PA06B_AC_AIN2 << 16) | MUX_PA06B_AC_AIN2) +#define PORT_PA06B_AC_AIN2 (_UL_(1) << 6) +#define PIN_PA07B_AC_AIN3 _L_(7) /**< \brief AC signal: AIN3 on PA07 mux B */ +#define MUX_PA07B_AC_AIN3 _L_(1) +#define PINMUX_PA07B_AC_AIN3 ((PIN_PA07B_AC_AIN3 << 16) | MUX_PA07B_AC_AIN3) +#define PORT_PA07B_AC_AIN3 (_UL_(1) << 7) +#define PIN_PA12M_AC_CMP0 _L_(12) /**< \brief AC signal: CMP0 on PA12 mux M */ +#define MUX_PA12M_AC_CMP0 _L_(12) +#define PINMUX_PA12M_AC_CMP0 ((PIN_PA12M_AC_CMP0 << 16) | MUX_PA12M_AC_CMP0) +#define PORT_PA12M_AC_CMP0 (_UL_(1) << 12) +#define PIN_PA18M_AC_CMP0 _L_(18) /**< \brief AC signal: CMP0 on PA18 mux M */ +#define MUX_PA18M_AC_CMP0 _L_(12) +#define PINMUX_PA18M_AC_CMP0 ((PIN_PA18M_AC_CMP0 << 16) | MUX_PA18M_AC_CMP0) +#define PORT_PA18M_AC_CMP0 (_UL_(1) << 18) +#define PIN_PB24M_AC_CMP0 _L_(56) /**< \brief AC signal: CMP0 on PB24 mux M */ +#define MUX_PB24M_AC_CMP0 _L_(12) +#define PINMUX_PB24M_AC_CMP0 ((PIN_PB24M_AC_CMP0 << 16) | MUX_PB24M_AC_CMP0) +#define PORT_PB24M_AC_CMP0 (_UL_(1) << 24) +#define PIN_PA13M_AC_CMP1 _L_(13) /**< \brief AC signal: CMP1 on PA13 mux M */ +#define MUX_PA13M_AC_CMP1 _L_(12) +#define PINMUX_PA13M_AC_CMP1 ((PIN_PA13M_AC_CMP1 << 16) | MUX_PA13M_AC_CMP1) +#define PORT_PA13M_AC_CMP1 (_UL_(1) << 13) +#define PIN_PA19M_AC_CMP1 _L_(19) /**< \brief AC signal: CMP1 on PA19 mux M */ +#define MUX_PA19M_AC_CMP1 _L_(12) +#define PINMUX_PA19M_AC_CMP1 ((PIN_PA19M_AC_CMP1 << 16) | MUX_PA19M_AC_CMP1) +#define PORT_PA19M_AC_CMP1 (_UL_(1) << 19) +#define PIN_PB25M_AC_CMP1 _L_(57) /**< \brief AC signal: CMP1 on PB25 mux M */ +#define MUX_PB25M_AC_CMP1 _L_(12) +#define PINMUX_PB25M_AC_CMP1 ((PIN_PB25M_AC_CMP1 << 16) | MUX_PB25M_AC_CMP1) +#define PORT_PB25M_AC_CMP1 (_UL_(1) << 25) +/* ========== PORT definition for QSPI peripheral ========== */ +#define PIN_PB11H_QSPI_CS _L_(43) /**< \brief QSPI signal: CS on PB11 mux H */ +#define MUX_PB11H_QSPI_CS _L_(7) +#define PINMUX_PB11H_QSPI_CS ((PIN_PB11H_QSPI_CS << 16) | MUX_PB11H_QSPI_CS) +#define PORT_PB11H_QSPI_CS (_UL_(1) << 11) +#define PIN_PA08H_QSPI_DATA0 _L_(8) /**< \brief QSPI signal: DATA0 on PA08 mux H */ +#define MUX_PA08H_QSPI_DATA0 _L_(7) +#define PINMUX_PA08H_QSPI_DATA0 ((PIN_PA08H_QSPI_DATA0 << 16) | MUX_PA08H_QSPI_DATA0) +#define PORT_PA08H_QSPI_DATA0 (_UL_(1) << 8) +#define PIN_PA09H_QSPI_DATA1 _L_(9) /**< \brief QSPI signal: DATA1 on PA09 mux H */ +#define MUX_PA09H_QSPI_DATA1 _L_(7) +#define PINMUX_PA09H_QSPI_DATA1 ((PIN_PA09H_QSPI_DATA1 << 16) | MUX_PA09H_QSPI_DATA1) +#define PORT_PA09H_QSPI_DATA1 (_UL_(1) << 9) +#define PIN_PA10H_QSPI_DATA2 _L_(10) /**< \brief QSPI signal: DATA2 on PA10 mux H */ +#define MUX_PA10H_QSPI_DATA2 _L_(7) +#define PINMUX_PA10H_QSPI_DATA2 ((PIN_PA10H_QSPI_DATA2 << 16) | MUX_PA10H_QSPI_DATA2) +#define PORT_PA10H_QSPI_DATA2 (_UL_(1) << 10) +#define PIN_PA11H_QSPI_DATA3 _L_(11) /**< \brief QSPI signal: DATA3 on PA11 mux H */ +#define MUX_PA11H_QSPI_DATA3 _L_(7) +#define PINMUX_PA11H_QSPI_DATA3 ((PIN_PA11H_QSPI_DATA3 << 16) | MUX_PA11H_QSPI_DATA3) +#define PORT_PA11H_QSPI_DATA3 (_UL_(1) << 11) +#define PIN_PB10H_QSPI_SCK _L_(42) /**< \brief QSPI signal: SCK on PB10 mux H */ +#define MUX_PB10H_QSPI_SCK _L_(7) +#define PINMUX_PB10H_QSPI_SCK ((PIN_PB10H_QSPI_SCK << 16) | MUX_PB10H_QSPI_SCK) +#define PORT_PB10H_QSPI_SCK (_UL_(1) << 10) +/* ========== PORT definition for CCL peripheral ========== */ +#define PIN_PA04N_CCL_IN0 _L_(4) /**< \brief CCL signal: IN0 on PA04 mux N */ +#define MUX_PA04N_CCL_IN0 _L_(13) +#define PINMUX_PA04N_CCL_IN0 ((PIN_PA04N_CCL_IN0 << 16) | MUX_PA04N_CCL_IN0) +#define PORT_PA04N_CCL_IN0 (_UL_(1) << 4) +#define PIN_PA16N_CCL_IN0 _L_(16) /**< \brief CCL signal: IN0 on PA16 mux N */ +#define MUX_PA16N_CCL_IN0 _L_(13) +#define PINMUX_PA16N_CCL_IN0 ((PIN_PA16N_CCL_IN0 << 16) | MUX_PA16N_CCL_IN0) +#define PORT_PA16N_CCL_IN0 (_UL_(1) << 16) +#define PIN_PB22N_CCL_IN0 _L_(54) /**< \brief CCL signal: IN0 on PB22 mux N */ +#define MUX_PB22N_CCL_IN0 _L_(13) +#define PINMUX_PB22N_CCL_IN0 ((PIN_PB22N_CCL_IN0 << 16) | MUX_PB22N_CCL_IN0) +#define PORT_PB22N_CCL_IN0 (_UL_(1) << 22) +#define PIN_PA05N_CCL_IN1 _L_(5) /**< \brief CCL signal: IN1 on PA05 mux N */ +#define MUX_PA05N_CCL_IN1 _L_(13) +#define PINMUX_PA05N_CCL_IN1 ((PIN_PA05N_CCL_IN1 << 16) | MUX_PA05N_CCL_IN1) +#define PORT_PA05N_CCL_IN1 (_UL_(1) << 5) +#define PIN_PA17N_CCL_IN1 _L_(17) /**< \brief CCL signal: IN1 on PA17 mux N */ +#define MUX_PA17N_CCL_IN1 _L_(13) +#define PINMUX_PA17N_CCL_IN1 ((PIN_PA17N_CCL_IN1 << 16) | MUX_PA17N_CCL_IN1) +#define PORT_PA17N_CCL_IN1 (_UL_(1) << 17) +#define PIN_PB00N_CCL_IN1 _L_(32) /**< \brief CCL signal: IN1 on PB00 mux N */ +#define MUX_PB00N_CCL_IN1 _L_(13) +#define PINMUX_PB00N_CCL_IN1 ((PIN_PB00N_CCL_IN1 << 16) | MUX_PB00N_CCL_IN1) +#define PORT_PB00N_CCL_IN1 (_UL_(1) << 0) +#define PIN_PA06N_CCL_IN2 _L_(6) /**< \brief CCL signal: IN2 on PA06 mux N */ +#define MUX_PA06N_CCL_IN2 _L_(13) +#define PINMUX_PA06N_CCL_IN2 ((PIN_PA06N_CCL_IN2 << 16) | MUX_PA06N_CCL_IN2) +#define PORT_PA06N_CCL_IN2 (_UL_(1) << 6) +#define PIN_PA18N_CCL_IN2 _L_(18) /**< \brief CCL signal: IN2 on PA18 mux N */ +#define MUX_PA18N_CCL_IN2 _L_(13) +#define PINMUX_PA18N_CCL_IN2 ((PIN_PA18N_CCL_IN2 << 16) | MUX_PA18N_CCL_IN2) +#define PORT_PA18N_CCL_IN2 (_UL_(1) << 18) +#define PIN_PB01N_CCL_IN2 _L_(33) /**< \brief CCL signal: IN2 on PB01 mux N */ +#define MUX_PB01N_CCL_IN2 _L_(13) +#define PINMUX_PB01N_CCL_IN2 ((PIN_PB01N_CCL_IN2 << 16) | MUX_PB01N_CCL_IN2) +#define PORT_PB01N_CCL_IN2 (_UL_(1) << 1) +#define PIN_PA08N_CCL_IN3 _L_(8) /**< \brief CCL signal: IN3 on PA08 mux N */ +#define MUX_PA08N_CCL_IN3 _L_(13) +#define PINMUX_PA08N_CCL_IN3 ((PIN_PA08N_CCL_IN3 << 16) | MUX_PA08N_CCL_IN3) +#define PORT_PA08N_CCL_IN3 (_UL_(1) << 8) +#define PIN_PA30N_CCL_IN3 _L_(30) /**< \brief CCL signal: IN3 on PA30 mux N */ +#define MUX_PA30N_CCL_IN3 _L_(13) +#define PINMUX_PA30N_CCL_IN3 ((PIN_PA30N_CCL_IN3 << 16) | MUX_PA30N_CCL_IN3) +#define PORT_PA30N_CCL_IN3 (_UL_(1) << 30) +#define PIN_PA09N_CCL_IN4 _L_(9) /**< \brief CCL signal: IN4 on PA09 mux N */ +#define MUX_PA09N_CCL_IN4 _L_(13) +#define PINMUX_PA09N_CCL_IN4 ((PIN_PA09N_CCL_IN4 << 16) | MUX_PA09N_CCL_IN4) +#define PORT_PA09N_CCL_IN4 (_UL_(1) << 9) +#define PIN_PC27N_CCL_IN4 _L_(91) /**< \brief CCL signal: IN4 on PC27 mux N */ +#define MUX_PC27N_CCL_IN4 _L_(13) +#define PINMUX_PC27N_CCL_IN4 ((PIN_PC27N_CCL_IN4 << 16) | MUX_PC27N_CCL_IN4) +#define PORT_PC27N_CCL_IN4 (_UL_(1) << 27) +#define PIN_PA10N_CCL_IN5 _L_(10) /**< \brief CCL signal: IN5 on PA10 mux N */ +#define MUX_PA10N_CCL_IN5 _L_(13) +#define PINMUX_PA10N_CCL_IN5 ((PIN_PA10N_CCL_IN5 << 16) | MUX_PA10N_CCL_IN5) +#define PORT_PA10N_CCL_IN5 (_UL_(1) << 10) +#define PIN_PC28N_CCL_IN5 _L_(92) /**< \brief CCL signal: IN5 on PC28 mux N */ +#define MUX_PC28N_CCL_IN5 _L_(13) +#define PINMUX_PC28N_CCL_IN5 ((PIN_PC28N_CCL_IN5 << 16) | MUX_PC28N_CCL_IN5) +#define PORT_PC28N_CCL_IN5 (_UL_(1) << 28) +#define PIN_PA22N_CCL_IN6 _L_(22) /**< \brief CCL signal: IN6 on PA22 mux N */ +#define MUX_PA22N_CCL_IN6 _L_(13) +#define PINMUX_PA22N_CCL_IN6 ((PIN_PA22N_CCL_IN6 << 16) | MUX_PA22N_CCL_IN6) +#define PORT_PA22N_CCL_IN6 (_UL_(1) << 22) +#define PIN_PB06N_CCL_IN6 _L_(38) /**< \brief CCL signal: IN6 on PB06 mux N */ +#define MUX_PB06N_CCL_IN6 _L_(13) +#define PINMUX_PB06N_CCL_IN6 ((PIN_PB06N_CCL_IN6 << 16) | MUX_PB06N_CCL_IN6) +#define PORT_PB06N_CCL_IN6 (_UL_(1) << 6) +#define PIN_PA23N_CCL_IN7 _L_(23) /**< \brief CCL signal: IN7 on PA23 mux N */ +#define MUX_PA23N_CCL_IN7 _L_(13) +#define PINMUX_PA23N_CCL_IN7 ((PIN_PA23N_CCL_IN7 << 16) | MUX_PA23N_CCL_IN7) +#define PORT_PA23N_CCL_IN7 (_UL_(1) << 23) +#define PIN_PB07N_CCL_IN7 _L_(39) /**< \brief CCL signal: IN7 on PB07 mux N */ +#define MUX_PB07N_CCL_IN7 _L_(13) +#define PINMUX_PB07N_CCL_IN7 ((PIN_PB07N_CCL_IN7 << 16) | MUX_PB07N_CCL_IN7) +#define PORT_PB07N_CCL_IN7 (_UL_(1) << 7) +#define PIN_PA24N_CCL_IN8 _L_(24) /**< \brief CCL signal: IN8 on PA24 mux N */ +#define MUX_PA24N_CCL_IN8 _L_(13) +#define PINMUX_PA24N_CCL_IN8 ((PIN_PA24N_CCL_IN8 << 16) | MUX_PA24N_CCL_IN8) +#define PORT_PA24N_CCL_IN8 (_UL_(1) << 24) +#define PIN_PB08N_CCL_IN8 _L_(40) /**< \brief CCL signal: IN8 on PB08 mux N */ +#define MUX_PB08N_CCL_IN8 _L_(13) +#define PINMUX_PB08N_CCL_IN8 ((PIN_PB08N_CCL_IN8 << 16) | MUX_PB08N_CCL_IN8) +#define PORT_PB08N_CCL_IN8 (_UL_(1) << 8) +#define PIN_PB14N_CCL_IN9 _L_(46) /**< \brief CCL signal: IN9 on PB14 mux N */ +#define MUX_PB14N_CCL_IN9 _L_(13) +#define PINMUX_PB14N_CCL_IN9 ((PIN_PB14N_CCL_IN9 << 16) | MUX_PB14N_CCL_IN9) +#define PORT_PB14N_CCL_IN9 (_UL_(1) << 14) +#define PIN_PC20N_CCL_IN9 _L_(84) /**< \brief CCL signal: IN9 on PC20 mux N */ +#define MUX_PC20N_CCL_IN9 _L_(13) +#define PINMUX_PC20N_CCL_IN9 ((PIN_PC20N_CCL_IN9 << 16) | MUX_PC20N_CCL_IN9) +#define PORT_PC20N_CCL_IN9 (_UL_(1) << 20) +#define PIN_PB15N_CCL_IN10 _L_(47) /**< \brief CCL signal: IN10 on PB15 mux N */ +#define MUX_PB15N_CCL_IN10 _L_(13) +#define PINMUX_PB15N_CCL_IN10 ((PIN_PB15N_CCL_IN10 << 16) | MUX_PB15N_CCL_IN10) +#define PORT_PB15N_CCL_IN10 (_UL_(1) << 15) +#define PIN_PC21N_CCL_IN10 _L_(85) /**< \brief CCL signal: IN10 on PC21 mux N */ +#define MUX_PC21N_CCL_IN10 _L_(13) +#define PINMUX_PC21N_CCL_IN10 ((PIN_PC21N_CCL_IN10 << 16) | MUX_PC21N_CCL_IN10) +#define PORT_PC21N_CCL_IN10 (_UL_(1) << 21) +#define PIN_PB10N_CCL_IN11 _L_(42) /**< \brief CCL signal: IN11 on PB10 mux N */ +#define MUX_PB10N_CCL_IN11 _L_(13) +#define PINMUX_PB10N_CCL_IN11 ((PIN_PB10N_CCL_IN11 << 16) | MUX_PB10N_CCL_IN11) +#define PORT_PB10N_CCL_IN11 (_UL_(1) << 10) +#define PIN_PB16N_CCL_IN11 _L_(48) /**< \brief CCL signal: IN11 on PB16 mux N */ +#define MUX_PB16N_CCL_IN11 _L_(13) +#define PINMUX_PB16N_CCL_IN11 ((PIN_PB16N_CCL_IN11 << 16) | MUX_PB16N_CCL_IN11) +#define PORT_PB16N_CCL_IN11 (_UL_(1) << 16) +#define PIN_PA07N_CCL_OUT0 _L_(7) /**< \brief CCL signal: OUT0 on PA07 mux N */ +#define MUX_PA07N_CCL_OUT0 _L_(13) +#define PINMUX_PA07N_CCL_OUT0 ((PIN_PA07N_CCL_OUT0 << 16) | MUX_PA07N_CCL_OUT0) +#define PORT_PA07N_CCL_OUT0 (_UL_(1) << 7) +#define PIN_PA19N_CCL_OUT0 _L_(19) /**< \brief CCL signal: OUT0 on PA19 mux N */ +#define MUX_PA19N_CCL_OUT0 _L_(13) +#define PINMUX_PA19N_CCL_OUT0 ((PIN_PA19N_CCL_OUT0 << 16) | MUX_PA19N_CCL_OUT0) +#define PORT_PA19N_CCL_OUT0 (_UL_(1) << 19) +#define PIN_PB02N_CCL_OUT0 _L_(34) /**< \brief CCL signal: OUT0 on PB02 mux N */ +#define MUX_PB02N_CCL_OUT0 _L_(13) +#define PINMUX_PB02N_CCL_OUT0 ((PIN_PB02N_CCL_OUT0 << 16) | MUX_PB02N_CCL_OUT0) +#define PORT_PB02N_CCL_OUT0 (_UL_(1) << 2) +#define PIN_PB23N_CCL_OUT0 _L_(55) /**< \brief CCL signal: OUT0 on PB23 mux N */ +#define MUX_PB23N_CCL_OUT0 _L_(13) +#define PINMUX_PB23N_CCL_OUT0 ((PIN_PB23N_CCL_OUT0 << 16) | MUX_PB23N_CCL_OUT0) +#define PORT_PB23N_CCL_OUT0 (_UL_(1) << 23) +#define PIN_PA11N_CCL_OUT1 _L_(11) /**< \brief CCL signal: OUT1 on PA11 mux N */ +#define MUX_PA11N_CCL_OUT1 _L_(13) +#define PINMUX_PA11N_CCL_OUT1 ((PIN_PA11N_CCL_OUT1 << 16) | MUX_PA11N_CCL_OUT1) +#define PORT_PA11N_CCL_OUT1 (_UL_(1) << 11) +#define PIN_PA31N_CCL_OUT1 _L_(31) /**< \brief CCL signal: OUT1 on PA31 mux N */ +#define MUX_PA31N_CCL_OUT1 _L_(13) +#define PINMUX_PA31N_CCL_OUT1 ((PIN_PA31N_CCL_OUT1 << 16) | MUX_PA31N_CCL_OUT1) +#define PORT_PA31N_CCL_OUT1 (_UL_(1) << 31) +#define PIN_PB11N_CCL_OUT1 _L_(43) /**< \brief CCL signal: OUT1 on PB11 mux N */ +#define MUX_PB11N_CCL_OUT1 _L_(13) +#define PINMUX_PB11N_CCL_OUT1 ((PIN_PB11N_CCL_OUT1 << 16) | MUX_PB11N_CCL_OUT1) +#define PORT_PB11N_CCL_OUT1 (_UL_(1) << 11) +#define PIN_PA25N_CCL_OUT2 _L_(25) /**< \brief CCL signal: OUT2 on PA25 mux N */ +#define MUX_PA25N_CCL_OUT2 _L_(13) +#define PINMUX_PA25N_CCL_OUT2 ((PIN_PA25N_CCL_OUT2 << 16) | MUX_PA25N_CCL_OUT2) +#define PORT_PA25N_CCL_OUT2 (_UL_(1) << 25) +#define PIN_PB09N_CCL_OUT2 _L_(41) /**< \brief CCL signal: OUT2 on PB09 mux N */ +#define MUX_PB09N_CCL_OUT2 _L_(13) +#define PINMUX_PB09N_CCL_OUT2 ((PIN_PB09N_CCL_OUT2 << 16) | MUX_PB09N_CCL_OUT2) +#define PORT_PB09N_CCL_OUT2 (_UL_(1) << 9) +#define PIN_PB17N_CCL_OUT3 _L_(49) /**< \brief CCL signal: OUT3 on PB17 mux N */ +#define MUX_PB17N_CCL_OUT3 _L_(13) +#define PINMUX_PB17N_CCL_OUT3 ((PIN_PB17N_CCL_OUT3 << 16) | MUX_PB17N_CCL_OUT3) +#define PORT_PB17N_CCL_OUT3 (_UL_(1) << 17) +/* ========== PORT definition for SERCOM4 peripheral ========== */ +#define PIN_PA13D_SERCOM4_PAD0 _L_(13) /**< \brief SERCOM4 signal: PAD0 on PA13 mux D */ +#define MUX_PA13D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PA13D_SERCOM4_PAD0 ((PIN_PA13D_SERCOM4_PAD0 << 16) | MUX_PA13D_SERCOM4_PAD0) +#define PORT_PA13D_SERCOM4_PAD0 (_UL_(1) << 13) +#define PIN_PB08D_SERCOM4_PAD0 _L_(40) /**< \brief SERCOM4 signal: PAD0 on PB08 mux D */ +#define MUX_PB08D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PB08D_SERCOM4_PAD0 ((PIN_PB08D_SERCOM4_PAD0 << 16) | MUX_PB08D_SERCOM4_PAD0) +#define PORT_PB08D_SERCOM4_PAD0 (_UL_(1) << 8) +#define PIN_PB12C_SERCOM4_PAD0 _L_(44) /**< \brief SERCOM4 signal: PAD0 on PB12 mux C */ +#define MUX_PB12C_SERCOM4_PAD0 _L_(2) +#define PINMUX_PB12C_SERCOM4_PAD0 ((PIN_PB12C_SERCOM4_PAD0 << 16) | MUX_PB12C_SERCOM4_PAD0) +#define PORT_PB12C_SERCOM4_PAD0 (_UL_(1) << 12) +#define PIN_PA12D_SERCOM4_PAD1 _L_(12) /**< \brief SERCOM4 signal: PAD1 on PA12 mux D */ +#define MUX_PA12D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PA12D_SERCOM4_PAD1 ((PIN_PA12D_SERCOM4_PAD1 << 16) | MUX_PA12D_SERCOM4_PAD1) +#define PORT_PA12D_SERCOM4_PAD1 (_UL_(1) << 12) +#define PIN_PB09D_SERCOM4_PAD1 _L_(41) /**< \brief SERCOM4 signal: PAD1 on PB09 mux D */ +#define MUX_PB09D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PB09D_SERCOM4_PAD1 ((PIN_PB09D_SERCOM4_PAD1 << 16) | MUX_PB09D_SERCOM4_PAD1) +#define PORT_PB09D_SERCOM4_PAD1 (_UL_(1) << 9) +#define PIN_PB13C_SERCOM4_PAD1 _L_(45) /**< \brief SERCOM4 signal: PAD1 on PB13 mux C */ +#define MUX_PB13C_SERCOM4_PAD1 _L_(2) +#define PINMUX_PB13C_SERCOM4_PAD1 ((PIN_PB13C_SERCOM4_PAD1 << 16) | MUX_PB13C_SERCOM4_PAD1) +#define PORT_PB13C_SERCOM4_PAD1 (_UL_(1) << 13) +#define PIN_PA14D_SERCOM4_PAD2 _L_(14) /**< \brief SERCOM4 signal: PAD2 on PA14 mux D */ +#define MUX_PA14D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PA14D_SERCOM4_PAD2 ((PIN_PA14D_SERCOM4_PAD2 << 16) | MUX_PA14D_SERCOM4_PAD2) +#define PORT_PA14D_SERCOM4_PAD2 (_UL_(1) << 14) +#define PIN_PB10D_SERCOM4_PAD2 _L_(42) /**< \brief SERCOM4 signal: PAD2 on PB10 mux D */ +#define MUX_PB10D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PB10D_SERCOM4_PAD2 ((PIN_PB10D_SERCOM4_PAD2 << 16) | MUX_PB10D_SERCOM4_PAD2) +#define PORT_PB10D_SERCOM4_PAD2 (_UL_(1) << 10) +#define PIN_PB14C_SERCOM4_PAD2 _L_(46) /**< \brief SERCOM4 signal: PAD2 on PB14 mux C */ +#define MUX_PB14C_SERCOM4_PAD2 _L_(2) +#define PINMUX_PB14C_SERCOM4_PAD2 ((PIN_PB14C_SERCOM4_PAD2 << 16) | MUX_PB14C_SERCOM4_PAD2) +#define PORT_PB14C_SERCOM4_PAD2 (_UL_(1) << 14) +#define PIN_PB11D_SERCOM4_PAD3 _L_(43) /**< \brief SERCOM4 signal: PAD3 on PB11 mux D */ +#define MUX_PB11D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PB11D_SERCOM4_PAD3 ((PIN_PB11D_SERCOM4_PAD3 << 16) | MUX_PB11D_SERCOM4_PAD3) +#define PORT_PB11D_SERCOM4_PAD3 (_UL_(1) << 11) +#define PIN_PA15D_SERCOM4_PAD3 _L_(15) /**< \brief SERCOM4 signal: PAD3 on PA15 mux D */ +#define MUX_PA15D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PA15D_SERCOM4_PAD3 ((PIN_PA15D_SERCOM4_PAD3 << 16) | MUX_PA15D_SERCOM4_PAD3) +#define PORT_PA15D_SERCOM4_PAD3 (_UL_(1) << 15) +#define PIN_PB15C_SERCOM4_PAD3 _L_(47) /**< \brief SERCOM4 signal: PAD3 on PB15 mux C */ +#define MUX_PB15C_SERCOM4_PAD3 _L_(2) +#define PINMUX_PB15C_SERCOM4_PAD3 ((PIN_PB15C_SERCOM4_PAD3 << 16) | MUX_PB15C_SERCOM4_PAD3) +#define PORT_PB15C_SERCOM4_PAD3 (_UL_(1) << 15) +/* ========== PORT definition for SERCOM5 peripheral ========== */ +#define PIN_PA23D_SERCOM5_PAD0 _L_(23) /**< \brief SERCOM5 signal: PAD0 on PA23 mux D */ +#define MUX_PA23D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PA23D_SERCOM5_PAD0 ((PIN_PA23D_SERCOM5_PAD0 << 16) | MUX_PA23D_SERCOM5_PAD0) +#define PORT_PA23D_SERCOM5_PAD0 (_UL_(1) << 23) +#define PIN_PB02D_SERCOM5_PAD0 _L_(34) /**< \brief SERCOM5 signal: PAD0 on PB02 mux D */ +#define MUX_PB02D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PB02D_SERCOM5_PAD0 ((PIN_PB02D_SERCOM5_PAD0 << 16) | MUX_PB02D_SERCOM5_PAD0) +#define PORT_PB02D_SERCOM5_PAD0 (_UL_(1) << 2) +#define PIN_PB31D_SERCOM5_PAD0 _L_(63) /**< \brief SERCOM5 signal: PAD0 on PB31 mux D */ +#define MUX_PB31D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PB31D_SERCOM5_PAD0 ((PIN_PB31D_SERCOM5_PAD0 << 16) | MUX_PB31D_SERCOM5_PAD0) +#define PORT_PB31D_SERCOM5_PAD0 (_UL_(1) << 31) +#define PIN_PB16C_SERCOM5_PAD0 _L_(48) /**< \brief SERCOM5 signal: PAD0 on PB16 mux C */ +#define MUX_PB16C_SERCOM5_PAD0 _L_(2) +#define PINMUX_PB16C_SERCOM5_PAD0 ((PIN_PB16C_SERCOM5_PAD0 << 16) | MUX_PB16C_SERCOM5_PAD0) +#define PORT_PB16C_SERCOM5_PAD0 (_UL_(1) << 16) +#define PIN_PA22D_SERCOM5_PAD1 _L_(22) /**< \brief SERCOM5 signal: PAD1 on PA22 mux D */ +#define MUX_PA22D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PA22D_SERCOM5_PAD1 ((PIN_PA22D_SERCOM5_PAD1 << 16) | MUX_PA22D_SERCOM5_PAD1) +#define PORT_PA22D_SERCOM5_PAD1 (_UL_(1) << 22) +#define PIN_PB03D_SERCOM5_PAD1 _L_(35) /**< \brief SERCOM5 signal: PAD1 on PB03 mux D */ +#define MUX_PB03D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PB03D_SERCOM5_PAD1 ((PIN_PB03D_SERCOM5_PAD1 << 16) | MUX_PB03D_SERCOM5_PAD1) +#define PORT_PB03D_SERCOM5_PAD1 (_UL_(1) << 3) +#define PIN_PB30D_SERCOM5_PAD1 _L_(62) /**< \brief SERCOM5 signal: PAD1 on PB30 mux D */ +#define MUX_PB30D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PB30D_SERCOM5_PAD1 ((PIN_PB30D_SERCOM5_PAD1 << 16) | MUX_PB30D_SERCOM5_PAD1) +#define PORT_PB30D_SERCOM5_PAD1 (_UL_(1) << 30) +#define PIN_PB17C_SERCOM5_PAD1 _L_(49) /**< \brief SERCOM5 signal: PAD1 on PB17 mux C */ +#define MUX_PB17C_SERCOM5_PAD1 _L_(2) +#define PINMUX_PB17C_SERCOM5_PAD1 ((PIN_PB17C_SERCOM5_PAD1 << 16) | MUX_PB17C_SERCOM5_PAD1) +#define PORT_PB17C_SERCOM5_PAD1 (_UL_(1) << 17) +#define PIN_PA24D_SERCOM5_PAD2 _L_(24) /**< \brief SERCOM5 signal: PAD2 on PA24 mux D */ +#define MUX_PA24D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PA24D_SERCOM5_PAD2 ((PIN_PA24D_SERCOM5_PAD2 << 16) | MUX_PA24D_SERCOM5_PAD2) +#define PORT_PA24D_SERCOM5_PAD2 (_UL_(1) << 24) +#define PIN_PB00D_SERCOM5_PAD2 _L_(32) /**< \brief SERCOM5 signal: PAD2 on PB00 mux D */ +#define MUX_PB00D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PB00D_SERCOM5_PAD2 ((PIN_PB00D_SERCOM5_PAD2 << 16) | MUX_PB00D_SERCOM5_PAD2) +#define PORT_PB00D_SERCOM5_PAD2 (_UL_(1) << 0) +#define PIN_PB22D_SERCOM5_PAD2 _L_(54) /**< \brief SERCOM5 signal: PAD2 on PB22 mux D */ +#define MUX_PB22D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PB22D_SERCOM5_PAD2 ((PIN_PB22D_SERCOM5_PAD2 << 16) | MUX_PB22D_SERCOM5_PAD2) +#define PORT_PB22D_SERCOM5_PAD2 (_UL_(1) << 22) +#define PIN_PA20C_SERCOM5_PAD2 _L_(20) /**< \brief SERCOM5 signal: PAD2 on PA20 mux C */ +#define MUX_PA20C_SERCOM5_PAD2 _L_(2) +#define PINMUX_PA20C_SERCOM5_PAD2 ((PIN_PA20C_SERCOM5_PAD2 << 16) | MUX_PA20C_SERCOM5_PAD2) +#define PORT_PA20C_SERCOM5_PAD2 (_UL_(1) << 20) +#define PIN_PB18C_SERCOM5_PAD2 _L_(50) /**< \brief SERCOM5 signal: PAD2 on PB18 mux C */ +#define MUX_PB18C_SERCOM5_PAD2 _L_(2) +#define PINMUX_PB18C_SERCOM5_PAD2 ((PIN_PB18C_SERCOM5_PAD2 << 16) | MUX_PB18C_SERCOM5_PAD2) +#define PORT_PB18C_SERCOM5_PAD2 (_UL_(1) << 18) +#define PIN_PA25D_SERCOM5_PAD3 _L_(25) /**< \brief SERCOM5 signal: PAD3 on PA25 mux D */ +#define MUX_PA25D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PA25D_SERCOM5_PAD3 ((PIN_PA25D_SERCOM5_PAD3 << 16) | MUX_PA25D_SERCOM5_PAD3) +#define PORT_PA25D_SERCOM5_PAD3 (_UL_(1) << 25) +#define PIN_PB01D_SERCOM5_PAD3 _L_(33) /**< \brief SERCOM5 signal: PAD3 on PB01 mux D */ +#define MUX_PB01D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PB01D_SERCOM5_PAD3 ((PIN_PB01D_SERCOM5_PAD3 << 16) | MUX_PB01D_SERCOM5_PAD3) +#define PORT_PB01D_SERCOM5_PAD3 (_UL_(1) << 1) +#define PIN_PB23D_SERCOM5_PAD3 _L_(55) /**< \brief SERCOM5 signal: PAD3 on PB23 mux D */ +#define MUX_PB23D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PB23D_SERCOM5_PAD3 ((PIN_PB23D_SERCOM5_PAD3 << 16) | MUX_PB23D_SERCOM5_PAD3) +#define PORT_PB23D_SERCOM5_PAD3 (_UL_(1) << 23) +#define PIN_PA21C_SERCOM5_PAD3 _L_(21) /**< \brief SERCOM5 signal: PAD3 on PA21 mux C */ +#define MUX_PA21C_SERCOM5_PAD3 _L_(2) +#define PINMUX_PA21C_SERCOM5_PAD3 ((PIN_PA21C_SERCOM5_PAD3 << 16) | MUX_PA21C_SERCOM5_PAD3) +#define PORT_PA21C_SERCOM5_PAD3 (_UL_(1) << 21) +#define PIN_PB19C_SERCOM5_PAD3 _L_(51) /**< \brief SERCOM5 signal: PAD3 on PB19 mux C */ +#define MUX_PB19C_SERCOM5_PAD3 _L_(2) +#define PINMUX_PB19C_SERCOM5_PAD3 ((PIN_PB19C_SERCOM5_PAD3 << 16) | MUX_PB19C_SERCOM5_PAD3) +#define PORT_PB19C_SERCOM5_PAD3 (_UL_(1) << 19) +/* ========== PORT definition for SERCOM6 peripheral ========== */ +#define PIN_PC13D_SERCOM6_PAD0 _L_(77) /**< \brief SERCOM6 signal: PAD0 on PC13 mux D */ +#define MUX_PC13D_SERCOM6_PAD0 _L_(3) +#define PINMUX_PC13D_SERCOM6_PAD0 ((PIN_PC13D_SERCOM6_PAD0 << 16) | MUX_PC13D_SERCOM6_PAD0) +#define PORT_PC13D_SERCOM6_PAD0 (_UL_(1) << 13) +#define PIN_PC16C_SERCOM6_PAD0 _L_(80) /**< \brief SERCOM6 signal: PAD0 on PC16 mux C */ +#define MUX_PC16C_SERCOM6_PAD0 _L_(2) +#define PINMUX_PC16C_SERCOM6_PAD0 ((PIN_PC16C_SERCOM6_PAD0 << 16) | MUX_PC16C_SERCOM6_PAD0) +#define PORT_PC16C_SERCOM6_PAD0 (_UL_(1) << 16) +#define PIN_PC12D_SERCOM6_PAD1 _L_(76) /**< \brief SERCOM6 signal: PAD1 on PC12 mux D */ +#define MUX_PC12D_SERCOM6_PAD1 _L_(3) +#define PINMUX_PC12D_SERCOM6_PAD1 ((PIN_PC12D_SERCOM6_PAD1 << 16) | MUX_PC12D_SERCOM6_PAD1) +#define PORT_PC12D_SERCOM6_PAD1 (_UL_(1) << 12) +#define PIN_PC05C_SERCOM6_PAD1 _L_(69) /**< \brief SERCOM6 signal: PAD1 on PC05 mux C */ +#define MUX_PC05C_SERCOM6_PAD1 _L_(2) +#define PINMUX_PC05C_SERCOM6_PAD1 ((PIN_PC05C_SERCOM6_PAD1 << 16) | MUX_PC05C_SERCOM6_PAD1) +#define PORT_PC05C_SERCOM6_PAD1 (_UL_(1) << 5) +#define PIN_PC17C_SERCOM6_PAD1 _L_(81) /**< \brief SERCOM6 signal: PAD1 on PC17 mux C */ +#define MUX_PC17C_SERCOM6_PAD1 _L_(2) +#define PINMUX_PC17C_SERCOM6_PAD1 ((PIN_PC17C_SERCOM6_PAD1 << 16) | MUX_PC17C_SERCOM6_PAD1) +#define PORT_PC17C_SERCOM6_PAD1 (_UL_(1) << 17) +#define PIN_PC14D_SERCOM6_PAD2 _L_(78) /**< \brief SERCOM6 signal: PAD2 on PC14 mux D */ +#define MUX_PC14D_SERCOM6_PAD2 _L_(3) +#define PINMUX_PC14D_SERCOM6_PAD2 ((PIN_PC14D_SERCOM6_PAD2 << 16) | MUX_PC14D_SERCOM6_PAD2) +#define PORT_PC14D_SERCOM6_PAD2 (_UL_(1) << 14) +#define PIN_PC06C_SERCOM6_PAD2 _L_(70) /**< \brief SERCOM6 signal: PAD2 on PC06 mux C */ +#define MUX_PC06C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC06C_SERCOM6_PAD2 ((PIN_PC06C_SERCOM6_PAD2 << 16) | MUX_PC06C_SERCOM6_PAD2) +#define PORT_PC06C_SERCOM6_PAD2 (_UL_(1) << 6) +#define PIN_PC10C_SERCOM6_PAD2 _L_(74) /**< \brief SERCOM6 signal: PAD2 on PC10 mux C */ +#define MUX_PC10C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC10C_SERCOM6_PAD2 ((PIN_PC10C_SERCOM6_PAD2 << 16) | MUX_PC10C_SERCOM6_PAD2) +#define PORT_PC10C_SERCOM6_PAD2 (_UL_(1) << 10) +#define PIN_PC18C_SERCOM6_PAD2 _L_(82) /**< \brief SERCOM6 signal: PAD2 on PC18 mux C */ +#define MUX_PC18C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC18C_SERCOM6_PAD2 ((PIN_PC18C_SERCOM6_PAD2 << 16) | MUX_PC18C_SERCOM6_PAD2) +#define PORT_PC18C_SERCOM6_PAD2 (_UL_(1) << 18) +#define PIN_PC15D_SERCOM6_PAD3 _L_(79) /**< \brief SERCOM6 signal: PAD3 on PC15 mux D */ +#define MUX_PC15D_SERCOM6_PAD3 _L_(3) +#define PINMUX_PC15D_SERCOM6_PAD3 ((PIN_PC15D_SERCOM6_PAD3 << 16) | MUX_PC15D_SERCOM6_PAD3) +#define PORT_PC15D_SERCOM6_PAD3 (_UL_(1) << 15) +#define PIN_PC07C_SERCOM6_PAD3 _L_(71) /**< \brief SERCOM6 signal: PAD3 on PC07 mux C */ +#define MUX_PC07C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC07C_SERCOM6_PAD3 ((PIN_PC07C_SERCOM6_PAD3 << 16) | MUX_PC07C_SERCOM6_PAD3) +#define PORT_PC07C_SERCOM6_PAD3 (_UL_(1) << 7) +#define PIN_PC11C_SERCOM6_PAD3 _L_(75) /**< \brief SERCOM6 signal: PAD3 on PC11 mux C */ +#define MUX_PC11C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC11C_SERCOM6_PAD3 ((PIN_PC11C_SERCOM6_PAD3 << 16) | MUX_PC11C_SERCOM6_PAD3) +#define PORT_PC11C_SERCOM6_PAD3 (_UL_(1) << 11) +#define PIN_PC19C_SERCOM6_PAD3 _L_(83) /**< \brief SERCOM6 signal: PAD3 on PC19 mux C */ +#define MUX_PC19C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC19C_SERCOM6_PAD3 ((PIN_PC19C_SERCOM6_PAD3 << 16) | MUX_PC19C_SERCOM6_PAD3) +#define PORT_PC19C_SERCOM6_PAD3 (_UL_(1) << 19) +/* ========== PORT definition for SERCOM7 peripheral ========== */ +#define PIN_PB21D_SERCOM7_PAD0 _L_(53) /**< \brief SERCOM7 signal: PAD0 on PB21 mux D */ +#define MUX_PB21D_SERCOM7_PAD0 _L_(3) +#define PINMUX_PB21D_SERCOM7_PAD0 ((PIN_PB21D_SERCOM7_PAD0 << 16) | MUX_PB21D_SERCOM7_PAD0) +#define PORT_PB21D_SERCOM7_PAD0 (_UL_(1) << 21) +#define PIN_PB30C_SERCOM7_PAD0 _L_(62) /**< \brief SERCOM7 signal: PAD0 on PB30 mux C */ +#define MUX_PB30C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PB30C_SERCOM7_PAD0 ((PIN_PB30C_SERCOM7_PAD0 << 16) | MUX_PB30C_SERCOM7_PAD0) +#define PORT_PB30C_SERCOM7_PAD0 (_UL_(1) << 30) +#define PIN_PC12C_SERCOM7_PAD0 _L_(76) /**< \brief SERCOM7 signal: PAD0 on PC12 mux C */ +#define MUX_PC12C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PC12C_SERCOM7_PAD0 ((PIN_PC12C_SERCOM7_PAD0 << 16) | MUX_PC12C_SERCOM7_PAD0) +#define PORT_PC12C_SERCOM7_PAD0 (_UL_(1) << 12) +#define PIN_PB20D_SERCOM7_PAD1 _L_(52) /**< \brief SERCOM7 signal: PAD1 on PB20 mux D */ +#define MUX_PB20D_SERCOM7_PAD1 _L_(3) +#define PINMUX_PB20D_SERCOM7_PAD1 ((PIN_PB20D_SERCOM7_PAD1 << 16) | MUX_PB20D_SERCOM7_PAD1) +#define PORT_PB20D_SERCOM7_PAD1 (_UL_(1) << 20) +#define PIN_PB31C_SERCOM7_PAD1 _L_(63) /**< \brief SERCOM7 signal: PAD1 on PB31 mux C */ +#define MUX_PB31C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PB31C_SERCOM7_PAD1 ((PIN_PB31C_SERCOM7_PAD1 << 16) | MUX_PB31C_SERCOM7_PAD1) +#define PORT_PB31C_SERCOM7_PAD1 (_UL_(1) << 31) +#define PIN_PC13C_SERCOM7_PAD1 _L_(77) /**< \brief SERCOM7 signal: PAD1 on PC13 mux C */ +#define MUX_PC13C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PC13C_SERCOM7_PAD1 ((PIN_PC13C_SERCOM7_PAD1 << 16) | MUX_PC13C_SERCOM7_PAD1) +#define PORT_PC13C_SERCOM7_PAD1 (_UL_(1) << 13) +#define PIN_PB18D_SERCOM7_PAD2 _L_(50) /**< \brief SERCOM7 signal: PAD2 on PB18 mux D */ +#define MUX_PB18D_SERCOM7_PAD2 _L_(3) +#define PINMUX_PB18D_SERCOM7_PAD2 ((PIN_PB18D_SERCOM7_PAD2 << 16) | MUX_PB18D_SERCOM7_PAD2) +#define PORT_PB18D_SERCOM7_PAD2 (_UL_(1) << 18) +#define PIN_PC10D_SERCOM7_PAD2 _L_(74) /**< \brief SERCOM7 signal: PAD2 on PC10 mux D */ +#define MUX_PC10D_SERCOM7_PAD2 _L_(3) +#define PINMUX_PC10D_SERCOM7_PAD2 ((PIN_PC10D_SERCOM7_PAD2 << 16) | MUX_PC10D_SERCOM7_PAD2) +#define PORT_PC10D_SERCOM7_PAD2 (_UL_(1) << 10) +#define PIN_PC14C_SERCOM7_PAD2 _L_(78) /**< \brief SERCOM7 signal: PAD2 on PC14 mux C */ +#define MUX_PC14C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PC14C_SERCOM7_PAD2 ((PIN_PC14C_SERCOM7_PAD2 << 16) | MUX_PC14C_SERCOM7_PAD2) +#define PORT_PC14C_SERCOM7_PAD2 (_UL_(1) << 14) +#define PIN_PA30C_SERCOM7_PAD2 _L_(30) /**< \brief SERCOM7 signal: PAD2 on PA30 mux C */ +#define MUX_PA30C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PA30C_SERCOM7_PAD2 ((PIN_PA30C_SERCOM7_PAD2 << 16) | MUX_PA30C_SERCOM7_PAD2) +#define PORT_PA30C_SERCOM7_PAD2 (_UL_(1) << 30) +#define PIN_PB19D_SERCOM7_PAD3 _L_(51) /**< \brief SERCOM7 signal: PAD3 on PB19 mux D */ +#define MUX_PB19D_SERCOM7_PAD3 _L_(3) +#define PINMUX_PB19D_SERCOM7_PAD3 ((PIN_PB19D_SERCOM7_PAD3 << 16) | MUX_PB19D_SERCOM7_PAD3) +#define PORT_PB19D_SERCOM7_PAD3 (_UL_(1) << 19) +#define PIN_PC11D_SERCOM7_PAD3 _L_(75) /**< \brief SERCOM7 signal: PAD3 on PC11 mux D */ +#define MUX_PC11D_SERCOM7_PAD3 _L_(3) +#define PINMUX_PC11D_SERCOM7_PAD3 ((PIN_PC11D_SERCOM7_PAD3 << 16) | MUX_PC11D_SERCOM7_PAD3) +#define PORT_PC11D_SERCOM7_PAD3 (_UL_(1) << 11) +#define PIN_PC15C_SERCOM7_PAD3 _L_(79) /**< \brief SERCOM7 signal: PAD3 on PC15 mux C */ +#define MUX_PC15C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PC15C_SERCOM7_PAD3 ((PIN_PC15C_SERCOM7_PAD3 << 16) | MUX_PC15C_SERCOM7_PAD3) +#define PORT_PC15C_SERCOM7_PAD3 (_UL_(1) << 15) +#define PIN_PA31C_SERCOM7_PAD3 _L_(31) /**< \brief SERCOM7 signal: PAD3 on PA31 mux C */ +#define MUX_PA31C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PA31C_SERCOM7_PAD3 ((PIN_PA31C_SERCOM7_PAD3 << 16) | MUX_PA31C_SERCOM7_PAD3) +#define PORT_PA31C_SERCOM7_PAD3 (_UL_(1) << 31) +/* ========== PORT definition for TCC4 peripheral ========== */ +#define PIN_PB14F_TCC4_WO0 _L_(46) /**< \brief TCC4 signal: WO0 on PB14 mux F */ +#define MUX_PB14F_TCC4_WO0 _L_(5) +#define PINMUX_PB14F_TCC4_WO0 ((PIN_PB14F_TCC4_WO0 << 16) | MUX_PB14F_TCC4_WO0) +#define PORT_PB14F_TCC4_WO0 (_UL_(1) << 14) +#define PIN_PB30F_TCC4_WO0 _L_(62) /**< \brief TCC4 signal: WO0 on PB30 mux F */ +#define MUX_PB30F_TCC4_WO0 _L_(5) +#define PINMUX_PB30F_TCC4_WO0 ((PIN_PB30F_TCC4_WO0 << 16) | MUX_PB30F_TCC4_WO0) +#define PORT_PB30F_TCC4_WO0 (_UL_(1) << 30) +#define PIN_PB15F_TCC4_WO1 _L_(47) /**< \brief TCC4 signal: WO1 on PB15 mux F */ +#define MUX_PB15F_TCC4_WO1 _L_(5) +#define PINMUX_PB15F_TCC4_WO1 ((PIN_PB15F_TCC4_WO1 << 16) | MUX_PB15F_TCC4_WO1) +#define PORT_PB15F_TCC4_WO1 (_UL_(1) << 15) +#define PIN_PB31F_TCC4_WO1 _L_(63) /**< \brief TCC4 signal: WO1 on PB31 mux F */ +#define MUX_PB31F_TCC4_WO1 _L_(5) +#define PINMUX_PB31F_TCC4_WO1 ((PIN_PB31F_TCC4_WO1 << 16) | MUX_PB31F_TCC4_WO1) +#define PORT_PB31F_TCC4_WO1 (_UL_(1) << 31) +/* ========== PORT definition for TC6 peripheral ========== */ +#define PIN_PA30E_TC6_WO0 _L_(30) /**< \brief TC6 signal: WO0 on PA30 mux E */ +#define MUX_PA30E_TC6_WO0 _L_(4) +#define PINMUX_PA30E_TC6_WO0 ((PIN_PA30E_TC6_WO0 << 16) | MUX_PA30E_TC6_WO0) +#define PORT_PA30E_TC6_WO0 (_UL_(1) << 30) +#define PIN_PB02E_TC6_WO0 _L_(34) /**< \brief TC6 signal: WO0 on PB02 mux E */ +#define MUX_PB02E_TC6_WO0 _L_(4) +#define PINMUX_PB02E_TC6_WO0 ((PIN_PB02E_TC6_WO0 << 16) | MUX_PB02E_TC6_WO0) +#define PORT_PB02E_TC6_WO0 (_UL_(1) << 2) +#define PIN_PB16E_TC6_WO0 _L_(48) /**< \brief TC6 signal: WO0 on PB16 mux E */ +#define MUX_PB16E_TC6_WO0 _L_(4) +#define PINMUX_PB16E_TC6_WO0 ((PIN_PB16E_TC6_WO0 << 16) | MUX_PB16E_TC6_WO0) +#define PORT_PB16E_TC6_WO0 (_UL_(1) << 16) +#define PIN_PA31E_TC6_WO1 _L_(31) /**< \brief TC6 signal: WO1 on PA31 mux E */ +#define MUX_PA31E_TC6_WO1 _L_(4) +#define PINMUX_PA31E_TC6_WO1 ((PIN_PA31E_TC6_WO1 << 16) | MUX_PA31E_TC6_WO1) +#define PORT_PA31E_TC6_WO1 (_UL_(1) << 31) +#define PIN_PB03E_TC6_WO1 _L_(35) /**< \brief TC6 signal: WO1 on PB03 mux E */ +#define MUX_PB03E_TC6_WO1 _L_(4) +#define PINMUX_PB03E_TC6_WO1 ((PIN_PB03E_TC6_WO1 << 16) | MUX_PB03E_TC6_WO1) +#define PORT_PB03E_TC6_WO1 (_UL_(1) << 3) +#define PIN_PB17E_TC6_WO1 _L_(49) /**< \brief TC6 signal: WO1 on PB17 mux E */ +#define MUX_PB17E_TC6_WO1 _L_(4) +#define PINMUX_PB17E_TC6_WO1 ((PIN_PB17E_TC6_WO1 << 16) | MUX_PB17E_TC6_WO1) +#define PORT_PB17E_TC6_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC7 peripheral ========== */ +#define PIN_PA20E_TC7_WO0 _L_(20) /**< \brief TC7 signal: WO0 on PA20 mux E */ +#define MUX_PA20E_TC7_WO0 _L_(4) +#define PINMUX_PA20E_TC7_WO0 ((PIN_PA20E_TC7_WO0 << 16) | MUX_PA20E_TC7_WO0) +#define PORT_PA20E_TC7_WO0 (_UL_(1) << 20) +#define PIN_PB00E_TC7_WO0 _L_(32) /**< \brief TC7 signal: WO0 on PB00 mux E */ +#define MUX_PB00E_TC7_WO0 _L_(4) +#define PINMUX_PB00E_TC7_WO0 ((PIN_PB00E_TC7_WO0 << 16) | MUX_PB00E_TC7_WO0) +#define PORT_PB00E_TC7_WO0 (_UL_(1) << 0) +#define PIN_PB22E_TC7_WO0 _L_(54) /**< \brief TC7 signal: WO0 on PB22 mux E */ +#define MUX_PB22E_TC7_WO0 _L_(4) +#define PINMUX_PB22E_TC7_WO0 ((PIN_PB22E_TC7_WO0 << 16) | MUX_PB22E_TC7_WO0) +#define PORT_PB22E_TC7_WO0 (_UL_(1) << 22) +#define PIN_PA21E_TC7_WO1 _L_(21) /**< \brief TC7 signal: WO1 on PA21 mux E */ +#define MUX_PA21E_TC7_WO1 _L_(4) +#define PINMUX_PA21E_TC7_WO1 ((PIN_PA21E_TC7_WO1 << 16) | MUX_PA21E_TC7_WO1) +#define PORT_PA21E_TC7_WO1 (_UL_(1) << 21) +#define PIN_PB01E_TC7_WO1 _L_(33) /**< \brief TC7 signal: WO1 on PB01 mux E */ +#define MUX_PB01E_TC7_WO1 _L_(4) +#define PINMUX_PB01E_TC7_WO1 ((PIN_PB01E_TC7_WO1 << 16) | MUX_PB01E_TC7_WO1) +#define PORT_PB01E_TC7_WO1 (_UL_(1) << 1) +#define PIN_PB23E_TC7_WO1 _L_(55) /**< \brief TC7 signal: WO1 on PB23 mux E */ +#define MUX_PB23E_TC7_WO1 _L_(4) +#define PINMUX_PB23E_TC7_WO1 ((PIN_PB23E_TC7_WO1 << 16) | MUX_PB23E_TC7_WO1) +#define PORT_PB23E_TC7_WO1 (_UL_(1) << 23) +/* ========== PORT definition for ADC0 peripheral ========== */ +#define PIN_PA02B_ADC0_AIN0 _L_(2) /**< \brief ADC0 signal: AIN0 on PA02 mux B */ +#define MUX_PA02B_ADC0_AIN0 _L_(1) +#define PINMUX_PA02B_ADC0_AIN0 ((PIN_PA02B_ADC0_AIN0 << 16) | MUX_PA02B_ADC0_AIN0) +#define PORT_PA02B_ADC0_AIN0 (_UL_(1) << 2) +#define PIN_PA03B_ADC0_AIN1 _L_(3) /**< \brief ADC0 signal: AIN1 on PA03 mux B */ +#define MUX_PA03B_ADC0_AIN1 _L_(1) +#define PINMUX_PA03B_ADC0_AIN1 ((PIN_PA03B_ADC0_AIN1 << 16) | MUX_PA03B_ADC0_AIN1) +#define PORT_PA03B_ADC0_AIN1 (_UL_(1) << 3) +#define PIN_PB08B_ADC0_AIN2 _L_(40) /**< \brief ADC0 signal: AIN2 on PB08 mux B */ +#define MUX_PB08B_ADC0_AIN2 _L_(1) +#define PINMUX_PB08B_ADC0_AIN2 ((PIN_PB08B_ADC0_AIN2 << 16) | MUX_PB08B_ADC0_AIN2) +#define PORT_PB08B_ADC0_AIN2 (_UL_(1) << 8) +#define PIN_PB09B_ADC0_AIN3 _L_(41) /**< \brief ADC0 signal: AIN3 on PB09 mux B */ +#define MUX_PB09B_ADC0_AIN3 _L_(1) +#define PINMUX_PB09B_ADC0_AIN3 ((PIN_PB09B_ADC0_AIN3 << 16) | MUX_PB09B_ADC0_AIN3) +#define PORT_PB09B_ADC0_AIN3 (_UL_(1) << 9) +#define PIN_PA04B_ADC0_AIN4 _L_(4) /**< \brief ADC0 signal: AIN4 on PA04 mux B */ +#define MUX_PA04B_ADC0_AIN4 _L_(1) +#define PINMUX_PA04B_ADC0_AIN4 ((PIN_PA04B_ADC0_AIN4 << 16) | MUX_PA04B_ADC0_AIN4) +#define PORT_PA04B_ADC0_AIN4 (_UL_(1) << 4) +#define PIN_PA05B_ADC0_AIN5 _L_(5) /**< \brief ADC0 signal: AIN5 on PA05 mux B */ +#define MUX_PA05B_ADC0_AIN5 _L_(1) +#define PINMUX_PA05B_ADC0_AIN5 ((PIN_PA05B_ADC0_AIN5 << 16) | MUX_PA05B_ADC0_AIN5) +#define PORT_PA05B_ADC0_AIN5 (_UL_(1) << 5) +#define PIN_PA06B_ADC0_AIN6 _L_(6) /**< \brief ADC0 signal: AIN6 on PA06 mux B */ +#define MUX_PA06B_ADC0_AIN6 _L_(1) +#define PINMUX_PA06B_ADC0_AIN6 ((PIN_PA06B_ADC0_AIN6 << 16) | MUX_PA06B_ADC0_AIN6) +#define PORT_PA06B_ADC0_AIN6 (_UL_(1) << 6) +#define PIN_PA07B_ADC0_AIN7 _L_(7) /**< \brief ADC0 signal: AIN7 on PA07 mux B */ +#define MUX_PA07B_ADC0_AIN7 _L_(1) +#define PINMUX_PA07B_ADC0_AIN7 ((PIN_PA07B_ADC0_AIN7 << 16) | MUX_PA07B_ADC0_AIN7) +#define PORT_PA07B_ADC0_AIN7 (_UL_(1) << 7) +#define PIN_PA08B_ADC0_AIN8 _L_(8) /**< \brief ADC0 signal: AIN8 on PA08 mux B */ +#define MUX_PA08B_ADC0_AIN8 _L_(1) +#define PINMUX_PA08B_ADC0_AIN8 ((PIN_PA08B_ADC0_AIN8 << 16) | MUX_PA08B_ADC0_AIN8) +#define PORT_PA08B_ADC0_AIN8 (_UL_(1) << 8) +#define PIN_PA09B_ADC0_AIN9 _L_(9) /**< \brief ADC0 signal: AIN9 on PA09 mux B */ +#define MUX_PA09B_ADC0_AIN9 _L_(1) +#define PINMUX_PA09B_ADC0_AIN9 ((PIN_PA09B_ADC0_AIN9 << 16) | MUX_PA09B_ADC0_AIN9) +#define PORT_PA09B_ADC0_AIN9 (_UL_(1) << 9) +#define PIN_PA10B_ADC0_AIN10 _L_(10) /**< \brief ADC0 signal: AIN10 on PA10 mux B */ +#define MUX_PA10B_ADC0_AIN10 _L_(1) +#define PINMUX_PA10B_ADC0_AIN10 ((PIN_PA10B_ADC0_AIN10 << 16) | MUX_PA10B_ADC0_AIN10) +#define PORT_PA10B_ADC0_AIN10 (_UL_(1) << 10) +#define PIN_PA11B_ADC0_AIN11 _L_(11) /**< \brief ADC0 signal: AIN11 on PA11 mux B */ +#define MUX_PA11B_ADC0_AIN11 _L_(1) +#define PINMUX_PA11B_ADC0_AIN11 ((PIN_PA11B_ADC0_AIN11 << 16) | MUX_PA11B_ADC0_AIN11) +#define PORT_PA11B_ADC0_AIN11 (_UL_(1) << 11) +#define PIN_PB00B_ADC0_AIN12 _L_(32) /**< \brief ADC0 signal: AIN12 on PB00 mux B */ +#define MUX_PB00B_ADC0_AIN12 _L_(1) +#define PINMUX_PB00B_ADC0_AIN12 ((PIN_PB00B_ADC0_AIN12 << 16) | MUX_PB00B_ADC0_AIN12) +#define PORT_PB00B_ADC0_AIN12 (_UL_(1) << 0) +#define PIN_PB01B_ADC0_AIN13 _L_(33) /**< \brief ADC0 signal: AIN13 on PB01 mux B */ +#define MUX_PB01B_ADC0_AIN13 _L_(1) +#define PINMUX_PB01B_ADC0_AIN13 ((PIN_PB01B_ADC0_AIN13 << 16) | MUX_PB01B_ADC0_AIN13) +#define PORT_PB01B_ADC0_AIN13 (_UL_(1) << 1) +#define PIN_PB02B_ADC0_AIN14 _L_(34) /**< \brief ADC0 signal: AIN14 on PB02 mux B */ +#define MUX_PB02B_ADC0_AIN14 _L_(1) +#define PINMUX_PB02B_ADC0_AIN14 ((PIN_PB02B_ADC0_AIN14 << 16) | MUX_PB02B_ADC0_AIN14) +#define PORT_PB02B_ADC0_AIN14 (_UL_(1) << 2) +#define PIN_PB03B_ADC0_AIN15 _L_(35) /**< \brief ADC0 signal: AIN15 on PB03 mux B */ +#define MUX_PB03B_ADC0_AIN15 _L_(1) +#define PINMUX_PB03B_ADC0_AIN15 ((PIN_PB03B_ADC0_AIN15 << 16) | MUX_PB03B_ADC0_AIN15) +#define PORT_PB03B_ADC0_AIN15 (_UL_(1) << 3) +#define PIN_PA03O_ADC0_DRV0 _L_(3) /**< \brief ADC0 signal: DRV0 on PA03 mux O */ +#define MUX_PA03O_ADC0_DRV0 _L_(14) +#define PINMUX_PA03O_ADC0_DRV0 ((PIN_PA03O_ADC0_DRV0 << 16) | MUX_PA03O_ADC0_DRV0) +#define PORT_PA03O_ADC0_DRV0 (_UL_(1) << 3) +#define PIN_PB08O_ADC0_DRV1 _L_(40) /**< \brief ADC0 signal: DRV1 on PB08 mux O */ +#define MUX_PB08O_ADC0_DRV1 _L_(14) +#define PINMUX_PB08O_ADC0_DRV1 ((PIN_PB08O_ADC0_DRV1 << 16) | MUX_PB08O_ADC0_DRV1) +#define PORT_PB08O_ADC0_DRV1 (_UL_(1) << 8) +#define PIN_PB09O_ADC0_DRV2 _L_(41) /**< \brief ADC0 signal: DRV2 on PB09 mux O */ +#define MUX_PB09O_ADC0_DRV2 _L_(14) +#define PINMUX_PB09O_ADC0_DRV2 ((PIN_PB09O_ADC0_DRV2 << 16) | MUX_PB09O_ADC0_DRV2) +#define PORT_PB09O_ADC0_DRV2 (_UL_(1) << 9) +#define PIN_PA04O_ADC0_DRV3 _L_(4) /**< \brief ADC0 signal: DRV3 on PA04 mux O */ +#define MUX_PA04O_ADC0_DRV3 _L_(14) +#define PINMUX_PA04O_ADC0_DRV3 ((PIN_PA04O_ADC0_DRV3 << 16) | MUX_PA04O_ADC0_DRV3) +#define PORT_PA04O_ADC0_DRV3 (_UL_(1) << 4) +#define PIN_PA06O_ADC0_DRV4 _L_(6) /**< \brief ADC0 signal: DRV4 on PA06 mux O */ +#define MUX_PA06O_ADC0_DRV4 _L_(14) +#define PINMUX_PA06O_ADC0_DRV4 ((PIN_PA06O_ADC0_DRV4 << 16) | MUX_PA06O_ADC0_DRV4) +#define PORT_PA06O_ADC0_DRV4 (_UL_(1) << 6) +#define PIN_PA07O_ADC0_DRV5 _L_(7) /**< \brief ADC0 signal: DRV5 on PA07 mux O */ +#define MUX_PA07O_ADC0_DRV5 _L_(14) +#define PINMUX_PA07O_ADC0_DRV5 ((PIN_PA07O_ADC0_DRV5 << 16) | MUX_PA07O_ADC0_DRV5) +#define PORT_PA07O_ADC0_DRV5 (_UL_(1) << 7) +#define PIN_PA08O_ADC0_DRV6 _L_(8) /**< \brief ADC0 signal: DRV6 on PA08 mux O */ +#define MUX_PA08O_ADC0_DRV6 _L_(14) +#define PINMUX_PA08O_ADC0_DRV6 ((PIN_PA08O_ADC0_DRV6 << 16) | MUX_PA08O_ADC0_DRV6) +#define PORT_PA08O_ADC0_DRV6 (_UL_(1) << 8) +#define PIN_PA09O_ADC0_DRV7 _L_(9) /**< \brief ADC0 signal: DRV7 on PA09 mux O */ +#define MUX_PA09O_ADC0_DRV7 _L_(14) +#define PINMUX_PA09O_ADC0_DRV7 ((PIN_PA09O_ADC0_DRV7 << 16) | MUX_PA09O_ADC0_DRV7) +#define PORT_PA09O_ADC0_DRV7 (_UL_(1) << 9) +#define PIN_PA10O_ADC0_DRV8 _L_(10) /**< \brief ADC0 signal: DRV8 on PA10 mux O */ +#define MUX_PA10O_ADC0_DRV8 _L_(14) +#define PINMUX_PA10O_ADC0_DRV8 ((PIN_PA10O_ADC0_DRV8 << 16) | MUX_PA10O_ADC0_DRV8) +#define PORT_PA10O_ADC0_DRV8 (_UL_(1) << 10) +#define PIN_PA11O_ADC0_DRV9 _L_(11) /**< \brief ADC0 signal: DRV9 on PA11 mux O */ +#define MUX_PA11O_ADC0_DRV9 _L_(14) +#define PINMUX_PA11O_ADC0_DRV9 ((PIN_PA11O_ADC0_DRV9 << 16) | MUX_PA11O_ADC0_DRV9) +#define PORT_PA11O_ADC0_DRV9 (_UL_(1) << 11) +#define PIN_PA16O_ADC0_DRV10 _L_(16) /**< \brief ADC0 signal: DRV10 on PA16 mux O */ +#define MUX_PA16O_ADC0_DRV10 _L_(14) +#define PINMUX_PA16O_ADC0_DRV10 ((PIN_PA16O_ADC0_DRV10 << 16) | MUX_PA16O_ADC0_DRV10) +#define PORT_PA16O_ADC0_DRV10 (_UL_(1) << 16) +#define PIN_PA17O_ADC0_DRV11 _L_(17) /**< \brief ADC0 signal: DRV11 on PA17 mux O */ +#define MUX_PA17O_ADC0_DRV11 _L_(14) +#define PINMUX_PA17O_ADC0_DRV11 ((PIN_PA17O_ADC0_DRV11 << 16) | MUX_PA17O_ADC0_DRV11) +#define PORT_PA17O_ADC0_DRV11 (_UL_(1) << 17) +#define PIN_PA18O_ADC0_DRV12 _L_(18) /**< \brief ADC0 signal: DRV12 on PA18 mux O */ +#define MUX_PA18O_ADC0_DRV12 _L_(14) +#define PINMUX_PA18O_ADC0_DRV12 ((PIN_PA18O_ADC0_DRV12 << 16) | MUX_PA18O_ADC0_DRV12) +#define PORT_PA18O_ADC0_DRV12 (_UL_(1) << 18) +#define PIN_PA19O_ADC0_DRV13 _L_(19) /**< \brief ADC0 signal: DRV13 on PA19 mux O */ +#define MUX_PA19O_ADC0_DRV13 _L_(14) +#define PINMUX_PA19O_ADC0_DRV13 ((PIN_PA19O_ADC0_DRV13 << 16) | MUX_PA19O_ADC0_DRV13) +#define PORT_PA19O_ADC0_DRV13 (_UL_(1) << 19) +#define PIN_PA20O_ADC0_DRV14 _L_(20) /**< \brief ADC0 signal: DRV14 on PA20 mux O */ +#define MUX_PA20O_ADC0_DRV14 _L_(14) +#define PINMUX_PA20O_ADC0_DRV14 ((PIN_PA20O_ADC0_DRV14 << 16) | MUX_PA20O_ADC0_DRV14) +#define PORT_PA20O_ADC0_DRV14 (_UL_(1) << 20) +#define PIN_PA21O_ADC0_DRV15 _L_(21) /**< \brief ADC0 signal: DRV15 on PA21 mux O */ +#define MUX_PA21O_ADC0_DRV15 _L_(14) +#define PINMUX_PA21O_ADC0_DRV15 ((PIN_PA21O_ADC0_DRV15 << 16) | MUX_PA21O_ADC0_DRV15) +#define PORT_PA21O_ADC0_DRV15 (_UL_(1) << 21) +#define PIN_PA22O_ADC0_DRV16 _L_(22) /**< \brief ADC0 signal: DRV16 on PA22 mux O */ +#define MUX_PA22O_ADC0_DRV16 _L_(14) +#define PINMUX_PA22O_ADC0_DRV16 ((PIN_PA22O_ADC0_DRV16 << 16) | MUX_PA22O_ADC0_DRV16) +#define PORT_PA22O_ADC0_DRV16 (_UL_(1) << 22) +#define PIN_PA23O_ADC0_DRV17 _L_(23) /**< \brief ADC0 signal: DRV17 on PA23 mux O */ +#define MUX_PA23O_ADC0_DRV17 _L_(14) +#define PINMUX_PA23O_ADC0_DRV17 ((PIN_PA23O_ADC0_DRV17 << 16) | MUX_PA23O_ADC0_DRV17) +#define PORT_PA23O_ADC0_DRV17 (_UL_(1) << 23) +#define PIN_PA27O_ADC0_DRV18 _L_(27) /**< \brief ADC0 signal: DRV18 on PA27 mux O */ +#define MUX_PA27O_ADC0_DRV18 _L_(14) +#define PINMUX_PA27O_ADC0_DRV18 ((PIN_PA27O_ADC0_DRV18 << 16) | MUX_PA27O_ADC0_DRV18) +#define PORT_PA27O_ADC0_DRV18 (_UL_(1) << 27) +#define PIN_PA30O_ADC0_DRV19 _L_(30) /**< \brief ADC0 signal: DRV19 on PA30 mux O */ +#define MUX_PA30O_ADC0_DRV19 _L_(14) +#define PINMUX_PA30O_ADC0_DRV19 ((PIN_PA30O_ADC0_DRV19 << 16) | MUX_PA30O_ADC0_DRV19) +#define PORT_PA30O_ADC0_DRV19 (_UL_(1) << 30) +#define PIN_PB02O_ADC0_DRV20 _L_(34) /**< \brief ADC0 signal: DRV20 on PB02 mux O */ +#define MUX_PB02O_ADC0_DRV20 _L_(14) +#define PINMUX_PB02O_ADC0_DRV20 ((PIN_PB02O_ADC0_DRV20 << 16) | MUX_PB02O_ADC0_DRV20) +#define PORT_PB02O_ADC0_DRV20 (_UL_(1) << 2) +#define PIN_PB03O_ADC0_DRV21 _L_(35) /**< \brief ADC0 signal: DRV21 on PB03 mux O */ +#define MUX_PB03O_ADC0_DRV21 _L_(14) +#define PINMUX_PB03O_ADC0_DRV21 ((PIN_PB03O_ADC0_DRV21 << 16) | MUX_PB03O_ADC0_DRV21) +#define PORT_PB03O_ADC0_DRV21 (_UL_(1) << 3) +#define PIN_PB04O_ADC0_DRV22 _L_(36) /**< \brief ADC0 signal: DRV22 on PB04 mux O */ +#define MUX_PB04O_ADC0_DRV22 _L_(14) +#define PINMUX_PB04O_ADC0_DRV22 ((PIN_PB04O_ADC0_DRV22 << 16) | MUX_PB04O_ADC0_DRV22) +#define PORT_PB04O_ADC0_DRV22 (_UL_(1) << 4) +#define PIN_PB05O_ADC0_DRV23 _L_(37) /**< \brief ADC0 signal: DRV23 on PB05 mux O */ +#define MUX_PB05O_ADC0_DRV23 _L_(14) +#define PINMUX_PB05O_ADC0_DRV23 ((PIN_PB05O_ADC0_DRV23 << 16) | MUX_PB05O_ADC0_DRV23) +#define PORT_PB05O_ADC0_DRV23 (_UL_(1) << 5) +#define PIN_PB06O_ADC0_DRV24 _L_(38) /**< \brief ADC0 signal: DRV24 on PB06 mux O */ +#define MUX_PB06O_ADC0_DRV24 _L_(14) +#define PINMUX_PB06O_ADC0_DRV24 ((PIN_PB06O_ADC0_DRV24 << 16) | MUX_PB06O_ADC0_DRV24) +#define PORT_PB06O_ADC0_DRV24 (_UL_(1) << 6) +#define PIN_PB07O_ADC0_DRV25 _L_(39) /**< \brief ADC0 signal: DRV25 on PB07 mux O */ +#define MUX_PB07O_ADC0_DRV25 _L_(14) +#define PINMUX_PB07O_ADC0_DRV25 ((PIN_PB07O_ADC0_DRV25 << 16) | MUX_PB07O_ADC0_DRV25) +#define PORT_PB07O_ADC0_DRV25 (_UL_(1) << 7) +#define PIN_PB12O_ADC0_DRV26 _L_(44) /**< \brief ADC0 signal: DRV26 on PB12 mux O */ +#define MUX_PB12O_ADC0_DRV26 _L_(14) +#define PINMUX_PB12O_ADC0_DRV26 ((PIN_PB12O_ADC0_DRV26 << 16) | MUX_PB12O_ADC0_DRV26) +#define PORT_PB12O_ADC0_DRV26 (_UL_(1) << 12) +#define PIN_PB13O_ADC0_DRV27 _L_(45) /**< \brief ADC0 signal: DRV27 on PB13 mux O */ +#define MUX_PB13O_ADC0_DRV27 _L_(14) +#define PINMUX_PB13O_ADC0_DRV27 ((PIN_PB13O_ADC0_DRV27 << 16) | MUX_PB13O_ADC0_DRV27) +#define PORT_PB13O_ADC0_DRV27 (_UL_(1) << 13) +#define PIN_PB14O_ADC0_DRV28 _L_(46) /**< \brief ADC0 signal: DRV28 on PB14 mux O */ +#define MUX_PB14O_ADC0_DRV28 _L_(14) +#define PINMUX_PB14O_ADC0_DRV28 ((PIN_PB14O_ADC0_DRV28 << 16) | MUX_PB14O_ADC0_DRV28) +#define PORT_PB14O_ADC0_DRV28 (_UL_(1) << 14) +#define PIN_PB15O_ADC0_DRV29 _L_(47) /**< \brief ADC0 signal: DRV29 on PB15 mux O */ +#define MUX_PB15O_ADC0_DRV29 _L_(14) +#define PINMUX_PB15O_ADC0_DRV29 ((PIN_PB15O_ADC0_DRV29 << 16) | MUX_PB15O_ADC0_DRV29) +#define PORT_PB15O_ADC0_DRV29 (_UL_(1) << 15) +#define PIN_PB00O_ADC0_DRV30 _L_(32) /**< \brief ADC0 signal: DRV30 on PB00 mux O */ +#define MUX_PB00O_ADC0_DRV30 _L_(14) +#define PINMUX_PB00O_ADC0_DRV30 ((PIN_PB00O_ADC0_DRV30 << 16) | MUX_PB00O_ADC0_DRV30) +#define PORT_PB00O_ADC0_DRV30 (_UL_(1) << 0) +#define PIN_PB01O_ADC0_DRV31 _L_(33) /**< \brief ADC0 signal: DRV31 on PB01 mux O */ +#define MUX_PB01O_ADC0_DRV31 _L_(14) +#define PINMUX_PB01O_ADC0_DRV31 ((PIN_PB01O_ADC0_DRV31 << 16) | MUX_PB01O_ADC0_DRV31) +#define PORT_PB01O_ADC0_DRV31 (_UL_(1) << 1) +#define PIN_PA03B_ADC0_PTCXY0 _L_(3) /**< \brief ADC0 signal: PTCXY0 on PA03 mux B */ +#define MUX_PA03B_ADC0_PTCXY0 _L_(1) +#define PINMUX_PA03B_ADC0_PTCXY0 ((PIN_PA03B_ADC0_PTCXY0 << 16) | MUX_PA03B_ADC0_PTCXY0) +#define PORT_PA03B_ADC0_PTCXY0 (_UL_(1) << 3) +#define PIN_PB08B_ADC0_PTCXY1 _L_(40) /**< \brief ADC0 signal: PTCXY1 on PB08 mux B */ +#define MUX_PB08B_ADC0_PTCXY1 _L_(1) +#define PINMUX_PB08B_ADC0_PTCXY1 ((PIN_PB08B_ADC0_PTCXY1 << 16) | MUX_PB08B_ADC0_PTCXY1) +#define PORT_PB08B_ADC0_PTCXY1 (_UL_(1) << 8) +#define PIN_PB09B_ADC0_PTCXY2 _L_(41) /**< \brief ADC0 signal: PTCXY2 on PB09 mux B */ +#define MUX_PB09B_ADC0_PTCXY2 _L_(1) +#define PINMUX_PB09B_ADC0_PTCXY2 ((PIN_PB09B_ADC0_PTCXY2 << 16) | MUX_PB09B_ADC0_PTCXY2) +#define PORT_PB09B_ADC0_PTCXY2 (_UL_(1) << 9) +#define PIN_PA04B_ADC0_PTCXY3 _L_(4) /**< \brief ADC0 signal: PTCXY3 on PA04 mux B */ +#define MUX_PA04B_ADC0_PTCXY3 _L_(1) +#define PINMUX_PA04B_ADC0_PTCXY3 ((PIN_PA04B_ADC0_PTCXY3 << 16) | MUX_PA04B_ADC0_PTCXY3) +#define PORT_PA04B_ADC0_PTCXY3 (_UL_(1) << 4) +#define PIN_PA06B_ADC0_PTCXY4 _L_(6) /**< \brief ADC0 signal: PTCXY4 on PA06 mux B */ +#define MUX_PA06B_ADC0_PTCXY4 _L_(1) +#define PINMUX_PA06B_ADC0_PTCXY4 ((PIN_PA06B_ADC0_PTCXY4 << 16) | MUX_PA06B_ADC0_PTCXY4) +#define PORT_PA06B_ADC0_PTCXY4 (_UL_(1) << 6) +#define PIN_PA07B_ADC0_PTCXY5 _L_(7) /**< \brief ADC0 signal: PTCXY5 on PA07 mux B */ +#define MUX_PA07B_ADC0_PTCXY5 _L_(1) +#define PINMUX_PA07B_ADC0_PTCXY5 ((PIN_PA07B_ADC0_PTCXY5 << 16) | MUX_PA07B_ADC0_PTCXY5) +#define PORT_PA07B_ADC0_PTCXY5 (_UL_(1) << 7) +#define PIN_PA08B_ADC0_PTCXY6 _L_(8) /**< \brief ADC0 signal: PTCXY6 on PA08 mux B */ +#define MUX_PA08B_ADC0_PTCXY6 _L_(1) +#define PINMUX_PA08B_ADC0_PTCXY6 ((PIN_PA08B_ADC0_PTCXY6 << 16) | MUX_PA08B_ADC0_PTCXY6) +#define PORT_PA08B_ADC0_PTCXY6 (_UL_(1) << 8) +#define PIN_PA09B_ADC0_PTCXY7 _L_(9) /**< \brief ADC0 signal: PTCXY7 on PA09 mux B */ +#define MUX_PA09B_ADC0_PTCXY7 _L_(1) +#define PINMUX_PA09B_ADC0_PTCXY7 ((PIN_PA09B_ADC0_PTCXY7 << 16) | MUX_PA09B_ADC0_PTCXY7) +#define PORT_PA09B_ADC0_PTCXY7 (_UL_(1) << 9) +#define PIN_PA10B_ADC0_PTCXY8 _L_(10) /**< \brief ADC0 signal: PTCXY8 on PA10 mux B */ +#define MUX_PA10B_ADC0_PTCXY8 _L_(1) +#define PINMUX_PA10B_ADC0_PTCXY8 ((PIN_PA10B_ADC0_PTCXY8 << 16) | MUX_PA10B_ADC0_PTCXY8) +#define PORT_PA10B_ADC0_PTCXY8 (_UL_(1) << 10) +#define PIN_PA11B_ADC0_PTCXY9 _L_(11) /**< \brief ADC0 signal: PTCXY9 on PA11 mux B */ +#define MUX_PA11B_ADC0_PTCXY9 _L_(1) +#define PINMUX_PA11B_ADC0_PTCXY9 ((PIN_PA11B_ADC0_PTCXY9 << 16) | MUX_PA11B_ADC0_PTCXY9) +#define PORT_PA11B_ADC0_PTCXY9 (_UL_(1) << 11) +#define PIN_PA16B_ADC0_PTCXY10 _L_(16) /**< \brief ADC0 signal: PTCXY10 on PA16 mux B */ +#define MUX_PA16B_ADC0_PTCXY10 _L_(1) +#define PINMUX_PA16B_ADC0_PTCXY10 ((PIN_PA16B_ADC0_PTCXY10 << 16) | MUX_PA16B_ADC0_PTCXY10) +#define PORT_PA16B_ADC0_PTCXY10 (_UL_(1) << 16) +#define PIN_PA17B_ADC0_PTCXY11 _L_(17) /**< \brief ADC0 signal: PTCXY11 on PA17 mux B */ +#define MUX_PA17B_ADC0_PTCXY11 _L_(1) +#define PINMUX_PA17B_ADC0_PTCXY11 ((PIN_PA17B_ADC0_PTCXY11 << 16) | MUX_PA17B_ADC0_PTCXY11) +#define PORT_PA17B_ADC0_PTCXY11 (_UL_(1) << 17) +#define PIN_PA19B_ADC0_PTCXY13 _L_(19) /**< \brief ADC0 signal: PTCXY13 on PA19 mux B */ +#define MUX_PA19B_ADC0_PTCXY13 _L_(1) +#define PINMUX_PA19B_ADC0_PTCXY13 ((PIN_PA19B_ADC0_PTCXY13 << 16) | MUX_PA19B_ADC0_PTCXY13) +#define PORT_PA19B_ADC0_PTCXY13 (_UL_(1) << 19) +#define PIN_PA20B_ADC0_PTCXY14 _L_(20) /**< \brief ADC0 signal: PTCXY14 on PA20 mux B */ +#define MUX_PA20B_ADC0_PTCXY14 _L_(1) +#define PINMUX_PA20B_ADC0_PTCXY14 ((PIN_PA20B_ADC0_PTCXY14 << 16) | MUX_PA20B_ADC0_PTCXY14) +#define PORT_PA20B_ADC0_PTCXY14 (_UL_(1) << 20) +#define PIN_PA21B_ADC0_PTCXY15 _L_(21) /**< \brief ADC0 signal: PTCXY15 on PA21 mux B */ +#define MUX_PA21B_ADC0_PTCXY15 _L_(1) +#define PINMUX_PA21B_ADC0_PTCXY15 ((PIN_PA21B_ADC0_PTCXY15 << 16) | MUX_PA21B_ADC0_PTCXY15) +#define PORT_PA21B_ADC0_PTCXY15 (_UL_(1) << 21) +#define PIN_PA22B_ADC0_PTCXY16 _L_(22) /**< \brief ADC0 signal: PTCXY16 on PA22 mux B */ +#define MUX_PA22B_ADC0_PTCXY16 _L_(1) +#define PINMUX_PA22B_ADC0_PTCXY16 ((PIN_PA22B_ADC0_PTCXY16 << 16) | MUX_PA22B_ADC0_PTCXY16) +#define PORT_PA22B_ADC0_PTCXY16 (_UL_(1) << 22) +#define PIN_PA23B_ADC0_PTCXY17 _L_(23) /**< \brief ADC0 signal: PTCXY17 on PA23 mux B */ +#define MUX_PA23B_ADC0_PTCXY17 _L_(1) +#define PINMUX_PA23B_ADC0_PTCXY17 ((PIN_PA23B_ADC0_PTCXY17 << 16) | MUX_PA23B_ADC0_PTCXY17) +#define PORT_PA23B_ADC0_PTCXY17 (_UL_(1) << 23) +#define PIN_PA27B_ADC0_PTCXY18 _L_(27) /**< \brief ADC0 signal: PTCXY18 on PA27 mux B */ +#define MUX_PA27B_ADC0_PTCXY18 _L_(1) +#define PINMUX_PA27B_ADC0_PTCXY18 ((PIN_PA27B_ADC0_PTCXY18 << 16) | MUX_PA27B_ADC0_PTCXY18) +#define PORT_PA27B_ADC0_PTCXY18 (_UL_(1) << 27) +#define PIN_PA30B_ADC0_PTCXY19 _L_(30) /**< \brief ADC0 signal: PTCXY19 on PA30 mux B */ +#define MUX_PA30B_ADC0_PTCXY19 _L_(1) +#define PINMUX_PA30B_ADC0_PTCXY19 ((PIN_PA30B_ADC0_PTCXY19 << 16) | MUX_PA30B_ADC0_PTCXY19) +#define PORT_PA30B_ADC0_PTCXY19 (_UL_(1) << 30) +#define PIN_PB02B_ADC0_PTCXY20 _L_(34) /**< \brief ADC0 signal: PTCXY20 on PB02 mux B */ +#define MUX_PB02B_ADC0_PTCXY20 _L_(1) +#define PINMUX_PB02B_ADC0_PTCXY20 ((PIN_PB02B_ADC0_PTCXY20 << 16) | MUX_PB02B_ADC0_PTCXY20) +#define PORT_PB02B_ADC0_PTCXY20 (_UL_(1) << 2) +#define PIN_PB03B_ADC0_PTCXY21 _L_(35) /**< \brief ADC0 signal: PTCXY21 on PB03 mux B */ +#define MUX_PB03B_ADC0_PTCXY21 _L_(1) +#define PINMUX_PB03B_ADC0_PTCXY21 ((PIN_PB03B_ADC0_PTCXY21 << 16) | MUX_PB03B_ADC0_PTCXY21) +#define PORT_PB03B_ADC0_PTCXY21 (_UL_(1) << 3) +#define PIN_PB04B_ADC0_PTCXY22 _L_(36) /**< \brief ADC0 signal: PTCXY22 on PB04 mux B */ +#define MUX_PB04B_ADC0_PTCXY22 _L_(1) +#define PINMUX_PB04B_ADC0_PTCXY22 ((PIN_PB04B_ADC0_PTCXY22 << 16) | MUX_PB04B_ADC0_PTCXY22) +#define PORT_PB04B_ADC0_PTCXY22 (_UL_(1) << 4) +#define PIN_PB05B_ADC0_PTCXY23 _L_(37) /**< \brief ADC0 signal: PTCXY23 on PB05 mux B */ +#define MUX_PB05B_ADC0_PTCXY23 _L_(1) +#define PINMUX_PB05B_ADC0_PTCXY23 ((PIN_PB05B_ADC0_PTCXY23 << 16) | MUX_PB05B_ADC0_PTCXY23) +#define PORT_PB05B_ADC0_PTCXY23 (_UL_(1) << 5) +#define PIN_PB06B_ADC0_PTCXY24 _L_(38) /**< \brief ADC0 signal: PTCXY24 on PB06 mux B */ +#define MUX_PB06B_ADC0_PTCXY24 _L_(1) +#define PINMUX_PB06B_ADC0_PTCXY24 ((PIN_PB06B_ADC0_PTCXY24 << 16) | MUX_PB06B_ADC0_PTCXY24) +#define PORT_PB06B_ADC0_PTCXY24 (_UL_(1) << 6) +#define PIN_PB07B_ADC0_PTCXY25 _L_(39) /**< \brief ADC0 signal: PTCXY25 on PB07 mux B */ +#define MUX_PB07B_ADC0_PTCXY25 _L_(1) +#define PINMUX_PB07B_ADC0_PTCXY25 ((PIN_PB07B_ADC0_PTCXY25 << 16) | MUX_PB07B_ADC0_PTCXY25) +#define PORT_PB07B_ADC0_PTCXY25 (_UL_(1) << 7) +#define PIN_PB12B_ADC0_PTCXY26 _L_(44) /**< \brief ADC0 signal: PTCXY26 on PB12 mux B */ +#define MUX_PB12B_ADC0_PTCXY26 _L_(1) +#define PINMUX_PB12B_ADC0_PTCXY26 ((PIN_PB12B_ADC0_PTCXY26 << 16) | MUX_PB12B_ADC0_PTCXY26) +#define PORT_PB12B_ADC0_PTCXY26 (_UL_(1) << 12) +#define PIN_PB13B_ADC0_PTCXY27 _L_(45) /**< \brief ADC0 signal: PTCXY27 on PB13 mux B */ +#define MUX_PB13B_ADC0_PTCXY27 _L_(1) +#define PINMUX_PB13B_ADC0_PTCXY27 ((PIN_PB13B_ADC0_PTCXY27 << 16) | MUX_PB13B_ADC0_PTCXY27) +#define PORT_PB13B_ADC0_PTCXY27 (_UL_(1) << 13) +#define PIN_PB14B_ADC0_PTCXY28 _L_(46) /**< \brief ADC0 signal: PTCXY28 on PB14 mux B */ +#define MUX_PB14B_ADC0_PTCXY28 _L_(1) +#define PINMUX_PB14B_ADC0_PTCXY28 ((PIN_PB14B_ADC0_PTCXY28 << 16) | MUX_PB14B_ADC0_PTCXY28) +#define PORT_PB14B_ADC0_PTCXY28 (_UL_(1) << 14) +#define PIN_PB15B_ADC0_PTCXY29 _L_(47) /**< \brief ADC0 signal: PTCXY29 on PB15 mux B */ +#define MUX_PB15B_ADC0_PTCXY29 _L_(1) +#define PINMUX_PB15B_ADC0_PTCXY29 ((PIN_PB15B_ADC0_PTCXY29 << 16) | MUX_PB15B_ADC0_PTCXY29) +#define PORT_PB15B_ADC0_PTCXY29 (_UL_(1) << 15) +#define PIN_PB00B_ADC0_PTCXY30 _L_(32) /**< \brief ADC0 signal: PTCXY30 on PB00 mux B */ +#define MUX_PB00B_ADC0_PTCXY30 _L_(1) +#define PINMUX_PB00B_ADC0_PTCXY30 ((PIN_PB00B_ADC0_PTCXY30 << 16) | MUX_PB00B_ADC0_PTCXY30) +#define PORT_PB00B_ADC0_PTCXY30 (_UL_(1) << 0) +#define PIN_PB01B_ADC0_PTCXY31 _L_(33) /**< \brief ADC0 signal: PTCXY31 on PB01 mux B */ +#define MUX_PB01B_ADC0_PTCXY31 _L_(1) +#define PINMUX_PB01B_ADC0_PTCXY31 ((PIN_PB01B_ADC0_PTCXY31 << 16) | MUX_PB01B_ADC0_PTCXY31) +#define PORT_PB01B_ADC0_PTCXY31 (_UL_(1) << 1) +/* ========== PORT definition for ADC1 peripheral ========== */ +#define PIN_PB08B_ADC1_AIN0 _L_(40) /**< \brief ADC1 signal: AIN0 on PB08 mux B */ +#define MUX_PB08B_ADC1_AIN0 _L_(1) +#define PINMUX_PB08B_ADC1_AIN0 ((PIN_PB08B_ADC1_AIN0 << 16) | MUX_PB08B_ADC1_AIN0) +#define PORT_PB08B_ADC1_AIN0 (_UL_(1) << 8) +#define PIN_PB09B_ADC1_AIN1 _L_(41) /**< \brief ADC1 signal: AIN1 on PB09 mux B */ +#define MUX_PB09B_ADC1_AIN1 _L_(1) +#define PINMUX_PB09B_ADC1_AIN1 ((PIN_PB09B_ADC1_AIN1 << 16) | MUX_PB09B_ADC1_AIN1) +#define PORT_PB09B_ADC1_AIN1 (_UL_(1) << 9) +#define PIN_PA08B_ADC1_AIN2 _L_(8) /**< \brief ADC1 signal: AIN2 on PA08 mux B */ +#define MUX_PA08B_ADC1_AIN2 _L_(1) +#define PINMUX_PA08B_ADC1_AIN2 ((PIN_PA08B_ADC1_AIN2 << 16) | MUX_PA08B_ADC1_AIN2) +#define PORT_PA08B_ADC1_AIN2 (_UL_(1) << 8) +#define PIN_PA09B_ADC1_AIN3 _L_(9) /**< \brief ADC1 signal: AIN3 on PA09 mux B */ +#define MUX_PA09B_ADC1_AIN3 _L_(1) +#define PINMUX_PA09B_ADC1_AIN3 ((PIN_PA09B_ADC1_AIN3 << 16) | MUX_PA09B_ADC1_AIN3) +#define PORT_PA09B_ADC1_AIN3 (_UL_(1) << 9) +#define PIN_PC02B_ADC1_AIN4 _L_(66) /**< \brief ADC1 signal: AIN4 on PC02 mux B */ +#define MUX_PC02B_ADC1_AIN4 _L_(1) +#define PINMUX_PC02B_ADC1_AIN4 ((PIN_PC02B_ADC1_AIN4 << 16) | MUX_PC02B_ADC1_AIN4) +#define PORT_PC02B_ADC1_AIN4 (_UL_(1) << 2) +#define PIN_PC03B_ADC1_AIN5 _L_(67) /**< \brief ADC1 signal: AIN5 on PC03 mux B */ +#define MUX_PC03B_ADC1_AIN5 _L_(1) +#define PINMUX_PC03B_ADC1_AIN5 ((PIN_PC03B_ADC1_AIN5 << 16) | MUX_PC03B_ADC1_AIN5) +#define PORT_PC03B_ADC1_AIN5 (_UL_(1) << 3) +#define PIN_PB04B_ADC1_AIN6 _L_(36) /**< \brief ADC1 signal: AIN6 on PB04 mux B */ +#define MUX_PB04B_ADC1_AIN6 _L_(1) +#define PINMUX_PB04B_ADC1_AIN6 ((PIN_PB04B_ADC1_AIN6 << 16) | MUX_PB04B_ADC1_AIN6) +#define PORT_PB04B_ADC1_AIN6 (_UL_(1) << 4) +#define PIN_PB05B_ADC1_AIN7 _L_(37) /**< \brief ADC1 signal: AIN7 on PB05 mux B */ +#define MUX_PB05B_ADC1_AIN7 _L_(1) +#define PINMUX_PB05B_ADC1_AIN7 ((PIN_PB05B_ADC1_AIN7 << 16) | MUX_PB05B_ADC1_AIN7) +#define PORT_PB05B_ADC1_AIN7 (_UL_(1) << 5) +#define PIN_PB06B_ADC1_AIN8 _L_(38) /**< \brief ADC1 signal: AIN8 on PB06 mux B */ +#define MUX_PB06B_ADC1_AIN8 _L_(1) +#define PINMUX_PB06B_ADC1_AIN8 ((PIN_PB06B_ADC1_AIN8 << 16) | MUX_PB06B_ADC1_AIN8) +#define PORT_PB06B_ADC1_AIN8 (_UL_(1) << 6) +#define PIN_PB07B_ADC1_AIN9 _L_(39) /**< \brief ADC1 signal: AIN9 on PB07 mux B */ +#define MUX_PB07B_ADC1_AIN9 _L_(1) +#define PINMUX_PB07B_ADC1_AIN9 ((PIN_PB07B_ADC1_AIN9 << 16) | MUX_PB07B_ADC1_AIN9) +#define PORT_PB07B_ADC1_AIN9 (_UL_(1) << 7) +#define PIN_PC00B_ADC1_AIN10 _L_(64) /**< \brief ADC1 signal: AIN10 on PC00 mux B */ +#define MUX_PC00B_ADC1_AIN10 _L_(1) +#define PINMUX_PC00B_ADC1_AIN10 ((PIN_PC00B_ADC1_AIN10 << 16) | MUX_PC00B_ADC1_AIN10) +#define PORT_PC00B_ADC1_AIN10 (_UL_(1) << 0) +#define PIN_PC01B_ADC1_AIN11 _L_(65) /**< \brief ADC1 signal: AIN11 on PC01 mux B */ +#define MUX_PC01B_ADC1_AIN11 _L_(1) +#define PINMUX_PC01B_ADC1_AIN11 ((PIN_PC01B_ADC1_AIN11 << 16) | MUX_PC01B_ADC1_AIN11) +#define PORT_PC01B_ADC1_AIN11 (_UL_(1) << 1) +/* ========== PORT definition for DAC peripheral ========== */ +#define PIN_PA02B_DAC_VOUT0 _L_(2) /**< \brief DAC signal: VOUT0 on PA02 mux B */ +#define MUX_PA02B_DAC_VOUT0 _L_(1) +#define PINMUX_PA02B_DAC_VOUT0 ((PIN_PA02B_DAC_VOUT0 << 16) | MUX_PA02B_DAC_VOUT0) +#define PORT_PA02B_DAC_VOUT0 (_UL_(1) << 2) +#define PIN_PA05B_DAC_VOUT1 _L_(5) /**< \brief DAC signal: VOUT1 on PA05 mux B */ +#define MUX_PA05B_DAC_VOUT1 _L_(1) +#define PINMUX_PA05B_DAC_VOUT1 ((PIN_PA05B_DAC_VOUT1 << 16) | MUX_PA05B_DAC_VOUT1) +#define PORT_PA05B_DAC_VOUT1 (_UL_(1) << 5) +/* ========== PORT definition for I2S peripheral ========== */ +#define PIN_PA09J_I2S_FS0 _L_(9) /**< \brief I2S signal: FS0 on PA09 mux J */ +#define MUX_PA09J_I2S_FS0 _L_(9) +#define PINMUX_PA09J_I2S_FS0 ((PIN_PA09J_I2S_FS0 << 16) | MUX_PA09J_I2S_FS0) +#define PORT_PA09J_I2S_FS0 (_UL_(1) << 9) +#define PIN_PA20J_I2S_FS0 _L_(20) /**< \brief I2S signal: FS0 on PA20 mux J */ +#define MUX_PA20J_I2S_FS0 _L_(9) +#define PINMUX_PA20J_I2S_FS0 ((PIN_PA20J_I2S_FS0 << 16) | MUX_PA20J_I2S_FS0) +#define PORT_PA20J_I2S_FS0 (_UL_(1) << 20) +#define PIN_PA23J_I2S_FS1 _L_(23) /**< \brief I2S signal: FS1 on PA23 mux J */ +#define MUX_PA23J_I2S_FS1 _L_(9) +#define PINMUX_PA23J_I2S_FS1 ((PIN_PA23J_I2S_FS1 << 16) | MUX_PA23J_I2S_FS1) +#define PORT_PA23J_I2S_FS1 (_UL_(1) << 23) +#define PIN_PB11J_I2S_FS1 _L_(43) /**< \brief I2S signal: FS1 on PB11 mux J */ +#define MUX_PB11J_I2S_FS1 _L_(9) +#define PINMUX_PB11J_I2S_FS1 ((PIN_PB11J_I2S_FS1 << 16) | MUX_PB11J_I2S_FS1) +#define PORT_PB11J_I2S_FS1 (_UL_(1) << 11) +#define PIN_PA08J_I2S_MCK0 _L_(8) /**< \brief I2S signal: MCK0 on PA08 mux J */ +#define MUX_PA08J_I2S_MCK0 _L_(9) +#define PINMUX_PA08J_I2S_MCK0 ((PIN_PA08J_I2S_MCK0 << 16) | MUX_PA08J_I2S_MCK0) +#define PORT_PA08J_I2S_MCK0 (_UL_(1) << 8) +#define PIN_PB17J_I2S_MCK0 _L_(49) /**< \brief I2S signal: MCK0 on PB17 mux J */ +#define MUX_PB17J_I2S_MCK0 _L_(9) +#define PINMUX_PB17J_I2S_MCK0 ((PIN_PB17J_I2S_MCK0 << 16) | MUX_PB17J_I2S_MCK0) +#define PORT_PB17J_I2S_MCK0 (_UL_(1) << 17) +#define PIN_PB13J_I2S_MCK1 _L_(45) /**< \brief I2S signal: MCK1 on PB13 mux J */ +#define MUX_PB13J_I2S_MCK1 _L_(9) +#define PINMUX_PB13J_I2S_MCK1 ((PIN_PB13J_I2S_MCK1 << 16) | MUX_PB13J_I2S_MCK1) +#define PORT_PB13J_I2S_MCK1 (_UL_(1) << 13) +#define PIN_PA10J_I2S_SCK0 _L_(10) /**< \brief I2S signal: SCK0 on PA10 mux J */ +#define MUX_PA10J_I2S_SCK0 _L_(9) +#define PINMUX_PA10J_I2S_SCK0 ((PIN_PA10J_I2S_SCK0 << 16) | MUX_PA10J_I2S_SCK0) +#define PORT_PA10J_I2S_SCK0 (_UL_(1) << 10) +#define PIN_PB16J_I2S_SCK0 _L_(48) /**< \brief I2S signal: SCK0 on PB16 mux J */ +#define MUX_PB16J_I2S_SCK0 _L_(9) +#define PINMUX_PB16J_I2S_SCK0 ((PIN_PB16J_I2S_SCK0 << 16) | MUX_PB16J_I2S_SCK0) +#define PORT_PB16J_I2S_SCK0 (_UL_(1) << 16) +#define PIN_PB12J_I2S_SCK1 _L_(44) /**< \brief I2S signal: SCK1 on PB12 mux J */ +#define MUX_PB12J_I2S_SCK1 _L_(9) +#define PINMUX_PB12J_I2S_SCK1 ((PIN_PB12J_I2S_SCK1 << 16) | MUX_PB12J_I2S_SCK1) +#define PORT_PB12J_I2S_SCK1 (_UL_(1) << 12) +#define PIN_PA22J_I2S_SDI _L_(22) /**< \brief I2S signal: SDI on PA22 mux J */ +#define MUX_PA22J_I2S_SDI _L_(9) +#define PINMUX_PA22J_I2S_SDI ((PIN_PA22J_I2S_SDI << 16) | MUX_PA22J_I2S_SDI) +#define PORT_PA22J_I2S_SDI (_UL_(1) << 22) +#define PIN_PB10J_I2S_SDI _L_(42) /**< \brief I2S signal: SDI on PB10 mux J */ +#define MUX_PB10J_I2S_SDI _L_(9) +#define PINMUX_PB10J_I2S_SDI ((PIN_PB10J_I2S_SDI << 16) | MUX_PB10J_I2S_SDI) +#define PORT_PB10J_I2S_SDI (_UL_(1) << 10) +#define PIN_PA11J_I2S_SDO _L_(11) /**< \brief I2S signal: SDO on PA11 mux J */ +#define MUX_PA11J_I2S_SDO _L_(9) +#define PINMUX_PA11J_I2S_SDO ((PIN_PA11J_I2S_SDO << 16) | MUX_PA11J_I2S_SDO) +#define PORT_PA11J_I2S_SDO (_UL_(1) << 11) +#define PIN_PA21J_I2S_SDO _L_(21) /**< \brief I2S signal: SDO on PA21 mux J */ +#define MUX_PA21J_I2S_SDO _L_(9) +#define PINMUX_PA21J_I2S_SDO ((PIN_PA21J_I2S_SDO << 16) | MUX_PA21J_I2S_SDO) +#define PORT_PA21J_I2S_SDO (_UL_(1) << 21) +/* ========== PORT definition for PCC peripheral ========== */ +#define PIN_PA14K_PCC_CLK _L_(14) /**< \brief PCC signal: CLK on PA14 mux K */ +#define MUX_PA14K_PCC_CLK _L_(10) +#define PINMUX_PA14K_PCC_CLK ((PIN_PA14K_PCC_CLK << 16) | MUX_PA14K_PCC_CLK) +#define PORT_PA14K_PCC_CLK (_UL_(1) << 14) +#define PIN_PA16K_PCC_DATA0 _L_(16) /**< \brief PCC signal: DATA0 on PA16 mux K */ +#define MUX_PA16K_PCC_DATA0 _L_(10) +#define PINMUX_PA16K_PCC_DATA0 ((PIN_PA16K_PCC_DATA0 << 16) | MUX_PA16K_PCC_DATA0) +#define PORT_PA16K_PCC_DATA0 (_UL_(1) << 16) +#define PIN_PA17K_PCC_DATA1 _L_(17) /**< \brief PCC signal: DATA1 on PA17 mux K */ +#define MUX_PA17K_PCC_DATA1 _L_(10) +#define PINMUX_PA17K_PCC_DATA1 ((PIN_PA17K_PCC_DATA1 << 16) | MUX_PA17K_PCC_DATA1) +#define PORT_PA17K_PCC_DATA1 (_UL_(1) << 17) +#define PIN_PA18K_PCC_DATA2 _L_(18) /**< \brief PCC signal: DATA2 on PA18 mux K */ +#define MUX_PA18K_PCC_DATA2 _L_(10) +#define PINMUX_PA18K_PCC_DATA2 ((PIN_PA18K_PCC_DATA2 << 16) | MUX_PA18K_PCC_DATA2) +#define PORT_PA18K_PCC_DATA2 (_UL_(1) << 18) +#define PIN_PA19K_PCC_DATA3 _L_(19) /**< \brief PCC signal: DATA3 on PA19 mux K */ +#define MUX_PA19K_PCC_DATA3 _L_(10) +#define PINMUX_PA19K_PCC_DATA3 ((PIN_PA19K_PCC_DATA3 << 16) | MUX_PA19K_PCC_DATA3) +#define PORT_PA19K_PCC_DATA3 (_UL_(1) << 19) +#define PIN_PA20K_PCC_DATA4 _L_(20) /**< \brief PCC signal: DATA4 on PA20 mux K */ +#define MUX_PA20K_PCC_DATA4 _L_(10) +#define PINMUX_PA20K_PCC_DATA4 ((PIN_PA20K_PCC_DATA4 << 16) | MUX_PA20K_PCC_DATA4) +#define PORT_PA20K_PCC_DATA4 (_UL_(1) << 20) +#define PIN_PA21K_PCC_DATA5 _L_(21) /**< \brief PCC signal: DATA5 on PA21 mux K */ +#define MUX_PA21K_PCC_DATA5 _L_(10) +#define PINMUX_PA21K_PCC_DATA5 ((PIN_PA21K_PCC_DATA5 << 16) | MUX_PA21K_PCC_DATA5) +#define PORT_PA21K_PCC_DATA5 (_UL_(1) << 21) +#define PIN_PA22K_PCC_DATA6 _L_(22) /**< \brief PCC signal: DATA6 on PA22 mux K */ +#define MUX_PA22K_PCC_DATA6 _L_(10) +#define PINMUX_PA22K_PCC_DATA6 ((PIN_PA22K_PCC_DATA6 << 16) | MUX_PA22K_PCC_DATA6) +#define PORT_PA22K_PCC_DATA6 (_UL_(1) << 22) +#define PIN_PA23K_PCC_DATA7 _L_(23) /**< \brief PCC signal: DATA7 on PA23 mux K */ +#define MUX_PA23K_PCC_DATA7 _L_(10) +#define PINMUX_PA23K_PCC_DATA7 ((PIN_PA23K_PCC_DATA7 << 16) | MUX_PA23K_PCC_DATA7) +#define PORT_PA23K_PCC_DATA7 (_UL_(1) << 23) +#define PIN_PB14K_PCC_DATA8 _L_(46) /**< \brief PCC signal: DATA8 on PB14 mux K */ +#define MUX_PB14K_PCC_DATA8 _L_(10) +#define PINMUX_PB14K_PCC_DATA8 ((PIN_PB14K_PCC_DATA8 << 16) | MUX_PB14K_PCC_DATA8) +#define PORT_PB14K_PCC_DATA8 (_UL_(1) << 14) +#define PIN_PB15K_PCC_DATA9 _L_(47) /**< \brief PCC signal: DATA9 on PB15 mux K */ +#define MUX_PB15K_PCC_DATA9 _L_(10) +#define PINMUX_PB15K_PCC_DATA9 ((PIN_PB15K_PCC_DATA9 << 16) | MUX_PB15K_PCC_DATA9) +#define PORT_PB15K_PCC_DATA9 (_UL_(1) << 15) +#define PIN_PC12K_PCC_DATA10 _L_(76) /**< \brief PCC signal: DATA10 on PC12 mux K */ +#define MUX_PC12K_PCC_DATA10 _L_(10) +#define PINMUX_PC12K_PCC_DATA10 ((PIN_PC12K_PCC_DATA10 << 16) | MUX_PC12K_PCC_DATA10) +#define PORT_PC12K_PCC_DATA10 (_UL_(1) << 12) +#define PIN_PC13K_PCC_DATA11 _L_(77) /**< \brief PCC signal: DATA11 on PC13 mux K */ +#define MUX_PC13K_PCC_DATA11 _L_(10) +#define PINMUX_PC13K_PCC_DATA11 ((PIN_PC13K_PCC_DATA11 << 16) | MUX_PC13K_PCC_DATA11) +#define PORT_PC13K_PCC_DATA11 (_UL_(1) << 13) +#define PIN_PC14K_PCC_DATA12 _L_(78) /**< \brief PCC signal: DATA12 on PC14 mux K */ +#define MUX_PC14K_PCC_DATA12 _L_(10) +#define PINMUX_PC14K_PCC_DATA12 ((PIN_PC14K_PCC_DATA12 << 16) | MUX_PC14K_PCC_DATA12) +#define PORT_PC14K_PCC_DATA12 (_UL_(1) << 14) +#define PIN_PC15K_PCC_DATA13 _L_(79) /**< \brief PCC signal: DATA13 on PC15 mux K */ +#define MUX_PC15K_PCC_DATA13 _L_(10) +#define PINMUX_PC15K_PCC_DATA13 ((PIN_PC15K_PCC_DATA13 << 16) | MUX_PC15K_PCC_DATA13) +#define PORT_PC15K_PCC_DATA13 (_UL_(1) << 15) +#define PIN_PA12K_PCC_DEN1 _L_(12) /**< \brief PCC signal: DEN1 on PA12 mux K */ +#define MUX_PA12K_PCC_DEN1 _L_(10) +#define PINMUX_PA12K_PCC_DEN1 ((PIN_PA12K_PCC_DEN1 << 16) | MUX_PA12K_PCC_DEN1) +#define PORT_PA12K_PCC_DEN1 (_UL_(1) << 12) +#define PIN_PA13K_PCC_DEN2 _L_(13) /**< \brief PCC signal: DEN2 on PA13 mux K */ +#define MUX_PA13K_PCC_DEN2 _L_(10) +#define PINMUX_PA13K_PCC_DEN2 ((PIN_PA13K_PCC_DEN2 << 16) | MUX_PA13K_PCC_DEN2) +#define PORT_PA13K_PCC_DEN2 (_UL_(1) << 13) +/* ========== PORT definition for SDHC0 peripheral ========== */ +#define PIN_PA06I_SDHC0_SDCD _L_(6) /**< \brief SDHC0 signal: SDCD on PA06 mux I */ +#define MUX_PA06I_SDHC0_SDCD _L_(8) +#define PINMUX_PA06I_SDHC0_SDCD ((PIN_PA06I_SDHC0_SDCD << 16) | MUX_PA06I_SDHC0_SDCD) +#define PORT_PA06I_SDHC0_SDCD (_UL_(1) << 6) +#define PIN_PA12I_SDHC0_SDCD _L_(12) /**< \brief SDHC0 signal: SDCD on PA12 mux I */ +#define MUX_PA12I_SDHC0_SDCD _L_(8) +#define PINMUX_PA12I_SDHC0_SDCD ((PIN_PA12I_SDHC0_SDCD << 16) | MUX_PA12I_SDHC0_SDCD) +#define PORT_PA12I_SDHC0_SDCD (_UL_(1) << 12) +#define PIN_PB12I_SDHC0_SDCD _L_(44) /**< \brief SDHC0 signal: SDCD on PB12 mux I */ +#define MUX_PB12I_SDHC0_SDCD _L_(8) +#define PINMUX_PB12I_SDHC0_SDCD ((PIN_PB12I_SDHC0_SDCD << 16) | MUX_PB12I_SDHC0_SDCD) +#define PORT_PB12I_SDHC0_SDCD (_UL_(1) << 12) +#define PIN_PC06I_SDHC0_SDCD _L_(70) /**< \brief SDHC0 signal: SDCD on PC06 mux I */ +#define MUX_PC06I_SDHC0_SDCD _L_(8) +#define PINMUX_PC06I_SDHC0_SDCD ((PIN_PC06I_SDHC0_SDCD << 16) | MUX_PC06I_SDHC0_SDCD) +#define PORT_PC06I_SDHC0_SDCD (_UL_(1) << 6) +#define PIN_PB11I_SDHC0_SDCK _L_(43) /**< \brief SDHC0 signal: SDCK on PB11 mux I */ +#define MUX_PB11I_SDHC0_SDCK _L_(8) +#define PINMUX_PB11I_SDHC0_SDCK ((PIN_PB11I_SDHC0_SDCK << 16) | MUX_PB11I_SDHC0_SDCK) +#define PORT_PB11I_SDHC0_SDCK (_UL_(1) << 11) +#define PIN_PA08I_SDHC0_SDCMD _L_(8) /**< \brief SDHC0 signal: SDCMD on PA08 mux I */ +#define MUX_PA08I_SDHC0_SDCMD _L_(8) +#define PINMUX_PA08I_SDHC0_SDCMD ((PIN_PA08I_SDHC0_SDCMD << 16) | MUX_PA08I_SDHC0_SDCMD) +#define PORT_PA08I_SDHC0_SDCMD (_UL_(1) << 8) +#define PIN_PA09I_SDHC0_SDDAT0 _L_(9) /**< \brief SDHC0 signal: SDDAT0 on PA09 mux I */ +#define MUX_PA09I_SDHC0_SDDAT0 _L_(8) +#define PINMUX_PA09I_SDHC0_SDDAT0 ((PIN_PA09I_SDHC0_SDDAT0 << 16) | MUX_PA09I_SDHC0_SDDAT0) +#define PORT_PA09I_SDHC0_SDDAT0 (_UL_(1) << 9) +#define PIN_PA10I_SDHC0_SDDAT1 _L_(10) /**< \brief SDHC0 signal: SDDAT1 on PA10 mux I */ +#define MUX_PA10I_SDHC0_SDDAT1 _L_(8) +#define PINMUX_PA10I_SDHC0_SDDAT1 ((PIN_PA10I_SDHC0_SDDAT1 << 16) | MUX_PA10I_SDHC0_SDDAT1) +#define PORT_PA10I_SDHC0_SDDAT1 (_UL_(1) << 10) +#define PIN_PA11I_SDHC0_SDDAT2 _L_(11) /**< \brief SDHC0 signal: SDDAT2 on PA11 mux I */ +#define MUX_PA11I_SDHC0_SDDAT2 _L_(8) +#define PINMUX_PA11I_SDHC0_SDDAT2 ((PIN_PA11I_SDHC0_SDDAT2 << 16) | MUX_PA11I_SDHC0_SDDAT2) +#define PORT_PA11I_SDHC0_SDDAT2 (_UL_(1) << 11) +#define PIN_PB10I_SDHC0_SDDAT3 _L_(42) /**< \brief SDHC0 signal: SDDAT3 on PB10 mux I */ +#define MUX_PB10I_SDHC0_SDDAT3 _L_(8) +#define PINMUX_PB10I_SDHC0_SDDAT3 ((PIN_PB10I_SDHC0_SDDAT3 << 16) | MUX_PB10I_SDHC0_SDDAT3) +#define PORT_PB10I_SDHC0_SDDAT3 (_UL_(1) << 10) +#define PIN_PA07I_SDHC0_SDWP _L_(7) /**< \brief SDHC0 signal: SDWP on PA07 mux I */ +#define MUX_PA07I_SDHC0_SDWP _L_(8) +#define PINMUX_PA07I_SDHC0_SDWP ((PIN_PA07I_SDHC0_SDWP << 16) | MUX_PA07I_SDHC0_SDWP) +#define PORT_PA07I_SDHC0_SDWP (_UL_(1) << 7) +#define PIN_PA13I_SDHC0_SDWP _L_(13) /**< \brief SDHC0 signal: SDWP on PA13 mux I */ +#define MUX_PA13I_SDHC0_SDWP _L_(8) +#define PINMUX_PA13I_SDHC0_SDWP ((PIN_PA13I_SDHC0_SDWP << 16) | MUX_PA13I_SDHC0_SDWP) +#define PORT_PA13I_SDHC0_SDWP (_UL_(1) << 13) +#define PIN_PB13I_SDHC0_SDWP _L_(45) /**< \brief SDHC0 signal: SDWP on PB13 mux I */ +#define MUX_PB13I_SDHC0_SDWP _L_(8) +#define PINMUX_PB13I_SDHC0_SDWP ((PIN_PB13I_SDHC0_SDWP << 16) | MUX_PB13I_SDHC0_SDWP) +#define PORT_PB13I_SDHC0_SDWP (_UL_(1) << 13) +#define PIN_PC07I_SDHC0_SDWP _L_(71) /**< \brief SDHC0 signal: SDWP on PC07 mux I */ +#define MUX_PC07I_SDHC0_SDWP _L_(8) +#define PINMUX_PC07I_SDHC0_SDWP ((PIN_PC07I_SDHC0_SDWP << 16) | MUX_PC07I_SDHC0_SDWP) +#define PORT_PC07I_SDHC0_SDWP (_UL_(1) << 7) +/* ========== PORT definition for SDHC1 peripheral ========== */ +#define PIN_PB16I_SDHC1_SDCD _L_(48) /**< \brief SDHC1 signal: SDCD on PB16 mux I */ +#define MUX_PB16I_SDHC1_SDCD _L_(8) +#define PINMUX_PB16I_SDHC1_SDCD ((PIN_PB16I_SDHC1_SDCD << 16) | MUX_PB16I_SDHC1_SDCD) +#define PORT_PB16I_SDHC1_SDCD (_UL_(1) << 16) +#define PIN_PC20I_SDHC1_SDCD _L_(84) /**< \brief SDHC1 signal: SDCD on PC20 mux I */ +#define MUX_PC20I_SDHC1_SDCD _L_(8) +#define PINMUX_PC20I_SDHC1_SDCD ((PIN_PC20I_SDHC1_SDCD << 16) | MUX_PC20I_SDHC1_SDCD) +#define PORT_PC20I_SDHC1_SDCD (_UL_(1) << 20) +#define PIN_PA21I_SDHC1_SDCK _L_(21) /**< \brief SDHC1 signal: SDCK on PA21 mux I */ +#define MUX_PA21I_SDHC1_SDCK _L_(8) +#define PINMUX_PA21I_SDHC1_SDCK ((PIN_PA21I_SDHC1_SDCK << 16) | MUX_PA21I_SDHC1_SDCK) +#define PORT_PA21I_SDHC1_SDCK (_UL_(1) << 21) +#define PIN_PA20I_SDHC1_SDCMD _L_(20) /**< \brief SDHC1 signal: SDCMD on PA20 mux I */ +#define MUX_PA20I_SDHC1_SDCMD _L_(8) +#define PINMUX_PA20I_SDHC1_SDCMD ((PIN_PA20I_SDHC1_SDCMD << 16) | MUX_PA20I_SDHC1_SDCMD) +#define PORT_PA20I_SDHC1_SDCMD (_UL_(1) << 20) +#define PIN_PB18I_SDHC1_SDDAT0 _L_(50) /**< \brief SDHC1 signal: SDDAT0 on PB18 mux I */ +#define MUX_PB18I_SDHC1_SDDAT0 _L_(8) +#define PINMUX_PB18I_SDHC1_SDDAT0 ((PIN_PB18I_SDHC1_SDDAT0 << 16) | MUX_PB18I_SDHC1_SDDAT0) +#define PORT_PB18I_SDHC1_SDDAT0 (_UL_(1) << 18) +#define PIN_PB19I_SDHC1_SDDAT1 _L_(51) /**< \brief SDHC1 signal: SDDAT1 on PB19 mux I */ +#define MUX_PB19I_SDHC1_SDDAT1 _L_(8) +#define PINMUX_PB19I_SDHC1_SDDAT1 ((PIN_PB19I_SDHC1_SDDAT1 << 16) | MUX_PB19I_SDHC1_SDDAT1) +#define PORT_PB19I_SDHC1_SDDAT1 (_UL_(1) << 19) +#define PIN_PB20I_SDHC1_SDDAT2 _L_(52) /**< \brief SDHC1 signal: SDDAT2 on PB20 mux I */ +#define MUX_PB20I_SDHC1_SDDAT2 _L_(8) +#define PINMUX_PB20I_SDHC1_SDDAT2 ((PIN_PB20I_SDHC1_SDDAT2 << 16) | MUX_PB20I_SDHC1_SDDAT2) +#define PORT_PB20I_SDHC1_SDDAT2 (_UL_(1) << 20) +#define PIN_PB21I_SDHC1_SDDAT3 _L_(53) /**< \brief SDHC1 signal: SDDAT3 on PB21 mux I */ +#define MUX_PB21I_SDHC1_SDDAT3 _L_(8) +#define PINMUX_PB21I_SDHC1_SDDAT3 ((PIN_PB21I_SDHC1_SDDAT3 << 16) | MUX_PB21I_SDHC1_SDDAT3) +#define PORT_PB21I_SDHC1_SDDAT3 (_UL_(1) << 21) +#define PIN_PB17I_SDHC1_SDWP _L_(49) /**< \brief SDHC1 signal: SDWP on PB17 mux I */ +#define MUX_PB17I_SDHC1_SDWP _L_(8) +#define PINMUX_PB17I_SDHC1_SDWP ((PIN_PB17I_SDHC1_SDWP << 16) | MUX_PB17I_SDHC1_SDWP) +#define PORT_PB17I_SDHC1_SDWP (_UL_(1) << 17) +#define PIN_PC21I_SDHC1_SDWP _L_(85) /**< \brief SDHC1 signal: SDWP on PC21 mux I */ +#define MUX_PC21I_SDHC1_SDWP _L_(8) +#define PINMUX_PC21I_SDHC1_SDWP ((PIN_PC21I_SDHC1_SDWP << 16) | MUX_PC21I_SDHC1_SDWP) +#define PORT_PC21I_SDHC1_SDWP (_UL_(1) << 21) + +#endif /* _SAME54N20A_PIO_ */ diff --git a/lib/same54/include/pio/same54p19a.h b/lib/same54/include/pio/same54p19a.h new file mode 100644 index 00000000..d7f19db6 --- /dev/null +++ b/lib/same54/include/pio/same54p19a.h @@ -0,0 +1,3014 @@ +/** + * \file + * + * \brief Peripheral I/O description for SAME54P19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54P19A_PIO_ +#define _SAME54P19A_PIO_ + +#define PIN_PA00 0 /**< \brief Pin Number for PA00 */ +#define PORT_PA00 (_UL_(1) << 0) /**< \brief PORT Mask for PA00 */ +#define PIN_PA01 1 /**< \brief Pin Number for PA01 */ +#define PORT_PA01 (_UL_(1) << 1) /**< \brief PORT Mask for PA01 */ +#define PIN_PA02 2 /**< \brief Pin Number for PA02 */ +#define PORT_PA02 (_UL_(1) << 2) /**< \brief PORT Mask for PA02 */ +#define PIN_PA03 3 /**< \brief Pin Number for PA03 */ +#define PORT_PA03 (_UL_(1) << 3) /**< \brief PORT Mask for PA03 */ +#define PIN_PA04 4 /**< \brief Pin Number for PA04 */ +#define PORT_PA04 (_UL_(1) << 4) /**< \brief PORT Mask for PA04 */ +#define PIN_PA05 5 /**< \brief Pin Number for PA05 */ +#define PORT_PA05 (_UL_(1) << 5) /**< \brief PORT Mask for PA05 */ +#define PIN_PA06 6 /**< \brief Pin Number for PA06 */ +#define PORT_PA06 (_UL_(1) << 6) /**< \brief PORT Mask for PA06 */ +#define PIN_PA07 7 /**< \brief Pin Number for PA07 */ +#define PORT_PA07 (_UL_(1) << 7) /**< \brief PORT Mask for PA07 */ +#define PIN_PA08 8 /**< \brief Pin Number for PA08 */ +#define PORT_PA08 (_UL_(1) << 8) /**< \brief PORT Mask for PA08 */ +#define PIN_PA09 9 /**< \brief Pin Number for PA09 */ +#define PORT_PA09 (_UL_(1) << 9) /**< \brief PORT Mask for PA09 */ +#define PIN_PA10 10 /**< \brief Pin Number for PA10 */ +#define PORT_PA10 (_UL_(1) << 10) /**< \brief PORT Mask for PA10 */ +#define PIN_PA11 11 /**< \brief Pin Number for PA11 */ +#define PORT_PA11 (_UL_(1) << 11) /**< \brief PORT Mask for PA11 */ +#define PIN_PA12 12 /**< \brief Pin Number for PA12 */ +#define PORT_PA12 (_UL_(1) << 12) /**< \brief PORT Mask for PA12 */ +#define PIN_PA13 13 /**< \brief Pin Number for PA13 */ +#define PORT_PA13 (_UL_(1) << 13) /**< \brief PORT Mask for PA13 */ +#define PIN_PA14 14 /**< \brief Pin Number for PA14 */ +#define PORT_PA14 (_UL_(1) << 14) /**< \brief PORT Mask for PA14 */ +#define PIN_PA15 15 /**< \brief Pin Number for PA15 */ +#define PORT_PA15 (_UL_(1) << 15) /**< \brief PORT Mask for PA15 */ +#define PIN_PA16 16 /**< \brief Pin Number for PA16 */ +#define PORT_PA16 (_UL_(1) << 16) /**< \brief PORT Mask for PA16 */ +#define PIN_PA17 17 /**< \brief Pin Number for PA17 */ +#define PORT_PA17 (_UL_(1) << 17) /**< \brief PORT Mask for PA17 */ +#define PIN_PA18 18 /**< \brief Pin Number for PA18 */ +#define PORT_PA18 (_UL_(1) << 18) /**< \brief PORT Mask for PA18 */ +#define PIN_PA19 19 /**< \brief Pin Number for PA19 */ +#define PORT_PA19 (_UL_(1) << 19) /**< \brief PORT Mask for PA19 */ +#define PIN_PA20 20 /**< \brief Pin Number for PA20 */ +#define PORT_PA20 (_UL_(1) << 20) /**< \brief PORT Mask for PA20 */ +#define PIN_PA21 21 /**< \brief Pin Number for PA21 */ +#define PORT_PA21 (_UL_(1) << 21) /**< \brief PORT Mask for PA21 */ +#define PIN_PA22 22 /**< \brief Pin Number for PA22 */ +#define PORT_PA22 (_UL_(1) << 22) /**< \brief PORT Mask for PA22 */ +#define PIN_PA23 23 /**< \brief Pin Number for PA23 */ +#define PORT_PA23 (_UL_(1) << 23) /**< \brief PORT Mask for PA23 */ +#define PIN_PA24 24 /**< \brief Pin Number for PA24 */ +#define PORT_PA24 (_UL_(1) << 24) /**< \brief PORT Mask for PA24 */ +#define PIN_PA25 25 /**< \brief Pin Number for PA25 */ +#define PORT_PA25 (_UL_(1) << 25) /**< \brief PORT Mask for PA25 */ +#define PIN_PA27 27 /**< \brief Pin Number for PA27 */ +#define PORT_PA27 (_UL_(1) << 27) /**< \brief PORT Mask for PA27 */ +#define PIN_PA30 30 /**< \brief Pin Number for PA30 */ +#define PORT_PA30 (_UL_(1) << 30) /**< \brief PORT Mask for PA30 */ +#define PIN_PA31 31 /**< \brief Pin Number for PA31 */ +#define PORT_PA31 (_UL_(1) << 31) /**< \brief PORT Mask for PA31 */ +#define PIN_PB00 32 /**< \brief Pin Number for PB00 */ +#define PORT_PB00 (_UL_(1) << 0) /**< \brief PORT Mask for PB00 */ +#define PIN_PB01 33 /**< \brief Pin Number for PB01 */ +#define PORT_PB01 (_UL_(1) << 1) /**< \brief PORT Mask for PB01 */ +#define PIN_PB02 34 /**< \brief Pin Number for PB02 */ +#define PORT_PB02 (_UL_(1) << 2) /**< \brief PORT Mask for PB02 */ +#define PIN_PB03 35 /**< \brief Pin Number for PB03 */ +#define PORT_PB03 (_UL_(1) << 3) /**< \brief PORT Mask for PB03 */ +#define PIN_PB04 36 /**< \brief Pin Number for PB04 */ +#define PORT_PB04 (_UL_(1) << 4) /**< \brief PORT Mask for PB04 */ +#define PIN_PB05 37 /**< \brief Pin Number for PB05 */ +#define PORT_PB05 (_UL_(1) << 5) /**< \brief PORT Mask for PB05 */ +#define PIN_PB06 38 /**< \brief Pin Number for PB06 */ +#define PORT_PB06 (_UL_(1) << 6) /**< \brief PORT Mask for PB06 */ +#define PIN_PB07 39 /**< \brief Pin Number for PB07 */ +#define PORT_PB07 (_UL_(1) << 7) /**< \brief PORT Mask for PB07 */ +#define PIN_PB08 40 /**< \brief Pin Number for PB08 */ +#define PORT_PB08 (_UL_(1) << 8) /**< \brief PORT Mask for PB08 */ +#define PIN_PB09 41 /**< \brief Pin Number for PB09 */ +#define PORT_PB09 (_UL_(1) << 9) /**< \brief PORT Mask for PB09 */ +#define PIN_PB10 42 /**< \brief Pin Number for PB10 */ +#define PORT_PB10 (_UL_(1) << 10) /**< \brief PORT Mask for PB10 */ +#define PIN_PB11 43 /**< \brief Pin Number for PB11 */ +#define PORT_PB11 (_UL_(1) << 11) /**< \brief PORT Mask for PB11 */ +#define PIN_PB12 44 /**< \brief Pin Number for PB12 */ +#define PORT_PB12 (_UL_(1) << 12) /**< \brief PORT Mask for PB12 */ +#define PIN_PB13 45 /**< \brief Pin Number for PB13 */ +#define PORT_PB13 (_UL_(1) << 13) /**< \brief PORT Mask for PB13 */ +#define PIN_PB14 46 /**< \brief Pin Number for PB14 */ +#define PORT_PB14 (_UL_(1) << 14) /**< \brief PORT Mask for PB14 */ +#define PIN_PB15 47 /**< \brief Pin Number for PB15 */ +#define PORT_PB15 (_UL_(1) << 15) /**< \brief PORT Mask for PB15 */ +#define PIN_PB16 48 /**< \brief Pin Number for PB16 */ +#define PORT_PB16 (_UL_(1) << 16) /**< \brief PORT Mask for PB16 */ +#define PIN_PB17 49 /**< \brief Pin Number for PB17 */ +#define PORT_PB17 (_UL_(1) << 17) /**< \brief PORT Mask for PB17 */ +#define PIN_PB18 50 /**< \brief Pin Number for PB18 */ +#define PORT_PB18 (_UL_(1) << 18) /**< \brief PORT Mask for PB18 */ +#define PIN_PB19 51 /**< \brief Pin Number for PB19 */ +#define PORT_PB19 (_UL_(1) << 19) /**< \brief PORT Mask for PB19 */ +#define PIN_PB20 52 /**< \brief Pin Number for PB20 */ +#define PORT_PB20 (_UL_(1) << 20) /**< \brief PORT Mask for PB20 */ +#define PIN_PB21 53 /**< \brief Pin Number for PB21 */ +#define PORT_PB21 (_UL_(1) << 21) /**< \brief PORT Mask for PB21 */ +#define PIN_PB22 54 /**< \brief Pin Number for PB22 */ +#define PORT_PB22 (_UL_(1) << 22) /**< \brief PORT Mask for PB22 */ +#define PIN_PB23 55 /**< \brief Pin Number for PB23 */ +#define PORT_PB23 (_UL_(1) << 23) /**< \brief PORT Mask for PB23 */ +#define PIN_PB24 56 /**< \brief Pin Number for PB24 */ +#define PORT_PB24 (_UL_(1) << 24) /**< \brief PORT Mask for PB24 */ +#define PIN_PB25 57 /**< \brief Pin Number for PB25 */ +#define PORT_PB25 (_UL_(1) << 25) /**< \brief PORT Mask for PB25 */ +#define PIN_PB26 58 /**< \brief Pin Number for PB26 */ +#define PORT_PB26 (_UL_(1) << 26) /**< \brief PORT Mask for PB26 */ +#define PIN_PB27 59 /**< \brief Pin Number for PB27 */ +#define PORT_PB27 (_UL_(1) << 27) /**< \brief PORT Mask for PB27 */ +#define PIN_PB28 60 /**< \brief Pin Number for PB28 */ +#define PORT_PB28 (_UL_(1) << 28) /**< \brief PORT Mask for PB28 */ +#define PIN_PB29 61 /**< \brief Pin Number for PB29 */ +#define PORT_PB29 (_UL_(1) << 29) /**< \brief PORT Mask for PB29 */ +#define PIN_PB30 62 /**< \brief Pin Number for PB30 */ +#define PORT_PB30 (_UL_(1) << 30) /**< \brief PORT Mask for PB30 */ +#define PIN_PB31 63 /**< \brief Pin Number for PB31 */ +#define PORT_PB31 (_UL_(1) << 31) /**< \brief PORT Mask for PB31 */ +#define PIN_PC00 64 /**< \brief Pin Number for PC00 */ +#define PORT_PC00 (_UL_(1) << 0) /**< \brief PORT Mask for PC00 */ +#define PIN_PC01 65 /**< \brief Pin Number for PC01 */ +#define PORT_PC01 (_UL_(1) << 1) /**< \brief PORT Mask for PC01 */ +#define PIN_PC02 66 /**< \brief Pin Number for PC02 */ +#define PORT_PC02 (_UL_(1) << 2) /**< \brief PORT Mask for PC02 */ +#define PIN_PC03 67 /**< \brief Pin Number for PC03 */ +#define PORT_PC03 (_UL_(1) << 3) /**< \brief PORT Mask for PC03 */ +#define PIN_PC04 68 /**< \brief Pin Number for PC04 */ +#define PORT_PC04 (_UL_(1) << 4) /**< \brief PORT Mask for PC04 */ +#define PIN_PC05 69 /**< \brief Pin Number for PC05 */ +#define PORT_PC05 (_UL_(1) << 5) /**< \brief PORT Mask for PC05 */ +#define PIN_PC06 70 /**< \brief Pin Number for PC06 */ +#define PORT_PC06 (_UL_(1) << 6) /**< \brief PORT Mask for PC06 */ +#define PIN_PC07 71 /**< \brief Pin Number for PC07 */ +#define PORT_PC07 (_UL_(1) << 7) /**< \brief PORT Mask for PC07 */ +#define PIN_PC10 74 /**< \brief Pin Number for PC10 */ +#define PORT_PC10 (_UL_(1) << 10) /**< \brief PORT Mask for PC10 */ +#define PIN_PC11 75 /**< \brief Pin Number for PC11 */ +#define PORT_PC11 (_UL_(1) << 11) /**< \brief PORT Mask for PC11 */ +#define PIN_PC12 76 /**< \brief Pin Number for PC12 */ +#define PORT_PC12 (_UL_(1) << 12) /**< \brief PORT Mask for PC12 */ +#define PIN_PC13 77 /**< \brief Pin Number for PC13 */ +#define PORT_PC13 (_UL_(1) << 13) /**< \brief PORT Mask for PC13 */ +#define PIN_PC14 78 /**< \brief Pin Number for PC14 */ +#define PORT_PC14 (_UL_(1) << 14) /**< \brief PORT Mask for PC14 */ +#define PIN_PC15 79 /**< \brief Pin Number for PC15 */ +#define PORT_PC15 (_UL_(1) << 15) /**< \brief PORT Mask for PC15 */ +#define PIN_PC16 80 /**< \brief Pin Number for PC16 */ +#define PORT_PC16 (_UL_(1) << 16) /**< \brief PORT Mask for PC16 */ +#define PIN_PC17 81 /**< \brief Pin Number for PC17 */ +#define PORT_PC17 (_UL_(1) << 17) /**< \brief PORT Mask for PC17 */ +#define PIN_PC18 82 /**< \brief Pin Number for PC18 */ +#define PORT_PC18 (_UL_(1) << 18) /**< \brief PORT Mask for PC18 */ +#define PIN_PC19 83 /**< \brief Pin Number for PC19 */ +#define PORT_PC19 (_UL_(1) << 19) /**< \brief PORT Mask for PC19 */ +#define PIN_PC20 84 /**< \brief Pin Number for PC20 */ +#define PORT_PC20 (_UL_(1) << 20) /**< \brief PORT Mask for PC20 */ +#define PIN_PC21 85 /**< \brief Pin Number for PC21 */ +#define PORT_PC21 (_UL_(1) << 21) /**< \brief PORT Mask for PC21 */ +#define PIN_PC22 86 /**< \brief Pin Number for PC22 */ +#define PORT_PC22 (_UL_(1) << 22) /**< \brief PORT Mask for PC22 */ +#define PIN_PC23 87 /**< \brief Pin Number for PC23 */ +#define PORT_PC23 (_UL_(1) << 23) /**< \brief PORT Mask for PC23 */ +#define PIN_PC24 88 /**< \brief Pin Number for PC24 */ +#define PORT_PC24 (_UL_(1) << 24) /**< \brief PORT Mask for PC24 */ +#define PIN_PC25 89 /**< \brief Pin Number for PC25 */ +#define PORT_PC25 (_UL_(1) << 25) /**< \brief PORT Mask for PC25 */ +#define PIN_PC26 90 /**< \brief Pin Number for PC26 */ +#define PORT_PC26 (_UL_(1) << 26) /**< \brief PORT Mask for PC26 */ +#define PIN_PC27 91 /**< \brief Pin Number for PC27 */ +#define PORT_PC27 (_UL_(1) << 27) /**< \brief PORT Mask for PC27 */ +#define PIN_PC28 92 /**< \brief Pin Number for PC28 */ +#define PORT_PC28 (_UL_(1) << 28) /**< \brief PORT Mask for PC28 */ +#define PIN_PC30 94 /**< \brief Pin Number for PC30 */ +#define PORT_PC30 (_UL_(1) << 30) /**< \brief PORT Mask for PC30 */ +#define PIN_PC31 95 /**< \brief Pin Number for PC31 */ +#define PORT_PC31 (_UL_(1) << 31) /**< \brief PORT Mask for PC31 */ +#define PIN_PD00 96 /**< \brief Pin Number for PD00 */ +#define PORT_PD00 (_UL_(1) << 0) /**< \brief PORT Mask for PD00 */ +#define PIN_PD01 97 /**< \brief Pin Number for PD01 */ +#define PORT_PD01 (_UL_(1) << 1) /**< \brief PORT Mask for PD01 */ +#define PIN_PD08 104 /**< \brief Pin Number for PD08 */ +#define PORT_PD08 (_UL_(1) << 8) /**< \brief PORT Mask for PD08 */ +#define PIN_PD09 105 /**< \brief Pin Number for PD09 */ +#define PORT_PD09 (_UL_(1) << 9) /**< \brief PORT Mask for PD09 */ +#define PIN_PD10 106 /**< \brief Pin Number for PD10 */ +#define PORT_PD10 (_UL_(1) << 10) /**< \brief PORT Mask for PD10 */ +#define PIN_PD11 107 /**< \brief Pin Number for PD11 */ +#define PORT_PD11 (_UL_(1) << 11) /**< \brief PORT Mask for PD11 */ +#define PIN_PD12 108 /**< \brief Pin Number for PD12 */ +#define PORT_PD12 (_UL_(1) << 12) /**< \brief PORT Mask for PD12 */ +#define PIN_PD20 116 /**< \brief Pin Number for PD20 */ +#define PORT_PD20 (_UL_(1) << 20) /**< \brief PORT Mask for PD20 */ +#define PIN_PD21 117 /**< \brief Pin Number for PD21 */ +#define PORT_PD21 (_UL_(1) << 21) /**< \brief PORT Mask for PD21 */ +/* ========== PORT definition for CM4 peripheral ========== */ +#define PIN_PA30H_CM4_SWCLK _L_(30) /**< \brief CM4 signal: SWCLK on PA30 mux H */ +#define MUX_PA30H_CM4_SWCLK _L_(7) +#define PINMUX_PA30H_CM4_SWCLK ((PIN_PA30H_CM4_SWCLK << 16) | MUX_PA30H_CM4_SWCLK) +#define PORT_PA30H_CM4_SWCLK (_UL_(1) << 30) +#define PIN_PC27M_CM4_SWO _L_(91) /**< \brief CM4 signal: SWO on PC27 mux M */ +#define MUX_PC27M_CM4_SWO _L_(12) +#define PINMUX_PC27M_CM4_SWO ((PIN_PC27M_CM4_SWO << 16) | MUX_PC27M_CM4_SWO) +#define PORT_PC27M_CM4_SWO (_UL_(1) << 27) +#define PIN_PB30H_CM4_SWO _L_(62) /**< \brief CM4 signal: SWO on PB30 mux H */ +#define MUX_PB30H_CM4_SWO _L_(7) +#define PINMUX_PB30H_CM4_SWO ((PIN_PB30H_CM4_SWO << 16) | MUX_PB30H_CM4_SWO) +#define PORT_PB30H_CM4_SWO (_UL_(1) << 30) +#define PIN_PC27H_CM4_TRACECLK _L_(91) /**< \brief CM4 signal: TRACECLK on PC27 mux H */ +#define MUX_PC27H_CM4_TRACECLK _L_(7) +#define PINMUX_PC27H_CM4_TRACECLK ((PIN_PC27H_CM4_TRACECLK << 16) | MUX_PC27H_CM4_TRACECLK) +#define PORT_PC27H_CM4_TRACECLK (_UL_(1) << 27) +#define PIN_PC28H_CM4_TRACEDATA0 _L_(92) /**< \brief CM4 signal: TRACEDATA0 on PC28 mux H */ +#define MUX_PC28H_CM4_TRACEDATA0 _L_(7) +#define PINMUX_PC28H_CM4_TRACEDATA0 ((PIN_PC28H_CM4_TRACEDATA0 << 16) | MUX_PC28H_CM4_TRACEDATA0) +#define PORT_PC28H_CM4_TRACEDATA0 (_UL_(1) << 28) +#define PIN_PC26H_CM4_TRACEDATA1 _L_(90) /**< \brief CM4 signal: TRACEDATA1 on PC26 mux H */ +#define MUX_PC26H_CM4_TRACEDATA1 _L_(7) +#define PINMUX_PC26H_CM4_TRACEDATA1 ((PIN_PC26H_CM4_TRACEDATA1 << 16) | MUX_PC26H_CM4_TRACEDATA1) +#define PORT_PC26H_CM4_TRACEDATA1 (_UL_(1) << 26) +#define PIN_PC25H_CM4_TRACEDATA2 _L_(89) /**< \brief CM4 signal: TRACEDATA2 on PC25 mux H */ +#define MUX_PC25H_CM4_TRACEDATA2 _L_(7) +#define PINMUX_PC25H_CM4_TRACEDATA2 ((PIN_PC25H_CM4_TRACEDATA2 << 16) | MUX_PC25H_CM4_TRACEDATA2) +#define PORT_PC25H_CM4_TRACEDATA2 (_UL_(1) << 25) +#define PIN_PC24H_CM4_TRACEDATA3 _L_(88) /**< \brief CM4 signal: TRACEDATA3 on PC24 mux H */ +#define MUX_PC24H_CM4_TRACEDATA3 _L_(7) +#define PINMUX_PC24H_CM4_TRACEDATA3 ((PIN_PC24H_CM4_TRACEDATA3 << 16) | MUX_PC24H_CM4_TRACEDATA3) +#define PORT_PC24H_CM4_TRACEDATA3 (_UL_(1) << 24) +/* ========== PORT definition for ANAREF peripheral ========== */ +#define PIN_PA03B_ANAREF_VREF0 _L_(3) /**< \brief ANAREF signal: VREF0 on PA03 mux B */ +#define MUX_PA03B_ANAREF_VREF0 _L_(1) +#define PINMUX_PA03B_ANAREF_VREF0 ((PIN_PA03B_ANAREF_VREF0 << 16) | MUX_PA03B_ANAREF_VREF0) +#define PORT_PA03B_ANAREF_VREF0 (_UL_(1) << 3) +#define PIN_PA04B_ANAREF_VREF1 _L_(4) /**< \brief ANAREF signal: VREF1 on PA04 mux B */ +#define MUX_PA04B_ANAREF_VREF1 _L_(1) +#define PINMUX_PA04B_ANAREF_VREF1 ((PIN_PA04B_ANAREF_VREF1 << 16) | MUX_PA04B_ANAREF_VREF1) +#define PORT_PA04B_ANAREF_VREF1 (_UL_(1) << 4) +#define PIN_PA06B_ANAREF_VREF2 _L_(6) /**< \brief ANAREF signal: VREF2 on PA06 mux B */ +#define MUX_PA06B_ANAREF_VREF2 _L_(1) +#define PINMUX_PA06B_ANAREF_VREF2 ((PIN_PA06B_ANAREF_VREF2 << 16) | MUX_PA06B_ANAREF_VREF2) +#define PORT_PA06B_ANAREF_VREF2 (_UL_(1) << 6) +/* ========== PORT definition for GCLK peripheral ========== */ +#define PIN_PA30M_GCLK_IO0 _L_(30) /**< \brief GCLK signal: IO0 on PA30 mux M */ +#define MUX_PA30M_GCLK_IO0 _L_(12) +#define PINMUX_PA30M_GCLK_IO0 ((PIN_PA30M_GCLK_IO0 << 16) | MUX_PA30M_GCLK_IO0) +#define PORT_PA30M_GCLK_IO0 (_UL_(1) << 30) +#define PIN_PB14M_GCLK_IO0 _L_(46) /**< \brief GCLK signal: IO0 on PB14 mux M */ +#define MUX_PB14M_GCLK_IO0 _L_(12) +#define PINMUX_PB14M_GCLK_IO0 ((PIN_PB14M_GCLK_IO0 << 16) | MUX_PB14M_GCLK_IO0) +#define PORT_PB14M_GCLK_IO0 (_UL_(1) << 14) +#define PIN_PA14M_GCLK_IO0 _L_(14) /**< \brief GCLK signal: IO0 on PA14 mux M */ +#define MUX_PA14M_GCLK_IO0 _L_(12) +#define PINMUX_PA14M_GCLK_IO0 ((PIN_PA14M_GCLK_IO0 << 16) | MUX_PA14M_GCLK_IO0) +#define PORT_PA14M_GCLK_IO0 (_UL_(1) << 14) +#define PIN_PB22M_GCLK_IO0 _L_(54) /**< \brief GCLK signal: IO0 on PB22 mux M */ +#define MUX_PB22M_GCLK_IO0 _L_(12) +#define PINMUX_PB22M_GCLK_IO0 ((PIN_PB22M_GCLK_IO0 << 16) | MUX_PB22M_GCLK_IO0) +#define PORT_PB22M_GCLK_IO0 (_UL_(1) << 22) +#define PIN_PB15M_GCLK_IO1 _L_(47) /**< \brief GCLK signal: IO1 on PB15 mux M */ +#define MUX_PB15M_GCLK_IO1 _L_(12) +#define PINMUX_PB15M_GCLK_IO1 ((PIN_PB15M_GCLK_IO1 << 16) | MUX_PB15M_GCLK_IO1) +#define PORT_PB15M_GCLK_IO1 (_UL_(1) << 15) +#define PIN_PA15M_GCLK_IO1 _L_(15) /**< \brief GCLK signal: IO1 on PA15 mux M */ +#define MUX_PA15M_GCLK_IO1 _L_(12) +#define PINMUX_PA15M_GCLK_IO1 ((PIN_PA15M_GCLK_IO1 << 16) | MUX_PA15M_GCLK_IO1) +#define PORT_PA15M_GCLK_IO1 (_UL_(1) << 15) +#define PIN_PB23M_GCLK_IO1 _L_(55) /**< \brief GCLK signal: IO1 on PB23 mux M */ +#define MUX_PB23M_GCLK_IO1 _L_(12) +#define PINMUX_PB23M_GCLK_IO1 ((PIN_PB23M_GCLK_IO1 << 16) | MUX_PB23M_GCLK_IO1) +#define PORT_PB23M_GCLK_IO1 (_UL_(1) << 23) +#define PIN_PA27M_GCLK_IO1 _L_(27) /**< \brief GCLK signal: IO1 on PA27 mux M */ +#define MUX_PA27M_GCLK_IO1 _L_(12) +#define PINMUX_PA27M_GCLK_IO1 ((PIN_PA27M_GCLK_IO1 << 16) | MUX_PA27M_GCLK_IO1) +#define PORT_PA27M_GCLK_IO1 (_UL_(1) << 27) +#define PIN_PA16M_GCLK_IO2 _L_(16) /**< \brief GCLK signal: IO2 on PA16 mux M */ +#define MUX_PA16M_GCLK_IO2 _L_(12) +#define PINMUX_PA16M_GCLK_IO2 ((PIN_PA16M_GCLK_IO2 << 16) | MUX_PA16M_GCLK_IO2) +#define PORT_PA16M_GCLK_IO2 (_UL_(1) << 16) +#define PIN_PB16M_GCLK_IO2 _L_(48) /**< \brief GCLK signal: IO2 on PB16 mux M */ +#define MUX_PB16M_GCLK_IO2 _L_(12) +#define PINMUX_PB16M_GCLK_IO2 ((PIN_PB16M_GCLK_IO2 << 16) | MUX_PB16M_GCLK_IO2) +#define PORT_PB16M_GCLK_IO2 (_UL_(1) << 16) +#define PIN_PA17M_GCLK_IO3 _L_(17) /**< \brief GCLK signal: IO3 on PA17 mux M */ +#define MUX_PA17M_GCLK_IO3 _L_(12) +#define PINMUX_PA17M_GCLK_IO3 ((PIN_PA17M_GCLK_IO3 << 16) | MUX_PA17M_GCLK_IO3) +#define PORT_PA17M_GCLK_IO3 (_UL_(1) << 17) +#define PIN_PB17M_GCLK_IO3 _L_(49) /**< \brief GCLK signal: IO3 on PB17 mux M */ +#define MUX_PB17M_GCLK_IO3 _L_(12) +#define PINMUX_PB17M_GCLK_IO3 ((PIN_PB17M_GCLK_IO3 << 16) | MUX_PB17M_GCLK_IO3) +#define PORT_PB17M_GCLK_IO3 (_UL_(1) << 17) +#define PIN_PA10M_GCLK_IO4 _L_(10) /**< \brief GCLK signal: IO4 on PA10 mux M */ +#define MUX_PA10M_GCLK_IO4 _L_(12) +#define PINMUX_PA10M_GCLK_IO4 ((PIN_PA10M_GCLK_IO4 << 16) | MUX_PA10M_GCLK_IO4) +#define PORT_PA10M_GCLK_IO4 (_UL_(1) << 10) +#define PIN_PB10M_GCLK_IO4 _L_(42) /**< \brief GCLK signal: IO4 on PB10 mux M */ +#define MUX_PB10M_GCLK_IO4 _L_(12) +#define PINMUX_PB10M_GCLK_IO4 ((PIN_PB10M_GCLK_IO4 << 16) | MUX_PB10M_GCLK_IO4) +#define PORT_PB10M_GCLK_IO4 (_UL_(1) << 10) +#define PIN_PB18M_GCLK_IO4 _L_(50) /**< \brief GCLK signal: IO4 on PB18 mux M */ +#define MUX_PB18M_GCLK_IO4 _L_(12) +#define PINMUX_PB18M_GCLK_IO4 ((PIN_PB18M_GCLK_IO4 << 16) | MUX_PB18M_GCLK_IO4) +#define PORT_PB18M_GCLK_IO4 (_UL_(1) << 18) +#define PIN_PA11M_GCLK_IO5 _L_(11) /**< \brief GCLK signal: IO5 on PA11 mux M */ +#define MUX_PA11M_GCLK_IO5 _L_(12) +#define PINMUX_PA11M_GCLK_IO5 ((PIN_PA11M_GCLK_IO5 << 16) | MUX_PA11M_GCLK_IO5) +#define PORT_PA11M_GCLK_IO5 (_UL_(1) << 11) +#define PIN_PB11M_GCLK_IO5 _L_(43) /**< \brief GCLK signal: IO5 on PB11 mux M */ +#define MUX_PB11M_GCLK_IO5 _L_(12) +#define PINMUX_PB11M_GCLK_IO5 ((PIN_PB11M_GCLK_IO5 << 16) | MUX_PB11M_GCLK_IO5) +#define PORT_PB11M_GCLK_IO5 (_UL_(1) << 11) +#define PIN_PB19M_GCLK_IO5 _L_(51) /**< \brief GCLK signal: IO5 on PB19 mux M */ +#define MUX_PB19M_GCLK_IO5 _L_(12) +#define PINMUX_PB19M_GCLK_IO5 ((PIN_PB19M_GCLK_IO5 << 16) | MUX_PB19M_GCLK_IO5) +#define PORT_PB19M_GCLK_IO5 (_UL_(1) << 19) +#define PIN_PB12M_GCLK_IO6 _L_(44) /**< \brief GCLK signal: IO6 on PB12 mux M */ +#define MUX_PB12M_GCLK_IO6 _L_(12) +#define PINMUX_PB12M_GCLK_IO6 ((PIN_PB12M_GCLK_IO6 << 16) | MUX_PB12M_GCLK_IO6) +#define PORT_PB12M_GCLK_IO6 (_UL_(1) << 12) +#define PIN_PB20M_GCLK_IO6 _L_(52) /**< \brief GCLK signal: IO6 on PB20 mux M */ +#define MUX_PB20M_GCLK_IO6 _L_(12) +#define PINMUX_PB20M_GCLK_IO6 ((PIN_PB20M_GCLK_IO6 << 16) | MUX_PB20M_GCLK_IO6) +#define PORT_PB20M_GCLK_IO6 (_UL_(1) << 20) +#define PIN_PB13M_GCLK_IO7 _L_(45) /**< \brief GCLK signal: IO7 on PB13 mux M */ +#define MUX_PB13M_GCLK_IO7 _L_(12) +#define PINMUX_PB13M_GCLK_IO7 ((PIN_PB13M_GCLK_IO7 << 16) | MUX_PB13M_GCLK_IO7) +#define PORT_PB13M_GCLK_IO7 (_UL_(1) << 13) +#define PIN_PB21M_GCLK_IO7 _L_(53) /**< \brief GCLK signal: IO7 on PB21 mux M */ +#define MUX_PB21M_GCLK_IO7 _L_(12) +#define PINMUX_PB21M_GCLK_IO7 ((PIN_PB21M_GCLK_IO7 << 16) | MUX_PB21M_GCLK_IO7) +#define PORT_PB21M_GCLK_IO7 (_UL_(1) << 21) +/* ========== PORT definition for EIC peripheral ========== */ +#define PIN_PA00A_EIC_EXTINT0 _L_(0) /**< \brief EIC signal: EXTINT0 on PA00 mux A */ +#define MUX_PA00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PA00A_EIC_EXTINT0 ((PIN_PA00A_EIC_EXTINT0 << 16) | MUX_PA00A_EIC_EXTINT0) +#define PORT_PA00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PA00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA00 External Interrupt Line */ +#define PIN_PA16A_EIC_EXTINT0 _L_(16) /**< \brief EIC signal: EXTINT0 on PA16 mux A */ +#define MUX_PA16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PA16A_EIC_EXTINT0 ((PIN_PA16A_EIC_EXTINT0 << 16) | MUX_PA16A_EIC_EXTINT0) +#define PORT_PA16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PA16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA16 External Interrupt Line */ +#define PIN_PB00A_EIC_EXTINT0 _L_(32) /**< \brief EIC signal: EXTINT0 on PB00 mux A */ +#define MUX_PB00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PB00A_EIC_EXTINT0 ((PIN_PB00A_EIC_EXTINT0 << 16) | MUX_PB00A_EIC_EXTINT0) +#define PORT_PB00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PB00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB00 External Interrupt Line */ +#define PIN_PB16A_EIC_EXTINT0 _L_(48) /**< \brief EIC signal: EXTINT0 on PB16 mux A */ +#define MUX_PB16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PB16A_EIC_EXTINT0 ((PIN_PB16A_EIC_EXTINT0 << 16) | MUX_PB16A_EIC_EXTINT0) +#define PORT_PB16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PB16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB16 External Interrupt Line */ +#define PIN_PC00A_EIC_EXTINT0 _L_(64) /**< \brief EIC signal: EXTINT0 on PC00 mux A */ +#define MUX_PC00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PC00A_EIC_EXTINT0 ((PIN_PC00A_EIC_EXTINT0 << 16) | MUX_PC00A_EIC_EXTINT0) +#define PORT_PC00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PC00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC00 External Interrupt Line */ +#define PIN_PC16A_EIC_EXTINT0 _L_(80) /**< \brief EIC signal: EXTINT0 on PC16 mux A */ +#define MUX_PC16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PC16A_EIC_EXTINT0 ((PIN_PC16A_EIC_EXTINT0 << 16) | MUX_PC16A_EIC_EXTINT0) +#define PORT_PC16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PC16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC16 External Interrupt Line */ +#define PIN_PD00A_EIC_EXTINT0 _L_(96) /**< \brief EIC signal: EXTINT0 on PD00 mux A */ +#define MUX_PD00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PD00A_EIC_EXTINT0 ((PIN_PD00A_EIC_EXTINT0 << 16) | MUX_PD00A_EIC_EXTINT0) +#define PORT_PD00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PD00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PD00 External Interrupt Line */ +#define PIN_PA01A_EIC_EXTINT1 _L_(1) /**< \brief EIC signal: EXTINT1 on PA01 mux A */ +#define MUX_PA01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PA01A_EIC_EXTINT1 ((PIN_PA01A_EIC_EXTINT1 << 16) | MUX_PA01A_EIC_EXTINT1) +#define PORT_PA01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PA01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA01 External Interrupt Line */ +#define PIN_PA17A_EIC_EXTINT1 _L_(17) /**< \brief EIC signal: EXTINT1 on PA17 mux A */ +#define MUX_PA17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PA17A_EIC_EXTINT1 ((PIN_PA17A_EIC_EXTINT1 << 16) | MUX_PA17A_EIC_EXTINT1) +#define PORT_PA17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PA17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA17 External Interrupt Line */ +#define PIN_PB01A_EIC_EXTINT1 _L_(33) /**< \brief EIC signal: EXTINT1 on PB01 mux A */ +#define MUX_PB01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PB01A_EIC_EXTINT1 ((PIN_PB01A_EIC_EXTINT1 << 16) | MUX_PB01A_EIC_EXTINT1) +#define PORT_PB01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PB01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB01 External Interrupt Line */ +#define PIN_PB17A_EIC_EXTINT1 _L_(49) /**< \brief EIC signal: EXTINT1 on PB17 mux A */ +#define MUX_PB17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PB17A_EIC_EXTINT1 ((PIN_PB17A_EIC_EXTINT1 << 16) | MUX_PB17A_EIC_EXTINT1) +#define PORT_PB17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PB17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB17 External Interrupt Line */ +#define PIN_PC01A_EIC_EXTINT1 _L_(65) /**< \brief EIC signal: EXTINT1 on PC01 mux A */ +#define MUX_PC01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PC01A_EIC_EXTINT1 ((PIN_PC01A_EIC_EXTINT1 << 16) | MUX_PC01A_EIC_EXTINT1) +#define PORT_PC01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PC01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC01 External Interrupt Line */ +#define PIN_PC17A_EIC_EXTINT1 _L_(81) /**< \brief EIC signal: EXTINT1 on PC17 mux A */ +#define MUX_PC17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PC17A_EIC_EXTINT1 ((PIN_PC17A_EIC_EXTINT1 << 16) | MUX_PC17A_EIC_EXTINT1) +#define PORT_PC17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PC17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC17 External Interrupt Line */ +#define PIN_PD01A_EIC_EXTINT1 _L_(97) /**< \brief EIC signal: EXTINT1 on PD01 mux A */ +#define MUX_PD01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PD01A_EIC_EXTINT1 ((PIN_PD01A_EIC_EXTINT1 << 16) | MUX_PD01A_EIC_EXTINT1) +#define PORT_PD01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PD01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PD01 External Interrupt Line */ +#define PIN_PA02A_EIC_EXTINT2 _L_(2) /**< \brief EIC signal: EXTINT2 on PA02 mux A */ +#define MUX_PA02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PA02A_EIC_EXTINT2 ((PIN_PA02A_EIC_EXTINT2 << 16) | MUX_PA02A_EIC_EXTINT2) +#define PORT_PA02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PA02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA02 External Interrupt Line */ +#define PIN_PA18A_EIC_EXTINT2 _L_(18) /**< \brief EIC signal: EXTINT2 on PA18 mux A */ +#define MUX_PA18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PA18A_EIC_EXTINT2 ((PIN_PA18A_EIC_EXTINT2 << 16) | MUX_PA18A_EIC_EXTINT2) +#define PORT_PA18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PA18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA18 External Interrupt Line */ +#define PIN_PB02A_EIC_EXTINT2 _L_(34) /**< \brief EIC signal: EXTINT2 on PB02 mux A */ +#define MUX_PB02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PB02A_EIC_EXTINT2 ((PIN_PB02A_EIC_EXTINT2 << 16) | MUX_PB02A_EIC_EXTINT2) +#define PORT_PB02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PB02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB02 External Interrupt Line */ +#define PIN_PB18A_EIC_EXTINT2 _L_(50) /**< \brief EIC signal: EXTINT2 on PB18 mux A */ +#define MUX_PB18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PB18A_EIC_EXTINT2 ((PIN_PB18A_EIC_EXTINT2 << 16) | MUX_PB18A_EIC_EXTINT2) +#define PORT_PB18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PB18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB18 External Interrupt Line */ +#define PIN_PC02A_EIC_EXTINT2 _L_(66) /**< \brief EIC signal: EXTINT2 on PC02 mux A */ +#define MUX_PC02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PC02A_EIC_EXTINT2 ((PIN_PC02A_EIC_EXTINT2 << 16) | MUX_PC02A_EIC_EXTINT2) +#define PORT_PC02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PC02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC02 External Interrupt Line */ +#define PIN_PC18A_EIC_EXTINT2 _L_(82) /**< \brief EIC signal: EXTINT2 on PC18 mux A */ +#define MUX_PC18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PC18A_EIC_EXTINT2 ((PIN_PC18A_EIC_EXTINT2 << 16) | MUX_PC18A_EIC_EXTINT2) +#define PORT_PC18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PC18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC18 External Interrupt Line */ +#define PIN_PA03A_EIC_EXTINT3 _L_(3) /**< \brief EIC signal: EXTINT3 on PA03 mux A */ +#define MUX_PA03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PA03A_EIC_EXTINT3 ((PIN_PA03A_EIC_EXTINT3 << 16) | MUX_PA03A_EIC_EXTINT3) +#define PORT_PA03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PA03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA03 External Interrupt Line */ +#define PIN_PA19A_EIC_EXTINT3 _L_(19) /**< \brief EIC signal: EXTINT3 on PA19 mux A */ +#define MUX_PA19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PA19A_EIC_EXTINT3 ((PIN_PA19A_EIC_EXTINT3 << 16) | MUX_PA19A_EIC_EXTINT3) +#define PORT_PA19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PA19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA19 External Interrupt Line */ +#define PIN_PB03A_EIC_EXTINT3 _L_(35) /**< \brief EIC signal: EXTINT3 on PB03 mux A */ +#define MUX_PB03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PB03A_EIC_EXTINT3 ((PIN_PB03A_EIC_EXTINT3 << 16) | MUX_PB03A_EIC_EXTINT3) +#define PORT_PB03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PB03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB03 External Interrupt Line */ +#define PIN_PB19A_EIC_EXTINT3 _L_(51) /**< \brief EIC signal: EXTINT3 on PB19 mux A */ +#define MUX_PB19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PB19A_EIC_EXTINT3 ((PIN_PB19A_EIC_EXTINT3 << 16) | MUX_PB19A_EIC_EXTINT3) +#define PORT_PB19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PB19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB19 External Interrupt Line */ +#define PIN_PC03A_EIC_EXTINT3 _L_(67) /**< \brief EIC signal: EXTINT3 on PC03 mux A */ +#define MUX_PC03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PC03A_EIC_EXTINT3 ((PIN_PC03A_EIC_EXTINT3 << 16) | MUX_PC03A_EIC_EXTINT3) +#define PORT_PC03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PC03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC03 External Interrupt Line */ +#define PIN_PC19A_EIC_EXTINT3 _L_(83) /**< \brief EIC signal: EXTINT3 on PC19 mux A */ +#define MUX_PC19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PC19A_EIC_EXTINT3 ((PIN_PC19A_EIC_EXTINT3 << 16) | MUX_PC19A_EIC_EXTINT3) +#define PORT_PC19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PC19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC19 External Interrupt Line */ +#define PIN_PD08A_EIC_EXTINT3 _L_(104) /**< \brief EIC signal: EXTINT3 on PD08 mux A */ +#define MUX_PD08A_EIC_EXTINT3 _L_(0) +#define PINMUX_PD08A_EIC_EXTINT3 ((PIN_PD08A_EIC_EXTINT3 << 16) | MUX_PD08A_EIC_EXTINT3) +#define PORT_PD08A_EIC_EXTINT3 (_UL_(1) << 8) +#define PIN_PD08A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PD08 External Interrupt Line */ +#define PIN_PA04A_EIC_EXTINT4 _L_(4) /**< \brief EIC signal: EXTINT4 on PA04 mux A */ +#define MUX_PA04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PA04A_EIC_EXTINT4 ((PIN_PA04A_EIC_EXTINT4 << 16) | MUX_PA04A_EIC_EXTINT4) +#define PORT_PA04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PA04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA04 External Interrupt Line */ +#define PIN_PA20A_EIC_EXTINT4 _L_(20) /**< \brief EIC signal: EXTINT4 on PA20 mux A */ +#define MUX_PA20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PA20A_EIC_EXTINT4 ((PIN_PA20A_EIC_EXTINT4 << 16) | MUX_PA20A_EIC_EXTINT4) +#define PORT_PA20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PA20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA20 External Interrupt Line */ +#define PIN_PB04A_EIC_EXTINT4 _L_(36) /**< \brief EIC signal: EXTINT4 on PB04 mux A */ +#define MUX_PB04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PB04A_EIC_EXTINT4 ((PIN_PB04A_EIC_EXTINT4 << 16) | MUX_PB04A_EIC_EXTINT4) +#define PORT_PB04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PB04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB04 External Interrupt Line */ +#define PIN_PB20A_EIC_EXTINT4 _L_(52) /**< \brief EIC signal: EXTINT4 on PB20 mux A */ +#define MUX_PB20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PB20A_EIC_EXTINT4 ((PIN_PB20A_EIC_EXTINT4 << 16) | MUX_PB20A_EIC_EXTINT4) +#define PORT_PB20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PB20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB20 External Interrupt Line */ +#define PIN_PC04A_EIC_EXTINT4 _L_(68) /**< \brief EIC signal: EXTINT4 on PC04 mux A */ +#define MUX_PC04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PC04A_EIC_EXTINT4 ((PIN_PC04A_EIC_EXTINT4 << 16) | MUX_PC04A_EIC_EXTINT4) +#define PORT_PC04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PC04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC04 External Interrupt Line */ +#define PIN_PC20A_EIC_EXTINT4 _L_(84) /**< \brief EIC signal: EXTINT4 on PC20 mux A */ +#define MUX_PC20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PC20A_EIC_EXTINT4 ((PIN_PC20A_EIC_EXTINT4 << 16) | MUX_PC20A_EIC_EXTINT4) +#define PORT_PC20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PC20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC20 External Interrupt Line */ +#define PIN_PD09A_EIC_EXTINT4 _L_(105) /**< \brief EIC signal: EXTINT4 on PD09 mux A */ +#define MUX_PD09A_EIC_EXTINT4 _L_(0) +#define PINMUX_PD09A_EIC_EXTINT4 ((PIN_PD09A_EIC_EXTINT4 << 16) | MUX_PD09A_EIC_EXTINT4) +#define PORT_PD09A_EIC_EXTINT4 (_UL_(1) << 9) +#define PIN_PD09A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PD09 External Interrupt Line */ +#define PIN_PA05A_EIC_EXTINT5 _L_(5) /**< \brief EIC signal: EXTINT5 on PA05 mux A */ +#define MUX_PA05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PA05A_EIC_EXTINT5 ((PIN_PA05A_EIC_EXTINT5 << 16) | MUX_PA05A_EIC_EXTINT5) +#define PORT_PA05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PA05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA05 External Interrupt Line */ +#define PIN_PA21A_EIC_EXTINT5 _L_(21) /**< \brief EIC signal: EXTINT5 on PA21 mux A */ +#define MUX_PA21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PA21A_EIC_EXTINT5 ((PIN_PA21A_EIC_EXTINT5 << 16) | MUX_PA21A_EIC_EXTINT5) +#define PORT_PA21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PA21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA21 External Interrupt Line */ +#define PIN_PB05A_EIC_EXTINT5 _L_(37) /**< \brief EIC signal: EXTINT5 on PB05 mux A */ +#define MUX_PB05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PB05A_EIC_EXTINT5 ((PIN_PB05A_EIC_EXTINT5 << 16) | MUX_PB05A_EIC_EXTINT5) +#define PORT_PB05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PB05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB05 External Interrupt Line */ +#define PIN_PB21A_EIC_EXTINT5 _L_(53) /**< \brief EIC signal: EXTINT5 on PB21 mux A */ +#define MUX_PB21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PB21A_EIC_EXTINT5 ((PIN_PB21A_EIC_EXTINT5 << 16) | MUX_PB21A_EIC_EXTINT5) +#define PORT_PB21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PB21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB21 External Interrupt Line */ +#define PIN_PC05A_EIC_EXTINT5 _L_(69) /**< \brief EIC signal: EXTINT5 on PC05 mux A */ +#define MUX_PC05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PC05A_EIC_EXTINT5 ((PIN_PC05A_EIC_EXTINT5 << 16) | MUX_PC05A_EIC_EXTINT5) +#define PORT_PC05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PC05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC05 External Interrupt Line */ +#define PIN_PC21A_EIC_EXTINT5 _L_(85) /**< \brief EIC signal: EXTINT5 on PC21 mux A */ +#define MUX_PC21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PC21A_EIC_EXTINT5 ((PIN_PC21A_EIC_EXTINT5 << 16) | MUX_PC21A_EIC_EXTINT5) +#define PORT_PC21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PC21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC21 External Interrupt Line */ +#define PIN_PD10A_EIC_EXTINT5 _L_(106) /**< \brief EIC signal: EXTINT5 on PD10 mux A */ +#define MUX_PD10A_EIC_EXTINT5 _L_(0) +#define PINMUX_PD10A_EIC_EXTINT5 ((PIN_PD10A_EIC_EXTINT5 << 16) | MUX_PD10A_EIC_EXTINT5) +#define PORT_PD10A_EIC_EXTINT5 (_UL_(1) << 10) +#define PIN_PD10A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PD10 External Interrupt Line */ +#define PIN_PA06A_EIC_EXTINT6 _L_(6) /**< \brief EIC signal: EXTINT6 on PA06 mux A */ +#define MUX_PA06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PA06A_EIC_EXTINT6 ((PIN_PA06A_EIC_EXTINT6 << 16) | MUX_PA06A_EIC_EXTINT6) +#define PORT_PA06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PA06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA06 External Interrupt Line */ +#define PIN_PA22A_EIC_EXTINT6 _L_(22) /**< \brief EIC signal: EXTINT6 on PA22 mux A */ +#define MUX_PA22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PA22A_EIC_EXTINT6 ((PIN_PA22A_EIC_EXTINT6 << 16) | MUX_PA22A_EIC_EXTINT6) +#define PORT_PA22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PA22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA22 External Interrupt Line */ +#define PIN_PB06A_EIC_EXTINT6 _L_(38) /**< \brief EIC signal: EXTINT6 on PB06 mux A */ +#define MUX_PB06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PB06A_EIC_EXTINT6 ((PIN_PB06A_EIC_EXTINT6 << 16) | MUX_PB06A_EIC_EXTINT6) +#define PORT_PB06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PB06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB06 External Interrupt Line */ +#define PIN_PB22A_EIC_EXTINT6 _L_(54) /**< \brief EIC signal: EXTINT6 on PB22 mux A */ +#define MUX_PB22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PB22A_EIC_EXTINT6 ((PIN_PB22A_EIC_EXTINT6 << 16) | MUX_PB22A_EIC_EXTINT6) +#define PORT_PB22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PB22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB22 External Interrupt Line */ +#define PIN_PC06A_EIC_EXTINT6 _L_(70) /**< \brief EIC signal: EXTINT6 on PC06 mux A */ +#define MUX_PC06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PC06A_EIC_EXTINT6 ((PIN_PC06A_EIC_EXTINT6 << 16) | MUX_PC06A_EIC_EXTINT6) +#define PORT_PC06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PC06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC06 External Interrupt Line */ +#define PIN_PC22A_EIC_EXTINT6 _L_(86) /**< \brief EIC signal: EXTINT6 on PC22 mux A */ +#define MUX_PC22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PC22A_EIC_EXTINT6 ((PIN_PC22A_EIC_EXTINT6 << 16) | MUX_PC22A_EIC_EXTINT6) +#define PORT_PC22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PC22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC22 External Interrupt Line */ +#define PIN_PD11A_EIC_EXTINT6 _L_(107) /**< \brief EIC signal: EXTINT6 on PD11 mux A */ +#define MUX_PD11A_EIC_EXTINT6 _L_(0) +#define PINMUX_PD11A_EIC_EXTINT6 ((PIN_PD11A_EIC_EXTINT6 << 16) | MUX_PD11A_EIC_EXTINT6) +#define PORT_PD11A_EIC_EXTINT6 (_UL_(1) << 11) +#define PIN_PD11A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PD11 External Interrupt Line */ +#define PIN_PA07A_EIC_EXTINT7 _L_(7) /**< \brief EIC signal: EXTINT7 on PA07 mux A */ +#define MUX_PA07A_EIC_EXTINT7 _L_(0) +#define PINMUX_PA07A_EIC_EXTINT7 ((PIN_PA07A_EIC_EXTINT7 << 16) | MUX_PA07A_EIC_EXTINT7) +#define PORT_PA07A_EIC_EXTINT7 (_UL_(1) << 7) +#define PIN_PA07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA07 External Interrupt Line */ +#define PIN_PA23A_EIC_EXTINT7 _L_(23) /**< \brief EIC signal: EXTINT7 on PA23 mux A */ +#define MUX_PA23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PA23A_EIC_EXTINT7 ((PIN_PA23A_EIC_EXTINT7 << 16) | MUX_PA23A_EIC_EXTINT7) +#define PORT_PA23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PA23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA23 External Interrupt Line */ +#define PIN_PB07A_EIC_EXTINT7 _L_(39) /**< \brief EIC signal: EXTINT7 on PB07 mux A */ +#define MUX_PB07A_EIC_EXTINT7 _L_(0) +#define PINMUX_PB07A_EIC_EXTINT7 ((PIN_PB07A_EIC_EXTINT7 << 16) | MUX_PB07A_EIC_EXTINT7) +#define PORT_PB07A_EIC_EXTINT7 (_UL_(1) << 7) +#define PIN_PB07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB07 External Interrupt Line */ +#define PIN_PB23A_EIC_EXTINT7 _L_(55) /**< \brief EIC signal: EXTINT7 on PB23 mux A */ +#define MUX_PB23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PB23A_EIC_EXTINT7 ((PIN_PB23A_EIC_EXTINT7 << 16) | MUX_PB23A_EIC_EXTINT7) +#define PORT_PB23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PB23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB23 External Interrupt Line */ +#define PIN_PC23A_EIC_EXTINT7 _L_(87) /**< \brief EIC signal: EXTINT7 on PC23 mux A */ +#define MUX_PC23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PC23A_EIC_EXTINT7 ((PIN_PC23A_EIC_EXTINT7 << 16) | MUX_PC23A_EIC_EXTINT7) +#define PORT_PC23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PC23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PC23 External Interrupt Line */ +#define PIN_PD12A_EIC_EXTINT7 _L_(108) /**< \brief EIC signal: EXTINT7 on PD12 mux A */ +#define MUX_PD12A_EIC_EXTINT7 _L_(0) +#define PINMUX_PD12A_EIC_EXTINT7 ((PIN_PD12A_EIC_EXTINT7 << 16) | MUX_PD12A_EIC_EXTINT7) +#define PORT_PD12A_EIC_EXTINT7 (_UL_(1) << 12) +#define PIN_PD12A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PD12 External Interrupt Line */ +#define PIN_PA24A_EIC_EXTINT8 _L_(24) /**< \brief EIC signal: EXTINT8 on PA24 mux A */ +#define MUX_PA24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PA24A_EIC_EXTINT8 ((PIN_PA24A_EIC_EXTINT8 << 16) | MUX_PA24A_EIC_EXTINT8) +#define PORT_PA24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PA24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PA24 External Interrupt Line */ +#define PIN_PB08A_EIC_EXTINT8 _L_(40) /**< \brief EIC signal: EXTINT8 on PB08 mux A */ +#define MUX_PB08A_EIC_EXTINT8 _L_(0) +#define PINMUX_PB08A_EIC_EXTINT8 ((PIN_PB08A_EIC_EXTINT8 << 16) | MUX_PB08A_EIC_EXTINT8) +#define PORT_PB08A_EIC_EXTINT8 (_UL_(1) << 8) +#define PIN_PB08A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB08 External Interrupt Line */ +#define PIN_PB24A_EIC_EXTINT8 _L_(56) /**< \brief EIC signal: EXTINT8 on PB24 mux A */ +#define MUX_PB24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PB24A_EIC_EXTINT8 ((PIN_PB24A_EIC_EXTINT8 << 16) | MUX_PB24A_EIC_EXTINT8) +#define PORT_PB24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PB24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB24 External Interrupt Line */ +#define PIN_PC24A_EIC_EXTINT8 _L_(88) /**< \brief EIC signal: EXTINT8 on PC24 mux A */ +#define MUX_PC24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PC24A_EIC_EXTINT8 ((PIN_PC24A_EIC_EXTINT8 << 16) | MUX_PC24A_EIC_EXTINT8) +#define PORT_PC24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PC24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PC24 External Interrupt Line */ +#define PIN_PA09A_EIC_EXTINT9 _L_(9) /**< \brief EIC signal: EXTINT9 on PA09 mux A */ +#define MUX_PA09A_EIC_EXTINT9 _L_(0) +#define PINMUX_PA09A_EIC_EXTINT9 ((PIN_PA09A_EIC_EXTINT9 << 16) | MUX_PA09A_EIC_EXTINT9) +#define PORT_PA09A_EIC_EXTINT9 (_UL_(1) << 9) +#define PIN_PA09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA09 External Interrupt Line */ +#define PIN_PA25A_EIC_EXTINT9 _L_(25) /**< \brief EIC signal: EXTINT9 on PA25 mux A */ +#define MUX_PA25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PA25A_EIC_EXTINT9 ((PIN_PA25A_EIC_EXTINT9 << 16) | MUX_PA25A_EIC_EXTINT9) +#define PORT_PA25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PA25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA25 External Interrupt Line */ +#define PIN_PB09A_EIC_EXTINT9 _L_(41) /**< \brief EIC signal: EXTINT9 on PB09 mux A */ +#define MUX_PB09A_EIC_EXTINT9 _L_(0) +#define PINMUX_PB09A_EIC_EXTINT9 ((PIN_PB09A_EIC_EXTINT9 << 16) | MUX_PB09A_EIC_EXTINT9) +#define PORT_PB09A_EIC_EXTINT9 (_UL_(1) << 9) +#define PIN_PB09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB09 External Interrupt Line */ +#define PIN_PB25A_EIC_EXTINT9 _L_(57) /**< \brief EIC signal: EXTINT9 on PB25 mux A */ +#define MUX_PB25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PB25A_EIC_EXTINT9 ((PIN_PB25A_EIC_EXTINT9 << 16) | MUX_PB25A_EIC_EXTINT9) +#define PORT_PB25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PB25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB25 External Interrupt Line */ +#define PIN_PC07A_EIC_EXTINT9 _L_(71) /**< \brief EIC signal: EXTINT9 on PC07 mux A */ +#define MUX_PC07A_EIC_EXTINT9 _L_(0) +#define PINMUX_PC07A_EIC_EXTINT9 ((PIN_PC07A_EIC_EXTINT9 << 16) | MUX_PC07A_EIC_EXTINT9) +#define PORT_PC07A_EIC_EXTINT9 (_UL_(1) << 7) +#define PIN_PC07A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC07 External Interrupt Line */ +#define PIN_PC25A_EIC_EXTINT9 _L_(89) /**< \brief EIC signal: EXTINT9 on PC25 mux A */ +#define MUX_PC25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PC25A_EIC_EXTINT9 ((PIN_PC25A_EIC_EXTINT9 << 16) | MUX_PC25A_EIC_EXTINT9) +#define PORT_PC25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PC25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC25 External Interrupt Line */ +#define PIN_PA10A_EIC_EXTINT10 _L_(10) /**< \brief EIC signal: EXTINT10 on PA10 mux A */ +#define MUX_PA10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PA10A_EIC_EXTINT10 ((PIN_PA10A_EIC_EXTINT10 << 16) | MUX_PA10A_EIC_EXTINT10) +#define PORT_PA10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PA10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PA10 External Interrupt Line */ +#define PIN_PB10A_EIC_EXTINT10 _L_(42) /**< \brief EIC signal: EXTINT10 on PB10 mux A */ +#define MUX_PB10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PB10A_EIC_EXTINT10 ((PIN_PB10A_EIC_EXTINT10 << 16) | MUX_PB10A_EIC_EXTINT10) +#define PORT_PB10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PB10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PB10 External Interrupt Line */ +#define PIN_PC10A_EIC_EXTINT10 _L_(74) /**< \brief EIC signal: EXTINT10 on PC10 mux A */ +#define MUX_PC10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PC10A_EIC_EXTINT10 ((PIN_PC10A_EIC_EXTINT10 << 16) | MUX_PC10A_EIC_EXTINT10) +#define PORT_PC10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PC10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC10 External Interrupt Line */ +#define PIN_PC26A_EIC_EXTINT10 _L_(90) /**< \brief EIC signal: EXTINT10 on PC26 mux A */ +#define MUX_PC26A_EIC_EXTINT10 _L_(0) +#define PINMUX_PC26A_EIC_EXTINT10 ((PIN_PC26A_EIC_EXTINT10 << 16) | MUX_PC26A_EIC_EXTINT10) +#define PORT_PC26A_EIC_EXTINT10 (_UL_(1) << 26) +#define PIN_PC26A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC26 External Interrupt Line */ +#define PIN_PD20A_EIC_EXTINT10 _L_(116) /**< \brief EIC signal: EXTINT10 on PD20 mux A */ +#define MUX_PD20A_EIC_EXTINT10 _L_(0) +#define PINMUX_PD20A_EIC_EXTINT10 ((PIN_PD20A_EIC_EXTINT10 << 16) | MUX_PD20A_EIC_EXTINT10) +#define PORT_PD20A_EIC_EXTINT10 (_UL_(1) << 20) +#define PIN_PD20A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PD20 External Interrupt Line */ +#define PIN_PA11A_EIC_EXTINT11 _L_(11) /**< \brief EIC signal: EXTINT11 on PA11 mux A */ +#define MUX_PA11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PA11A_EIC_EXTINT11 ((PIN_PA11A_EIC_EXTINT11 << 16) | MUX_PA11A_EIC_EXTINT11) +#define PORT_PA11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PA11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA11 External Interrupt Line */ +#define PIN_PA27A_EIC_EXTINT11 _L_(27) /**< \brief EIC signal: EXTINT11 on PA27 mux A */ +#define MUX_PA27A_EIC_EXTINT11 _L_(0) +#define PINMUX_PA27A_EIC_EXTINT11 ((PIN_PA27A_EIC_EXTINT11 << 16) | MUX_PA27A_EIC_EXTINT11) +#define PORT_PA27A_EIC_EXTINT11 (_UL_(1) << 27) +#define PIN_PA27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA27 External Interrupt Line */ +#define PIN_PB11A_EIC_EXTINT11 _L_(43) /**< \brief EIC signal: EXTINT11 on PB11 mux A */ +#define MUX_PB11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PB11A_EIC_EXTINT11 ((PIN_PB11A_EIC_EXTINT11 << 16) | MUX_PB11A_EIC_EXTINT11) +#define PORT_PB11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PB11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PB11 External Interrupt Line */ +#define PIN_PC11A_EIC_EXTINT11 _L_(75) /**< \brief EIC signal: EXTINT11 on PC11 mux A */ +#define MUX_PC11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PC11A_EIC_EXTINT11 ((PIN_PC11A_EIC_EXTINT11 << 16) | MUX_PC11A_EIC_EXTINT11) +#define PORT_PC11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PC11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC11 External Interrupt Line */ +#define PIN_PC27A_EIC_EXTINT11 _L_(91) /**< \brief EIC signal: EXTINT11 on PC27 mux A */ +#define MUX_PC27A_EIC_EXTINT11 _L_(0) +#define PINMUX_PC27A_EIC_EXTINT11 ((PIN_PC27A_EIC_EXTINT11 << 16) | MUX_PC27A_EIC_EXTINT11) +#define PORT_PC27A_EIC_EXTINT11 (_UL_(1) << 27) +#define PIN_PC27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC27 External Interrupt Line */ +#define PIN_PD21A_EIC_EXTINT11 _L_(117) /**< \brief EIC signal: EXTINT11 on PD21 mux A */ +#define MUX_PD21A_EIC_EXTINT11 _L_(0) +#define PINMUX_PD21A_EIC_EXTINT11 ((PIN_PD21A_EIC_EXTINT11 << 16) | MUX_PD21A_EIC_EXTINT11) +#define PORT_PD21A_EIC_EXTINT11 (_UL_(1) << 21) +#define PIN_PD21A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PD21 External Interrupt Line */ +#define PIN_PA12A_EIC_EXTINT12 _L_(12) /**< \brief EIC signal: EXTINT12 on PA12 mux A */ +#define MUX_PA12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PA12A_EIC_EXTINT12 ((PIN_PA12A_EIC_EXTINT12 << 16) | MUX_PA12A_EIC_EXTINT12) +#define PORT_PA12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PA12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PA12 External Interrupt Line */ +#define PIN_PB12A_EIC_EXTINT12 _L_(44) /**< \brief EIC signal: EXTINT12 on PB12 mux A */ +#define MUX_PB12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PB12A_EIC_EXTINT12 ((PIN_PB12A_EIC_EXTINT12 << 16) | MUX_PB12A_EIC_EXTINT12) +#define PORT_PB12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PB12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB12 External Interrupt Line */ +#define PIN_PB26A_EIC_EXTINT12 _L_(58) /**< \brief EIC signal: EXTINT12 on PB26 mux A */ +#define MUX_PB26A_EIC_EXTINT12 _L_(0) +#define PINMUX_PB26A_EIC_EXTINT12 ((PIN_PB26A_EIC_EXTINT12 << 16) | MUX_PB26A_EIC_EXTINT12) +#define PORT_PB26A_EIC_EXTINT12 (_UL_(1) << 26) +#define PIN_PB26A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB26 External Interrupt Line */ +#define PIN_PC12A_EIC_EXTINT12 _L_(76) /**< \brief EIC signal: EXTINT12 on PC12 mux A */ +#define MUX_PC12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PC12A_EIC_EXTINT12 ((PIN_PC12A_EIC_EXTINT12 << 16) | MUX_PC12A_EIC_EXTINT12) +#define PORT_PC12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PC12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC12 External Interrupt Line */ +#define PIN_PC28A_EIC_EXTINT12 _L_(92) /**< \brief EIC signal: EXTINT12 on PC28 mux A */ +#define MUX_PC28A_EIC_EXTINT12 _L_(0) +#define PINMUX_PC28A_EIC_EXTINT12 ((PIN_PC28A_EIC_EXTINT12 << 16) | MUX_PC28A_EIC_EXTINT12) +#define PORT_PC28A_EIC_EXTINT12 (_UL_(1) << 28) +#define PIN_PC28A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC28 External Interrupt Line */ +#define PIN_PA13A_EIC_EXTINT13 _L_(13) /**< \brief EIC signal: EXTINT13 on PA13 mux A */ +#define MUX_PA13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PA13A_EIC_EXTINT13 ((PIN_PA13A_EIC_EXTINT13 << 16) | MUX_PA13A_EIC_EXTINT13) +#define PORT_PA13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PA13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PA13 External Interrupt Line */ +#define PIN_PB13A_EIC_EXTINT13 _L_(45) /**< \brief EIC signal: EXTINT13 on PB13 mux A */ +#define MUX_PB13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PB13A_EIC_EXTINT13 ((PIN_PB13A_EIC_EXTINT13 << 16) | MUX_PB13A_EIC_EXTINT13) +#define PORT_PB13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PB13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB13 External Interrupt Line */ +#define PIN_PB27A_EIC_EXTINT13 _L_(59) /**< \brief EIC signal: EXTINT13 on PB27 mux A */ +#define MUX_PB27A_EIC_EXTINT13 _L_(0) +#define PINMUX_PB27A_EIC_EXTINT13 ((PIN_PB27A_EIC_EXTINT13 << 16) | MUX_PB27A_EIC_EXTINT13) +#define PORT_PB27A_EIC_EXTINT13 (_UL_(1) << 27) +#define PIN_PB27A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB27 External Interrupt Line */ +#define PIN_PC13A_EIC_EXTINT13 _L_(77) /**< \brief EIC signal: EXTINT13 on PC13 mux A */ +#define MUX_PC13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PC13A_EIC_EXTINT13 ((PIN_PC13A_EIC_EXTINT13 << 16) | MUX_PC13A_EIC_EXTINT13) +#define PORT_PC13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PC13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PC13 External Interrupt Line */ +#define PIN_PA30A_EIC_EXTINT14 _L_(30) /**< \brief EIC signal: EXTINT14 on PA30 mux A */ +#define MUX_PA30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PA30A_EIC_EXTINT14 ((PIN_PA30A_EIC_EXTINT14 << 16) | MUX_PA30A_EIC_EXTINT14) +#define PORT_PA30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PA30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA30 External Interrupt Line */ +#define PIN_PB14A_EIC_EXTINT14 _L_(46) /**< \brief EIC signal: EXTINT14 on PB14 mux A */ +#define MUX_PB14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB14A_EIC_EXTINT14 ((PIN_PB14A_EIC_EXTINT14 << 16) | MUX_PB14A_EIC_EXTINT14) +#define PORT_PB14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PB14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB14 External Interrupt Line */ +#define PIN_PB28A_EIC_EXTINT14 _L_(60) /**< \brief EIC signal: EXTINT14 on PB28 mux A */ +#define MUX_PB28A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB28A_EIC_EXTINT14 ((PIN_PB28A_EIC_EXTINT14 << 16) | MUX_PB28A_EIC_EXTINT14) +#define PORT_PB28A_EIC_EXTINT14 (_UL_(1) << 28) +#define PIN_PB28A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB28 External Interrupt Line */ +#define PIN_PB30A_EIC_EXTINT14 _L_(62) /**< \brief EIC signal: EXTINT14 on PB30 mux A */ +#define MUX_PB30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB30A_EIC_EXTINT14 ((PIN_PB30A_EIC_EXTINT14 << 16) | MUX_PB30A_EIC_EXTINT14) +#define PORT_PB30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PB30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB30 External Interrupt Line */ +#define PIN_PC14A_EIC_EXTINT14 _L_(78) /**< \brief EIC signal: EXTINT14 on PC14 mux A */ +#define MUX_PC14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PC14A_EIC_EXTINT14 ((PIN_PC14A_EIC_EXTINT14 << 16) | MUX_PC14A_EIC_EXTINT14) +#define PORT_PC14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PC14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC14 External Interrupt Line */ +#define PIN_PC30A_EIC_EXTINT14 _L_(94) /**< \brief EIC signal: EXTINT14 on PC30 mux A */ +#define MUX_PC30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PC30A_EIC_EXTINT14 ((PIN_PC30A_EIC_EXTINT14 << 16) | MUX_PC30A_EIC_EXTINT14) +#define PORT_PC30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PC30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC30 External Interrupt Line */ +#define PIN_PA14A_EIC_EXTINT14 _L_(14) /**< \brief EIC signal: EXTINT14 on PA14 mux A */ +#define MUX_PA14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PA14A_EIC_EXTINT14 ((PIN_PA14A_EIC_EXTINT14 << 16) | MUX_PA14A_EIC_EXTINT14) +#define PORT_PA14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PA14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA14 External Interrupt Line */ +#define PIN_PA15A_EIC_EXTINT15 _L_(15) /**< \brief EIC signal: EXTINT15 on PA15 mux A */ +#define MUX_PA15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PA15A_EIC_EXTINT15 ((PIN_PA15A_EIC_EXTINT15 << 16) | MUX_PA15A_EIC_EXTINT15) +#define PORT_PA15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PA15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA15 External Interrupt Line */ +#define PIN_PA31A_EIC_EXTINT15 _L_(31) /**< \brief EIC signal: EXTINT15 on PA31 mux A */ +#define MUX_PA31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PA31A_EIC_EXTINT15 ((PIN_PA31A_EIC_EXTINT15 << 16) | MUX_PA31A_EIC_EXTINT15) +#define PORT_PA31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PA31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA31 External Interrupt Line */ +#define PIN_PB15A_EIC_EXTINT15 _L_(47) /**< \brief EIC signal: EXTINT15 on PB15 mux A */ +#define MUX_PB15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB15A_EIC_EXTINT15 ((PIN_PB15A_EIC_EXTINT15 << 16) | MUX_PB15A_EIC_EXTINT15) +#define PORT_PB15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PB15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB15 External Interrupt Line */ +#define PIN_PB29A_EIC_EXTINT15 _L_(61) /**< \brief EIC signal: EXTINT15 on PB29 mux A */ +#define MUX_PB29A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB29A_EIC_EXTINT15 ((PIN_PB29A_EIC_EXTINT15 << 16) | MUX_PB29A_EIC_EXTINT15) +#define PORT_PB29A_EIC_EXTINT15 (_UL_(1) << 29) +#define PIN_PB29A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB29 External Interrupt Line */ +#define PIN_PB31A_EIC_EXTINT15 _L_(63) /**< \brief EIC signal: EXTINT15 on PB31 mux A */ +#define MUX_PB31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB31A_EIC_EXTINT15 ((PIN_PB31A_EIC_EXTINT15 << 16) | MUX_PB31A_EIC_EXTINT15) +#define PORT_PB31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PB31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB31 External Interrupt Line */ +#define PIN_PC15A_EIC_EXTINT15 _L_(79) /**< \brief EIC signal: EXTINT15 on PC15 mux A */ +#define MUX_PC15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PC15A_EIC_EXTINT15 ((PIN_PC15A_EIC_EXTINT15 << 16) | MUX_PC15A_EIC_EXTINT15) +#define PORT_PC15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PC15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC15 External Interrupt Line */ +#define PIN_PC31A_EIC_EXTINT15 _L_(95) /**< \brief EIC signal: EXTINT15 on PC31 mux A */ +#define MUX_PC31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PC31A_EIC_EXTINT15 ((PIN_PC31A_EIC_EXTINT15 << 16) | MUX_PC31A_EIC_EXTINT15) +#define PORT_PC31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PC31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC31 External Interrupt Line */ +#define PIN_PA08A_EIC_NMI _L_(8) /**< \brief EIC signal: NMI on PA08 mux A */ +#define MUX_PA08A_EIC_NMI _L_(0) +#define PINMUX_PA08A_EIC_NMI ((PIN_PA08A_EIC_NMI << 16) | MUX_PA08A_EIC_NMI) +#define PORT_PA08A_EIC_NMI (_UL_(1) << 8) +/* ========== PORT definition for SERCOM0 peripheral ========== */ +#define PIN_PA04D_SERCOM0_PAD0 _L_(4) /**< \brief SERCOM0 signal: PAD0 on PA04 mux D */ +#define MUX_PA04D_SERCOM0_PAD0 _L_(3) +#define PINMUX_PA04D_SERCOM0_PAD0 ((PIN_PA04D_SERCOM0_PAD0 << 16) | MUX_PA04D_SERCOM0_PAD0) +#define PORT_PA04D_SERCOM0_PAD0 (_UL_(1) << 4) +#define PIN_PC17D_SERCOM0_PAD0 _L_(81) /**< \brief SERCOM0 signal: PAD0 on PC17 mux D */ +#define MUX_PC17D_SERCOM0_PAD0 _L_(3) +#define PINMUX_PC17D_SERCOM0_PAD0 ((PIN_PC17D_SERCOM0_PAD0 << 16) | MUX_PC17D_SERCOM0_PAD0) +#define PORT_PC17D_SERCOM0_PAD0 (_UL_(1) << 17) +#define PIN_PA08C_SERCOM0_PAD0 _L_(8) /**< \brief SERCOM0 signal: PAD0 on PA08 mux C */ +#define MUX_PA08C_SERCOM0_PAD0 _L_(2) +#define PINMUX_PA08C_SERCOM0_PAD0 ((PIN_PA08C_SERCOM0_PAD0 << 16) | MUX_PA08C_SERCOM0_PAD0) +#define PORT_PA08C_SERCOM0_PAD0 (_UL_(1) << 8) +#define PIN_PB24C_SERCOM0_PAD0 _L_(56) /**< \brief SERCOM0 signal: PAD0 on PB24 mux C */ +#define MUX_PB24C_SERCOM0_PAD0 _L_(2) +#define PINMUX_PB24C_SERCOM0_PAD0 ((PIN_PB24C_SERCOM0_PAD0 << 16) | MUX_PB24C_SERCOM0_PAD0) +#define PORT_PB24C_SERCOM0_PAD0 (_UL_(1) << 24) +#define PIN_PA05D_SERCOM0_PAD1 _L_(5) /**< \brief SERCOM0 signal: PAD1 on PA05 mux D */ +#define MUX_PA05D_SERCOM0_PAD1 _L_(3) +#define PINMUX_PA05D_SERCOM0_PAD1 ((PIN_PA05D_SERCOM0_PAD1 << 16) | MUX_PA05D_SERCOM0_PAD1) +#define PORT_PA05D_SERCOM0_PAD1 (_UL_(1) << 5) +#define PIN_PC16D_SERCOM0_PAD1 _L_(80) /**< \brief SERCOM0 signal: PAD1 on PC16 mux D */ +#define MUX_PC16D_SERCOM0_PAD1 _L_(3) +#define PINMUX_PC16D_SERCOM0_PAD1 ((PIN_PC16D_SERCOM0_PAD1 << 16) | MUX_PC16D_SERCOM0_PAD1) +#define PORT_PC16D_SERCOM0_PAD1 (_UL_(1) << 16) +#define PIN_PA09C_SERCOM0_PAD1 _L_(9) /**< \brief SERCOM0 signal: PAD1 on PA09 mux C */ +#define MUX_PA09C_SERCOM0_PAD1 _L_(2) +#define PINMUX_PA09C_SERCOM0_PAD1 ((PIN_PA09C_SERCOM0_PAD1 << 16) | MUX_PA09C_SERCOM0_PAD1) +#define PORT_PA09C_SERCOM0_PAD1 (_UL_(1) << 9) +#define PIN_PB25C_SERCOM0_PAD1 _L_(57) /**< \brief SERCOM0 signal: PAD1 on PB25 mux C */ +#define MUX_PB25C_SERCOM0_PAD1 _L_(2) +#define PINMUX_PB25C_SERCOM0_PAD1 ((PIN_PB25C_SERCOM0_PAD1 << 16) | MUX_PB25C_SERCOM0_PAD1) +#define PORT_PB25C_SERCOM0_PAD1 (_UL_(1) << 25) +#define PIN_PA06D_SERCOM0_PAD2 _L_(6) /**< \brief SERCOM0 signal: PAD2 on PA06 mux D */ +#define MUX_PA06D_SERCOM0_PAD2 _L_(3) +#define PINMUX_PA06D_SERCOM0_PAD2 ((PIN_PA06D_SERCOM0_PAD2 << 16) | MUX_PA06D_SERCOM0_PAD2) +#define PORT_PA06D_SERCOM0_PAD2 (_UL_(1) << 6) +#define PIN_PC18D_SERCOM0_PAD2 _L_(82) /**< \brief SERCOM0 signal: PAD2 on PC18 mux D */ +#define MUX_PC18D_SERCOM0_PAD2 _L_(3) +#define PINMUX_PC18D_SERCOM0_PAD2 ((PIN_PC18D_SERCOM0_PAD2 << 16) | MUX_PC18D_SERCOM0_PAD2) +#define PORT_PC18D_SERCOM0_PAD2 (_UL_(1) << 18) +#define PIN_PA10C_SERCOM0_PAD2 _L_(10) /**< \brief SERCOM0 signal: PAD2 on PA10 mux C */ +#define MUX_PA10C_SERCOM0_PAD2 _L_(2) +#define PINMUX_PA10C_SERCOM0_PAD2 ((PIN_PA10C_SERCOM0_PAD2 << 16) | MUX_PA10C_SERCOM0_PAD2) +#define PORT_PA10C_SERCOM0_PAD2 (_UL_(1) << 10) +#define PIN_PC24C_SERCOM0_PAD2 _L_(88) /**< \brief SERCOM0 signal: PAD2 on PC24 mux C */ +#define MUX_PC24C_SERCOM0_PAD2 _L_(2) +#define PINMUX_PC24C_SERCOM0_PAD2 ((PIN_PC24C_SERCOM0_PAD2 << 16) | MUX_PC24C_SERCOM0_PAD2) +#define PORT_PC24C_SERCOM0_PAD2 (_UL_(1) << 24) +#define PIN_PA07D_SERCOM0_PAD3 _L_(7) /**< \brief SERCOM0 signal: PAD3 on PA07 mux D */ +#define MUX_PA07D_SERCOM0_PAD3 _L_(3) +#define PINMUX_PA07D_SERCOM0_PAD3 ((PIN_PA07D_SERCOM0_PAD3 << 16) | MUX_PA07D_SERCOM0_PAD3) +#define PORT_PA07D_SERCOM0_PAD3 (_UL_(1) << 7) +#define PIN_PC19D_SERCOM0_PAD3 _L_(83) /**< \brief SERCOM0 signal: PAD3 on PC19 mux D */ +#define MUX_PC19D_SERCOM0_PAD3 _L_(3) +#define PINMUX_PC19D_SERCOM0_PAD3 ((PIN_PC19D_SERCOM0_PAD3 << 16) | MUX_PC19D_SERCOM0_PAD3) +#define PORT_PC19D_SERCOM0_PAD3 (_UL_(1) << 19) +#define PIN_PA11C_SERCOM0_PAD3 _L_(11) /**< \brief SERCOM0 signal: PAD3 on PA11 mux C */ +#define MUX_PA11C_SERCOM0_PAD3 _L_(2) +#define PINMUX_PA11C_SERCOM0_PAD3 ((PIN_PA11C_SERCOM0_PAD3 << 16) | MUX_PA11C_SERCOM0_PAD3) +#define PORT_PA11C_SERCOM0_PAD3 (_UL_(1) << 11) +#define PIN_PC25C_SERCOM0_PAD3 _L_(89) /**< \brief SERCOM0 signal: PAD3 on PC25 mux C */ +#define MUX_PC25C_SERCOM0_PAD3 _L_(2) +#define PINMUX_PC25C_SERCOM0_PAD3 ((PIN_PC25C_SERCOM0_PAD3 << 16) | MUX_PC25C_SERCOM0_PAD3) +#define PORT_PC25C_SERCOM0_PAD3 (_UL_(1) << 25) +/* ========== PORT definition for SERCOM1 peripheral ========== */ +#define PIN_PA00D_SERCOM1_PAD0 _L_(0) /**< \brief SERCOM1 signal: PAD0 on PA00 mux D */ +#define MUX_PA00D_SERCOM1_PAD0 _L_(3) +#define PINMUX_PA00D_SERCOM1_PAD0 ((PIN_PA00D_SERCOM1_PAD0 << 16) | MUX_PA00D_SERCOM1_PAD0) +#define PORT_PA00D_SERCOM1_PAD0 (_UL_(1) << 0) +#define PIN_PA16C_SERCOM1_PAD0 _L_(16) /**< \brief SERCOM1 signal: PAD0 on PA16 mux C */ +#define MUX_PA16C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PA16C_SERCOM1_PAD0 ((PIN_PA16C_SERCOM1_PAD0 << 16) | MUX_PA16C_SERCOM1_PAD0) +#define PORT_PA16C_SERCOM1_PAD0 (_UL_(1) << 16) +#define PIN_PC22C_SERCOM1_PAD0 _L_(86) /**< \brief SERCOM1 signal: PAD0 on PC22 mux C */ +#define MUX_PC22C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PC22C_SERCOM1_PAD0 ((PIN_PC22C_SERCOM1_PAD0 << 16) | MUX_PC22C_SERCOM1_PAD0) +#define PORT_PC22C_SERCOM1_PAD0 (_UL_(1) << 22) +#define PIN_PC27C_SERCOM1_PAD0 _L_(91) /**< \brief SERCOM1 signal: PAD0 on PC27 mux C */ +#define MUX_PC27C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PC27C_SERCOM1_PAD0 ((PIN_PC27C_SERCOM1_PAD0 << 16) | MUX_PC27C_SERCOM1_PAD0) +#define PORT_PC27C_SERCOM1_PAD0 (_UL_(1) << 27) +#define PIN_PA01D_SERCOM1_PAD1 _L_(1) /**< \brief SERCOM1 signal: PAD1 on PA01 mux D */ +#define MUX_PA01D_SERCOM1_PAD1 _L_(3) +#define PINMUX_PA01D_SERCOM1_PAD1 ((PIN_PA01D_SERCOM1_PAD1 << 16) | MUX_PA01D_SERCOM1_PAD1) +#define PORT_PA01D_SERCOM1_PAD1 (_UL_(1) << 1) +#define PIN_PA17C_SERCOM1_PAD1 _L_(17) /**< \brief SERCOM1 signal: PAD1 on PA17 mux C */ +#define MUX_PA17C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PA17C_SERCOM1_PAD1 ((PIN_PA17C_SERCOM1_PAD1 << 16) | MUX_PA17C_SERCOM1_PAD1) +#define PORT_PA17C_SERCOM1_PAD1 (_UL_(1) << 17) +#define PIN_PC23C_SERCOM1_PAD1 _L_(87) /**< \brief SERCOM1 signal: PAD1 on PC23 mux C */ +#define MUX_PC23C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PC23C_SERCOM1_PAD1 ((PIN_PC23C_SERCOM1_PAD1 << 16) | MUX_PC23C_SERCOM1_PAD1) +#define PORT_PC23C_SERCOM1_PAD1 (_UL_(1) << 23) +#define PIN_PC28C_SERCOM1_PAD1 _L_(92) /**< \brief SERCOM1 signal: PAD1 on PC28 mux C */ +#define MUX_PC28C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PC28C_SERCOM1_PAD1 ((PIN_PC28C_SERCOM1_PAD1 << 16) | MUX_PC28C_SERCOM1_PAD1) +#define PORT_PC28C_SERCOM1_PAD1 (_UL_(1) << 28) +#define PIN_PA30D_SERCOM1_PAD2 _L_(30) /**< \brief SERCOM1 signal: PAD2 on PA30 mux D */ +#define MUX_PA30D_SERCOM1_PAD2 _L_(3) +#define PINMUX_PA30D_SERCOM1_PAD2 ((PIN_PA30D_SERCOM1_PAD2 << 16) | MUX_PA30D_SERCOM1_PAD2) +#define PORT_PA30D_SERCOM1_PAD2 (_UL_(1) << 30) +#define PIN_PA18C_SERCOM1_PAD2 _L_(18) /**< \brief SERCOM1 signal: PAD2 on PA18 mux C */ +#define MUX_PA18C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PA18C_SERCOM1_PAD2 ((PIN_PA18C_SERCOM1_PAD2 << 16) | MUX_PA18C_SERCOM1_PAD2) +#define PORT_PA18C_SERCOM1_PAD2 (_UL_(1) << 18) +#define PIN_PB22C_SERCOM1_PAD2 _L_(54) /**< \brief SERCOM1 signal: PAD2 on PB22 mux C */ +#define MUX_PB22C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PB22C_SERCOM1_PAD2 ((PIN_PB22C_SERCOM1_PAD2 << 16) | MUX_PB22C_SERCOM1_PAD2) +#define PORT_PB22C_SERCOM1_PAD2 (_UL_(1) << 22) +#define PIN_PD20C_SERCOM1_PAD2 _L_(116) /**< \brief SERCOM1 signal: PAD2 on PD20 mux C */ +#define MUX_PD20C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PD20C_SERCOM1_PAD2 ((PIN_PD20C_SERCOM1_PAD2 << 16) | MUX_PD20C_SERCOM1_PAD2) +#define PORT_PD20C_SERCOM1_PAD2 (_UL_(1) << 20) +#define PIN_PA31D_SERCOM1_PAD3 _L_(31) /**< \brief SERCOM1 signal: PAD3 on PA31 mux D */ +#define MUX_PA31D_SERCOM1_PAD3 _L_(3) +#define PINMUX_PA31D_SERCOM1_PAD3 ((PIN_PA31D_SERCOM1_PAD3 << 16) | MUX_PA31D_SERCOM1_PAD3) +#define PORT_PA31D_SERCOM1_PAD3 (_UL_(1) << 31) +#define PIN_PA19C_SERCOM1_PAD3 _L_(19) /**< \brief SERCOM1 signal: PAD3 on PA19 mux C */ +#define MUX_PA19C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PA19C_SERCOM1_PAD3 ((PIN_PA19C_SERCOM1_PAD3 << 16) | MUX_PA19C_SERCOM1_PAD3) +#define PORT_PA19C_SERCOM1_PAD3 (_UL_(1) << 19) +#define PIN_PB23C_SERCOM1_PAD3 _L_(55) /**< \brief SERCOM1 signal: PAD3 on PB23 mux C */ +#define MUX_PB23C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PB23C_SERCOM1_PAD3 ((PIN_PB23C_SERCOM1_PAD3 << 16) | MUX_PB23C_SERCOM1_PAD3) +#define PORT_PB23C_SERCOM1_PAD3 (_UL_(1) << 23) +#define PIN_PD21C_SERCOM1_PAD3 _L_(117) /**< \brief SERCOM1 signal: PAD3 on PD21 mux C */ +#define MUX_PD21C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PD21C_SERCOM1_PAD3 ((PIN_PD21C_SERCOM1_PAD3 << 16) | MUX_PD21C_SERCOM1_PAD3) +#define PORT_PD21C_SERCOM1_PAD3 (_UL_(1) << 21) +/* ========== PORT definition for TC0 peripheral ========== */ +#define PIN_PA04E_TC0_WO0 _L_(4) /**< \brief TC0 signal: WO0 on PA04 mux E */ +#define MUX_PA04E_TC0_WO0 _L_(4) +#define PINMUX_PA04E_TC0_WO0 ((PIN_PA04E_TC0_WO0 << 16) | MUX_PA04E_TC0_WO0) +#define PORT_PA04E_TC0_WO0 (_UL_(1) << 4) +#define PIN_PA08E_TC0_WO0 _L_(8) /**< \brief TC0 signal: WO0 on PA08 mux E */ +#define MUX_PA08E_TC0_WO0 _L_(4) +#define PINMUX_PA08E_TC0_WO0 ((PIN_PA08E_TC0_WO0 << 16) | MUX_PA08E_TC0_WO0) +#define PORT_PA08E_TC0_WO0 (_UL_(1) << 8) +#define PIN_PB30E_TC0_WO0 _L_(62) /**< \brief TC0 signal: WO0 on PB30 mux E */ +#define MUX_PB30E_TC0_WO0 _L_(4) +#define PINMUX_PB30E_TC0_WO0 ((PIN_PB30E_TC0_WO0 << 16) | MUX_PB30E_TC0_WO0) +#define PORT_PB30E_TC0_WO0 (_UL_(1) << 30) +#define PIN_PA05E_TC0_WO1 _L_(5) /**< \brief TC0 signal: WO1 on PA05 mux E */ +#define MUX_PA05E_TC0_WO1 _L_(4) +#define PINMUX_PA05E_TC0_WO1 ((PIN_PA05E_TC0_WO1 << 16) | MUX_PA05E_TC0_WO1) +#define PORT_PA05E_TC0_WO1 (_UL_(1) << 5) +#define PIN_PA09E_TC0_WO1 _L_(9) /**< \brief TC0 signal: WO1 on PA09 mux E */ +#define MUX_PA09E_TC0_WO1 _L_(4) +#define PINMUX_PA09E_TC0_WO1 ((PIN_PA09E_TC0_WO1 << 16) | MUX_PA09E_TC0_WO1) +#define PORT_PA09E_TC0_WO1 (_UL_(1) << 9) +#define PIN_PB31E_TC0_WO1 _L_(63) /**< \brief TC0 signal: WO1 on PB31 mux E */ +#define MUX_PB31E_TC0_WO1 _L_(4) +#define PINMUX_PB31E_TC0_WO1 ((PIN_PB31E_TC0_WO1 << 16) | MUX_PB31E_TC0_WO1) +#define PORT_PB31E_TC0_WO1 (_UL_(1) << 31) +/* ========== PORT definition for TC1 peripheral ========== */ +#define PIN_PA06E_TC1_WO0 _L_(6) /**< \brief TC1 signal: WO0 on PA06 mux E */ +#define MUX_PA06E_TC1_WO0 _L_(4) +#define PINMUX_PA06E_TC1_WO0 ((PIN_PA06E_TC1_WO0 << 16) | MUX_PA06E_TC1_WO0) +#define PORT_PA06E_TC1_WO0 (_UL_(1) << 6) +#define PIN_PA10E_TC1_WO0 _L_(10) /**< \brief TC1 signal: WO0 on PA10 mux E */ +#define MUX_PA10E_TC1_WO0 _L_(4) +#define PINMUX_PA10E_TC1_WO0 ((PIN_PA10E_TC1_WO0 << 16) | MUX_PA10E_TC1_WO0) +#define PORT_PA10E_TC1_WO0 (_UL_(1) << 10) +#define PIN_PA07E_TC1_WO1 _L_(7) /**< \brief TC1 signal: WO1 on PA07 mux E */ +#define MUX_PA07E_TC1_WO1 _L_(4) +#define PINMUX_PA07E_TC1_WO1 ((PIN_PA07E_TC1_WO1 << 16) | MUX_PA07E_TC1_WO1) +#define PORT_PA07E_TC1_WO1 (_UL_(1) << 7) +#define PIN_PA11E_TC1_WO1 _L_(11) /**< \brief TC1 signal: WO1 on PA11 mux E */ +#define MUX_PA11E_TC1_WO1 _L_(4) +#define PINMUX_PA11E_TC1_WO1 ((PIN_PA11E_TC1_WO1 << 16) | MUX_PA11E_TC1_WO1) +#define PORT_PA11E_TC1_WO1 (_UL_(1) << 11) +/* ========== PORT definition for USB peripheral ========== */ +#define PIN_PA24H_USB_DM _L_(24) /**< \brief USB signal: DM on PA24 mux H */ +#define MUX_PA24H_USB_DM _L_(7) +#define PINMUX_PA24H_USB_DM ((PIN_PA24H_USB_DM << 16) | MUX_PA24H_USB_DM) +#define PORT_PA24H_USB_DM (_UL_(1) << 24) +#define PIN_PA25H_USB_DP _L_(25) /**< \brief USB signal: DP on PA25 mux H */ +#define MUX_PA25H_USB_DP _L_(7) +#define PINMUX_PA25H_USB_DP ((PIN_PA25H_USB_DP << 16) | MUX_PA25H_USB_DP) +#define PORT_PA25H_USB_DP (_UL_(1) << 25) +#define PIN_PA23H_USB_SOF_1KHZ _L_(23) /**< \brief USB signal: SOF_1KHZ on PA23 mux H */ +#define MUX_PA23H_USB_SOF_1KHZ _L_(7) +#define PINMUX_PA23H_USB_SOF_1KHZ ((PIN_PA23H_USB_SOF_1KHZ << 16) | MUX_PA23H_USB_SOF_1KHZ) +#define PORT_PA23H_USB_SOF_1KHZ (_UL_(1) << 23) +#define PIN_PB22H_USB_SOF_1KHZ _L_(54) /**< \brief USB signal: SOF_1KHZ on PB22 mux H */ +#define MUX_PB22H_USB_SOF_1KHZ _L_(7) +#define PINMUX_PB22H_USB_SOF_1KHZ ((PIN_PB22H_USB_SOF_1KHZ << 16) | MUX_PB22H_USB_SOF_1KHZ) +#define PORT_PB22H_USB_SOF_1KHZ (_UL_(1) << 22) +/* ========== PORT definition for SERCOM2 peripheral ========== */ +#define PIN_PA09D_SERCOM2_PAD0 _L_(9) /**< \brief SERCOM2 signal: PAD0 on PA09 mux D */ +#define MUX_PA09D_SERCOM2_PAD0 _L_(3) +#define PINMUX_PA09D_SERCOM2_PAD0 ((PIN_PA09D_SERCOM2_PAD0 << 16) | MUX_PA09D_SERCOM2_PAD0) +#define PORT_PA09D_SERCOM2_PAD0 (_UL_(1) << 9) +#define PIN_PB25D_SERCOM2_PAD0 _L_(57) /**< \brief SERCOM2 signal: PAD0 on PB25 mux D */ +#define MUX_PB25D_SERCOM2_PAD0 _L_(3) +#define PINMUX_PB25D_SERCOM2_PAD0 ((PIN_PB25D_SERCOM2_PAD0 << 16) | MUX_PB25D_SERCOM2_PAD0) +#define PORT_PB25D_SERCOM2_PAD0 (_UL_(1) << 25) +#define PIN_PA12C_SERCOM2_PAD0 _L_(12) /**< \brief SERCOM2 signal: PAD0 on PA12 mux C */ +#define MUX_PA12C_SERCOM2_PAD0 _L_(2) +#define PINMUX_PA12C_SERCOM2_PAD0 ((PIN_PA12C_SERCOM2_PAD0 << 16) | MUX_PA12C_SERCOM2_PAD0) +#define PORT_PA12C_SERCOM2_PAD0 (_UL_(1) << 12) +#define PIN_PB26C_SERCOM2_PAD0 _L_(58) /**< \brief SERCOM2 signal: PAD0 on PB26 mux C */ +#define MUX_PB26C_SERCOM2_PAD0 _L_(2) +#define PINMUX_PB26C_SERCOM2_PAD0 ((PIN_PB26C_SERCOM2_PAD0 << 16) | MUX_PB26C_SERCOM2_PAD0) +#define PORT_PB26C_SERCOM2_PAD0 (_UL_(1) << 26) +#define PIN_PA08D_SERCOM2_PAD1 _L_(8) /**< \brief SERCOM2 signal: PAD1 on PA08 mux D */ +#define MUX_PA08D_SERCOM2_PAD1 _L_(3) +#define PINMUX_PA08D_SERCOM2_PAD1 ((PIN_PA08D_SERCOM2_PAD1 << 16) | MUX_PA08D_SERCOM2_PAD1) +#define PORT_PA08D_SERCOM2_PAD1 (_UL_(1) << 8) +#define PIN_PB24D_SERCOM2_PAD1 _L_(56) /**< \brief SERCOM2 signal: PAD1 on PB24 mux D */ +#define MUX_PB24D_SERCOM2_PAD1 _L_(3) +#define PINMUX_PB24D_SERCOM2_PAD1 ((PIN_PB24D_SERCOM2_PAD1 << 16) | MUX_PB24D_SERCOM2_PAD1) +#define PORT_PB24D_SERCOM2_PAD1 (_UL_(1) << 24) +#define PIN_PA13C_SERCOM2_PAD1 _L_(13) /**< \brief SERCOM2 signal: PAD1 on PA13 mux C */ +#define MUX_PA13C_SERCOM2_PAD1 _L_(2) +#define PINMUX_PA13C_SERCOM2_PAD1 ((PIN_PA13C_SERCOM2_PAD1 << 16) | MUX_PA13C_SERCOM2_PAD1) +#define PORT_PA13C_SERCOM2_PAD1 (_UL_(1) << 13) +#define PIN_PB27C_SERCOM2_PAD1 _L_(59) /**< \brief SERCOM2 signal: PAD1 on PB27 mux C */ +#define MUX_PB27C_SERCOM2_PAD1 _L_(2) +#define PINMUX_PB27C_SERCOM2_PAD1 ((PIN_PB27C_SERCOM2_PAD1 << 16) | MUX_PB27C_SERCOM2_PAD1) +#define PORT_PB27C_SERCOM2_PAD1 (_UL_(1) << 27) +#define PIN_PA10D_SERCOM2_PAD2 _L_(10) /**< \brief SERCOM2 signal: PAD2 on PA10 mux D */ +#define MUX_PA10D_SERCOM2_PAD2 _L_(3) +#define PINMUX_PA10D_SERCOM2_PAD2 ((PIN_PA10D_SERCOM2_PAD2 << 16) | MUX_PA10D_SERCOM2_PAD2) +#define PORT_PA10D_SERCOM2_PAD2 (_UL_(1) << 10) +#define PIN_PC24D_SERCOM2_PAD2 _L_(88) /**< \brief SERCOM2 signal: PAD2 on PC24 mux D */ +#define MUX_PC24D_SERCOM2_PAD2 _L_(3) +#define PINMUX_PC24D_SERCOM2_PAD2 ((PIN_PC24D_SERCOM2_PAD2 << 16) | MUX_PC24D_SERCOM2_PAD2) +#define PORT_PC24D_SERCOM2_PAD2 (_UL_(1) << 24) +#define PIN_PB28C_SERCOM2_PAD2 _L_(60) /**< \brief SERCOM2 signal: PAD2 on PB28 mux C */ +#define MUX_PB28C_SERCOM2_PAD2 _L_(2) +#define PINMUX_PB28C_SERCOM2_PAD2 ((PIN_PB28C_SERCOM2_PAD2 << 16) | MUX_PB28C_SERCOM2_PAD2) +#define PORT_PB28C_SERCOM2_PAD2 (_UL_(1) << 28) +#define PIN_PA14C_SERCOM2_PAD2 _L_(14) /**< \brief SERCOM2 signal: PAD2 on PA14 mux C */ +#define MUX_PA14C_SERCOM2_PAD2 _L_(2) +#define PINMUX_PA14C_SERCOM2_PAD2 ((PIN_PA14C_SERCOM2_PAD2 << 16) | MUX_PA14C_SERCOM2_PAD2) +#define PORT_PA14C_SERCOM2_PAD2 (_UL_(1) << 14) +#define PIN_PA11D_SERCOM2_PAD3 _L_(11) /**< \brief SERCOM2 signal: PAD3 on PA11 mux D */ +#define MUX_PA11D_SERCOM2_PAD3 _L_(3) +#define PINMUX_PA11D_SERCOM2_PAD3 ((PIN_PA11D_SERCOM2_PAD3 << 16) | MUX_PA11D_SERCOM2_PAD3) +#define PORT_PA11D_SERCOM2_PAD3 (_UL_(1) << 11) +#define PIN_PC25D_SERCOM2_PAD3 _L_(89) /**< \brief SERCOM2 signal: PAD3 on PC25 mux D */ +#define MUX_PC25D_SERCOM2_PAD3 _L_(3) +#define PINMUX_PC25D_SERCOM2_PAD3 ((PIN_PC25D_SERCOM2_PAD3 << 16) | MUX_PC25D_SERCOM2_PAD3) +#define PORT_PC25D_SERCOM2_PAD3 (_UL_(1) << 25) +#define PIN_PB29C_SERCOM2_PAD3 _L_(61) /**< \brief SERCOM2 signal: PAD3 on PB29 mux C */ +#define MUX_PB29C_SERCOM2_PAD3 _L_(2) +#define PINMUX_PB29C_SERCOM2_PAD3 ((PIN_PB29C_SERCOM2_PAD3 << 16) | MUX_PB29C_SERCOM2_PAD3) +#define PORT_PB29C_SERCOM2_PAD3 (_UL_(1) << 29) +#define PIN_PA15C_SERCOM2_PAD3 _L_(15) /**< \brief SERCOM2 signal: PAD3 on PA15 mux C */ +#define MUX_PA15C_SERCOM2_PAD3 _L_(2) +#define PINMUX_PA15C_SERCOM2_PAD3 ((PIN_PA15C_SERCOM2_PAD3 << 16) | MUX_PA15C_SERCOM2_PAD3) +#define PORT_PA15C_SERCOM2_PAD3 (_UL_(1) << 15) +/* ========== PORT definition for SERCOM3 peripheral ========== */ +#define PIN_PA17D_SERCOM3_PAD0 _L_(17) /**< \brief SERCOM3 signal: PAD0 on PA17 mux D */ +#define MUX_PA17D_SERCOM3_PAD0 _L_(3) +#define PINMUX_PA17D_SERCOM3_PAD0 ((PIN_PA17D_SERCOM3_PAD0 << 16) | MUX_PA17D_SERCOM3_PAD0) +#define PORT_PA17D_SERCOM3_PAD0 (_UL_(1) << 17) +#define PIN_PC23D_SERCOM3_PAD0 _L_(87) /**< \brief SERCOM3 signal: PAD0 on PC23 mux D */ +#define MUX_PC23D_SERCOM3_PAD0 _L_(3) +#define PINMUX_PC23D_SERCOM3_PAD0 ((PIN_PC23D_SERCOM3_PAD0 << 16) | MUX_PC23D_SERCOM3_PAD0) +#define PORT_PC23D_SERCOM3_PAD0 (_UL_(1) << 23) +#define PIN_PA22C_SERCOM3_PAD0 _L_(22) /**< \brief SERCOM3 signal: PAD0 on PA22 mux C */ +#define MUX_PA22C_SERCOM3_PAD0 _L_(2) +#define PINMUX_PA22C_SERCOM3_PAD0 ((PIN_PA22C_SERCOM3_PAD0 << 16) | MUX_PA22C_SERCOM3_PAD0) +#define PORT_PA22C_SERCOM3_PAD0 (_UL_(1) << 22) +#define PIN_PB20C_SERCOM3_PAD0 _L_(52) /**< \brief SERCOM3 signal: PAD0 on PB20 mux C */ +#define MUX_PB20C_SERCOM3_PAD0 _L_(2) +#define PINMUX_PB20C_SERCOM3_PAD0 ((PIN_PB20C_SERCOM3_PAD0 << 16) | MUX_PB20C_SERCOM3_PAD0) +#define PORT_PB20C_SERCOM3_PAD0 (_UL_(1) << 20) +#define PIN_PA16D_SERCOM3_PAD1 _L_(16) /**< \brief SERCOM3 signal: PAD1 on PA16 mux D */ +#define MUX_PA16D_SERCOM3_PAD1 _L_(3) +#define PINMUX_PA16D_SERCOM3_PAD1 ((PIN_PA16D_SERCOM3_PAD1 << 16) | MUX_PA16D_SERCOM3_PAD1) +#define PORT_PA16D_SERCOM3_PAD1 (_UL_(1) << 16) +#define PIN_PC22D_SERCOM3_PAD1 _L_(86) /**< \brief SERCOM3 signal: PAD1 on PC22 mux D */ +#define MUX_PC22D_SERCOM3_PAD1 _L_(3) +#define PINMUX_PC22D_SERCOM3_PAD1 ((PIN_PC22D_SERCOM3_PAD1 << 16) | MUX_PC22D_SERCOM3_PAD1) +#define PORT_PC22D_SERCOM3_PAD1 (_UL_(1) << 22) +#define PIN_PA23C_SERCOM3_PAD1 _L_(23) /**< \brief SERCOM3 signal: PAD1 on PA23 mux C */ +#define MUX_PA23C_SERCOM3_PAD1 _L_(2) +#define PINMUX_PA23C_SERCOM3_PAD1 ((PIN_PA23C_SERCOM3_PAD1 << 16) | MUX_PA23C_SERCOM3_PAD1) +#define PORT_PA23C_SERCOM3_PAD1 (_UL_(1) << 23) +#define PIN_PB21C_SERCOM3_PAD1 _L_(53) /**< \brief SERCOM3 signal: PAD1 on PB21 mux C */ +#define MUX_PB21C_SERCOM3_PAD1 _L_(2) +#define PINMUX_PB21C_SERCOM3_PAD1 ((PIN_PB21C_SERCOM3_PAD1 << 16) | MUX_PB21C_SERCOM3_PAD1) +#define PORT_PB21C_SERCOM3_PAD1 (_UL_(1) << 21) +#define PIN_PA18D_SERCOM3_PAD2 _L_(18) /**< \brief SERCOM3 signal: PAD2 on PA18 mux D */ +#define MUX_PA18D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PA18D_SERCOM3_PAD2 ((PIN_PA18D_SERCOM3_PAD2 << 16) | MUX_PA18D_SERCOM3_PAD2) +#define PORT_PA18D_SERCOM3_PAD2 (_UL_(1) << 18) +#define PIN_PA20D_SERCOM3_PAD2 _L_(20) /**< \brief SERCOM3 signal: PAD2 on PA20 mux D */ +#define MUX_PA20D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PA20D_SERCOM3_PAD2 ((PIN_PA20D_SERCOM3_PAD2 << 16) | MUX_PA20D_SERCOM3_PAD2) +#define PORT_PA20D_SERCOM3_PAD2 (_UL_(1) << 20) +#define PIN_PD20D_SERCOM3_PAD2 _L_(116) /**< \brief SERCOM3 signal: PAD2 on PD20 mux D */ +#define MUX_PD20D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PD20D_SERCOM3_PAD2 ((PIN_PD20D_SERCOM3_PAD2 << 16) | MUX_PD20D_SERCOM3_PAD2) +#define PORT_PD20D_SERCOM3_PAD2 (_UL_(1) << 20) +#define PIN_PA24C_SERCOM3_PAD2 _L_(24) /**< \brief SERCOM3 signal: PAD2 on PA24 mux C */ +#define MUX_PA24C_SERCOM3_PAD2 _L_(2) +#define PINMUX_PA24C_SERCOM3_PAD2 ((PIN_PA24C_SERCOM3_PAD2 << 16) | MUX_PA24C_SERCOM3_PAD2) +#define PORT_PA24C_SERCOM3_PAD2 (_UL_(1) << 24) +#define PIN_PA19D_SERCOM3_PAD3 _L_(19) /**< \brief SERCOM3 signal: PAD3 on PA19 mux D */ +#define MUX_PA19D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PA19D_SERCOM3_PAD3 ((PIN_PA19D_SERCOM3_PAD3 << 16) | MUX_PA19D_SERCOM3_PAD3) +#define PORT_PA19D_SERCOM3_PAD3 (_UL_(1) << 19) +#define PIN_PA21D_SERCOM3_PAD3 _L_(21) /**< \brief SERCOM3 signal: PAD3 on PA21 mux D */ +#define MUX_PA21D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PA21D_SERCOM3_PAD3 ((PIN_PA21D_SERCOM3_PAD3 << 16) | MUX_PA21D_SERCOM3_PAD3) +#define PORT_PA21D_SERCOM3_PAD3 (_UL_(1) << 21) +#define PIN_PD21D_SERCOM3_PAD3 _L_(117) /**< \brief SERCOM3 signal: PAD3 on PD21 mux D */ +#define MUX_PD21D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PD21D_SERCOM3_PAD3 ((PIN_PD21D_SERCOM3_PAD3 << 16) | MUX_PD21D_SERCOM3_PAD3) +#define PORT_PD21D_SERCOM3_PAD3 (_UL_(1) << 21) +#define PIN_PA25C_SERCOM3_PAD3 _L_(25) /**< \brief SERCOM3 signal: PAD3 on PA25 mux C */ +#define MUX_PA25C_SERCOM3_PAD3 _L_(2) +#define PINMUX_PA25C_SERCOM3_PAD3 ((PIN_PA25C_SERCOM3_PAD3 << 16) | MUX_PA25C_SERCOM3_PAD3) +#define PORT_PA25C_SERCOM3_PAD3 (_UL_(1) << 25) +/* ========== PORT definition for TCC0 peripheral ========== */ +#define PIN_PA20G_TCC0_WO0 _L_(20) /**< \brief TCC0 signal: WO0 on PA20 mux G */ +#define MUX_PA20G_TCC0_WO0 _L_(6) +#define PINMUX_PA20G_TCC0_WO0 ((PIN_PA20G_TCC0_WO0 << 16) | MUX_PA20G_TCC0_WO0) +#define PORT_PA20G_TCC0_WO0 (_UL_(1) << 20) +#define PIN_PB12G_TCC0_WO0 _L_(44) /**< \brief TCC0 signal: WO0 on PB12 mux G */ +#define MUX_PB12G_TCC0_WO0 _L_(6) +#define PINMUX_PB12G_TCC0_WO0 ((PIN_PB12G_TCC0_WO0 << 16) | MUX_PB12G_TCC0_WO0) +#define PORT_PB12G_TCC0_WO0 (_UL_(1) << 12) +#define PIN_PA08F_TCC0_WO0 _L_(8) /**< \brief TCC0 signal: WO0 on PA08 mux F */ +#define MUX_PA08F_TCC0_WO0 _L_(5) +#define PINMUX_PA08F_TCC0_WO0 ((PIN_PA08F_TCC0_WO0 << 16) | MUX_PA08F_TCC0_WO0) +#define PORT_PA08F_TCC0_WO0 (_UL_(1) << 8) +#define PIN_PC04F_TCC0_WO0 _L_(68) /**< \brief TCC0 signal: WO0 on PC04 mux F */ +#define MUX_PC04F_TCC0_WO0 _L_(5) +#define PINMUX_PC04F_TCC0_WO0 ((PIN_PC04F_TCC0_WO0 << 16) | MUX_PC04F_TCC0_WO0) +#define PORT_PC04F_TCC0_WO0 (_UL_(1) << 4) +#define PIN_PC10F_TCC0_WO0 _L_(74) /**< \brief TCC0 signal: WO0 on PC10 mux F */ +#define MUX_PC10F_TCC0_WO0 _L_(5) +#define PINMUX_PC10F_TCC0_WO0 ((PIN_PC10F_TCC0_WO0 << 16) | MUX_PC10F_TCC0_WO0) +#define PORT_PC10F_TCC0_WO0 (_UL_(1) << 10) +#define PIN_PC16F_TCC0_WO0 _L_(80) /**< \brief TCC0 signal: WO0 on PC16 mux F */ +#define MUX_PC16F_TCC0_WO0 _L_(5) +#define PINMUX_PC16F_TCC0_WO0 ((PIN_PC16F_TCC0_WO0 << 16) | MUX_PC16F_TCC0_WO0) +#define PORT_PC16F_TCC0_WO0 (_UL_(1) << 16) +#define PIN_PA21G_TCC0_WO1 _L_(21) /**< \brief TCC0 signal: WO1 on PA21 mux G */ +#define MUX_PA21G_TCC0_WO1 _L_(6) +#define PINMUX_PA21G_TCC0_WO1 ((PIN_PA21G_TCC0_WO1 << 16) | MUX_PA21G_TCC0_WO1) +#define PORT_PA21G_TCC0_WO1 (_UL_(1) << 21) +#define PIN_PB13G_TCC0_WO1 _L_(45) /**< \brief TCC0 signal: WO1 on PB13 mux G */ +#define MUX_PB13G_TCC0_WO1 _L_(6) +#define PINMUX_PB13G_TCC0_WO1 ((PIN_PB13G_TCC0_WO1 << 16) | MUX_PB13G_TCC0_WO1) +#define PORT_PB13G_TCC0_WO1 (_UL_(1) << 13) +#define PIN_PA09F_TCC0_WO1 _L_(9) /**< \brief TCC0 signal: WO1 on PA09 mux F */ +#define MUX_PA09F_TCC0_WO1 _L_(5) +#define PINMUX_PA09F_TCC0_WO1 ((PIN_PA09F_TCC0_WO1 << 16) | MUX_PA09F_TCC0_WO1) +#define PORT_PA09F_TCC0_WO1 (_UL_(1) << 9) +#define PIN_PC11F_TCC0_WO1 _L_(75) /**< \brief TCC0 signal: WO1 on PC11 mux F */ +#define MUX_PC11F_TCC0_WO1 _L_(5) +#define PINMUX_PC11F_TCC0_WO1 ((PIN_PC11F_TCC0_WO1 << 16) | MUX_PC11F_TCC0_WO1) +#define PORT_PC11F_TCC0_WO1 (_UL_(1) << 11) +#define PIN_PC17F_TCC0_WO1 _L_(81) /**< \brief TCC0 signal: WO1 on PC17 mux F */ +#define MUX_PC17F_TCC0_WO1 _L_(5) +#define PINMUX_PC17F_TCC0_WO1 ((PIN_PC17F_TCC0_WO1 << 16) | MUX_PC17F_TCC0_WO1) +#define PORT_PC17F_TCC0_WO1 (_UL_(1) << 17) +#define PIN_PD08F_TCC0_WO1 _L_(104) /**< \brief TCC0 signal: WO1 on PD08 mux F */ +#define MUX_PD08F_TCC0_WO1 _L_(5) +#define PINMUX_PD08F_TCC0_WO1 ((PIN_PD08F_TCC0_WO1 << 16) | MUX_PD08F_TCC0_WO1) +#define PORT_PD08F_TCC0_WO1 (_UL_(1) << 8) +#define PIN_PA22G_TCC0_WO2 _L_(22) /**< \brief TCC0 signal: WO2 on PA22 mux G */ +#define MUX_PA22G_TCC0_WO2 _L_(6) +#define PINMUX_PA22G_TCC0_WO2 ((PIN_PA22G_TCC0_WO2 << 16) | MUX_PA22G_TCC0_WO2) +#define PORT_PA22G_TCC0_WO2 (_UL_(1) << 22) +#define PIN_PB14G_TCC0_WO2 _L_(46) /**< \brief TCC0 signal: WO2 on PB14 mux G */ +#define MUX_PB14G_TCC0_WO2 _L_(6) +#define PINMUX_PB14G_TCC0_WO2 ((PIN_PB14G_TCC0_WO2 << 16) | MUX_PB14G_TCC0_WO2) +#define PORT_PB14G_TCC0_WO2 (_UL_(1) << 14) +#define PIN_PA10F_TCC0_WO2 _L_(10) /**< \brief TCC0 signal: WO2 on PA10 mux F */ +#define MUX_PA10F_TCC0_WO2 _L_(5) +#define PINMUX_PA10F_TCC0_WO2 ((PIN_PA10F_TCC0_WO2 << 16) | MUX_PA10F_TCC0_WO2) +#define PORT_PA10F_TCC0_WO2 (_UL_(1) << 10) +#define PIN_PC12F_TCC0_WO2 _L_(76) /**< \brief TCC0 signal: WO2 on PC12 mux F */ +#define MUX_PC12F_TCC0_WO2 _L_(5) +#define PINMUX_PC12F_TCC0_WO2 ((PIN_PC12F_TCC0_WO2 << 16) | MUX_PC12F_TCC0_WO2) +#define PORT_PC12F_TCC0_WO2 (_UL_(1) << 12) +#define PIN_PC18F_TCC0_WO2 _L_(82) /**< \brief TCC0 signal: WO2 on PC18 mux F */ +#define MUX_PC18F_TCC0_WO2 _L_(5) +#define PINMUX_PC18F_TCC0_WO2 ((PIN_PC18F_TCC0_WO2 << 16) | MUX_PC18F_TCC0_WO2) +#define PORT_PC18F_TCC0_WO2 (_UL_(1) << 18) +#define PIN_PD09F_TCC0_WO2 _L_(105) /**< \brief TCC0 signal: WO2 on PD09 mux F */ +#define MUX_PD09F_TCC0_WO2 _L_(5) +#define PINMUX_PD09F_TCC0_WO2 ((PIN_PD09F_TCC0_WO2 << 16) | MUX_PD09F_TCC0_WO2) +#define PORT_PD09F_TCC0_WO2 (_UL_(1) << 9) +#define PIN_PA23G_TCC0_WO3 _L_(23) /**< \brief TCC0 signal: WO3 on PA23 mux G */ +#define MUX_PA23G_TCC0_WO3 _L_(6) +#define PINMUX_PA23G_TCC0_WO3 ((PIN_PA23G_TCC0_WO3 << 16) | MUX_PA23G_TCC0_WO3) +#define PORT_PA23G_TCC0_WO3 (_UL_(1) << 23) +#define PIN_PB15G_TCC0_WO3 _L_(47) /**< \brief TCC0 signal: WO3 on PB15 mux G */ +#define MUX_PB15G_TCC0_WO3 _L_(6) +#define PINMUX_PB15G_TCC0_WO3 ((PIN_PB15G_TCC0_WO3 << 16) | MUX_PB15G_TCC0_WO3) +#define PORT_PB15G_TCC0_WO3 (_UL_(1) << 15) +#define PIN_PA11F_TCC0_WO3 _L_(11) /**< \brief TCC0 signal: WO3 on PA11 mux F */ +#define MUX_PA11F_TCC0_WO3 _L_(5) +#define PINMUX_PA11F_TCC0_WO3 ((PIN_PA11F_TCC0_WO3 << 16) | MUX_PA11F_TCC0_WO3) +#define PORT_PA11F_TCC0_WO3 (_UL_(1) << 11) +#define PIN_PC13F_TCC0_WO3 _L_(77) /**< \brief TCC0 signal: WO3 on PC13 mux F */ +#define MUX_PC13F_TCC0_WO3 _L_(5) +#define PINMUX_PC13F_TCC0_WO3 ((PIN_PC13F_TCC0_WO3 << 16) | MUX_PC13F_TCC0_WO3) +#define PORT_PC13F_TCC0_WO3 (_UL_(1) << 13) +#define PIN_PC19F_TCC0_WO3 _L_(83) /**< \brief TCC0 signal: WO3 on PC19 mux F */ +#define MUX_PC19F_TCC0_WO3 _L_(5) +#define PINMUX_PC19F_TCC0_WO3 ((PIN_PC19F_TCC0_WO3 << 16) | MUX_PC19F_TCC0_WO3) +#define PORT_PC19F_TCC0_WO3 (_UL_(1) << 19) +#define PIN_PD10F_TCC0_WO3 _L_(106) /**< \brief TCC0 signal: WO3 on PD10 mux F */ +#define MUX_PD10F_TCC0_WO3 _L_(5) +#define PINMUX_PD10F_TCC0_WO3 ((PIN_PD10F_TCC0_WO3 << 16) | MUX_PD10F_TCC0_WO3) +#define PORT_PD10F_TCC0_WO3 (_UL_(1) << 10) +#define PIN_PA16G_TCC0_WO4 _L_(16) /**< \brief TCC0 signal: WO4 on PA16 mux G */ +#define MUX_PA16G_TCC0_WO4 _L_(6) +#define PINMUX_PA16G_TCC0_WO4 ((PIN_PA16G_TCC0_WO4 << 16) | MUX_PA16G_TCC0_WO4) +#define PORT_PA16G_TCC0_WO4 (_UL_(1) << 16) +#define PIN_PB16G_TCC0_WO4 _L_(48) /**< \brief TCC0 signal: WO4 on PB16 mux G */ +#define MUX_PB16G_TCC0_WO4 _L_(6) +#define PINMUX_PB16G_TCC0_WO4 ((PIN_PB16G_TCC0_WO4 << 16) | MUX_PB16G_TCC0_WO4) +#define PORT_PB16G_TCC0_WO4 (_UL_(1) << 16) +#define PIN_PB10F_TCC0_WO4 _L_(42) /**< \brief TCC0 signal: WO4 on PB10 mux F */ +#define MUX_PB10F_TCC0_WO4 _L_(5) +#define PINMUX_PB10F_TCC0_WO4 ((PIN_PB10F_TCC0_WO4 << 16) | MUX_PB10F_TCC0_WO4) +#define PORT_PB10F_TCC0_WO4 (_UL_(1) << 10) +#define PIN_PC14F_TCC0_WO4 _L_(78) /**< \brief TCC0 signal: WO4 on PC14 mux F */ +#define MUX_PC14F_TCC0_WO4 _L_(5) +#define PINMUX_PC14F_TCC0_WO4 ((PIN_PC14F_TCC0_WO4 << 16) | MUX_PC14F_TCC0_WO4) +#define PORT_PC14F_TCC0_WO4 (_UL_(1) << 14) +#define PIN_PC20F_TCC0_WO4 _L_(84) /**< \brief TCC0 signal: WO4 on PC20 mux F */ +#define MUX_PC20F_TCC0_WO4 _L_(5) +#define PINMUX_PC20F_TCC0_WO4 ((PIN_PC20F_TCC0_WO4 << 16) | MUX_PC20F_TCC0_WO4) +#define PORT_PC20F_TCC0_WO4 (_UL_(1) << 20) +#define PIN_PD11F_TCC0_WO4 _L_(107) /**< \brief TCC0 signal: WO4 on PD11 mux F */ +#define MUX_PD11F_TCC0_WO4 _L_(5) +#define PINMUX_PD11F_TCC0_WO4 ((PIN_PD11F_TCC0_WO4 << 16) | MUX_PD11F_TCC0_WO4) +#define PORT_PD11F_TCC0_WO4 (_UL_(1) << 11) +#define PIN_PA17G_TCC0_WO5 _L_(17) /**< \brief TCC0 signal: WO5 on PA17 mux G */ +#define MUX_PA17G_TCC0_WO5 _L_(6) +#define PINMUX_PA17G_TCC0_WO5 ((PIN_PA17G_TCC0_WO5 << 16) | MUX_PA17G_TCC0_WO5) +#define PORT_PA17G_TCC0_WO5 (_UL_(1) << 17) +#define PIN_PB17G_TCC0_WO5 _L_(49) /**< \brief TCC0 signal: WO5 on PB17 mux G */ +#define MUX_PB17G_TCC0_WO5 _L_(6) +#define PINMUX_PB17G_TCC0_WO5 ((PIN_PB17G_TCC0_WO5 << 16) | MUX_PB17G_TCC0_WO5) +#define PORT_PB17G_TCC0_WO5 (_UL_(1) << 17) +#define PIN_PB11F_TCC0_WO5 _L_(43) /**< \brief TCC0 signal: WO5 on PB11 mux F */ +#define MUX_PB11F_TCC0_WO5 _L_(5) +#define PINMUX_PB11F_TCC0_WO5 ((PIN_PB11F_TCC0_WO5 << 16) | MUX_PB11F_TCC0_WO5) +#define PORT_PB11F_TCC0_WO5 (_UL_(1) << 11) +#define PIN_PC15F_TCC0_WO5 _L_(79) /**< \brief TCC0 signal: WO5 on PC15 mux F */ +#define MUX_PC15F_TCC0_WO5 _L_(5) +#define PINMUX_PC15F_TCC0_WO5 ((PIN_PC15F_TCC0_WO5 << 16) | MUX_PC15F_TCC0_WO5) +#define PORT_PC15F_TCC0_WO5 (_UL_(1) << 15) +#define PIN_PC21F_TCC0_WO5 _L_(85) /**< \brief TCC0 signal: WO5 on PC21 mux F */ +#define MUX_PC21F_TCC0_WO5 _L_(5) +#define PINMUX_PC21F_TCC0_WO5 ((PIN_PC21F_TCC0_WO5 << 16) | MUX_PC21F_TCC0_WO5) +#define PORT_PC21F_TCC0_WO5 (_UL_(1) << 21) +#define PIN_PD12F_TCC0_WO5 _L_(108) /**< \brief TCC0 signal: WO5 on PD12 mux F */ +#define MUX_PD12F_TCC0_WO5 _L_(5) +#define PINMUX_PD12F_TCC0_WO5 ((PIN_PD12F_TCC0_WO5 << 16) | MUX_PD12F_TCC0_WO5) +#define PORT_PD12F_TCC0_WO5 (_UL_(1) << 12) +#define PIN_PA18G_TCC0_WO6 _L_(18) /**< \brief TCC0 signal: WO6 on PA18 mux G */ +#define MUX_PA18G_TCC0_WO6 _L_(6) +#define PINMUX_PA18G_TCC0_WO6 ((PIN_PA18G_TCC0_WO6 << 16) | MUX_PA18G_TCC0_WO6) +#define PORT_PA18G_TCC0_WO6 (_UL_(1) << 18) +#define PIN_PB30G_TCC0_WO6 _L_(62) /**< \brief TCC0 signal: WO6 on PB30 mux G */ +#define MUX_PB30G_TCC0_WO6 _L_(6) +#define PINMUX_PB30G_TCC0_WO6 ((PIN_PB30G_TCC0_WO6 << 16) | MUX_PB30G_TCC0_WO6) +#define PORT_PB30G_TCC0_WO6 (_UL_(1) << 30) +#define PIN_PA12F_TCC0_WO6 _L_(12) /**< \brief TCC0 signal: WO6 on PA12 mux F */ +#define MUX_PA12F_TCC0_WO6 _L_(5) +#define PINMUX_PA12F_TCC0_WO6 ((PIN_PA12F_TCC0_WO6 << 16) | MUX_PA12F_TCC0_WO6) +#define PORT_PA12F_TCC0_WO6 (_UL_(1) << 12) +#define PIN_PC22F_TCC0_WO6 _L_(86) /**< \brief TCC0 signal: WO6 on PC22 mux F */ +#define MUX_PC22F_TCC0_WO6 _L_(5) +#define PINMUX_PC22F_TCC0_WO6 ((PIN_PC22F_TCC0_WO6 << 16) | MUX_PC22F_TCC0_WO6) +#define PORT_PC22F_TCC0_WO6 (_UL_(1) << 22) +#define PIN_PA19G_TCC0_WO7 _L_(19) /**< \brief TCC0 signal: WO7 on PA19 mux G */ +#define MUX_PA19G_TCC0_WO7 _L_(6) +#define PINMUX_PA19G_TCC0_WO7 ((PIN_PA19G_TCC0_WO7 << 16) | MUX_PA19G_TCC0_WO7) +#define PORT_PA19G_TCC0_WO7 (_UL_(1) << 19) +#define PIN_PB31G_TCC0_WO7 _L_(63) /**< \brief TCC0 signal: WO7 on PB31 mux G */ +#define MUX_PB31G_TCC0_WO7 _L_(6) +#define PINMUX_PB31G_TCC0_WO7 ((PIN_PB31G_TCC0_WO7 << 16) | MUX_PB31G_TCC0_WO7) +#define PORT_PB31G_TCC0_WO7 (_UL_(1) << 31) +#define PIN_PA13F_TCC0_WO7 _L_(13) /**< \brief TCC0 signal: WO7 on PA13 mux F */ +#define MUX_PA13F_TCC0_WO7 _L_(5) +#define PINMUX_PA13F_TCC0_WO7 ((PIN_PA13F_TCC0_WO7 << 16) | MUX_PA13F_TCC0_WO7) +#define PORT_PA13F_TCC0_WO7 (_UL_(1) << 13) +#define PIN_PC23F_TCC0_WO7 _L_(87) /**< \brief TCC0 signal: WO7 on PC23 mux F */ +#define MUX_PC23F_TCC0_WO7 _L_(5) +#define PINMUX_PC23F_TCC0_WO7 ((PIN_PC23F_TCC0_WO7 << 16) | MUX_PC23F_TCC0_WO7) +#define PORT_PC23F_TCC0_WO7 (_UL_(1) << 23) +/* ========== PORT definition for TCC1 peripheral ========== */ +#define PIN_PB10G_TCC1_WO0 _L_(42) /**< \brief TCC1 signal: WO0 on PB10 mux G */ +#define MUX_PB10G_TCC1_WO0 _L_(6) +#define PINMUX_PB10G_TCC1_WO0 ((PIN_PB10G_TCC1_WO0 << 16) | MUX_PB10G_TCC1_WO0) +#define PORT_PB10G_TCC1_WO0 (_UL_(1) << 10) +#define PIN_PC14G_TCC1_WO0 _L_(78) /**< \brief TCC1 signal: WO0 on PC14 mux G */ +#define MUX_PC14G_TCC1_WO0 _L_(6) +#define PINMUX_PC14G_TCC1_WO0 ((PIN_PC14G_TCC1_WO0 << 16) | MUX_PC14G_TCC1_WO0) +#define PORT_PC14G_TCC1_WO0 (_UL_(1) << 14) +#define PIN_PA16F_TCC1_WO0 _L_(16) /**< \brief TCC1 signal: WO0 on PA16 mux F */ +#define MUX_PA16F_TCC1_WO0 _L_(5) +#define PINMUX_PA16F_TCC1_WO0 ((PIN_PA16F_TCC1_WO0 << 16) | MUX_PA16F_TCC1_WO0) +#define PORT_PA16F_TCC1_WO0 (_UL_(1) << 16) +#define PIN_PB18F_TCC1_WO0 _L_(50) /**< \brief TCC1 signal: WO0 on PB18 mux F */ +#define MUX_PB18F_TCC1_WO0 _L_(5) +#define PINMUX_PB18F_TCC1_WO0 ((PIN_PB18F_TCC1_WO0 << 16) | MUX_PB18F_TCC1_WO0) +#define PORT_PB18F_TCC1_WO0 (_UL_(1) << 18) +#define PIN_PD20F_TCC1_WO0 _L_(116) /**< \brief TCC1 signal: WO0 on PD20 mux F */ +#define MUX_PD20F_TCC1_WO0 _L_(5) +#define PINMUX_PD20F_TCC1_WO0 ((PIN_PD20F_TCC1_WO0 << 16) | MUX_PD20F_TCC1_WO0) +#define PORT_PD20F_TCC1_WO0 (_UL_(1) << 20) +#define PIN_PB11G_TCC1_WO1 _L_(43) /**< \brief TCC1 signal: WO1 on PB11 mux G */ +#define MUX_PB11G_TCC1_WO1 _L_(6) +#define PINMUX_PB11G_TCC1_WO1 ((PIN_PB11G_TCC1_WO1 << 16) | MUX_PB11G_TCC1_WO1) +#define PORT_PB11G_TCC1_WO1 (_UL_(1) << 11) +#define PIN_PC15G_TCC1_WO1 _L_(79) /**< \brief TCC1 signal: WO1 on PC15 mux G */ +#define MUX_PC15G_TCC1_WO1 _L_(6) +#define PINMUX_PC15G_TCC1_WO1 ((PIN_PC15G_TCC1_WO1 << 16) | MUX_PC15G_TCC1_WO1) +#define PORT_PC15G_TCC1_WO1 (_UL_(1) << 15) +#define PIN_PA17F_TCC1_WO1 _L_(17) /**< \brief TCC1 signal: WO1 on PA17 mux F */ +#define MUX_PA17F_TCC1_WO1 _L_(5) +#define PINMUX_PA17F_TCC1_WO1 ((PIN_PA17F_TCC1_WO1 << 16) | MUX_PA17F_TCC1_WO1) +#define PORT_PA17F_TCC1_WO1 (_UL_(1) << 17) +#define PIN_PB19F_TCC1_WO1 _L_(51) /**< \brief TCC1 signal: WO1 on PB19 mux F */ +#define MUX_PB19F_TCC1_WO1 _L_(5) +#define PINMUX_PB19F_TCC1_WO1 ((PIN_PB19F_TCC1_WO1 << 16) | MUX_PB19F_TCC1_WO1) +#define PORT_PB19F_TCC1_WO1 (_UL_(1) << 19) +#define PIN_PD21F_TCC1_WO1 _L_(117) /**< \brief TCC1 signal: WO1 on PD21 mux F */ +#define MUX_PD21F_TCC1_WO1 _L_(5) +#define PINMUX_PD21F_TCC1_WO1 ((PIN_PD21F_TCC1_WO1 << 16) | MUX_PD21F_TCC1_WO1) +#define PORT_PD21F_TCC1_WO1 (_UL_(1) << 21) +#define PIN_PA12G_TCC1_WO2 _L_(12) /**< \brief TCC1 signal: WO2 on PA12 mux G */ +#define MUX_PA12G_TCC1_WO2 _L_(6) +#define PINMUX_PA12G_TCC1_WO2 ((PIN_PA12G_TCC1_WO2 << 16) | MUX_PA12G_TCC1_WO2) +#define PORT_PA12G_TCC1_WO2 (_UL_(1) << 12) +#define PIN_PA14G_TCC1_WO2 _L_(14) /**< \brief TCC1 signal: WO2 on PA14 mux G */ +#define MUX_PA14G_TCC1_WO2 _L_(6) +#define PINMUX_PA14G_TCC1_WO2 ((PIN_PA14G_TCC1_WO2 << 16) | MUX_PA14G_TCC1_WO2) +#define PORT_PA14G_TCC1_WO2 (_UL_(1) << 14) +#define PIN_PA18F_TCC1_WO2 _L_(18) /**< \brief TCC1 signal: WO2 on PA18 mux F */ +#define MUX_PA18F_TCC1_WO2 _L_(5) +#define PINMUX_PA18F_TCC1_WO2 ((PIN_PA18F_TCC1_WO2 << 16) | MUX_PA18F_TCC1_WO2) +#define PORT_PA18F_TCC1_WO2 (_UL_(1) << 18) +#define PIN_PB20F_TCC1_WO2 _L_(52) /**< \brief TCC1 signal: WO2 on PB20 mux F */ +#define MUX_PB20F_TCC1_WO2 _L_(5) +#define PINMUX_PB20F_TCC1_WO2 ((PIN_PB20F_TCC1_WO2 << 16) | MUX_PB20F_TCC1_WO2) +#define PORT_PB20F_TCC1_WO2 (_UL_(1) << 20) +#define PIN_PB26F_TCC1_WO2 _L_(58) /**< \brief TCC1 signal: WO2 on PB26 mux F */ +#define MUX_PB26F_TCC1_WO2 _L_(5) +#define PINMUX_PB26F_TCC1_WO2 ((PIN_PB26F_TCC1_WO2 << 16) | MUX_PB26F_TCC1_WO2) +#define PORT_PB26F_TCC1_WO2 (_UL_(1) << 26) +#define PIN_PA13G_TCC1_WO3 _L_(13) /**< \brief TCC1 signal: WO3 on PA13 mux G */ +#define MUX_PA13G_TCC1_WO3 _L_(6) +#define PINMUX_PA13G_TCC1_WO3 ((PIN_PA13G_TCC1_WO3 << 16) | MUX_PA13G_TCC1_WO3) +#define PORT_PA13G_TCC1_WO3 (_UL_(1) << 13) +#define PIN_PA15G_TCC1_WO3 _L_(15) /**< \brief TCC1 signal: WO3 on PA15 mux G */ +#define MUX_PA15G_TCC1_WO3 _L_(6) +#define PINMUX_PA15G_TCC1_WO3 ((PIN_PA15G_TCC1_WO3 << 16) | MUX_PA15G_TCC1_WO3) +#define PORT_PA15G_TCC1_WO3 (_UL_(1) << 15) +#define PIN_PA19F_TCC1_WO3 _L_(19) /**< \brief TCC1 signal: WO3 on PA19 mux F */ +#define MUX_PA19F_TCC1_WO3 _L_(5) +#define PINMUX_PA19F_TCC1_WO3 ((PIN_PA19F_TCC1_WO3 << 16) | MUX_PA19F_TCC1_WO3) +#define PORT_PA19F_TCC1_WO3 (_UL_(1) << 19) +#define PIN_PB21F_TCC1_WO3 _L_(53) /**< \brief TCC1 signal: WO3 on PB21 mux F */ +#define MUX_PB21F_TCC1_WO3 _L_(5) +#define PINMUX_PB21F_TCC1_WO3 ((PIN_PB21F_TCC1_WO3 << 16) | MUX_PB21F_TCC1_WO3) +#define PORT_PB21F_TCC1_WO3 (_UL_(1) << 21) +#define PIN_PB27F_TCC1_WO3 _L_(59) /**< \brief TCC1 signal: WO3 on PB27 mux F */ +#define MUX_PB27F_TCC1_WO3 _L_(5) +#define PINMUX_PB27F_TCC1_WO3 ((PIN_PB27F_TCC1_WO3 << 16) | MUX_PB27F_TCC1_WO3) +#define PORT_PB27F_TCC1_WO3 (_UL_(1) << 27) +#define PIN_PA08G_TCC1_WO4 _L_(8) /**< \brief TCC1 signal: WO4 on PA08 mux G */ +#define MUX_PA08G_TCC1_WO4 _L_(6) +#define PINMUX_PA08G_TCC1_WO4 ((PIN_PA08G_TCC1_WO4 << 16) | MUX_PA08G_TCC1_WO4) +#define PORT_PA08G_TCC1_WO4 (_UL_(1) << 8) +#define PIN_PC10G_TCC1_WO4 _L_(74) /**< \brief TCC1 signal: WO4 on PC10 mux G */ +#define MUX_PC10G_TCC1_WO4 _L_(6) +#define PINMUX_PC10G_TCC1_WO4 ((PIN_PC10G_TCC1_WO4 << 16) | MUX_PC10G_TCC1_WO4) +#define PORT_PC10G_TCC1_WO4 (_UL_(1) << 10) +#define PIN_PA20F_TCC1_WO4 _L_(20) /**< \brief TCC1 signal: WO4 on PA20 mux F */ +#define MUX_PA20F_TCC1_WO4 _L_(5) +#define PINMUX_PA20F_TCC1_WO4 ((PIN_PA20F_TCC1_WO4 << 16) | MUX_PA20F_TCC1_WO4) +#define PORT_PA20F_TCC1_WO4 (_UL_(1) << 20) +#define PIN_PB28F_TCC1_WO4 _L_(60) /**< \brief TCC1 signal: WO4 on PB28 mux F */ +#define MUX_PB28F_TCC1_WO4 _L_(5) +#define PINMUX_PB28F_TCC1_WO4 ((PIN_PB28F_TCC1_WO4 << 16) | MUX_PB28F_TCC1_WO4) +#define PORT_PB28F_TCC1_WO4 (_UL_(1) << 28) +#define PIN_PA09G_TCC1_WO5 _L_(9) /**< \brief TCC1 signal: WO5 on PA09 mux G */ +#define MUX_PA09G_TCC1_WO5 _L_(6) +#define PINMUX_PA09G_TCC1_WO5 ((PIN_PA09G_TCC1_WO5 << 16) | MUX_PA09G_TCC1_WO5) +#define PORT_PA09G_TCC1_WO5 (_UL_(1) << 9) +#define PIN_PC11G_TCC1_WO5 _L_(75) /**< \brief TCC1 signal: WO5 on PC11 mux G */ +#define MUX_PC11G_TCC1_WO5 _L_(6) +#define PINMUX_PC11G_TCC1_WO5 ((PIN_PC11G_TCC1_WO5 << 16) | MUX_PC11G_TCC1_WO5) +#define PORT_PC11G_TCC1_WO5 (_UL_(1) << 11) +#define PIN_PA21F_TCC1_WO5 _L_(21) /**< \brief TCC1 signal: WO5 on PA21 mux F */ +#define MUX_PA21F_TCC1_WO5 _L_(5) +#define PINMUX_PA21F_TCC1_WO5 ((PIN_PA21F_TCC1_WO5 << 16) | MUX_PA21F_TCC1_WO5) +#define PORT_PA21F_TCC1_WO5 (_UL_(1) << 21) +#define PIN_PB29F_TCC1_WO5 _L_(61) /**< \brief TCC1 signal: WO5 on PB29 mux F */ +#define MUX_PB29F_TCC1_WO5 _L_(5) +#define PINMUX_PB29F_TCC1_WO5 ((PIN_PB29F_TCC1_WO5 << 16) | MUX_PB29F_TCC1_WO5) +#define PORT_PB29F_TCC1_WO5 (_UL_(1) << 29) +#define PIN_PA10G_TCC1_WO6 _L_(10) /**< \brief TCC1 signal: WO6 on PA10 mux G */ +#define MUX_PA10G_TCC1_WO6 _L_(6) +#define PINMUX_PA10G_TCC1_WO6 ((PIN_PA10G_TCC1_WO6 << 16) | MUX_PA10G_TCC1_WO6) +#define PORT_PA10G_TCC1_WO6 (_UL_(1) << 10) +#define PIN_PC12G_TCC1_WO6 _L_(76) /**< \brief TCC1 signal: WO6 on PC12 mux G */ +#define MUX_PC12G_TCC1_WO6 _L_(6) +#define PINMUX_PC12G_TCC1_WO6 ((PIN_PC12G_TCC1_WO6 << 16) | MUX_PC12G_TCC1_WO6) +#define PORT_PC12G_TCC1_WO6 (_UL_(1) << 12) +#define PIN_PA22F_TCC1_WO6 _L_(22) /**< \brief TCC1 signal: WO6 on PA22 mux F */ +#define MUX_PA22F_TCC1_WO6 _L_(5) +#define PINMUX_PA22F_TCC1_WO6 ((PIN_PA22F_TCC1_WO6 << 16) | MUX_PA22F_TCC1_WO6) +#define PORT_PA22F_TCC1_WO6 (_UL_(1) << 22) +#define PIN_PA11G_TCC1_WO7 _L_(11) /**< \brief TCC1 signal: WO7 on PA11 mux G */ +#define MUX_PA11G_TCC1_WO7 _L_(6) +#define PINMUX_PA11G_TCC1_WO7 ((PIN_PA11G_TCC1_WO7 << 16) | MUX_PA11G_TCC1_WO7) +#define PORT_PA11G_TCC1_WO7 (_UL_(1) << 11) +#define PIN_PC13G_TCC1_WO7 _L_(77) /**< \brief TCC1 signal: WO7 on PC13 mux G */ +#define MUX_PC13G_TCC1_WO7 _L_(6) +#define PINMUX_PC13G_TCC1_WO7 ((PIN_PC13G_TCC1_WO7 << 16) | MUX_PC13G_TCC1_WO7) +#define PORT_PC13G_TCC1_WO7 (_UL_(1) << 13) +#define PIN_PA23F_TCC1_WO7 _L_(23) /**< \brief TCC1 signal: WO7 on PA23 mux F */ +#define MUX_PA23F_TCC1_WO7 _L_(5) +#define PINMUX_PA23F_TCC1_WO7 ((PIN_PA23F_TCC1_WO7 << 16) | MUX_PA23F_TCC1_WO7) +#define PORT_PA23F_TCC1_WO7 (_UL_(1) << 23) +/* ========== PORT definition for TC2 peripheral ========== */ +#define PIN_PA12E_TC2_WO0 _L_(12) /**< \brief TC2 signal: WO0 on PA12 mux E */ +#define MUX_PA12E_TC2_WO0 _L_(4) +#define PINMUX_PA12E_TC2_WO0 ((PIN_PA12E_TC2_WO0 << 16) | MUX_PA12E_TC2_WO0) +#define PORT_PA12E_TC2_WO0 (_UL_(1) << 12) +#define PIN_PA16E_TC2_WO0 _L_(16) /**< \brief TC2 signal: WO0 on PA16 mux E */ +#define MUX_PA16E_TC2_WO0 _L_(4) +#define PINMUX_PA16E_TC2_WO0 ((PIN_PA16E_TC2_WO0 << 16) | MUX_PA16E_TC2_WO0) +#define PORT_PA16E_TC2_WO0 (_UL_(1) << 16) +#define PIN_PA00E_TC2_WO0 _L_(0) /**< \brief TC2 signal: WO0 on PA00 mux E */ +#define MUX_PA00E_TC2_WO0 _L_(4) +#define PINMUX_PA00E_TC2_WO0 ((PIN_PA00E_TC2_WO0 << 16) | MUX_PA00E_TC2_WO0) +#define PORT_PA00E_TC2_WO0 (_UL_(1) << 0) +#define PIN_PA01E_TC2_WO1 _L_(1) /**< \brief TC2 signal: WO1 on PA01 mux E */ +#define MUX_PA01E_TC2_WO1 _L_(4) +#define PINMUX_PA01E_TC2_WO1 ((PIN_PA01E_TC2_WO1 << 16) | MUX_PA01E_TC2_WO1) +#define PORT_PA01E_TC2_WO1 (_UL_(1) << 1) +#define PIN_PA13E_TC2_WO1 _L_(13) /**< \brief TC2 signal: WO1 on PA13 mux E */ +#define MUX_PA13E_TC2_WO1 _L_(4) +#define PINMUX_PA13E_TC2_WO1 ((PIN_PA13E_TC2_WO1 << 16) | MUX_PA13E_TC2_WO1) +#define PORT_PA13E_TC2_WO1 (_UL_(1) << 13) +#define PIN_PA17E_TC2_WO1 _L_(17) /**< \brief TC2 signal: WO1 on PA17 mux E */ +#define MUX_PA17E_TC2_WO1 _L_(4) +#define PINMUX_PA17E_TC2_WO1 ((PIN_PA17E_TC2_WO1 << 16) | MUX_PA17E_TC2_WO1) +#define PORT_PA17E_TC2_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC3 peripheral ========== */ +#define PIN_PA18E_TC3_WO0 _L_(18) /**< \brief TC3 signal: WO0 on PA18 mux E */ +#define MUX_PA18E_TC3_WO0 _L_(4) +#define PINMUX_PA18E_TC3_WO0 ((PIN_PA18E_TC3_WO0 << 16) | MUX_PA18E_TC3_WO0) +#define PORT_PA18E_TC3_WO0 (_UL_(1) << 18) +#define PIN_PA14E_TC3_WO0 _L_(14) /**< \brief TC3 signal: WO0 on PA14 mux E */ +#define MUX_PA14E_TC3_WO0 _L_(4) +#define PINMUX_PA14E_TC3_WO0 ((PIN_PA14E_TC3_WO0 << 16) | MUX_PA14E_TC3_WO0) +#define PORT_PA14E_TC3_WO0 (_UL_(1) << 14) +#define PIN_PA15E_TC3_WO1 _L_(15) /**< \brief TC3 signal: WO1 on PA15 mux E */ +#define MUX_PA15E_TC3_WO1 _L_(4) +#define PINMUX_PA15E_TC3_WO1 ((PIN_PA15E_TC3_WO1 << 16) | MUX_PA15E_TC3_WO1) +#define PORT_PA15E_TC3_WO1 (_UL_(1) << 15) +#define PIN_PA19E_TC3_WO1 _L_(19) /**< \brief TC3 signal: WO1 on PA19 mux E */ +#define MUX_PA19E_TC3_WO1 _L_(4) +#define PINMUX_PA19E_TC3_WO1 ((PIN_PA19E_TC3_WO1 << 16) | MUX_PA19E_TC3_WO1) +#define PORT_PA19E_TC3_WO1 (_UL_(1) << 19) +/* ========== PORT definition for TAL peripheral ========== */ +#define PIN_PA27H_TAL_BRK _L_(27) /**< \brief TAL signal: BRK on PA27 mux H */ +#define MUX_PA27H_TAL_BRK _L_(7) +#define PINMUX_PA27H_TAL_BRK ((PIN_PA27H_TAL_BRK << 16) | MUX_PA27H_TAL_BRK) +#define PORT_PA27H_TAL_BRK (_UL_(1) << 27) +#define PIN_PB31H_TAL_BRK _L_(63) /**< \brief TAL signal: BRK on PB31 mux H */ +#define MUX_PB31H_TAL_BRK _L_(7) +#define PINMUX_PB31H_TAL_BRK ((PIN_PB31H_TAL_BRK << 16) | MUX_PB31H_TAL_BRK) +#define PORT_PB31H_TAL_BRK (_UL_(1) << 31) +/* ========== PORT definition for CAN0 peripheral ========== */ +#define PIN_PA23I_CAN0_RX _L_(23) /**< \brief CAN0 signal: RX on PA23 mux I */ +#define MUX_PA23I_CAN0_RX _L_(8) +#define PINMUX_PA23I_CAN0_RX ((PIN_PA23I_CAN0_RX << 16) | MUX_PA23I_CAN0_RX) +#define PORT_PA23I_CAN0_RX (_UL_(1) << 23) +#define PIN_PA25I_CAN0_RX _L_(25) /**< \brief CAN0 signal: RX on PA25 mux I */ +#define MUX_PA25I_CAN0_RX _L_(8) +#define PINMUX_PA25I_CAN0_RX ((PIN_PA25I_CAN0_RX << 16) | MUX_PA25I_CAN0_RX) +#define PORT_PA25I_CAN0_RX (_UL_(1) << 25) +#define PIN_PA22I_CAN0_TX _L_(22) /**< \brief CAN0 signal: TX on PA22 mux I */ +#define MUX_PA22I_CAN0_TX _L_(8) +#define PINMUX_PA22I_CAN0_TX ((PIN_PA22I_CAN0_TX << 16) | MUX_PA22I_CAN0_TX) +#define PORT_PA22I_CAN0_TX (_UL_(1) << 22) +#define PIN_PA24I_CAN0_TX _L_(24) /**< \brief CAN0 signal: TX on PA24 mux I */ +#define MUX_PA24I_CAN0_TX _L_(8) +#define PINMUX_PA24I_CAN0_TX ((PIN_PA24I_CAN0_TX << 16) | MUX_PA24I_CAN0_TX) +#define PORT_PA24I_CAN0_TX (_UL_(1) << 24) +/* ========== PORT definition for CAN1 peripheral ========== */ +#define PIN_PB13H_CAN1_RX _L_(45) /**< \brief CAN1 signal: RX on PB13 mux H */ +#define MUX_PB13H_CAN1_RX _L_(7) +#define PINMUX_PB13H_CAN1_RX ((PIN_PB13H_CAN1_RX << 16) | MUX_PB13H_CAN1_RX) +#define PORT_PB13H_CAN1_RX (_UL_(1) << 13) +#define PIN_PB15H_CAN1_RX _L_(47) /**< \brief CAN1 signal: RX on PB15 mux H */ +#define MUX_PB15H_CAN1_RX _L_(7) +#define PINMUX_PB15H_CAN1_RX ((PIN_PB15H_CAN1_RX << 16) | MUX_PB15H_CAN1_RX) +#define PORT_PB15H_CAN1_RX (_UL_(1) << 15) +#define PIN_PB12H_CAN1_TX _L_(44) /**< \brief CAN1 signal: TX on PB12 mux H */ +#define MUX_PB12H_CAN1_TX _L_(7) +#define PINMUX_PB12H_CAN1_TX ((PIN_PB12H_CAN1_TX << 16) | MUX_PB12H_CAN1_TX) +#define PORT_PB12H_CAN1_TX (_UL_(1) << 12) +#define PIN_PB14H_CAN1_TX _L_(46) /**< \brief CAN1 signal: TX on PB14 mux H */ +#define MUX_PB14H_CAN1_TX _L_(7) +#define PINMUX_PB14H_CAN1_TX ((PIN_PB14H_CAN1_TX << 16) | MUX_PB14H_CAN1_TX) +#define PORT_PB14H_CAN1_TX (_UL_(1) << 14) +/* ========== PORT definition for GMAC peripheral ========== */ +#define PIN_PC21L_GMAC_GCOL _L_(85) /**< \brief GMAC signal: GCOL on PC21 mux L */ +#define MUX_PC21L_GMAC_GCOL _L_(11) +#define PINMUX_PC21L_GMAC_GCOL ((PIN_PC21L_GMAC_GCOL << 16) | MUX_PC21L_GMAC_GCOL) +#define PORT_PC21L_GMAC_GCOL (_UL_(1) << 21) +#define PIN_PA16L_GMAC_GCRS _L_(16) /**< \brief GMAC signal: GCRS on PA16 mux L */ +#define MUX_PA16L_GMAC_GCRS _L_(11) +#define PINMUX_PA16L_GMAC_GCRS ((PIN_PA16L_GMAC_GCRS << 16) | MUX_PA16L_GMAC_GCRS) +#define PORT_PA16L_GMAC_GCRS (_UL_(1) << 16) +#define PIN_PA20L_GMAC_GMDC _L_(20) /**< \brief GMAC signal: GMDC on PA20 mux L */ +#define MUX_PA20L_GMAC_GMDC _L_(11) +#define PINMUX_PA20L_GMAC_GMDC ((PIN_PA20L_GMAC_GMDC << 16) | MUX_PA20L_GMAC_GMDC) +#define PORT_PA20L_GMAC_GMDC (_UL_(1) << 20) +#define PIN_PB14L_GMAC_GMDC _L_(46) /**< \brief GMAC signal: GMDC on PB14 mux L */ +#define MUX_PB14L_GMAC_GMDC _L_(11) +#define PINMUX_PB14L_GMAC_GMDC ((PIN_PB14L_GMAC_GMDC << 16) | MUX_PB14L_GMAC_GMDC) +#define PORT_PB14L_GMAC_GMDC (_UL_(1) << 14) +#define PIN_PC11L_GMAC_GMDC _L_(75) /**< \brief GMAC signal: GMDC on PC11 mux L */ +#define MUX_PC11L_GMAC_GMDC _L_(11) +#define PINMUX_PC11L_GMAC_GMDC ((PIN_PC11L_GMAC_GMDC << 16) | MUX_PC11L_GMAC_GMDC) +#define PORT_PC11L_GMAC_GMDC (_UL_(1) << 11) +#define PIN_PC22L_GMAC_GMDC _L_(86) /**< \brief GMAC signal: GMDC on PC22 mux L */ +#define MUX_PC22L_GMAC_GMDC _L_(11) +#define PINMUX_PC22L_GMAC_GMDC ((PIN_PC22L_GMAC_GMDC << 16) | MUX_PC22L_GMAC_GMDC) +#define PORT_PC22L_GMAC_GMDC (_UL_(1) << 22) +#define PIN_PA21L_GMAC_GMDIO _L_(21) /**< \brief GMAC signal: GMDIO on PA21 mux L */ +#define MUX_PA21L_GMAC_GMDIO _L_(11) +#define PINMUX_PA21L_GMAC_GMDIO ((PIN_PA21L_GMAC_GMDIO << 16) | MUX_PA21L_GMAC_GMDIO) +#define PORT_PA21L_GMAC_GMDIO (_UL_(1) << 21) +#define PIN_PB15L_GMAC_GMDIO _L_(47) /**< \brief GMAC signal: GMDIO on PB15 mux L */ +#define MUX_PB15L_GMAC_GMDIO _L_(11) +#define PINMUX_PB15L_GMAC_GMDIO ((PIN_PB15L_GMAC_GMDIO << 16) | MUX_PB15L_GMAC_GMDIO) +#define PORT_PB15L_GMAC_GMDIO (_UL_(1) << 15) +#define PIN_PC12L_GMAC_GMDIO _L_(76) /**< \brief GMAC signal: GMDIO on PC12 mux L */ +#define MUX_PC12L_GMAC_GMDIO _L_(11) +#define PINMUX_PC12L_GMAC_GMDIO ((PIN_PC12L_GMAC_GMDIO << 16) | MUX_PC12L_GMAC_GMDIO) +#define PORT_PC12L_GMAC_GMDIO (_UL_(1) << 12) +#define PIN_PC23L_GMAC_GMDIO _L_(87) /**< \brief GMAC signal: GMDIO on PC23 mux L */ +#define MUX_PC23L_GMAC_GMDIO _L_(11) +#define PINMUX_PC23L_GMAC_GMDIO ((PIN_PC23L_GMAC_GMDIO << 16) | MUX_PC23L_GMAC_GMDIO) +#define PORT_PC23L_GMAC_GMDIO (_UL_(1) << 23) +#define PIN_PA13L_GMAC_GRX0 _L_(13) /**< \brief GMAC signal: GRX0 on PA13 mux L */ +#define MUX_PA13L_GMAC_GRX0 _L_(11) +#define PINMUX_PA13L_GMAC_GRX0 ((PIN_PA13L_GMAC_GRX0 << 16) | MUX_PA13L_GMAC_GRX0) +#define PORT_PA13L_GMAC_GRX0 (_UL_(1) << 13) +#define PIN_PA12L_GMAC_GRX1 _L_(12) /**< \brief GMAC signal: GRX1 on PA12 mux L */ +#define MUX_PA12L_GMAC_GRX1 _L_(11) +#define PINMUX_PA12L_GMAC_GRX1 ((PIN_PA12L_GMAC_GRX1 << 16) | MUX_PA12L_GMAC_GRX1) +#define PORT_PA12L_GMAC_GRX1 (_UL_(1) << 12) +#define PIN_PC15L_GMAC_GRX2 _L_(79) /**< \brief GMAC signal: GRX2 on PC15 mux L */ +#define MUX_PC15L_GMAC_GRX2 _L_(11) +#define PINMUX_PC15L_GMAC_GRX2 ((PIN_PC15L_GMAC_GRX2 << 16) | MUX_PC15L_GMAC_GRX2) +#define PORT_PC15L_GMAC_GRX2 (_UL_(1) << 15) +#define PIN_PC14L_GMAC_GRX3 _L_(78) /**< \brief GMAC signal: GRX3 on PC14 mux L */ +#define MUX_PC14L_GMAC_GRX3 _L_(11) +#define PINMUX_PC14L_GMAC_GRX3 ((PIN_PC14L_GMAC_GRX3 << 16) | MUX_PC14L_GMAC_GRX3) +#define PORT_PC14L_GMAC_GRX3 (_UL_(1) << 14) +#define PIN_PC18L_GMAC_GRXCK _L_(82) /**< \brief GMAC signal: GRXCK on PC18 mux L */ +#define MUX_PC18L_GMAC_GRXCK _L_(11) +#define PINMUX_PC18L_GMAC_GRXCK ((PIN_PC18L_GMAC_GRXCK << 16) | MUX_PC18L_GMAC_GRXCK) +#define PORT_PC18L_GMAC_GRXCK (_UL_(1) << 18) +#define PIN_PC20L_GMAC_GRXDV _L_(84) /**< \brief GMAC signal: GRXDV on PC20 mux L */ +#define MUX_PC20L_GMAC_GRXDV _L_(11) +#define PINMUX_PC20L_GMAC_GRXDV ((PIN_PC20L_GMAC_GRXDV << 16) | MUX_PC20L_GMAC_GRXDV) +#define PORT_PC20L_GMAC_GRXDV (_UL_(1) << 20) +#define PIN_PA15L_GMAC_GRXER _L_(15) /**< \brief GMAC signal: GRXER on PA15 mux L */ +#define MUX_PA15L_GMAC_GRXER _L_(11) +#define PINMUX_PA15L_GMAC_GRXER ((PIN_PA15L_GMAC_GRXER << 16) | MUX_PA15L_GMAC_GRXER) +#define PORT_PA15L_GMAC_GRXER (_UL_(1) << 15) +#define PIN_PA18L_GMAC_GTX0 _L_(18) /**< \brief GMAC signal: GTX0 on PA18 mux L */ +#define MUX_PA18L_GMAC_GTX0 _L_(11) +#define PINMUX_PA18L_GMAC_GTX0 ((PIN_PA18L_GMAC_GTX0 << 16) | MUX_PA18L_GMAC_GTX0) +#define PORT_PA18L_GMAC_GTX0 (_UL_(1) << 18) +#define PIN_PA19L_GMAC_GTX1 _L_(19) /**< \brief GMAC signal: GTX1 on PA19 mux L */ +#define MUX_PA19L_GMAC_GTX1 _L_(11) +#define PINMUX_PA19L_GMAC_GTX1 ((PIN_PA19L_GMAC_GTX1 << 16) | MUX_PA19L_GMAC_GTX1) +#define PORT_PA19L_GMAC_GTX1 (_UL_(1) << 19) +#define PIN_PC16L_GMAC_GTX2 _L_(80) /**< \brief GMAC signal: GTX2 on PC16 mux L */ +#define MUX_PC16L_GMAC_GTX2 _L_(11) +#define PINMUX_PC16L_GMAC_GTX2 ((PIN_PC16L_GMAC_GTX2 << 16) | MUX_PC16L_GMAC_GTX2) +#define PORT_PC16L_GMAC_GTX2 (_UL_(1) << 16) +#define PIN_PC17L_GMAC_GTX3 _L_(81) /**< \brief GMAC signal: GTX3 on PC17 mux L */ +#define MUX_PC17L_GMAC_GTX3 _L_(11) +#define PINMUX_PC17L_GMAC_GTX3 ((PIN_PC17L_GMAC_GTX3 << 16) | MUX_PC17L_GMAC_GTX3) +#define PORT_PC17L_GMAC_GTX3 (_UL_(1) << 17) +#define PIN_PA14L_GMAC_GTXCK _L_(14) /**< \brief GMAC signal: GTXCK on PA14 mux L */ +#define MUX_PA14L_GMAC_GTXCK _L_(11) +#define PINMUX_PA14L_GMAC_GTXCK ((PIN_PA14L_GMAC_GTXCK << 16) | MUX_PA14L_GMAC_GTXCK) +#define PORT_PA14L_GMAC_GTXCK (_UL_(1) << 14) +#define PIN_PA17L_GMAC_GTXEN _L_(17) /**< \brief GMAC signal: GTXEN on PA17 mux L */ +#define MUX_PA17L_GMAC_GTXEN _L_(11) +#define PINMUX_PA17L_GMAC_GTXEN ((PIN_PA17L_GMAC_GTXEN << 16) | MUX_PA17L_GMAC_GTXEN) +#define PORT_PA17L_GMAC_GTXEN (_UL_(1) << 17) +#define PIN_PC19L_GMAC_GTXER _L_(83) /**< \brief GMAC signal: GTXER on PC19 mux L */ +#define MUX_PC19L_GMAC_GTXER _L_(11) +#define PINMUX_PC19L_GMAC_GTXER ((PIN_PC19L_GMAC_GTXER << 16) | MUX_PC19L_GMAC_GTXER) +#define PORT_PC19L_GMAC_GTXER (_UL_(1) << 19) +/* ========== PORT definition for TCC2 peripheral ========== */ +#define PIN_PA14F_TCC2_WO0 _L_(14) /**< \brief TCC2 signal: WO0 on PA14 mux F */ +#define MUX_PA14F_TCC2_WO0 _L_(5) +#define PINMUX_PA14F_TCC2_WO0 ((PIN_PA14F_TCC2_WO0 << 16) | MUX_PA14F_TCC2_WO0) +#define PORT_PA14F_TCC2_WO0 (_UL_(1) << 14) +#define PIN_PA30F_TCC2_WO0 _L_(30) /**< \brief TCC2 signal: WO0 on PA30 mux F */ +#define MUX_PA30F_TCC2_WO0 _L_(5) +#define PINMUX_PA30F_TCC2_WO0 ((PIN_PA30F_TCC2_WO0 << 16) | MUX_PA30F_TCC2_WO0) +#define PORT_PA30F_TCC2_WO0 (_UL_(1) << 30) +#define PIN_PA15F_TCC2_WO1 _L_(15) /**< \brief TCC2 signal: WO1 on PA15 mux F */ +#define MUX_PA15F_TCC2_WO1 _L_(5) +#define PINMUX_PA15F_TCC2_WO1 ((PIN_PA15F_TCC2_WO1 << 16) | MUX_PA15F_TCC2_WO1) +#define PORT_PA15F_TCC2_WO1 (_UL_(1) << 15) +#define PIN_PA31F_TCC2_WO1 _L_(31) /**< \brief TCC2 signal: WO1 on PA31 mux F */ +#define MUX_PA31F_TCC2_WO1 _L_(5) +#define PINMUX_PA31F_TCC2_WO1 ((PIN_PA31F_TCC2_WO1 << 16) | MUX_PA31F_TCC2_WO1) +#define PORT_PA31F_TCC2_WO1 (_UL_(1) << 31) +#define PIN_PA24F_TCC2_WO2 _L_(24) /**< \brief TCC2 signal: WO2 on PA24 mux F */ +#define MUX_PA24F_TCC2_WO2 _L_(5) +#define PINMUX_PA24F_TCC2_WO2 ((PIN_PA24F_TCC2_WO2 << 16) | MUX_PA24F_TCC2_WO2) +#define PORT_PA24F_TCC2_WO2 (_UL_(1) << 24) +#define PIN_PB02F_TCC2_WO2 _L_(34) /**< \brief TCC2 signal: WO2 on PB02 mux F */ +#define MUX_PB02F_TCC2_WO2 _L_(5) +#define PINMUX_PB02F_TCC2_WO2 ((PIN_PB02F_TCC2_WO2 << 16) | MUX_PB02F_TCC2_WO2) +#define PORT_PB02F_TCC2_WO2 (_UL_(1) << 2) +/* ========== PORT definition for TCC3 peripheral ========== */ +#define PIN_PB12F_TCC3_WO0 _L_(44) /**< \brief TCC3 signal: WO0 on PB12 mux F */ +#define MUX_PB12F_TCC3_WO0 _L_(5) +#define PINMUX_PB12F_TCC3_WO0 ((PIN_PB12F_TCC3_WO0 << 16) | MUX_PB12F_TCC3_WO0) +#define PORT_PB12F_TCC3_WO0 (_UL_(1) << 12) +#define PIN_PB16F_TCC3_WO0 _L_(48) /**< \brief TCC3 signal: WO0 on PB16 mux F */ +#define MUX_PB16F_TCC3_WO0 _L_(5) +#define PINMUX_PB16F_TCC3_WO0 ((PIN_PB16F_TCC3_WO0 << 16) | MUX_PB16F_TCC3_WO0) +#define PORT_PB16F_TCC3_WO0 (_UL_(1) << 16) +#define PIN_PB13F_TCC3_WO1 _L_(45) /**< \brief TCC3 signal: WO1 on PB13 mux F */ +#define MUX_PB13F_TCC3_WO1 _L_(5) +#define PINMUX_PB13F_TCC3_WO1 ((PIN_PB13F_TCC3_WO1 << 16) | MUX_PB13F_TCC3_WO1) +#define PORT_PB13F_TCC3_WO1 (_UL_(1) << 13) +#define PIN_PB17F_TCC3_WO1 _L_(49) /**< \brief TCC3 signal: WO1 on PB17 mux F */ +#define MUX_PB17F_TCC3_WO1 _L_(5) +#define PINMUX_PB17F_TCC3_WO1 ((PIN_PB17F_TCC3_WO1 << 16) | MUX_PB17F_TCC3_WO1) +#define PORT_PB17F_TCC3_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC4 peripheral ========== */ +#define PIN_PA22E_TC4_WO0 _L_(22) /**< \brief TC4 signal: WO0 on PA22 mux E */ +#define MUX_PA22E_TC4_WO0 _L_(4) +#define PINMUX_PA22E_TC4_WO0 ((PIN_PA22E_TC4_WO0 << 16) | MUX_PA22E_TC4_WO0) +#define PORT_PA22E_TC4_WO0 (_UL_(1) << 22) +#define PIN_PB08E_TC4_WO0 _L_(40) /**< \brief TC4 signal: WO0 on PB08 mux E */ +#define MUX_PB08E_TC4_WO0 _L_(4) +#define PINMUX_PB08E_TC4_WO0 ((PIN_PB08E_TC4_WO0 << 16) | MUX_PB08E_TC4_WO0) +#define PORT_PB08E_TC4_WO0 (_UL_(1) << 8) +#define PIN_PB12E_TC4_WO0 _L_(44) /**< \brief TC4 signal: WO0 on PB12 mux E */ +#define MUX_PB12E_TC4_WO0 _L_(4) +#define PINMUX_PB12E_TC4_WO0 ((PIN_PB12E_TC4_WO0 << 16) | MUX_PB12E_TC4_WO0) +#define PORT_PB12E_TC4_WO0 (_UL_(1) << 12) +#define PIN_PA23E_TC4_WO1 _L_(23) /**< \brief TC4 signal: WO1 on PA23 mux E */ +#define MUX_PA23E_TC4_WO1 _L_(4) +#define PINMUX_PA23E_TC4_WO1 ((PIN_PA23E_TC4_WO1 << 16) | MUX_PA23E_TC4_WO1) +#define PORT_PA23E_TC4_WO1 (_UL_(1) << 23) +#define PIN_PB09E_TC4_WO1 _L_(41) /**< \brief TC4 signal: WO1 on PB09 mux E */ +#define MUX_PB09E_TC4_WO1 _L_(4) +#define PINMUX_PB09E_TC4_WO1 ((PIN_PB09E_TC4_WO1 << 16) | MUX_PB09E_TC4_WO1) +#define PORT_PB09E_TC4_WO1 (_UL_(1) << 9) +#define PIN_PB13E_TC4_WO1 _L_(45) /**< \brief TC4 signal: WO1 on PB13 mux E */ +#define MUX_PB13E_TC4_WO1 _L_(4) +#define PINMUX_PB13E_TC4_WO1 ((PIN_PB13E_TC4_WO1 << 16) | MUX_PB13E_TC4_WO1) +#define PORT_PB13E_TC4_WO1 (_UL_(1) << 13) +/* ========== PORT definition for TC5 peripheral ========== */ +#define PIN_PA24E_TC5_WO0 _L_(24) /**< \brief TC5 signal: WO0 on PA24 mux E */ +#define MUX_PA24E_TC5_WO0 _L_(4) +#define PINMUX_PA24E_TC5_WO0 ((PIN_PA24E_TC5_WO0 << 16) | MUX_PA24E_TC5_WO0) +#define PORT_PA24E_TC5_WO0 (_UL_(1) << 24) +#define PIN_PB10E_TC5_WO0 _L_(42) /**< \brief TC5 signal: WO0 on PB10 mux E */ +#define MUX_PB10E_TC5_WO0 _L_(4) +#define PINMUX_PB10E_TC5_WO0 ((PIN_PB10E_TC5_WO0 << 16) | MUX_PB10E_TC5_WO0) +#define PORT_PB10E_TC5_WO0 (_UL_(1) << 10) +#define PIN_PB14E_TC5_WO0 _L_(46) /**< \brief TC5 signal: WO0 on PB14 mux E */ +#define MUX_PB14E_TC5_WO0 _L_(4) +#define PINMUX_PB14E_TC5_WO0 ((PIN_PB14E_TC5_WO0 << 16) | MUX_PB14E_TC5_WO0) +#define PORT_PB14E_TC5_WO0 (_UL_(1) << 14) +#define PIN_PA25E_TC5_WO1 _L_(25) /**< \brief TC5 signal: WO1 on PA25 mux E */ +#define MUX_PA25E_TC5_WO1 _L_(4) +#define PINMUX_PA25E_TC5_WO1 ((PIN_PA25E_TC5_WO1 << 16) | MUX_PA25E_TC5_WO1) +#define PORT_PA25E_TC5_WO1 (_UL_(1) << 25) +#define PIN_PB11E_TC5_WO1 _L_(43) /**< \brief TC5 signal: WO1 on PB11 mux E */ +#define MUX_PB11E_TC5_WO1 _L_(4) +#define PINMUX_PB11E_TC5_WO1 ((PIN_PB11E_TC5_WO1 << 16) | MUX_PB11E_TC5_WO1) +#define PORT_PB11E_TC5_WO1 (_UL_(1) << 11) +#define PIN_PB15E_TC5_WO1 _L_(47) /**< \brief TC5 signal: WO1 on PB15 mux E */ +#define MUX_PB15E_TC5_WO1 _L_(4) +#define PINMUX_PB15E_TC5_WO1 ((PIN_PB15E_TC5_WO1 << 16) | MUX_PB15E_TC5_WO1) +#define PORT_PB15E_TC5_WO1 (_UL_(1) << 15) +/* ========== PORT definition for PDEC peripheral ========== */ +#define PIN_PB18G_PDEC_QDI0 _L_(50) /**< \brief PDEC signal: QDI0 on PB18 mux G */ +#define MUX_PB18G_PDEC_QDI0 _L_(6) +#define PINMUX_PB18G_PDEC_QDI0 ((PIN_PB18G_PDEC_QDI0 << 16) | MUX_PB18G_PDEC_QDI0) +#define PORT_PB18G_PDEC_QDI0 (_UL_(1) << 18) +#define PIN_PB23G_PDEC_QDI0 _L_(55) /**< \brief PDEC signal: QDI0 on PB23 mux G */ +#define MUX_PB23G_PDEC_QDI0 _L_(6) +#define PINMUX_PB23G_PDEC_QDI0 ((PIN_PB23G_PDEC_QDI0 << 16) | MUX_PB23G_PDEC_QDI0) +#define PORT_PB23G_PDEC_QDI0 (_UL_(1) << 23) +#define PIN_PC16G_PDEC_QDI0 _L_(80) /**< \brief PDEC signal: QDI0 on PC16 mux G */ +#define MUX_PC16G_PDEC_QDI0 _L_(6) +#define PINMUX_PC16G_PDEC_QDI0 ((PIN_PC16G_PDEC_QDI0 << 16) | MUX_PC16G_PDEC_QDI0) +#define PORT_PC16G_PDEC_QDI0 (_UL_(1) << 16) +#define PIN_PA24G_PDEC_QDI0 _L_(24) /**< \brief PDEC signal: QDI0 on PA24 mux G */ +#define MUX_PA24G_PDEC_QDI0 _L_(6) +#define PINMUX_PA24G_PDEC_QDI0 ((PIN_PA24G_PDEC_QDI0 << 16) | MUX_PA24G_PDEC_QDI0) +#define PORT_PA24G_PDEC_QDI0 (_UL_(1) << 24) +#define PIN_PB19G_PDEC_QDI1 _L_(51) /**< \brief PDEC signal: QDI1 on PB19 mux G */ +#define MUX_PB19G_PDEC_QDI1 _L_(6) +#define PINMUX_PB19G_PDEC_QDI1 ((PIN_PB19G_PDEC_QDI1 << 16) | MUX_PB19G_PDEC_QDI1) +#define PORT_PB19G_PDEC_QDI1 (_UL_(1) << 19) +#define PIN_PB24G_PDEC_QDI1 _L_(56) /**< \brief PDEC signal: QDI1 on PB24 mux G */ +#define MUX_PB24G_PDEC_QDI1 _L_(6) +#define PINMUX_PB24G_PDEC_QDI1 ((PIN_PB24G_PDEC_QDI1 << 16) | MUX_PB24G_PDEC_QDI1) +#define PORT_PB24G_PDEC_QDI1 (_UL_(1) << 24) +#define PIN_PC17G_PDEC_QDI1 _L_(81) /**< \brief PDEC signal: QDI1 on PC17 mux G */ +#define MUX_PC17G_PDEC_QDI1 _L_(6) +#define PINMUX_PC17G_PDEC_QDI1 ((PIN_PC17G_PDEC_QDI1 << 16) | MUX_PC17G_PDEC_QDI1) +#define PORT_PC17G_PDEC_QDI1 (_UL_(1) << 17) +#define PIN_PA25G_PDEC_QDI1 _L_(25) /**< \brief PDEC signal: QDI1 on PA25 mux G */ +#define MUX_PA25G_PDEC_QDI1 _L_(6) +#define PINMUX_PA25G_PDEC_QDI1 ((PIN_PA25G_PDEC_QDI1 << 16) | MUX_PA25G_PDEC_QDI1) +#define PORT_PA25G_PDEC_QDI1 (_UL_(1) << 25) +#define PIN_PB20G_PDEC_QDI2 _L_(52) /**< \brief PDEC signal: QDI2 on PB20 mux G */ +#define MUX_PB20G_PDEC_QDI2 _L_(6) +#define PINMUX_PB20G_PDEC_QDI2 ((PIN_PB20G_PDEC_QDI2 << 16) | MUX_PB20G_PDEC_QDI2) +#define PORT_PB20G_PDEC_QDI2 (_UL_(1) << 20) +#define PIN_PB25G_PDEC_QDI2 _L_(57) /**< \brief PDEC signal: QDI2 on PB25 mux G */ +#define MUX_PB25G_PDEC_QDI2 _L_(6) +#define PINMUX_PB25G_PDEC_QDI2 ((PIN_PB25G_PDEC_QDI2 << 16) | MUX_PB25G_PDEC_QDI2) +#define PORT_PB25G_PDEC_QDI2 (_UL_(1) << 25) +#define PIN_PC18G_PDEC_QDI2 _L_(82) /**< \brief PDEC signal: QDI2 on PC18 mux G */ +#define MUX_PC18G_PDEC_QDI2 _L_(6) +#define PINMUX_PC18G_PDEC_QDI2 ((PIN_PC18G_PDEC_QDI2 << 16) | MUX_PC18G_PDEC_QDI2) +#define PORT_PC18G_PDEC_QDI2 (_UL_(1) << 18) +#define PIN_PB22G_PDEC_QDI2 _L_(54) /**< \brief PDEC signal: QDI2 on PB22 mux G */ +#define MUX_PB22G_PDEC_QDI2 _L_(6) +#define PINMUX_PB22G_PDEC_QDI2 ((PIN_PB22G_PDEC_QDI2 << 16) | MUX_PB22G_PDEC_QDI2) +#define PORT_PB22G_PDEC_QDI2 (_UL_(1) << 22) +/* ========== PORT definition for AC peripheral ========== */ +#define PIN_PA04B_AC_AIN0 _L_(4) /**< \brief AC signal: AIN0 on PA04 mux B */ +#define MUX_PA04B_AC_AIN0 _L_(1) +#define PINMUX_PA04B_AC_AIN0 ((PIN_PA04B_AC_AIN0 << 16) | MUX_PA04B_AC_AIN0) +#define PORT_PA04B_AC_AIN0 (_UL_(1) << 4) +#define PIN_PA05B_AC_AIN1 _L_(5) /**< \brief AC signal: AIN1 on PA05 mux B */ +#define MUX_PA05B_AC_AIN1 _L_(1) +#define PINMUX_PA05B_AC_AIN1 ((PIN_PA05B_AC_AIN1 << 16) | MUX_PA05B_AC_AIN1) +#define PORT_PA05B_AC_AIN1 (_UL_(1) << 5) +#define PIN_PA06B_AC_AIN2 _L_(6) /**< \brief AC signal: AIN2 on PA06 mux B */ +#define MUX_PA06B_AC_AIN2 _L_(1) +#define PINMUX_PA06B_AC_AIN2 ((PIN_PA06B_AC_AIN2 << 16) | MUX_PA06B_AC_AIN2) +#define PORT_PA06B_AC_AIN2 (_UL_(1) << 6) +#define PIN_PA07B_AC_AIN3 _L_(7) /**< \brief AC signal: AIN3 on PA07 mux B */ +#define MUX_PA07B_AC_AIN3 _L_(1) +#define PINMUX_PA07B_AC_AIN3 ((PIN_PA07B_AC_AIN3 << 16) | MUX_PA07B_AC_AIN3) +#define PORT_PA07B_AC_AIN3 (_UL_(1) << 7) +#define PIN_PA12M_AC_CMP0 _L_(12) /**< \brief AC signal: CMP0 on PA12 mux M */ +#define MUX_PA12M_AC_CMP0 _L_(12) +#define PINMUX_PA12M_AC_CMP0 ((PIN_PA12M_AC_CMP0 << 16) | MUX_PA12M_AC_CMP0) +#define PORT_PA12M_AC_CMP0 (_UL_(1) << 12) +#define PIN_PA18M_AC_CMP0 _L_(18) /**< \brief AC signal: CMP0 on PA18 mux M */ +#define MUX_PA18M_AC_CMP0 _L_(12) +#define PINMUX_PA18M_AC_CMP0 ((PIN_PA18M_AC_CMP0 << 16) | MUX_PA18M_AC_CMP0) +#define PORT_PA18M_AC_CMP0 (_UL_(1) << 18) +#define PIN_PB24M_AC_CMP0 _L_(56) /**< \brief AC signal: CMP0 on PB24 mux M */ +#define MUX_PB24M_AC_CMP0 _L_(12) +#define PINMUX_PB24M_AC_CMP0 ((PIN_PB24M_AC_CMP0 << 16) | MUX_PB24M_AC_CMP0) +#define PORT_PB24M_AC_CMP0 (_UL_(1) << 24) +#define PIN_PA13M_AC_CMP1 _L_(13) /**< \brief AC signal: CMP1 on PA13 mux M */ +#define MUX_PA13M_AC_CMP1 _L_(12) +#define PINMUX_PA13M_AC_CMP1 ((PIN_PA13M_AC_CMP1 << 16) | MUX_PA13M_AC_CMP1) +#define PORT_PA13M_AC_CMP1 (_UL_(1) << 13) +#define PIN_PA19M_AC_CMP1 _L_(19) /**< \brief AC signal: CMP1 on PA19 mux M */ +#define MUX_PA19M_AC_CMP1 _L_(12) +#define PINMUX_PA19M_AC_CMP1 ((PIN_PA19M_AC_CMP1 << 16) | MUX_PA19M_AC_CMP1) +#define PORT_PA19M_AC_CMP1 (_UL_(1) << 19) +#define PIN_PB25M_AC_CMP1 _L_(57) /**< \brief AC signal: CMP1 on PB25 mux M */ +#define MUX_PB25M_AC_CMP1 _L_(12) +#define PINMUX_PB25M_AC_CMP1 ((PIN_PB25M_AC_CMP1 << 16) | MUX_PB25M_AC_CMP1) +#define PORT_PB25M_AC_CMP1 (_UL_(1) << 25) +/* ========== PORT definition for QSPI peripheral ========== */ +#define PIN_PB11H_QSPI_CS _L_(43) /**< \brief QSPI signal: CS on PB11 mux H */ +#define MUX_PB11H_QSPI_CS _L_(7) +#define PINMUX_PB11H_QSPI_CS ((PIN_PB11H_QSPI_CS << 16) | MUX_PB11H_QSPI_CS) +#define PORT_PB11H_QSPI_CS (_UL_(1) << 11) +#define PIN_PA08H_QSPI_DATA0 _L_(8) /**< \brief QSPI signal: DATA0 on PA08 mux H */ +#define MUX_PA08H_QSPI_DATA0 _L_(7) +#define PINMUX_PA08H_QSPI_DATA0 ((PIN_PA08H_QSPI_DATA0 << 16) | MUX_PA08H_QSPI_DATA0) +#define PORT_PA08H_QSPI_DATA0 (_UL_(1) << 8) +#define PIN_PA09H_QSPI_DATA1 _L_(9) /**< \brief QSPI signal: DATA1 on PA09 mux H */ +#define MUX_PA09H_QSPI_DATA1 _L_(7) +#define PINMUX_PA09H_QSPI_DATA1 ((PIN_PA09H_QSPI_DATA1 << 16) | MUX_PA09H_QSPI_DATA1) +#define PORT_PA09H_QSPI_DATA1 (_UL_(1) << 9) +#define PIN_PA10H_QSPI_DATA2 _L_(10) /**< \brief QSPI signal: DATA2 on PA10 mux H */ +#define MUX_PA10H_QSPI_DATA2 _L_(7) +#define PINMUX_PA10H_QSPI_DATA2 ((PIN_PA10H_QSPI_DATA2 << 16) | MUX_PA10H_QSPI_DATA2) +#define PORT_PA10H_QSPI_DATA2 (_UL_(1) << 10) +#define PIN_PA11H_QSPI_DATA3 _L_(11) /**< \brief QSPI signal: DATA3 on PA11 mux H */ +#define MUX_PA11H_QSPI_DATA3 _L_(7) +#define PINMUX_PA11H_QSPI_DATA3 ((PIN_PA11H_QSPI_DATA3 << 16) | MUX_PA11H_QSPI_DATA3) +#define PORT_PA11H_QSPI_DATA3 (_UL_(1) << 11) +#define PIN_PB10H_QSPI_SCK _L_(42) /**< \brief QSPI signal: SCK on PB10 mux H */ +#define MUX_PB10H_QSPI_SCK _L_(7) +#define PINMUX_PB10H_QSPI_SCK ((PIN_PB10H_QSPI_SCK << 16) | MUX_PB10H_QSPI_SCK) +#define PORT_PB10H_QSPI_SCK (_UL_(1) << 10) +/* ========== PORT definition for CCL peripheral ========== */ +#define PIN_PA04N_CCL_IN0 _L_(4) /**< \brief CCL signal: IN0 on PA04 mux N */ +#define MUX_PA04N_CCL_IN0 _L_(13) +#define PINMUX_PA04N_CCL_IN0 ((PIN_PA04N_CCL_IN0 << 16) | MUX_PA04N_CCL_IN0) +#define PORT_PA04N_CCL_IN0 (_UL_(1) << 4) +#define PIN_PA16N_CCL_IN0 _L_(16) /**< \brief CCL signal: IN0 on PA16 mux N */ +#define MUX_PA16N_CCL_IN0 _L_(13) +#define PINMUX_PA16N_CCL_IN0 ((PIN_PA16N_CCL_IN0 << 16) | MUX_PA16N_CCL_IN0) +#define PORT_PA16N_CCL_IN0 (_UL_(1) << 16) +#define PIN_PB22N_CCL_IN0 _L_(54) /**< \brief CCL signal: IN0 on PB22 mux N */ +#define MUX_PB22N_CCL_IN0 _L_(13) +#define PINMUX_PB22N_CCL_IN0 ((PIN_PB22N_CCL_IN0 << 16) | MUX_PB22N_CCL_IN0) +#define PORT_PB22N_CCL_IN0 (_UL_(1) << 22) +#define PIN_PA05N_CCL_IN1 _L_(5) /**< \brief CCL signal: IN1 on PA05 mux N */ +#define MUX_PA05N_CCL_IN1 _L_(13) +#define PINMUX_PA05N_CCL_IN1 ((PIN_PA05N_CCL_IN1 << 16) | MUX_PA05N_CCL_IN1) +#define PORT_PA05N_CCL_IN1 (_UL_(1) << 5) +#define PIN_PA17N_CCL_IN1 _L_(17) /**< \brief CCL signal: IN1 on PA17 mux N */ +#define MUX_PA17N_CCL_IN1 _L_(13) +#define PINMUX_PA17N_CCL_IN1 ((PIN_PA17N_CCL_IN1 << 16) | MUX_PA17N_CCL_IN1) +#define PORT_PA17N_CCL_IN1 (_UL_(1) << 17) +#define PIN_PB00N_CCL_IN1 _L_(32) /**< \brief CCL signal: IN1 on PB00 mux N */ +#define MUX_PB00N_CCL_IN1 _L_(13) +#define PINMUX_PB00N_CCL_IN1 ((PIN_PB00N_CCL_IN1 << 16) | MUX_PB00N_CCL_IN1) +#define PORT_PB00N_CCL_IN1 (_UL_(1) << 0) +#define PIN_PA06N_CCL_IN2 _L_(6) /**< \brief CCL signal: IN2 on PA06 mux N */ +#define MUX_PA06N_CCL_IN2 _L_(13) +#define PINMUX_PA06N_CCL_IN2 ((PIN_PA06N_CCL_IN2 << 16) | MUX_PA06N_CCL_IN2) +#define PORT_PA06N_CCL_IN2 (_UL_(1) << 6) +#define PIN_PA18N_CCL_IN2 _L_(18) /**< \brief CCL signal: IN2 on PA18 mux N */ +#define MUX_PA18N_CCL_IN2 _L_(13) +#define PINMUX_PA18N_CCL_IN2 ((PIN_PA18N_CCL_IN2 << 16) | MUX_PA18N_CCL_IN2) +#define PORT_PA18N_CCL_IN2 (_UL_(1) << 18) +#define PIN_PB01N_CCL_IN2 _L_(33) /**< \brief CCL signal: IN2 on PB01 mux N */ +#define MUX_PB01N_CCL_IN2 _L_(13) +#define PINMUX_PB01N_CCL_IN2 ((PIN_PB01N_CCL_IN2 << 16) | MUX_PB01N_CCL_IN2) +#define PORT_PB01N_CCL_IN2 (_UL_(1) << 1) +#define PIN_PA08N_CCL_IN3 _L_(8) /**< \brief CCL signal: IN3 on PA08 mux N */ +#define MUX_PA08N_CCL_IN3 _L_(13) +#define PINMUX_PA08N_CCL_IN3 ((PIN_PA08N_CCL_IN3 << 16) | MUX_PA08N_CCL_IN3) +#define PORT_PA08N_CCL_IN3 (_UL_(1) << 8) +#define PIN_PA30N_CCL_IN3 _L_(30) /**< \brief CCL signal: IN3 on PA30 mux N */ +#define MUX_PA30N_CCL_IN3 _L_(13) +#define PINMUX_PA30N_CCL_IN3 ((PIN_PA30N_CCL_IN3 << 16) | MUX_PA30N_CCL_IN3) +#define PORT_PA30N_CCL_IN3 (_UL_(1) << 30) +#define PIN_PA09N_CCL_IN4 _L_(9) /**< \brief CCL signal: IN4 on PA09 mux N */ +#define MUX_PA09N_CCL_IN4 _L_(13) +#define PINMUX_PA09N_CCL_IN4 ((PIN_PA09N_CCL_IN4 << 16) | MUX_PA09N_CCL_IN4) +#define PORT_PA09N_CCL_IN4 (_UL_(1) << 9) +#define PIN_PC27N_CCL_IN4 _L_(91) /**< \brief CCL signal: IN4 on PC27 mux N */ +#define MUX_PC27N_CCL_IN4 _L_(13) +#define PINMUX_PC27N_CCL_IN4 ((PIN_PC27N_CCL_IN4 << 16) | MUX_PC27N_CCL_IN4) +#define PORT_PC27N_CCL_IN4 (_UL_(1) << 27) +#define PIN_PA10N_CCL_IN5 _L_(10) /**< \brief CCL signal: IN5 on PA10 mux N */ +#define MUX_PA10N_CCL_IN5 _L_(13) +#define PINMUX_PA10N_CCL_IN5 ((PIN_PA10N_CCL_IN5 << 16) | MUX_PA10N_CCL_IN5) +#define PORT_PA10N_CCL_IN5 (_UL_(1) << 10) +#define PIN_PC28N_CCL_IN5 _L_(92) /**< \brief CCL signal: IN5 on PC28 mux N */ +#define MUX_PC28N_CCL_IN5 _L_(13) +#define PINMUX_PC28N_CCL_IN5 ((PIN_PC28N_CCL_IN5 << 16) | MUX_PC28N_CCL_IN5) +#define PORT_PC28N_CCL_IN5 (_UL_(1) << 28) +#define PIN_PA22N_CCL_IN6 _L_(22) /**< \brief CCL signal: IN6 on PA22 mux N */ +#define MUX_PA22N_CCL_IN6 _L_(13) +#define PINMUX_PA22N_CCL_IN6 ((PIN_PA22N_CCL_IN6 << 16) | MUX_PA22N_CCL_IN6) +#define PORT_PA22N_CCL_IN6 (_UL_(1) << 22) +#define PIN_PB06N_CCL_IN6 _L_(38) /**< \brief CCL signal: IN6 on PB06 mux N */ +#define MUX_PB06N_CCL_IN6 _L_(13) +#define PINMUX_PB06N_CCL_IN6 ((PIN_PB06N_CCL_IN6 << 16) | MUX_PB06N_CCL_IN6) +#define PORT_PB06N_CCL_IN6 (_UL_(1) << 6) +#define PIN_PA23N_CCL_IN7 _L_(23) /**< \brief CCL signal: IN7 on PA23 mux N */ +#define MUX_PA23N_CCL_IN7 _L_(13) +#define PINMUX_PA23N_CCL_IN7 ((PIN_PA23N_CCL_IN7 << 16) | MUX_PA23N_CCL_IN7) +#define PORT_PA23N_CCL_IN7 (_UL_(1) << 23) +#define PIN_PB07N_CCL_IN7 _L_(39) /**< \brief CCL signal: IN7 on PB07 mux N */ +#define MUX_PB07N_CCL_IN7 _L_(13) +#define PINMUX_PB07N_CCL_IN7 ((PIN_PB07N_CCL_IN7 << 16) | MUX_PB07N_CCL_IN7) +#define PORT_PB07N_CCL_IN7 (_UL_(1) << 7) +#define PIN_PA24N_CCL_IN8 _L_(24) /**< \brief CCL signal: IN8 on PA24 mux N */ +#define MUX_PA24N_CCL_IN8 _L_(13) +#define PINMUX_PA24N_CCL_IN8 ((PIN_PA24N_CCL_IN8 << 16) | MUX_PA24N_CCL_IN8) +#define PORT_PA24N_CCL_IN8 (_UL_(1) << 24) +#define PIN_PB08N_CCL_IN8 _L_(40) /**< \brief CCL signal: IN8 on PB08 mux N */ +#define MUX_PB08N_CCL_IN8 _L_(13) +#define PINMUX_PB08N_CCL_IN8 ((PIN_PB08N_CCL_IN8 << 16) | MUX_PB08N_CCL_IN8) +#define PORT_PB08N_CCL_IN8 (_UL_(1) << 8) +#define PIN_PB14N_CCL_IN9 _L_(46) /**< \brief CCL signal: IN9 on PB14 mux N */ +#define MUX_PB14N_CCL_IN9 _L_(13) +#define PINMUX_PB14N_CCL_IN9 ((PIN_PB14N_CCL_IN9 << 16) | MUX_PB14N_CCL_IN9) +#define PORT_PB14N_CCL_IN9 (_UL_(1) << 14) +#define PIN_PC20N_CCL_IN9 _L_(84) /**< \brief CCL signal: IN9 on PC20 mux N */ +#define MUX_PC20N_CCL_IN9 _L_(13) +#define PINMUX_PC20N_CCL_IN9 ((PIN_PC20N_CCL_IN9 << 16) | MUX_PC20N_CCL_IN9) +#define PORT_PC20N_CCL_IN9 (_UL_(1) << 20) +#define PIN_PB15N_CCL_IN10 _L_(47) /**< \brief CCL signal: IN10 on PB15 mux N */ +#define MUX_PB15N_CCL_IN10 _L_(13) +#define PINMUX_PB15N_CCL_IN10 ((PIN_PB15N_CCL_IN10 << 16) | MUX_PB15N_CCL_IN10) +#define PORT_PB15N_CCL_IN10 (_UL_(1) << 15) +#define PIN_PC21N_CCL_IN10 _L_(85) /**< \brief CCL signal: IN10 on PC21 mux N */ +#define MUX_PC21N_CCL_IN10 _L_(13) +#define PINMUX_PC21N_CCL_IN10 ((PIN_PC21N_CCL_IN10 << 16) | MUX_PC21N_CCL_IN10) +#define PORT_PC21N_CCL_IN10 (_UL_(1) << 21) +#define PIN_PB10N_CCL_IN11 _L_(42) /**< \brief CCL signal: IN11 on PB10 mux N */ +#define MUX_PB10N_CCL_IN11 _L_(13) +#define PINMUX_PB10N_CCL_IN11 ((PIN_PB10N_CCL_IN11 << 16) | MUX_PB10N_CCL_IN11) +#define PORT_PB10N_CCL_IN11 (_UL_(1) << 10) +#define PIN_PB16N_CCL_IN11 _L_(48) /**< \brief CCL signal: IN11 on PB16 mux N */ +#define MUX_PB16N_CCL_IN11 _L_(13) +#define PINMUX_PB16N_CCL_IN11 ((PIN_PB16N_CCL_IN11 << 16) | MUX_PB16N_CCL_IN11) +#define PORT_PB16N_CCL_IN11 (_UL_(1) << 16) +#define PIN_PA07N_CCL_OUT0 _L_(7) /**< \brief CCL signal: OUT0 on PA07 mux N */ +#define MUX_PA07N_CCL_OUT0 _L_(13) +#define PINMUX_PA07N_CCL_OUT0 ((PIN_PA07N_CCL_OUT0 << 16) | MUX_PA07N_CCL_OUT0) +#define PORT_PA07N_CCL_OUT0 (_UL_(1) << 7) +#define PIN_PA19N_CCL_OUT0 _L_(19) /**< \brief CCL signal: OUT0 on PA19 mux N */ +#define MUX_PA19N_CCL_OUT0 _L_(13) +#define PINMUX_PA19N_CCL_OUT0 ((PIN_PA19N_CCL_OUT0 << 16) | MUX_PA19N_CCL_OUT0) +#define PORT_PA19N_CCL_OUT0 (_UL_(1) << 19) +#define PIN_PB02N_CCL_OUT0 _L_(34) /**< \brief CCL signal: OUT0 on PB02 mux N */ +#define MUX_PB02N_CCL_OUT0 _L_(13) +#define PINMUX_PB02N_CCL_OUT0 ((PIN_PB02N_CCL_OUT0 << 16) | MUX_PB02N_CCL_OUT0) +#define PORT_PB02N_CCL_OUT0 (_UL_(1) << 2) +#define PIN_PB23N_CCL_OUT0 _L_(55) /**< \brief CCL signal: OUT0 on PB23 mux N */ +#define MUX_PB23N_CCL_OUT0 _L_(13) +#define PINMUX_PB23N_CCL_OUT0 ((PIN_PB23N_CCL_OUT0 << 16) | MUX_PB23N_CCL_OUT0) +#define PORT_PB23N_CCL_OUT0 (_UL_(1) << 23) +#define PIN_PA11N_CCL_OUT1 _L_(11) /**< \brief CCL signal: OUT1 on PA11 mux N */ +#define MUX_PA11N_CCL_OUT1 _L_(13) +#define PINMUX_PA11N_CCL_OUT1 ((PIN_PA11N_CCL_OUT1 << 16) | MUX_PA11N_CCL_OUT1) +#define PORT_PA11N_CCL_OUT1 (_UL_(1) << 11) +#define PIN_PA31N_CCL_OUT1 _L_(31) /**< \brief CCL signal: OUT1 on PA31 mux N */ +#define MUX_PA31N_CCL_OUT1 _L_(13) +#define PINMUX_PA31N_CCL_OUT1 ((PIN_PA31N_CCL_OUT1 << 16) | MUX_PA31N_CCL_OUT1) +#define PORT_PA31N_CCL_OUT1 (_UL_(1) << 31) +#define PIN_PB11N_CCL_OUT1 _L_(43) /**< \brief CCL signal: OUT1 on PB11 mux N */ +#define MUX_PB11N_CCL_OUT1 _L_(13) +#define PINMUX_PB11N_CCL_OUT1 ((PIN_PB11N_CCL_OUT1 << 16) | MUX_PB11N_CCL_OUT1) +#define PORT_PB11N_CCL_OUT1 (_UL_(1) << 11) +#define PIN_PA25N_CCL_OUT2 _L_(25) /**< \brief CCL signal: OUT2 on PA25 mux N */ +#define MUX_PA25N_CCL_OUT2 _L_(13) +#define PINMUX_PA25N_CCL_OUT2 ((PIN_PA25N_CCL_OUT2 << 16) | MUX_PA25N_CCL_OUT2) +#define PORT_PA25N_CCL_OUT2 (_UL_(1) << 25) +#define PIN_PB09N_CCL_OUT2 _L_(41) /**< \brief CCL signal: OUT2 on PB09 mux N */ +#define MUX_PB09N_CCL_OUT2 _L_(13) +#define PINMUX_PB09N_CCL_OUT2 ((PIN_PB09N_CCL_OUT2 << 16) | MUX_PB09N_CCL_OUT2) +#define PORT_PB09N_CCL_OUT2 (_UL_(1) << 9) +#define PIN_PB17N_CCL_OUT3 _L_(49) /**< \brief CCL signal: OUT3 on PB17 mux N */ +#define MUX_PB17N_CCL_OUT3 _L_(13) +#define PINMUX_PB17N_CCL_OUT3 ((PIN_PB17N_CCL_OUT3 << 16) | MUX_PB17N_CCL_OUT3) +#define PORT_PB17N_CCL_OUT3 (_UL_(1) << 17) +/* ========== PORT definition for SERCOM4 peripheral ========== */ +#define PIN_PA13D_SERCOM4_PAD0 _L_(13) /**< \brief SERCOM4 signal: PAD0 on PA13 mux D */ +#define MUX_PA13D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PA13D_SERCOM4_PAD0 ((PIN_PA13D_SERCOM4_PAD0 << 16) | MUX_PA13D_SERCOM4_PAD0) +#define PORT_PA13D_SERCOM4_PAD0 (_UL_(1) << 13) +#define PIN_PB08D_SERCOM4_PAD0 _L_(40) /**< \brief SERCOM4 signal: PAD0 on PB08 mux D */ +#define MUX_PB08D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PB08D_SERCOM4_PAD0 ((PIN_PB08D_SERCOM4_PAD0 << 16) | MUX_PB08D_SERCOM4_PAD0) +#define PORT_PB08D_SERCOM4_PAD0 (_UL_(1) << 8) +#define PIN_PB27D_SERCOM4_PAD0 _L_(59) /**< \brief SERCOM4 signal: PAD0 on PB27 mux D */ +#define MUX_PB27D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PB27D_SERCOM4_PAD0 ((PIN_PB27D_SERCOM4_PAD0 << 16) | MUX_PB27D_SERCOM4_PAD0) +#define PORT_PB27D_SERCOM4_PAD0 (_UL_(1) << 27) +#define PIN_PB12C_SERCOM4_PAD0 _L_(44) /**< \brief SERCOM4 signal: PAD0 on PB12 mux C */ +#define MUX_PB12C_SERCOM4_PAD0 _L_(2) +#define PINMUX_PB12C_SERCOM4_PAD0 ((PIN_PB12C_SERCOM4_PAD0 << 16) | MUX_PB12C_SERCOM4_PAD0) +#define PORT_PB12C_SERCOM4_PAD0 (_UL_(1) << 12) +#define PIN_PA12D_SERCOM4_PAD1 _L_(12) /**< \brief SERCOM4 signal: PAD1 on PA12 mux D */ +#define MUX_PA12D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PA12D_SERCOM4_PAD1 ((PIN_PA12D_SERCOM4_PAD1 << 16) | MUX_PA12D_SERCOM4_PAD1) +#define PORT_PA12D_SERCOM4_PAD1 (_UL_(1) << 12) +#define PIN_PB09D_SERCOM4_PAD1 _L_(41) /**< \brief SERCOM4 signal: PAD1 on PB09 mux D */ +#define MUX_PB09D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PB09D_SERCOM4_PAD1 ((PIN_PB09D_SERCOM4_PAD1 << 16) | MUX_PB09D_SERCOM4_PAD1) +#define PORT_PB09D_SERCOM4_PAD1 (_UL_(1) << 9) +#define PIN_PB26D_SERCOM4_PAD1 _L_(58) /**< \brief SERCOM4 signal: PAD1 on PB26 mux D */ +#define MUX_PB26D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PB26D_SERCOM4_PAD1 ((PIN_PB26D_SERCOM4_PAD1 << 16) | MUX_PB26D_SERCOM4_PAD1) +#define PORT_PB26D_SERCOM4_PAD1 (_UL_(1) << 26) +#define PIN_PB13C_SERCOM4_PAD1 _L_(45) /**< \brief SERCOM4 signal: PAD1 on PB13 mux C */ +#define MUX_PB13C_SERCOM4_PAD1 _L_(2) +#define PINMUX_PB13C_SERCOM4_PAD1 ((PIN_PB13C_SERCOM4_PAD1 << 16) | MUX_PB13C_SERCOM4_PAD1) +#define PORT_PB13C_SERCOM4_PAD1 (_UL_(1) << 13) +#define PIN_PA14D_SERCOM4_PAD2 _L_(14) /**< \brief SERCOM4 signal: PAD2 on PA14 mux D */ +#define MUX_PA14D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PA14D_SERCOM4_PAD2 ((PIN_PA14D_SERCOM4_PAD2 << 16) | MUX_PA14D_SERCOM4_PAD2) +#define PORT_PA14D_SERCOM4_PAD2 (_UL_(1) << 14) +#define PIN_PB10D_SERCOM4_PAD2 _L_(42) /**< \brief SERCOM4 signal: PAD2 on PB10 mux D */ +#define MUX_PB10D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PB10D_SERCOM4_PAD2 ((PIN_PB10D_SERCOM4_PAD2 << 16) | MUX_PB10D_SERCOM4_PAD2) +#define PORT_PB10D_SERCOM4_PAD2 (_UL_(1) << 10) +#define PIN_PB28D_SERCOM4_PAD2 _L_(60) /**< \brief SERCOM4 signal: PAD2 on PB28 mux D */ +#define MUX_PB28D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PB28D_SERCOM4_PAD2 ((PIN_PB28D_SERCOM4_PAD2 << 16) | MUX_PB28D_SERCOM4_PAD2) +#define PORT_PB28D_SERCOM4_PAD2 (_UL_(1) << 28) +#define PIN_PB14C_SERCOM4_PAD2 _L_(46) /**< \brief SERCOM4 signal: PAD2 on PB14 mux C */ +#define MUX_PB14C_SERCOM4_PAD2 _L_(2) +#define PINMUX_PB14C_SERCOM4_PAD2 ((PIN_PB14C_SERCOM4_PAD2 << 16) | MUX_PB14C_SERCOM4_PAD2) +#define PORT_PB14C_SERCOM4_PAD2 (_UL_(1) << 14) +#define PIN_PB11D_SERCOM4_PAD3 _L_(43) /**< \brief SERCOM4 signal: PAD3 on PB11 mux D */ +#define MUX_PB11D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PB11D_SERCOM4_PAD3 ((PIN_PB11D_SERCOM4_PAD3 << 16) | MUX_PB11D_SERCOM4_PAD3) +#define PORT_PB11D_SERCOM4_PAD3 (_UL_(1) << 11) +#define PIN_PB29D_SERCOM4_PAD3 _L_(61) /**< \brief SERCOM4 signal: PAD3 on PB29 mux D */ +#define MUX_PB29D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PB29D_SERCOM4_PAD3 ((PIN_PB29D_SERCOM4_PAD3 << 16) | MUX_PB29D_SERCOM4_PAD3) +#define PORT_PB29D_SERCOM4_PAD3 (_UL_(1) << 29) +#define PIN_PA15D_SERCOM4_PAD3 _L_(15) /**< \brief SERCOM4 signal: PAD3 on PA15 mux D */ +#define MUX_PA15D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PA15D_SERCOM4_PAD3 ((PIN_PA15D_SERCOM4_PAD3 << 16) | MUX_PA15D_SERCOM4_PAD3) +#define PORT_PA15D_SERCOM4_PAD3 (_UL_(1) << 15) +#define PIN_PB15C_SERCOM4_PAD3 _L_(47) /**< \brief SERCOM4 signal: PAD3 on PB15 mux C */ +#define MUX_PB15C_SERCOM4_PAD3 _L_(2) +#define PINMUX_PB15C_SERCOM4_PAD3 ((PIN_PB15C_SERCOM4_PAD3 << 16) | MUX_PB15C_SERCOM4_PAD3) +#define PORT_PB15C_SERCOM4_PAD3 (_UL_(1) << 15) +/* ========== PORT definition for SERCOM5 peripheral ========== */ +#define PIN_PA23D_SERCOM5_PAD0 _L_(23) /**< \brief SERCOM5 signal: PAD0 on PA23 mux D */ +#define MUX_PA23D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PA23D_SERCOM5_PAD0 ((PIN_PA23D_SERCOM5_PAD0 << 16) | MUX_PA23D_SERCOM5_PAD0) +#define PORT_PA23D_SERCOM5_PAD0 (_UL_(1) << 23) +#define PIN_PB02D_SERCOM5_PAD0 _L_(34) /**< \brief SERCOM5 signal: PAD0 on PB02 mux D */ +#define MUX_PB02D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PB02D_SERCOM5_PAD0 ((PIN_PB02D_SERCOM5_PAD0 << 16) | MUX_PB02D_SERCOM5_PAD0) +#define PORT_PB02D_SERCOM5_PAD0 (_UL_(1) << 2) +#define PIN_PB31D_SERCOM5_PAD0 _L_(63) /**< \brief SERCOM5 signal: PAD0 on PB31 mux D */ +#define MUX_PB31D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PB31D_SERCOM5_PAD0 ((PIN_PB31D_SERCOM5_PAD0 << 16) | MUX_PB31D_SERCOM5_PAD0) +#define PORT_PB31D_SERCOM5_PAD0 (_UL_(1) << 31) +#define PIN_PB16C_SERCOM5_PAD0 _L_(48) /**< \brief SERCOM5 signal: PAD0 on PB16 mux C */ +#define MUX_PB16C_SERCOM5_PAD0 _L_(2) +#define PINMUX_PB16C_SERCOM5_PAD0 ((PIN_PB16C_SERCOM5_PAD0 << 16) | MUX_PB16C_SERCOM5_PAD0) +#define PORT_PB16C_SERCOM5_PAD0 (_UL_(1) << 16) +#define PIN_PA22D_SERCOM5_PAD1 _L_(22) /**< \brief SERCOM5 signal: PAD1 on PA22 mux D */ +#define MUX_PA22D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PA22D_SERCOM5_PAD1 ((PIN_PA22D_SERCOM5_PAD1 << 16) | MUX_PA22D_SERCOM5_PAD1) +#define PORT_PA22D_SERCOM5_PAD1 (_UL_(1) << 22) +#define PIN_PB03D_SERCOM5_PAD1 _L_(35) /**< \brief SERCOM5 signal: PAD1 on PB03 mux D */ +#define MUX_PB03D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PB03D_SERCOM5_PAD1 ((PIN_PB03D_SERCOM5_PAD1 << 16) | MUX_PB03D_SERCOM5_PAD1) +#define PORT_PB03D_SERCOM5_PAD1 (_UL_(1) << 3) +#define PIN_PB30D_SERCOM5_PAD1 _L_(62) /**< \brief SERCOM5 signal: PAD1 on PB30 mux D */ +#define MUX_PB30D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PB30D_SERCOM5_PAD1 ((PIN_PB30D_SERCOM5_PAD1 << 16) | MUX_PB30D_SERCOM5_PAD1) +#define PORT_PB30D_SERCOM5_PAD1 (_UL_(1) << 30) +#define PIN_PB17C_SERCOM5_PAD1 _L_(49) /**< \brief SERCOM5 signal: PAD1 on PB17 mux C */ +#define MUX_PB17C_SERCOM5_PAD1 _L_(2) +#define PINMUX_PB17C_SERCOM5_PAD1 ((PIN_PB17C_SERCOM5_PAD1 << 16) | MUX_PB17C_SERCOM5_PAD1) +#define PORT_PB17C_SERCOM5_PAD1 (_UL_(1) << 17) +#define PIN_PA24D_SERCOM5_PAD2 _L_(24) /**< \brief SERCOM5 signal: PAD2 on PA24 mux D */ +#define MUX_PA24D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PA24D_SERCOM5_PAD2 ((PIN_PA24D_SERCOM5_PAD2 << 16) | MUX_PA24D_SERCOM5_PAD2) +#define PORT_PA24D_SERCOM5_PAD2 (_UL_(1) << 24) +#define PIN_PB00D_SERCOM5_PAD2 _L_(32) /**< \brief SERCOM5 signal: PAD2 on PB00 mux D */ +#define MUX_PB00D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PB00D_SERCOM5_PAD2 ((PIN_PB00D_SERCOM5_PAD2 << 16) | MUX_PB00D_SERCOM5_PAD2) +#define PORT_PB00D_SERCOM5_PAD2 (_UL_(1) << 0) +#define PIN_PB22D_SERCOM5_PAD2 _L_(54) /**< \brief SERCOM5 signal: PAD2 on PB22 mux D */ +#define MUX_PB22D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PB22D_SERCOM5_PAD2 ((PIN_PB22D_SERCOM5_PAD2 << 16) | MUX_PB22D_SERCOM5_PAD2) +#define PORT_PB22D_SERCOM5_PAD2 (_UL_(1) << 22) +#define PIN_PA20C_SERCOM5_PAD2 _L_(20) /**< \brief SERCOM5 signal: PAD2 on PA20 mux C */ +#define MUX_PA20C_SERCOM5_PAD2 _L_(2) +#define PINMUX_PA20C_SERCOM5_PAD2 ((PIN_PA20C_SERCOM5_PAD2 << 16) | MUX_PA20C_SERCOM5_PAD2) +#define PORT_PA20C_SERCOM5_PAD2 (_UL_(1) << 20) +#define PIN_PB18C_SERCOM5_PAD2 _L_(50) /**< \brief SERCOM5 signal: PAD2 on PB18 mux C */ +#define MUX_PB18C_SERCOM5_PAD2 _L_(2) +#define PINMUX_PB18C_SERCOM5_PAD2 ((PIN_PB18C_SERCOM5_PAD2 << 16) | MUX_PB18C_SERCOM5_PAD2) +#define PORT_PB18C_SERCOM5_PAD2 (_UL_(1) << 18) +#define PIN_PA25D_SERCOM5_PAD3 _L_(25) /**< \brief SERCOM5 signal: PAD3 on PA25 mux D */ +#define MUX_PA25D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PA25D_SERCOM5_PAD3 ((PIN_PA25D_SERCOM5_PAD3 << 16) | MUX_PA25D_SERCOM5_PAD3) +#define PORT_PA25D_SERCOM5_PAD3 (_UL_(1) << 25) +#define PIN_PB01D_SERCOM5_PAD3 _L_(33) /**< \brief SERCOM5 signal: PAD3 on PB01 mux D */ +#define MUX_PB01D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PB01D_SERCOM5_PAD3 ((PIN_PB01D_SERCOM5_PAD3 << 16) | MUX_PB01D_SERCOM5_PAD3) +#define PORT_PB01D_SERCOM5_PAD3 (_UL_(1) << 1) +#define PIN_PB23D_SERCOM5_PAD3 _L_(55) /**< \brief SERCOM5 signal: PAD3 on PB23 mux D */ +#define MUX_PB23D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PB23D_SERCOM5_PAD3 ((PIN_PB23D_SERCOM5_PAD3 << 16) | MUX_PB23D_SERCOM5_PAD3) +#define PORT_PB23D_SERCOM5_PAD3 (_UL_(1) << 23) +#define PIN_PA21C_SERCOM5_PAD3 _L_(21) /**< \brief SERCOM5 signal: PAD3 on PA21 mux C */ +#define MUX_PA21C_SERCOM5_PAD3 _L_(2) +#define PINMUX_PA21C_SERCOM5_PAD3 ((PIN_PA21C_SERCOM5_PAD3 << 16) | MUX_PA21C_SERCOM5_PAD3) +#define PORT_PA21C_SERCOM5_PAD3 (_UL_(1) << 21) +#define PIN_PB19C_SERCOM5_PAD3 _L_(51) /**< \brief SERCOM5 signal: PAD3 on PB19 mux C */ +#define MUX_PB19C_SERCOM5_PAD3 _L_(2) +#define PINMUX_PB19C_SERCOM5_PAD3 ((PIN_PB19C_SERCOM5_PAD3 << 16) | MUX_PB19C_SERCOM5_PAD3) +#define PORT_PB19C_SERCOM5_PAD3 (_UL_(1) << 19) +/* ========== PORT definition for SERCOM6 peripheral ========== */ +#define PIN_PD09D_SERCOM6_PAD0 _L_(105) /**< \brief SERCOM6 signal: PAD0 on PD09 mux D */ +#define MUX_PD09D_SERCOM6_PAD0 _L_(3) +#define PINMUX_PD09D_SERCOM6_PAD0 ((PIN_PD09D_SERCOM6_PAD0 << 16) | MUX_PD09D_SERCOM6_PAD0) +#define PORT_PD09D_SERCOM6_PAD0 (_UL_(1) << 9) +#define PIN_PC13D_SERCOM6_PAD0 _L_(77) /**< \brief SERCOM6 signal: PAD0 on PC13 mux D */ +#define MUX_PC13D_SERCOM6_PAD0 _L_(3) +#define PINMUX_PC13D_SERCOM6_PAD0 ((PIN_PC13D_SERCOM6_PAD0 << 16) | MUX_PC13D_SERCOM6_PAD0) +#define PORT_PC13D_SERCOM6_PAD0 (_UL_(1) << 13) +#define PIN_PC04C_SERCOM6_PAD0 _L_(68) /**< \brief SERCOM6 signal: PAD0 on PC04 mux C */ +#define MUX_PC04C_SERCOM6_PAD0 _L_(2) +#define PINMUX_PC04C_SERCOM6_PAD0 ((PIN_PC04C_SERCOM6_PAD0 << 16) | MUX_PC04C_SERCOM6_PAD0) +#define PORT_PC04C_SERCOM6_PAD0 (_UL_(1) << 4) +#define PIN_PC16C_SERCOM6_PAD0 _L_(80) /**< \brief SERCOM6 signal: PAD0 on PC16 mux C */ +#define MUX_PC16C_SERCOM6_PAD0 _L_(2) +#define PINMUX_PC16C_SERCOM6_PAD0 ((PIN_PC16C_SERCOM6_PAD0 << 16) | MUX_PC16C_SERCOM6_PAD0) +#define PORT_PC16C_SERCOM6_PAD0 (_UL_(1) << 16) +#define PIN_PD08D_SERCOM6_PAD1 _L_(104) /**< \brief SERCOM6 signal: PAD1 on PD08 mux D */ +#define MUX_PD08D_SERCOM6_PAD1 _L_(3) +#define PINMUX_PD08D_SERCOM6_PAD1 ((PIN_PD08D_SERCOM6_PAD1 << 16) | MUX_PD08D_SERCOM6_PAD1) +#define PORT_PD08D_SERCOM6_PAD1 (_UL_(1) << 8) +#define PIN_PC12D_SERCOM6_PAD1 _L_(76) /**< \brief SERCOM6 signal: PAD1 on PC12 mux D */ +#define MUX_PC12D_SERCOM6_PAD1 _L_(3) +#define PINMUX_PC12D_SERCOM6_PAD1 ((PIN_PC12D_SERCOM6_PAD1 << 16) | MUX_PC12D_SERCOM6_PAD1) +#define PORT_PC12D_SERCOM6_PAD1 (_UL_(1) << 12) +#define PIN_PC05C_SERCOM6_PAD1 _L_(69) /**< \brief SERCOM6 signal: PAD1 on PC05 mux C */ +#define MUX_PC05C_SERCOM6_PAD1 _L_(2) +#define PINMUX_PC05C_SERCOM6_PAD1 ((PIN_PC05C_SERCOM6_PAD1 << 16) | MUX_PC05C_SERCOM6_PAD1) +#define PORT_PC05C_SERCOM6_PAD1 (_UL_(1) << 5) +#define PIN_PC17C_SERCOM6_PAD1 _L_(81) /**< \brief SERCOM6 signal: PAD1 on PC17 mux C */ +#define MUX_PC17C_SERCOM6_PAD1 _L_(2) +#define PINMUX_PC17C_SERCOM6_PAD1 ((PIN_PC17C_SERCOM6_PAD1 << 16) | MUX_PC17C_SERCOM6_PAD1) +#define PORT_PC17C_SERCOM6_PAD1 (_UL_(1) << 17) +#define PIN_PC14D_SERCOM6_PAD2 _L_(78) /**< \brief SERCOM6 signal: PAD2 on PC14 mux D */ +#define MUX_PC14D_SERCOM6_PAD2 _L_(3) +#define PINMUX_PC14D_SERCOM6_PAD2 ((PIN_PC14D_SERCOM6_PAD2 << 16) | MUX_PC14D_SERCOM6_PAD2) +#define PORT_PC14D_SERCOM6_PAD2 (_UL_(1) << 14) +#define PIN_PD10D_SERCOM6_PAD2 _L_(106) /**< \brief SERCOM6 signal: PAD2 on PD10 mux D */ +#define MUX_PD10D_SERCOM6_PAD2 _L_(3) +#define PINMUX_PD10D_SERCOM6_PAD2 ((PIN_PD10D_SERCOM6_PAD2 << 16) | MUX_PD10D_SERCOM6_PAD2) +#define PORT_PD10D_SERCOM6_PAD2 (_UL_(1) << 10) +#define PIN_PC06C_SERCOM6_PAD2 _L_(70) /**< \brief SERCOM6 signal: PAD2 on PC06 mux C */ +#define MUX_PC06C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC06C_SERCOM6_PAD2 ((PIN_PC06C_SERCOM6_PAD2 << 16) | MUX_PC06C_SERCOM6_PAD2) +#define PORT_PC06C_SERCOM6_PAD2 (_UL_(1) << 6) +#define PIN_PC10C_SERCOM6_PAD2 _L_(74) /**< \brief SERCOM6 signal: PAD2 on PC10 mux C */ +#define MUX_PC10C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC10C_SERCOM6_PAD2 ((PIN_PC10C_SERCOM6_PAD2 << 16) | MUX_PC10C_SERCOM6_PAD2) +#define PORT_PC10C_SERCOM6_PAD2 (_UL_(1) << 10) +#define PIN_PC18C_SERCOM6_PAD2 _L_(82) /**< \brief SERCOM6 signal: PAD2 on PC18 mux C */ +#define MUX_PC18C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC18C_SERCOM6_PAD2 ((PIN_PC18C_SERCOM6_PAD2 << 16) | MUX_PC18C_SERCOM6_PAD2) +#define PORT_PC18C_SERCOM6_PAD2 (_UL_(1) << 18) +#define PIN_PC15D_SERCOM6_PAD3 _L_(79) /**< \brief SERCOM6 signal: PAD3 on PC15 mux D */ +#define MUX_PC15D_SERCOM6_PAD3 _L_(3) +#define PINMUX_PC15D_SERCOM6_PAD3 ((PIN_PC15D_SERCOM6_PAD3 << 16) | MUX_PC15D_SERCOM6_PAD3) +#define PORT_PC15D_SERCOM6_PAD3 (_UL_(1) << 15) +#define PIN_PD11D_SERCOM6_PAD3 _L_(107) /**< \brief SERCOM6 signal: PAD3 on PD11 mux D */ +#define MUX_PD11D_SERCOM6_PAD3 _L_(3) +#define PINMUX_PD11D_SERCOM6_PAD3 ((PIN_PD11D_SERCOM6_PAD3 << 16) | MUX_PD11D_SERCOM6_PAD3) +#define PORT_PD11D_SERCOM6_PAD3 (_UL_(1) << 11) +#define PIN_PC07C_SERCOM6_PAD3 _L_(71) /**< \brief SERCOM6 signal: PAD3 on PC07 mux C */ +#define MUX_PC07C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC07C_SERCOM6_PAD3 ((PIN_PC07C_SERCOM6_PAD3 << 16) | MUX_PC07C_SERCOM6_PAD3) +#define PORT_PC07C_SERCOM6_PAD3 (_UL_(1) << 7) +#define PIN_PC11C_SERCOM6_PAD3 _L_(75) /**< \brief SERCOM6 signal: PAD3 on PC11 mux C */ +#define MUX_PC11C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC11C_SERCOM6_PAD3 ((PIN_PC11C_SERCOM6_PAD3 << 16) | MUX_PC11C_SERCOM6_PAD3) +#define PORT_PC11C_SERCOM6_PAD3 (_UL_(1) << 11) +#define PIN_PC19C_SERCOM6_PAD3 _L_(83) /**< \brief SERCOM6 signal: PAD3 on PC19 mux C */ +#define MUX_PC19C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC19C_SERCOM6_PAD3 ((PIN_PC19C_SERCOM6_PAD3 << 16) | MUX_PC19C_SERCOM6_PAD3) +#define PORT_PC19C_SERCOM6_PAD3 (_UL_(1) << 19) +/* ========== PORT definition for SERCOM7 peripheral ========== */ +#define PIN_PB21D_SERCOM7_PAD0 _L_(53) /**< \brief SERCOM7 signal: PAD0 on PB21 mux D */ +#define MUX_PB21D_SERCOM7_PAD0 _L_(3) +#define PINMUX_PB21D_SERCOM7_PAD0 ((PIN_PB21D_SERCOM7_PAD0 << 16) | MUX_PB21D_SERCOM7_PAD0) +#define PORT_PB21D_SERCOM7_PAD0 (_UL_(1) << 21) +#define PIN_PD08C_SERCOM7_PAD0 _L_(104) /**< \brief SERCOM7 signal: PAD0 on PD08 mux C */ +#define MUX_PD08C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PD08C_SERCOM7_PAD0 ((PIN_PD08C_SERCOM7_PAD0 << 16) | MUX_PD08C_SERCOM7_PAD0) +#define PORT_PD08C_SERCOM7_PAD0 (_UL_(1) << 8) +#define PIN_PB30C_SERCOM7_PAD0 _L_(62) /**< \brief SERCOM7 signal: PAD0 on PB30 mux C */ +#define MUX_PB30C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PB30C_SERCOM7_PAD0 ((PIN_PB30C_SERCOM7_PAD0 << 16) | MUX_PB30C_SERCOM7_PAD0) +#define PORT_PB30C_SERCOM7_PAD0 (_UL_(1) << 30) +#define PIN_PC12C_SERCOM7_PAD0 _L_(76) /**< \brief SERCOM7 signal: PAD0 on PC12 mux C */ +#define MUX_PC12C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PC12C_SERCOM7_PAD0 ((PIN_PC12C_SERCOM7_PAD0 << 16) | MUX_PC12C_SERCOM7_PAD0) +#define PORT_PC12C_SERCOM7_PAD0 (_UL_(1) << 12) +#define PIN_PB20D_SERCOM7_PAD1 _L_(52) /**< \brief SERCOM7 signal: PAD1 on PB20 mux D */ +#define MUX_PB20D_SERCOM7_PAD1 _L_(3) +#define PINMUX_PB20D_SERCOM7_PAD1 ((PIN_PB20D_SERCOM7_PAD1 << 16) | MUX_PB20D_SERCOM7_PAD1) +#define PORT_PB20D_SERCOM7_PAD1 (_UL_(1) << 20) +#define PIN_PD09C_SERCOM7_PAD1 _L_(105) /**< \brief SERCOM7 signal: PAD1 on PD09 mux C */ +#define MUX_PD09C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PD09C_SERCOM7_PAD1 ((PIN_PD09C_SERCOM7_PAD1 << 16) | MUX_PD09C_SERCOM7_PAD1) +#define PORT_PD09C_SERCOM7_PAD1 (_UL_(1) << 9) +#define PIN_PB31C_SERCOM7_PAD1 _L_(63) /**< \brief SERCOM7 signal: PAD1 on PB31 mux C */ +#define MUX_PB31C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PB31C_SERCOM7_PAD1 ((PIN_PB31C_SERCOM7_PAD1 << 16) | MUX_PB31C_SERCOM7_PAD1) +#define PORT_PB31C_SERCOM7_PAD1 (_UL_(1) << 31) +#define PIN_PC13C_SERCOM7_PAD1 _L_(77) /**< \brief SERCOM7 signal: PAD1 on PC13 mux C */ +#define MUX_PC13C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PC13C_SERCOM7_PAD1 ((PIN_PC13C_SERCOM7_PAD1 << 16) | MUX_PC13C_SERCOM7_PAD1) +#define PORT_PC13C_SERCOM7_PAD1 (_UL_(1) << 13) +#define PIN_PB18D_SERCOM7_PAD2 _L_(50) /**< \brief SERCOM7 signal: PAD2 on PB18 mux D */ +#define MUX_PB18D_SERCOM7_PAD2 _L_(3) +#define PINMUX_PB18D_SERCOM7_PAD2 ((PIN_PB18D_SERCOM7_PAD2 << 16) | MUX_PB18D_SERCOM7_PAD2) +#define PORT_PB18D_SERCOM7_PAD2 (_UL_(1) << 18) +#define PIN_PC10D_SERCOM7_PAD2 _L_(74) /**< \brief SERCOM7 signal: PAD2 on PC10 mux D */ +#define MUX_PC10D_SERCOM7_PAD2 _L_(3) +#define PINMUX_PC10D_SERCOM7_PAD2 ((PIN_PC10D_SERCOM7_PAD2 << 16) | MUX_PC10D_SERCOM7_PAD2) +#define PORT_PC10D_SERCOM7_PAD2 (_UL_(1) << 10) +#define PIN_PC14C_SERCOM7_PAD2 _L_(78) /**< \brief SERCOM7 signal: PAD2 on PC14 mux C */ +#define MUX_PC14C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PC14C_SERCOM7_PAD2 ((PIN_PC14C_SERCOM7_PAD2 << 16) | MUX_PC14C_SERCOM7_PAD2) +#define PORT_PC14C_SERCOM7_PAD2 (_UL_(1) << 14) +#define PIN_PD10C_SERCOM7_PAD2 _L_(106) /**< \brief SERCOM7 signal: PAD2 on PD10 mux C */ +#define MUX_PD10C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PD10C_SERCOM7_PAD2 ((PIN_PD10C_SERCOM7_PAD2 << 16) | MUX_PD10C_SERCOM7_PAD2) +#define PORT_PD10C_SERCOM7_PAD2 (_UL_(1) << 10) +#define PIN_PA30C_SERCOM7_PAD2 _L_(30) /**< \brief SERCOM7 signal: PAD2 on PA30 mux C */ +#define MUX_PA30C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PA30C_SERCOM7_PAD2 ((PIN_PA30C_SERCOM7_PAD2 << 16) | MUX_PA30C_SERCOM7_PAD2) +#define PORT_PA30C_SERCOM7_PAD2 (_UL_(1) << 30) +#define PIN_PB19D_SERCOM7_PAD3 _L_(51) /**< \brief SERCOM7 signal: PAD3 on PB19 mux D */ +#define MUX_PB19D_SERCOM7_PAD3 _L_(3) +#define PINMUX_PB19D_SERCOM7_PAD3 ((PIN_PB19D_SERCOM7_PAD3 << 16) | MUX_PB19D_SERCOM7_PAD3) +#define PORT_PB19D_SERCOM7_PAD3 (_UL_(1) << 19) +#define PIN_PC11D_SERCOM7_PAD3 _L_(75) /**< \brief SERCOM7 signal: PAD3 on PC11 mux D */ +#define MUX_PC11D_SERCOM7_PAD3 _L_(3) +#define PINMUX_PC11D_SERCOM7_PAD3 ((PIN_PC11D_SERCOM7_PAD3 << 16) | MUX_PC11D_SERCOM7_PAD3) +#define PORT_PC11D_SERCOM7_PAD3 (_UL_(1) << 11) +#define PIN_PC15C_SERCOM7_PAD3 _L_(79) /**< \brief SERCOM7 signal: PAD3 on PC15 mux C */ +#define MUX_PC15C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PC15C_SERCOM7_PAD3 ((PIN_PC15C_SERCOM7_PAD3 << 16) | MUX_PC15C_SERCOM7_PAD3) +#define PORT_PC15C_SERCOM7_PAD3 (_UL_(1) << 15) +#define PIN_PD11C_SERCOM7_PAD3 _L_(107) /**< \brief SERCOM7 signal: PAD3 on PD11 mux C */ +#define MUX_PD11C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PD11C_SERCOM7_PAD3 ((PIN_PD11C_SERCOM7_PAD3 << 16) | MUX_PD11C_SERCOM7_PAD3) +#define PORT_PD11C_SERCOM7_PAD3 (_UL_(1) << 11) +#define PIN_PA31C_SERCOM7_PAD3 _L_(31) /**< \brief SERCOM7 signal: PAD3 on PA31 mux C */ +#define MUX_PA31C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PA31C_SERCOM7_PAD3 ((PIN_PA31C_SERCOM7_PAD3 << 16) | MUX_PA31C_SERCOM7_PAD3) +#define PORT_PA31C_SERCOM7_PAD3 (_UL_(1) << 31) +/* ========== PORT definition for TCC4 peripheral ========== */ +#define PIN_PB14F_TCC4_WO0 _L_(46) /**< \brief TCC4 signal: WO0 on PB14 mux F */ +#define MUX_PB14F_TCC4_WO0 _L_(5) +#define PINMUX_PB14F_TCC4_WO0 ((PIN_PB14F_TCC4_WO0 << 16) | MUX_PB14F_TCC4_WO0) +#define PORT_PB14F_TCC4_WO0 (_UL_(1) << 14) +#define PIN_PB30F_TCC4_WO0 _L_(62) /**< \brief TCC4 signal: WO0 on PB30 mux F */ +#define MUX_PB30F_TCC4_WO0 _L_(5) +#define PINMUX_PB30F_TCC4_WO0 ((PIN_PB30F_TCC4_WO0 << 16) | MUX_PB30F_TCC4_WO0) +#define PORT_PB30F_TCC4_WO0 (_UL_(1) << 30) +#define PIN_PB15F_TCC4_WO1 _L_(47) /**< \brief TCC4 signal: WO1 on PB15 mux F */ +#define MUX_PB15F_TCC4_WO1 _L_(5) +#define PINMUX_PB15F_TCC4_WO1 ((PIN_PB15F_TCC4_WO1 << 16) | MUX_PB15F_TCC4_WO1) +#define PORT_PB15F_TCC4_WO1 (_UL_(1) << 15) +#define PIN_PB31F_TCC4_WO1 _L_(63) /**< \brief TCC4 signal: WO1 on PB31 mux F */ +#define MUX_PB31F_TCC4_WO1 _L_(5) +#define PINMUX_PB31F_TCC4_WO1 ((PIN_PB31F_TCC4_WO1 << 16) | MUX_PB31F_TCC4_WO1) +#define PORT_PB31F_TCC4_WO1 (_UL_(1) << 31) +/* ========== PORT definition for TC6 peripheral ========== */ +#define PIN_PA30E_TC6_WO0 _L_(30) /**< \brief TC6 signal: WO0 on PA30 mux E */ +#define MUX_PA30E_TC6_WO0 _L_(4) +#define PINMUX_PA30E_TC6_WO0 ((PIN_PA30E_TC6_WO0 << 16) | MUX_PA30E_TC6_WO0) +#define PORT_PA30E_TC6_WO0 (_UL_(1) << 30) +#define PIN_PB02E_TC6_WO0 _L_(34) /**< \brief TC6 signal: WO0 on PB02 mux E */ +#define MUX_PB02E_TC6_WO0 _L_(4) +#define PINMUX_PB02E_TC6_WO0 ((PIN_PB02E_TC6_WO0 << 16) | MUX_PB02E_TC6_WO0) +#define PORT_PB02E_TC6_WO0 (_UL_(1) << 2) +#define PIN_PB16E_TC6_WO0 _L_(48) /**< \brief TC6 signal: WO0 on PB16 mux E */ +#define MUX_PB16E_TC6_WO0 _L_(4) +#define PINMUX_PB16E_TC6_WO0 ((PIN_PB16E_TC6_WO0 << 16) | MUX_PB16E_TC6_WO0) +#define PORT_PB16E_TC6_WO0 (_UL_(1) << 16) +#define PIN_PA31E_TC6_WO1 _L_(31) /**< \brief TC6 signal: WO1 on PA31 mux E */ +#define MUX_PA31E_TC6_WO1 _L_(4) +#define PINMUX_PA31E_TC6_WO1 ((PIN_PA31E_TC6_WO1 << 16) | MUX_PA31E_TC6_WO1) +#define PORT_PA31E_TC6_WO1 (_UL_(1) << 31) +#define PIN_PB03E_TC6_WO1 _L_(35) /**< \brief TC6 signal: WO1 on PB03 mux E */ +#define MUX_PB03E_TC6_WO1 _L_(4) +#define PINMUX_PB03E_TC6_WO1 ((PIN_PB03E_TC6_WO1 << 16) | MUX_PB03E_TC6_WO1) +#define PORT_PB03E_TC6_WO1 (_UL_(1) << 3) +#define PIN_PB17E_TC6_WO1 _L_(49) /**< \brief TC6 signal: WO1 on PB17 mux E */ +#define MUX_PB17E_TC6_WO1 _L_(4) +#define PINMUX_PB17E_TC6_WO1 ((PIN_PB17E_TC6_WO1 << 16) | MUX_PB17E_TC6_WO1) +#define PORT_PB17E_TC6_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC7 peripheral ========== */ +#define PIN_PA20E_TC7_WO0 _L_(20) /**< \brief TC7 signal: WO0 on PA20 mux E */ +#define MUX_PA20E_TC7_WO0 _L_(4) +#define PINMUX_PA20E_TC7_WO0 ((PIN_PA20E_TC7_WO0 << 16) | MUX_PA20E_TC7_WO0) +#define PORT_PA20E_TC7_WO0 (_UL_(1) << 20) +#define PIN_PB00E_TC7_WO0 _L_(32) /**< \brief TC7 signal: WO0 on PB00 mux E */ +#define MUX_PB00E_TC7_WO0 _L_(4) +#define PINMUX_PB00E_TC7_WO0 ((PIN_PB00E_TC7_WO0 << 16) | MUX_PB00E_TC7_WO0) +#define PORT_PB00E_TC7_WO0 (_UL_(1) << 0) +#define PIN_PB22E_TC7_WO0 _L_(54) /**< \brief TC7 signal: WO0 on PB22 mux E */ +#define MUX_PB22E_TC7_WO0 _L_(4) +#define PINMUX_PB22E_TC7_WO0 ((PIN_PB22E_TC7_WO0 << 16) | MUX_PB22E_TC7_WO0) +#define PORT_PB22E_TC7_WO0 (_UL_(1) << 22) +#define PIN_PA21E_TC7_WO1 _L_(21) /**< \brief TC7 signal: WO1 on PA21 mux E */ +#define MUX_PA21E_TC7_WO1 _L_(4) +#define PINMUX_PA21E_TC7_WO1 ((PIN_PA21E_TC7_WO1 << 16) | MUX_PA21E_TC7_WO1) +#define PORT_PA21E_TC7_WO1 (_UL_(1) << 21) +#define PIN_PB01E_TC7_WO1 _L_(33) /**< \brief TC7 signal: WO1 on PB01 mux E */ +#define MUX_PB01E_TC7_WO1 _L_(4) +#define PINMUX_PB01E_TC7_WO1 ((PIN_PB01E_TC7_WO1 << 16) | MUX_PB01E_TC7_WO1) +#define PORT_PB01E_TC7_WO1 (_UL_(1) << 1) +#define PIN_PB23E_TC7_WO1 _L_(55) /**< \brief TC7 signal: WO1 on PB23 mux E */ +#define MUX_PB23E_TC7_WO1 _L_(4) +#define PINMUX_PB23E_TC7_WO1 ((PIN_PB23E_TC7_WO1 << 16) | MUX_PB23E_TC7_WO1) +#define PORT_PB23E_TC7_WO1 (_UL_(1) << 23) +/* ========== PORT definition for ADC0 peripheral ========== */ +#define PIN_PA02B_ADC0_AIN0 _L_(2) /**< \brief ADC0 signal: AIN0 on PA02 mux B */ +#define MUX_PA02B_ADC0_AIN0 _L_(1) +#define PINMUX_PA02B_ADC0_AIN0 ((PIN_PA02B_ADC0_AIN0 << 16) | MUX_PA02B_ADC0_AIN0) +#define PORT_PA02B_ADC0_AIN0 (_UL_(1) << 2) +#define PIN_PA03B_ADC0_AIN1 _L_(3) /**< \brief ADC0 signal: AIN1 on PA03 mux B */ +#define MUX_PA03B_ADC0_AIN1 _L_(1) +#define PINMUX_PA03B_ADC0_AIN1 ((PIN_PA03B_ADC0_AIN1 << 16) | MUX_PA03B_ADC0_AIN1) +#define PORT_PA03B_ADC0_AIN1 (_UL_(1) << 3) +#define PIN_PB08B_ADC0_AIN2 _L_(40) /**< \brief ADC0 signal: AIN2 on PB08 mux B */ +#define MUX_PB08B_ADC0_AIN2 _L_(1) +#define PINMUX_PB08B_ADC0_AIN2 ((PIN_PB08B_ADC0_AIN2 << 16) | MUX_PB08B_ADC0_AIN2) +#define PORT_PB08B_ADC0_AIN2 (_UL_(1) << 8) +#define PIN_PB09B_ADC0_AIN3 _L_(41) /**< \brief ADC0 signal: AIN3 on PB09 mux B */ +#define MUX_PB09B_ADC0_AIN3 _L_(1) +#define PINMUX_PB09B_ADC0_AIN3 ((PIN_PB09B_ADC0_AIN3 << 16) | MUX_PB09B_ADC0_AIN3) +#define PORT_PB09B_ADC0_AIN3 (_UL_(1) << 9) +#define PIN_PA04B_ADC0_AIN4 _L_(4) /**< \brief ADC0 signal: AIN4 on PA04 mux B */ +#define MUX_PA04B_ADC0_AIN4 _L_(1) +#define PINMUX_PA04B_ADC0_AIN4 ((PIN_PA04B_ADC0_AIN4 << 16) | MUX_PA04B_ADC0_AIN4) +#define PORT_PA04B_ADC0_AIN4 (_UL_(1) << 4) +#define PIN_PA05B_ADC0_AIN5 _L_(5) /**< \brief ADC0 signal: AIN5 on PA05 mux B */ +#define MUX_PA05B_ADC0_AIN5 _L_(1) +#define PINMUX_PA05B_ADC0_AIN5 ((PIN_PA05B_ADC0_AIN5 << 16) | MUX_PA05B_ADC0_AIN5) +#define PORT_PA05B_ADC0_AIN5 (_UL_(1) << 5) +#define PIN_PA06B_ADC0_AIN6 _L_(6) /**< \brief ADC0 signal: AIN6 on PA06 mux B */ +#define MUX_PA06B_ADC0_AIN6 _L_(1) +#define PINMUX_PA06B_ADC0_AIN6 ((PIN_PA06B_ADC0_AIN6 << 16) | MUX_PA06B_ADC0_AIN6) +#define PORT_PA06B_ADC0_AIN6 (_UL_(1) << 6) +#define PIN_PA07B_ADC0_AIN7 _L_(7) /**< \brief ADC0 signal: AIN7 on PA07 mux B */ +#define MUX_PA07B_ADC0_AIN7 _L_(1) +#define PINMUX_PA07B_ADC0_AIN7 ((PIN_PA07B_ADC0_AIN7 << 16) | MUX_PA07B_ADC0_AIN7) +#define PORT_PA07B_ADC0_AIN7 (_UL_(1) << 7) +#define PIN_PA08B_ADC0_AIN8 _L_(8) /**< \brief ADC0 signal: AIN8 on PA08 mux B */ +#define MUX_PA08B_ADC0_AIN8 _L_(1) +#define PINMUX_PA08B_ADC0_AIN8 ((PIN_PA08B_ADC0_AIN8 << 16) | MUX_PA08B_ADC0_AIN8) +#define PORT_PA08B_ADC0_AIN8 (_UL_(1) << 8) +#define PIN_PA09B_ADC0_AIN9 _L_(9) /**< \brief ADC0 signal: AIN9 on PA09 mux B */ +#define MUX_PA09B_ADC0_AIN9 _L_(1) +#define PINMUX_PA09B_ADC0_AIN9 ((PIN_PA09B_ADC0_AIN9 << 16) | MUX_PA09B_ADC0_AIN9) +#define PORT_PA09B_ADC0_AIN9 (_UL_(1) << 9) +#define PIN_PA10B_ADC0_AIN10 _L_(10) /**< \brief ADC0 signal: AIN10 on PA10 mux B */ +#define MUX_PA10B_ADC0_AIN10 _L_(1) +#define PINMUX_PA10B_ADC0_AIN10 ((PIN_PA10B_ADC0_AIN10 << 16) | MUX_PA10B_ADC0_AIN10) +#define PORT_PA10B_ADC0_AIN10 (_UL_(1) << 10) +#define PIN_PA11B_ADC0_AIN11 _L_(11) /**< \brief ADC0 signal: AIN11 on PA11 mux B */ +#define MUX_PA11B_ADC0_AIN11 _L_(1) +#define PINMUX_PA11B_ADC0_AIN11 ((PIN_PA11B_ADC0_AIN11 << 16) | MUX_PA11B_ADC0_AIN11) +#define PORT_PA11B_ADC0_AIN11 (_UL_(1) << 11) +#define PIN_PB00B_ADC0_AIN12 _L_(32) /**< \brief ADC0 signal: AIN12 on PB00 mux B */ +#define MUX_PB00B_ADC0_AIN12 _L_(1) +#define PINMUX_PB00B_ADC0_AIN12 ((PIN_PB00B_ADC0_AIN12 << 16) | MUX_PB00B_ADC0_AIN12) +#define PORT_PB00B_ADC0_AIN12 (_UL_(1) << 0) +#define PIN_PB01B_ADC0_AIN13 _L_(33) /**< \brief ADC0 signal: AIN13 on PB01 mux B */ +#define MUX_PB01B_ADC0_AIN13 _L_(1) +#define PINMUX_PB01B_ADC0_AIN13 ((PIN_PB01B_ADC0_AIN13 << 16) | MUX_PB01B_ADC0_AIN13) +#define PORT_PB01B_ADC0_AIN13 (_UL_(1) << 1) +#define PIN_PB02B_ADC0_AIN14 _L_(34) /**< \brief ADC0 signal: AIN14 on PB02 mux B */ +#define MUX_PB02B_ADC0_AIN14 _L_(1) +#define PINMUX_PB02B_ADC0_AIN14 ((PIN_PB02B_ADC0_AIN14 << 16) | MUX_PB02B_ADC0_AIN14) +#define PORT_PB02B_ADC0_AIN14 (_UL_(1) << 2) +#define PIN_PB03B_ADC0_AIN15 _L_(35) /**< \brief ADC0 signal: AIN15 on PB03 mux B */ +#define MUX_PB03B_ADC0_AIN15 _L_(1) +#define PINMUX_PB03B_ADC0_AIN15 ((PIN_PB03B_ADC0_AIN15 << 16) | MUX_PB03B_ADC0_AIN15) +#define PORT_PB03B_ADC0_AIN15 (_UL_(1) << 3) +#define PIN_PA03O_ADC0_DRV0 _L_(3) /**< \brief ADC0 signal: DRV0 on PA03 mux O */ +#define MUX_PA03O_ADC0_DRV0 _L_(14) +#define PINMUX_PA03O_ADC0_DRV0 ((PIN_PA03O_ADC0_DRV0 << 16) | MUX_PA03O_ADC0_DRV0) +#define PORT_PA03O_ADC0_DRV0 (_UL_(1) << 3) +#define PIN_PB08O_ADC0_DRV1 _L_(40) /**< \brief ADC0 signal: DRV1 on PB08 mux O */ +#define MUX_PB08O_ADC0_DRV1 _L_(14) +#define PINMUX_PB08O_ADC0_DRV1 ((PIN_PB08O_ADC0_DRV1 << 16) | MUX_PB08O_ADC0_DRV1) +#define PORT_PB08O_ADC0_DRV1 (_UL_(1) << 8) +#define PIN_PB09O_ADC0_DRV2 _L_(41) /**< \brief ADC0 signal: DRV2 on PB09 mux O */ +#define MUX_PB09O_ADC0_DRV2 _L_(14) +#define PINMUX_PB09O_ADC0_DRV2 ((PIN_PB09O_ADC0_DRV2 << 16) | MUX_PB09O_ADC0_DRV2) +#define PORT_PB09O_ADC0_DRV2 (_UL_(1) << 9) +#define PIN_PA04O_ADC0_DRV3 _L_(4) /**< \brief ADC0 signal: DRV3 on PA04 mux O */ +#define MUX_PA04O_ADC0_DRV3 _L_(14) +#define PINMUX_PA04O_ADC0_DRV3 ((PIN_PA04O_ADC0_DRV3 << 16) | MUX_PA04O_ADC0_DRV3) +#define PORT_PA04O_ADC0_DRV3 (_UL_(1) << 4) +#define PIN_PA06O_ADC0_DRV4 _L_(6) /**< \brief ADC0 signal: DRV4 on PA06 mux O */ +#define MUX_PA06O_ADC0_DRV4 _L_(14) +#define PINMUX_PA06O_ADC0_DRV4 ((PIN_PA06O_ADC0_DRV4 << 16) | MUX_PA06O_ADC0_DRV4) +#define PORT_PA06O_ADC0_DRV4 (_UL_(1) << 6) +#define PIN_PA07O_ADC0_DRV5 _L_(7) /**< \brief ADC0 signal: DRV5 on PA07 mux O */ +#define MUX_PA07O_ADC0_DRV5 _L_(14) +#define PINMUX_PA07O_ADC0_DRV5 ((PIN_PA07O_ADC0_DRV5 << 16) | MUX_PA07O_ADC0_DRV5) +#define PORT_PA07O_ADC0_DRV5 (_UL_(1) << 7) +#define PIN_PA08O_ADC0_DRV6 _L_(8) /**< \brief ADC0 signal: DRV6 on PA08 mux O */ +#define MUX_PA08O_ADC0_DRV6 _L_(14) +#define PINMUX_PA08O_ADC0_DRV6 ((PIN_PA08O_ADC0_DRV6 << 16) | MUX_PA08O_ADC0_DRV6) +#define PORT_PA08O_ADC0_DRV6 (_UL_(1) << 8) +#define PIN_PA09O_ADC0_DRV7 _L_(9) /**< \brief ADC0 signal: DRV7 on PA09 mux O */ +#define MUX_PA09O_ADC0_DRV7 _L_(14) +#define PINMUX_PA09O_ADC0_DRV7 ((PIN_PA09O_ADC0_DRV7 << 16) | MUX_PA09O_ADC0_DRV7) +#define PORT_PA09O_ADC0_DRV7 (_UL_(1) << 9) +#define PIN_PA10O_ADC0_DRV8 _L_(10) /**< \brief ADC0 signal: DRV8 on PA10 mux O */ +#define MUX_PA10O_ADC0_DRV8 _L_(14) +#define PINMUX_PA10O_ADC0_DRV8 ((PIN_PA10O_ADC0_DRV8 << 16) | MUX_PA10O_ADC0_DRV8) +#define PORT_PA10O_ADC0_DRV8 (_UL_(1) << 10) +#define PIN_PA11O_ADC0_DRV9 _L_(11) /**< \brief ADC0 signal: DRV9 on PA11 mux O */ +#define MUX_PA11O_ADC0_DRV9 _L_(14) +#define PINMUX_PA11O_ADC0_DRV9 ((PIN_PA11O_ADC0_DRV9 << 16) | MUX_PA11O_ADC0_DRV9) +#define PORT_PA11O_ADC0_DRV9 (_UL_(1) << 11) +#define PIN_PA16O_ADC0_DRV10 _L_(16) /**< \brief ADC0 signal: DRV10 on PA16 mux O */ +#define MUX_PA16O_ADC0_DRV10 _L_(14) +#define PINMUX_PA16O_ADC0_DRV10 ((PIN_PA16O_ADC0_DRV10 << 16) | MUX_PA16O_ADC0_DRV10) +#define PORT_PA16O_ADC0_DRV10 (_UL_(1) << 16) +#define PIN_PA17O_ADC0_DRV11 _L_(17) /**< \brief ADC0 signal: DRV11 on PA17 mux O */ +#define MUX_PA17O_ADC0_DRV11 _L_(14) +#define PINMUX_PA17O_ADC0_DRV11 ((PIN_PA17O_ADC0_DRV11 << 16) | MUX_PA17O_ADC0_DRV11) +#define PORT_PA17O_ADC0_DRV11 (_UL_(1) << 17) +#define PIN_PA18O_ADC0_DRV12 _L_(18) /**< \brief ADC0 signal: DRV12 on PA18 mux O */ +#define MUX_PA18O_ADC0_DRV12 _L_(14) +#define PINMUX_PA18O_ADC0_DRV12 ((PIN_PA18O_ADC0_DRV12 << 16) | MUX_PA18O_ADC0_DRV12) +#define PORT_PA18O_ADC0_DRV12 (_UL_(1) << 18) +#define PIN_PA19O_ADC0_DRV13 _L_(19) /**< \brief ADC0 signal: DRV13 on PA19 mux O */ +#define MUX_PA19O_ADC0_DRV13 _L_(14) +#define PINMUX_PA19O_ADC0_DRV13 ((PIN_PA19O_ADC0_DRV13 << 16) | MUX_PA19O_ADC0_DRV13) +#define PORT_PA19O_ADC0_DRV13 (_UL_(1) << 19) +#define PIN_PA20O_ADC0_DRV14 _L_(20) /**< \brief ADC0 signal: DRV14 on PA20 mux O */ +#define MUX_PA20O_ADC0_DRV14 _L_(14) +#define PINMUX_PA20O_ADC0_DRV14 ((PIN_PA20O_ADC0_DRV14 << 16) | MUX_PA20O_ADC0_DRV14) +#define PORT_PA20O_ADC0_DRV14 (_UL_(1) << 20) +#define PIN_PA21O_ADC0_DRV15 _L_(21) /**< \brief ADC0 signal: DRV15 on PA21 mux O */ +#define MUX_PA21O_ADC0_DRV15 _L_(14) +#define PINMUX_PA21O_ADC0_DRV15 ((PIN_PA21O_ADC0_DRV15 << 16) | MUX_PA21O_ADC0_DRV15) +#define PORT_PA21O_ADC0_DRV15 (_UL_(1) << 21) +#define PIN_PA22O_ADC0_DRV16 _L_(22) /**< \brief ADC0 signal: DRV16 on PA22 mux O */ +#define MUX_PA22O_ADC0_DRV16 _L_(14) +#define PINMUX_PA22O_ADC0_DRV16 ((PIN_PA22O_ADC0_DRV16 << 16) | MUX_PA22O_ADC0_DRV16) +#define PORT_PA22O_ADC0_DRV16 (_UL_(1) << 22) +#define PIN_PA23O_ADC0_DRV17 _L_(23) /**< \brief ADC0 signal: DRV17 on PA23 mux O */ +#define MUX_PA23O_ADC0_DRV17 _L_(14) +#define PINMUX_PA23O_ADC0_DRV17 ((PIN_PA23O_ADC0_DRV17 << 16) | MUX_PA23O_ADC0_DRV17) +#define PORT_PA23O_ADC0_DRV17 (_UL_(1) << 23) +#define PIN_PA27O_ADC0_DRV18 _L_(27) /**< \brief ADC0 signal: DRV18 on PA27 mux O */ +#define MUX_PA27O_ADC0_DRV18 _L_(14) +#define PINMUX_PA27O_ADC0_DRV18 ((PIN_PA27O_ADC0_DRV18 << 16) | MUX_PA27O_ADC0_DRV18) +#define PORT_PA27O_ADC0_DRV18 (_UL_(1) << 27) +#define PIN_PA30O_ADC0_DRV19 _L_(30) /**< \brief ADC0 signal: DRV19 on PA30 mux O */ +#define MUX_PA30O_ADC0_DRV19 _L_(14) +#define PINMUX_PA30O_ADC0_DRV19 ((PIN_PA30O_ADC0_DRV19 << 16) | MUX_PA30O_ADC0_DRV19) +#define PORT_PA30O_ADC0_DRV19 (_UL_(1) << 30) +#define PIN_PB02O_ADC0_DRV20 _L_(34) /**< \brief ADC0 signal: DRV20 on PB02 mux O */ +#define MUX_PB02O_ADC0_DRV20 _L_(14) +#define PINMUX_PB02O_ADC0_DRV20 ((PIN_PB02O_ADC0_DRV20 << 16) | MUX_PB02O_ADC0_DRV20) +#define PORT_PB02O_ADC0_DRV20 (_UL_(1) << 2) +#define PIN_PB03O_ADC0_DRV21 _L_(35) /**< \brief ADC0 signal: DRV21 on PB03 mux O */ +#define MUX_PB03O_ADC0_DRV21 _L_(14) +#define PINMUX_PB03O_ADC0_DRV21 ((PIN_PB03O_ADC0_DRV21 << 16) | MUX_PB03O_ADC0_DRV21) +#define PORT_PB03O_ADC0_DRV21 (_UL_(1) << 3) +#define PIN_PB04O_ADC0_DRV22 _L_(36) /**< \brief ADC0 signal: DRV22 on PB04 mux O */ +#define MUX_PB04O_ADC0_DRV22 _L_(14) +#define PINMUX_PB04O_ADC0_DRV22 ((PIN_PB04O_ADC0_DRV22 << 16) | MUX_PB04O_ADC0_DRV22) +#define PORT_PB04O_ADC0_DRV22 (_UL_(1) << 4) +#define PIN_PB05O_ADC0_DRV23 _L_(37) /**< \brief ADC0 signal: DRV23 on PB05 mux O */ +#define MUX_PB05O_ADC0_DRV23 _L_(14) +#define PINMUX_PB05O_ADC0_DRV23 ((PIN_PB05O_ADC0_DRV23 << 16) | MUX_PB05O_ADC0_DRV23) +#define PORT_PB05O_ADC0_DRV23 (_UL_(1) << 5) +#define PIN_PB06O_ADC0_DRV24 _L_(38) /**< \brief ADC0 signal: DRV24 on PB06 mux O */ +#define MUX_PB06O_ADC0_DRV24 _L_(14) +#define PINMUX_PB06O_ADC0_DRV24 ((PIN_PB06O_ADC0_DRV24 << 16) | MUX_PB06O_ADC0_DRV24) +#define PORT_PB06O_ADC0_DRV24 (_UL_(1) << 6) +#define PIN_PB07O_ADC0_DRV25 _L_(39) /**< \brief ADC0 signal: DRV25 on PB07 mux O */ +#define MUX_PB07O_ADC0_DRV25 _L_(14) +#define PINMUX_PB07O_ADC0_DRV25 ((PIN_PB07O_ADC0_DRV25 << 16) | MUX_PB07O_ADC0_DRV25) +#define PORT_PB07O_ADC0_DRV25 (_UL_(1) << 7) +#define PIN_PB12O_ADC0_DRV26 _L_(44) /**< \brief ADC0 signal: DRV26 on PB12 mux O */ +#define MUX_PB12O_ADC0_DRV26 _L_(14) +#define PINMUX_PB12O_ADC0_DRV26 ((PIN_PB12O_ADC0_DRV26 << 16) | MUX_PB12O_ADC0_DRV26) +#define PORT_PB12O_ADC0_DRV26 (_UL_(1) << 12) +#define PIN_PB13O_ADC0_DRV27 _L_(45) /**< \brief ADC0 signal: DRV27 on PB13 mux O */ +#define MUX_PB13O_ADC0_DRV27 _L_(14) +#define PINMUX_PB13O_ADC0_DRV27 ((PIN_PB13O_ADC0_DRV27 << 16) | MUX_PB13O_ADC0_DRV27) +#define PORT_PB13O_ADC0_DRV27 (_UL_(1) << 13) +#define PIN_PB14O_ADC0_DRV28 _L_(46) /**< \brief ADC0 signal: DRV28 on PB14 mux O */ +#define MUX_PB14O_ADC0_DRV28 _L_(14) +#define PINMUX_PB14O_ADC0_DRV28 ((PIN_PB14O_ADC0_DRV28 << 16) | MUX_PB14O_ADC0_DRV28) +#define PORT_PB14O_ADC0_DRV28 (_UL_(1) << 14) +#define PIN_PB15O_ADC0_DRV29 _L_(47) /**< \brief ADC0 signal: DRV29 on PB15 mux O */ +#define MUX_PB15O_ADC0_DRV29 _L_(14) +#define PINMUX_PB15O_ADC0_DRV29 ((PIN_PB15O_ADC0_DRV29 << 16) | MUX_PB15O_ADC0_DRV29) +#define PORT_PB15O_ADC0_DRV29 (_UL_(1) << 15) +#define PIN_PB00O_ADC0_DRV30 _L_(32) /**< \brief ADC0 signal: DRV30 on PB00 mux O */ +#define MUX_PB00O_ADC0_DRV30 _L_(14) +#define PINMUX_PB00O_ADC0_DRV30 ((PIN_PB00O_ADC0_DRV30 << 16) | MUX_PB00O_ADC0_DRV30) +#define PORT_PB00O_ADC0_DRV30 (_UL_(1) << 0) +#define PIN_PB01O_ADC0_DRV31 _L_(33) /**< \brief ADC0 signal: DRV31 on PB01 mux O */ +#define MUX_PB01O_ADC0_DRV31 _L_(14) +#define PINMUX_PB01O_ADC0_DRV31 ((PIN_PB01O_ADC0_DRV31 << 16) | MUX_PB01O_ADC0_DRV31) +#define PORT_PB01O_ADC0_DRV31 (_UL_(1) << 1) +#define PIN_PA03B_ADC0_PTCXY0 _L_(3) /**< \brief ADC0 signal: PTCXY0 on PA03 mux B */ +#define MUX_PA03B_ADC0_PTCXY0 _L_(1) +#define PINMUX_PA03B_ADC0_PTCXY0 ((PIN_PA03B_ADC0_PTCXY0 << 16) | MUX_PA03B_ADC0_PTCXY0) +#define PORT_PA03B_ADC0_PTCXY0 (_UL_(1) << 3) +#define PIN_PB08B_ADC0_PTCXY1 _L_(40) /**< \brief ADC0 signal: PTCXY1 on PB08 mux B */ +#define MUX_PB08B_ADC0_PTCXY1 _L_(1) +#define PINMUX_PB08B_ADC0_PTCXY1 ((PIN_PB08B_ADC0_PTCXY1 << 16) | MUX_PB08B_ADC0_PTCXY1) +#define PORT_PB08B_ADC0_PTCXY1 (_UL_(1) << 8) +#define PIN_PB09B_ADC0_PTCXY2 _L_(41) /**< \brief ADC0 signal: PTCXY2 on PB09 mux B */ +#define MUX_PB09B_ADC0_PTCXY2 _L_(1) +#define PINMUX_PB09B_ADC0_PTCXY2 ((PIN_PB09B_ADC0_PTCXY2 << 16) | MUX_PB09B_ADC0_PTCXY2) +#define PORT_PB09B_ADC0_PTCXY2 (_UL_(1) << 9) +#define PIN_PA04B_ADC0_PTCXY3 _L_(4) /**< \brief ADC0 signal: PTCXY3 on PA04 mux B */ +#define MUX_PA04B_ADC0_PTCXY3 _L_(1) +#define PINMUX_PA04B_ADC0_PTCXY3 ((PIN_PA04B_ADC0_PTCXY3 << 16) | MUX_PA04B_ADC0_PTCXY3) +#define PORT_PA04B_ADC0_PTCXY3 (_UL_(1) << 4) +#define PIN_PA06B_ADC0_PTCXY4 _L_(6) /**< \brief ADC0 signal: PTCXY4 on PA06 mux B */ +#define MUX_PA06B_ADC0_PTCXY4 _L_(1) +#define PINMUX_PA06B_ADC0_PTCXY4 ((PIN_PA06B_ADC0_PTCXY4 << 16) | MUX_PA06B_ADC0_PTCXY4) +#define PORT_PA06B_ADC0_PTCXY4 (_UL_(1) << 6) +#define PIN_PA07B_ADC0_PTCXY5 _L_(7) /**< \brief ADC0 signal: PTCXY5 on PA07 mux B */ +#define MUX_PA07B_ADC0_PTCXY5 _L_(1) +#define PINMUX_PA07B_ADC0_PTCXY5 ((PIN_PA07B_ADC0_PTCXY5 << 16) | MUX_PA07B_ADC0_PTCXY5) +#define PORT_PA07B_ADC0_PTCXY5 (_UL_(1) << 7) +#define PIN_PA08B_ADC0_PTCXY6 _L_(8) /**< \brief ADC0 signal: PTCXY6 on PA08 mux B */ +#define MUX_PA08B_ADC0_PTCXY6 _L_(1) +#define PINMUX_PA08B_ADC0_PTCXY6 ((PIN_PA08B_ADC0_PTCXY6 << 16) | MUX_PA08B_ADC0_PTCXY6) +#define PORT_PA08B_ADC0_PTCXY6 (_UL_(1) << 8) +#define PIN_PA09B_ADC0_PTCXY7 _L_(9) /**< \brief ADC0 signal: PTCXY7 on PA09 mux B */ +#define MUX_PA09B_ADC0_PTCXY7 _L_(1) +#define PINMUX_PA09B_ADC0_PTCXY7 ((PIN_PA09B_ADC0_PTCXY7 << 16) | MUX_PA09B_ADC0_PTCXY7) +#define PORT_PA09B_ADC0_PTCXY7 (_UL_(1) << 9) +#define PIN_PA10B_ADC0_PTCXY8 _L_(10) /**< \brief ADC0 signal: PTCXY8 on PA10 mux B */ +#define MUX_PA10B_ADC0_PTCXY8 _L_(1) +#define PINMUX_PA10B_ADC0_PTCXY8 ((PIN_PA10B_ADC0_PTCXY8 << 16) | MUX_PA10B_ADC0_PTCXY8) +#define PORT_PA10B_ADC0_PTCXY8 (_UL_(1) << 10) +#define PIN_PA11B_ADC0_PTCXY9 _L_(11) /**< \brief ADC0 signal: PTCXY9 on PA11 mux B */ +#define MUX_PA11B_ADC0_PTCXY9 _L_(1) +#define PINMUX_PA11B_ADC0_PTCXY9 ((PIN_PA11B_ADC0_PTCXY9 << 16) | MUX_PA11B_ADC0_PTCXY9) +#define PORT_PA11B_ADC0_PTCXY9 (_UL_(1) << 11) +#define PIN_PA16B_ADC0_PTCXY10 _L_(16) /**< \brief ADC0 signal: PTCXY10 on PA16 mux B */ +#define MUX_PA16B_ADC0_PTCXY10 _L_(1) +#define PINMUX_PA16B_ADC0_PTCXY10 ((PIN_PA16B_ADC0_PTCXY10 << 16) | MUX_PA16B_ADC0_PTCXY10) +#define PORT_PA16B_ADC0_PTCXY10 (_UL_(1) << 16) +#define PIN_PA17B_ADC0_PTCXY11 _L_(17) /**< \brief ADC0 signal: PTCXY11 on PA17 mux B */ +#define MUX_PA17B_ADC0_PTCXY11 _L_(1) +#define PINMUX_PA17B_ADC0_PTCXY11 ((PIN_PA17B_ADC0_PTCXY11 << 16) | MUX_PA17B_ADC0_PTCXY11) +#define PORT_PA17B_ADC0_PTCXY11 (_UL_(1) << 17) +#define PIN_PA19B_ADC0_PTCXY13 _L_(19) /**< \brief ADC0 signal: PTCXY13 on PA19 mux B */ +#define MUX_PA19B_ADC0_PTCXY13 _L_(1) +#define PINMUX_PA19B_ADC0_PTCXY13 ((PIN_PA19B_ADC0_PTCXY13 << 16) | MUX_PA19B_ADC0_PTCXY13) +#define PORT_PA19B_ADC0_PTCXY13 (_UL_(1) << 19) +#define PIN_PA20B_ADC0_PTCXY14 _L_(20) /**< \brief ADC0 signal: PTCXY14 on PA20 mux B */ +#define MUX_PA20B_ADC0_PTCXY14 _L_(1) +#define PINMUX_PA20B_ADC0_PTCXY14 ((PIN_PA20B_ADC0_PTCXY14 << 16) | MUX_PA20B_ADC0_PTCXY14) +#define PORT_PA20B_ADC0_PTCXY14 (_UL_(1) << 20) +#define PIN_PA21B_ADC0_PTCXY15 _L_(21) /**< \brief ADC0 signal: PTCXY15 on PA21 mux B */ +#define MUX_PA21B_ADC0_PTCXY15 _L_(1) +#define PINMUX_PA21B_ADC0_PTCXY15 ((PIN_PA21B_ADC0_PTCXY15 << 16) | MUX_PA21B_ADC0_PTCXY15) +#define PORT_PA21B_ADC0_PTCXY15 (_UL_(1) << 21) +#define PIN_PA22B_ADC0_PTCXY16 _L_(22) /**< \brief ADC0 signal: PTCXY16 on PA22 mux B */ +#define MUX_PA22B_ADC0_PTCXY16 _L_(1) +#define PINMUX_PA22B_ADC0_PTCXY16 ((PIN_PA22B_ADC0_PTCXY16 << 16) | MUX_PA22B_ADC0_PTCXY16) +#define PORT_PA22B_ADC0_PTCXY16 (_UL_(1) << 22) +#define PIN_PA23B_ADC0_PTCXY17 _L_(23) /**< \brief ADC0 signal: PTCXY17 on PA23 mux B */ +#define MUX_PA23B_ADC0_PTCXY17 _L_(1) +#define PINMUX_PA23B_ADC0_PTCXY17 ((PIN_PA23B_ADC0_PTCXY17 << 16) | MUX_PA23B_ADC0_PTCXY17) +#define PORT_PA23B_ADC0_PTCXY17 (_UL_(1) << 23) +#define PIN_PA27B_ADC0_PTCXY18 _L_(27) /**< \brief ADC0 signal: PTCXY18 on PA27 mux B */ +#define MUX_PA27B_ADC0_PTCXY18 _L_(1) +#define PINMUX_PA27B_ADC0_PTCXY18 ((PIN_PA27B_ADC0_PTCXY18 << 16) | MUX_PA27B_ADC0_PTCXY18) +#define PORT_PA27B_ADC0_PTCXY18 (_UL_(1) << 27) +#define PIN_PA30B_ADC0_PTCXY19 _L_(30) /**< \brief ADC0 signal: PTCXY19 on PA30 mux B */ +#define MUX_PA30B_ADC0_PTCXY19 _L_(1) +#define PINMUX_PA30B_ADC0_PTCXY19 ((PIN_PA30B_ADC0_PTCXY19 << 16) | MUX_PA30B_ADC0_PTCXY19) +#define PORT_PA30B_ADC0_PTCXY19 (_UL_(1) << 30) +#define PIN_PB02B_ADC0_PTCXY20 _L_(34) /**< \brief ADC0 signal: PTCXY20 on PB02 mux B */ +#define MUX_PB02B_ADC0_PTCXY20 _L_(1) +#define PINMUX_PB02B_ADC0_PTCXY20 ((PIN_PB02B_ADC0_PTCXY20 << 16) | MUX_PB02B_ADC0_PTCXY20) +#define PORT_PB02B_ADC0_PTCXY20 (_UL_(1) << 2) +#define PIN_PB03B_ADC0_PTCXY21 _L_(35) /**< \brief ADC0 signal: PTCXY21 on PB03 mux B */ +#define MUX_PB03B_ADC0_PTCXY21 _L_(1) +#define PINMUX_PB03B_ADC0_PTCXY21 ((PIN_PB03B_ADC0_PTCXY21 << 16) | MUX_PB03B_ADC0_PTCXY21) +#define PORT_PB03B_ADC0_PTCXY21 (_UL_(1) << 3) +#define PIN_PB04B_ADC0_PTCXY22 _L_(36) /**< \brief ADC0 signal: PTCXY22 on PB04 mux B */ +#define MUX_PB04B_ADC0_PTCXY22 _L_(1) +#define PINMUX_PB04B_ADC0_PTCXY22 ((PIN_PB04B_ADC0_PTCXY22 << 16) | MUX_PB04B_ADC0_PTCXY22) +#define PORT_PB04B_ADC0_PTCXY22 (_UL_(1) << 4) +#define PIN_PB05B_ADC0_PTCXY23 _L_(37) /**< \brief ADC0 signal: PTCXY23 on PB05 mux B */ +#define MUX_PB05B_ADC0_PTCXY23 _L_(1) +#define PINMUX_PB05B_ADC0_PTCXY23 ((PIN_PB05B_ADC0_PTCXY23 << 16) | MUX_PB05B_ADC0_PTCXY23) +#define PORT_PB05B_ADC0_PTCXY23 (_UL_(1) << 5) +#define PIN_PB06B_ADC0_PTCXY24 _L_(38) /**< \brief ADC0 signal: PTCXY24 on PB06 mux B */ +#define MUX_PB06B_ADC0_PTCXY24 _L_(1) +#define PINMUX_PB06B_ADC0_PTCXY24 ((PIN_PB06B_ADC0_PTCXY24 << 16) | MUX_PB06B_ADC0_PTCXY24) +#define PORT_PB06B_ADC0_PTCXY24 (_UL_(1) << 6) +#define PIN_PB07B_ADC0_PTCXY25 _L_(39) /**< \brief ADC0 signal: PTCXY25 on PB07 mux B */ +#define MUX_PB07B_ADC0_PTCXY25 _L_(1) +#define PINMUX_PB07B_ADC0_PTCXY25 ((PIN_PB07B_ADC0_PTCXY25 << 16) | MUX_PB07B_ADC0_PTCXY25) +#define PORT_PB07B_ADC0_PTCXY25 (_UL_(1) << 7) +#define PIN_PB12B_ADC0_PTCXY26 _L_(44) /**< \brief ADC0 signal: PTCXY26 on PB12 mux B */ +#define MUX_PB12B_ADC0_PTCXY26 _L_(1) +#define PINMUX_PB12B_ADC0_PTCXY26 ((PIN_PB12B_ADC0_PTCXY26 << 16) | MUX_PB12B_ADC0_PTCXY26) +#define PORT_PB12B_ADC0_PTCXY26 (_UL_(1) << 12) +#define PIN_PB13B_ADC0_PTCXY27 _L_(45) /**< \brief ADC0 signal: PTCXY27 on PB13 mux B */ +#define MUX_PB13B_ADC0_PTCXY27 _L_(1) +#define PINMUX_PB13B_ADC0_PTCXY27 ((PIN_PB13B_ADC0_PTCXY27 << 16) | MUX_PB13B_ADC0_PTCXY27) +#define PORT_PB13B_ADC0_PTCXY27 (_UL_(1) << 13) +#define PIN_PB14B_ADC0_PTCXY28 _L_(46) /**< \brief ADC0 signal: PTCXY28 on PB14 mux B */ +#define MUX_PB14B_ADC0_PTCXY28 _L_(1) +#define PINMUX_PB14B_ADC0_PTCXY28 ((PIN_PB14B_ADC0_PTCXY28 << 16) | MUX_PB14B_ADC0_PTCXY28) +#define PORT_PB14B_ADC0_PTCXY28 (_UL_(1) << 14) +#define PIN_PB15B_ADC0_PTCXY29 _L_(47) /**< \brief ADC0 signal: PTCXY29 on PB15 mux B */ +#define MUX_PB15B_ADC0_PTCXY29 _L_(1) +#define PINMUX_PB15B_ADC0_PTCXY29 ((PIN_PB15B_ADC0_PTCXY29 << 16) | MUX_PB15B_ADC0_PTCXY29) +#define PORT_PB15B_ADC0_PTCXY29 (_UL_(1) << 15) +#define PIN_PB00B_ADC0_PTCXY30 _L_(32) /**< \brief ADC0 signal: PTCXY30 on PB00 mux B */ +#define MUX_PB00B_ADC0_PTCXY30 _L_(1) +#define PINMUX_PB00B_ADC0_PTCXY30 ((PIN_PB00B_ADC0_PTCXY30 << 16) | MUX_PB00B_ADC0_PTCXY30) +#define PORT_PB00B_ADC0_PTCXY30 (_UL_(1) << 0) +#define PIN_PB01B_ADC0_PTCXY31 _L_(33) /**< \brief ADC0 signal: PTCXY31 on PB01 mux B */ +#define MUX_PB01B_ADC0_PTCXY31 _L_(1) +#define PINMUX_PB01B_ADC0_PTCXY31 ((PIN_PB01B_ADC0_PTCXY31 << 16) | MUX_PB01B_ADC0_PTCXY31) +#define PORT_PB01B_ADC0_PTCXY31 (_UL_(1) << 1) +/* ========== PORT definition for ADC1 peripheral ========== */ +#define PIN_PB08B_ADC1_AIN0 _L_(40) /**< \brief ADC1 signal: AIN0 on PB08 mux B */ +#define MUX_PB08B_ADC1_AIN0 _L_(1) +#define PINMUX_PB08B_ADC1_AIN0 ((PIN_PB08B_ADC1_AIN0 << 16) | MUX_PB08B_ADC1_AIN0) +#define PORT_PB08B_ADC1_AIN0 (_UL_(1) << 8) +#define PIN_PB09B_ADC1_AIN1 _L_(41) /**< \brief ADC1 signal: AIN1 on PB09 mux B */ +#define MUX_PB09B_ADC1_AIN1 _L_(1) +#define PINMUX_PB09B_ADC1_AIN1 ((PIN_PB09B_ADC1_AIN1 << 16) | MUX_PB09B_ADC1_AIN1) +#define PORT_PB09B_ADC1_AIN1 (_UL_(1) << 9) +#define PIN_PA08B_ADC1_AIN2 _L_(8) /**< \brief ADC1 signal: AIN2 on PA08 mux B */ +#define MUX_PA08B_ADC1_AIN2 _L_(1) +#define PINMUX_PA08B_ADC1_AIN2 ((PIN_PA08B_ADC1_AIN2 << 16) | MUX_PA08B_ADC1_AIN2) +#define PORT_PA08B_ADC1_AIN2 (_UL_(1) << 8) +#define PIN_PA09B_ADC1_AIN3 _L_(9) /**< \brief ADC1 signal: AIN3 on PA09 mux B */ +#define MUX_PA09B_ADC1_AIN3 _L_(1) +#define PINMUX_PA09B_ADC1_AIN3 ((PIN_PA09B_ADC1_AIN3 << 16) | MUX_PA09B_ADC1_AIN3) +#define PORT_PA09B_ADC1_AIN3 (_UL_(1) << 9) +#define PIN_PC02B_ADC1_AIN4 _L_(66) /**< \brief ADC1 signal: AIN4 on PC02 mux B */ +#define MUX_PC02B_ADC1_AIN4 _L_(1) +#define PINMUX_PC02B_ADC1_AIN4 ((PIN_PC02B_ADC1_AIN4 << 16) | MUX_PC02B_ADC1_AIN4) +#define PORT_PC02B_ADC1_AIN4 (_UL_(1) << 2) +#define PIN_PC03B_ADC1_AIN5 _L_(67) /**< \brief ADC1 signal: AIN5 on PC03 mux B */ +#define MUX_PC03B_ADC1_AIN5 _L_(1) +#define PINMUX_PC03B_ADC1_AIN5 ((PIN_PC03B_ADC1_AIN5 << 16) | MUX_PC03B_ADC1_AIN5) +#define PORT_PC03B_ADC1_AIN5 (_UL_(1) << 3) +#define PIN_PB04B_ADC1_AIN6 _L_(36) /**< \brief ADC1 signal: AIN6 on PB04 mux B */ +#define MUX_PB04B_ADC1_AIN6 _L_(1) +#define PINMUX_PB04B_ADC1_AIN6 ((PIN_PB04B_ADC1_AIN6 << 16) | MUX_PB04B_ADC1_AIN6) +#define PORT_PB04B_ADC1_AIN6 (_UL_(1) << 4) +#define PIN_PB05B_ADC1_AIN7 _L_(37) /**< \brief ADC1 signal: AIN7 on PB05 mux B */ +#define MUX_PB05B_ADC1_AIN7 _L_(1) +#define PINMUX_PB05B_ADC1_AIN7 ((PIN_PB05B_ADC1_AIN7 << 16) | MUX_PB05B_ADC1_AIN7) +#define PORT_PB05B_ADC1_AIN7 (_UL_(1) << 5) +#define PIN_PB06B_ADC1_AIN8 _L_(38) /**< \brief ADC1 signal: AIN8 on PB06 mux B */ +#define MUX_PB06B_ADC1_AIN8 _L_(1) +#define PINMUX_PB06B_ADC1_AIN8 ((PIN_PB06B_ADC1_AIN8 << 16) | MUX_PB06B_ADC1_AIN8) +#define PORT_PB06B_ADC1_AIN8 (_UL_(1) << 6) +#define PIN_PB07B_ADC1_AIN9 _L_(39) /**< \brief ADC1 signal: AIN9 on PB07 mux B */ +#define MUX_PB07B_ADC1_AIN9 _L_(1) +#define PINMUX_PB07B_ADC1_AIN9 ((PIN_PB07B_ADC1_AIN9 << 16) | MUX_PB07B_ADC1_AIN9) +#define PORT_PB07B_ADC1_AIN9 (_UL_(1) << 7) +#define PIN_PC00B_ADC1_AIN10 _L_(64) /**< \brief ADC1 signal: AIN10 on PC00 mux B */ +#define MUX_PC00B_ADC1_AIN10 _L_(1) +#define PINMUX_PC00B_ADC1_AIN10 ((PIN_PC00B_ADC1_AIN10 << 16) | MUX_PC00B_ADC1_AIN10) +#define PORT_PC00B_ADC1_AIN10 (_UL_(1) << 0) +#define PIN_PC01B_ADC1_AIN11 _L_(65) /**< \brief ADC1 signal: AIN11 on PC01 mux B */ +#define MUX_PC01B_ADC1_AIN11 _L_(1) +#define PINMUX_PC01B_ADC1_AIN11 ((PIN_PC01B_ADC1_AIN11 << 16) | MUX_PC01B_ADC1_AIN11) +#define PORT_PC01B_ADC1_AIN11 (_UL_(1) << 1) +#define PIN_PC30B_ADC1_AIN12 _L_(94) /**< \brief ADC1 signal: AIN12 on PC30 mux B */ +#define MUX_PC30B_ADC1_AIN12 _L_(1) +#define PINMUX_PC30B_ADC1_AIN12 ((PIN_PC30B_ADC1_AIN12 << 16) | MUX_PC30B_ADC1_AIN12) +#define PORT_PC30B_ADC1_AIN12 (_UL_(1) << 30) +#define PIN_PC31B_ADC1_AIN13 _L_(95) /**< \brief ADC1 signal: AIN13 on PC31 mux B */ +#define MUX_PC31B_ADC1_AIN13 _L_(1) +#define PINMUX_PC31B_ADC1_AIN13 ((PIN_PC31B_ADC1_AIN13 << 16) | MUX_PC31B_ADC1_AIN13) +#define PORT_PC31B_ADC1_AIN13 (_UL_(1) << 31) +#define PIN_PD00B_ADC1_AIN14 _L_(96) /**< \brief ADC1 signal: AIN14 on PD00 mux B */ +#define MUX_PD00B_ADC1_AIN14 _L_(1) +#define PINMUX_PD00B_ADC1_AIN14 ((PIN_PD00B_ADC1_AIN14 << 16) | MUX_PD00B_ADC1_AIN14) +#define PORT_PD00B_ADC1_AIN14 (_UL_(1) << 0) +#define PIN_PD01B_ADC1_AIN15 _L_(97) /**< \brief ADC1 signal: AIN15 on PD01 mux B */ +#define MUX_PD01B_ADC1_AIN15 _L_(1) +#define PINMUX_PD01B_ADC1_AIN15 ((PIN_PD01B_ADC1_AIN15 << 16) | MUX_PD01B_ADC1_AIN15) +#define PORT_PD01B_ADC1_AIN15 (_UL_(1) << 1) +/* ========== PORT definition for DAC peripheral ========== */ +#define PIN_PA02B_DAC_VOUT0 _L_(2) /**< \brief DAC signal: VOUT0 on PA02 mux B */ +#define MUX_PA02B_DAC_VOUT0 _L_(1) +#define PINMUX_PA02B_DAC_VOUT0 ((PIN_PA02B_DAC_VOUT0 << 16) | MUX_PA02B_DAC_VOUT0) +#define PORT_PA02B_DAC_VOUT0 (_UL_(1) << 2) +#define PIN_PA05B_DAC_VOUT1 _L_(5) /**< \brief DAC signal: VOUT1 on PA05 mux B */ +#define MUX_PA05B_DAC_VOUT1 _L_(1) +#define PINMUX_PA05B_DAC_VOUT1 ((PIN_PA05B_DAC_VOUT1 << 16) | MUX_PA05B_DAC_VOUT1) +#define PORT_PA05B_DAC_VOUT1 (_UL_(1) << 5) +/* ========== PORT definition for I2S peripheral ========== */ +#define PIN_PA09J_I2S_FS0 _L_(9) /**< \brief I2S signal: FS0 on PA09 mux J */ +#define MUX_PA09J_I2S_FS0 _L_(9) +#define PINMUX_PA09J_I2S_FS0 ((PIN_PA09J_I2S_FS0 << 16) | MUX_PA09J_I2S_FS0) +#define PORT_PA09J_I2S_FS0 (_UL_(1) << 9) +#define PIN_PA20J_I2S_FS0 _L_(20) /**< \brief I2S signal: FS0 on PA20 mux J */ +#define MUX_PA20J_I2S_FS0 _L_(9) +#define PINMUX_PA20J_I2S_FS0 ((PIN_PA20J_I2S_FS0 << 16) | MUX_PA20J_I2S_FS0) +#define PORT_PA20J_I2S_FS0 (_UL_(1) << 20) +#define PIN_PA23J_I2S_FS1 _L_(23) /**< \brief I2S signal: FS1 on PA23 mux J */ +#define MUX_PA23J_I2S_FS1 _L_(9) +#define PINMUX_PA23J_I2S_FS1 ((PIN_PA23J_I2S_FS1 << 16) | MUX_PA23J_I2S_FS1) +#define PORT_PA23J_I2S_FS1 (_UL_(1) << 23) +#define PIN_PB11J_I2S_FS1 _L_(43) /**< \brief I2S signal: FS1 on PB11 mux J */ +#define MUX_PB11J_I2S_FS1 _L_(9) +#define PINMUX_PB11J_I2S_FS1 ((PIN_PB11J_I2S_FS1 << 16) | MUX_PB11J_I2S_FS1) +#define PORT_PB11J_I2S_FS1 (_UL_(1) << 11) +#define PIN_PA08J_I2S_MCK0 _L_(8) /**< \brief I2S signal: MCK0 on PA08 mux J */ +#define MUX_PA08J_I2S_MCK0 _L_(9) +#define PINMUX_PA08J_I2S_MCK0 ((PIN_PA08J_I2S_MCK0 << 16) | MUX_PA08J_I2S_MCK0) +#define PORT_PA08J_I2S_MCK0 (_UL_(1) << 8) +#define PIN_PB17J_I2S_MCK0 _L_(49) /**< \brief I2S signal: MCK0 on PB17 mux J */ +#define MUX_PB17J_I2S_MCK0 _L_(9) +#define PINMUX_PB17J_I2S_MCK0 ((PIN_PB17J_I2S_MCK0 << 16) | MUX_PB17J_I2S_MCK0) +#define PORT_PB17J_I2S_MCK0 (_UL_(1) << 17) +#define PIN_PB29J_I2S_MCK1 _L_(61) /**< \brief I2S signal: MCK1 on PB29 mux J */ +#define MUX_PB29J_I2S_MCK1 _L_(9) +#define PINMUX_PB29J_I2S_MCK1 ((PIN_PB29J_I2S_MCK1 << 16) | MUX_PB29J_I2S_MCK1) +#define PORT_PB29J_I2S_MCK1 (_UL_(1) << 29) +#define PIN_PB13J_I2S_MCK1 _L_(45) /**< \brief I2S signal: MCK1 on PB13 mux J */ +#define MUX_PB13J_I2S_MCK1 _L_(9) +#define PINMUX_PB13J_I2S_MCK1 ((PIN_PB13J_I2S_MCK1 << 16) | MUX_PB13J_I2S_MCK1) +#define PORT_PB13J_I2S_MCK1 (_UL_(1) << 13) +#define PIN_PA10J_I2S_SCK0 _L_(10) /**< \brief I2S signal: SCK0 on PA10 mux J */ +#define MUX_PA10J_I2S_SCK0 _L_(9) +#define PINMUX_PA10J_I2S_SCK0 ((PIN_PA10J_I2S_SCK0 << 16) | MUX_PA10J_I2S_SCK0) +#define PORT_PA10J_I2S_SCK0 (_UL_(1) << 10) +#define PIN_PB16J_I2S_SCK0 _L_(48) /**< \brief I2S signal: SCK0 on PB16 mux J */ +#define MUX_PB16J_I2S_SCK0 _L_(9) +#define PINMUX_PB16J_I2S_SCK0 ((PIN_PB16J_I2S_SCK0 << 16) | MUX_PB16J_I2S_SCK0) +#define PORT_PB16J_I2S_SCK0 (_UL_(1) << 16) +#define PIN_PB28J_I2S_SCK1 _L_(60) /**< \brief I2S signal: SCK1 on PB28 mux J */ +#define MUX_PB28J_I2S_SCK1 _L_(9) +#define PINMUX_PB28J_I2S_SCK1 ((PIN_PB28J_I2S_SCK1 << 16) | MUX_PB28J_I2S_SCK1) +#define PORT_PB28J_I2S_SCK1 (_UL_(1) << 28) +#define PIN_PB12J_I2S_SCK1 _L_(44) /**< \brief I2S signal: SCK1 on PB12 mux J */ +#define MUX_PB12J_I2S_SCK1 _L_(9) +#define PINMUX_PB12J_I2S_SCK1 ((PIN_PB12J_I2S_SCK1 << 16) | MUX_PB12J_I2S_SCK1) +#define PORT_PB12J_I2S_SCK1 (_UL_(1) << 12) +#define PIN_PA22J_I2S_SDI _L_(22) /**< \brief I2S signal: SDI on PA22 mux J */ +#define MUX_PA22J_I2S_SDI _L_(9) +#define PINMUX_PA22J_I2S_SDI ((PIN_PA22J_I2S_SDI << 16) | MUX_PA22J_I2S_SDI) +#define PORT_PA22J_I2S_SDI (_UL_(1) << 22) +#define PIN_PB10J_I2S_SDI _L_(42) /**< \brief I2S signal: SDI on PB10 mux J */ +#define MUX_PB10J_I2S_SDI _L_(9) +#define PINMUX_PB10J_I2S_SDI ((PIN_PB10J_I2S_SDI << 16) | MUX_PB10J_I2S_SDI) +#define PORT_PB10J_I2S_SDI (_UL_(1) << 10) +#define PIN_PA11J_I2S_SDO _L_(11) /**< \brief I2S signal: SDO on PA11 mux J */ +#define MUX_PA11J_I2S_SDO _L_(9) +#define PINMUX_PA11J_I2S_SDO ((PIN_PA11J_I2S_SDO << 16) | MUX_PA11J_I2S_SDO) +#define PORT_PA11J_I2S_SDO (_UL_(1) << 11) +#define PIN_PA21J_I2S_SDO _L_(21) /**< \brief I2S signal: SDO on PA21 mux J */ +#define MUX_PA21J_I2S_SDO _L_(9) +#define PINMUX_PA21J_I2S_SDO ((PIN_PA21J_I2S_SDO << 16) | MUX_PA21J_I2S_SDO) +#define PORT_PA21J_I2S_SDO (_UL_(1) << 21) +/* ========== PORT definition for PCC peripheral ========== */ +#define PIN_PA14K_PCC_CLK _L_(14) /**< \brief PCC signal: CLK on PA14 mux K */ +#define MUX_PA14K_PCC_CLK _L_(10) +#define PINMUX_PA14K_PCC_CLK ((PIN_PA14K_PCC_CLK << 16) | MUX_PA14K_PCC_CLK) +#define PORT_PA14K_PCC_CLK (_UL_(1) << 14) +#define PIN_PA16K_PCC_DATA0 _L_(16) /**< \brief PCC signal: DATA0 on PA16 mux K */ +#define MUX_PA16K_PCC_DATA0 _L_(10) +#define PINMUX_PA16K_PCC_DATA0 ((PIN_PA16K_PCC_DATA0 << 16) | MUX_PA16K_PCC_DATA0) +#define PORT_PA16K_PCC_DATA0 (_UL_(1) << 16) +#define PIN_PA17K_PCC_DATA1 _L_(17) /**< \brief PCC signal: DATA1 on PA17 mux K */ +#define MUX_PA17K_PCC_DATA1 _L_(10) +#define PINMUX_PA17K_PCC_DATA1 ((PIN_PA17K_PCC_DATA1 << 16) | MUX_PA17K_PCC_DATA1) +#define PORT_PA17K_PCC_DATA1 (_UL_(1) << 17) +#define PIN_PA18K_PCC_DATA2 _L_(18) /**< \brief PCC signal: DATA2 on PA18 mux K */ +#define MUX_PA18K_PCC_DATA2 _L_(10) +#define PINMUX_PA18K_PCC_DATA2 ((PIN_PA18K_PCC_DATA2 << 16) | MUX_PA18K_PCC_DATA2) +#define PORT_PA18K_PCC_DATA2 (_UL_(1) << 18) +#define PIN_PA19K_PCC_DATA3 _L_(19) /**< \brief PCC signal: DATA3 on PA19 mux K */ +#define MUX_PA19K_PCC_DATA3 _L_(10) +#define PINMUX_PA19K_PCC_DATA3 ((PIN_PA19K_PCC_DATA3 << 16) | MUX_PA19K_PCC_DATA3) +#define PORT_PA19K_PCC_DATA3 (_UL_(1) << 19) +#define PIN_PA20K_PCC_DATA4 _L_(20) /**< \brief PCC signal: DATA4 on PA20 mux K */ +#define MUX_PA20K_PCC_DATA4 _L_(10) +#define PINMUX_PA20K_PCC_DATA4 ((PIN_PA20K_PCC_DATA4 << 16) | MUX_PA20K_PCC_DATA4) +#define PORT_PA20K_PCC_DATA4 (_UL_(1) << 20) +#define PIN_PA21K_PCC_DATA5 _L_(21) /**< \brief PCC signal: DATA5 on PA21 mux K */ +#define MUX_PA21K_PCC_DATA5 _L_(10) +#define PINMUX_PA21K_PCC_DATA5 ((PIN_PA21K_PCC_DATA5 << 16) | MUX_PA21K_PCC_DATA5) +#define PORT_PA21K_PCC_DATA5 (_UL_(1) << 21) +#define PIN_PA22K_PCC_DATA6 _L_(22) /**< \brief PCC signal: DATA6 on PA22 mux K */ +#define MUX_PA22K_PCC_DATA6 _L_(10) +#define PINMUX_PA22K_PCC_DATA6 ((PIN_PA22K_PCC_DATA6 << 16) | MUX_PA22K_PCC_DATA6) +#define PORT_PA22K_PCC_DATA6 (_UL_(1) << 22) +#define PIN_PA23K_PCC_DATA7 _L_(23) /**< \brief PCC signal: DATA7 on PA23 mux K */ +#define MUX_PA23K_PCC_DATA7 _L_(10) +#define PINMUX_PA23K_PCC_DATA7 ((PIN_PA23K_PCC_DATA7 << 16) | MUX_PA23K_PCC_DATA7) +#define PORT_PA23K_PCC_DATA7 (_UL_(1) << 23) +#define PIN_PB14K_PCC_DATA8 _L_(46) /**< \brief PCC signal: DATA8 on PB14 mux K */ +#define MUX_PB14K_PCC_DATA8 _L_(10) +#define PINMUX_PB14K_PCC_DATA8 ((PIN_PB14K_PCC_DATA8 << 16) | MUX_PB14K_PCC_DATA8) +#define PORT_PB14K_PCC_DATA8 (_UL_(1) << 14) +#define PIN_PB15K_PCC_DATA9 _L_(47) /**< \brief PCC signal: DATA9 on PB15 mux K */ +#define MUX_PB15K_PCC_DATA9 _L_(10) +#define PINMUX_PB15K_PCC_DATA9 ((PIN_PB15K_PCC_DATA9 << 16) | MUX_PB15K_PCC_DATA9) +#define PORT_PB15K_PCC_DATA9 (_UL_(1) << 15) +#define PIN_PC12K_PCC_DATA10 _L_(76) /**< \brief PCC signal: DATA10 on PC12 mux K */ +#define MUX_PC12K_PCC_DATA10 _L_(10) +#define PINMUX_PC12K_PCC_DATA10 ((PIN_PC12K_PCC_DATA10 << 16) | MUX_PC12K_PCC_DATA10) +#define PORT_PC12K_PCC_DATA10 (_UL_(1) << 12) +#define PIN_PC13K_PCC_DATA11 _L_(77) /**< \brief PCC signal: DATA11 on PC13 mux K */ +#define MUX_PC13K_PCC_DATA11 _L_(10) +#define PINMUX_PC13K_PCC_DATA11 ((PIN_PC13K_PCC_DATA11 << 16) | MUX_PC13K_PCC_DATA11) +#define PORT_PC13K_PCC_DATA11 (_UL_(1) << 13) +#define PIN_PC14K_PCC_DATA12 _L_(78) /**< \brief PCC signal: DATA12 on PC14 mux K */ +#define MUX_PC14K_PCC_DATA12 _L_(10) +#define PINMUX_PC14K_PCC_DATA12 ((PIN_PC14K_PCC_DATA12 << 16) | MUX_PC14K_PCC_DATA12) +#define PORT_PC14K_PCC_DATA12 (_UL_(1) << 14) +#define PIN_PC15K_PCC_DATA13 _L_(79) /**< \brief PCC signal: DATA13 on PC15 mux K */ +#define MUX_PC15K_PCC_DATA13 _L_(10) +#define PINMUX_PC15K_PCC_DATA13 ((PIN_PC15K_PCC_DATA13 << 16) | MUX_PC15K_PCC_DATA13) +#define PORT_PC15K_PCC_DATA13 (_UL_(1) << 15) +#define PIN_PA12K_PCC_DEN1 _L_(12) /**< \brief PCC signal: DEN1 on PA12 mux K */ +#define MUX_PA12K_PCC_DEN1 _L_(10) +#define PINMUX_PA12K_PCC_DEN1 ((PIN_PA12K_PCC_DEN1 << 16) | MUX_PA12K_PCC_DEN1) +#define PORT_PA12K_PCC_DEN1 (_UL_(1) << 12) +#define PIN_PA13K_PCC_DEN2 _L_(13) /**< \brief PCC signal: DEN2 on PA13 mux K */ +#define MUX_PA13K_PCC_DEN2 _L_(10) +#define PINMUX_PA13K_PCC_DEN2 ((PIN_PA13K_PCC_DEN2 << 16) | MUX_PA13K_PCC_DEN2) +#define PORT_PA13K_PCC_DEN2 (_UL_(1) << 13) +/* ========== PORT definition for SDHC0 peripheral ========== */ +#define PIN_PA06I_SDHC0_SDCD _L_(6) /**< \brief SDHC0 signal: SDCD on PA06 mux I */ +#define MUX_PA06I_SDHC0_SDCD _L_(8) +#define PINMUX_PA06I_SDHC0_SDCD ((PIN_PA06I_SDHC0_SDCD << 16) | MUX_PA06I_SDHC0_SDCD) +#define PORT_PA06I_SDHC0_SDCD (_UL_(1) << 6) +#define PIN_PA12I_SDHC0_SDCD _L_(12) /**< \brief SDHC0 signal: SDCD on PA12 mux I */ +#define MUX_PA12I_SDHC0_SDCD _L_(8) +#define PINMUX_PA12I_SDHC0_SDCD ((PIN_PA12I_SDHC0_SDCD << 16) | MUX_PA12I_SDHC0_SDCD) +#define PORT_PA12I_SDHC0_SDCD (_UL_(1) << 12) +#define PIN_PB12I_SDHC0_SDCD _L_(44) /**< \brief SDHC0 signal: SDCD on PB12 mux I */ +#define MUX_PB12I_SDHC0_SDCD _L_(8) +#define PINMUX_PB12I_SDHC0_SDCD ((PIN_PB12I_SDHC0_SDCD << 16) | MUX_PB12I_SDHC0_SDCD) +#define PORT_PB12I_SDHC0_SDCD (_UL_(1) << 12) +#define PIN_PC06I_SDHC0_SDCD _L_(70) /**< \brief SDHC0 signal: SDCD on PC06 mux I */ +#define MUX_PC06I_SDHC0_SDCD _L_(8) +#define PINMUX_PC06I_SDHC0_SDCD ((PIN_PC06I_SDHC0_SDCD << 16) | MUX_PC06I_SDHC0_SDCD) +#define PORT_PC06I_SDHC0_SDCD (_UL_(1) << 6) +#define PIN_PB11I_SDHC0_SDCK _L_(43) /**< \brief SDHC0 signal: SDCK on PB11 mux I */ +#define MUX_PB11I_SDHC0_SDCK _L_(8) +#define PINMUX_PB11I_SDHC0_SDCK ((PIN_PB11I_SDHC0_SDCK << 16) | MUX_PB11I_SDHC0_SDCK) +#define PORT_PB11I_SDHC0_SDCK (_UL_(1) << 11) +#define PIN_PA08I_SDHC0_SDCMD _L_(8) /**< \brief SDHC0 signal: SDCMD on PA08 mux I */ +#define MUX_PA08I_SDHC0_SDCMD _L_(8) +#define PINMUX_PA08I_SDHC0_SDCMD ((PIN_PA08I_SDHC0_SDCMD << 16) | MUX_PA08I_SDHC0_SDCMD) +#define PORT_PA08I_SDHC0_SDCMD (_UL_(1) << 8) +#define PIN_PA09I_SDHC0_SDDAT0 _L_(9) /**< \brief SDHC0 signal: SDDAT0 on PA09 mux I */ +#define MUX_PA09I_SDHC0_SDDAT0 _L_(8) +#define PINMUX_PA09I_SDHC0_SDDAT0 ((PIN_PA09I_SDHC0_SDDAT0 << 16) | MUX_PA09I_SDHC0_SDDAT0) +#define PORT_PA09I_SDHC0_SDDAT0 (_UL_(1) << 9) +#define PIN_PA10I_SDHC0_SDDAT1 _L_(10) /**< \brief SDHC0 signal: SDDAT1 on PA10 mux I */ +#define MUX_PA10I_SDHC0_SDDAT1 _L_(8) +#define PINMUX_PA10I_SDHC0_SDDAT1 ((PIN_PA10I_SDHC0_SDDAT1 << 16) | MUX_PA10I_SDHC0_SDDAT1) +#define PORT_PA10I_SDHC0_SDDAT1 (_UL_(1) << 10) +#define PIN_PA11I_SDHC0_SDDAT2 _L_(11) /**< \brief SDHC0 signal: SDDAT2 on PA11 mux I */ +#define MUX_PA11I_SDHC0_SDDAT2 _L_(8) +#define PINMUX_PA11I_SDHC0_SDDAT2 ((PIN_PA11I_SDHC0_SDDAT2 << 16) | MUX_PA11I_SDHC0_SDDAT2) +#define PORT_PA11I_SDHC0_SDDAT2 (_UL_(1) << 11) +#define PIN_PB10I_SDHC0_SDDAT3 _L_(42) /**< \brief SDHC0 signal: SDDAT3 on PB10 mux I */ +#define MUX_PB10I_SDHC0_SDDAT3 _L_(8) +#define PINMUX_PB10I_SDHC0_SDDAT3 ((PIN_PB10I_SDHC0_SDDAT3 << 16) | MUX_PB10I_SDHC0_SDDAT3) +#define PORT_PB10I_SDHC0_SDDAT3 (_UL_(1) << 10) +#define PIN_PA07I_SDHC0_SDWP _L_(7) /**< \brief SDHC0 signal: SDWP on PA07 mux I */ +#define MUX_PA07I_SDHC0_SDWP _L_(8) +#define PINMUX_PA07I_SDHC0_SDWP ((PIN_PA07I_SDHC0_SDWP << 16) | MUX_PA07I_SDHC0_SDWP) +#define PORT_PA07I_SDHC0_SDWP (_UL_(1) << 7) +#define PIN_PA13I_SDHC0_SDWP _L_(13) /**< \brief SDHC0 signal: SDWP on PA13 mux I */ +#define MUX_PA13I_SDHC0_SDWP _L_(8) +#define PINMUX_PA13I_SDHC0_SDWP ((PIN_PA13I_SDHC0_SDWP << 16) | MUX_PA13I_SDHC0_SDWP) +#define PORT_PA13I_SDHC0_SDWP (_UL_(1) << 13) +#define PIN_PB13I_SDHC0_SDWP _L_(45) /**< \brief SDHC0 signal: SDWP on PB13 mux I */ +#define MUX_PB13I_SDHC0_SDWP _L_(8) +#define PINMUX_PB13I_SDHC0_SDWP ((PIN_PB13I_SDHC0_SDWP << 16) | MUX_PB13I_SDHC0_SDWP) +#define PORT_PB13I_SDHC0_SDWP (_UL_(1) << 13) +#define PIN_PC07I_SDHC0_SDWP _L_(71) /**< \brief SDHC0 signal: SDWP on PC07 mux I */ +#define MUX_PC07I_SDHC0_SDWP _L_(8) +#define PINMUX_PC07I_SDHC0_SDWP ((PIN_PC07I_SDHC0_SDWP << 16) | MUX_PC07I_SDHC0_SDWP) +#define PORT_PC07I_SDHC0_SDWP (_UL_(1) << 7) +/* ========== PORT definition for SDHC1 peripheral ========== */ +#define PIN_PB16I_SDHC1_SDCD _L_(48) /**< \brief SDHC1 signal: SDCD on PB16 mux I */ +#define MUX_PB16I_SDHC1_SDCD _L_(8) +#define PINMUX_PB16I_SDHC1_SDCD ((PIN_PB16I_SDHC1_SDCD << 16) | MUX_PB16I_SDHC1_SDCD) +#define PORT_PB16I_SDHC1_SDCD (_UL_(1) << 16) +#define PIN_PC20I_SDHC1_SDCD _L_(84) /**< \brief SDHC1 signal: SDCD on PC20 mux I */ +#define MUX_PC20I_SDHC1_SDCD _L_(8) +#define PINMUX_PC20I_SDHC1_SDCD ((PIN_PC20I_SDHC1_SDCD << 16) | MUX_PC20I_SDHC1_SDCD) +#define PORT_PC20I_SDHC1_SDCD (_UL_(1) << 20) +#define PIN_PD20I_SDHC1_SDCD _L_(116) /**< \brief SDHC1 signal: SDCD on PD20 mux I */ +#define MUX_PD20I_SDHC1_SDCD _L_(8) +#define PINMUX_PD20I_SDHC1_SDCD ((PIN_PD20I_SDHC1_SDCD << 16) | MUX_PD20I_SDHC1_SDCD) +#define PORT_PD20I_SDHC1_SDCD (_UL_(1) << 20) +#define PIN_PA21I_SDHC1_SDCK _L_(21) /**< \brief SDHC1 signal: SDCK on PA21 mux I */ +#define MUX_PA21I_SDHC1_SDCK _L_(8) +#define PINMUX_PA21I_SDHC1_SDCK ((PIN_PA21I_SDHC1_SDCK << 16) | MUX_PA21I_SDHC1_SDCK) +#define PORT_PA21I_SDHC1_SDCK (_UL_(1) << 21) +#define PIN_PA20I_SDHC1_SDCMD _L_(20) /**< \brief SDHC1 signal: SDCMD on PA20 mux I */ +#define MUX_PA20I_SDHC1_SDCMD _L_(8) +#define PINMUX_PA20I_SDHC1_SDCMD ((PIN_PA20I_SDHC1_SDCMD << 16) | MUX_PA20I_SDHC1_SDCMD) +#define PORT_PA20I_SDHC1_SDCMD (_UL_(1) << 20) +#define PIN_PB18I_SDHC1_SDDAT0 _L_(50) /**< \brief SDHC1 signal: SDDAT0 on PB18 mux I */ +#define MUX_PB18I_SDHC1_SDDAT0 _L_(8) +#define PINMUX_PB18I_SDHC1_SDDAT0 ((PIN_PB18I_SDHC1_SDDAT0 << 16) | MUX_PB18I_SDHC1_SDDAT0) +#define PORT_PB18I_SDHC1_SDDAT0 (_UL_(1) << 18) +#define PIN_PB19I_SDHC1_SDDAT1 _L_(51) /**< \brief SDHC1 signal: SDDAT1 on PB19 mux I */ +#define MUX_PB19I_SDHC1_SDDAT1 _L_(8) +#define PINMUX_PB19I_SDHC1_SDDAT1 ((PIN_PB19I_SDHC1_SDDAT1 << 16) | MUX_PB19I_SDHC1_SDDAT1) +#define PORT_PB19I_SDHC1_SDDAT1 (_UL_(1) << 19) +#define PIN_PB20I_SDHC1_SDDAT2 _L_(52) /**< \brief SDHC1 signal: SDDAT2 on PB20 mux I */ +#define MUX_PB20I_SDHC1_SDDAT2 _L_(8) +#define PINMUX_PB20I_SDHC1_SDDAT2 ((PIN_PB20I_SDHC1_SDDAT2 << 16) | MUX_PB20I_SDHC1_SDDAT2) +#define PORT_PB20I_SDHC1_SDDAT2 (_UL_(1) << 20) +#define PIN_PB21I_SDHC1_SDDAT3 _L_(53) /**< \brief SDHC1 signal: SDDAT3 on PB21 mux I */ +#define MUX_PB21I_SDHC1_SDDAT3 _L_(8) +#define PINMUX_PB21I_SDHC1_SDDAT3 ((PIN_PB21I_SDHC1_SDDAT3 << 16) | MUX_PB21I_SDHC1_SDDAT3) +#define PORT_PB21I_SDHC1_SDDAT3 (_UL_(1) << 21) +#define PIN_PB17I_SDHC1_SDWP _L_(49) /**< \brief SDHC1 signal: SDWP on PB17 mux I */ +#define MUX_PB17I_SDHC1_SDWP _L_(8) +#define PINMUX_PB17I_SDHC1_SDWP ((PIN_PB17I_SDHC1_SDWP << 16) | MUX_PB17I_SDHC1_SDWP) +#define PORT_PB17I_SDHC1_SDWP (_UL_(1) << 17) +#define PIN_PC21I_SDHC1_SDWP _L_(85) /**< \brief SDHC1 signal: SDWP on PC21 mux I */ +#define MUX_PC21I_SDHC1_SDWP _L_(8) +#define PINMUX_PC21I_SDHC1_SDWP ((PIN_PC21I_SDHC1_SDWP << 16) | MUX_PC21I_SDHC1_SDWP) +#define PORT_PC21I_SDHC1_SDWP (_UL_(1) << 21) +#define PIN_PD21I_SDHC1_SDWP _L_(117) /**< \brief SDHC1 signal: SDWP on PD21 mux I */ +#define MUX_PD21I_SDHC1_SDWP _L_(8) +#define PINMUX_PD21I_SDHC1_SDWP ((PIN_PD21I_SDHC1_SDWP << 16) | MUX_PD21I_SDHC1_SDWP) +#define PORT_PD21I_SDHC1_SDWP (_UL_(1) << 21) + +#endif /* _SAME54P19A_PIO_ */ diff --git a/lib/same54/include/pio/same54p20a.h b/lib/same54/include/pio/same54p20a.h new file mode 100644 index 00000000..c279a0c3 --- /dev/null +++ b/lib/same54/include/pio/same54p20a.h @@ -0,0 +1,3014 @@ +/** + * \file + * + * \brief Peripheral I/O description for SAME54P20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54P20A_PIO_ +#define _SAME54P20A_PIO_ + +#define PIN_PA00 0 /**< \brief Pin Number for PA00 */ +#define PORT_PA00 (_UL_(1) << 0) /**< \brief PORT Mask for PA00 */ +#define PIN_PA01 1 /**< \brief Pin Number for PA01 */ +#define PORT_PA01 (_UL_(1) << 1) /**< \brief PORT Mask for PA01 */ +#define PIN_PA02 2 /**< \brief Pin Number for PA02 */ +#define PORT_PA02 (_UL_(1) << 2) /**< \brief PORT Mask for PA02 */ +#define PIN_PA03 3 /**< \brief Pin Number for PA03 */ +#define PORT_PA03 (_UL_(1) << 3) /**< \brief PORT Mask for PA03 */ +#define PIN_PA04 4 /**< \brief Pin Number for PA04 */ +#define PORT_PA04 (_UL_(1) << 4) /**< \brief PORT Mask for PA04 */ +#define PIN_PA05 5 /**< \brief Pin Number for PA05 */ +#define PORT_PA05 (_UL_(1) << 5) /**< \brief PORT Mask for PA05 */ +#define PIN_PA06 6 /**< \brief Pin Number for PA06 */ +#define PORT_PA06 (_UL_(1) << 6) /**< \brief PORT Mask for PA06 */ +#define PIN_PA07 7 /**< \brief Pin Number for PA07 */ +#define PORT_PA07 (_UL_(1) << 7) /**< \brief PORT Mask for PA07 */ +#define PIN_PA08 8 /**< \brief Pin Number for PA08 */ +#define PORT_PA08 (_UL_(1) << 8) /**< \brief PORT Mask for PA08 */ +#define PIN_PA09 9 /**< \brief Pin Number for PA09 */ +#define PORT_PA09 (_UL_(1) << 9) /**< \brief PORT Mask for PA09 */ +#define PIN_PA10 10 /**< \brief Pin Number for PA10 */ +#define PORT_PA10 (_UL_(1) << 10) /**< \brief PORT Mask for PA10 */ +#define PIN_PA11 11 /**< \brief Pin Number for PA11 */ +#define PORT_PA11 (_UL_(1) << 11) /**< \brief PORT Mask for PA11 */ +#define PIN_PA12 12 /**< \brief Pin Number for PA12 */ +#define PORT_PA12 (_UL_(1) << 12) /**< \brief PORT Mask for PA12 */ +#define PIN_PA13 13 /**< \brief Pin Number for PA13 */ +#define PORT_PA13 (_UL_(1) << 13) /**< \brief PORT Mask for PA13 */ +#define PIN_PA14 14 /**< \brief Pin Number for PA14 */ +#define PORT_PA14 (_UL_(1) << 14) /**< \brief PORT Mask for PA14 */ +#define PIN_PA15 15 /**< \brief Pin Number for PA15 */ +#define PORT_PA15 (_UL_(1) << 15) /**< \brief PORT Mask for PA15 */ +#define PIN_PA16 16 /**< \brief Pin Number for PA16 */ +#define PORT_PA16 (_UL_(1) << 16) /**< \brief PORT Mask for PA16 */ +#define PIN_PA17 17 /**< \brief Pin Number for PA17 */ +#define PORT_PA17 (_UL_(1) << 17) /**< \brief PORT Mask for PA17 */ +#define PIN_PA18 18 /**< \brief Pin Number for PA18 */ +#define PORT_PA18 (_UL_(1) << 18) /**< \brief PORT Mask for PA18 */ +#define PIN_PA19 19 /**< \brief Pin Number for PA19 */ +#define PORT_PA19 (_UL_(1) << 19) /**< \brief PORT Mask for PA19 */ +#define PIN_PA20 20 /**< \brief Pin Number for PA20 */ +#define PORT_PA20 (_UL_(1) << 20) /**< \brief PORT Mask for PA20 */ +#define PIN_PA21 21 /**< \brief Pin Number for PA21 */ +#define PORT_PA21 (_UL_(1) << 21) /**< \brief PORT Mask for PA21 */ +#define PIN_PA22 22 /**< \brief Pin Number for PA22 */ +#define PORT_PA22 (_UL_(1) << 22) /**< \brief PORT Mask for PA22 */ +#define PIN_PA23 23 /**< \brief Pin Number for PA23 */ +#define PORT_PA23 (_UL_(1) << 23) /**< \brief PORT Mask for PA23 */ +#define PIN_PA24 24 /**< \brief Pin Number for PA24 */ +#define PORT_PA24 (_UL_(1) << 24) /**< \brief PORT Mask for PA24 */ +#define PIN_PA25 25 /**< \brief Pin Number for PA25 */ +#define PORT_PA25 (_UL_(1) << 25) /**< \brief PORT Mask for PA25 */ +#define PIN_PA27 27 /**< \brief Pin Number for PA27 */ +#define PORT_PA27 (_UL_(1) << 27) /**< \brief PORT Mask for PA27 */ +#define PIN_PA30 30 /**< \brief Pin Number for PA30 */ +#define PORT_PA30 (_UL_(1) << 30) /**< \brief PORT Mask for PA30 */ +#define PIN_PA31 31 /**< \brief Pin Number for PA31 */ +#define PORT_PA31 (_UL_(1) << 31) /**< \brief PORT Mask for PA31 */ +#define PIN_PB00 32 /**< \brief Pin Number for PB00 */ +#define PORT_PB00 (_UL_(1) << 0) /**< \brief PORT Mask for PB00 */ +#define PIN_PB01 33 /**< \brief Pin Number for PB01 */ +#define PORT_PB01 (_UL_(1) << 1) /**< \brief PORT Mask for PB01 */ +#define PIN_PB02 34 /**< \brief Pin Number for PB02 */ +#define PORT_PB02 (_UL_(1) << 2) /**< \brief PORT Mask for PB02 */ +#define PIN_PB03 35 /**< \brief Pin Number for PB03 */ +#define PORT_PB03 (_UL_(1) << 3) /**< \brief PORT Mask for PB03 */ +#define PIN_PB04 36 /**< \brief Pin Number for PB04 */ +#define PORT_PB04 (_UL_(1) << 4) /**< \brief PORT Mask for PB04 */ +#define PIN_PB05 37 /**< \brief Pin Number for PB05 */ +#define PORT_PB05 (_UL_(1) << 5) /**< \brief PORT Mask for PB05 */ +#define PIN_PB06 38 /**< \brief Pin Number for PB06 */ +#define PORT_PB06 (_UL_(1) << 6) /**< \brief PORT Mask for PB06 */ +#define PIN_PB07 39 /**< \brief Pin Number for PB07 */ +#define PORT_PB07 (_UL_(1) << 7) /**< \brief PORT Mask for PB07 */ +#define PIN_PB08 40 /**< \brief Pin Number for PB08 */ +#define PORT_PB08 (_UL_(1) << 8) /**< \brief PORT Mask for PB08 */ +#define PIN_PB09 41 /**< \brief Pin Number for PB09 */ +#define PORT_PB09 (_UL_(1) << 9) /**< \brief PORT Mask for PB09 */ +#define PIN_PB10 42 /**< \brief Pin Number for PB10 */ +#define PORT_PB10 (_UL_(1) << 10) /**< \brief PORT Mask for PB10 */ +#define PIN_PB11 43 /**< \brief Pin Number for PB11 */ +#define PORT_PB11 (_UL_(1) << 11) /**< \brief PORT Mask for PB11 */ +#define PIN_PB12 44 /**< \brief Pin Number for PB12 */ +#define PORT_PB12 (_UL_(1) << 12) /**< \brief PORT Mask for PB12 */ +#define PIN_PB13 45 /**< \brief Pin Number for PB13 */ +#define PORT_PB13 (_UL_(1) << 13) /**< \brief PORT Mask for PB13 */ +#define PIN_PB14 46 /**< \brief Pin Number for PB14 */ +#define PORT_PB14 (_UL_(1) << 14) /**< \brief PORT Mask for PB14 */ +#define PIN_PB15 47 /**< \brief Pin Number for PB15 */ +#define PORT_PB15 (_UL_(1) << 15) /**< \brief PORT Mask for PB15 */ +#define PIN_PB16 48 /**< \brief Pin Number for PB16 */ +#define PORT_PB16 (_UL_(1) << 16) /**< \brief PORT Mask for PB16 */ +#define PIN_PB17 49 /**< \brief Pin Number for PB17 */ +#define PORT_PB17 (_UL_(1) << 17) /**< \brief PORT Mask for PB17 */ +#define PIN_PB18 50 /**< \brief Pin Number for PB18 */ +#define PORT_PB18 (_UL_(1) << 18) /**< \brief PORT Mask for PB18 */ +#define PIN_PB19 51 /**< \brief Pin Number for PB19 */ +#define PORT_PB19 (_UL_(1) << 19) /**< \brief PORT Mask for PB19 */ +#define PIN_PB20 52 /**< \brief Pin Number for PB20 */ +#define PORT_PB20 (_UL_(1) << 20) /**< \brief PORT Mask for PB20 */ +#define PIN_PB21 53 /**< \brief Pin Number for PB21 */ +#define PORT_PB21 (_UL_(1) << 21) /**< \brief PORT Mask for PB21 */ +#define PIN_PB22 54 /**< \brief Pin Number for PB22 */ +#define PORT_PB22 (_UL_(1) << 22) /**< \brief PORT Mask for PB22 */ +#define PIN_PB23 55 /**< \brief Pin Number for PB23 */ +#define PORT_PB23 (_UL_(1) << 23) /**< \brief PORT Mask for PB23 */ +#define PIN_PB24 56 /**< \brief Pin Number for PB24 */ +#define PORT_PB24 (_UL_(1) << 24) /**< \brief PORT Mask for PB24 */ +#define PIN_PB25 57 /**< \brief Pin Number for PB25 */ +#define PORT_PB25 (_UL_(1) << 25) /**< \brief PORT Mask for PB25 */ +#define PIN_PB26 58 /**< \brief Pin Number for PB26 */ +#define PORT_PB26 (_UL_(1) << 26) /**< \brief PORT Mask for PB26 */ +#define PIN_PB27 59 /**< \brief Pin Number for PB27 */ +#define PORT_PB27 (_UL_(1) << 27) /**< \brief PORT Mask for PB27 */ +#define PIN_PB28 60 /**< \brief Pin Number for PB28 */ +#define PORT_PB28 (_UL_(1) << 28) /**< \brief PORT Mask for PB28 */ +#define PIN_PB29 61 /**< \brief Pin Number for PB29 */ +#define PORT_PB29 (_UL_(1) << 29) /**< \brief PORT Mask for PB29 */ +#define PIN_PB30 62 /**< \brief Pin Number for PB30 */ +#define PORT_PB30 (_UL_(1) << 30) /**< \brief PORT Mask for PB30 */ +#define PIN_PB31 63 /**< \brief Pin Number for PB31 */ +#define PORT_PB31 (_UL_(1) << 31) /**< \brief PORT Mask for PB31 */ +#define PIN_PC00 64 /**< \brief Pin Number for PC00 */ +#define PORT_PC00 (_UL_(1) << 0) /**< \brief PORT Mask for PC00 */ +#define PIN_PC01 65 /**< \brief Pin Number for PC01 */ +#define PORT_PC01 (_UL_(1) << 1) /**< \brief PORT Mask for PC01 */ +#define PIN_PC02 66 /**< \brief Pin Number for PC02 */ +#define PORT_PC02 (_UL_(1) << 2) /**< \brief PORT Mask for PC02 */ +#define PIN_PC03 67 /**< \brief Pin Number for PC03 */ +#define PORT_PC03 (_UL_(1) << 3) /**< \brief PORT Mask for PC03 */ +#define PIN_PC04 68 /**< \brief Pin Number for PC04 */ +#define PORT_PC04 (_UL_(1) << 4) /**< \brief PORT Mask for PC04 */ +#define PIN_PC05 69 /**< \brief Pin Number for PC05 */ +#define PORT_PC05 (_UL_(1) << 5) /**< \brief PORT Mask for PC05 */ +#define PIN_PC06 70 /**< \brief Pin Number for PC06 */ +#define PORT_PC06 (_UL_(1) << 6) /**< \brief PORT Mask for PC06 */ +#define PIN_PC07 71 /**< \brief Pin Number for PC07 */ +#define PORT_PC07 (_UL_(1) << 7) /**< \brief PORT Mask for PC07 */ +#define PIN_PC10 74 /**< \brief Pin Number for PC10 */ +#define PORT_PC10 (_UL_(1) << 10) /**< \brief PORT Mask for PC10 */ +#define PIN_PC11 75 /**< \brief Pin Number for PC11 */ +#define PORT_PC11 (_UL_(1) << 11) /**< \brief PORT Mask for PC11 */ +#define PIN_PC12 76 /**< \brief Pin Number for PC12 */ +#define PORT_PC12 (_UL_(1) << 12) /**< \brief PORT Mask for PC12 */ +#define PIN_PC13 77 /**< \brief Pin Number for PC13 */ +#define PORT_PC13 (_UL_(1) << 13) /**< \brief PORT Mask for PC13 */ +#define PIN_PC14 78 /**< \brief Pin Number for PC14 */ +#define PORT_PC14 (_UL_(1) << 14) /**< \brief PORT Mask for PC14 */ +#define PIN_PC15 79 /**< \brief Pin Number for PC15 */ +#define PORT_PC15 (_UL_(1) << 15) /**< \brief PORT Mask for PC15 */ +#define PIN_PC16 80 /**< \brief Pin Number for PC16 */ +#define PORT_PC16 (_UL_(1) << 16) /**< \brief PORT Mask for PC16 */ +#define PIN_PC17 81 /**< \brief Pin Number for PC17 */ +#define PORT_PC17 (_UL_(1) << 17) /**< \brief PORT Mask for PC17 */ +#define PIN_PC18 82 /**< \brief Pin Number for PC18 */ +#define PORT_PC18 (_UL_(1) << 18) /**< \brief PORT Mask for PC18 */ +#define PIN_PC19 83 /**< \brief Pin Number for PC19 */ +#define PORT_PC19 (_UL_(1) << 19) /**< \brief PORT Mask for PC19 */ +#define PIN_PC20 84 /**< \brief Pin Number for PC20 */ +#define PORT_PC20 (_UL_(1) << 20) /**< \brief PORT Mask for PC20 */ +#define PIN_PC21 85 /**< \brief Pin Number for PC21 */ +#define PORT_PC21 (_UL_(1) << 21) /**< \brief PORT Mask for PC21 */ +#define PIN_PC22 86 /**< \brief Pin Number for PC22 */ +#define PORT_PC22 (_UL_(1) << 22) /**< \brief PORT Mask for PC22 */ +#define PIN_PC23 87 /**< \brief Pin Number for PC23 */ +#define PORT_PC23 (_UL_(1) << 23) /**< \brief PORT Mask for PC23 */ +#define PIN_PC24 88 /**< \brief Pin Number for PC24 */ +#define PORT_PC24 (_UL_(1) << 24) /**< \brief PORT Mask for PC24 */ +#define PIN_PC25 89 /**< \brief Pin Number for PC25 */ +#define PORT_PC25 (_UL_(1) << 25) /**< \brief PORT Mask for PC25 */ +#define PIN_PC26 90 /**< \brief Pin Number for PC26 */ +#define PORT_PC26 (_UL_(1) << 26) /**< \brief PORT Mask for PC26 */ +#define PIN_PC27 91 /**< \brief Pin Number for PC27 */ +#define PORT_PC27 (_UL_(1) << 27) /**< \brief PORT Mask for PC27 */ +#define PIN_PC28 92 /**< \brief Pin Number for PC28 */ +#define PORT_PC28 (_UL_(1) << 28) /**< \brief PORT Mask for PC28 */ +#define PIN_PC30 94 /**< \brief Pin Number for PC30 */ +#define PORT_PC30 (_UL_(1) << 30) /**< \brief PORT Mask for PC30 */ +#define PIN_PC31 95 /**< \brief Pin Number for PC31 */ +#define PORT_PC31 (_UL_(1) << 31) /**< \brief PORT Mask for PC31 */ +#define PIN_PD00 96 /**< \brief Pin Number for PD00 */ +#define PORT_PD00 (_UL_(1) << 0) /**< \brief PORT Mask for PD00 */ +#define PIN_PD01 97 /**< \brief Pin Number for PD01 */ +#define PORT_PD01 (_UL_(1) << 1) /**< \brief PORT Mask for PD01 */ +#define PIN_PD08 104 /**< \brief Pin Number for PD08 */ +#define PORT_PD08 (_UL_(1) << 8) /**< \brief PORT Mask for PD08 */ +#define PIN_PD09 105 /**< \brief Pin Number for PD09 */ +#define PORT_PD09 (_UL_(1) << 9) /**< \brief PORT Mask for PD09 */ +#define PIN_PD10 106 /**< \brief Pin Number for PD10 */ +#define PORT_PD10 (_UL_(1) << 10) /**< \brief PORT Mask for PD10 */ +#define PIN_PD11 107 /**< \brief Pin Number for PD11 */ +#define PORT_PD11 (_UL_(1) << 11) /**< \brief PORT Mask for PD11 */ +#define PIN_PD12 108 /**< \brief Pin Number for PD12 */ +#define PORT_PD12 (_UL_(1) << 12) /**< \brief PORT Mask for PD12 */ +#define PIN_PD20 116 /**< \brief Pin Number for PD20 */ +#define PORT_PD20 (_UL_(1) << 20) /**< \brief PORT Mask for PD20 */ +#define PIN_PD21 117 /**< \brief Pin Number for PD21 */ +#define PORT_PD21 (_UL_(1) << 21) /**< \brief PORT Mask for PD21 */ +/* ========== PORT definition for CM4 peripheral ========== */ +#define PIN_PA30H_CM4_SWCLK _L_(30) /**< \brief CM4 signal: SWCLK on PA30 mux H */ +#define MUX_PA30H_CM4_SWCLK _L_(7) +#define PINMUX_PA30H_CM4_SWCLK ((PIN_PA30H_CM4_SWCLK << 16) | MUX_PA30H_CM4_SWCLK) +#define PORT_PA30H_CM4_SWCLK (_UL_(1) << 30) +#define PIN_PC27M_CM4_SWO _L_(91) /**< \brief CM4 signal: SWO on PC27 mux M */ +#define MUX_PC27M_CM4_SWO _L_(12) +#define PINMUX_PC27M_CM4_SWO ((PIN_PC27M_CM4_SWO << 16) | MUX_PC27M_CM4_SWO) +#define PORT_PC27M_CM4_SWO (_UL_(1) << 27) +#define PIN_PB30H_CM4_SWO _L_(62) /**< \brief CM4 signal: SWO on PB30 mux H */ +#define MUX_PB30H_CM4_SWO _L_(7) +#define PINMUX_PB30H_CM4_SWO ((PIN_PB30H_CM4_SWO << 16) | MUX_PB30H_CM4_SWO) +#define PORT_PB30H_CM4_SWO (_UL_(1) << 30) +#define PIN_PC27H_CM4_TRACECLK _L_(91) /**< \brief CM4 signal: TRACECLK on PC27 mux H */ +#define MUX_PC27H_CM4_TRACECLK _L_(7) +#define PINMUX_PC27H_CM4_TRACECLK ((PIN_PC27H_CM4_TRACECLK << 16) | MUX_PC27H_CM4_TRACECLK) +#define PORT_PC27H_CM4_TRACECLK (_UL_(1) << 27) +#define PIN_PC28H_CM4_TRACEDATA0 _L_(92) /**< \brief CM4 signal: TRACEDATA0 on PC28 mux H */ +#define MUX_PC28H_CM4_TRACEDATA0 _L_(7) +#define PINMUX_PC28H_CM4_TRACEDATA0 ((PIN_PC28H_CM4_TRACEDATA0 << 16) | MUX_PC28H_CM4_TRACEDATA0) +#define PORT_PC28H_CM4_TRACEDATA0 (_UL_(1) << 28) +#define PIN_PC26H_CM4_TRACEDATA1 _L_(90) /**< \brief CM4 signal: TRACEDATA1 on PC26 mux H */ +#define MUX_PC26H_CM4_TRACEDATA1 _L_(7) +#define PINMUX_PC26H_CM4_TRACEDATA1 ((PIN_PC26H_CM4_TRACEDATA1 << 16) | MUX_PC26H_CM4_TRACEDATA1) +#define PORT_PC26H_CM4_TRACEDATA1 (_UL_(1) << 26) +#define PIN_PC25H_CM4_TRACEDATA2 _L_(89) /**< \brief CM4 signal: TRACEDATA2 on PC25 mux H */ +#define MUX_PC25H_CM4_TRACEDATA2 _L_(7) +#define PINMUX_PC25H_CM4_TRACEDATA2 ((PIN_PC25H_CM4_TRACEDATA2 << 16) | MUX_PC25H_CM4_TRACEDATA2) +#define PORT_PC25H_CM4_TRACEDATA2 (_UL_(1) << 25) +#define PIN_PC24H_CM4_TRACEDATA3 _L_(88) /**< \brief CM4 signal: TRACEDATA3 on PC24 mux H */ +#define MUX_PC24H_CM4_TRACEDATA3 _L_(7) +#define PINMUX_PC24H_CM4_TRACEDATA3 ((PIN_PC24H_CM4_TRACEDATA3 << 16) | MUX_PC24H_CM4_TRACEDATA3) +#define PORT_PC24H_CM4_TRACEDATA3 (_UL_(1) << 24) +/* ========== PORT definition for ANAREF peripheral ========== */ +#define PIN_PA03B_ANAREF_VREF0 _L_(3) /**< \brief ANAREF signal: VREF0 on PA03 mux B */ +#define MUX_PA03B_ANAREF_VREF0 _L_(1) +#define PINMUX_PA03B_ANAREF_VREF0 ((PIN_PA03B_ANAREF_VREF0 << 16) | MUX_PA03B_ANAREF_VREF0) +#define PORT_PA03B_ANAREF_VREF0 (_UL_(1) << 3) +#define PIN_PA04B_ANAREF_VREF1 _L_(4) /**< \brief ANAREF signal: VREF1 on PA04 mux B */ +#define MUX_PA04B_ANAREF_VREF1 _L_(1) +#define PINMUX_PA04B_ANAREF_VREF1 ((PIN_PA04B_ANAREF_VREF1 << 16) | MUX_PA04B_ANAREF_VREF1) +#define PORT_PA04B_ANAREF_VREF1 (_UL_(1) << 4) +#define PIN_PA06B_ANAREF_VREF2 _L_(6) /**< \brief ANAREF signal: VREF2 on PA06 mux B */ +#define MUX_PA06B_ANAREF_VREF2 _L_(1) +#define PINMUX_PA06B_ANAREF_VREF2 ((PIN_PA06B_ANAREF_VREF2 << 16) | MUX_PA06B_ANAREF_VREF2) +#define PORT_PA06B_ANAREF_VREF2 (_UL_(1) << 6) +/* ========== PORT definition for GCLK peripheral ========== */ +#define PIN_PA30M_GCLK_IO0 _L_(30) /**< \brief GCLK signal: IO0 on PA30 mux M */ +#define MUX_PA30M_GCLK_IO0 _L_(12) +#define PINMUX_PA30M_GCLK_IO0 ((PIN_PA30M_GCLK_IO0 << 16) | MUX_PA30M_GCLK_IO0) +#define PORT_PA30M_GCLK_IO0 (_UL_(1) << 30) +#define PIN_PB14M_GCLK_IO0 _L_(46) /**< \brief GCLK signal: IO0 on PB14 mux M */ +#define MUX_PB14M_GCLK_IO0 _L_(12) +#define PINMUX_PB14M_GCLK_IO0 ((PIN_PB14M_GCLK_IO0 << 16) | MUX_PB14M_GCLK_IO0) +#define PORT_PB14M_GCLK_IO0 (_UL_(1) << 14) +#define PIN_PA14M_GCLK_IO0 _L_(14) /**< \brief GCLK signal: IO0 on PA14 mux M */ +#define MUX_PA14M_GCLK_IO0 _L_(12) +#define PINMUX_PA14M_GCLK_IO0 ((PIN_PA14M_GCLK_IO0 << 16) | MUX_PA14M_GCLK_IO0) +#define PORT_PA14M_GCLK_IO0 (_UL_(1) << 14) +#define PIN_PB22M_GCLK_IO0 _L_(54) /**< \brief GCLK signal: IO0 on PB22 mux M */ +#define MUX_PB22M_GCLK_IO0 _L_(12) +#define PINMUX_PB22M_GCLK_IO0 ((PIN_PB22M_GCLK_IO0 << 16) | MUX_PB22M_GCLK_IO0) +#define PORT_PB22M_GCLK_IO0 (_UL_(1) << 22) +#define PIN_PB15M_GCLK_IO1 _L_(47) /**< \brief GCLK signal: IO1 on PB15 mux M */ +#define MUX_PB15M_GCLK_IO1 _L_(12) +#define PINMUX_PB15M_GCLK_IO1 ((PIN_PB15M_GCLK_IO1 << 16) | MUX_PB15M_GCLK_IO1) +#define PORT_PB15M_GCLK_IO1 (_UL_(1) << 15) +#define PIN_PA15M_GCLK_IO1 _L_(15) /**< \brief GCLK signal: IO1 on PA15 mux M */ +#define MUX_PA15M_GCLK_IO1 _L_(12) +#define PINMUX_PA15M_GCLK_IO1 ((PIN_PA15M_GCLK_IO1 << 16) | MUX_PA15M_GCLK_IO1) +#define PORT_PA15M_GCLK_IO1 (_UL_(1) << 15) +#define PIN_PB23M_GCLK_IO1 _L_(55) /**< \brief GCLK signal: IO1 on PB23 mux M */ +#define MUX_PB23M_GCLK_IO1 _L_(12) +#define PINMUX_PB23M_GCLK_IO1 ((PIN_PB23M_GCLK_IO1 << 16) | MUX_PB23M_GCLK_IO1) +#define PORT_PB23M_GCLK_IO1 (_UL_(1) << 23) +#define PIN_PA27M_GCLK_IO1 _L_(27) /**< \brief GCLK signal: IO1 on PA27 mux M */ +#define MUX_PA27M_GCLK_IO1 _L_(12) +#define PINMUX_PA27M_GCLK_IO1 ((PIN_PA27M_GCLK_IO1 << 16) | MUX_PA27M_GCLK_IO1) +#define PORT_PA27M_GCLK_IO1 (_UL_(1) << 27) +#define PIN_PA16M_GCLK_IO2 _L_(16) /**< \brief GCLK signal: IO2 on PA16 mux M */ +#define MUX_PA16M_GCLK_IO2 _L_(12) +#define PINMUX_PA16M_GCLK_IO2 ((PIN_PA16M_GCLK_IO2 << 16) | MUX_PA16M_GCLK_IO2) +#define PORT_PA16M_GCLK_IO2 (_UL_(1) << 16) +#define PIN_PB16M_GCLK_IO2 _L_(48) /**< \brief GCLK signal: IO2 on PB16 mux M */ +#define MUX_PB16M_GCLK_IO2 _L_(12) +#define PINMUX_PB16M_GCLK_IO2 ((PIN_PB16M_GCLK_IO2 << 16) | MUX_PB16M_GCLK_IO2) +#define PORT_PB16M_GCLK_IO2 (_UL_(1) << 16) +#define PIN_PA17M_GCLK_IO3 _L_(17) /**< \brief GCLK signal: IO3 on PA17 mux M */ +#define MUX_PA17M_GCLK_IO3 _L_(12) +#define PINMUX_PA17M_GCLK_IO3 ((PIN_PA17M_GCLK_IO3 << 16) | MUX_PA17M_GCLK_IO3) +#define PORT_PA17M_GCLK_IO3 (_UL_(1) << 17) +#define PIN_PB17M_GCLK_IO3 _L_(49) /**< \brief GCLK signal: IO3 on PB17 mux M */ +#define MUX_PB17M_GCLK_IO3 _L_(12) +#define PINMUX_PB17M_GCLK_IO3 ((PIN_PB17M_GCLK_IO3 << 16) | MUX_PB17M_GCLK_IO3) +#define PORT_PB17M_GCLK_IO3 (_UL_(1) << 17) +#define PIN_PA10M_GCLK_IO4 _L_(10) /**< \brief GCLK signal: IO4 on PA10 mux M */ +#define MUX_PA10M_GCLK_IO4 _L_(12) +#define PINMUX_PA10M_GCLK_IO4 ((PIN_PA10M_GCLK_IO4 << 16) | MUX_PA10M_GCLK_IO4) +#define PORT_PA10M_GCLK_IO4 (_UL_(1) << 10) +#define PIN_PB10M_GCLK_IO4 _L_(42) /**< \brief GCLK signal: IO4 on PB10 mux M */ +#define MUX_PB10M_GCLK_IO4 _L_(12) +#define PINMUX_PB10M_GCLK_IO4 ((PIN_PB10M_GCLK_IO4 << 16) | MUX_PB10M_GCLK_IO4) +#define PORT_PB10M_GCLK_IO4 (_UL_(1) << 10) +#define PIN_PB18M_GCLK_IO4 _L_(50) /**< \brief GCLK signal: IO4 on PB18 mux M */ +#define MUX_PB18M_GCLK_IO4 _L_(12) +#define PINMUX_PB18M_GCLK_IO4 ((PIN_PB18M_GCLK_IO4 << 16) | MUX_PB18M_GCLK_IO4) +#define PORT_PB18M_GCLK_IO4 (_UL_(1) << 18) +#define PIN_PA11M_GCLK_IO5 _L_(11) /**< \brief GCLK signal: IO5 on PA11 mux M */ +#define MUX_PA11M_GCLK_IO5 _L_(12) +#define PINMUX_PA11M_GCLK_IO5 ((PIN_PA11M_GCLK_IO5 << 16) | MUX_PA11M_GCLK_IO5) +#define PORT_PA11M_GCLK_IO5 (_UL_(1) << 11) +#define PIN_PB11M_GCLK_IO5 _L_(43) /**< \brief GCLK signal: IO5 on PB11 mux M */ +#define MUX_PB11M_GCLK_IO5 _L_(12) +#define PINMUX_PB11M_GCLK_IO5 ((PIN_PB11M_GCLK_IO5 << 16) | MUX_PB11M_GCLK_IO5) +#define PORT_PB11M_GCLK_IO5 (_UL_(1) << 11) +#define PIN_PB19M_GCLK_IO5 _L_(51) /**< \brief GCLK signal: IO5 on PB19 mux M */ +#define MUX_PB19M_GCLK_IO5 _L_(12) +#define PINMUX_PB19M_GCLK_IO5 ((PIN_PB19M_GCLK_IO5 << 16) | MUX_PB19M_GCLK_IO5) +#define PORT_PB19M_GCLK_IO5 (_UL_(1) << 19) +#define PIN_PB12M_GCLK_IO6 _L_(44) /**< \brief GCLK signal: IO6 on PB12 mux M */ +#define MUX_PB12M_GCLK_IO6 _L_(12) +#define PINMUX_PB12M_GCLK_IO6 ((PIN_PB12M_GCLK_IO6 << 16) | MUX_PB12M_GCLK_IO6) +#define PORT_PB12M_GCLK_IO6 (_UL_(1) << 12) +#define PIN_PB20M_GCLK_IO6 _L_(52) /**< \brief GCLK signal: IO6 on PB20 mux M */ +#define MUX_PB20M_GCLK_IO6 _L_(12) +#define PINMUX_PB20M_GCLK_IO6 ((PIN_PB20M_GCLK_IO6 << 16) | MUX_PB20M_GCLK_IO6) +#define PORT_PB20M_GCLK_IO6 (_UL_(1) << 20) +#define PIN_PB13M_GCLK_IO7 _L_(45) /**< \brief GCLK signal: IO7 on PB13 mux M */ +#define MUX_PB13M_GCLK_IO7 _L_(12) +#define PINMUX_PB13M_GCLK_IO7 ((PIN_PB13M_GCLK_IO7 << 16) | MUX_PB13M_GCLK_IO7) +#define PORT_PB13M_GCLK_IO7 (_UL_(1) << 13) +#define PIN_PB21M_GCLK_IO7 _L_(53) /**< \brief GCLK signal: IO7 on PB21 mux M */ +#define MUX_PB21M_GCLK_IO7 _L_(12) +#define PINMUX_PB21M_GCLK_IO7 ((PIN_PB21M_GCLK_IO7 << 16) | MUX_PB21M_GCLK_IO7) +#define PORT_PB21M_GCLK_IO7 (_UL_(1) << 21) +/* ========== PORT definition for EIC peripheral ========== */ +#define PIN_PA00A_EIC_EXTINT0 _L_(0) /**< \brief EIC signal: EXTINT0 on PA00 mux A */ +#define MUX_PA00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PA00A_EIC_EXTINT0 ((PIN_PA00A_EIC_EXTINT0 << 16) | MUX_PA00A_EIC_EXTINT0) +#define PORT_PA00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PA00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA00 External Interrupt Line */ +#define PIN_PA16A_EIC_EXTINT0 _L_(16) /**< \brief EIC signal: EXTINT0 on PA16 mux A */ +#define MUX_PA16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PA16A_EIC_EXTINT0 ((PIN_PA16A_EIC_EXTINT0 << 16) | MUX_PA16A_EIC_EXTINT0) +#define PORT_PA16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PA16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PA16 External Interrupt Line */ +#define PIN_PB00A_EIC_EXTINT0 _L_(32) /**< \brief EIC signal: EXTINT0 on PB00 mux A */ +#define MUX_PB00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PB00A_EIC_EXTINT0 ((PIN_PB00A_EIC_EXTINT0 << 16) | MUX_PB00A_EIC_EXTINT0) +#define PORT_PB00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PB00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB00 External Interrupt Line */ +#define PIN_PB16A_EIC_EXTINT0 _L_(48) /**< \brief EIC signal: EXTINT0 on PB16 mux A */ +#define MUX_PB16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PB16A_EIC_EXTINT0 ((PIN_PB16A_EIC_EXTINT0 << 16) | MUX_PB16A_EIC_EXTINT0) +#define PORT_PB16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PB16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PB16 External Interrupt Line */ +#define PIN_PC00A_EIC_EXTINT0 _L_(64) /**< \brief EIC signal: EXTINT0 on PC00 mux A */ +#define MUX_PC00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PC00A_EIC_EXTINT0 ((PIN_PC00A_EIC_EXTINT0 << 16) | MUX_PC00A_EIC_EXTINT0) +#define PORT_PC00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PC00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC00 External Interrupt Line */ +#define PIN_PC16A_EIC_EXTINT0 _L_(80) /**< \brief EIC signal: EXTINT0 on PC16 mux A */ +#define MUX_PC16A_EIC_EXTINT0 _L_(0) +#define PINMUX_PC16A_EIC_EXTINT0 ((PIN_PC16A_EIC_EXTINT0 << 16) | MUX_PC16A_EIC_EXTINT0) +#define PORT_PC16A_EIC_EXTINT0 (_UL_(1) << 16) +#define PIN_PC16A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PC16 External Interrupt Line */ +#define PIN_PD00A_EIC_EXTINT0 _L_(96) /**< \brief EIC signal: EXTINT0 on PD00 mux A */ +#define MUX_PD00A_EIC_EXTINT0 _L_(0) +#define PINMUX_PD00A_EIC_EXTINT0 ((PIN_PD00A_EIC_EXTINT0 << 16) | MUX_PD00A_EIC_EXTINT0) +#define PORT_PD00A_EIC_EXTINT0 (_UL_(1) << 0) +#define PIN_PD00A_EIC_EXTINT_NUM _L_(0) /**< \brief EIC signal: PIN_PD00 External Interrupt Line */ +#define PIN_PA01A_EIC_EXTINT1 _L_(1) /**< \brief EIC signal: EXTINT1 on PA01 mux A */ +#define MUX_PA01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PA01A_EIC_EXTINT1 ((PIN_PA01A_EIC_EXTINT1 << 16) | MUX_PA01A_EIC_EXTINT1) +#define PORT_PA01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PA01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA01 External Interrupt Line */ +#define PIN_PA17A_EIC_EXTINT1 _L_(17) /**< \brief EIC signal: EXTINT1 on PA17 mux A */ +#define MUX_PA17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PA17A_EIC_EXTINT1 ((PIN_PA17A_EIC_EXTINT1 << 16) | MUX_PA17A_EIC_EXTINT1) +#define PORT_PA17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PA17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PA17 External Interrupt Line */ +#define PIN_PB01A_EIC_EXTINT1 _L_(33) /**< \brief EIC signal: EXTINT1 on PB01 mux A */ +#define MUX_PB01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PB01A_EIC_EXTINT1 ((PIN_PB01A_EIC_EXTINT1 << 16) | MUX_PB01A_EIC_EXTINT1) +#define PORT_PB01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PB01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB01 External Interrupt Line */ +#define PIN_PB17A_EIC_EXTINT1 _L_(49) /**< \brief EIC signal: EXTINT1 on PB17 mux A */ +#define MUX_PB17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PB17A_EIC_EXTINT1 ((PIN_PB17A_EIC_EXTINT1 << 16) | MUX_PB17A_EIC_EXTINT1) +#define PORT_PB17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PB17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PB17 External Interrupt Line */ +#define PIN_PC01A_EIC_EXTINT1 _L_(65) /**< \brief EIC signal: EXTINT1 on PC01 mux A */ +#define MUX_PC01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PC01A_EIC_EXTINT1 ((PIN_PC01A_EIC_EXTINT1 << 16) | MUX_PC01A_EIC_EXTINT1) +#define PORT_PC01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PC01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC01 External Interrupt Line */ +#define PIN_PC17A_EIC_EXTINT1 _L_(81) /**< \brief EIC signal: EXTINT1 on PC17 mux A */ +#define MUX_PC17A_EIC_EXTINT1 _L_(0) +#define PINMUX_PC17A_EIC_EXTINT1 ((PIN_PC17A_EIC_EXTINT1 << 16) | MUX_PC17A_EIC_EXTINT1) +#define PORT_PC17A_EIC_EXTINT1 (_UL_(1) << 17) +#define PIN_PC17A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PC17 External Interrupt Line */ +#define PIN_PD01A_EIC_EXTINT1 _L_(97) /**< \brief EIC signal: EXTINT1 on PD01 mux A */ +#define MUX_PD01A_EIC_EXTINT1 _L_(0) +#define PINMUX_PD01A_EIC_EXTINT1 ((PIN_PD01A_EIC_EXTINT1 << 16) | MUX_PD01A_EIC_EXTINT1) +#define PORT_PD01A_EIC_EXTINT1 (_UL_(1) << 1) +#define PIN_PD01A_EIC_EXTINT_NUM _L_(1) /**< \brief EIC signal: PIN_PD01 External Interrupt Line */ +#define PIN_PA02A_EIC_EXTINT2 _L_(2) /**< \brief EIC signal: EXTINT2 on PA02 mux A */ +#define MUX_PA02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PA02A_EIC_EXTINT2 ((PIN_PA02A_EIC_EXTINT2 << 16) | MUX_PA02A_EIC_EXTINT2) +#define PORT_PA02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PA02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA02 External Interrupt Line */ +#define PIN_PA18A_EIC_EXTINT2 _L_(18) /**< \brief EIC signal: EXTINT2 on PA18 mux A */ +#define MUX_PA18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PA18A_EIC_EXTINT2 ((PIN_PA18A_EIC_EXTINT2 << 16) | MUX_PA18A_EIC_EXTINT2) +#define PORT_PA18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PA18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PA18 External Interrupt Line */ +#define PIN_PB02A_EIC_EXTINT2 _L_(34) /**< \brief EIC signal: EXTINT2 on PB02 mux A */ +#define MUX_PB02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PB02A_EIC_EXTINT2 ((PIN_PB02A_EIC_EXTINT2 << 16) | MUX_PB02A_EIC_EXTINT2) +#define PORT_PB02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PB02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB02 External Interrupt Line */ +#define PIN_PB18A_EIC_EXTINT2 _L_(50) /**< \brief EIC signal: EXTINT2 on PB18 mux A */ +#define MUX_PB18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PB18A_EIC_EXTINT2 ((PIN_PB18A_EIC_EXTINT2 << 16) | MUX_PB18A_EIC_EXTINT2) +#define PORT_PB18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PB18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PB18 External Interrupt Line */ +#define PIN_PC02A_EIC_EXTINT2 _L_(66) /**< \brief EIC signal: EXTINT2 on PC02 mux A */ +#define MUX_PC02A_EIC_EXTINT2 _L_(0) +#define PINMUX_PC02A_EIC_EXTINT2 ((PIN_PC02A_EIC_EXTINT2 << 16) | MUX_PC02A_EIC_EXTINT2) +#define PORT_PC02A_EIC_EXTINT2 (_UL_(1) << 2) +#define PIN_PC02A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC02 External Interrupt Line */ +#define PIN_PC18A_EIC_EXTINT2 _L_(82) /**< \brief EIC signal: EXTINT2 on PC18 mux A */ +#define MUX_PC18A_EIC_EXTINT2 _L_(0) +#define PINMUX_PC18A_EIC_EXTINT2 ((PIN_PC18A_EIC_EXTINT2 << 16) | MUX_PC18A_EIC_EXTINT2) +#define PORT_PC18A_EIC_EXTINT2 (_UL_(1) << 18) +#define PIN_PC18A_EIC_EXTINT_NUM _L_(2) /**< \brief EIC signal: PIN_PC18 External Interrupt Line */ +#define PIN_PA03A_EIC_EXTINT3 _L_(3) /**< \brief EIC signal: EXTINT3 on PA03 mux A */ +#define MUX_PA03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PA03A_EIC_EXTINT3 ((PIN_PA03A_EIC_EXTINT3 << 16) | MUX_PA03A_EIC_EXTINT3) +#define PORT_PA03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PA03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA03 External Interrupt Line */ +#define PIN_PA19A_EIC_EXTINT3 _L_(19) /**< \brief EIC signal: EXTINT3 on PA19 mux A */ +#define MUX_PA19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PA19A_EIC_EXTINT3 ((PIN_PA19A_EIC_EXTINT3 << 16) | MUX_PA19A_EIC_EXTINT3) +#define PORT_PA19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PA19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PA19 External Interrupt Line */ +#define PIN_PB03A_EIC_EXTINT3 _L_(35) /**< \brief EIC signal: EXTINT3 on PB03 mux A */ +#define MUX_PB03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PB03A_EIC_EXTINT3 ((PIN_PB03A_EIC_EXTINT3 << 16) | MUX_PB03A_EIC_EXTINT3) +#define PORT_PB03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PB03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB03 External Interrupt Line */ +#define PIN_PB19A_EIC_EXTINT3 _L_(51) /**< \brief EIC signal: EXTINT3 on PB19 mux A */ +#define MUX_PB19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PB19A_EIC_EXTINT3 ((PIN_PB19A_EIC_EXTINT3 << 16) | MUX_PB19A_EIC_EXTINT3) +#define PORT_PB19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PB19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PB19 External Interrupt Line */ +#define PIN_PC03A_EIC_EXTINT3 _L_(67) /**< \brief EIC signal: EXTINT3 on PC03 mux A */ +#define MUX_PC03A_EIC_EXTINT3 _L_(0) +#define PINMUX_PC03A_EIC_EXTINT3 ((PIN_PC03A_EIC_EXTINT3 << 16) | MUX_PC03A_EIC_EXTINT3) +#define PORT_PC03A_EIC_EXTINT3 (_UL_(1) << 3) +#define PIN_PC03A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC03 External Interrupt Line */ +#define PIN_PC19A_EIC_EXTINT3 _L_(83) /**< \brief EIC signal: EXTINT3 on PC19 mux A */ +#define MUX_PC19A_EIC_EXTINT3 _L_(0) +#define PINMUX_PC19A_EIC_EXTINT3 ((PIN_PC19A_EIC_EXTINT3 << 16) | MUX_PC19A_EIC_EXTINT3) +#define PORT_PC19A_EIC_EXTINT3 (_UL_(1) << 19) +#define PIN_PC19A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PC19 External Interrupt Line */ +#define PIN_PD08A_EIC_EXTINT3 _L_(104) /**< \brief EIC signal: EXTINT3 on PD08 mux A */ +#define MUX_PD08A_EIC_EXTINT3 _L_(0) +#define PINMUX_PD08A_EIC_EXTINT3 ((PIN_PD08A_EIC_EXTINT3 << 16) | MUX_PD08A_EIC_EXTINT3) +#define PORT_PD08A_EIC_EXTINT3 (_UL_(1) << 8) +#define PIN_PD08A_EIC_EXTINT_NUM _L_(3) /**< \brief EIC signal: PIN_PD08 External Interrupt Line */ +#define PIN_PA04A_EIC_EXTINT4 _L_(4) /**< \brief EIC signal: EXTINT4 on PA04 mux A */ +#define MUX_PA04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PA04A_EIC_EXTINT4 ((PIN_PA04A_EIC_EXTINT4 << 16) | MUX_PA04A_EIC_EXTINT4) +#define PORT_PA04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PA04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA04 External Interrupt Line */ +#define PIN_PA20A_EIC_EXTINT4 _L_(20) /**< \brief EIC signal: EXTINT4 on PA20 mux A */ +#define MUX_PA20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PA20A_EIC_EXTINT4 ((PIN_PA20A_EIC_EXTINT4 << 16) | MUX_PA20A_EIC_EXTINT4) +#define PORT_PA20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PA20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PA20 External Interrupt Line */ +#define PIN_PB04A_EIC_EXTINT4 _L_(36) /**< \brief EIC signal: EXTINT4 on PB04 mux A */ +#define MUX_PB04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PB04A_EIC_EXTINT4 ((PIN_PB04A_EIC_EXTINT4 << 16) | MUX_PB04A_EIC_EXTINT4) +#define PORT_PB04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PB04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB04 External Interrupt Line */ +#define PIN_PB20A_EIC_EXTINT4 _L_(52) /**< \brief EIC signal: EXTINT4 on PB20 mux A */ +#define MUX_PB20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PB20A_EIC_EXTINT4 ((PIN_PB20A_EIC_EXTINT4 << 16) | MUX_PB20A_EIC_EXTINT4) +#define PORT_PB20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PB20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PB20 External Interrupt Line */ +#define PIN_PC04A_EIC_EXTINT4 _L_(68) /**< \brief EIC signal: EXTINT4 on PC04 mux A */ +#define MUX_PC04A_EIC_EXTINT4 _L_(0) +#define PINMUX_PC04A_EIC_EXTINT4 ((PIN_PC04A_EIC_EXTINT4 << 16) | MUX_PC04A_EIC_EXTINT4) +#define PORT_PC04A_EIC_EXTINT4 (_UL_(1) << 4) +#define PIN_PC04A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC04 External Interrupt Line */ +#define PIN_PC20A_EIC_EXTINT4 _L_(84) /**< \brief EIC signal: EXTINT4 on PC20 mux A */ +#define MUX_PC20A_EIC_EXTINT4 _L_(0) +#define PINMUX_PC20A_EIC_EXTINT4 ((PIN_PC20A_EIC_EXTINT4 << 16) | MUX_PC20A_EIC_EXTINT4) +#define PORT_PC20A_EIC_EXTINT4 (_UL_(1) << 20) +#define PIN_PC20A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PC20 External Interrupt Line */ +#define PIN_PD09A_EIC_EXTINT4 _L_(105) /**< \brief EIC signal: EXTINT4 on PD09 mux A */ +#define MUX_PD09A_EIC_EXTINT4 _L_(0) +#define PINMUX_PD09A_EIC_EXTINT4 ((PIN_PD09A_EIC_EXTINT4 << 16) | MUX_PD09A_EIC_EXTINT4) +#define PORT_PD09A_EIC_EXTINT4 (_UL_(1) << 9) +#define PIN_PD09A_EIC_EXTINT_NUM _L_(4) /**< \brief EIC signal: PIN_PD09 External Interrupt Line */ +#define PIN_PA05A_EIC_EXTINT5 _L_(5) /**< \brief EIC signal: EXTINT5 on PA05 mux A */ +#define MUX_PA05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PA05A_EIC_EXTINT5 ((PIN_PA05A_EIC_EXTINT5 << 16) | MUX_PA05A_EIC_EXTINT5) +#define PORT_PA05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PA05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA05 External Interrupt Line */ +#define PIN_PA21A_EIC_EXTINT5 _L_(21) /**< \brief EIC signal: EXTINT5 on PA21 mux A */ +#define MUX_PA21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PA21A_EIC_EXTINT5 ((PIN_PA21A_EIC_EXTINT5 << 16) | MUX_PA21A_EIC_EXTINT5) +#define PORT_PA21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PA21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PA21 External Interrupt Line */ +#define PIN_PB05A_EIC_EXTINT5 _L_(37) /**< \brief EIC signal: EXTINT5 on PB05 mux A */ +#define MUX_PB05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PB05A_EIC_EXTINT5 ((PIN_PB05A_EIC_EXTINT5 << 16) | MUX_PB05A_EIC_EXTINT5) +#define PORT_PB05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PB05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB05 External Interrupt Line */ +#define PIN_PB21A_EIC_EXTINT5 _L_(53) /**< \brief EIC signal: EXTINT5 on PB21 mux A */ +#define MUX_PB21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PB21A_EIC_EXTINT5 ((PIN_PB21A_EIC_EXTINT5 << 16) | MUX_PB21A_EIC_EXTINT5) +#define PORT_PB21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PB21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PB21 External Interrupt Line */ +#define PIN_PC05A_EIC_EXTINT5 _L_(69) /**< \brief EIC signal: EXTINT5 on PC05 mux A */ +#define MUX_PC05A_EIC_EXTINT5 _L_(0) +#define PINMUX_PC05A_EIC_EXTINT5 ((PIN_PC05A_EIC_EXTINT5 << 16) | MUX_PC05A_EIC_EXTINT5) +#define PORT_PC05A_EIC_EXTINT5 (_UL_(1) << 5) +#define PIN_PC05A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC05 External Interrupt Line */ +#define PIN_PC21A_EIC_EXTINT5 _L_(85) /**< \brief EIC signal: EXTINT5 on PC21 mux A */ +#define MUX_PC21A_EIC_EXTINT5 _L_(0) +#define PINMUX_PC21A_EIC_EXTINT5 ((PIN_PC21A_EIC_EXTINT5 << 16) | MUX_PC21A_EIC_EXTINT5) +#define PORT_PC21A_EIC_EXTINT5 (_UL_(1) << 21) +#define PIN_PC21A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PC21 External Interrupt Line */ +#define PIN_PD10A_EIC_EXTINT5 _L_(106) /**< \brief EIC signal: EXTINT5 on PD10 mux A */ +#define MUX_PD10A_EIC_EXTINT5 _L_(0) +#define PINMUX_PD10A_EIC_EXTINT5 ((PIN_PD10A_EIC_EXTINT5 << 16) | MUX_PD10A_EIC_EXTINT5) +#define PORT_PD10A_EIC_EXTINT5 (_UL_(1) << 10) +#define PIN_PD10A_EIC_EXTINT_NUM _L_(5) /**< \brief EIC signal: PIN_PD10 External Interrupt Line */ +#define PIN_PA06A_EIC_EXTINT6 _L_(6) /**< \brief EIC signal: EXTINT6 on PA06 mux A */ +#define MUX_PA06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PA06A_EIC_EXTINT6 ((PIN_PA06A_EIC_EXTINT6 << 16) | MUX_PA06A_EIC_EXTINT6) +#define PORT_PA06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PA06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA06 External Interrupt Line */ +#define PIN_PA22A_EIC_EXTINT6 _L_(22) /**< \brief EIC signal: EXTINT6 on PA22 mux A */ +#define MUX_PA22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PA22A_EIC_EXTINT6 ((PIN_PA22A_EIC_EXTINT6 << 16) | MUX_PA22A_EIC_EXTINT6) +#define PORT_PA22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PA22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PA22 External Interrupt Line */ +#define PIN_PB06A_EIC_EXTINT6 _L_(38) /**< \brief EIC signal: EXTINT6 on PB06 mux A */ +#define MUX_PB06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PB06A_EIC_EXTINT6 ((PIN_PB06A_EIC_EXTINT6 << 16) | MUX_PB06A_EIC_EXTINT6) +#define PORT_PB06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PB06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB06 External Interrupt Line */ +#define PIN_PB22A_EIC_EXTINT6 _L_(54) /**< \brief EIC signal: EXTINT6 on PB22 mux A */ +#define MUX_PB22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PB22A_EIC_EXTINT6 ((PIN_PB22A_EIC_EXTINT6 << 16) | MUX_PB22A_EIC_EXTINT6) +#define PORT_PB22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PB22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PB22 External Interrupt Line */ +#define PIN_PC06A_EIC_EXTINT6 _L_(70) /**< \brief EIC signal: EXTINT6 on PC06 mux A */ +#define MUX_PC06A_EIC_EXTINT6 _L_(0) +#define PINMUX_PC06A_EIC_EXTINT6 ((PIN_PC06A_EIC_EXTINT6 << 16) | MUX_PC06A_EIC_EXTINT6) +#define PORT_PC06A_EIC_EXTINT6 (_UL_(1) << 6) +#define PIN_PC06A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC06 External Interrupt Line */ +#define PIN_PC22A_EIC_EXTINT6 _L_(86) /**< \brief EIC signal: EXTINT6 on PC22 mux A */ +#define MUX_PC22A_EIC_EXTINT6 _L_(0) +#define PINMUX_PC22A_EIC_EXTINT6 ((PIN_PC22A_EIC_EXTINT6 << 16) | MUX_PC22A_EIC_EXTINT6) +#define PORT_PC22A_EIC_EXTINT6 (_UL_(1) << 22) +#define PIN_PC22A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PC22 External Interrupt Line */ +#define PIN_PD11A_EIC_EXTINT6 _L_(107) /**< \brief EIC signal: EXTINT6 on PD11 mux A */ +#define MUX_PD11A_EIC_EXTINT6 _L_(0) +#define PINMUX_PD11A_EIC_EXTINT6 ((PIN_PD11A_EIC_EXTINT6 << 16) | MUX_PD11A_EIC_EXTINT6) +#define PORT_PD11A_EIC_EXTINT6 (_UL_(1) << 11) +#define PIN_PD11A_EIC_EXTINT_NUM _L_(6) /**< \brief EIC signal: PIN_PD11 External Interrupt Line */ +#define PIN_PA07A_EIC_EXTINT7 _L_(7) /**< \brief EIC signal: EXTINT7 on PA07 mux A */ +#define MUX_PA07A_EIC_EXTINT7 _L_(0) +#define PINMUX_PA07A_EIC_EXTINT7 ((PIN_PA07A_EIC_EXTINT7 << 16) | MUX_PA07A_EIC_EXTINT7) +#define PORT_PA07A_EIC_EXTINT7 (_UL_(1) << 7) +#define PIN_PA07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA07 External Interrupt Line */ +#define PIN_PA23A_EIC_EXTINT7 _L_(23) /**< \brief EIC signal: EXTINT7 on PA23 mux A */ +#define MUX_PA23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PA23A_EIC_EXTINT7 ((PIN_PA23A_EIC_EXTINT7 << 16) | MUX_PA23A_EIC_EXTINT7) +#define PORT_PA23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PA23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PA23 External Interrupt Line */ +#define PIN_PB07A_EIC_EXTINT7 _L_(39) /**< \brief EIC signal: EXTINT7 on PB07 mux A */ +#define MUX_PB07A_EIC_EXTINT7 _L_(0) +#define PINMUX_PB07A_EIC_EXTINT7 ((PIN_PB07A_EIC_EXTINT7 << 16) | MUX_PB07A_EIC_EXTINT7) +#define PORT_PB07A_EIC_EXTINT7 (_UL_(1) << 7) +#define PIN_PB07A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB07 External Interrupt Line */ +#define PIN_PB23A_EIC_EXTINT7 _L_(55) /**< \brief EIC signal: EXTINT7 on PB23 mux A */ +#define MUX_PB23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PB23A_EIC_EXTINT7 ((PIN_PB23A_EIC_EXTINT7 << 16) | MUX_PB23A_EIC_EXTINT7) +#define PORT_PB23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PB23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PB23 External Interrupt Line */ +#define PIN_PC23A_EIC_EXTINT7 _L_(87) /**< \brief EIC signal: EXTINT7 on PC23 mux A */ +#define MUX_PC23A_EIC_EXTINT7 _L_(0) +#define PINMUX_PC23A_EIC_EXTINT7 ((PIN_PC23A_EIC_EXTINT7 << 16) | MUX_PC23A_EIC_EXTINT7) +#define PORT_PC23A_EIC_EXTINT7 (_UL_(1) << 23) +#define PIN_PC23A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PC23 External Interrupt Line */ +#define PIN_PD12A_EIC_EXTINT7 _L_(108) /**< \brief EIC signal: EXTINT7 on PD12 mux A */ +#define MUX_PD12A_EIC_EXTINT7 _L_(0) +#define PINMUX_PD12A_EIC_EXTINT7 ((PIN_PD12A_EIC_EXTINT7 << 16) | MUX_PD12A_EIC_EXTINT7) +#define PORT_PD12A_EIC_EXTINT7 (_UL_(1) << 12) +#define PIN_PD12A_EIC_EXTINT_NUM _L_(7) /**< \brief EIC signal: PIN_PD12 External Interrupt Line */ +#define PIN_PA24A_EIC_EXTINT8 _L_(24) /**< \brief EIC signal: EXTINT8 on PA24 mux A */ +#define MUX_PA24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PA24A_EIC_EXTINT8 ((PIN_PA24A_EIC_EXTINT8 << 16) | MUX_PA24A_EIC_EXTINT8) +#define PORT_PA24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PA24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PA24 External Interrupt Line */ +#define PIN_PB08A_EIC_EXTINT8 _L_(40) /**< \brief EIC signal: EXTINT8 on PB08 mux A */ +#define MUX_PB08A_EIC_EXTINT8 _L_(0) +#define PINMUX_PB08A_EIC_EXTINT8 ((PIN_PB08A_EIC_EXTINT8 << 16) | MUX_PB08A_EIC_EXTINT8) +#define PORT_PB08A_EIC_EXTINT8 (_UL_(1) << 8) +#define PIN_PB08A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB08 External Interrupt Line */ +#define PIN_PB24A_EIC_EXTINT8 _L_(56) /**< \brief EIC signal: EXTINT8 on PB24 mux A */ +#define MUX_PB24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PB24A_EIC_EXTINT8 ((PIN_PB24A_EIC_EXTINT8 << 16) | MUX_PB24A_EIC_EXTINT8) +#define PORT_PB24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PB24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PB24 External Interrupt Line */ +#define PIN_PC24A_EIC_EXTINT8 _L_(88) /**< \brief EIC signal: EXTINT8 on PC24 mux A */ +#define MUX_PC24A_EIC_EXTINT8 _L_(0) +#define PINMUX_PC24A_EIC_EXTINT8 ((PIN_PC24A_EIC_EXTINT8 << 16) | MUX_PC24A_EIC_EXTINT8) +#define PORT_PC24A_EIC_EXTINT8 (_UL_(1) << 24) +#define PIN_PC24A_EIC_EXTINT_NUM _L_(8) /**< \brief EIC signal: PIN_PC24 External Interrupt Line */ +#define PIN_PA09A_EIC_EXTINT9 _L_(9) /**< \brief EIC signal: EXTINT9 on PA09 mux A */ +#define MUX_PA09A_EIC_EXTINT9 _L_(0) +#define PINMUX_PA09A_EIC_EXTINT9 ((PIN_PA09A_EIC_EXTINT9 << 16) | MUX_PA09A_EIC_EXTINT9) +#define PORT_PA09A_EIC_EXTINT9 (_UL_(1) << 9) +#define PIN_PA09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA09 External Interrupt Line */ +#define PIN_PA25A_EIC_EXTINT9 _L_(25) /**< \brief EIC signal: EXTINT9 on PA25 mux A */ +#define MUX_PA25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PA25A_EIC_EXTINT9 ((PIN_PA25A_EIC_EXTINT9 << 16) | MUX_PA25A_EIC_EXTINT9) +#define PORT_PA25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PA25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PA25 External Interrupt Line */ +#define PIN_PB09A_EIC_EXTINT9 _L_(41) /**< \brief EIC signal: EXTINT9 on PB09 mux A */ +#define MUX_PB09A_EIC_EXTINT9 _L_(0) +#define PINMUX_PB09A_EIC_EXTINT9 ((PIN_PB09A_EIC_EXTINT9 << 16) | MUX_PB09A_EIC_EXTINT9) +#define PORT_PB09A_EIC_EXTINT9 (_UL_(1) << 9) +#define PIN_PB09A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB09 External Interrupt Line */ +#define PIN_PB25A_EIC_EXTINT9 _L_(57) /**< \brief EIC signal: EXTINT9 on PB25 mux A */ +#define MUX_PB25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PB25A_EIC_EXTINT9 ((PIN_PB25A_EIC_EXTINT9 << 16) | MUX_PB25A_EIC_EXTINT9) +#define PORT_PB25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PB25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PB25 External Interrupt Line */ +#define PIN_PC07A_EIC_EXTINT9 _L_(71) /**< \brief EIC signal: EXTINT9 on PC07 mux A */ +#define MUX_PC07A_EIC_EXTINT9 _L_(0) +#define PINMUX_PC07A_EIC_EXTINT9 ((PIN_PC07A_EIC_EXTINT9 << 16) | MUX_PC07A_EIC_EXTINT9) +#define PORT_PC07A_EIC_EXTINT9 (_UL_(1) << 7) +#define PIN_PC07A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC07 External Interrupt Line */ +#define PIN_PC25A_EIC_EXTINT9 _L_(89) /**< \brief EIC signal: EXTINT9 on PC25 mux A */ +#define MUX_PC25A_EIC_EXTINT9 _L_(0) +#define PINMUX_PC25A_EIC_EXTINT9 ((PIN_PC25A_EIC_EXTINT9 << 16) | MUX_PC25A_EIC_EXTINT9) +#define PORT_PC25A_EIC_EXTINT9 (_UL_(1) << 25) +#define PIN_PC25A_EIC_EXTINT_NUM _L_(9) /**< \brief EIC signal: PIN_PC25 External Interrupt Line */ +#define PIN_PA10A_EIC_EXTINT10 _L_(10) /**< \brief EIC signal: EXTINT10 on PA10 mux A */ +#define MUX_PA10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PA10A_EIC_EXTINT10 ((PIN_PA10A_EIC_EXTINT10 << 16) | MUX_PA10A_EIC_EXTINT10) +#define PORT_PA10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PA10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PA10 External Interrupt Line */ +#define PIN_PB10A_EIC_EXTINT10 _L_(42) /**< \brief EIC signal: EXTINT10 on PB10 mux A */ +#define MUX_PB10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PB10A_EIC_EXTINT10 ((PIN_PB10A_EIC_EXTINT10 << 16) | MUX_PB10A_EIC_EXTINT10) +#define PORT_PB10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PB10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PB10 External Interrupt Line */ +#define PIN_PC10A_EIC_EXTINT10 _L_(74) /**< \brief EIC signal: EXTINT10 on PC10 mux A */ +#define MUX_PC10A_EIC_EXTINT10 _L_(0) +#define PINMUX_PC10A_EIC_EXTINT10 ((PIN_PC10A_EIC_EXTINT10 << 16) | MUX_PC10A_EIC_EXTINT10) +#define PORT_PC10A_EIC_EXTINT10 (_UL_(1) << 10) +#define PIN_PC10A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC10 External Interrupt Line */ +#define PIN_PC26A_EIC_EXTINT10 _L_(90) /**< \brief EIC signal: EXTINT10 on PC26 mux A */ +#define MUX_PC26A_EIC_EXTINT10 _L_(0) +#define PINMUX_PC26A_EIC_EXTINT10 ((PIN_PC26A_EIC_EXTINT10 << 16) | MUX_PC26A_EIC_EXTINT10) +#define PORT_PC26A_EIC_EXTINT10 (_UL_(1) << 26) +#define PIN_PC26A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PC26 External Interrupt Line */ +#define PIN_PD20A_EIC_EXTINT10 _L_(116) /**< \brief EIC signal: EXTINT10 on PD20 mux A */ +#define MUX_PD20A_EIC_EXTINT10 _L_(0) +#define PINMUX_PD20A_EIC_EXTINT10 ((PIN_PD20A_EIC_EXTINT10 << 16) | MUX_PD20A_EIC_EXTINT10) +#define PORT_PD20A_EIC_EXTINT10 (_UL_(1) << 20) +#define PIN_PD20A_EIC_EXTINT_NUM _L_(10) /**< \brief EIC signal: PIN_PD20 External Interrupt Line */ +#define PIN_PA11A_EIC_EXTINT11 _L_(11) /**< \brief EIC signal: EXTINT11 on PA11 mux A */ +#define MUX_PA11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PA11A_EIC_EXTINT11 ((PIN_PA11A_EIC_EXTINT11 << 16) | MUX_PA11A_EIC_EXTINT11) +#define PORT_PA11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PA11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA11 External Interrupt Line */ +#define PIN_PA27A_EIC_EXTINT11 _L_(27) /**< \brief EIC signal: EXTINT11 on PA27 mux A */ +#define MUX_PA27A_EIC_EXTINT11 _L_(0) +#define PINMUX_PA27A_EIC_EXTINT11 ((PIN_PA27A_EIC_EXTINT11 << 16) | MUX_PA27A_EIC_EXTINT11) +#define PORT_PA27A_EIC_EXTINT11 (_UL_(1) << 27) +#define PIN_PA27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PA27 External Interrupt Line */ +#define PIN_PB11A_EIC_EXTINT11 _L_(43) /**< \brief EIC signal: EXTINT11 on PB11 mux A */ +#define MUX_PB11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PB11A_EIC_EXTINT11 ((PIN_PB11A_EIC_EXTINT11 << 16) | MUX_PB11A_EIC_EXTINT11) +#define PORT_PB11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PB11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PB11 External Interrupt Line */ +#define PIN_PC11A_EIC_EXTINT11 _L_(75) /**< \brief EIC signal: EXTINT11 on PC11 mux A */ +#define MUX_PC11A_EIC_EXTINT11 _L_(0) +#define PINMUX_PC11A_EIC_EXTINT11 ((PIN_PC11A_EIC_EXTINT11 << 16) | MUX_PC11A_EIC_EXTINT11) +#define PORT_PC11A_EIC_EXTINT11 (_UL_(1) << 11) +#define PIN_PC11A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC11 External Interrupt Line */ +#define PIN_PC27A_EIC_EXTINT11 _L_(91) /**< \brief EIC signal: EXTINT11 on PC27 mux A */ +#define MUX_PC27A_EIC_EXTINT11 _L_(0) +#define PINMUX_PC27A_EIC_EXTINT11 ((PIN_PC27A_EIC_EXTINT11 << 16) | MUX_PC27A_EIC_EXTINT11) +#define PORT_PC27A_EIC_EXTINT11 (_UL_(1) << 27) +#define PIN_PC27A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PC27 External Interrupt Line */ +#define PIN_PD21A_EIC_EXTINT11 _L_(117) /**< \brief EIC signal: EXTINT11 on PD21 mux A */ +#define MUX_PD21A_EIC_EXTINT11 _L_(0) +#define PINMUX_PD21A_EIC_EXTINT11 ((PIN_PD21A_EIC_EXTINT11 << 16) | MUX_PD21A_EIC_EXTINT11) +#define PORT_PD21A_EIC_EXTINT11 (_UL_(1) << 21) +#define PIN_PD21A_EIC_EXTINT_NUM _L_(11) /**< \brief EIC signal: PIN_PD21 External Interrupt Line */ +#define PIN_PA12A_EIC_EXTINT12 _L_(12) /**< \brief EIC signal: EXTINT12 on PA12 mux A */ +#define MUX_PA12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PA12A_EIC_EXTINT12 ((PIN_PA12A_EIC_EXTINT12 << 16) | MUX_PA12A_EIC_EXTINT12) +#define PORT_PA12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PA12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PA12 External Interrupt Line */ +#define PIN_PB12A_EIC_EXTINT12 _L_(44) /**< \brief EIC signal: EXTINT12 on PB12 mux A */ +#define MUX_PB12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PB12A_EIC_EXTINT12 ((PIN_PB12A_EIC_EXTINT12 << 16) | MUX_PB12A_EIC_EXTINT12) +#define PORT_PB12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PB12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB12 External Interrupt Line */ +#define PIN_PB26A_EIC_EXTINT12 _L_(58) /**< \brief EIC signal: EXTINT12 on PB26 mux A */ +#define MUX_PB26A_EIC_EXTINT12 _L_(0) +#define PINMUX_PB26A_EIC_EXTINT12 ((PIN_PB26A_EIC_EXTINT12 << 16) | MUX_PB26A_EIC_EXTINT12) +#define PORT_PB26A_EIC_EXTINT12 (_UL_(1) << 26) +#define PIN_PB26A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PB26 External Interrupt Line */ +#define PIN_PC12A_EIC_EXTINT12 _L_(76) /**< \brief EIC signal: EXTINT12 on PC12 mux A */ +#define MUX_PC12A_EIC_EXTINT12 _L_(0) +#define PINMUX_PC12A_EIC_EXTINT12 ((PIN_PC12A_EIC_EXTINT12 << 16) | MUX_PC12A_EIC_EXTINT12) +#define PORT_PC12A_EIC_EXTINT12 (_UL_(1) << 12) +#define PIN_PC12A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC12 External Interrupt Line */ +#define PIN_PC28A_EIC_EXTINT12 _L_(92) /**< \brief EIC signal: EXTINT12 on PC28 mux A */ +#define MUX_PC28A_EIC_EXTINT12 _L_(0) +#define PINMUX_PC28A_EIC_EXTINT12 ((PIN_PC28A_EIC_EXTINT12 << 16) | MUX_PC28A_EIC_EXTINT12) +#define PORT_PC28A_EIC_EXTINT12 (_UL_(1) << 28) +#define PIN_PC28A_EIC_EXTINT_NUM _L_(12) /**< \brief EIC signal: PIN_PC28 External Interrupt Line */ +#define PIN_PA13A_EIC_EXTINT13 _L_(13) /**< \brief EIC signal: EXTINT13 on PA13 mux A */ +#define MUX_PA13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PA13A_EIC_EXTINT13 ((PIN_PA13A_EIC_EXTINT13 << 16) | MUX_PA13A_EIC_EXTINT13) +#define PORT_PA13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PA13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PA13 External Interrupt Line */ +#define PIN_PB13A_EIC_EXTINT13 _L_(45) /**< \brief EIC signal: EXTINT13 on PB13 mux A */ +#define MUX_PB13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PB13A_EIC_EXTINT13 ((PIN_PB13A_EIC_EXTINT13 << 16) | MUX_PB13A_EIC_EXTINT13) +#define PORT_PB13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PB13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB13 External Interrupt Line */ +#define PIN_PB27A_EIC_EXTINT13 _L_(59) /**< \brief EIC signal: EXTINT13 on PB27 mux A */ +#define MUX_PB27A_EIC_EXTINT13 _L_(0) +#define PINMUX_PB27A_EIC_EXTINT13 ((PIN_PB27A_EIC_EXTINT13 << 16) | MUX_PB27A_EIC_EXTINT13) +#define PORT_PB27A_EIC_EXTINT13 (_UL_(1) << 27) +#define PIN_PB27A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PB27 External Interrupt Line */ +#define PIN_PC13A_EIC_EXTINT13 _L_(77) /**< \brief EIC signal: EXTINT13 on PC13 mux A */ +#define MUX_PC13A_EIC_EXTINT13 _L_(0) +#define PINMUX_PC13A_EIC_EXTINT13 ((PIN_PC13A_EIC_EXTINT13 << 16) | MUX_PC13A_EIC_EXTINT13) +#define PORT_PC13A_EIC_EXTINT13 (_UL_(1) << 13) +#define PIN_PC13A_EIC_EXTINT_NUM _L_(13) /**< \brief EIC signal: PIN_PC13 External Interrupt Line */ +#define PIN_PA30A_EIC_EXTINT14 _L_(30) /**< \brief EIC signal: EXTINT14 on PA30 mux A */ +#define MUX_PA30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PA30A_EIC_EXTINT14 ((PIN_PA30A_EIC_EXTINT14 << 16) | MUX_PA30A_EIC_EXTINT14) +#define PORT_PA30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PA30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA30 External Interrupt Line */ +#define PIN_PB14A_EIC_EXTINT14 _L_(46) /**< \brief EIC signal: EXTINT14 on PB14 mux A */ +#define MUX_PB14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB14A_EIC_EXTINT14 ((PIN_PB14A_EIC_EXTINT14 << 16) | MUX_PB14A_EIC_EXTINT14) +#define PORT_PB14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PB14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB14 External Interrupt Line */ +#define PIN_PB28A_EIC_EXTINT14 _L_(60) /**< \brief EIC signal: EXTINT14 on PB28 mux A */ +#define MUX_PB28A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB28A_EIC_EXTINT14 ((PIN_PB28A_EIC_EXTINT14 << 16) | MUX_PB28A_EIC_EXTINT14) +#define PORT_PB28A_EIC_EXTINT14 (_UL_(1) << 28) +#define PIN_PB28A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB28 External Interrupt Line */ +#define PIN_PB30A_EIC_EXTINT14 _L_(62) /**< \brief EIC signal: EXTINT14 on PB30 mux A */ +#define MUX_PB30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PB30A_EIC_EXTINT14 ((PIN_PB30A_EIC_EXTINT14 << 16) | MUX_PB30A_EIC_EXTINT14) +#define PORT_PB30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PB30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PB30 External Interrupt Line */ +#define PIN_PC14A_EIC_EXTINT14 _L_(78) /**< \brief EIC signal: EXTINT14 on PC14 mux A */ +#define MUX_PC14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PC14A_EIC_EXTINT14 ((PIN_PC14A_EIC_EXTINT14 << 16) | MUX_PC14A_EIC_EXTINT14) +#define PORT_PC14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PC14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC14 External Interrupt Line */ +#define PIN_PC30A_EIC_EXTINT14 _L_(94) /**< \brief EIC signal: EXTINT14 on PC30 mux A */ +#define MUX_PC30A_EIC_EXTINT14 _L_(0) +#define PINMUX_PC30A_EIC_EXTINT14 ((PIN_PC30A_EIC_EXTINT14 << 16) | MUX_PC30A_EIC_EXTINT14) +#define PORT_PC30A_EIC_EXTINT14 (_UL_(1) << 30) +#define PIN_PC30A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PC30 External Interrupt Line */ +#define PIN_PA14A_EIC_EXTINT14 _L_(14) /**< \brief EIC signal: EXTINT14 on PA14 mux A */ +#define MUX_PA14A_EIC_EXTINT14 _L_(0) +#define PINMUX_PA14A_EIC_EXTINT14 ((PIN_PA14A_EIC_EXTINT14 << 16) | MUX_PA14A_EIC_EXTINT14) +#define PORT_PA14A_EIC_EXTINT14 (_UL_(1) << 14) +#define PIN_PA14A_EIC_EXTINT_NUM _L_(14) /**< \brief EIC signal: PIN_PA14 External Interrupt Line */ +#define PIN_PA15A_EIC_EXTINT15 _L_(15) /**< \brief EIC signal: EXTINT15 on PA15 mux A */ +#define MUX_PA15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PA15A_EIC_EXTINT15 ((PIN_PA15A_EIC_EXTINT15 << 16) | MUX_PA15A_EIC_EXTINT15) +#define PORT_PA15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PA15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA15 External Interrupt Line */ +#define PIN_PA31A_EIC_EXTINT15 _L_(31) /**< \brief EIC signal: EXTINT15 on PA31 mux A */ +#define MUX_PA31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PA31A_EIC_EXTINT15 ((PIN_PA31A_EIC_EXTINT15 << 16) | MUX_PA31A_EIC_EXTINT15) +#define PORT_PA31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PA31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PA31 External Interrupt Line */ +#define PIN_PB15A_EIC_EXTINT15 _L_(47) /**< \brief EIC signal: EXTINT15 on PB15 mux A */ +#define MUX_PB15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB15A_EIC_EXTINT15 ((PIN_PB15A_EIC_EXTINT15 << 16) | MUX_PB15A_EIC_EXTINT15) +#define PORT_PB15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PB15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB15 External Interrupt Line */ +#define PIN_PB29A_EIC_EXTINT15 _L_(61) /**< \brief EIC signal: EXTINT15 on PB29 mux A */ +#define MUX_PB29A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB29A_EIC_EXTINT15 ((PIN_PB29A_EIC_EXTINT15 << 16) | MUX_PB29A_EIC_EXTINT15) +#define PORT_PB29A_EIC_EXTINT15 (_UL_(1) << 29) +#define PIN_PB29A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB29 External Interrupt Line */ +#define PIN_PB31A_EIC_EXTINT15 _L_(63) /**< \brief EIC signal: EXTINT15 on PB31 mux A */ +#define MUX_PB31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PB31A_EIC_EXTINT15 ((PIN_PB31A_EIC_EXTINT15 << 16) | MUX_PB31A_EIC_EXTINT15) +#define PORT_PB31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PB31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PB31 External Interrupt Line */ +#define PIN_PC15A_EIC_EXTINT15 _L_(79) /**< \brief EIC signal: EXTINT15 on PC15 mux A */ +#define MUX_PC15A_EIC_EXTINT15 _L_(0) +#define PINMUX_PC15A_EIC_EXTINT15 ((PIN_PC15A_EIC_EXTINT15 << 16) | MUX_PC15A_EIC_EXTINT15) +#define PORT_PC15A_EIC_EXTINT15 (_UL_(1) << 15) +#define PIN_PC15A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC15 External Interrupt Line */ +#define PIN_PC31A_EIC_EXTINT15 _L_(95) /**< \brief EIC signal: EXTINT15 on PC31 mux A */ +#define MUX_PC31A_EIC_EXTINT15 _L_(0) +#define PINMUX_PC31A_EIC_EXTINT15 ((PIN_PC31A_EIC_EXTINT15 << 16) | MUX_PC31A_EIC_EXTINT15) +#define PORT_PC31A_EIC_EXTINT15 (_UL_(1) << 31) +#define PIN_PC31A_EIC_EXTINT_NUM _L_(15) /**< \brief EIC signal: PIN_PC31 External Interrupt Line */ +#define PIN_PA08A_EIC_NMI _L_(8) /**< \brief EIC signal: NMI on PA08 mux A */ +#define MUX_PA08A_EIC_NMI _L_(0) +#define PINMUX_PA08A_EIC_NMI ((PIN_PA08A_EIC_NMI << 16) | MUX_PA08A_EIC_NMI) +#define PORT_PA08A_EIC_NMI (_UL_(1) << 8) +/* ========== PORT definition for SERCOM0 peripheral ========== */ +#define PIN_PA04D_SERCOM0_PAD0 _L_(4) /**< \brief SERCOM0 signal: PAD0 on PA04 mux D */ +#define MUX_PA04D_SERCOM0_PAD0 _L_(3) +#define PINMUX_PA04D_SERCOM0_PAD0 ((PIN_PA04D_SERCOM0_PAD0 << 16) | MUX_PA04D_SERCOM0_PAD0) +#define PORT_PA04D_SERCOM0_PAD0 (_UL_(1) << 4) +#define PIN_PC17D_SERCOM0_PAD0 _L_(81) /**< \brief SERCOM0 signal: PAD0 on PC17 mux D */ +#define MUX_PC17D_SERCOM0_PAD0 _L_(3) +#define PINMUX_PC17D_SERCOM0_PAD0 ((PIN_PC17D_SERCOM0_PAD0 << 16) | MUX_PC17D_SERCOM0_PAD0) +#define PORT_PC17D_SERCOM0_PAD0 (_UL_(1) << 17) +#define PIN_PA08C_SERCOM0_PAD0 _L_(8) /**< \brief SERCOM0 signal: PAD0 on PA08 mux C */ +#define MUX_PA08C_SERCOM0_PAD0 _L_(2) +#define PINMUX_PA08C_SERCOM0_PAD0 ((PIN_PA08C_SERCOM0_PAD0 << 16) | MUX_PA08C_SERCOM0_PAD0) +#define PORT_PA08C_SERCOM0_PAD0 (_UL_(1) << 8) +#define PIN_PB24C_SERCOM0_PAD0 _L_(56) /**< \brief SERCOM0 signal: PAD0 on PB24 mux C */ +#define MUX_PB24C_SERCOM0_PAD0 _L_(2) +#define PINMUX_PB24C_SERCOM0_PAD0 ((PIN_PB24C_SERCOM0_PAD0 << 16) | MUX_PB24C_SERCOM0_PAD0) +#define PORT_PB24C_SERCOM0_PAD0 (_UL_(1) << 24) +#define PIN_PA05D_SERCOM0_PAD1 _L_(5) /**< \brief SERCOM0 signal: PAD1 on PA05 mux D */ +#define MUX_PA05D_SERCOM0_PAD1 _L_(3) +#define PINMUX_PA05D_SERCOM0_PAD1 ((PIN_PA05D_SERCOM0_PAD1 << 16) | MUX_PA05D_SERCOM0_PAD1) +#define PORT_PA05D_SERCOM0_PAD1 (_UL_(1) << 5) +#define PIN_PC16D_SERCOM0_PAD1 _L_(80) /**< \brief SERCOM0 signal: PAD1 on PC16 mux D */ +#define MUX_PC16D_SERCOM0_PAD1 _L_(3) +#define PINMUX_PC16D_SERCOM0_PAD1 ((PIN_PC16D_SERCOM0_PAD1 << 16) | MUX_PC16D_SERCOM0_PAD1) +#define PORT_PC16D_SERCOM0_PAD1 (_UL_(1) << 16) +#define PIN_PA09C_SERCOM0_PAD1 _L_(9) /**< \brief SERCOM0 signal: PAD1 on PA09 mux C */ +#define MUX_PA09C_SERCOM0_PAD1 _L_(2) +#define PINMUX_PA09C_SERCOM0_PAD1 ((PIN_PA09C_SERCOM0_PAD1 << 16) | MUX_PA09C_SERCOM0_PAD1) +#define PORT_PA09C_SERCOM0_PAD1 (_UL_(1) << 9) +#define PIN_PB25C_SERCOM0_PAD1 _L_(57) /**< \brief SERCOM0 signal: PAD1 on PB25 mux C */ +#define MUX_PB25C_SERCOM0_PAD1 _L_(2) +#define PINMUX_PB25C_SERCOM0_PAD1 ((PIN_PB25C_SERCOM0_PAD1 << 16) | MUX_PB25C_SERCOM0_PAD1) +#define PORT_PB25C_SERCOM0_PAD1 (_UL_(1) << 25) +#define PIN_PA06D_SERCOM0_PAD2 _L_(6) /**< \brief SERCOM0 signal: PAD2 on PA06 mux D */ +#define MUX_PA06D_SERCOM0_PAD2 _L_(3) +#define PINMUX_PA06D_SERCOM0_PAD2 ((PIN_PA06D_SERCOM0_PAD2 << 16) | MUX_PA06D_SERCOM0_PAD2) +#define PORT_PA06D_SERCOM0_PAD2 (_UL_(1) << 6) +#define PIN_PC18D_SERCOM0_PAD2 _L_(82) /**< \brief SERCOM0 signal: PAD2 on PC18 mux D */ +#define MUX_PC18D_SERCOM0_PAD2 _L_(3) +#define PINMUX_PC18D_SERCOM0_PAD2 ((PIN_PC18D_SERCOM0_PAD2 << 16) | MUX_PC18D_SERCOM0_PAD2) +#define PORT_PC18D_SERCOM0_PAD2 (_UL_(1) << 18) +#define PIN_PA10C_SERCOM0_PAD2 _L_(10) /**< \brief SERCOM0 signal: PAD2 on PA10 mux C */ +#define MUX_PA10C_SERCOM0_PAD2 _L_(2) +#define PINMUX_PA10C_SERCOM0_PAD2 ((PIN_PA10C_SERCOM0_PAD2 << 16) | MUX_PA10C_SERCOM0_PAD2) +#define PORT_PA10C_SERCOM0_PAD2 (_UL_(1) << 10) +#define PIN_PC24C_SERCOM0_PAD2 _L_(88) /**< \brief SERCOM0 signal: PAD2 on PC24 mux C */ +#define MUX_PC24C_SERCOM0_PAD2 _L_(2) +#define PINMUX_PC24C_SERCOM0_PAD2 ((PIN_PC24C_SERCOM0_PAD2 << 16) | MUX_PC24C_SERCOM0_PAD2) +#define PORT_PC24C_SERCOM0_PAD2 (_UL_(1) << 24) +#define PIN_PA07D_SERCOM0_PAD3 _L_(7) /**< \brief SERCOM0 signal: PAD3 on PA07 mux D */ +#define MUX_PA07D_SERCOM0_PAD3 _L_(3) +#define PINMUX_PA07D_SERCOM0_PAD3 ((PIN_PA07D_SERCOM0_PAD3 << 16) | MUX_PA07D_SERCOM0_PAD3) +#define PORT_PA07D_SERCOM0_PAD3 (_UL_(1) << 7) +#define PIN_PC19D_SERCOM0_PAD3 _L_(83) /**< \brief SERCOM0 signal: PAD3 on PC19 mux D */ +#define MUX_PC19D_SERCOM0_PAD3 _L_(3) +#define PINMUX_PC19D_SERCOM0_PAD3 ((PIN_PC19D_SERCOM0_PAD3 << 16) | MUX_PC19D_SERCOM0_PAD3) +#define PORT_PC19D_SERCOM0_PAD3 (_UL_(1) << 19) +#define PIN_PA11C_SERCOM0_PAD3 _L_(11) /**< \brief SERCOM0 signal: PAD3 on PA11 mux C */ +#define MUX_PA11C_SERCOM0_PAD3 _L_(2) +#define PINMUX_PA11C_SERCOM0_PAD3 ((PIN_PA11C_SERCOM0_PAD3 << 16) | MUX_PA11C_SERCOM0_PAD3) +#define PORT_PA11C_SERCOM0_PAD3 (_UL_(1) << 11) +#define PIN_PC25C_SERCOM0_PAD3 _L_(89) /**< \brief SERCOM0 signal: PAD3 on PC25 mux C */ +#define MUX_PC25C_SERCOM0_PAD3 _L_(2) +#define PINMUX_PC25C_SERCOM0_PAD3 ((PIN_PC25C_SERCOM0_PAD3 << 16) | MUX_PC25C_SERCOM0_PAD3) +#define PORT_PC25C_SERCOM0_PAD3 (_UL_(1) << 25) +/* ========== PORT definition for SERCOM1 peripheral ========== */ +#define PIN_PA00D_SERCOM1_PAD0 _L_(0) /**< \brief SERCOM1 signal: PAD0 on PA00 mux D */ +#define MUX_PA00D_SERCOM1_PAD0 _L_(3) +#define PINMUX_PA00D_SERCOM1_PAD0 ((PIN_PA00D_SERCOM1_PAD0 << 16) | MUX_PA00D_SERCOM1_PAD0) +#define PORT_PA00D_SERCOM1_PAD0 (_UL_(1) << 0) +#define PIN_PA16C_SERCOM1_PAD0 _L_(16) /**< \brief SERCOM1 signal: PAD0 on PA16 mux C */ +#define MUX_PA16C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PA16C_SERCOM1_PAD0 ((PIN_PA16C_SERCOM1_PAD0 << 16) | MUX_PA16C_SERCOM1_PAD0) +#define PORT_PA16C_SERCOM1_PAD0 (_UL_(1) << 16) +#define PIN_PC22C_SERCOM1_PAD0 _L_(86) /**< \brief SERCOM1 signal: PAD0 on PC22 mux C */ +#define MUX_PC22C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PC22C_SERCOM1_PAD0 ((PIN_PC22C_SERCOM1_PAD0 << 16) | MUX_PC22C_SERCOM1_PAD0) +#define PORT_PC22C_SERCOM1_PAD0 (_UL_(1) << 22) +#define PIN_PC27C_SERCOM1_PAD0 _L_(91) /**< \brief SERCOM1 signal: PAD0 on PC27 mux C */ +#define MUX_PC27C_SERCOM1_PAD0 _L_(2) +#define PINMUX_PC27C_SERCOM1_PAD0 ((PIN_PC27C_SERCOM1_PAD0 << 16) | MUX_PC27C_SERCOM1_PAD0) +#define PORT_PC27C_SERCOM1_PAD0 (_UL_(1) << 27) +#define PIN_PA01D_SERCOM1_PAD1 _L_(1) /**< \brief SERCOM1 signal: PAD1 on PA01 mux D */ +#define MUX_PA01D_SERCOM1_PAD1 _L_(3) +#define PINMUX_PA01D_SERCOM1_PAD1 ((PIN_PA01D_SERCOM1_PAD1 << 16) | MUX_PA01D_SERCOM1_PAD1) +#define PORT_PA01D_SERCOM1_PAD1 (_UL_(1) << 1) +#define PIN_PA17C_SERCOM1_PAD1 _L_(17) /**< \brief SERCOM1 signal: PAD1 on PA17 mux C */ +#define MUX_PA17C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PA17C_SERCOM1_PAD1 ((PIN_PA17C_SERCOM1_PAD1 << 16) | MUX_PA17C_SERCOM1_PAD1) +#define PORT_PA17C_SERCOM1_PAD1 (_UL_(1) << 17) +#define PIN_PC23C_SERCOM1_PAD1 _L_(87) /**< \brief SERCOM1 signal: PAD1 on PC23 mux C */ +#define MUX_PC23C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PC23C_SERCOM1_PAD1 ((PIN_PC23C_SERCOM1_PAD1 << 16) | MUX_PC23C_SERCOM1_PAD1) +#define PORT_PC23C_SERCOM1_PAD1 (_UL_(1) << 23) +#define PIN_PC28C_SERCOM1_PAD1 _L_(92) /**< \brief SERCOM1 signal: PAD1 on PC28 mux C */ +#define MUX_PC28C_SERCOM1_PAD1 _L_(2) +#define PINMUX_PC28C_SERCOM1_PAD1 ((PIN_PC28C_SERCOM1_PAD1 << 16) | MUX_PC28C_SERCOM1_PAD1) +#define PORT_PC28C_SERCOM1_PAD1 (_UL_(1) << 28) +#define PIN_PA30D_SERCOM1_PAD2 _L_(30) /**< \brief SERCOM1 signal: PAD2 on PA30 mux D */ +#define MUX_PA30D_SERCOM1_PAD2 _L_(3) +#define PINMUX_PA30D_SERCOM1_PAD2 ((PIN_PA30D_SERCOM1_PAD2 << 16) | MUX_PA30D_SERCOM1_PAD2) +#define PORT_PA30D_SERCOM1_PAD2 (_UL_(1) << 30) +#define PIN_PA18C_SERCOM1_PAD2 _L_(18) /**< \brief SERCOM1 signal: PAD2 on PA18 mux C */ +#define MUX_PA18C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PA18C_SERCOM1_PAD2 ((PIN_PA18C_SERCOM1_PAD2 << 16) | MUX_PA18C_SERCOM1_PAD2) +#define PORT_PA18C_SERCOM1_PAD2 (_UL_(1) << 18) +#define PIN_PB22C_SERCOM1_PAD2 _L_(54) /**< \brief SERCOM1 signal: PAD2 on PB22 mux C */ +#define MUX_PB22C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PB22C_SERCOM1_PAD2 ((PIN_PB22C_SERCOM1_PAD2 << 16) | MUX_PB22C_SERCOM1_PAD2) +#define PORT_PB22C_SERCOM1_PAD2 (_UL_(1) << 22) +#define PIN_PD20C_SERCOM1_PAD2 _L_(116) /**< \brief SERCOM1 signal: PAD2 on PD20 mux C */ +#define MUX_PD20C_SERCOM1_PAD2 _L_(2) +#define PINMUX_PD20C_SERCOM1_PAD2 ((PIN_PD20C_SERCOM1_PAD2 << 16) | MUX_PD20C_SERCOM1_PAD2) +#define PORT_PD20C_SERCOM1_PAD2 (_UL_(1) << 20) +#define PIN_PA31D_SERCOM1_PAD3 _L_(31) /**< \brief SERCOM1 signal: PAD3 on PA31 mux D */ +#define MUX_PA31D_SERCOM1_PAD3 _L_(3) +#define PINMUX_PA31D_SERCOM1_PAD3 ((PIN_PA31D_SERCOM1_PAD3 << 16) | MUX_PA31D_SERCOM1_PAD3) +#define PORT_PA31D_SERCOM1_PAD3 (_UL_(1) << 31) +#define PIN_PA19C_SERCOM1_PAD3 _L_(19) /**< \brief SERCOM1 signal: PAD3 on PA19 mux C */ +#define MUX_PA19C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PA19C_SERCOM1_PAD3 ((PIN_PA19C_SERCOM1_PAD3 << 16) | MUX_PA19C_SERCOM1_PAD3) +#define PORT_PA19C_SERCOM1_PAD3 (_UL_(1) << 19) +#define PIN_PB23C_SERCOM1_PAD3 _L_(55) /**< \brief SERCOM1 signal: PAD3 on PB23 mux C */ +#define MUX_PB23C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PB23C_SERCOM1_PAD3 ((PIN_PB23C_SERCOM1_PAD3 << 16) | MUX_PB23C_SERCOM1_PAD3) +#define PORT_PB23C_SERCOM1_PAD3 (_UL_(1) << 23) +#define PIN_PD21C_SERCOM1_PAD3 _L_(117) /**< \brief SERCOM1 signal: PAD3 on PD21 mux C */ +#define MUX_PD21C_SERCOM1_PAD3 _L_(2) +#define PINMUX_PD21C_SERCOM1_PAD3 ((PIN_PD21C_SERCOM1_PAD3 << 16) | MUX_PD21C_SERCOM1_PAD3) +#define PORT_PD21C_SERCOM1_PAD3 (_UL_(1) << 21) +/* ========== PORT definition for TC0 peripheral ========== */ +#define PIN_PA04E_TC0_WO0 _L_(4) /**< \brief TC0 signal: WO0 on PA04 mux E */ +#define MUX_PA04E_TC0_WO0 _L_(4) +#define PINMUX_PA04E_TC0_WO0 ((PIN_PA04E_TC0_WO0 << 16) | MUX_PA04E_TC0_WO0) +#define PORT_PA04E_TC0_WO0 (_UL_(1) << 4) +#define PIN_PA08E_TC0_WO0 _L_(8) /**< \brief TC0 signal: WO0 on PA08 mux E */ +#define MUX_PA08E_TC0_WO0 _L_(4) +#define PINMUX_PA08E_TC0_WO0 ((PIN_PA08E_TC0_WO0 << 16) | MUX_PA08E_TC0_WO0) +#define PORT_PA08E_TC0_WO0 (_UL_(1) << 8) +#define PIN_PB30E_TC0_WO0 _L_(62) /**< \brief TC0 signal: WO0 on PB30 mux E */ +#define MUX_PB30E_TC0_WO0 _L_(4) +#define PINMUX_PB30E_TC0_WO0 ((PIN_PB30E_TC0_WO0 << 16) | MUX_PB30E_TC0_WO0) +#define PORT_PB30E_TC0_WO0 (_UL_(1) << 30) +#define PIN_PA05E_TC0_WO1 _L_(5) /**< \brief TC0 signal: WO1 on PA05 mux E */ +#define MUX_PA05E_TC0_WO1 _L_(4) +#define PINMUX_PA05E_TC0_WO1 ((PIN_PA05E_TC0_WO1 << 16) | MUX_PA05E_TC0_WO1) +#define PORT_PA05E_TC0_WO1 (_UL_(1) << 5) +#define PIN_PA09E_TC0_WO1 _L_(9) /**< \brief TC0 signal: WO1 on PA09 mux E */ +#define MUX_PA09E_TC0_WO1 _L_(4) +#define PINMUX_PA09E_TC0_WO1 ((PIN_PA09E_TC0_WO1 << 16) | MUX_PA09E_TC0_WO1) +#define PORT_PA09E_TC0_WO1 (_UL_(1) << 9) +#define PIN_PB31E_TC0_WO1 _L_(63) /**< \brief TC0 signal: WO1 on PB31 mux E */ +#define MUX_PB31E_TC0_WO1 _L_(4) +#define PINMUX_PB31E_TC0_WO1 ((PIN_PB31E_TC0_WO1 << 16) | MUX_PB31E_TC0_WO1) +#define PORT_PB31E_TC0_WO1 (_UL_(1) << 31) +/* ========== PORT definition for TC1 peripheral ========== */ +#define PIN_PA06E_TC1_WO0 _L_(6) /**< \brief TC1 signal: WO0 on PA06 mux E */ +#define MUX_PA06E_TC1_WO0 _L_(4) +#define PINMUX_PA06E_TC1_WO0 ((PIN_PA06E_TC1_WO0 << 16) | MUX_PA06E_TC1_WO0) +#define PORT_PA06E_TC1_WO0 (_UL_(1) << 6) +#define PIN_PA10E_TC1_WO0 _L_(10) /**< \brief TC1 signal: WO0 on PA10 mux E */ +#define MUX_PA10E_TC1_WO0 _L_(4) +#define PINMUX_PA10E_TC1_WO0 ((PIN_PA10E_TC1_WO0 << 16) | MUX_PA10E_TC1_WO0) +#define PORT_PA10E_TC1_WO0 (_UL_(1) << 10) +#define PIN_PA07E_TC1_WO1 _L_(7) /**< \brief TC1 signal: WO1 on PA07 mux E */ +#define MUX_PA07E_TC1_WO1 _L_(4) +#define PINMUX_PA07E_TC1_WO1 ((PIN_PA07E_TC1_WO1 << 16) | MUX_PA07E_TC1_WO1) +#define PORT_PA07E_TC1_WO1 (_UL_(1) << 7) +#define PIN_PA11E_TC1_WO1 _L_(11) /**< \brief TC1 signal: WO1 on PA11 mux E */ +#define MUX_PA11E_TC1_WO1 _L_(4) +#define PINMUX_PA11E_TC1_WO1 ((PIN_PA11E_TC1_WO1 << 16) | MUX_PA11E_TC1_WO1) +#define PORT_PA11E_TC1_WO1 (_UL_(1) << 11) +/* ========== PORT definition for USB peripheral ========== */ +#define PIN_PA24H_USB_DM _L_(24) /**< \brief USB signal: DM on PA24 mux H */ +#define MUX_PA24H_USB_DM _L_(7) +#define PINMUX_PA24H_USB_DM ((PIN_PA24H_USB_DM << 16) | MUX_PA24H_USB_DM) +#define PORT_PA24H_USB_DM (_UL_(1) << 24) +#define PIN_PA25H_USB_DP _L_(25) /**< \brief USB signal: DP on PA25 mux H */ +#define MUX_PA25H_USB_DP _L_(7) +#define PINMUX_PA25H_USB_DP ((PIN_PA25H_USB_DP << 16) | MUX_PA25H_USB_DP) +#define PORT_PA25H_USB_DP (_UL_(1) << 25) +#define PIN_PA23H_USB_SOF_1KHZ _L_(23) /**< \brief USB signal: SOF_1KHZ on PA23 mux H */ +#define MUX_PA23H_USB_SOF_1KHZ _L_(7) +#define PINMUX_PA23H_USB_SOF_1KHZ ((PIN_PA23H_USB_SOF_1KHZ << 16) | MUX_PA23H_USB_SOF_1KHZ) +#define PORT_PA23H_USB_SOF_1KHZ (_UL_(1) << 23) +#define PIN_PB22H_USB_SOF_1KHZ _L_(54) /**< \brief USB signal: SOF_1KHZ on PB22 mux H */ +#define MUX_PB22H_USB_SOF_1KHZ _L_(7) +#define PINMUX_PB22H_USB_SOF_1KHZ ((PIN_PB22H_USB_SOF_1KHZ << 16) | MUX_PB22H_USB_SOF_1KHZ) +#define PORT_PB22H_USB_SOF_1KHZ (_UL_(1) << 22) +/* ========== PORT definition for SERCOM2 peripheral ========== */ +#define PIN_PA09D_SERCOM2_PAD0 _L_(9) /**< \brief SERCOM2 signal: PAD0 on PA09 mux D */ +#define MUX_PA09D_SERCOM2_PAD0 _L_(3) +#define PINMUX_PA09D_SERCOM2_PAD0 ((PIN_PA09D_SERCOM2_PAD0 << 16) | MUX_PA09D_SERCOM2_PAD0) +#define PORT_PA09D_SERCOM2_PAD0 (_UL_(1) << 9) +#define PIN_PB25D_SERCOM2_PAD0 _L_(57) /**< \brief SERCOM2 signal: PAD0 on PB25 mux D */ +#define MUX_PB25D_SERCOM2_PAD0 _L_(3) +#define PINMUX_PB25D_SERCOM2_PAD0 ((PIN_PB25D_SERCOM2_PAD0 << 16) | MUX_PB25D_SERCOM2_PAD0) +#define PORT_PB25D_SERCOM2_PAD0 (_UL_(1) << 25) +#define PIN_PA12C_SERCOM2_PAD0 _L_(12) /**< \brief SERCOM2 signal: PAD0 on PA12 mux C */ +#define MUX_PA12C_SERCOM2_PAD0 _L_(2) +#define PINMUX_PA12C_SERCOM2_PAD0 ((PIN_PA12C_SERCOM2_PAD0 << 16) | MUX_PA12C_SERCOM2_PAD0) +#define PORT_PA12C_SERCOM2_PAD0 (_UL_(1) << 12) +#define PIN_PB26C_SERCOM2_PAD0 _L_(58) /**< \brief SERCOM2 signal: PAD0 on PB26 mux C */ +#define MUX_PB26C_SERCOM2_PAD0 _L_(2) +#define PINMUX_PB26C_SERCOM2_PAD0 ((PIN_PB26C_SERCOM2_PAD0 << 16) | MUX_PB26C_SERCOM2_PAD0) +#define PORT_PB26C_SERCOM2_PAD0 (_UL_(1) << 26) +#define PIN_PA08D_SERCOM2_PAD1 _L_(8) /**< \brief SERCOM2 signal: PAD1 on PA08 mux D */ +#define MUX_PA08D_SERCOM2_PAD1 _L_(3) +#define PINMUX_PA08D_SERCOM2_PAD1 ((PIN_PA08D_SERCOM2_PAD1 << 16) | MUX_PA08D_SERCOM2_PAD1) +#define PORT_PA08D_SERCOM2_PAD1 (_UL_(1) << 8) +#define PIN_PB24D_SERCOM2_PAD1 _L_(56) /**< \brief SERCOM2 signal: PAD1 on PB24 mux D */ +#define MUX_PB24D_SERCOM2_PAD1 _L_(3) +#define PINMUX_PB24D_SERCOM2_PAD1 ((PIN_PB24D_SERCOM2_PAD1 << 16) | MUX_PB24D_SERCOM2_PAD1) +#define PORT_PB24D_SERCOM2_PAD1 (_UL_(1) << 24) +#define PIN_PA13C_SERCOM2_PAD1 _L_(13) /**< \brief SERCOM2 signal: PAD1 on PA13 mux C */ +#define MUX_PA13C_SERCOM2_PAD1 _L_(2) +#define PINMUX_PA13C_SERCOM2_PAD1 ((PIN_PA13C_SERCOM2_PAD1 << 16) | MUX_PA13C_SERCOM2_PAD1) +#define PORT_PA13C_SERCOM2_PAD1 (_UL_(1) << 13) +#define PIN_PB27C_SERCOM2_PAD1 _L_(59) /**< \brief SERCOM2 signal: PAD1 on PB27 mux C */ +#define MUX_PB27C_SERCOM2_PAD1 _L_(2) +#define PINMUX_PB27C_SERCOM2_PAD1 ((PIN_PB27C_SERCOM2_PAD1 << 16) | MUX_PB27C_SERCOM2_PAD1) +#define PORT_PB27C_SERCOM2_PAD1 (_UL_(1) << 27) +#define PIN_PA10D_SERCOM2_PAD2 _L_(10) /**< \brief SERCOM2 signal: PAD2 on PA10 mux D */ +#define MUX_PA10D_SERCOM2_PAD2 _L_(3) +#define PINMUX_PA10D_SERCOM2_PAD2 ((PIN_PA10D_SERCOM2_PAD2 << 16) | MUX_PA10D_SERCOM2_PAD2) +#define PORT_PA10D_SERCOM2_PAD2 (_UL_(1) << 10) +#define PIN_PC24D_SERCOM2_PAD2 _L_(88) /**< \brief SERCOM2 signal: PAD2 on PC24 mux D */ +#define MUX_PC24D_SERCOM2_PAD2 _L_(3) +#define PINMUX_PC24D_SERCOM2_PAD2 ((PIN_PC24D_SERCOM2_PAD2 << 16) | MUX_PC24D_SERCOM2_PAD2) +#define PORT_PC24D_SERCOM2_PAD2 (_UL_(1) << 24) +#define PIN_PB28C_SERCOM2_PAD2 _L_(60) /**< \brief SERCOM2 signal: PAD2 on PB28 mux C */ +#define MUX_PB28C_SERCOM2_PAD2 _L_(2) +#define PINMUX_PB28C_SERCOM2_PAD2 ((PIN_PB28C_SERCOM2_PAD2 << 16) | MUX_PB28C_SERCOM2_PAD2) +#define PORT_PB28C_SERCOM2_PAD2 (_UL_(1) << 28) +#define PIN_PA14C_SERCOM2_PAD2 _L_(14) /**< \brief SERCOM2 signal: PAD2 on PA14 mux C */ +#define MUX_PA14C_SERCOM2_PAD2 _L_(2) +#define PINMUX_PA14C_SERCOM2_PAD2 ((PIN_PA14C_SERCOM2_PAD2 << 16) | MUX_PA14C_SERCOM2_PAD2) +#define PORT_PA14C_SERCOM2_PAD2 (_UL_(1) << 14) +#define PIN_PA11D_SERCOM2_PAD3 _L_(11) /**< \brief SERCOM2 signal: PAD3 on PA11 mux D */ +#define MUX_PA11D_SERCOM2_PAD3 _L_(3) +#define PINMUX_PA11D_SERCOM2_PAD3 ((PIN_PA11D_SERCOM2_PAD3 << 16) | MUX_PA11D_SERCOM2_PAD3) +#define PORT_PA11D_SERCOM2_PAD3 (_UL_(1) << 11) +#define PIN_PC25D_SERCOM2_PAD3 _L_(89) /**< \brief SERCOM2 signal: PAD3 on PC25 mux D */ +#define MUX_PC25D_SERCOM2_PAD3 _L_(3) +#define PINMUX_PC25D_SERCOM2_PAD3 ((PIN_PC25D_SERCOM2_PAD3 << 16) | MUX_PC25D_SERCOM2_PAD3) +#define PORT_PC25D_SERCOM2_PAD3 (_UL_(1) << 25) +#define PIN_PB29C_SERCOM2_PAD3 _L_(61) /**< \brief SERCOM2 signal: PAD3 on PB29 mux C */ +#define MUX_PB29C_SERCOM2_PAD3 _L_(2) +#define PINMUX_PB29C_SERCOM2_PAD3 ((PIN_PB29C_SERCOM2_PAD3 << 16) | MUX_PB29C_SERCOM2_PAD3) +#define PORT_PB29C_SERCOM2_PAD3 (_UL_(1) << 29) +#define PIN_PA15C_SERCOM2_PAD3 _L_(15) /**< \brief SERCOM2 signal: PAD3 on PA15 mux C */ +#define MUX_PA15C_SERCOM2_PAD3 _L_(2) +#define PINMUX_PA15C_SERCOM2_PAD3 ((PIN_PA15C_SERCOM2_PAD3 << 16) | MUX_PA15C_SERCOM2_PAD3) +#define PORT_PA15C_SERCOM2_PAD3 (_UL_(1) << 15) +/* ========== PORT definition for SERCOM3 peripheral ========== */ +#define PIN_PA17D_SERCOM3_PAD0 _L_(17) /**< \brief SERCOM3 signal: PAD0 on PA17 mux D */ +#define MUX_PA17D_SERCOM3_PAD0 _L_(3) +#define PINMUX_PA17D_SERCOM3_PAD0 ((PIN_PA17D_SERCOM3_PAD0 << 16) | MUX_PA17D_SERCOM3_PAD0) +#define PORT_PA17D_SERCOM3_PAD0 (_UL_(1) << 17) +#define PIN_PC23D_SERCOM3_PAD0 _L_(87) /**< \brief SERCOM3 signal: PAD0 on PC23 mux D */ +#define MUX_PC23D_SERCOM3_PAD0 _L_(3) +#define PINMUX_PC23D_SERCOM3_PAD0 ((PIN_PC23D_SERCOM3_PAD0 << 16) | MUX_PC23D_SERCOM3_PAD0) +#define PORT_PC23D_SERCOM3_PAD0 (_UL_(1) << 23) +#define PIN_PA22C_SERCOM3_PAD0 _L_(22) /**< \brief SERCOM3 signal: PAD0 on PA22 mux C */ +#define MUX_PA22C_SERCOM3_PAD0 _L_(2) +#define PINMUX_PA22C_SERCOM3_PAD0 ((PIN_PA22C_SERCOM3_PAD0 << 16) | MUX_PA22C_SERCOM3_PAD0) +#define PORT_PA22C_SERCOM3_PAD0 (_UL_(1) << 22) +#define PIN_PB20C_SERCOM3_PAD0 _L_(52) /**< \brief SERCOM3 signal: PAD0 on PB20 mux C */ +#define MUX_PB20C_SERCOM3_PAD0 _L_(2) +#define PINMUX_PB20C_SERCOM3_PAD0 ((PIN_PB20C_SERCOM3_PAD0 << 16) | MUX_PB20C_SERCOM3_PAD0) +#define PORT_PB20C_SERCOM3_PAD0 (_UL_(1) << 20) +#define PIN_PA16D_SERCOM3_PAD1 _L_(16) /**< \brief SERCOM3 signal: PAD1 on PA16 mux D */ +#define MUX_PA16D_SERCOM3_PAD1 _L_(3) +#define PINMUX_PA16D_SERCOM3_PAD1 ((PIN_PA16D_SERCOM3_PAD1 << 16) | MUX_PA16D_SERCOM3_PAD1) +#define PORT_PA16D_SERCOM3_PAD1 (_UL_(1) << 16) +#define PIN_PC22D_SERCOM3_PAD1 _L_(86) /**< \brief SERCOM3 signal: PAD1 on PC22 mux D */ +#define MUX_PC22D_SERCOM3_PAD1 _L_(3) +#define PINMUX_PC22D_SERCOM3_PAD1 ((PIN_PC22D_SERCOM3_PAD1 << 16) | MUX_PC22D_SERCOM3_PAD1) +#define PORT_PC22D_SERCOM3_PAD1 (_UL_(1) << 22) +#define PIN_PA23C_SERCOM3_PAD1 _L_(23) /**< \brief SERCOM3 signal: PAD1 on PA23 mux C */ +#define MUX_PA23C_SERCOM3_PAD1 _L_(2) +#define PINMUX_PA23C_SERCOM3_PAD1 ((PIN_PA23C_SERCOM3_PAD1 << 16) | MUX_PA23C_SERCOM3_PAD1) +#define PORT_PA23C_SERCOM3_PAD1 (_UL_(1) << 23) +#define PIN_PB21C_SERCOM3_PAD1 _L_(53) /**< \brief SERCOM3 signal: PAD1 on PB21 mux C */ +#define MUX_PB21C_SERCOM3_PAD1 _L_(2) +#define PINMUX_PB21C_SERCOM3_PAD1 ((PIN_PB21C_SERCOM3_PAD1 << 16) | MUX_PB21C_SERCOM3_PAD1) +#define PORT_PB21C_SERCOM3_PAD1 (_UL_(1) << 21) +#define PIN_PA18D_SERCOM3_PAD2 _L_(18) /**< \brief SERCOM3 signal: PAD2 on PA18 mux D */ +#define MUX_PA18D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PA18D_SERCOM3_PAD2 ((PIN_PA18D_SERCOM3_PAD2 << 16) | MUX_PA18D_SERCOM3_PAD2) +#define PORT_PA18D_SERCOM3_PAD2 (_UL_(1) << 18) +#define PIN_PA20D_SERCOM3_PAD2 _L_(20) /**< \brief SERCOM3 signal: PAD2 on PA20 mux D */ +#define MUX_PA20D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PA20D_SERCOM3_PAD2 ((PIN_PA20D_SERCOM3_PAD2 << 16) | MUX_PA20D_SERCOM3_PAD2) +#define PORT_PA20D_SERCOM3_PAD2 (_UL_(1) << 20) +#define PIN_PD20D_SERCOM3_PAD2 _L_(116) /**< \brief SERCOM3 signal: PAD2 on PD20 mux D */ +#define MUX_PD20D_SERCOM3_PAD2 _L_(3) +#define PINMUX_PD20D_SERCOM3_PAD2 ((PIN_PD20D_SERCOM3_PAD2 << 16) | MUX_PD20D_SERCOM3_PAD2) +#define PORT_PD20D_SERCOM3_PAD2 (_UL_(1) << 20) +#define PIN_PA24C_SERCOM3_PAD2 _L_(24) /**< \brief SERCOM3 signal: PAD2 on PA24 mux C */ +#define MUX_PA24C_SERCOM3_PAD2 _L_(2) +#define PINMUX_PA24C_SERCOM3_PAD2 ((PIN_PA24C_SERCOM3_PAD2 << 16) | MUX_PA24C_SERCOM3_PAD2) +#define PORT_PA24C_SERCOM3_PAD2 (_UL_(1) << 24) +#define PIN_PA19D_SERCOM3_PAD3 _L_(19) /**< \brief SERCOM3 signal: PAD3 on PA19 mux D */ +#define MUX_PA19D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PA19D_SERCOM3_PAD3 ((PIN_PA19D_SERCOM3_PAD3 << 16) | MUX_PA19D_SERCOM3_PAD3) +#define PORT_PA19D_SERCOM3_PAD3 (_UL_(1) << 19) +#define PIN_PA21D_SERCOM3_PAD3 _L_(21) /**< \brief SERCOM3 signal: PAD3 on PA21 mux D */ +#define MUX_PA21D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PA21D_SERCOM3_PAD3 ((PIN_PA21D_SERCOM3_PAD3 << 16) | MUX_PA21D_SERCOM3_PAD3) +#define PORT_PA21D_SERCOM3_PAD3 (_UL_(1) << 21) +#define PIN_PD21D_SERCOM3_PAD3 _L_(117) /**< \brief SERCOM3 signal: PAD3 on PD21 mux D */ +#define MUX_PD21D_SERCOM3_PAD3 _L_(3) +#define PINMUX_PD21D_SERCOM3_PAD3 ((PIN_PD21D_SERCOM3_PAD3 << 16) | MUX_PD21D_SERCOM3_PAD3) +#define PORT_PD21D_SERCOM3_PAD3 (_UL_(1) << 21) +#define PIN_PA25C_SERCOM3_PAD3 _L_(25) /**< \brief SERCOM3 signal: PAD3 on PA25 mux C */ +#define MUX_PA25C_SERCOM3_PAD3 _L_(2) +#define PINMUX_PA25C_SERCOM3_PAD3 ((PIN_PA25C_SERCOM3_PAD3 << 16) | MUX_PA25C_SERCOM3_PAD3) +#define PORT_PA25C_SERCOM3_PAD3 (_UL_(1) << 25) +/* ========== PORT definition for TCC0 peripheral ========== */ +#define PIN_PA20G_TCC0_WO0 _L_(20) /**< \brief TCC0 signal: WO0 on PA20 mux G */ +#define MUX_PA20G_TCC0_WO0 _L_(6) +#define PINMUX_PA20G_TCC0_WO0 ((PIN_PA20G_TCC0_WO0 << 16) | MUX_PA20G_TCC0_WO0) +#define PORT_PA20G_TCC0_WO0 (_UL_(1) << 20) +#define PIN_PB12G_TCC0_WO0 _L_(44) /**< \brief TCC0 signal: WO0 on PB12 mux G */ +#define MUX_PB12G_TCC0_WO0 _L_(6) +#define PINMUX_PB12G_TCC0_WO0 ((PIN_PB12G_TCC0_WO0 << 16) | MUX_PB12G_TCC0_WO0) +#define PORT_PB12G_TCC0_WO0 (_UL_(1) << 12) +#define PIN_PA08F_TCC0_WO0 _L_(8) /**< \brief TCC0 signal: WO0 on PA08 mux F */ +#define MUX_PA08F_TCC0_WO0 _L_(5) +#define PINMUX_PA08F_TCC0_WO0 ((PIN_PA08F_TCC0_WO0 << 16) | MUX_PA08F_TCC0_WO0) +#define PORT_PA08F_TCC0_WO0 (_UL_(1) << 8) +#define PIN_PC04F_TCC0_WO0 _L_(68) /**< \brief TCC0 signal: WO0 on PC04 mux F */ +#define MUX_PC04F_TCC0_WO0 _L_(5) +#define PINMUX_PC04F_TCC0_WO0 ((PIN_PC04F_TCC0_WO0 << 16) | MUX_PC04F_TCC0_WO0) +#define PORT_PC04F_TCC0_WO0 (_UL_(1) << 4) +#define PIN_PC10F_TCC0_WO0 _L_(74) /**< \brief TCC0 signal: WO0 on PC10 mux F */ +#define MUX_PC10F_TCC0_WO0 _L_(5) +#define PINMUX_PC10F_TCC0_WO0 ((PIN_PC10F_TCC0_WO0 << 16) | MUX_PC10F_TCC0_WO0) +#define PORT_PC10F_TCC0_WO0 (_UL_(1) << 10) +#define PIN_PC16F_TCC0_WO0 _L_(80) /**< \brief TCC0 signal: WO0 on PC16 mux F */ +#define MUX_PC16F_TCC0_WO0 _L_(5) +#define PINMUX_PC16F_TCC0_WO0 ((PIN_PC16F_TCC0_WO0 << 16) | MUX_PC16F_TCC0_WO0) +#define PORT_PC16F_TCC0_WO0 (_UL_(1) << 16) +#define PIN_PA21G_TCC0_WO1 _L_(21) /**< \brief TCC0 signal: WO1 on PA21 mux G */ +#define MUX_PA21G_TCC0_WO1 _L_(6) +#define PINMUX_PA21G_TCC0_WO1 ((PIN_PA21G_TCC0_WO1 << 16) | MUX_PA21G_TCC0_WO1) +#define PORT_PA21G_TCC0_WO1 (_UL_(1) << 21) +#define PIN_PB13G_TCC0_WO1 _L_(45) /**< \brief TCC0 signal: WO1 on PB13 mux G */ +#define MUX_PB13G_TCC0_WO1 _L_(6) +#define PINMUX_PB13G_TCC0_WO1 ((PIN_PB13G_TCC0_WO1 << 16) | MUX_PB13G_TCC0_WO1) +#define PORT_PB13G_TCC0_WO1 (_UL_(1) << 13) +#define PIN_PA09F_TCC0_WO1 _L_(9) /**< \brief TCC0 signal: WO1 on PA09 mux F */ +#define MUX_PA09F_TCC0_WO1 _L_(5) +#define PINMUX_PA09F_TCC0_WO1 ((PIN_PA09F_TCC0_WO1 << 16) | MUX_PA09F_TCC0_WO1) +#define PORT_PA09F_TCC0_WO1 (_UL_(1) << 9) +#define PIN_PC11F_TCC0_WO1 _L_(75) /**< \brief TCC0 signal: WO1 on PC11 mux F */ +#define MUX_PC11F_TCC0_WO1 _L_(5) +#define PINMUX_PC11F_TCC0_WO1 ((PIN_PC11F_TCC0_WO1 << 16) | MUX_PC11F_TCC0_WO1) +#define PORT_PC11F_TCC0_WO1 (_UL_(1) << 11) +#define PIN_PC17F_TCC0_WO1 _L_(81) /**< \brief TCC0 signal: WO1 on PC17 mux F */ +#define MUX_PC17F_TCC0_WO1 _L_(5) +#define PINMUX_PC17F_TCC0_WO1 ((PIN_PC17F_TCC0_WO1 << 16) | MUX_PC17F_TCC0_WO1) +#define PORT_PC17F_TCC0_WO1 (_UL_(1) << 17) +#define PIN_PD08F_TCC0_WO1 _L_(104) /**< \brief TCC0 signal: WO1 on PD08 mux F */ +#define MUX_PD08F_TCC0_WO1 _L_(5) +#define PINMUX_PD08F_TCC0_WO1 ((PIN_PD08F_TCC0_WO1 << 16) | MUX_PD08F_TCC0_WO1) +#define PORT_PD08F_TCC0_WO1 (_UL_(1) << 8) +#define PIN_PA22G_TCC0_WO2 _L_(22) /**< \brief TCC0 signal: WO2 on PA22 mux G */ +#define MUX_PA22G_TCC0_WO2 _L_(6) +#define PINMUX_PA22G_TCC0_WO2 ((PIN_PA22G_TCC0_WO2 << 16) | MUX_PA22G_TCC0_WO2) +#define PORT_PA22G_TCC0_WO2 (_UL_(1) << 22) +#define PIN_PB14G_TCC0_WO2 _L_(46) /**< \brief TCC0 signal: WO2 on PB14 mux G */ +#define MUX_PB14G_TCC0_WO2 _L_(6) +#define PINMUX_PB14G_TCC0_WO2 ((PIN_PB14G_TCC0_WO2 << 16) | MUX_PB14G_TCC0_WO2) +#define PORT_PB14G_TCC0_WO2 (_UL_(1) << 14) +#define PIN_PA10F_TCC0_WO2 _L_(10) /**< \brief TCC0 signal: WO2 on PA10 mux F */ +#define MUX_PA10F_TCC0_WO2 _L_(5) +#define PINMUX_PA10F_TCC0_WO2 ((PIN_PA10F_TCC0_WO2 << 16) | MUX_PA10F_TCC0_WO2) +#define PORT_PA10F_TCC0_WO2 (_UL_(1) << 10) +#define PIN_PC12F_TCC0_WO2 _L_(76) /**< \brief TCC0 signal: WO2 on PC12 mux F */ +#define MUX_PC12F_TCC0_WO2 _L_(5) +#define PINMUX_PC12F_TCC0_WO2 ((PIN_PC12F_TCC0_WO2 << 16) | MUX_PC12F_TCC0_WO2) +#define PORT_PC12F_TCC0_WO2 (_UL_(1) << 12) +#define PIN_PC18F_TCC0_WO2 _L_(82) /**< \brief TCC0 signal: WO2 on PC18 mux F */ +#define MUX_PC18F_TCC0_WO2 _L_(5) +#define PINMUX_PC18F_TCC0_WO2 ((PIN_PC18F_TCC0_WO2 << 16) | MUX_PC18F_TCC0_WO2) +#define PORT_PC18F_TCC0_WO2 (_UL_(1) << 18) +#define PIN_PD09F_TCC0_WO2 _L_(105) /**< \brief TCC0 signal: WO2 on PD09 mux F */ +#define MUX_PD09F_TCC0_WO2 _L_(5) +#define PINMUX_PD09F_TCC0_WO2 ((PIN_PD09F_TCC0_WO2 << 16) | MUX_PD09F_TCC0_WO2) +#define PORT_PD09F_TCC0_WO2 (_UL_(1) << 9) +#define PIN_PA23G_TCC0_WO3 _L_(23) /**< \brief TCC0 signal: WO3 on PA23 mux G */ +#define MUX_PA23G_TCC0_WO3 _L_(6) +#define PINMUX_PA23G_TCC0_WO3 ((PIN_PA23G_TCC0_WO3 << 16) | MUX_PA23G_TCC0_WO3) +#define PORT_PA23G_TCC0_WO3 (_UL_(1) << 23) +#define PIN_PB15G_TCC0_WO3 _L_(47) /**< \brief TCC0 signal: WO3 on PB15 mux G */ +#define MUX_PB15G_TCC0_WO3 _L_(6) +#define PINMUX_PB15G_TCC0_WO3 ((PIN_PB15G_TCC0_WO3 << 16) | MUX_PB15G_TCC0_WO3) +#define PORT_PB15G_TCC0_WO3 (_UL_(1) << 15) +#define PIN_PA11F_TCC0_WO3 _L_(11) /**< \brief TCC0 signal: WO3 on PA11 mux F */ +#define MUX_PA11F_TCC0_WO3 _L_(5) +#define PINMUX_PA11F_TCC0_WO3 ((PIN_PA11F_TCC0_WO3 << 16) | MUX_PA11F_TCC0_WO3) +#define PORT_PA11F_TCC0_WO3 (_UL_(1) << 11) +#define PIN_PC13F_TCC0_WO3 _L_(77) /**< \brief TCC0 signal: WO3 on PC13 mux F */ +#define MUX_PC13F_TCC0_WO3 _L_(5) +#define PINMUX_PC13F_TCC0_WO3 ((PIN_PC13F_TCC0_WO3 << 16) | MUX_PC13F_TCC0_WO3) +#define PORT_PC13F_TCC0_WO3 (_UL_(1) << 13) +#define PIN_PC19F_TCC0_WO3 _L_(83) /**< \brief TCC0 signal: WO3 on PC19 mux F */ +#define MUX_PC19F_TCC0_WO3 _L_(5) +#define PINMUX_PC19F_TCC0_WO3 ((PIN_PC19F_TCC0_WO3 << 16) | MUX_PC19F_TCC0_WO3) +#define PORT_PC19F_TCC0_WO3 (_UL_(1) << 19) +#define PIN_PD10F_TCC0_WO3 _L_(106) /**< \brief TCC0 signal: WO3 on PD10 mux F */ +#define MUX_PD10F_TCC0_WO3 _L_(5) +#define PINMUX_PD10F_TCC0_WO3 ((PIN_PD10F_TCC0_WO3 << 16) | MUX_PD10F_TCC0_WO3) +#define PORT_PD10F_TCC0_WO3 (_UL_(1) << 10) +#define PIN_PA16G_TCC0_WO4 _L_(16) /**< \brief TCC0 signal: WO4 on PA16 mux G */ +#define MUX_PA16G_TCC0_WO4 _L_(6) +#define PINMUX_PA16G_TCC0_WO4 ((PIN_PA16G_TCC0_WO4 << 16) | MUX_PA16G_TCC0_WO4) +#define PORT_PA16G_TCC0_WO4 (_UL_(1) << 16) +#define PIN_PB16G_TCC0_WO4 _L_(48) /**< \brief TCC0 signal: WO4 on PB16 mux G */ +#define MUX_PB16G_TCC0_WO4 _L_(6) +#define PINMUX_PB16G_TCC0_WO4 ((PIN_PB16G_TCC0_WO4 << 16) | MUX_PB16G_TCC0_WO4) +#define PORT_PB16G_TCC0_WO4 (_UL_(1) << 16) +#define PIN_PB10F_TCC0_WO4 _L_(42) /**< \brief TCC0 signal: WO4 on PB10 mux F */ +#define MUX_PB10F_TCC0_WO4 _L_(5) +#define PINMUX_PB10F_TCC0_WO4 ((PIN_PB10F_TCC0_WO4 << 16) | MUX_PB10F_TCC0_WO4) +#define PORT_PB10F_TCC0_WO4 (_UL_(1) << 10) +#define PIN_PC14F_TCC0_WO4 _L_(78) /**< \brief TCC0 signal: WO4 on PC14 mux F */ +#define MUX_PC14F_TCC0_WO4 _L_(5) +#define PINMUX_PC14F_TCC0_WO4 ((PIN_PC14F_TCC0_WO4 << 16) | MUX_PC14F_TCC0_WO4) +#define PORT_PC14F_TCC0_WO4 (_UL_(1) << 14) +#define PIN_PC20F_TCC0_WO4 _L_(84) /**< \brief TCC0 signal: WO4 on PC20 mux F */ +#define MUX_PC20F_TCC0_WO4 _L_(5) +#define PINMUX_PC20F_TCC0_WO4 ((PIN_PC20F_TCC0_WO4 << 16) | MUX_PC20F_TCC0_WO4) +#define PORT_PC20F_TCC0_WO4 (_UL_(1) << 20) +#define PIN_PD11F_TCC0_WO4 _L_(107) /**< \brief TCC0 signal: WO4 on PD11 mux F */ +#define MUX_PD11F_TCC0_WO4 _L_(5) +#define PINMUX_PD11F_TCC0_WO4 ((PIN_PD11F_TCC0_WO4 << 16) | MUX_PD11F_TCC0_WO4) +#define PORT_PD11F_TCC0_WO4 (_UL_(1) << 11) +#define PIN_PA17G_TCC0_WO5 _L_(17) /**< \brief TCC0 signal: WO5 on PA17 mux G */ +#define MUX_PA17G_TCC0_WO5 _L_(6) +#define PINMUX_PA17G_TCC0_WO5 ((PIN_PA17G_TCC0_WO5 << 16) | MUX_PA17G_TCC0_WO5) +#define PORT_PA17G_TCC0_WO5 (_UL_(1) << 17) +#define PIN_PB17G_TCC0_WO5 _L_(49) /**< \brief TCC0 signal: WO5 on PB17 mux G */ +#define MUX_PB17G_TCC0_WO5 _L_(6) +#define PINMUX_PB17G_TCC0_WO5 ((PIN_PB17G_TCC0_WO5 << 16) | MUX_PB17G_TCC0_WO5) +#define PORT_PB17G_TCC0_WO5 (_UL_(1) << 17) +#define PIN_PB11F_TCC0_WO5 _L_(43) /**< \brief TCC0 signal: WO5 on PB11 mux F */ +#define MUX_PB11F_TCC0_WO5 _L_(5) +#define PINMUX_PB11F_TCC0_WO5 ((PIN_PB11F_TCC0_WO5 << 16) | MUX_PB11F_TCC0_WO5) +#define PORT_PB11F_TCC0_WO5 (_UL_(1) << 11) +#define PIN_PC15F_TCC0_WO5 _L_(79) /**< \brief TCC0 signal: WO5 on PC15 mux F */ +#define MUX_PC15F_TCC0_WO5 _L_(5) +#define PINMUX_PC15F_TCC0_WO5 ((PIN_PC15F_TCC0_WO5 << 16) | MUX_PC15F_TCC0_WO5) +#define PORT_PC15F_TCC0_WO5 (_UL_(1) << 15) +#define PIN_PC21F_TCC0_WO5 _L_(85) /**< \brief TCC0 signal: WO5 on PC21 mux F */ +#define MUX_PC21F_TCC0_WO5 _L_(5) +#define PINMUX_PC21F_TCC0_WO5 ((PIN_PC21F_TCC0_WO5 << 16) | MUX_PC21F_TCC0_WO5) +#define PORT_PC21F_TCC0_WO5 (_UL_(1) << 21) +#define PIN_PD12F_TCC0_WO5 _L_(108) /**< \brief TCC0 signal: WO5 on PD12 mux F */ +#define MUX_PD12F_TCC0_WO5 _L_(5) +#define PINMUX_PD12F_TCC0_WO5 ((PIN_PD12F_TCC0_WO5 << 16) | MUX_PD12F_TCC0_WO5) +#define PORT_PD12F_TCC0_WO5 (_UL_(1) << 12) +#define PIN_PA18G_TCC0_WO6 _L_(18) /**< \brief TCC0 signal: WO6 on PA18 mux G */ +#define MUX_PA18G_TCC0_WO6 _L_(6) +#define PINMUX_PA18G_TCC0_WO6 ((PIN_PA18G_TCC0_WO6 << 16) | MUX_PA18G_TCC0_WO6) +#define PORT_PA18G_TCC0_WO6 (_UL_(1) << 18) +#define PIN_PB30G_TCC0_WO6 _L_(62) /**< \brief TCC0 signal: WO6 on PB30 mux G */ +#define MUX_PB30G_TCC0_WO6 _L_(6) +#define PINMUX_PB30G_TCC0_WO6 ((PIN_PB30G_TCC0_WO6 << 16) | MUX_PB30G_TCC0_WO6) +#define PORT_PB30G_TCC0_WO6 (_UL_(1) << 30) +#define PIN_PA12F_TCC0_WO6 _L_(12) /**< \brief TCC0 signal: WO6 on PA12 mux F */ +#define MUX_PA12F_TCC0_WO6 _L_(5) +#define PINMUX_PA12F_TCC0_WO6 ((PIN_PA12F_TCC0_WO6 << 16) | MUX_PA12F_TCC0_WO6) +#define PORT_PA12F_TCC0_WO6 (_UL_(1) << 12) +#define PIN_PC22F_TCC0_WO6 _L_(86) /**< \brief TCC0 signal: WO6 on PC22 mux F */ +#define MUX_PC22F_TCC0_WO6 _L_(5) +#define PINMUX_PC22F_TCC0_WO6 ((PIN_PC22F_TCC0_WO6 << 16) | MUX_PC22F_TCC0_WO6) +#define PORT_PC22F_TCC0_WO6 (_UL_(1) << 22) +#define PIN_PA19G_TCC0_WO7 _L_(19) /**< \brief TCC0 signal: WO7 on PA19 mux G */ +#define MUX_PA19G_TCC0_WO7 _L_(6) +#define PINMUX_PA19G_TCC0_WO7 ((PIN_PA19G_TCC0_WO7 << 16) | MUX_PA19G_TCC0_WO7) +#define PORT_PA19G_TCC0_WO7 (_UL_(1) << 19) +#define PIN_PB31G_TCC0_WO7 _L_(63) /**< \brief TCC0 signal: WO7 on PB31 mux G */ +#define MUX_PB31G_TCC0_WO7 _L_(6) +#define PINMUX_PB31G_TCC0_WO7 ((PIN_PB31G_TCC0_WO7 << 16) | MUX_PB31G_TCC0_WO7) +#define PORT_PB31G_TCC0_WO7 (_UL_(1) << 31) +#define PIN_PA13F_TCC0_WO7 _L_(13) /**< \brief TCC0 signal: WO7 on PA13 mux F */ +#define MUX_PA13F_TCC0_WO7 _L_(5) +#define PINMUX_PA13F_TCC0_WO7 ((PIN_PA13F_TCC0_WO7 << 16) | MUX_PA13F_TCC0_WO7) +#define PORT_PA13F_TCC0_WO7 (_UL_(1) << 13) +#define PIN_PC23F_TCC0_WO7 _L_(87) /**< \brief TCC0 signal: WO7 on PC23 mux F */ +#define MUX_PC23F_TCC0_WO7 _L_(5) +#define PINMUX_PC23F_TCC0_WO7 ((PIN_PC23F_TCC0_WO7 << 16) | MUX_PC23F_TCC0_WO7) +#define PORT_PC23F_TCC0_WO7 (_UL_(1) << 23) +/* ========== PORT definition for TCC1 peripheral ========== */ +#define PIN_PB10G_TCC1_WO0 _L_(42) /**< \brief TCC1 signal: WO0 on PB10 mux G */ +#define MUX_PB10G_TCC1_WO0 _L_(6) +#define PINMUX_PB10G_TCC1_WO0 ((PIN_PB10G_TCC1_WO0 << 16) | MUX_PB10G_TCC1_WO0) +#define PORT_PB10G_TCC1_WO0 (_UL_(1) << 10) +#define PIN_PC14G_TCC1_WO0 _L_(78) /**< \brief TCC1 signal: WO0 on PC14 mux G */ +#define MUX_PC14G_TCC1_WO0 _L_(6) +#define PINMUX_PC14G_TCC1_WO0 ((PIN_PC14G_TCC1_WO0 << 16) | MUX_PC14G_TCC1_WO0) +#define PORT_PC14G_TCC1_WO0 (_UL_(1) << 14) +#define PIN_PA16F_TCC1_WO0 _L_(16) /**< \brief TCC1 signal: WO0 on PA16 mux F */ +#define MUX_PA16F_TCC1_WO0 _L_(5) +#define PINMUX_PA16F_TCC1_WO0 ((PIN_PA16F_TCC1_WO0 << 16) | MUX_PA16F_TCC1_WO0) +#define PORT_PA16F_TCC1_WO0 (_UL_(1) << 16) +#define PIN_PB18F_TCC1_WO0 _L_(50) /**< \brief TCC1 signal: WO0 on PB18 mux F */ +#define MUX_PB18F_TCC1_WO0 _L_(5) +#define PINMUX_PB18F_TCC1_WO0 ((PIN_PB18F_TCC1_WO0 << 16) | MUX_PB18F_TCC1_WO0) +#define PORT_PB18F_TCC1_WO0 (_UL_(1) << 18) +#define PIN_PD20F_TCC1_WO0 _L_(116) /**< \brief TCC1 signal: WO0 on PD20 mux F */ +#define MUX_PD20F_TCC1_WO0 _L_(5) +#define PINMUX_PD20F_TCC1_WO0 ((PIN_PD20F_TCC1_WO0 << 16) | MUX_PD20F_TCC1_WO0) +#define PORT_PD20F_TCC1_WO0 (_UL_(1) << 20) +#define PIN_PB11G_TCC1_WO1 _L_(43) /**< \brief TCC1 signal: WO1 on PB11 mux G */ +#define MUX_PB11G_TCC1_WO1 _L_(6) +#define PINMUX_PB11G_TCC1_WO1 ((PIN_PB11G_TCC1_WO1 << 16) | MUX_PB11G_TCC1_WO1) +#define PORT_PB11G_TCC1_WO1 (_UL_(1) << 11) +#define PIN_PC15G_TCC1_WO1 _L_(79) /**< \brief TCC1 signal: WO1 on PC15 mux G */ +#define MUX_PC15G_TCC1_WO1 _L_(6) +#define PINMUX_PC15G_TCC1_WO1 ((PIN_PC15G_TCC1_WO1 << 16) | MUX_PC15G_TCC1_WO1) +#define PORT_PC15G_TCC1_WO1 (_UL_(1) << 15) +#define PIN_PA17F_TCC1_WO1 _L_(17) /**< \brief TCC1 signal: WO1 on PA17 mux F */ +#define MUX_PA17F_TCC1_WO1 _L_(5) +#define PINMUX_PA17F_TCC1_WO1 ((PIN_PA17F_TCC1_WO1 << 16) | MUX_PA17F_TCC1_WO1) +#define PORT_PA17F_TCC1_WO1 (_UL_(1) << 17) +#define PIN_PB19F_TCC1_WO1 _L_(51) /**< \brief TCC1 signal: WO1 on PB19 mux F */ +#define MUX_PB19F_TCC1_WO1 _L_(5) +#define PINMUX_PB19F_TCC1_WO1 ((PIN_PB19F_TCC1_WO1 << 16) | MUX_PB19F_TCC1_WO1) +#define PORT_PB19F_TCC1_WO1 (_UL_(1) << 19) +#define PIN_PD21F_TCC1_WO1 _L_(117) /**< \brief TCC1 signal: WO1 on PD21 mux F */ +#define MUX_PD21F_TCC1_WO1 _L_(5) +#define PINMUX_PD21F_TCC1_WO1 ((PIN_PD21F_TCC1_WO1 << 16) | MUX_PD21F_TCC1_WO1) +#define PORT_PD21F_TCC1_WO1 (_UL_(1) << 21) +#define PIN_PA12G_TCC1_WO2 _L_(12) /**< \brief TCC1 signal: WO2 on PA12 mux G */ +#define MUX_PA12G_TCC1_WO2 _L_(6) +#define PINMUX_PA12G_TCC1_WO2 ((PIN_PA12G_TCC1_WO2 << 16) | MUX_PA12G_TCC1_WO2) +#define PORT_PA12G_TCC1_WO2 (_UL_(1) << 12) +#define PIN_PA14G_TCC1_WO2 _L_(14) /**< \brief TCC1 signal: WO2 on PA14 mux G */ +#define MUX_PA14G_TCC1_WO2 _L_(6) +#define PINMUX_PA14G_TCC1_WO2 ((PIN_PA14G_TCC1_WO2 << 16) | MUX_PA14G_TCC1_WO2) +#define PORT_PA14G_TCC1_WO2 (_UL_(1) << 14) +#define PIN_PA18F_TCC1_WO2 _L_(18) /**< \brief TCC1 signal: WO2 on PA18 mux F */ +#define MUX_PA18F_TCC1_WO2 _L_(5) +#define PINMUX_PA18F_TCC1_WO2 ((PIN_PA18F_TCC1_WO2 << 16) | MUX_PA18F_TCC1_WO2) +#define PORT_PA18F_TCC1_WO2 (_UL_(1) << 18) +#define PIN_PB20F_TCC1_WO2 _L_(52) /**< \brief TCC1 signal: WO2 on PB20 mux F */ +#define MUX_PB20F_TCC1_WO2 _L_(5) +#define PINMUX_PB20F_TCC1_WO2 ((PIN_PB20F_TCC1_WO2 << 16) | MUX_PB20F_TCC1_WO2) +#define PORT_PB20F_TCC1_WO2 (_UL_(1) << 20) +#define PIN_PB26F_TCC1_WO2 _L_(58) /**< \brief TCC1 signal: WO2 on PB26 mux F */ +#define MUX_PB26F_TCC1_WO2 _L_(5) +#define PINMUX_PB26F_TCC1_WO2 ((PIN_PB26F_TCC1_WO2 << 16) | MUX_PB26F_TCC1_WO2) +#define PORT_PB26F_TCC1_WO2 (_UL_(1) << 26) +#define PIN_PA13G_TCC1_WO3 _L_(13) /**< \brief TCC1 signal: WO3 on PA13 mux G */ +#define MUX_PA13G_TCC1_WO3 _L_(6) +#define PINMUX_PA13G_TCC1_WO3 ((PIN_PA13G_TCC1_WO3 << 16) | MUX_PA13G_TCC1_WO3) +#define PORT_PA13G_TCC1_WO3 (_UL_(1) << 13) +#define PIN_PA15G_TCC1_WO3 _L_(15) /**< \brief TCC1 signal: WO3 on PA15 mux G */ +#define MUX_PA15G_TCC1_WO3 _L_(6) +#define PINMUX_PA15G_TCC1_WO3 ((PIN_PA15G_TCC1_WO3 << 16) | MUX_PA15G_TCC1_WO3) +#define PORT_PA15G_TCC1_WO3 (_UL_(1) << 15) +#define PIN_PA19F_TCC1_WO3 _L_(19) /**< \brief TCC1 signal: WO3 on PA19 mux F */ +#define MUX_PA19F_TCC1_WO3 _L_(5) +#define PINMUX_PA19F_TCC1_WO3 ((PIN_PA19F_TCC1_WO3 << 16) | MUX_PA19F_TCC1_WO3) +#define PORT_PA19F_TCC1_WO3 (_UL_(1) << 19) +#define PIN_PB21F_TCC1_WO3 _L_(53) /**< \brief TCC1 signal: WO3 on PB21 mux F */ +#define MUX_PB21F_TCC1_WO3 _L_(5) +#define PINMUX_PB21F_TCC1_WO3 ((PIN_PB21F_TCC1_WO3 << 16) | MUX_PB21F_TCC1_WO3) +#define PORT_PB21F_TCC1_WO3 (_UL_(1) << 21) +#define PIN_PB27F_TCC1_WO3 _L_(59) /**< \brief TCC1 signal: WO3 on PB27 mux F */ +#define MUX_PB27F_TCC1_WO3 _L_(5) +#define PINMUX_PB27F_TCC1_WO3 ((PIN_PB27F_TCC1_WO3 << 16) | MUX_PB27F_TCC1_WO3) +#define PORT_PB27F_TCC1_WO3 (_UL_(1) << 27) +#define PIN_PA08G_TCC1_WO4 _L_(8) /**< \brief TCC1 signal: WO4 on PA08 mux G */ +#define MUX_PA08G_TCC1_WO4 _L_(6) +#define PINMUX_PA08G_TCC1_WO4 ((PIN_PA08G_TCC1_WO4 << 16) | MUX_PA08G_TCC1_WO4) +#define PORT_PA08G_TCC1_WO4 (_UL_(1) << 8) +#define PIN_PC10G_TCC1_WO4 _L_(74) /**< \brief TCC1 signal: WO4 on PC10 mux G */ +#define MUX_PC10G_TCC1_WO4 _L_(6) +#define PINMUX_PC10G_TCC1_WO4 ((PIN_PC10G_TCC1_WO4 << 16) | MUX_PC10G_TCC1_WO4) +#define PORT_PC10G_TCC1_WO4 (_UL_(1) << 10) +#define PIN_PA20F_TCC1_WO4 _L_(20) /**< \brief TCC1 signal: WO4 on PA20 mux F */ +#define MUX_PA20F_TCC1_WO4 _L_(5) +#define PINMUX_PA20F_TCC1_WO4 ((PIN_PA20F_TCC1_WO4 << 16) | MUX_PA20F_TCC1_WO4) +#define PORT_PA20F_TCC1_WO4 (_UL_(1) << 20) +#define PIN_PB28F_TCC1_WO4 _L_(60) /**< \brief TCC1 signal: WO4 on PB28 mux F */ +#define MUX_PB28F_TCC1_WO4 _L_(5) +#define PINMUX_PB28F_TCC1_WO4 ((PIN_PB28F_TCC1_WO4 << 16) | MUX_PB28F_TCC1_WO4) +#define PORT_PB28F_TCC1_WO4 (_UL_(1) << 28) +#define PIN_PA09G_TCC1_WO5 _L_(9) /**< \brief TCC1 signal: WO5 on PA09 mux G */ +#define MUX_PA09G_TCC1_WO5 _L_(6) +#define PINMUX_PA09G_TCC1_WO5 ((PIN_PA09G_TCC1_WO5 << 16) | MUX_PA09G_TCC1_WO5) +#define PORT_PA09G_TCC1_WO5 (_UL_(1) << 9) +#define PIN_PC11G_TCC1_WO5 _L_(75) /**< \brief TCC1 signal: WO5 on PC11 mux G */ +#define MUX_PC11G_TCC1_WO5 _L_(6) +#define PINMUX_PC11G_TCC1_WO5 ((PIN_PC11G_TCC1_WO5 << 16) | MUX_PC11G_TCC1_WO5) +#define PORT_PC11G_TCC1_WO5 (_UL_(1) << 11) +#define PIN_PA21F_TCC1_WO5 _L_(21) /**< \brief TCC1 signal: WO5 on PA21 mux F */ +#define MUX_PA21F_TCC1_WO5 _L_(5) +#define PINMUX_PA21F_TCC1_WO5 ((PIN_PA21F_TCC1_WO5 << 16) | MUX_PA21F_TCC1_WO5) +#define PORT_PA21F_TCC1_WO5 (_UL_(1) << 21) +#define PIN_PB29F_TCC1_WO5 _L_(61) /**< \brief TCC1 signal: WO5 on PB29 mux F */ +#define MUX_PB29F_TCC1_WO5 _L_(5) +#define PINMUX_PB29F_TCC1_WO5 ((PIN_PB29F_TCC1_WO5 << 16) | MUX_PB29F_TCC1_WO5) +#define PORT_PB29F_TCC1_WO5 (_UL_(1) << 29) +#define PIN_PA10G_TCC1_WO6 _L_(10) /**< \brief TCC1 signal: WO6 on PA10 mux G */ +#define MUX_PA10G_TCC1_WO6 _L_(6) +#define PINMUX_PA10G_TCC1_WO6 ((PIN_PA10G_TCC1_WO6 << 16) | MUX_PA10G_TCC1_WO6) +#define PORT_PA10G_TCC1_WO6 (_UL_(1) << 10) +#define PIN_PC12G_TCC1_WO6 _L_(76) /**< \brief TCC1 signal: WO6 on PC12 mux G */ +#define MUX_PC12G_TCC1_WO6 _L_(6) +#define PINMUX_PC12G_TCC1_WO6 ((PIN_PC12G_TCC1_WO6 << 16) | MUX_PC12G_TCC1_WO6) +#define PORT_PC12G_TCC1_WO6 (_UL_(1) << 12) +#define PIN_PA22F_TCC1_WO6 _L_(22) /**< \brief TCC1 signal: WO6 on PA22 mux F */ +#define MUX_PA22F_TCC1_WO6 _L_(5) +#define PINMUX_PA22F_TCC1_WO6 ((PIN_PA22F_TCC1_WO6 << 16) | MUX_PA22F_TCC1_WO6) +#define PORT_PA22F_TCC1_WO6 (_UL_(1) << 22) +#define PIN_PA11G_TCC1_WO7 _L_(11) /**< \brief TCC1 signal: WO7 on PA11 mux G */ +#define MUX_PA11G_TCC1_WO7 _L_(6) +#define PINMUX_PA11G_TCC1_WO7 ((PIN_PA11G_TCC1_WO7 << 16) | MUX_PA11G_TCC1_WO7) +#define PORT_PA11G_TCC1_WO7 (_UL_(1) << 11) +#define PIN_PC13G_TCC1_WO7 _L_(77) /**< \brief TCC1 signal: WO7 on PC13 mux G */ +#define MUX_PC13G_TCC1_WO7 _L_(6) +#define PINMUX_PC13G_TCC1_WO7 ((PIN_PC13G_TCC1_WO7 << 16) | MUX_PC13G_TCC1_WO7) +#define PORT_PC13G_TCC1_WO7 (_UL_(1) << 13) +#define PIN_PA23F_TCC1_WO7 _L_(23) /**< \brief TCC1 signal: WO7 on PA23 mux F */ +#define MUX_PA23F_TCC1_WO7 _L_(5) +#define PINMUX_PA23F_TCC1_WO7 ((PIN_PA23F_TCC1_WO7 << 16) | MUX_PA23F_TCC1_WO7) +#define PORT_PA23F_TCC1_WO7 (_UL_(1) << 23) +/* ========== PORT definition for TC2 peripheral ========== */ +#define PIN_PA12E_TC2_WO0 _L_(12) /**< \brief TC2 signal: WO0 on PA12 mux E */ +#define MUX_PA12E_TC2_WO0 _L_(4) +#define PINMUX_PA12E_TC2_WO0 ((PIN_PA12E_TC2_WO0 << 16) | MUX_PA12E_TC2_WO0) +#define PORT_PA12E_TC2_WO0 (_UL_(1) << 12) +#define PIN_PA16E_TC2_WO0 _L_(16) /**< \brief TC2 signal: WO0 on PA16 mux E */ +#define MUX_PA16E_TC2_WO0 _L_(4) +#define PINMUX_PA16E_TC2_WO0 ((PIN_PA16E_TC2_WO0 << 16) | MUX_PA16E_TC2_WO0) +#define PORT_PA16E_TC2_WO0 (_UL_(1) << 16) +#define PIN_PA00E_TC2_WO0 _L_(0) /**< \brief TC2 signal: WO0 on PA00 mux E */ +#define MUX_PA00E_TC2_WO0 _L_(4) +#define PINMUX_PA00E_TC2_WO0 ((PIN_PA00E_TC2_WO0 << 16) | MUX_PA00E_TC2_WO0) +#define PORT_PA00E_TC2_WO0 (_UL_(1) << 0) +#define PIN_PA01E_TC2_WO1 _L_(1) /**< \brief TC2 signal: WO1 on PA01 mux E */ +#define MUX_PA01E_TC2_WO1 _L_(4) +#define PINMUX_PA01E_TC2_WO1 ((PIN_PA01E_TC2_WO1 << 16) | MUX_PA01E_TC2_WO1) +#define PORT_PA01E_TC2_WO1 (_UL_(1) << 1) +#define PIN_PA13E_TC2_WO1 _L_(13) /**< \brief TC2 signal: WO1 on PA13 mux E */ +#define MUX_PA13E_TC2_WO1 _L_(4) +#define PINMUX_PA13E_TC2_WO1 ((PIN_PA13E_TC2_WO1 << 16) | MUX_PA13E_TC2_WO1) +#define PORT_PA13E_TC2_WO1 (_UL_(1) << 13) +#define PIN_PA17E_TC2_WO1 _L_(17) /**< \brief TC2 signal: WO1 on PA17 mux E */ +#define MUX_PA17E_TC2_WO1 _L_(4) +#define PINMUX_PA17E_TC2_WO1 ((PIN_PA17E_TC2_WO1 << 16) | MUX_PA17E_TC2_WO1) +#define PORT_PA17E_TC2_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC3 peripheral ========== */ +#define PIN_PA18E_TC3_WO0 _L_(18) /**< \brief TC3 signal: WO0 on PA18 mux E */ +#define MUX_PA18E_TC3_WO0 _L_(4) +#define PINMUX_PA18E_TC3_WO0 ((PIN_PA18E_TC3_WO0 << 16) | MUX_PA18E_TC3_WO0) +#define PORT_PA18E_TC3_WO0 (_UL_(1) << 18) +#define PIN_PA14E_TC3_WO0 _L_(14) /**< \brief TC3 signal: WO0 on PA14 mux E */ +#define MUX_PA14E_TC3_WO0 _L_(4) +#define PINMUX_PA14E_TC3_WO0 ((PIN_PA14E_TC3_WO0 << 16) | MUX_PA14E_TC3_WO0) +#define PORT_PA14E_TC3_WO0 (_UL_(1) << 14) +#define PIN_PA15E_TC3_WO1 _L_(15) /**< \brief TC3 signal: WO1 on PA15 mux E */ +#define MUX_PA15E_TC3_WO1 _L_(4) +#define PINMUX_PA15E_TC3_WO1 ((PIN_PA15E_TC3_WO1 << 16) | MUX_PA15E_TC3_WO1) +#define PORT_PA15E_TC3_WO1 (_UL_(1) << 15) +#define PIN_PA19E_TC3_WO1 _L_(19) /**< \brief TC3 signal: WO1 on PA19 mux E */ +#define MUX_PA19E_TC3_WO1 _L_(4) +#define PINMUX_PA19E_TC3_WO1 ((PIN_PA19E_TC3_WO1 << 16) | MUX_PA19E_TC3_WO1) +#define PORT_PA19E_TC3_WO1 (_UL_(1) << 19) +/* ========== PORT definition for TAL peripheral ========== */ +#define PIN_PA27H_TAL_BRK _L_(27) /**< \brief TAL signal: BRK on PA27 mux H */ +#define MUX_PA27H_TAL_BRK _L_(7) +#define PINMUX_PA27H_TAL_BRK ((PIN_PA27H_TAL_BRK << 16) | MUX_PA27H_TAL_BRK) +#define PORT_PA27H_TAL_BRK (_UL_(1) << 27) +#define PIN_PB31H_TAL_BRK _L_(63) /**< \brief TAL signal: BRK on PB31 mux H */ +#define MUX_PB31H_TAL_BRK _L_(7) +#define PINMUX_PB31H_TAL_BRK ((PIN_PB31H_TAL_BRK << 16) | MUX_PB31H_TAL_BRK) +#define PORT_PB31H_TAL_BRK (_UL_(1) << 31) +/* ========== PORT definition for CAN0 peripheral ========== */ +#define PIN_PA23I_CAN0_RX _L_(23) /**< \brief CAN0 signal: RX on PA23 mux I */ +#define MUX_PA23I_CAN0_RX _L_(8) +#define PINMUX_PA23I_CAN0_RX ((PIN_PA23I_CAN0_RX << 16) | MUX_PA23I_CAN0_RX) +#define PORT_PA23I_CAN0_RX (_UL_(1) << 23) +#define PIN_PA25I_CAN0_RX _L_(25) /**< \brief CAN0 signal: RX on PA25 mux I */ +#define MUX_PA25I_CAN0_RX _L_(8) +#define PINMUX_PA25I_CAN0_RX ((PIN_PA25I_CAN0_RX << 16) | MUX_PA25I_CAN0_RX) +#define PORT_PA25I_CAN0_RX (_UL_(1) << 25) +#define PIN_PA22I_CAN0_TX _L_(22) /**< \brief CAN0 signal: TX on PA22 mux I */ +#define MUX_PA22I_CAN0_TX _L_(8) +#define PINMUX_PA22I_CAN0_TX ((PIN_PA22I_CAN0_TX << 16) | MUX_PA22I_CAN0_TX) +#define PORT_PA22I_CAN0_TX (_UL_(1) << 22) +#define PIN_PA24I_CAN0_TX _L_(24) /**< \brief CAN0 signal: TX on PA24 mux I */ +#define MUX_PA24I_CAN0_TX _L_(8) +#define PINMUX_PA24I_CAN0_TX ((PIN_PA24I_CAN0_TX << 16) | MUX_PA24I_CAN0_TX) +#define PORT_PA24I_CAN0_TX (_UL_(1) << 24) +/* ========== PORT definition for CAN1 peripheral ========== */ +#define PIN_PB13H_CAN1_RX _L_(45) /**< \brief CAN1 signal: RX on PB13 mux H */ +#define MUX_PB13H_CAN1_RX _L_(7) +#define PINMUX_PB13H_CAN1_RX ((PIN_PB13H_CAN1_RX << 16) | MUX_PB13H_CAN1_RX) +#define PORT_PB13H_CAN1_RX (_UL_(1) << 13) +#define PIN_PB15H_CAN1_RX _L_(47) /**< \brief CAN1 signal: RX on PB15 mux H */ +#define MUX_PB15H_CAN1_RX _L_(7) +#define PINMUX_PB15H_CAN1_RX ((PIN_PB15H_CAN1_RX << 16) | MUX_PB15H_CAN1_RX) +#define PORT_PB15H_CAN1_RX (_UL_(1) << 15) +#define PIN_PB12H_CAN1_TX _L_(44) /**< \brief CAN1 signal: TX on PB12 mux H */ +#define MUX_PB12H_CAN1_TX _L_(7) +#define PINMUX_PB12H_CAN1_TX ((PIN_PB12H_CAN1_TX << 16) | MUX_PB12H_CAN1_TX) +#define PORT_PB12H_CAN1_TX (_UL_(1) << 12) +#define PIN_PB14H_CAN1_TX _L_(46) /**< \brief CAN1 signal: TX on PB14 mux H */ +#define MUX_PB14H_CAN1_TX _L_(7) +#define PINMUX_PB14H_CAN1_TX ((PIN_PB14H_CAN1_TX << 16) | MUX_PB14H_CAN1_TX) +#define PORT_PB14H_CAN1_TX (_UL_(1) << 14) +/* ========== PORT definition for GMAC peripheral ========== */ +#define PIN_PC21L_GMAC_GCOL _L_(85) /**< \brief GMAC signal: GCOL on PC21 mux L */ +#define MUX_PC21L_GMAC_GCOL _L_(11) +#define PINMUX_PC21L_GMAC_GCOL ((PIN_PC21L_GMAC_GCOL << 16) | MUX_PC21L_GMAC_GCOL) +#define PORT_PC21L_GMAC_GCOL (_UL_(1) << 21) +#define PIN_PA16L_GMAC_GCRS _L_(16) /**< \brief GMAC signal: GCRS on PA16 mux L */ +#define MUX_PA16L_GMAC_GCRS _L_(11) +#define PINMUX_PA16L_GMAC_GCRS ((PIN_PA16L_GMAC_GCRS << 16) | MUX_PA16L_GMAC_GCRS) +#define PORT_PA16L_GMAC_GCRS (_UL_(1) << 16) +#define PIN_PA20L_GMAC_GMDC _L_(20) /**< \brief GMAC signal: GMDC on PA20 mux L */ +#define MUX_PA20L_GMAC_GMDC _L_(11) +#define PINMUX_PA20L_GMAC_GMDC ((PIN_PA20L_GMAC_GMDC << 16) | MUX_PA20L_GMAC_GMDC) +#define PORT_PA20L_GMAC_GMDC (_UL_(1) << 20) +#define PIN_PB14L_GMAC_GMDC _L_(46) /**< \brief GMAC signal: GMDC on PB14 mux L */ +#define MUX_PB14L_GMAC_GMDC _L_(11) +#define PINMUX_PB14L_GMAC_GMDC ((PIN_PB14L_GMAC_GMDC << 16) | MUX_PB14L_GMAC_GMDC) +#define PORT_PB14L_GMAC_GMDC (_UL_(1) << 14) +#define PIN_PC11L_GMAC_GMDC _L_(75) /**< \brief GMAC signal: GMDC on PC11 mux L */ +#define MUX_PC11L_GMAC_GMDC _L_(11) +#define PINMUX_PC11L_GMAC_GMDC ((PIN_PC11L_GMAC_GMDC << 16) | MUX_PC11L_GMAC_GMDC) +#define PORT_PC11L_GMAC_GMDC (_UL_(1) << 11) +#define PIN_PC22L_GMAC_GMDC _L_(86) /**< \brief GMAC signal: GMDC on PC22 mux L */ +#define MUX_PC22L_GMAC_GMDC _L_(11) +#define PINMUX_PC22L_GMAC_GMDC ((PIN_PC22L_GMAC_GMDC << 16) | MUX_PC22L_GMAC_GMDC) +#define PORT_PC22L_GMAC_GMDC (_UL_(1) << 22) +#define PIN_PA21L_GMAC_GMDIO _L_(21) /**< \brief GMAC signal: GMDIO on PA21 mux L */ +#define MUX_PA21L_GMAC_GMDIO _L_(11) +#define PINMUX_PA21L_GMAC_GMDIO ((PIN_PA21L_GMAC_GMDIO << 16) | MUX_PA21L_GMAC_GMDIO) +#define PORT_PA21L_GMAC_GMDIO (_UL_(1) << 21) +#define PIN_PB15L_GMAC_GMDIO _L_(47) /**< \brief GMAC signal: GMDIO on PB15 mux L */ +#define MUX_PB15L_GMAC_GMDIO _L_(11) +#define PINMUX_PB15L_GMAC_GMDIO ((PIN_PB15L_GMAC_GMDIO << 16) | MUX_PB15L_GMAC_GMDIO) +#define PORT_PB15L_GMAC_GMDIO (_UL_(1) << 15) +#define PIN_PC12L_GMAC_GMDIO _L_(76) /**< \brief GMAC signal: GMDIO on PC12 mux L */ +#define MUX_PC12L_GMAC_GMDIO _L_(11) +#define PINMUX_PC12L_GMAC_GMDIO ((PIN_PC12L_GMAC_GMDIO << 16) | MUX_PC12L_GMAC_GMDIO) +#define PORT_PC12L_GMAC_GMDIO (_UL_(1) << 12) +#define PIN_PC23L_GMAC_GMDIO _L_(87) /**< \brief GMAC signal: GMDIO on PC23 mux L */ +#define MUX_PC23L_GMAC_GMDIO _L_(11) +#define PINMUX_PC23L_GMAC_GMDIO ((PIN_PC23L_GMAC_GMDIO << 16) | MUX_PC23L_GMAC_GMDIO) +#define PORT_PC23L_GMAC_GMDIO (_UL_(1) << 23) +#define PIN_PA13L_GMAC_GRX0 _L_(13) /**< \brief GMAC signal: GRX0 on PA13 mux L */ +#define MUX_PA13L_GMAC_GRX0 _L_(11) +#define PINMUX_PA13L_GMAC_GRX0 ((PIN_PA13L_GMAC_GRX0 << 16) | MUX_PA13L_GMAC_GRX0) +#define PORT_PA13L_GMAC_GRX0 (_UL_(1) << 13) +#define PIN_PA12L_GMAC_GRX1 _L_(12) /**< \brief GMAC signal: GRX1 on PA12 mux L */ +#define MUX_PA12L_GMAC_GRX1 _L_(11) +#define PINMUX_PA12L_GMAC_GRX1 ((PIN_PA12L_GMAC_GRX1 << 16) | MUX_PA12L_GMAC_GRX1) +#define PORT_PA12L_GMAC_GRX1 (_UL_(1) << 12) +#define PIN_PC15L_GMAC_GRX2 _L_(79) /**< \brief GMAC signal: GRX2 on PC15 mux L */ +#define MUX_PC15L_GMAC_GRX2 _L_(11) +#define PINMUX_PC15L_GMAC_GRX2 ((PIN_PC15L_GMAC_GRX2 << 16) | MUX_PC15L_GMAC_GRX2) +#define PORT_PC15L_GMAC_GRX2 (_UL_(1) << 15) +#define PIN_PC14L_GMAC_GRX3 _L_(78) /**< \brief GMAC signal: GRX3 on PC14 mux L */ +#define MUX_PC14L_GMAC_GRX3 _L_(11) +#define PINMUX_PC14L_GMAC_GRX3 ((PIN_PC14L_GMAC_GRX3 << 16) | MUX_PC14L_GMAC_GRX3) +#define PORT_PC14L_GMAC_GRX3 (_UL_(1) << 14) +#define PIN_PC18L_GMAC_GRXCK _L_(82) /**< \brief GMAC signal: GRXCK on PC18 mux L */ +#define MUX_PC18L_GMAC_GRXCK _L_(11) +#define PINMUX_PC18L_GMAC_GRXCK ((PIN_PC18L_GMAC_GRXCK << 16) | MUX_PC18L_GMAC_GRXCK) +#define PORT_PC18L_GMAC_GRXCK (_UL_(1) << 18) +#define PIN_PC20L_GMAC_GRXDV _L_(84) /**< \brief GMAC signal: GRXDV on PC20 mux L */ +#define MUX_PC20L_GMAC_GRXDV _L_(11) +#define PINMUX_PC20L_GMAC_GRXDV ((PIN_PC20L_GMAC_GRXDV << 16) | MUX_PC20L_GMAC_GRXDV) +#define PORT_PC20L_GMAC_GRXDV (_UL_(1) << 20) +#define PIN_PA15L_GMAC_GRXER _L_(15) /**< \brief GMAC signal: GRXER on PA15 mux L */ +#define MUX_PA15L_GMAC_GRXER _L_(11) +#define PINMUX_PA15L_GMAC_GRXER ((PIN_PA15L_GMAC_GRXER << 16) | MUX_PA15L_GMAC_GRXER) +#define PORT_PA15L_GMAC_GRXER (_UL_(1) << 15) +#define PIN_PA18L_GMAC_GTX0 _L_(18) /**< \brief GMAC signal: GTX0 on PA18 mux L */ +#define MUX_PA18L_GMAC_GTX0 _L_(11) +#define PINMUX_PA18L_GMAC_GTX0 ((PIN_PA18L_GMAC_GTX0 << 16) | MUX_PA18L_GMAC_GTX0) +#define PORT_PA18L_GMAC_GTX0 (_UL_(1) << 18) +#define PIN_PA19L_GMAC_GTX1 _L_(19) /**< \brief GMAC signal: GTX1 on PA19 mux L */ +#define MUX_PA19L_GMAC_GTX1 _L_(11) +#define PINMUX_PA19L_GMAC_GTX1 ((PIN_PA19L_GMAC_GTX1 << 16) | MUX_PA19L_GMAC_GTX1) +#define PORT_PA19L_GMAC_GTX1 (_UL_(1) << 19) +#define PIN_PC16L_GMAC_GTX2 _L_(80) /**< \brief GMAC signal: GTX2 on PC16 mux L */ +#define MUX_PC16L_GMAC_GTX2 _L_(11) +#define PINMUX_PC16L_GMAC_GTX2 ((PIN_PC16L_GMAC_GTX2 << 16) | MUX_PC16L_GMAC_GTX2) +#define PORT_PC16L_GMAC_GTX2 (_UL_(1) << 16) +#define PIN_PC17L_GMAC_GTX3 _L_(81) /**< \brief GMAC signal: GTX3 on PC17 mux L */ +#define MUX_PC17L_GMAC_GTX3 _L_(11) +#define PINMUX_PC17L_GMAC_GTX3 ((PIN_PC17L_GMAC_GTX3 << 16) | MUX_PC17L_GMAC_GTX3) +#define PORT_PC17L_GMAC_GTX3 (_UL_(1) << 17) +#define PIN_PA14L_GMAC_GTXCK _L_(14) /**< \brief GMAC signal: GTXCK on PA14 mux L */ +#define MUX_PA14L_GMAC_GTXCK _L_(11) +#define PINMUX_PA14L_GMAC_GTXCK ((PIN_PA14L_GMAC_GTXCK << 16) | MUX_PA14L_GMAC_GTXCK) +#define PORT_PA14L_GMAC_GTXCK (_UL_(1) << 14) +#define PIN_PA17L_GMAC_GTXEN _L_(17) /**< \brief GMAC signal: GTXEN on PA17 mux L */ +#define MUX_PA17L_GMAC_GTXEN _L_(11) +#define PINMUX_PA17L_GMAC_GTXEN ((PIN_PA17L_GMAC_GTXEN << 16) | MUX_PA17L_GMAC_GTXEN) +#define PORT_PA17L_GMAC_GTXEN (_UL_(1) << 17) +#define PIN_PC19L_GMAC_GTXER _L_(83) /**< \brief GMAC signal: GTXER on PC19 mux L */ +#define MUX_PC19L_GMAC_GTXER _L_(11) +#define PINMUX_PC19L_GMAC_GTXER ((PIN_PC19L_GMAC_GTXER << 16) | MUX_PC19L_GMAC_GTXER) +#define PORT_PC19L_GMAC_GTXER (_UL_(1) << 19) +/* ========== PORT definition for TCC2 peripheral ========== */ +#define PIN_PA14F_TCC2_WO0 _L_(14) /**< \brief TCC2 signal: WO0 on PA14 mux F */ +#define MUX_PA14F_TCC2_WO0 _L_(5) +#define PINMUX_PA14F_TCC2_WO0 ((PIN_PA14F_TCC2_WO0 << 16) | MUX_PA14F_TCC2_WO0) +#define PORT_PA14F_TCC2_WO0 (_UL_(1) << 14) +#define PIN_PA30F_TCC2_WO0 _L_(30) /**< \brief TCC2 signal: WO0 on PA30 mux F */ +#define MUX_PA30F_TCC2_WO0 _L_(5) +#define PINMUX_PA30F_TCC2_WO0 ((PIN_PA30F_TCC2_WO0 << 16) | MUX_PA30F_TCC2_WO0) +#define PORT_PA30F_TCC2_WO0 (_UL_(1) << 30) +#define PIN_PA15F_TCC2_WO1 _L_(15) /**< \brief TCC2 signal: WO1 on PA15 mux F */ +#define MUX_PA15F_TCC2_WO1 _L_(5) +#define PINMUX_PA15F_TCC2_WO1 ((PIN_PA15F_TCC2_WO1 << 16) | MUX_PA15F_TCC2_WO1) +#define PORT_PA15F_TCC2_WO1 (_UL_(1) << 15) +#define PIN_PA31F_TCC2_WO1 _L_(31) /**< \brief TCC2 signal: WO1 on PA31 mux F */ +#define MUX_PA31F_TCC2_WO1 _L_(5) +#define PINMUX_PA31F_TCC2_WO1 ((PIN_PA31F_TCC2_WO1 << 16) | MUX_PA31F_TCC2_WO1) +#define PORT_PA31F_TCC2_WO1 (_UL_(1) << 31) +#define PIN_PA24F_TCC2_WO2 _L_(24) /**< \brief TCC2 signal: WO2 on PA24 mux F */ +#define MUX_PA24F_TCC2_WO2 _L_(5) +#define PINMUX_PA24F_TCC2_WO2 ((PIN_PA24F_TCC2_WO2 << 16) | MUX_PA24F_TCC2_WO2) +#define PORT_PA24F_TCC2_WO2 (_UL_(1) << 24) +#define PIN_PB02F_TCC2_WO2 _L_(34) /**< \brief TCC2 signal: WO2 on PB02 mux F */ +#define MUX_PB02F_TCC2_WO2 _L_(5) +#define PINMUX_PB02F_TCC2_WO2 ((PIN_PB02F_TCC2_WO2 << 16) | MUX_PB02F_TCC2_WO2) +#define PORT_PB02F_TCC2_WO2 (_UL_(1) << 2) +/* ========== PORT definition for TCC3 peripheral ========== */ +#define PIN_PB12F_TCC3_WO0 _L_(44) /**< \brief TCC3 signal: WO0 on PB12 mux F */ +#define MUX_PB12F_TCC3_WO0 _L_(5) +#define PINMUX_PB12F_TCC3_WO0 ((PIN_PB12F_TCC3_WO0 << 16) | MUX_PB12F_TCC3_WO0) +#define PORT_PB12F_TCC3_WO0 (_UL_(1) << 12) +#define PIN_PB16F_TCC3_WO0 _L_(48) /**< \brief TCC3 signal: WO0 on PB16 mux F */ +#define MUX_PB16F_TCC3_WO0 _L_(5) +#define PINMUX_PB16F_TCC3_WO0 ((PIN_PB16F_TCC3_WO0 << 16) | MUX_PB16F_TCC3_WO0) +#define PORT_PB16F_TCC3_WO0 (_UL_(1) << 16) +#define PIN_PB13F_TCC3_WO1 _L_(45) /**< \brief TCC3 signal: WO1 on PB13 mux F */ +#define MUX_PB13F_TCC3_WO1 _L_(5) +#define PINMUX_PB13F_TCC3_WO1 ((PIN_PB13F_TCC3_WO1 << 16) | MUX_PB13F_TCC3_WO1) +#define PORT_PB13F_TCC3_WO1 (_UL_(1) << 13) +#define PIN_PB17F_TCC3_WO1 _L_(49) /**< \brief TCC3 signal: WO1 on PB17 mux F */ +#define MUX_PB17F_TCC3_WO1 _L_(5) +#define PINMUX_PB17F_TCC3_WO1 ((PIN_PB17F_TCC3_WO1 << 16) | MUX_PB17F_TCC3_WO1) +#define PORT_PB17F_TCC3_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC4 peripheral ========== */ +#define PIN_PA22E_TC4_WO0 _L_(22) /**< \brief TC4 signal: WO0 on PA22 mux E */ +#define MUX_PA22E_TC4_WO0 _L_(4) +#define PINMUX_PA22E_TC4_WO0 ((PIN_PA22E_TC4_WO0 << 16) | MUX_PA22E_TC4_WO0) +#define PORT_PA22E_TC4_WO0 (_UL_(1) << 22) +#define PIN_PB08E_TC4_WO0 _L_(40) /**< \brief TC4 signal: WO0 on PB08 mux E */ +#define MUX_PB08E_TC4_WO0 _L_(4) +#define PINMUX_PB08E_TC4_WO0 ((PIN_PB08E_TC4_WO0 << 16) | MUX_PB08E_TC4_WO0) +#define PORT_PB08E_TC4_WO0 (_UL_(1) << 8) +#define PIN_PB12E_TC4_WO0 _L_(44) /**< \brief TC4 signal: WO0 on PB12 mux E */ +#define MUX_PB12E_TC4_WO0 _L_(4) +#define PINMUX_PB12E_TC4_WO0 ((PIN_PB12E_TC4_WO0 << 16) | MUX_PB12E_TC4_WO0) +#define PORT_PB12E_TC4_WO0 (_UL_(1) << 12) +#define PIN_PA23E_TC4_WO1 _L_(23) /**< \brief TC4 signal: WO1 on PA23 mux E */ +#define MUX_PA23E_TC4_WO1 _L_(4) +#define PINMUX_PA23E_TC4_WO1 ((PIN_PA23E_TC4_WO1 << 16) | MUX_PA23E_TC4_WO1) +#define PORT_PA23E_TC4_WO1 (_UL_(1) << 23) +#define PIN_PB09E_TC4_WO1 _L_(41) /**< \brief TC4 signal: WO1 on PB09 mux E */ +#define MUX_PB09E_TC4_WO1 _L_(4) +#define PINMUX_PB09E_TC4_WO1 ((PIN_PB09E_TC4_WO1 << 16) | MUX_PB09E_TC4_WO1) +#define PORT_PB09E_TC4_WO1 (_UL_(1) << 9) +#define PIN_PB13E_TC4_WO1 _L_(45) /**< \brief TC4 signal: WO1 on PB13 mux E */ +#define MUX_PB13E_TC4_WO1 _L_(4) +#define PINMUX_PB13E_TC4_WO1 ((PIN_PB13E_TC4_WO1 << 16) | MUX_PB13E_TC4_WO1) +#define PORT_PB13E_TC4_WO1 (_UL_(1) << 13) +/* ========== PORT definition for TC5 peripheral ========== */ +#define PIN_PA24E_TC5_WO0 _L_(24) /**< \brief TC5 signal: WO0 on PA24 mux E */ +#define MUX_PA24E_TC5_WO0 _L_(4) +#define PINMUX_PA24E_TC5_WO0 ((PIN_PA24E_TC5_WO0 << 16) | MUX_PA24E_TC5_WO0) +#define PORT_PA24E_TC5_WO0 (_UL_(1) << 24) +#define PIN_PB10E_TC5_WO0 _L_(42) /**< \brief TC5 signal: WO0 on PB10 mux E */ +#define MUX_PB10E_TC5_WO0 _L_(4) +#define PINMUX_PB10E_TC5_WO0 ((PIN_PB10E_TC5_WO0 << 16) | MUX_PB10E_TC5_WO0) +#define PORT_PB10E_TC5_WO0 (_UL_(1) << 10) +#define PIN_PB14E_TC5_WO0 _L_(46) /**< \brief TC5 signal: WO0 on PB14 mux E */ +#define MUX_PB14E_TC5_WO0 _L_(4) +#define PINMUX_PB14E_TC5_WO0 ((PIN_PB14E_TC5_WO0 << 16) | MUX_PB14E_TC5_WO0) +#define PORT_PB14E_TC5_WO0 (_UL_(1) << 14) +#define PIN_PA25E_TC5_WO1 _L_(25) /**< \brief TC5 signal: WO1 on PA25 mux E */ +#define MUX_PA25E_TC5_WO1 _L_(4) +#define PINMUX_PA25E_TC5_WO1 ((PIN_PA25E_TC5_WO1 << 16) | MUX_PA25E_TC5_WO1) +#define PORT_PA25E_TC5_WO1 (_UL_(1) << 25) +#define PIN_PB11E_TC5_WO1 _L_(43) /**< \brief TC5 signal: WO1 on PB11 mux E */ +#define MUX_PB11E_TC5_WO1 _L_(4) +#define PINMUX_PB11E_TC5_WO1 ((PIN_PB11E_TC5_WO1 << 16) | MUX_PB11E_TC5_WO1) +#define PORT_PB11E_TC5_WO1 (_UL_(1) << 11) +#define PIN_PB15E_TC5_WO1 _L_(47) /**< \brief TC5 signal: WO1 on PB15 mux E */ +#define MUX_PB15E_TC5_WO1 _L_(4) +#define PINMUX_PB15E_TC5_WO1 ((PIN_PB15E_TC5_WO1 << 16) | MUX_PB15E_TC5_WO1) +#define PORT_PB15E_TC5_WO1 (_UL_(1) << 15) +/* ========== PORT definition for PDEC peripheral ========== */ +#define PIN_PB18G_PDEC_QDI0 _L_(50) /**< \brief PDEC signal: QDI0 on PB18 mux G */ +#define MUX_PB18G_PDEC_QDI0 _L_(6) +#define PINMUX_PB18G_PDEC_QDI0 ((PIN_PB18G_PDEC_QDI0 << 16) | MUX_PB18G_PDEC_QDI0) +#define PORT_PB18G_PDEC_QDI0 (_UL_(1) << 18) +#define PIN_PB23G_PDEC_QDI0 _L_(55) /**< \brief PDEC signal: QDI0 on PB23 mux G */ +#define MUX_PB23G_PDEC_QDI0 _L_(6) +#define PINMUX_PB23G_PDEC_QDI0 ((PIN_PB23G_PDEC_QDI0 << 16) | MUX_PB23G_PDEC_QDI0) +#define PORT_PB23G_PDEC_QDI0 (_UL_(1) << 23) +#define PIN_PC16G_PDEC_QDI0 _L_(80) /**< \brief PDEC signal: QDI0 on PC16 mux G */ +#define MUX_PC16G_PDEC_QDI0 _L_(6) +#define PINMUX_PC16G_PDEC_QDI0 ((PIN_PC16G_PDEC_QDI0 << 16) | MUX_PC16G_PDEC_QDI0) +#define PORT_PC16G_PDEC_QDI0 (_UL_(1) << 16) +#define PIN_PA24G_PDEC_QDI0 _L_(24) /**< \brief PDEC signal: QDI0 on PA24 mux G */ +#define MUX_PA24G_PDEC_QDI0 _L_(6) +#define PINMUX_PA24G_PDEC_QDI0 ((PIN_PA24G_PDEC_QDI0 << 16) | MUX_PA24G_PDEC_QDI0) +#define PORT_PA24G_PDEC_QDI0 (_UL_(1) << 24) +#define PIN_PB19G_PDEC_QDI1 _L_(51) /**< \brief PDEC signal: QDI1 on PB19 mux G */ +#define MUX_PB19G_PDEC_QDI1 _L_(6) +#define PINMUX_PB19G_PDEC_QDI1 ((PIN_PB19G_PDEC_QDI1 << 16) | MUX_PB19G_PDEC_QDI1) +#define PORT_PB19G_PDEC_QDI1 (_UL_(1) << 19) +#define PIN_PB24G_PDEC_QDI1 _L_(56) /**< \brief PDEC signal: QDI1 on PB24 mux G */ +#define MUX_PB24G_PDEC_QDI1 _L_(6) +#define PINMUX_PB24G_PDEC_QDI1 ((PIN_PB24G_PDEC_QDI1 << 16) | MUX_PB24G_PDEC_QDI1) +#define PORT_PB24G_PDEC_QDI1 (_UL_(1) << 24) +#define PIN_PC17G_PDEC_QDI1 _L_(81) /**< \brief PDEC signal: QDI1 on PC17 mux G */ +#define MUX_PC17G_PDEC_QDI1 _L_(6) +#define PINMUX_PC17G_PDEC_QDI1 ((PIN_PC17G_PDEC_QDI1 << 16) | MUX_PC17G_PDEC_QDI1) +#define PORT_PC17G_PDEC_QDI1 (_UL_(1) << 17) +#define PIN_PA25G_PDEC_QDI1 _L_(25) /**< \brief PDEC signal: QDI1 on PA25 mux G */ +#define MUX_PA25G_PDEC_QDI1 _L_(6) +#define PINMUX_PA25G_PDEC_QDI1 ((PIN_PA25G_PDEC_QDI1 << 16) | MUX_PA25G_PDEC_QDI1) +#define PORT_PA25G_PDEC_QDI1 (_UL_(1) << 25) +#define PIN_PB20G_PDEC_QDI2 _L_(52) /**< \brief PDEC signal: QDI2 on PB20 mux G */ +#define MUX_PB20G_PDEC_QDI2 _L_(6) +#define PINMUX_PB20G_PDEC_QDI2 ((PIN_PB20G_PDEC_QDI2 << 16) | MUX_PB20G_PDEC_QDI2) +#define PORT_PB20G_PDEC_QDI2 (_UL_(1) << 20) +#define PIN_PB25G_PDEC_QDI2 _L_(57) /**< \brief PDEC signal: QDI2 on PB25 mux G */ +#define MUX_PB25G_PDEC_QDI2 _L_(6) +#define PINMUX_PB25G_PDEC_QDI2 ((PIN_PB25G_PDEC_QDI2 << 16) | MUX_PB25G_PDEC_QDI2) +#define PORT_PB25G_PDEC_QDI2 (_UL_(1) << 25) +#define PIN_PC18G_PDEC_QDI2 _L_(82) /**< \brief PDEC signal: QDI2 on PC18 mux G */ +#define MUX_PC18G_PDEC_QDI2 _L_(6) +#define PINMUX_PC18G_PDEC_QDI2 ((PIN_PC18G_PDEC_QDI2 << 16) | MUX_PC18G_PDEC_QDI2) +#define PORT_PC18G_PDEC_QDI2 (_UL_(1) << 18) +#define PIN_PB22G_PDEC_QDI2 _L_(54) /**< \brief PDEC signal: QDI2 on PB22 mux G */ +#define MUX_PB22G_PDEC_QDI2 _L_(6) +#define PINMUX_PB22G_PDEC_QDI2 ((PIN_PB22G_PDEC_QDI2 << 16) | MUX_PB22G_PDEC_QDI2) +#define PORT_PB22G_PDEC_QDI2 (_UL_(1) << 22) +/* ========== PORT definition for AC peripheral ========== */ +#define PIN_PA04B_AC_AIN0 _L_(4) /**< \brief AC signal: AIN0 on PA04 mux B */ +#define MUX_PA04B_AC_AIN0 _L_(1) +#define PINMUX_PA04B_AC_AIN0 ((PIN_PA04B_AC_AIN0 << 16) | MUX_PA04B_AC_AIN0) +#define PORT_PA04B_AC_AIN0 (_UL_(1) << 4) +#define PIN_PA05B_AC_AIN1 _L_(5) /**< \brief AC signal: AIN1 on PA05 mux B */ +#define MUX_PA05B_AC_AIN1 _L_(1) +#define PINMUX_PA05B_AC_AIN1 ((PIN_PA05B_AC_AIN1 << 16) | MUX_PA05B_AC_AIN1) +#define PORT_PA05B_AC_AIN1 (_UL_(1) << 5) +#define PIN_PA06B_AC_AIN2 _L_(6) /**< \brief AC signal: AIN2 on PA06 mux B */ +#define MUX_PA06B_AC_AIN2 _L_(1) +#define PINMUX_PA06B_AC_AIN2 ((PIN_PA06B_AC_AIN2 << 16) | MUX_PA06B_AC_AIN2) +#define PORT_PA06B_AC_AIN2 (_UL_(1) << 6) +#define PIN_PA07B_AC_AIN3 _L_(7) /**< \brief AC signal: AIN3 on PA07 mux B */ +#define MUX_PA07B_AC_AIN3 _L_(1) +#define PINMUX_PA07B_AC_AIN3 ((PIN_PA07B_AC_AIN3 << 16) | MUX_PA07B_AC_AIN3) +#define PORT_PA07B_AC_AIN3 (_UL_(1) << 7) +#define PIN_PA12M_AC_CMP0 _L_(12) /**< \brief AC signal: CMP0 on PA12 mux M */ +#define MUX_PA12M_AC_CMP0 _L_(12) +#define PINMUX_PA12M_AC_CMP0 ((PIN_PA12M_AC_CMP0 << 16) | MUX_PA12M_AC_CMP0) +#define PORT_PA12M_AC_CMP0 (_UL_(1) << 12) +#define PIN_PA18M_AC_CMP0 _L_(18) /**< \brief AC signal: CMP0 on PA18 mux M */ +#define MUX_PA18M_AC_CMP0 _L_(12) +#define PINMUX_PA18M_AC_CMP0 ((PIN_PA18M_AC_CMP0 << 16) | MUX_PA18M_AC_CMP0) +#define PORT_PA18M_AC_CMP0 (_UL_(1) << 18) +#define PIN_PB24M_AC_CMP0 _L_(56) /**< \brief AC signal: CMP0 on PB24 mux M */ +#define MUX_PB24M_AC_CMP0 _L_(12) +#define PINMUX_PB24M_AC_CMP0 ((PIN_PB24M_AC_CMP0 << 16) | MUX_PB24M_AC_CMP0) +#define PORT_PB24M_AC_CMP0 (_UL_(1) << 24) +#define PIN_PA13M_AC_CMP1 _L_(13) /**< \brief AC signal: CMP1 on PA13 mux M */ +#define MUX_PA13M_AC_CMP1 _L_(12) +#define PINMUX_PA13M_AC_CMP1 ((PIN_PA13M_AC_CMP1 << 16) | MUX_PA13M_AC_CMP1) +#define PORT_PA13M_AC_CMP1 (_UL_(1) << 13) +#define PIN_PA19M_AC_CMP1 _L_(19) /**< \brief AC signal: CMP1 on PA19 mux M */ +#define MUX_PA19M_AC_CMP1 _L_(12) +#define PINMUX_PA19M_AC_CMP1 ((PIN_PA19M_AC_CMP1 << 16) | MUX_PA19M_AC_CMP1) +#define PORT_PA19M_AC_CMP1 (_UL_(1) << 19) +#define PIN_PB25M_AC_CMP1 _L_(57) /**< \brief AC signal: CMP1 on PB25 mux M */ +#define MUX_PB25M_AC_CMP1 _L_(12) +#define PINMUX_PB25M_AC_CMP1 ((PIN_PB25M_AC_CMP1 << 16) | MUX_PB25M_AC_CMP1) +#define PORT_PB25M_AC_CMP1 (_UL_(1) << 25) +/* ========== PORT definition for QSPI peripheral ========== */ +#define PIN_PB11H_QSPI_CS _L_(43) /**< \brief QSPI signal: CS on PB11 mux H */ +#define MUX_PB11H_QSPI_CS _L_(7) +#define PINMUX_PB11H_QSPI_CS ((PIN_PB11H_QSPI_CS << 16) | MUX_PB11H_QSPI_CS) +#define PORT_PB11H_QSPI_CS (_UL_(1) << 11) +#define PIN_PA08H_QSPI_DATA0 _L_(8) /**< \brief QSPI signal: DATA0 on PA08 mux H */ +#define MUX_PA08H_QSPI_DATA0 _L_(7) +#define PINMUX_PA08H_QSPI_DATA0 ((PIN_PA08H_QSPI_DATA0 << 16) | MUX_PA08H_QSPI_DATA0) +#define PORT_PA08H_QSPI_DATA0 (_UL_(1) << 8) +#define PIN_PA09H_QSPI_DATA1 _L_(9) /**< \brief QSPI signal: DATA1 on PA09 mux H */ +#define MUX_PA09H_QSPI_DATA1 _L_(7) +#define PINMUX_PA09H_QSPI_DATA1 ((PIN_PA09H_QSPI_DATA1 << 16) | MUX_PA09H_QSPI_DATA1) +#define PORT_PA09H_QSPI_DATA1 (_UL_(1) << 9) +#define PIN_PA10H_QSPI_DATA2 _L_(10) /**< \brief QSPI signal: DATA2 on PA10 mux H */ +#define MUX_PA10H_QSPI_DATA2 _L_(7) +#define PINMUX_PA10H_QSPI_DATA2 ((PIN_PA10H_QSPI_DATA2 << 16) | MUX_PA10H_QSPI_DATA2) +#define PORT_PA10H_QSPI_DATA2 (_UL_(1) << 10) +#define PIN_PA11H_QSPI_DATA3 _L_(11) /**< \brief QSPI signal: DATA3 on PA11 mux H */ +#define MUX_PA11H_QSPI_DATA3 _L_(7) +#define PINMUX_PA11H_QSPI_DATA3 ((PIN_PA11H_QSPI_DATA3 << 16) | MUX_PA11H_QSPI_DATA3) +#define PORT_PA11H_QSPI_DATA3 (_UL_(1) << 11) +#define PIN_PB10H_QSPI_SCK _L_(42) /**< \brief QSPI signal: SCK on PB10 mux H */ +#define MUX_PB10H_QSPI_SCK _L_(7) +#define PINMUX_PB10H_QSPI_SCK ((PIN_PB10H_QSPI_SCK << 16) | MUX_PB10H_QSPI_SCK) +#define PORT_PB10H_QSPI_SCK (_UL_(1) << 10) +/* ========== PORT definition for CCL peripheral ========== */ +#define PIN_PA04N_CCL_IN0 _L_(4) /**< \brief CCL signal: IN0 on PA04 mux N */ +#define MUX_PA04N_CCL_IN0 _L_(13) +#define PINMUX_PA04N_CCL_IN0 ((PIN_PA04N_CCL_IN0 << 16) | MUX_PA04N_CCL_IN0) +#define PORT_PA04N_CCL_IN0 (_UL_(1) << 4) +#define PIN_PA16N_CCL_IN0 _L_(16) /**< \brief CCL signal: IN0 on PA16 mux N */ +#define MUX_PA16N_CCL_IN0 _L_(13) +#define PINMUX_PA16N_CCL_IN0 ((PIN_PA16N_CCL_IN0 << 16) | MUX_PA16N_CCL_IN0) +#define PORT_PA16N_CCL_IN0 (_UL_(1) << 16) +#define PIN_PB22N_CCL_IN0 _L_(54) /**< \brief CCL signal: IN0 on PB22 mux N */ +#define MUX_PB22N_CCL_IN0 _L_(13) +#define PINMUX_PB22N_CCL_IN0 ((PIN_PB22N_CCL_IN0 << 16) | MUX_PB22N_CCL_IN0) +#define PORT_PB22N_CCL_IN0 (_UL_(1) << 22) +#define PIN_PA05N_CCL_IN1 _L_(5) /**< \brief CCL signal: IN1 on PA05 mux N */ +#define MUX_PA05N_CCL_IN1 _L_(13) +#define PINMUX_PA05N_CCL_IN1 ((PIN_PA05N_CCL_IN1 << 16) | MUX_PA05N_CCL_IN1) +#define PORT_PA05N_CCL_IN1 (_UL_(1) << 5) +#define PIN_PA17N_CCL_IN1 _L_(17) /**< \brief CCL signal: IN1 on PA17 mux N */ +#define MUX_PA17N_CCL_IN1 _L_(13) +#define PINMUX_PA17N_CCL_IN1 ((PIN_PA17N_CCL_IN1 << 16) | MUX_PA17N_CCL_IN1) +#define PORT_PA17N_CCL_IN1 (_UL_(1) << 17) +#define PIN_PB00N_CCL_IN1 _L_(32) /**< \brief CCL signal: IN1 on PB00 mux N */ +#define MUX_PB00N_CCL_IN1 _L_(13) +#define PINMUX_PB00N_CCL_IN1 ((PIN_PB00N_CCL_IN1 << 16) | MUX_PB00N_CCL_IN1) +#define PORT_PB00N_CCL_IN1 (_UL_(1) << 0) +#define PIN_PA06N_CCL_IN2 _L_(6) /**< \brief CCL signal: IN2 on PA06 mux N */ +#define MUX_PA06N_CCL_IN2 _L_(13) +#define PINMUX_PA06N_CCL_IN2 ((PIN_PA06N_CCL_IN2 << 16) | MUX_PA06N_CCL_IN2) +#define PORT_PA06N_CCL_IN2 (_UL_(1) << 6) +#define PIN_PA18N_CCL_IN2 _L_(18) /**< \brief CCL signal: IN2 on PA18 mux N */ +#define MUX_PA18N_CCL_IN2 _L_(13) +#define PINMUX_PA18N_CCL_IN2 ((PIN_PA18N_CCL_IN2 << 16) | MUX_PA18N_CCL_IN2) +#define PORT_PA18N_CCL_IN2 (_UL_(1) << 18) +#define PIN_PB01N_CCL_IN2 _L_(33) /**< \brief CCL signal: IN2 on PB01 mux N */ +#define MUX_PB01N_CCL_IN2 _L_(13) +#define PINMUX_PB01N_CCL_IN2 ((PIN_PB01N_CCL_IN2 << 16) | MUX_PB01N_CCL_IN2) +#define PORT_PB01N_CCL_IN2 (_UL_(1) << 1) +#define PIN_PA08N_CCL_IN3 _L_(8) /**< \brief CCL signal: IN3 on PA08 mux N */ +#define MUX_PA08N_CCL_IN3 _L_(13) +#define PINMUX_PA08N_CCL_IN3 ((PIN_PA08N_CCL_IN3 << 16) | MUX_PA08N_CCL_IN3) +#define PORT_PA08N_CCL_IN3 (_UL_(1) << 8) +#define PIN_PA30N_CCL_IN3 _L_(30) /**< \brief CCL signal: IN3 on PA30 mux N */ +#define MUX_PA30N_CCL_IN3 _L_(13) +#define PINMUX_PA30N_CCL_IN3 ((PIN_PA30N_CCL_IN3 << 16) | MUX_PA30N_CCL_IN3) +#define PORT_PA30N_CCL_IN3 (_UL_(1) << 30) +#define PIN_PA09N_CCL_IN4 _L_(9) /**< \brief CCL signal: IN4 on PA09 mux N */ +#define MUX_PA09N_CCL_IN4 _L_(13) +#define PINMUX_PA09N_CCL_IN4 ((PIN_PA09N_CCL_IN4 << 16) | MUX_PA09N_CCL_IN4) +#define PORT_PA09N_CCL_IN4 (_UL_(1) << 9) +#define PIN_PC27N_CCL_IN4 _L_(91) /**< \brief CCL signal: IN4 on PC27 mux N */ +#define MUX_PC27N_CCL_IN4 _L_(13) +#define PINMUX_PC27N_CCL_IN4 ((PIN_PC27N_CCL_IN4 << 16) | MUX_PC27N_CCL_IN4) +#define PORT_PC27N_CCL_IN4 (_UL_(1) << 27) +#define PIN_PA10N_CCL_IN5 _L_(10) /**< \brief CCL signal: IN5 on PA10 mux N */ +#define MUX_PA10N_CCL_IN5 _L_(13) +#define PINMUX_PA10N_CCL_IN5 ((PIN_PA10N_CCL_IN5 << 16) | MUX_PA10N_CCL_IN5) +#define PORT_PA10N_CCL_IN5 (_UL_(1) << 10) +#define PIN_PC28N_CCL_IN5 _L_(92) /**< \brief CCL signal: IN5 on PC28 mux N */ +#define MUX_PC28N_CCL_IN5 _L_(13) +#define PINMUX_PC28N_CCL_IN5 ((PIN_PC28N_CCL_IN5 << 16) | MUX_PC28N_CCL_IN5) +#define PORT_PC28N_CCL_IN5 (_UL_(1) << 28) +#define PIN_PA22N_CCL_IN6 _L_(22) /**< \brief CCL signal: IN6 on PA22 mux N */ +#define MUX_PA22N_CCL_IN6 _L_(13) +#define PINMUX_PA22N_CCL_IN6 ((PIN_PA22N_CCL_IN6 << 16) | MUX_PA22N_CCL_IN6) +#define PORT_PA22N_CCL_IN6 (_UL_(1) << 22) +#define PIN_PB06N_CCL_IN6 _L_(38) /**< \brief CCL signal: IN6 on PB06 mux N */ +#define MUX_PB06N_CCL_IN6 _L_(13) +#define PINMUX_PB06N_CCL_IN6 ((PIN_PB06N_CCL_IN6 << 16) | MUX_PB06N_CCL_IN6) +#define PORT_PB06N_CCL_IN6 (_UL_(1) << 6) +#define PIN_PA23N_CCL_IN7 _L_(23) /**< \brief CCL signal: IN7 on PA23 mux N */ +#define MUX_PA23N_CCL_IN7 _L_(13) +#define PINMUX_PA23N_CCL_IN7 ((PIN_PA23N_CCL_IN7 << 16) | MUX_PA23N_CCL_IN7) +#define PORT_PA23N_CCL_IN7 (_UL_(1) << 23) +#define PIN_PB07N_CCL_IN7 _L_(39) /**< \brief CCL signal: IN7 on PB07 mux N */ +#define MUX_PB07N_CCL_IN7 _L_(13) +#define PINMUX_PB07N_CCL_IN7 ((PIN_PB07N_CCL_IN7 << 16) | MUX_PB07N_CCL_IN7) +#define PORT_PB07N_CCL_IN7 (_UL_(1) << 7) +#define PIN_PA24N_CCL_IN8 _L_(24) /**< \brief CCL signal: IN8 on PA24 mux N */ +#define MUX_PA24N_CCL_IN8 _L_(13) +#define PINMUX_PA24N_CCL_IN8 ((PIN_PA24N_CCL_IN8 << 16) | MUX_PA24N_CCL_IN8) +#define PORT_PA24N_CCL_IN8 (_UL_(1) << 24) +#define PIN_PB08N_CCL_IN8 _L_(40) /**< \brief CCL signal: IN8 on PB08 mux N */ +#define MUX_PB08N_CCL_IN8 _L_(13) +#define PINMUX_PB08N_CCL_IN8 ((PIN_PB08N_CCL_IN8 << 16) | MUX_PB08N_CCL_IN8) +#define PORT_PB08N_CCL_IN8 (_UL_(1) << 8) +#define PIN_PB14N_CCL_IN9 _L_(46) /**< \brief CCL signal: IN9 on PB14 mux N */ +#define MUX_PB14N_CCL_IN9 _L_(13) +#define PINMUX_PB14N_CCL_IN9 ((PIN_PB14N_CCL_IN9 << 16) | MUX_PB14N_CCL_IN9) +#define PORT_PB14N_CCL_IN9 (_UL_(1) << 14) +#define PIN_PC20N_CCL_IN9 _L_(84) /**< \brief CCL signal: IN9 on PC20 mux N */ +#define MUX_PC20N_CCL_IN9 _L_(13) +#define PINMUX_PC20N_CCL_IN9 ((PIN_PC20N_CCL_IN9 << 16) | MUX_PC20N_CCL_IN9) +#define PORT_PC20N_CCL_IN9 (_UL_(1) << 20) +#define PIN_PB15N_CCL_IN10 _L_(47) /**< \brief CCL signal: IN10 on PB15 mux N */ +#define MUX_PB15N_CCL_IN10 _L_(13) +#define PINMUX_PB15N_CCL_IN10 ((PIN_PB15N_CCL_IN10 << 16) | MUX_PB15N_CCL_IN10) +#define PORT_PB15N_CCL_IN10 (_UL_(1) << 15) +#define PIN_PC21N_CCL_IN10 _L_(85) /**< \brief CCL signal: IN10 on PC21 mux N */ +#define MUX_PC21N_CCL_IN10 _L_(13) +#define PINMUX_PC21N_CCL_IN10 ((PIN_PC21N_CCL_IN10 << 16) | MUX_PC21N_CCL_IN10) +#define PORT_PC21N_CCL_IN10 (_UL_(1) << 21) +#define PIN_PB10N_CCL_IN11 _L_(42) /**< \brief CCL signal: IN11 on PB10 mux N */ +#define MUX_PB10N_CCL_IN11 _L_(13) +#define PINMUX_PB10N_CCL_IN11 ((PIN_PB10N_CCL_IN11 << 16) | MUX_PB10N_CCL_IN11) +#define PORT_PB10N_CCL_IN11 (_UL_(1) << 10) +#define PIN_PB16N_CCL_IN11 _L_(48) /**< \brief CCL signal: IN11 on PB16 mux N */ +#define MUX_PB16N_CCL_IN11 _L_(13) +#define PINMUX_PB16N_CCL_IN11 ((PIN_PB16N_CCL_IN11 << 16) | MUX_PB16N_CCL_IN11) +#define PORT_PB16N_CCL_IN11 (_UL_(1) << 16) +#define PIN_PA07N_CCL_OUT0 _L_(7) /**< \brief CCL signal: OUT0 on PA07 mux N */ +#define MUX_PA07N_CCL_OUT0 _L_(13) +#define PINMUX_PA07N_CCL_OUT0 ((PIN_PA07N_CCL_OUT0 << 16) | MUX_PA07N_CCL_OUT0) +#define PORT_PA07N_CCL_OUT0 (_UL_(1) << 7) +#define PIN_PA19N_CCL_OUT0 _L_(19) /**< \brief CCL signal: OUT0 on PA19 mux N */ +#define MUX_PA19N_CCL_OUT0 _L_(13) +#define PINMUX_PA19N_CCL_OUT0 ((PIN_PA19N_CCL_OUT0 << 16) | MUX_PA19N_CCL_OUT0) +#define PORT_PA19N_CCL_OUT0 (_UL_(1) << 19) +#define PIN_PB02N_CCL_OUT0 _L_(34) /**< \brief CCL signal: OUT0 on PB02 mux N */ +#define MUX_PB02N_CCL_OUT0 _L_(13) +#define PINMUX_PB02N_CCL_OUT0 ((PIN_PB02N_CCL_OUT0 << 16) | MUX_PB02N_CCL_OUT0) +#define PORT_PB02N_CCL_OUT0 (_UL_(1) << 2) +#define PIN_PB23N_CCL_OUT0 _L_(55) /**< \brief CCL signal: OUT0 on PB23 mux N */ +#define MUX_PB23N_CCL_OUT0 _L_(13) +#define PINMUX_PB23N_CCL_OUT0 ((PIN_PB23N_CCL_OUT0 << 16) | MUX_PB23N_CCL_OUT0) +#define PORT_PB23N_CCL_OUT0 (_UL_(1) << 23) +#define PIN_PA11N_CCL_OUT1 _L_(11) /**< \brief CCL signal: OUT1 on PA11 mux N */ +#define MUX_PA11N_CCL_OUT1 _L_(13) +#define PINMUX_PA11N_CCL_OUT1 ((PIN_PA11N_CCL_OUT1 << 16) | MUX_PA11N_CCL_OUT1) +#define PORT_PA11N_CCL_OUT1 (_UL_(1) << 11) +#define PIN_PA31N_CCL_OUT1 _L_(31) /**< \brief CCL signal: OUT1 on PA31 mux N */ +#define MUX_PA31N_CCL_OUT1 _L_(13) +#define PINMUX_PA31N_CCL_OUT1 ((PIN_PA31N_CCL_OUT1 << 16) | MUX_PA31N_CCL_OUT1) +#define PORT_PA31N_CCL_OUT1 (_UL_(1) << 31) +#define PIN_PB11N_CCL_OUT1 _L_(43) /**< \brief CCL signal: OUT1 on PB11 mux N */ +#define MUX_PB11N_CCL_OUT1 _L_(13) +#define PINMUX_PB11N_CCL_OUT1 ((PIN_PB11N_CCL_OUT1 << 16) | MUX_PB11N_CCL_OUT1) +#define PORT_PB11N_CCL_OUT1 (_UL_(1) << 11) +#define PIN_PA25N_CCL_OUT2 _L_(25) /**< \brief CCL signal: OUT2 on PA25 mux N */ +#define MUX_PA25N_CCL_OUT2 _L_(13) +#define PINMUX_PA25N_CCL_OUT2 ((PIN_PA25N_CCL_OUT2 << 16) | MUX_PA25N_CCL_OUT2) +#define PORT_PA25N_CCL_OUT2 (_UL_(1) << 25) +#define PIN_PB09N_CCL_OUT2 _L_(41) /**< \brief CCL signal: OUT2 on PB09 mux N */ +#define MUX_PB09N_CCL_OUT2 _L_(13) +#define PINMUX_PB09N_CCL_OUT2 ((PIN_PB09N_CCL_OUT2 << 16) | MUX_PB09N_CCL_OUT2) +#define PORT_PB09N_CCL_OUT2 (_UL_(1) << 9) +#define PIN_PB17N_CCL_OUT3 _L_(49) /**< \brief CCL signal: OUT3 on PB17 mux N */ +#define MUX_PB17N_CCL_OUT3 _L_(13) +#define PINMUX_PB17N_CCL_OUT3 ((PIN_PB17N_CCL_OUT3 << 16) | MUX_PB17N_CCL_OUT3) +#define PORT_PB17N_CCL_OUT3 (_UL_(1) << 17) +/* ========== PORT definition for SERCOM4 peripheral ========== */ +#define PIN_PA13D_SERCOM4_PAD0 _L_(13) /**< \brief SERCOM4 signal: PAD0 on PA13 mux D */ +#define MUX_PA13D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PA13D_SERCOM4_PAD0 ((PIN_PA13D_SERCOM4_PAD0 << 16) | MUX_PA13D_SERCOM4_PAD0) +#define PORT_PA13D_SERCOM4_PAD0 (_UL_(1) << 13) +#define PIN_PB08D_SERCOM4_PAD0 _L_(40) /**< \brief SERCOM4 signal: PAD0 on PB08 mux D */ +#define MUX_PB08D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PB08D_SERCOM4_PAD0 ((PIN_PB08D_SERCOM4_PAD0 << 16) | MUX_PB08D_SERCOM4_PAD0) +#define PORT_PB08D_SERCOM4_PAD0 (_UL_(1) << 8) +#define PIN_PB27D_SERCOM4_PAD0 _L_(59) /**< \brief SERCOM4 signal: PAD0 on PB27 mux D */ +#define MUX_PB27D_SERCOM4_PAD0 _L_(3) +#define PINMUX_PB27D_SERCOM4_PAD0 ((PIN_PB27D_SERCOM4_PAD0 << 16) | MUX_PB27D_SERCOM4_PAD0) +#define PORT_PB27D_SERCOM4_PAD0 (_UL_(1) << 27) +#define PIN_PB12C_SERCOM4_PAD0 _L_(44) /**< \brief SERCOM4 signal: PAD0 on PB12 mux C */ +#define MUX_PB12C_SERCOM4_PAD0 _L_(2) +#define PINMUX_PB12C_SERCOM4_PAD0 ((PIN_PB12C_SERCOM4_PAD0 << 16) | MUX_PB12C_SERCOM4_PAD0) +#define PORT_PB12C_SERCOM4_PAD0 (_UL_(1) << 12) +#define PIN_PA12D_SERCOM4_PAD1 _L_(12) /**< \brief SERCOM4 signal: PAD1 on PA12 mux D */ +#define MUX_PA12D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PA12D_SERCOM4_PAD1 ((PIN_PA12D_SERCOM4_PAD1 << 16) | MUX_PA12D_SERCOM4_PAD1) +#define PORT_PA12D_SERCOM4_PAD1 (_UL_(1) << 12) +#define PIN_PB09D_SERCOM4_PAD1 _L_(41) /**< \brief SERCOM4 signal: PAD1 on PB09 mux D */ +#define MUX_PB09D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PB09D_SERCOM4_PAD1 ((PIN_PB09D_SERCOM4_PAD1 << 16) | MUX_PB09D_SERCOM4_PAD1) +#define PORT_PB09D_SERCOM4_PAD1 (_UL_(1) << 9) +#define PIN_PB26D_SERCOM4_PAD1 _L_(58) /**< \brief SERCOM4 signal: PAD1 on PB26 mux D */ +#define MUX_PB26D_SERCOM4_PAD1 _L_(3) +#define PINMUX_PB26D_SERCOM4_PAD1 ((PIN_PB26D_SERCOM4_PAD1 << 16) | MUX_PB26D_SERCOM4_PAD1) +#define PORT_PB26D_SERCOM4_PAD1 (_UL_(1) << 26) +#define PIN_PB13C_SERCOM4_PAD1 _L_(45) /**< \brief SERCOM4 signal: PAD1 on PB13 mux C */ +#define MUX_PB13C_SERCOM4_PAD1 _L_(2) +#define PINMUX_PB13C_SERCOM4_PAD1 ((PIN_PB13C_SERCOM4_PAD1 << 16) | MUX_PB13C_SERCOM4_PAD1) +#define PORT_PB13C_SERCOM4_PAD1 (_UL_(1) << 13) +#define PIN_PA14D_SERCOM4_PAD2 _L_(14) /**< \brief SERCOM4 signal: PAD2 on PA14 mux D */ +#define MUX_PA14D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PA14D_SERCOM4_PAD2 ((PIN_PA14D_SERCOM4_PAD2 << 16) | MUX_PA14D_SERCOM4_PAD2) +#define PORT_PA14D_SERCOM4_PAD2 (_UL_(1) << 14) +#define PIN_PB10D_SERCOM4_PAD2 _L_(42) /**< \brief SERCOM4 signal: PAD2 on PB10 mux D */ +#define MUX_PB10D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PB10D_SERCOM4_PAD2 ((PIN_PB10D_SERCOM4_PAD2 << 16) | MUX_PB10D_SERCOM4_PAD2) +#define PORT_PB10D_SERCOM4_PAD2 (_UL_(1) << 10) +#define PIN_PB28D_SERCOM4_PAD2 _L_(60) /**< \brief SERCOM4 signal: PAD2 on PB28 mux D */ +#define MUX_PB28D_SERCOM4_PAD2 _L_(3) +#define PINMUX_PB28D_SERCOM4_PAD2 ((PIN_PB28D_SERCOM4_PAD2 << 16) | MUX_PB28D_SERCOM4_PAD2) +#define PORT_PB28D_SERCOM4_PAD2 (_UL_(1) << 28) +#define PIN_PB14C_SERCOM4_PAD2 _L_(46) /**< \brief SERCOM4 signal: PAD2 on PB14 mux C */ +#define MUX_PB14C_SERCOM4_PAD2 _L_(2) +#define PINMUX_PB14C_SERCOM4_PAD2 ((PIN_PB14C_SERCOM4_PAD2 << 16) | MUX_PB14C_SERCOM4_PAD2) +#define PORT_PB14C_SERCOM4_PAD2 (_UL_(1) << 14) +#define PIN_PB11D_SERCOM4_PAD3 _L_(43) /**< \brief SERCOM4 signal: PAD3 on PB11 mux D */ +#define MUX_PB11D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PB11D_SERCOM4_PAD3 ((PIN_PB11D_SERCOM4_PAD3 << 16) | MUX_PB11D_SERCOM4_PAD3) +#define PORT_PB11D_SERCOM4_PAD3 (_UL_(1) << 11) +#define PIN_PB29D_SERCOM4_PAD3 _L_(61) /**< \brief SERCOM4 signal: PAD3 on PB29 mux D */ +#define MUX_PB29D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PB29D_SERCOM4_PAD3 ((PIN_PB29D_SERCOM4_PAD3 << 16) | MUX_PB29D_SERCOM4_PAD3) +#define PORT_PB29D_SERCOM4_PAD3 (_UL_(1) << 29) +#define PIN_PA15D_SERCOM4_PAD3 _L_(15) /**< \brief SERCOM4 signal: PAD3 on PA15 mux D */ +#define MUX_PA15D_SERCOM4_PAD3 _L_(3) +#define PINMUX_PA15D_SERCOM4_PAD3 ((PIN_PA15D_SERCOM4_PAD3 << 16) | MUX_PA15D_SERCOM4_PAD3) +#define PORT_PA15D_SERCOM4_PAD3 (_UL_(1) << 15) +#define PIN_PB15C_SERCOM4_PAD3 _L_(47) /**< \brief SERCOM4 signal: PAD3 on PB15 mux C */ +#define MUX_PB15C_SERCOM4_PAD3 _L_(2) +#define PINMUX_PB15C_SERCOM4_PAD3 ((PIN_PB15C_SERCOM4_PAD3 << 16) | MUX_PB15C_SERCOM4_PAD3) +#define PORT_PB15C_SERCOM4_PAD3 (_UL_(1) << 15) +/* ========== PORT definition for SERCOM5 peripheral ========== */ +#define PIN_PA23D_SERCOM5_PAD0 _L_(23) /**< \brief SERCOM5 signal: PAD0 on PA23 mux D */ +#define MUX_PA23D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PA23D_SERCOM5_PAD0 ((PIN_PA23D_SERCOM5_PAD0 << 16) | MUX_PA23D_SERCOM5_PAD0) +#define PORT_PA23D_SERCOM5_PAD0 (_UL_(1) << 23) +#define PIN_PB02D_SERCOM5_PAD0 _L_(34) /**< \brief SERCOM5 signal: PAD0 on PB02 mux D */ +#define MUX_PB02D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PB02D_SERCOM5_PAD0 ((PIN_PB02D_SERCOM5_PAD0 << 16) | MUX_PB02D_SERCOM5_PAD0) +#define PORT_PB02D_SERCOM5_PAD0 (_UL_(1) << 2) +#define PIN_PB31D_SERCOM5_PAD0 _L_(63) /**< \brief SERCOM5 signal: PAD0 on PB31 mux D */ +#define MUX_PB31D_SERCOM5_PAD0 _L_(3) +#define PINMUX_PB31D_SERCOM5_PAD0 ((PIN_PB31D_SERCOM5_PAD0 << 16) | MUX_PB31D_SERCOM5_PAD0) +#define PORT_PB31D_SERCOM5_PAD0 (_UL_(1) << 31) +#define PIN_PB16C_SERCOM5_PAD0 _L_(48) /**< \brief SERCOM5 signal: PAD0 on PB16 mux C */ +#define MUX_PB16C_SERCOM5_PAD0 _L_(2) +#define PINMUX_PB16C_SERCOM5_PAD0 ((PIN_PB16C_SERCOM5_PAD0 << 16) | MUX_PB16C_SERCOM5_PAD0) +#define PORT_PB16C_SERCOM5_PAD0 (_UL_(1) << 16) +#define PIN_PA22D_SERCOM5_PAD1 _L_(22) /**< \brief SERCOM5 signal: PAD1 on PA22 mux D */ +#define MUX_PA22D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PA22D_SERCOM5_PAD1 ((PIN_PA22D_SERCOM5_PAD1 << 16) | MUX_PA22D_SERCOM5_PAD1) +#define PORT_PA22D_SERCOM5_PAD1 (_UL_(1) << 22) +#define PIN_PB03D_SERCOM5_PAD1 _L_(35) /**< \brief SERCOM5 signal: PAD1 on PB03 mux D */ +#define MUX_PB03D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PB03D_SERCOM5_PAD1 ((PIN_PB03D_SERCOM5_PAD1 << 16) | MUX_PB03D_SERCOM5_PAD1) +#define PORT_PB03D_SERCOM5_PAD1 (_UL_(1) << 3) +#define PIN_PB30D_SERCOM5_PAD1 _L_(62) /**< \brief SERCOM5 signal: PAD1 on PB30 mux D */ +#define MUX_PB30D_SERCOM5_PAD1 _L_(3) +#define PINMUX_PB30D_SERCOM5_PAD1 ((PIN_PB30D_SERCOM5_PAD1 << 16) | MUX_PB30D_SERCOM5_PAD1) +#define PORT_PB30D_SERCOM5_PAD1 (_UL_(1) << 30) +#define PIN_PB17C_SERCOM5_PAD1 _L_(49) /**< \brief SERCOM5 signal: PAD1 on PB17 mux C */ +#define MUX_PB17C_SERCOM5_PAD1 _L_(2) +#define PINMUX_PB17C_SERCOM5_PAD1 ((PIN_PB17C_SERCOM5_PAD1 << 16) | MUX_PB17C_SERCOM5_PAD1) +#define PORT_PB17C_SERCOM5_PAD1 (_UL_(1) << 17) +#define PIN_PA24D_SERCOM5_PAD2 _L_(24) /**< \brief SERCOM5 signal: PAD2 on PA24 mux D */ +#define MUX_PA24D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PA24D_SERCOM5_PAD2 ((PIN_PA24D_SERCOM5_PAD2 << 16) | MUX_PA24D_SERCOM5_PAD2) +#define PORT_PA24D_SERCOM5_PAD2 (_UL_(1) << 24) +#define PIN_PB00D_SERCOM5_PAD2 _L_(32) /**< \brief SERCOM5 signal: PAD2 on PB00 mux D */ +#define MUX_PB00D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PB00D_SERCOM5_PAD2 ((PIN_PB00D_SERCOM5_PAD2 << 16) | MUX_PB00D_SERCOM5_PAD2) +#define PORT_PB00D_SERCOM5_PAD2 (_UL_(1) << 0) +#define PIN_PB22D_SERCOM5_PAD2 _L_(54) /**< \brief SERCOM5 signal: PAD2 on PB22 mux D */ +#define MUX_PB22D_SERCOM5_PAD2 _L_(3) +#define PINMUX_PB22D_SERCOM5_PAD2 ((PIN_PB22D_SERCOM5_PAD2 << 16) | MUX_PB22D_SERCOM5_PAD2) +#define PORT_PB22D_SERCOM5_PAD2 (_UL_(1) << 22) +#define PIN_PA20C_SERCOM5_PAD2 _L_(20) /**< \brief SERCOM5 signal: PAD2 on PA20 mux C */ +#define MUX_PA20C_SERCOM5_PAD2 _L_(2) +#define PINMUX_PA20C_SERCOM5_PAD2 ((PIN_PA20C_SERCOM5_PAD2 << 16) | MUX_PA20C_SERCOM5_PAD2) +#define PORT_PA20C_SERCOM5_PAD2 (_UL_(1) << 20) +#define PIN_PB18C_SERCOM5_PAD2 _L_(50) /**< \brief SERCOM5 signal: PAD2 on PB18 mux C */ +#define MUX_PB18C_SERCOM5_PAD2 _L_(2) +#define PINMUX_PB18C_SERCOM5_PAD2 ((PIN_PB18C_SERCOM5_PAD2 << 16) | MUX_PB18C_SERCOM5_PAD2) +#define PORT_PB18C_SERCOM5_PAD2 (_UL_(1) << 18) +#define PIN_PA25D_SERCOM5_PAD3 _L_(25) /**< \brief SERCOM5 signal: PAD3 on PA25 mux D */ +#define MUX_PA25D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PA25D_SERCOM5_PAD3 ((PIN_PA25D_SERCOM5_PAD3 << 16) | MUX_PA25D_SERCOM5_PAD3) +#define PORT_PA25D_SERCOM5_PAD3 (_UL_(1) << 25) +#define PIN_PB01D_SERCOM5_PAD3 _L_(33) /**< \brief SERCOM5 signal: PAD3 on PB01 mux D */ +#define MUX_PB01D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PB01D_SERCOM5_PAD3 ((PIN_PB01D_SERCOM5_PAD3 << 16) | MUX_PB01D_SERCOM5_PAD3) +#define PORT_PB01D_SERCOM5_PAD3 (_UL_(1) << 1) +#define PIN_PB23D_SERCOM5_PAD3 _L_(55) /**< \brief SERCOM5 signal: PAD3 on PB23 mux D */ +#define MUX_PB23D_SERCOM5_PAD3 _L_(3) +#define PINMUX_PB23D_SERCOM5_PAD3 ((PIN_PB23D_SERCOM5_PAD3 << 16) | MUX_PB23D_SERCOM5_PAD3) +#define PORT_PB23D_SERCOM5_PAD3 (_UL_(1) << 23) +#define PIN_PA21C_SERCOM5_PAD3 _L_(21) /**< \brief SERCOM5 signal: PAD3 on PA21 mux C */ +#define MUX_PA21C_SERCOM5_PAD3 _L_(2) +#define PINMUX_PA21C_SERCOM5_PAD3 ((PIN_PA21C_SERCOM5_PAD3 << 16) | MUX_PA21C_SERCOM5_PAD3) +#define PORT_PA21C_SERCOM5_PAD3 (_UL_(1) << 21) +#define PIN_PB19C_SERCOM5_PAD3 _L_(51) /**< \brief SERCOM5 signal: PAD3 on PB19 mux C */ +#define MUX_PB19C_SERCOM5_PAD3 _L_(2) +#define PINMUX_PB19C_SERCOM5_PAD3 ((PIN_PB19C_SERCOM5_PAD3 << 16) | MUX_PB19C_SERCOM5_PAD3) +#define PORT_PB19C_SERCOM5_PAD3 (_UL_(1) << 19) +/* ========== PORT definition for SERCOM6 peripheral ========== */ +#define PIN_PD09D_SERCOM6_PAD0 _L_(105) /**< \brief SERCOM6 signal: PAD0 on PD09 mux D */ +#define MUX_PD09D_SERCOM6_PAD0 _L_(3) +#define PINMUX_PD09D_SERCOM6_PAD0 ((PIN_PD09D_SERCOM6_PAD0 << 16) | MUX_PD09D_SERCOM6_PAD0) +#define PORT_PD09D_SERCOM6_PAD0 (_UL_(1) << 9) +#define PIN_PC13D_SERCOM6_PAD0 _L_(77) /**< \brief SERCOM6 signal: PAD0 on PC13 mux D */ +#define MUX_PC13D_SERCOM6_PAD0 _L_(3) +#define PINMUX_PC13D_SERCOM6_PAD0 ((PIN_PC13D_SERCOM6_PAD0 << 16) | MUX_PC13D_SERCOM6_PAD0) +#define PORT_PC13D_SERCOM6_PAD0 (_UL_(1) << 13) +#define PIN_PC04C_SERCOM6_PAD0 _L_(68) /**< \brief SERCOM6 signal: PAD0 on PC04 mux C */ +#define MUX_PC04C_SERCOM6_PAD0 _L_(2) +#define PINMUX_PC04C_SERCOM6_PAD0 ((PIN_PC04C_SERCOM6_PAD0 << 16) | MUX_PC04C_SERCOM6_PAD0) +#define PORT_PC04C_SERCOM6_PAD0 (_UL_(1) << 4) +#define PIN_PC16C_SERCOM6_PAD0 _L_(80) /**< \brief SERCOM6 signal: PAD0 on PC16 mux C */ +#define MUX_PC16C_SERCOM6_PAD0 _L_(2) +#define PINMUX_PC16C_SERCOM6_PAD0 ((PIN_PC16C_SERCOM6_PAD0 << 16) | MUX_PC16C_SERCOM6_PAD0) +#define PORT_PC16C_SERCOM6_PAD0 (_UL_(1) << 16) +#define PIN_PD08D_SERCOM6_PAD1 _L_(104) /**< \brief SERCOM6 signal: PAD1 on PD08 mux D */ +#define MUX_PD08D_SERCOM6_PAD1 _L_(3) +#define PINMUX_PD08D_SERCOM6_PAD1 ((PIN_PD08D_SERCOM6_PAD1 << 16) | MUX_PD08D_SERCOM6_PAD1) +#define PORT_PD08D_SERCOM6_PAD1 (_UL_(1) << 8) +#define PIN_PC12D_SERCOM6_PAD1 _L_(76) /**< \brief SERCOM6 signal: PAD1 on PC12 mux D */ +#define MUX_PC12D_SERCOM6_PAD1 _L_(3) +#define PINMUX_PC12D_SERCOM6_PAD1 ((PIN_PC12D_SERCOM6_PAD1 << 16) | MUX_PC12D_SERCOM6_PAD1) +#define PORT_PC12D_SERCOM6_PAD1 (_UL_(1) << 12) +#define PIN_PC05C_SERCOM6_PAD1 _L_(69) /**< \brief SERCOM6 signal: PAD1 on PC05 mux C */ +#define MUX_PC05C_SERCOM6_PAD1 _L_(2) +#define PINMUX_PC05C_SERCOM6_PAD1 ((PIN_PC05C_SERCOM6_PAD1 << 16) | MUX_PC05C_SERCOM6_PAD1) +#define PORT_PC05C_SERCOM6_PAD1 (_UL_(1) << 5) +#define PIN_PC17C_SERCOM6_PAD1 _L_(81) /**< \brief SERCOM6 signal: PAD1 on PC17 mux C */ +#define MUX_PC17C_SERCOM6_PAD1 _L_(2) +#define PINMUX_PC17C_SERCOM6_PAD1 ((PIN_PC17C_SERCOM6_PAD1 << 16) | MUX_PC17C_SERCOM6_PAD1) +#define PORT_PC17C_SERCOM6_PAD1 (_UL_(1) << 17) +#define PIN_PC14D_SERCOM6_PAD2 _L_(78) /**< \brief SERCOM6 signal: PAD2 on PC14 mux D */ +#define MUX_PC14D_SERCOM6_PAD2 _L_(3) +#define PINMUX_PC14D_SERCOM6_PAD2 ((PIN_PC14D_SERCOM6_PAD2 << 16) | MUX_PC14D_SERCOM6_PAD2) +#define PORT_PC14D_SERCOM6_PAD2 (_UL_(1) << 14) +#define PIN_PD10D_SERCOM6_PAD2 _L_(106) /**< \brief SERCOM6 signal: PAD2 on PD10 mux D */ +#define MUX_PD10D_SERCOM6_PAD2 _L_(3) +#define PINMUX_PD10D_SERCOM6_PAD2 ((PIN_PD10D_SERCOM6_PAD2 << 16) | MUX_PD10D_SERCOM6_PAD2) +#define PORT_PD10D_SERCOM6_PAD2 (_UL_(1) << 10) +#define PIN_PC06C_SERCOM6_PAD2 _L_(70) /**< \brief SERCOM6 signal: PAD2 on PC06 mux C */ +#define MUX_PC06C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC06C_SERCOM6_PAD2 ((PIN_PC06C_SERCOM6_PAD2 << 16) | MUX_PC06C_SERCOM6_PAD2) +#define PORT_PC06C_SERCOM6_PAD2 (_UL_(1) << 6) +#define PIN_PC10C_SERCOM6_PAD2 _L_(74) /**< \brief SERCOM6 signal: PAD2 on PC10 mux C */ +#define MUX_PC10C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC10C_SERCOM6_PAD2 ((PIN_PC10C_SERCOM6_PAD2 << 16) | MUX_PC10C_SERCOM6_PAD2) +#define PORT_PC10C_SERCOM6_PAD2 (_UL_(1) << 10) +#define PIN_PC18C_SERCOM6_PAD2 _L_(82) /**< \brief SERCOM6 signal: PAD2 on PC18 mux C */ +#define MUX_PC18C_SERCOM6_PAD2 _L_(2) +#define PINMUX_PC18C_SERCOM6_PAD2 ((PIN_PC18C_SERCOM6_PAD2 << 16) | MUX_PC18C_SERCOM6_PAD2) +#define PORT_PC18C_SERCOM6_PAD2 (_UL_(1) << 18) +#define PIN_PC15D_SERCOM6_PAD3 _L_(79) /**< \brief SERCOM6 signal: PAD3 on PC15 mux D */ +#define MUX_PC15D_SERCOM6_PAD3 _L_(3) +#define PINMUX_PC15D_SERCOM6_PAD3 ((PIN_PC15D_SERCOM6_PAD3 << 16) | MUX_PC15D_SERCOM6_PAD3) +#define PORT_PC15D_SERCOM6_PAD3 (_UL_(1) << 15) +#define PIN_PD11D_SERCOM6_PAD3 _L_(107) /**< \brief SERCOM6 signal: PAD3 on PD11 mux D */ +#define MUX_PD11D_SERCOM6_PAD3 _L_(3) +#define PINMUX_PD11D_SERCOM6_PAD3 ((PIN_PD11D_SERCOM6_PAD3 << 16) | MUX_PD11D_SERCOM6_PAD3) +#define PORT_PD11D_SERCOM6_PAD3 (_UL_(1) << 11) +#define PIN_PC07C_SERCOM6_PAD3 _L_(71) /**< \brief SERCOM6 signal: PAD3 on PC07 mux C */ +#define MUX_PC07C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC07C_SERCOM6_PAD3 ((PIN_PC07C_SERCOM6_PAD3 << 16) | MUX_PC07C_SERCOM6_PAD3) +#define PORT_PC07C_SERCOM6_PAD3 (_UL_(1) << 7) +#define PIN_PC11C_SERCOM6_PAD3 _L_(75) /**< \brief SERCOM6 signal: PAD3 on PC11 mux C */ +#define MUX_PC11C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC11C_SERCOM6_PAD3 ((PIN_PC11C_SERCOM6_PAD3 << 16) | MUX_PC11C_SERCOM6_PAD3) +#define PORT_PC11C_SERCOM6_PAD3 (_UL_(1) << 11) +#define PIN_PC19C_SERCOM6_PAD3 _L_(83) /**< \brief SERCOM6 signal: PAD3 on PC19 mux C */ +#define MUX_PC19C_SERCOM6_PAD3 _L_(2) +#define PINMUX_PC19C_SERCOM6_PAD3 ((PIN_PC19C_SERCOM6_PAD3 << 16) | MUX_PC19C_SERCOM6_PAD3) +#define PORT_PC19C_SERCOM6_PAD3 (_UL_(1) << 19) +/* ========== PORT definition for SERCOM7 peripheral ========== */ +#define PIN_PB21D_SERCOM7_PAD0 _L_(53) /**< \brief SERCOM7 signal: PAD0 on PB21 mux D */ +#define MUX_PB21D_SERCOM7_PAD0 _L_(3) +#define PINMUX_PB21D_SERCOM7_PAD0 ((PIN_PB21D_SERCOM7_PAD0 << 16) | MUX_PB21D_SERCOM7_PAD0) +#define PORT_PB21D_SERCOM7_PAD0 (_UL_(1) << 21) +#define PIN_PD08C_SERCOM7_PAD0 _L_(104) /**< \brief SERCOM7 signal: PAD0 on PD08 mux C */ +#define MUX_PD08C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PD08C_SERCOM7_PAD0 ((PIN_PD08C_SERCOM7_PAD0 << 16) | MUX_PD08C_SERCOM7_PAD0) +#define PORT_PD08C_SERCOM7_PAD0 (_UL_(1) << 8) +#define PIN_PB30C_SERCOM7_PAD0 _L_(62) /**< \brief SERCOM7 signal: PAD0 on PB30 mux C */ +#define MUX_PB30C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PB30C_SERCOM7_PAD0 ((PIN_PB30C_SERCOM7_PAD0 << 16) | MUX_PB30C_SERCOM7_PAD0) +#define PORT_PB30C_SERCOM7_PAD0 (_UL_(1) << 30) +#define PIN_PC12C_SERCOM7_PAD0 _L_(76) /**< \brief SERCOM7 signal: PAD0 on PC12 mux C */ +#define MUX_PC12C_SERCOM7_PAD0 _L_(2) +#define PINMUX_PC12C_SERCOM7_PAD0 ((PIN_PC12C_SERCOM7_PAD0 << 16) | MUX_PC12C_SERCOM7_PAD0) +#define PORT_PC12C_SERCOM7_PAD0 (_UL_(1) << 12) +#define PIN_PB20D_SERCOM7_PAD1 _L_(52) /**< \brief SERCOM7 signal: PAD1 on PB20 mux D */ +#define MUX_PB20D_SERCOM7_PAD1 _L_(3) +#define PINMUX_PB20D_SERCOM7_PAD1 ((PIN_PB20D_SERCOM7_PAD1 << 16) | MUX_PB20D_SERCOM7_PAD1) +#define PORT_PB20D_SERCOM7_PAD1 (_UL_(1) << 20) +#define PIN_PD09C_SERCOM7_PAD1 _L_(105) /**< \brief SERCOM7 signal: PAD1 on PD09 mux C */ +#define MUX_PD09C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PD09C_SERCOM7_PAD1 ((PIN_PD09C_SERCOM7_PAD1 << 16) | MUX_PD09C_SERCOM7_PAD1) +#define PORT_PD09C_SERCOM7_PAD1 (_UL_(1) << 9) +#define PIN_PB31C_SERCOM7_PAD1 _L_(63) /**< \brief SERCOM7 signal: PAD1 on PB31 mux C */ +#define MUX_PB31C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PB31C_SERCOM7_PAD1 ((PIN_PB31C_SERCOM7_PAD1 << 16) | MUX_PB31C_SERCOM7_PAD1) +#define PORT_PB31C_SERCOM7_PAD1 (_UL_(1) << 31) +#define PIN_PC13C_SERCOM7_PAD1 _L_(77) /**< \brief SERCOM7 signal: PAD1 on PC13 mux C */ +#define MUX_PC13C_SERCOM7_PAD1 _L_(2) +#define PINMUX_PC13C_SERCOM7_PAD1 ((PIN_PC13C_SERCOM7_PAD1 << 16) | MUX_PC13C_SERCOM7_PAD1) +#define PORT_PC13C_SERCOM7_PAD1 (_UL_(1) << 13) +#define PIN_PB18D_SERCOM7_PAD2 _L_(50) /**< \brief SERCOM7 signal: PAD2 on PB18 mux D */ +#define MUX_PB18D_SERCOM7_PAD2 _L_(3) +#define PINMUX_PB18D_SERCOM7_PAD2 ((PIN_PB18D_SERCOM7_PAD2 << 16) | MUX_PB18D_SERCOM7_PAD2) +#define PORT_PB18D_SERCOM7_PAD2 (_UL_(1) << 18) +#define PIN_PC10D_SERCOM7_PAD2 _L_(74) /**< \brief SERCOM7 signal: PAD2 on PC10 mux D */ +#define MUX_PC10D_SERCOM7_PAD2 _L_(3) +#define PINMUX_PC10D_SERCOM7_PAD2 ((PIN_PC10D_SERCOM7_PAD2 << 16) | MUX_PC10D_SERCOM7_PAD2) +#define PORT_PC10D_SERCOM7_PAD2 (_UL_(1) << 10) +#define PIN_PC14C_SERCOM7_PAD2 _L_(78) /**< \brief SERCOM7 signal: PAD2 on PC14 mux C */ +#define MUX_PC14C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PC14C_SERCOM7_PAD2 ((PIN_PC14C_SERCOM7_PAD2 << 16) | MUX_PC14C_SERCOM7_PAD2) +#define PORT_PC14C_SERCOM7_PAD2 (_UL_(1) << 14) +#define PIN_PD10C_SERCOM7_PAD2 _L_(106) /**< \brief SERCOM7 signal: PAD2 on PD10 mux C */ +#define MUX_PD10C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PD10C_SERCOM7_PAD2 ((PIN_PD10C_SERCOM7_PAD2 << 16) | MUX_PD10C_SERCOM7_PAD2) +#define PORT_PD10C_SERCOM7_PAD2 (_UL_(1) << 10) +#define PIN_PA30C_SERCOM7_PAD2 _L_(30) /**< \brief SERCOM7 signal: PAD2 on PA30 mux C */ +#define MUX_PA30C_SERCOM7_PAD2 _L_(2) +#define PINMUX_PA30C_SERCOM7_PAD2 ((PIN_PA30C_SERCOM7_PAD2 << 16) | MUX_PA30C_SERCOM7_PAD2) +#define PORT_PA30C_SERCOM7_PAD2 (_UL_(1) << 30) +#define PIN_PB19D_SERCOM7_PAD3 _L_(51) /**< \brief SERCOM7 signal: PAD3 on PB19 mux D */ +#define MUX_PB19D_SERCOM7_PAD3 _L_(3) +#define PINMUX_PB19D_SERCOM7_PAD3 ((PIN_PB19D_SERCOM7_PAD3 << 16) | MUX_PB19D_SERCOM7_PAD3) +#define PORT_PB19D_SERCOM7_PAD3 (_UL_(1) << 19) +#define PIN_PC11D_SERCOM7_PAD3 _L_(75) /**< \brief SERCOM7 signal: PAD3 on PC11 mux D */ +#define MUX_PC11D_SERCOM7_PAD3 _L_(3) +#define PINMUX_PC11D_SERCOM7_PAD3 ((PIN_PC11D_SERCOM7_PAD3 << 16) | MUX_PC11D_SERCOM7_PAD3) +#define PORT_PC11D_SERCOM7_PAD3 (_UL_(1) << 11) +#define PIN_PC15C_SERCOM7_PAD3 _L_(79) /**< \brief SERCOM7 signal: PAD3 on PC15 mux C */ +#define MUX_PC15C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PC15C_SERCOM7_PAD3 ((PIN_PC15C_SERCOM7_PAD3 << 16) | MUX_PC15C_SERCOM7_PAD3) +#define PORT_PC15C_SERCOM7_PAD3 (_UL_(1) << 15) +#define PIN_PD11C_SERCOM7_PAD3 _L_(107) /**< \brief SERCOM7 signal: PAD3 on PD11 mux C */ +#define MUX_PD11C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PD11C_SERCOM7_PAD3 ((PIN_PD11C_SERCOM7_PAD3 << 16) | MUX_PD11C_SERCOM7_PAD3) +#define PORT_PD11C_SERCOM7_PAD3 (_UL_(1) << 11) +#define PIN_PA31C_SERCOM7_PAD3 _L_(31) /**< \brief SERCOM7 signal: PAD3 on PA31 mux C */ +#define MUX_PA31C_SERCOM7_PAD3 _L_(2) +#define PINMUX_PA31C_SERCOM7_PAD3 ((PIN_PA31C_SERCOM7_PAD3 << 16) | MUX_PA31C_SERCOM7_PAD3) +#define PORT_PA31C_SERCOM7_PAD3 (_UL_(1) << 31) +/* ========== PORT definition for TCC4 peripheral ========== */ +#define PIN_PB14F_TCC4_WO0 _L_(46) /**< \brief TCC4 signal: WO0 on PB14 mux F */ +#define MUX_PB14F_TCC4_WO0 _L_(5) +#define PINMUX_PB14F_TCC4_WO0 ((PIN_PB14F_TCC4_WO0 << 16) | MUX_PB14F_TCC4_WO0) +#define PORT_PB14F_TCC4_WO0 (_UL_(1) << 14) +#define PIN_PB30F_TCC4_WO0 _L_(62) /**< \brief TCC4 signal: WO0 on PB30 mux F */ +#define MUX_PB30F_TCC4_WO0 _L_(5) +#define PINMUX_PB30F_TCC4_WO0 ((PIN_PB30F_TCC4_WO0 << 16) | MUX_PB30F_TCC4_WO0) +#define PORT_PB30F_TCC4_WO0 (_UL_(1) << 30) +#define PIN_PB15F_TCC4_WO1 _L_(47) /**< \brief TCC4 signal: WO1 on PB15 mux F */ +#define MUX_PB15F_TCC4_WO1 _L_(5) +#define PINMUX_PB15F_TCC4_WO1 ((PIN_PB15F_TCC4_WO1 << 16) | MUX_PB15F_TCC4_WO1) +#define PORT_PB15F_TCC4_WO1 (_UL_(1) << 15) +#define PIN_PB31F_TCC4_WO1 _L_(63) /**< \brief TCC4 signal: WO1 on PB31 mux F */ +#define MUX_PB31F_TCC4_WO1 _L_(5) +#define PINMUX_PB31F_TCC4_WO1 ((PIN_PB31F_TCC4_WO1 << 16) | MUX_PB31F_TCC4_WO1) +#define PORT_PB31F_TCC4_WO1 (_UL_(1) << 31) +/* ========== PORT definition for TC6 peripheral ========== */ +#define PIN_PA30E_TC6_WO0 _L_(30) /**< \brief TC6 signal: WO0 on PA30 mux E */ +#define MUX_PA30E_TC6_WO0 _L_(4) +#define PINMUX_PA30E_TC6_WO0 ((PIN_PA30E_TC6_WO0 << 16) | MUX_PA30E_TC6_WO0) +#define PORT_PA30E_TC6_WO0 (_UL_(1) << 30) +#define PIN_PB02E_TC6_WO0 _L_(34) /**< \brief TC6 signal: WO0 on PB02 mux E */ +#define MUX_PB02E_TC6_WO0 _L_(4) +#define PINMUX_PB02E_TC6_WO0 ((PIN_PB02E_TC6_WO0 << 16) | MUX_PB02E_TC6_WO0) +#define PORT_PB02E_TC6_WO0 (_UL_(1) << 2) +#define PIN_PB16E_TC6_WO0 _L_(48) /**< \brief TC6 signal: WO0 on PB16 mux E */ +#define MUX_PB16E_TC6_WO0 _L_(4) +#define PINMUX_PB16E_TC6_WO0 ((PIN_PB16E_TC6_WO0 << 16) | MUX_PB16E_TC6_WO0) +#define PORT_PB16E_TC6_WO0 (_UL_(1) << 16) +#define PIN_PA31E_TC6_WO1 _L_(31) /**< \brief TC6 signal: WO1 on PA31 mux E */ +#define MUX_PA31E_TC6_WO1 _L_(4) +#define PINMUX_PA31E_TC6_WO1 ((PIN_PA31E_TC6_WO1 << 16) | MUX_PA31E_TC6_WO1) +#define PORT_PA31E_TC6_WO1 (_UL_(1) << 31) +#define PIN_PB03E_TC6_WO1 _L_(35) /**< \brief TC6 signal: WO1 on PB03 mux E */ +#define MUX_PB03E_TC6_WO1 _L_(4) +#define PINMUX_PB03E_TC6_WO1 ((PIN_PB03E_TC6_WO1 << 16) | MUX_PB03E_TC6_WO1) +#define PORT_PB03E_TC6_WO1 (_UL_(1) << 3) +#define PIN_PB17E_TC6_WO1 _L_(49) /**< \brief TC6 signal: WO1 on PB17 mux E */ +#define MUX_PB17E_TC6_WO1 _L_(4) +#define PINMUX_PB17E_TC6_WO1 ((PIN_PB17E_TC6_WO1 << 16) | MUX_PB17E_TC6_WO1) +#define PORT_PB17E_TC6_WO1 (_UL_(1) << 17) +/* ========== PORT definition for TC7 peripheral ========== */ +#define PIN_PA20E_TC7_WO0 _L_(20) /**< \brief TC7 signal: WO0 on PA20 mux E */ +#define MUX_PA20E_TC7_WO0 _L_(4) +#define PINMUX_PA20E_TC7_WO0 ((PIN_PA20E_TC7_WO0 << 16) | MUX_PA20E_TC7_WO0) +#define PORT_PA20E_TC7_WO0 (_UL_(1) << 20) +#define PIN_PB00E_TC7_WO0 _L_(32) /**< \brief TC7 signal: WO0 on PB00 mux E */ +#define MUX_PB00E_TC7_WO0 _L_(4) +#define PINMUX_PB00E_TC7_WO0 ((PIN_PB00E_TC7_WO0 << 16) | MUX_PB00E_TC7_WO0) +#define PORT_PB00E_TC7_WO0 (_UL_(1) << 0) +#define PIN_PB22E_TC7_WO0 _L_(54) /**< \brief TC7 signal: WO0 on PB22 mux E */ +#define MUX_PB22E_TC7_WO0 _L_(4) +#define PINMUX_PB22E_TC7_WO0 ((PIN_PB22E_TC7_WO0 << 16) | MUX_PB22E_TC7_WO0) +#define PORT_PB22E_TC7_WO0 (_UL_(1) << 22) +#define PIN_PA21E_TC7_WO1 _L_(21) /**< \brief TC7 signal: WO1 on PA21 mux E */ +#define MUX_PA21E_TC7_WO1 _L_(4) +#define PINMUX_PA21E_TC7_WO1 ((PIN_PA21E_TC7_WO1 << 16) | MUX_PA21E_TC7_WO1) +#define PORT_PA21E_TC7_WO1 (_UL_(1) << 21) +#define PIN_PB01E_TC7_WO1 _L_(33) /**< \brief TC7 signal: WO1 on PB01 mux E */ +#define MUX_PB01E_TC7_WO1 _L_(4) +#define PINMUX_PB01E_TC7_WO1 ((PIN_PB01E_TC7_WO1 << 16) | MUX_PB01E_TC7_WO1) +#define PORT_PB01E_TC7_WO1 (_UL_(1) << 1) +#define PIN_PB23E_TC7_WO1 _L_(55) /**< \brief TC7 signal: WO1 on PB23 mux E */ +#define MUX_PB23E_TC7_WO1 _L_(4) +#define PINMUX_PB23E_TC7_WO1 ((PIN_PB23E_TC7_WO1 << 16) | MUX_PB23E_TC7_WO1) +#define PORT_PB23E_TC7_WO1 (_UL_(1) << 23) +/* ========== PORT definition for ADC0 peripheral ========== */ +#define PIN_PA02B_ADC0_AIN0 _L_(2) /**< \brief ADC0 signal: AIN0 on PA02 mux B */ +#define MUX_PA02B_ADC0_AIN0 _L_(1) +#define PINMUX_PA02B_ADC0_AIN0 ((PIN_PA02B_ADC0_AIN0 << 16) | MUX_PA02B_ADC0_AIN0) +#define PORT_PA02B_ADC0_AIN0 (_UL_(1) << 2) +#define PIN_PA03B_ADC0_AIN1 _L_(3) /**< \brief ADC0 signal: AIN1 on PA03 mux B */ +#define MUX_PA03B_ADC0_AIN1 _L_(1) +#define PINMUX_PA03B_ADC0_AIN1 ((PIN_PA03B_ADC0_AIN1 << 16) | MUX_PA03B_ADC0_AIN1) +#define PORT_PA03B_ADC0_AIN1 (_UL_(1) << 3) +#define PIN_PB08B_ADC0_AIN2 _L_(40) /**< \brief ADC0 signal: AIN2 on PB08 mux B */ +#define MUX_PB08B_ADC0_AIN2 _L_(1) +#define PINMUX_PB08B_ADC0_AIN2 ((PIN_PB08B_ADC0_AIN2 << 16) | MUX_PB08B_ADC0_AIN2) +#define PORT_PB08B_ADC0_AIN2 (_UL_(1) << 8) +#define PIN_PB09B_ADC0_AIN3 _L_(41) /**< \brief ADC0 signal: AIN3 on PB09 mux B */ +#define MUX_PB09B_ADC0_AIN3 _L_(1) +#define PINMUX_PB09B_ADC0_AIN3 ((PIN_PB09B_ADC0_AIN3 << 16) | MUX_PB09B_ADC0_AIN3) +#define PORT_PB09B_ADC0_AIN3 (_UL_(1) << 9) +#define PIN_PA04B_ADC0_AIN4 _L_(4) /**< \brief ADC0 signal: AIN4 on PA04 mux B */ +#define MUX_PA04B_ADC0_AIN4 _L_(1) +#define PINMUX_PA04B_ADC0_AIN4 ((PIN_PA04B_ADC0_AIN4 << 16) | MUX_PA04B_ADC0_AIN4) +#define PORT_PA04B_ADC0_AIN4 (_UL_(1) << 4) +#define PIN_PA05B_ADC0_AIN5 _L_(5) /**< \brief ADC0 signal: AIN5 on PA05 mux B */ +#define MUX_PA05B_ADC0_AIN5 _L_(1) +#define PINMUX_PA05B_ADC0_AIN5 ((PIN_PA05B_ADC0_AIN5 << 16) | MUX_PA05B_ADC0_AIN5) +#define PORT_PA05B_ADC0_AIN5 (_UL_(1) << 5) +#define PIN_PA06B_ADC0_AIN6 _L_(6) /**< \brief ADC0 signal: AIN6 on PA06 mux B */ +#define MUX_PA06B_ADC0_AIN6 _L_(1) +#define PINMUX_PA06B_ADC0_AIN6 ((PIN_PA06B_ADC0_AIN6 << 16) | MUX_PA06B_ADC0_AIN6) +#define PORT_PA06B_ADC0_AIN6 (_UL_(1) << 6) +#define PIN_PA07B_ADC0_AIN7 _L_(7) /**< \brief ADC0 signal: AIN7 on PA07 mux B */ +#define MUX_PA07B_ADC0_AIN7 _L_(1) +#define PINMUX_PA07B_ADC0_AIN7 ((PIN_PA07B_ADC0_AIN7 << 16) | MUX_PA07B_ADC0_AIN7) +#define PORT_PA07B_ADC0_AIN7 (_UL_(1) << 7) +#define PIN_PA08B_ADC0_AIN8 _L_(8) /**< \brief ADC0 signal: AIN8 on PA08 mux B */ +#define MUX_PA08B_ADC0_AIN8 _L_(1) +#define PINMUX_PA08B_ADC0_AIN8 ((PIN_PA08B_ADC0_AIN8 << 16) | MUX_PA08B_ADC0_AIN8) +#define PORT_PA08B_ADC0_AIN8 (_UL_(1) << 8) +#define PIN_PA09B_ADC0_AIN9 _L_(9) /**< \brief ADC0 signal: AIN9 on PA09 mux B */ +#define MUX_PA09B_ADC0_AIN9 _L_(1) +#define PINMUX_PA09B_ADC0_AIN9 ((PIN_PA09B_ADC0_AIN9 << 16) | MUX_PA09B_ADC0_AIN9) +#define PORT_PA09B_ADC0_AIN9 (_UL_(1) << 9) +#define PIN_PA10B_ADC0_AIN10 _L_(10) /**< \brief ADC0 signal: AIN10 on PA10 mux B */ +#define MUX_PA10B_ADC0_AIN10 _L_(1) +#define PINMUX_PA10B_ADC0_AIN10 ((PIN_PA10B_ADC0_AIN10 << 16) | MUX_PA10B_ADC0_AIN10) +#define PORT_PA10B_ADC0_AIN10 (_UL_(1) << 10) +#define PIN_PA11B_ADC0_AIN11 _L_(11) /**< \brief ADC0 signal: AIN11 on PA11 mux B */ +#define MUX_PA11B_ADC0_AIN11 _L_(1) +#define PINMUX_PA11B_ADC0_AIN11 ((PIN_PA11B_ADC0_AIN11 << 16) | MUX_PA11B_ADC0_AIN11) +#define PORT_PA11B_ADC0_AIN11 (_UL_(1) << 11) +#define PIN_PB00B_ADC0_AIN12 _L_(32) /**< \brief ADC0 signal: AIN12 on PB00 mux B */ +#define MUX_PB00B_ADC0_AIN12 _L_(1) +#define PINMUX_PB00B_ADC0_AIN12 ((PIN_PB00B_ADC0_AIN12 << 16) | MUX_PB00B_ADC0_AIN12) +#define PORT_PB00B_ADC0_AIN12 (_UL_(1) << 0) +#define PIN_PB01B_ADC0_AIN13 _L_(33) /**< \brief ADC0 signal: AIN13 on PB01 mux B */ +#define MUX_PB01B_ADC0_AIN13 _L_(1) +#define PINMUX_PB01B_ADC0_AIN13 ((PIN_PB01B_ADC0_AIN13 << 16) | MUX_PB01B_ADC0_AIN13) +#define PORT_PB01B_ADC0_AIN13 (_UL_(1) << 1) +#define PIN_PB02B_ADC0_AIN14 _L_(34) /**< \brief ADC0 signal: AIN14 on PB02 mux B */ +#define MUX_PB02B_ADC0_AIN14 _L_(1) +#define PINMUX_PB02B_ADC0_AIN14 ((PIN_PB02B_ADC0_AIN14 << 16) | MUX_PB02B_ADC0_AIN14) +#define PORT_PB02B_ADC0_AIN14 (_UL_(1) << 2) +#define PIN_PB03B_ADC0_AIN15 _L_(35) /**< \brief ADC0 signal: AIN15 on PB03 mux B */ +#define MUX_PB03B_ADC0_AIN15 _L_(1) +#define PINMUX_PB03B_ADC0_AIN15 ((PIN_PB03B_ADC0_AIN15 << 16) | MUX_PB03B_ADC0_AIN15) +#define PORT_PB03B_ADC0_AIN15 (_UL_(1) << 3) +#define PIN_PA03O_ADC0_DRV0 _L_(3) /**< \brief ADC0 signal: DRV0 on PA03 mux O */ +#define MUX_PA03O_ADC0_DRV0 _L_(14) +#define PINMUX_PA03O_ADC0_DRV0 ((PIN_PA03O_ADC0_DRV0 << 16) | MUX_PA03O_ADC0_DRV0) +#define PORT_PA03O_ADC0_DRV0 (_UL_(1) << 3) +#define PIN_PB08O_ADC0_DRV1 _L_(40) /**< \brief ADC0 signal: DRV1 on PB08 mux O */ +#define MUX_PB08O_ADC0_DRV1 _L_(14) +#define PINMUX_PB08O_ADC0_DRV1 ((PIN_PB08O_ADC0_DRV1 << 16) | MUX_PB08O_ADC0_DRV1) +#define PORT_PB08O_ADC0_DRV1 (_UL_(1) << 8) +#define PIN_PB09O_ADC0_DRV2 _L_(41) /**< \brief ADC0 signal: DRV2 on PB09 mux O */ +#define MUX_PB09O_ADC0_DRV2 _L_(14) +#define PINMUX_PB09O_ADC0_DRV2 ((PIN_PB09O_ADC0_DRV2 << 16) | MUX_PB09O_ADC0_DRV2) +#define PORT_PB09O_ADC0_DRV2 (_UL_(1) << 9) +#define PIN_PA04O_ADC0_DRV3 _L_(4) /**< \brief ADC0 signal: DRV3 on PA04 mux O */ +#define MUX_PA04O_ADC0_DRV3 _L_(14) +#define PINMUX_PA04O_ADC0_DRV3 ((PIN_PA04O_ADC0_DRV3 << 16) | MUX_PA04O_ADC0_DRV3) +#define PORT_PA04O_ADC0_DRV3 (_UL_(1) << 4) +#define PIN_PA06O_ADC0_DRV4 _L_(6) /**< \brief ADC0 signal: DRV4 on PA06 mux O */ +#define MUX_PA06O_ADC0_DRV4 _L_(14) +#define PINMUX_PA06O_ADC0_DRV4 ((PIN_PA06O_ADC0_DRV4 << 16) | MUX_PA06O_ADC0_DRV4) +#define PORT_PA06O_ADC0_DRV4 (_UL_(1) << 6) +#define PIN_PA07O_ADC0_DRV5 _L_(7) /**< \brief ADC0 signal: DRV5 on PA07 mux O */ +#define MUX_PA07O_ADC0_DRV5 _L_(14) +#define PINMUX_PA07O_ADC0_DRV5 ((PIN_PA07O_ADC0_DRV5 << 16) | MUX_PA07O_ADC0_DRV5) +#define PORT_PA07O_ADC0_DRV5 (_UL_(1) << 7) +#define PIN_PA08O_ADC0_DRV6 _L_(8) /**< \brief ADC0 signal: DRV6 on PA08 mux O */ +#define MUX_PA08O_ADC0_DRV6 _L_(14) +#define PINMUX_PA08O_ADC0_DRV6 ((PIN_PA08O_ADC0_DRV6 << 16) | MUX_PA08O_ADC0_DRV6) +#define PORT_PA08O_ADC0_DRV6 (_UL_(1) << 8) +#define PIN_PA09O_ADC0_DRV7 _L_(9) /**< \brief ADC0 signal: DRV7 on PA09 mux O */ +#define MUX_PA09O_ADC0_DRV7 _L_(14) +#define PINMUX_PA09O_ADC0_DRV7 ((PIN_PA09O_ADC0_DRV7 << 16) | MUX_PA09O_ADC0_DRV7) +#define PORT_PA09O_ADC0_DRV7 (_UL_(1) << 9) +#define PIN_PA10O_ADC0_DRV8 _L_(10) /**< \brief ADC0 signal: DRV8 on PA10 mux O */ +#define MUX_PA10O_ADC0_DRV8 _L_(14) +#define PINMUX_PA10O_ADC0_DRV8 ((PIN_PA10O_ADC0_DRV8 << 16) | MUX_PA10O_ADC0_DRV8) +#define PORT_PA10O_ADC0_DRV8 (_UL_(1) << 10) +#define PIN_PA11O_ADC0_DRV9 _L_(11) /**< \brief ADC0 signal: DRV9 on PA11 mux O */ +#define MUX_PA11O_ADC0_DRV9 _L_(14) +#define PINMUX_PA11O_ADC0_DRV9 ((PIN_PA11O_ADC0_DRV9 << 16) | MUX_PA11O_ADC0_DRV9) +#define PORT_PA11O_ADC0_DRV9 (_UL_(1) << 11) +#define PIN_PA16O_ADC0_DRV10 _L_(16) /**< \brief ADC0 signal: DRV10 on PA16 mux O */ +#define MUX_PA16O_ADC0_DRV10 _L_(14) +#define PINMUX_PA16O_ADC0_DRV10 ((PIN_PA16O_ADC0_DRV10 << 16) | MUX_PA16O_ADC0_DRV10) +#define PORT_PA16O_ADC0_DRV10 (_UL_(1) << 16) +#define PIN_PA17O_ADC0_DRV11 _L_(17) /**< \brief ADC0 signal: DRV11 on PA17 mux O */ +#define MUX_PA17O_ADC0_DRV11 _L_(14) +#define PINMUX_PA17O_ADC0_DRV11 ((PIN_PA17O_ADC0_DRV11 << 16) | MUX_PA17O_ADC0_DRV11) +#define PORT_PA17O_ADC0_DRV11 (_UL_(1) << 17) +#define PIN_PA18O_ADC0_DRV12 _L_(18) /**< \brief ADC0 signal: DRV12 on PA18 mux O */ +#define MUX_PA18O_ADC0_DRV12 _L_(14) +#define PINMUX_PA18O_ADC0_DRV12 ((PIN_PA18O_ADC0_DRV12 << 16) | MUX_PA18O_ADC0_DRV12) +#define PORT_PA18O_ADC0_DRV12 (_UL_(1) << 18) +#define PIN_PA19O_ADC0_DRV13 _L_(19) /**< \brief ADC0 signal: DRV13 on PA19 mux O */ +#define MUX_PA19O_ADC0_DRV13 _L_(14) +#define PINMUX_PA19O_ADC0_DRV13 ((PIN_PA19O_ADC0_DRV13 << 16) | MUX_PA19O_ADC0_DRV13) +#define PORT_PA19O_ADC0_DRV13 (_UL_(1) << 19) +#define PIN_PA20O_ADC0_DRV14 _L_(20) /**< \brief ADC0 signal: DRV14 on PA20 mux O */ +#define MUX_PA20O_ADC0_DRV14 _L_(14) +#define PINMUX_PA20O_ADC0_DRV14 ((PIN_PA20O_ADC0_DRV14 << 16) | MUX_PA20O_ADC0_DRV14) +#define PORT_PA20O_ADC0_DRV14 (_UL_(1) << 20) +#define PIN_PA21O_ADC0_DRV15 _L_(21) /**< \brief ADC0 signal: DRV15 on PA21 mux O */ +#define MUX_PA21O_ADC0_DRV15 _L_(14) +#define PINMUX_PA21O_ADC0_DRV15 ((PIN_PA21O_ADC0_DRV15 << 16) | MUX_PA21O_ADC0_DRV15) +#define PORT_PA21O_ADC0_DRV15 (_UL_(1) << 21) +#define PIN_PA22O_ADC0_DRV16 _L_(22) /**< \brief ADC0 signal: DRV16 on PA22 mux O */ +#define MUX_PA22O_ADC0_DRV16 _L_(14) +#define PINMUX_PA22O_ADC0_DRV16 ((PIN_PA22O_ADC0_DRV16 << 16) | MUX_PA22O_ADC0_DRV16) +#define PORT_PA22O_ADC0_DRV16 (_UL_(1) << 22) +#define PIN_PA23O_ADC0_DRV17 _L_(23) /**< \brief ADC0 signal: DRV17 on PA23 mux O */ +#define MUX_PA23O_ADC0_DRV17 _L_(14) +#define PINMUX_PA23O_ADC0_DRV17 ((PIN_PA23O_ADC0_DRV17 << 16) | MUX_PA23O_ADC0_DRV17) +#define PORT_PA23O_ADC0_DRV17 (_UL_(1) << 23) +#define PIN_PA27O_ADC0_DRV18 _L_(27) /**< \brief ADC0 signal: DRV18 on PA27 mux O */ +#define MUX_PA27O_ADC0_DRV18 _L_(14) +#define PINMUX_PA27O_ADC0_DRV18 ((PIN_PA27O_ADC0_DRV18 << 16) | MUX_PA27O_ADC0_DRV18) +#define PORT_PA27O_ADC0_DRV18 (_UL_(1) << 27) +#define PIN_PA30O_ADC0_DRV19 _L_(30) /**< \brief ADC0 signal: DRV19 on PA30 mux O */ +#define MUX_PA30O_ADC0_DRV19 _L_(14) +#define PINMUX_PA30O_ADC0_DRV19 ((PIN_PA30O_ADC0_DRV19 << 16) | MUX_PA30O_ADC0_DRV19) +#define PORT_PA30O_ADC0_DRV19 (_UL_(1) << 30) +#define PIN_PB02O_ADC0_DRV20 _L_(34) /**< \brief ADC0 signal: DRV20 on PB02 mux O */ +#define MUX_PB02O_ADC0_DRV20 _L_(14) +#define PINMUX_PB02O_ADC0_DRV20 ((PIN_PB02O_ADC0_DRV20 << 16) | MUX_PB02O_ADC0_DRV20) +#define PORT_PB02O_ADC0_DRV20 (_UL_(1) << 2) +#define PIN_PB03O_ADC0_DRV21 _L_(35) /**< \brief ADC0 signal: DRV21 on PB03 mux O */ +#define MUX_PB03O_ADC0_DRV21 _L_(14) +#define PINMUX_PB03O_ADC0_DRV21 ((PIN_PB03O_ADC0_DRV21 << 16) | MUX_PB03O_ADC0_DRV21) +#define PORT_PB03O_ADC0_DRV21 (_UL_(1) << 3) +#define PIN_PB04O_ADC0_DRV22 _L_(36) /**< \brief ADC0 signal: DRV22 on PB04 mux O */ +#define MUX_PB04O_ADC0_DRV22 _L_(14) +#define PINMUX_PB04O_ADC0_DRV22 ((PIN_PB04O_ADC0_DRV22 << 16) | MUX_PB04O_ADC0_DRV22) +#define PORT_PB04O_ADC0_DRV22 (_UL_(1) << 4) +#define PIN_PB05O_ADC0_DRV23 _L_(37) /**< \brief ADC0 signal: DRV23 on PB05 mux O */ +#define MUX_PB05O_ADC0_DRV23 _L_(14) +#define PINMUX_PB05O_ADC0_DRV23 ((PIN_PB05O_ADC0_DRV23 << 16) | MUX_PB05O_ADC0_DRV23) +#define PORT_PB05O_ADC0_DRV23 (_UL_(1) << 5) +#define PIN_PB06O_ADC0_DRV24 _L_(38) /**< \brief ADC0 signal: DRV24 on PB06 mux O */ +#define MUX_PB06O_ADC0_DRV24 _L_(14) +#define PINMUX_PB06O_ADC0_DRV24 ((PIN_PB06O_ADC0_DRV24 << 16) | MUX_PB06O_ADC0_DRV24) +#define PORT_PB06O_ADC0_DRV24 (_UL_(1) << 6) +#define PIN_PB07O_ADC0_DRV25 _L_(39) /**< \brief ADC0 signal: DRV25 on PB07 mux O */ +#define MUX_PB07O_ADC0_DRV25 _L_(14) +#define PINMUX_PB07O_ADC0_DRV25 ((PIN_PB07O_ADC0_DRV25 << 16) | MUX_PB07O_ADC0_DRV25) +#define PORT_PB07O_ADC0_DRV25 (_UL_(1) << 7) +#define PIN_PB12O_ADC0_DRV26 _L_(44) /**< \brief ADC0 signal: DRV26 on PB12 mux O */ +#define MUX_PB12O_ADC0_DRV26 _L_(14) +#define PINMUX_PB12O_ADC0_DRV26 ((PIN_PB12O_ADC0_DRV26 << 16) | MUX_PB12O_ADC0_DRV26) +#define PORT_PB12O_ADC0_DRV26 (_UL_(1) << 12) +#define PIN_PB13O_ADC0_DRV27 _L_(45) /**< \brief ADC0 signal: DRV27 on PB13 mux O */ +#define MUX_PB13O_ADC0_DRV27 _L_(14) +#define PINMUX_PB13O_ADC0_DRV27 ((PIN_PB13O_ADC0_DRV27 << 16) | MUX_PB13O_ADC0_DRV27) +#define PORT_PB13O_ADC0_DRV27 (_UL_(1) << 13) +#define PIN_PB14O_ADC0_DRV28 _L_(46) /**< \brief ADC0 signal: DRV28 on PB14 mux O */ +#define MUX_PB14O_ADC0_DRV28 _L_(14) +#define PINMUX_PB14O_ADC0_DRV28 ((PIN_PB14O_ADC0_DRV28 << 16) | MUX_PB14O_ADC0_DRV28) +#define PORT_PB14O_ADC0_DRV28 (_UL_(1) << 14) +#define PIN_PB15O_ADC0_DRV29 _L_(47) /**< \brief ADC0 signal: DRV29 on PB15 mux O */ +#define MUX_PB15O_ADC0_DRV29 _L_(14) +#define PINMUX_PB15O_ADC0_DRV29 ((PIN_PB15O_ADC0_DRV29 << 16) | MUX_PB15O_ADC0_DRV29) +#define PORT_PB15O_ADC0_DRV29 (_UL_(1) << 15) +#define PIN_PB00O_ADC0_DRV30 _L_(32) /**< \brief ADC0 signal: DRV30 on PB00 mux O */ +#define MUX_PB00O_ADC0_DRV30 _L_(14) +#define PINMUX_PB00O_ADC0_DRV30 ((PIN_PB00O_ADC0_DRV30 << 16) | MUX_PB00O_ADC0_DRV30) +#define PORT_PB00O_ADC0_DRV30 (_UL_(1) << 0) +#define PIN_PB01O_ADC0_DRV31 _L_(33) /**< \brief ADC0 signal: DRV31 on PB01 mux O */ +#define MUX_PB01O_ADC0_DRV31 _L_(14) +#define PINMUX_PB01O_ADC0_DRV31 ((PIN_PB01O_ADC0_DRV31 << 16) | MUX_PB01O_ADC0_DRV31) +#define PORT_PB01O_ADC0_DRV31 (_UL_(1) << 1) +#define PIN_PA03B_ADC0_PTCXY0 _L_(3) /**< \brief ADC0 signal: PTCXY0 on PA03 mux B */ +#define MUX_PA03B_ADC0_PTCXY0 _L_(1) +#define PINMUX_PA03B_ADC0_PTCXY0 ((PIN_PA03B_ADC0_PTCXY0 << 16) | MUX_PA03B_ADC0_PTCXY0) +#define PORT_PA03B_ADC0_PTCXY0 (_UL_(1) << 3) +#define PIN_PB08B_ADC0_PTCXY1 _L_(40) /**< \brief ADC0 signal: PTCXY1 on PB08 mux B */ +#define MUX_PB08B_ADC0_PTCXY1 _L_(1) +#define PINMUX_PB08B_ADC0_PTCXY1 ((PIN_PB08B_ADC0_PTCXY1 << 16) | MUX_PB08B_ADC0_PTCXY1) +#define PORT_PB08B_ADC0_PTCXY1 (_UL_(1) << 8) +#define PIN_PB09B_ADC0_PTCXY2 _L_(41) /**< \brief ADC0 signal: PTCXY2 on PB09 mux B */ +#define MUX_PB09B_ADC0_PTCXY2 _L_(1) +#define PINMUX_PB09B_ADC0_PTCXY2 ((PIN_PB09B_ADC0_PTCXY2 << 16) | MUX_PB09B_ADC0_PTCXY2) +#define PORT_PB09B_ADC0_PTCXY2 (_UL_(1) << 9) +#define PIN_PA04B_ADC0_PTCXY3 _L_(4) /**< \brief ADC0 signal: PTCXY3 on PA04 mux B */ +#define MUX_PA04B_ADC0_PTCXY3 _L_(1) +#define PINMUX_PA04B_ADC0_PTCXY3 ((PIN_PA04B_ADC0_PTCXY3 << 16) | MUX_PA04B_ADC0_PTCXY3) +#define PORT_PA04B_ADC0_PTCXY3 (_UL_(1) << 4) +#define PIN_PA06B_ADC0_PTCXY4 _L_(6) /**< \brief ADC0 signal: PTCXY4 on PA06 mux B */ +#define MUX_PA06B_ADC0_PTCXY4 _L_(1) +#define PINMUX_PA06B_ADC0_PTCXY4 ((PIN_PA06B_ADC0_PTCXY4 << 16) | MUX_PA06B_ADC0_PTCXY4) +#define PORT_PA06B_ADC0_PTCXY4 (_UL_(1) << 6) +#define PIN_PA07B_ADC0_PTCXY5 _L_(7) /**< \brief ADC0 signal: PTCXY5 on PA07 mux B */ +#define MUX_PA07B_ADC0_PTCXY5 _L_(1) +#define PINMUX_PA07B_ADC0_PTCXY5 ((PIN_PA07B_ADC0_PTCXY5 << 16) | MUX_PA07B_ADC0_PTCXY5) +#define PORT_PA07B_ADC0_PTCXY5 (_UL_(1) << 7) +#define PIN_PA08B_ADC0_PTCXY6 _L_(8) /**< \brief ADC0 signal: PTCXY6 on PA08 mux B */ +#define MUX_PA08B_ADC0_PTCXY6 _L_(1) +#define PINMUX_PA08B_ADC0_PTCXY6 ((PIN_PA08B_ADC0_PTCXY6 << 16) | MUX_PA08B_ADC0_PTCXY6) +#define PORT_PA08B_ADC0_PTCXY6 (_UL_(1) << 8) +#define PIN_PA09B_ADC0_PTCXY7 _L_(9) /**< \brief ADC0 signal: PTCXY7 on PA09 mux B */ +#define MUX_PA09B_ADC0_PTCXY7 _L_(1) +#define PINMUX_PA09B_ADC0_PTCXY7 ((PIN_PA09B_ADC0_PTCXY7 << 16) | MUX_PA09B_ADC0_PTCXY7) +#define PORT_PA09B_ADC0_PTCXY7 (_UL_(1) << 9) +#define PIN_PA10B_ADC0_PTCXY8 _L_(10) /**< \brief ADC0 signal: PTCXY8 on PA10 mux B */ +#define MUX_PA10B_ADC0_PTCXY8 _L_(1) +#define PINMUX_PA10B_ADC0_PTCXY8 ((PIN_PA10B_ADC0_PTCXY8 << 16) | MUX_PA10B_ADC0_PTCXY8) +#define PORT_PA10B_ADC0_PTCXY8 (_UL_(1) << 10) +#define PIN_PA11B_ADC0_PTCXY9 _L_(11) /**< \brief ADC0 signal: PTCXY9 on PA11 mux B */ +#define MUX_PA11B_ADC0_PTCXY9 _L_(1) +#define PINMUX_PA11B_ADC0_PTCXY9 ((PIN_PA11B_ADC0_PTCXY9 << 16) | MUX_PA11B_ADC0_PTCXY9) +#define PORT_PA11B_ADC0_PTCXY9 (_UL_(1) << 11) +#define PIN_PA16B_ADC0_PTCXY10 _L_(16) /**< \brief ADC0 signal: PTCXY10 on PA16 mux B */ +#define MUX_PA16B_ADC0_PTCXY10 _L_(1) +#define PINMUX_PA16B_ADC0_PTCXY10 ((PIN_PA16B_ADC0_PTCXY10 << 16) | MUX_PA16B_ADC0_PTCXY10) +#define PORT_PA16B_ADC0_PTCXY10 (_UL_(1) << 16) +#define PIN_PA17B_ADC0_PTCXY11 _L_(17) /**< \brief ADC0 signal: PTCXY11 on PA17 mux B */ +#define MUX_PA17B_ADC0_PTCXY11 _L_(1) +#define PINMUX_PA17B_ADC0_PTCXY11 ((PIN_PA17B_ADC0_PTCXY11 << 16) | MUX_PA17B_ADC0_PTCXY11) +#define PORT_PA17B_ADC0_PTCXY11 (_UL_(1) << 17) +#define PIN_PA19B_ADC0_PTCXY13 _L_(19) /**< \brief ADC0 signal: PTCXY13 on PA19 mux B */ +#define MUX_PA19B_ADC0_PTCXY13 _L_(1) +#define PINMUX_PA19B_ADC0_PTCXY13 ((PIN_PA19B_ADC0_PTCXY13 << 16) | MUX_PA19B_ADC0_PTCXY13) +#define PORT_PA19B_ADC0_PTCXY13 (_UL_(1) << 19) +#define PIN_PA20B_ADC0_PTCXY14 _L_(20) /**< \brief ADC0 signal: PTCXY14 on PA20 mux B */ +#define MUX_PA20B_ADC0_PTCXY14 _L_(1) +#define PINMUX_PA20B_ADC0_PTCXY14 ((PIN_PA20B_ADC0_PTCXY14 << 16) | MUX_PA20B_ADC0_PTCXY14) +#define PORT_PA20B_ADC0_PTCXY14 (_UL_(1) << 20) +#define PIN_PA21B_ADC0_PTCXY15 _L_(21) /**< \brief ADC0 signal: PTCXY15 on PA21 mux B */ +#define MUX_PA21B_ADC0_PTCXY15 _L_(1) +#define PINMUX_PA21B_ADC0_PTCXY15 ((PIN_PA21B_ADC0_PTCXY15 << 16) | MUX_PA21B_ADC0_PTCXY15) +#define PORT_PA21B_ADC0_PTCXY15 (_UL_(1) << 21) +#define PIN_PA22B_ADC0_PTCXY16 _L_(22) /**< \brief ADC0 signal: PTCXY16 on PA22 mux B */ +#define MUX_PA22B_ADC0_PTCXY16 _L_(1) +#define PINMUX_PA22B_ADC0_PTCXY16 ((PIN_PA22B_ADC0_PTCXY16 << 16) | MUX_PA22B_ADC0_PTCXY16) +#define PORT_PA22B_ADC0_PTCXY16 (_UL_(1) << 22) +#define PIN_PA23B_ADC0_PTCXY17 _L_(23) /**< \brief ADC0 signal: PTCXY17 on PA23 mux B */ +#define MUX_PA23B_ADC0_PTCXY17 _L_(1) +#define PINMUX_PA23B_ADC0_PTCXY17 ((PIN_PA23B_ADC0_PTCXY17 << 16) | MUX_PA23B_ADC0_PTCXY17) +#define PORT_PA23B_ADC0_PTCXY17 (_UL_(1) << 23) +#define PIN_PA27B_ADC0_PTCXY18 _L_(27) /**< \brief ADC0 signal: PTCXY18 on PA27 mux B */ +#define MUX_PA27B_ADC0_PTCXY18 _L_(1) +#define PINMUX_PA27B_ADC0_PTCXY18 ((PIN_PA27B_ADC0_PTCXY18 << 16) | MUX_PA27B_ADC0_PTCXY18) +#define PORT_PA27B_ADC0_PTCXY18 (_UL_(1) << 27) +#define PIN_PA30B_ADC0_PTCXY19 _L_(30) /**< \brief ADC0 signal: PTCXY19 on PA30 mux B */ +#define MUX_PA30B_ADC0_PTCXY19 _L_(1) +#define PINMUX_PA30B_ADC0_PTCXY19 ((PIN_PA30B_ADC0_PTCXY19 << 16) | MUX_PA30B_ADC0_PTCXY19) +#define PORT_PA30B_ADC0_PTCXY19 (_UL_(1) << 30) +#define PIN_PB02B_ADC0_PTCXY20 _L_(34) /**< \brief ADC0 signal: PTCXY20 on PB02 mux B */ +#define MUX_PB02B_ADC0_PTCXY20 _L_(1) +#define PINMUX_PB02B_ADC0_PTCXY20 ((PIN_PB02B_ADC0_PTCXY20 << 16) | MUX_PB02B_ADC0_PTCXY20) +#define PORT_PB02B_ADC0_PTCXY20 (_UL_(1) << 2) +#define PIN_PB03B_ADC0_PTCXY21 _L_(35) /**< \brief ADC0 signal: PTCXY21 on PB03 mux B */ +#define MUX_PB03B_ADC0_PTCXY21 _L_(1) +#define PINMUX_PB03B_ADC0_PTCXY21 ((PIN_PB03B_ADC0_PTCXY21 << 16) | MUX_PB03B_ADC0_PTCXY21) +#define PORT_PB03B_ADC0_PTCXY21 (_UL_(1) << 3) +#define PIN_PB04B_ADC0_PTCXY22 _L_(36) /**< \brief ADC0 signal: PTCXY22 on PB04 mux B */ +#define MUX_PB04B_ADC0_PTCXY22 _L_(1) +#define PINMUX_PB04B_ADC0_PTCXY22 ((PIN_PB04B_ADC0_PTCXY22 << 16) | MUX_PB04B_ADC0_PTCXY22) +#define PORT_PB04B_ADC0_PTCXY22 (_UL_(1) << 4) +#define PIN_PB05B_ADC0_PTCXY23 _L_(37) /**< \brief ADC0 signal: PTCXY23 on PB05 mux B */ +#define MUX_PB05B_ADC0_PTCXY23 _L_(1) +#define PINMUX_PB05B_ADC0_PTCXY23 ((PIN_PB05B_ADC0_PTCXY23 << 16) | MUX_PB05B_ADC0_PTCXY23) +#define PORT_PB05B_ADC0_PTCXY23 (_UL_(1) << 5) +#define PIN_PB06B_ADC0_PTCXY24 _L_(38) /**< \brief ADC0 signal: PTCXY24 on PB06 mux B */ +#define MUX_PB06B_ADC0_PTCXY24 _L_(1) +#define PINMUX_PB06B_ADC0_PTCXY24 ((PIN_PB06B_ADC0_PTCXY24 << 16) | MUX_PB06B_ADC0_PTCXY24) +#define PORT_PB06B_ADC0_PTCXY24 (_UL_(1) << 6) +#define PIN_PB07B_ADC0_PTCXY25 _L_(39) /**< \brief ADC0 signal: PTCXY25 on PB07 mux B */ +#define MUX_PB07B_ADC0_PTCXY25 _L_(1) +#define PINMUX_PB07B_ADC0_PTCXY25 ((PIN_PB07B_ADC0_PTCXY25 << 16) | MUX_PB07B_ADC0_PTCXY25) +#define PORT_PB07B_ADC0_PTCXY25 (_UL_(1) << 7) +#define PIN_PB12B_ADC0_PTCXY26 _L_(44) /**< \brief ADC0 signal: PTCXY26 on PB12 mux B */ +#define MUX_PB12B_ADC0_PTCXY26 _L_(1) +#define PINMUX_PB12B_ADC0_PTCXY26 ((PIN_PB12B_ADC0_PTCXY26 << 16) | MUX_PB12B_ADC0_PTCXY26) +#define PORT_PB12B_ADC0_PTCXY26 (_UL_(1) << 12) +#define PIN_PB13B_ADC0_PTCXY27 _L_(45) /**< \brief ADC0 signal: PTCXY27 on PB13 mux B */ +#define MUX_PB13B_ADC0_PTCXY27 _L_(1) +#define PINMUX_PB13B_ADC0_PTCXY27 ((PIN_PB13B_ADC0_PTCXY27 << 16) | MUX_PB13B_ADC0_PTCXY27) +#define PORT_PB13B_ADC0_PTCXY27 (_UL_(1) << 13) +#define PIN_PB14B_ADC0_PTCXY28 _L_(46) /**< \brief ADC0 signal: PTCXY28 on PB14 mux B */ +#define MUX_PB14B_ADC0_PTCXY28 _L_(1) +#define PINMUX_PB14B_ADC0_PTCXY28 ((PIN_PB14B_ADC0_PTCXY28 << 16) | MUX_PB14B_ADC0_PTCXY28) +#define PORT_PB14B_ADC0_PTCXY28 (_UL_(1) << 14) +#define PIN_PB15B_ADC0_PTCXY29 _L_(47) /**< \brief ADC0 signal: PTCXY29 on PB15 mux B */ +#define MUX_PB15B_ADC0_PTCXY29 _L_(1) +#define PINMUX_PB15B_ADC0_PTCXY29 ((PIN_PB15B_ADC0_PTCXY29 << 16) | MUX_PB15B_ADC0_PTCXY29) +#define PORT_PB15B_ADC0_PTCXY29 (_UL_(1) << 15) +#define PIN_PB00B_ADC0_PTCXY30 _L_(32) /**< \brief ADC0 signal: PTCXY30 on PB00 mux B */ +#define MUX_PB00B_ADC0_PTCXY30 _L_(1) +#define PINMUX_PB00B_ADC0_PTCXY30 ((PIN_PB00B_ADC0_PTCXY30 << 16) | MUX_PB00B_ADC0_PTCXY30) +#define PORT_PB00B_ADC0_PTCXY30 (_UL_(1) << 0) +#define PIN_PB01B_ADC0_PTCXY31 _L_(33) /**< \brief ADC0 signal: PTCXY31 on PB01 mux B */ +#define MUX_PB01B_ADC0_PTCXY31 _L_(1) +#define PINMUX_PB01B_ADC0_PTCXY31 ((PIN_PB01B_ADC0_PTCXY31 << 16) | MUX_PB01B_ADC0_PTCXY31) +#define PORT_PB01B_ADC0_PTCXY31 (_UL_(1) << 1) +/* ========== PORT definition for ADC1 peripheral ========== */ +#define PIN_PB08B_ADC1_AIN0 _L_(40) /**< \brief ADC1 signal: AIN0 on PB08 mux B */ +#define MUX_PB08B_ADC1_AIN0 _L_(1) +#define PINMUX_PB08B_ADC1_AIN0 ((PIN_PB08B_ADC1_AIN0 << 16) | MUX_PB08B_ADC1_AIN0) +#define PORT_PB08B_ADC1_AIN0 (_UL_(1) << 8) +#define PIN_PB09B_ADC1_AIN1 _L_(41) /**< \brief ADC1 signal: AIN1 on PB09 mux B */ +#define MUX_PB09B_ADC1_AIN1 _L_(1) +#define PINMUX_PB09B_ADC1_AIN1 ((PIN_PB09B_ADC1_AIN1 << 16) | MUX_PB09B_ADC1_AIN1) +#define PORT_PB09B_ADC1_AIN1 (_UL_(1) << 9) +#define PIN_PA08B_ADC1_AIN2 _L_(8) /**< \brief ADC1 signal: AIN2 on PA08 mux B */ +#define MUX_PA08B_ADC1_AIN2 _L_(1) +#define PINMUX_PA08B_ADC1_AIN2 ((PIN_PA08B_ADC1_AIN2 << 16) | MUX_PA08B_ADC1_AIN2) +#define PORT_PA08B_ADC1_AIN2 (_UL_(1) << 8) +#define PIN_PA09B_ADC1_AIN3 _L_(9) /**< \brief ADC1 signal: AIN3 on PA09 mux B */ +#define MUX_PA09B_ADC1_AIN3 _L_(1) +#define PINMUX_PA09B_ADC1_AIN3 ((PIN_PA09B_ADC1_AIN3 << 16) | MUX_PA09B_ADC1_AIN3) +#define PORT_PA09B_ADC1_AIN3 (_UL_(1) << 9) +#define PIN_PC02B_ADC1_AIN4 _L_(66) /**< \brief ADC1 signal: AIN4 on PC02 mux B */ +#define MUX_PC02B_ADC1_AIN4 _L_(1) +#define PINMUX_PC02B_ADC1_AIN4 ((PIN_PC02B_ADC1_AIN4 << 16) | MUX_PC02B_ADC1_AIN4) +#define PORT_PC02B_ADC1_AIN4 (_UL_(1) << 2) +#define PIN_PC03B_ADC1_AIN5 _L_(67) /**< \brief ADC1 signal: AIN5 on PC03 mux B */ +#define MUX_PC03B_ADC1_AIN5 _L_(1) +#define PINMUX_PC03B_ADC1_AIN5 ((PIN_PC03B_ADC1_AIN5 << 16) | MUX_PC03B_ADC1_AIN5) +#define PORT_PC03B_ADC1_AIN5 (_UL_(1) << 3) +#define PIN_PB04B_ADC1_AIN6 _L_(36) /**< \brief ADC1 signal: AIN6 on PB04 mux B */ +#define MUX_PB04B_ADC1_AIN6 _L_(1) +#define PINMUX_PB04B_ADC1_AIN6 ((PIN_PB04B_ADC1_AIN6 << 16) | MUX_PB04B_ADC1_AIN6) +#define PORT_PB04B_ADC1_AIN6 (_UL_(1) << 4) +#define PIN_PB05B_ADC1_AIN7 _L_(37) /**< \brief ADC1 signal: AIN7 on PB05 mux B */ +#define MUX_PB05B_ADC1_AIN7 _L_(1) +#define PINMUX_PB05B_ADC1_AIN7 ((PIN_PB05B_ADC1_AIN7 << 16) | MUX_PB05B_ADC1_AIN7) +#define PORT_PB05B_ADC1_AIN7 (_UL_(1) << 5) +#define PIN_PB06B_ADC1_AIN8 _L_(38) /**< \brief ADC1 signal: AIN8 on PB06 mux B */ +#define MUX_PB06B_ADC1_AIN8 _L_(1) +#define PINMUX_PB06B_ADC1_AIN8 ((PIN_PB06B_ADC1_AIN8 << 16) | MUX_PB06B_ADC1_AIN8) +#define PORT_PB06B_ADC1_AIN8 (_UL_(1) << 6) +#define PIN_PB07B_ADC1_AIN9 _L_(39) /**< \brief ADC1 signal: AIN9 on PB07 mux B */ +#define MUX_PB07B_ADC1_AIN9 _L_(1) +#define PINMUX_PB07B_ADC1_AIN9 ((PIN_PB07B_ADC1_AIN9 << 16) | MUX_PB07B_ADC1_AIN9) +#define PORT_PB07B_ADC1_AIN9 (_UL_(1) << 7) +#define PIN_PC00B_ADC1_AIN10 _L_(64) /**< \brief ADC1 signal: AIN10 on PC00 mux B */ +#define MUX_PC00B_ADC1_AIN10 _L_(1) +#define PINMUX_PC00B_ADC1_AIN10 ((PIN_PC00B_ADC1_AIN10 << 16) | MUX_PC00B_ADC1_AIN10) +#define PORT_PC00B_ADC1_AIN10 (_UL_(1) << 0) +#define PIN_PC01B_ADC1_AIN11 _L_(65) /**< \brief ADC1 signal: AIN11 on PC01 mux B */ +#define MUX_PC01B_ADC1_AIN11 _L_(1) +#define PINMUX_PC01B_ADC1_AIN11 ((PIN_PC01B_ADC1_AIN11 << 16) | MUX_PC01B_ADC1_AIN11) +#define PORT_PC01B_ADC1_AIN11 (_UL_(1) << 1) +#define PIN_PC30B_ADC1_AIN12 _L_(94) /**< \brief ADC1 signal: AIN12 on PC30 mux B */ +#define MUX_PC30B_ADC1_AIN12 _L_(1) +#define PINMUX_PC30B_ADC1_AIN12 ((PIN_PC30B_ADC1_AIN12 << 16) | MUX_PC30B_ADC1_AIN12) +#define PORT_PC30B_ADC1_AIN12 (_UL_(1) << 30) +#define PIN_PC31B_ADC1_AIN13 _L_(95) /**< \brief ADC1 signal: AIN13 on PC31 mux B */ +#define MUX_PC31B_ADC1_AIN13 _L_(1) +#define PINMUX_PC31B_ADC1_AIN13 ((PIN_PC31B_ADC1_AIN13 << 16) | MUX_PC31B_ADC1_AIN13) +#define PORT_PC31B_ADC1_AIN13 (_UL_(1) << 31) +#define PIN_PD00B_ADC1_AIN14 _L_(96) /**< \brief ADC1 signal: AIN14 on PD00 mux B */ +#define MUX_PD00B_ADC1_AIN14 _L_(1) +#define PINMUX_PD00B_ADC1_AIN14 ((PIN_PD00B_ADC1_AIN14 << 16) | MUX_PD00B_ADC1_AIN14) +#define PORT_PD00B_ADC1_AIN14 (_UL_(1) << 0) +#define PIN_PD01B_ADC1_AIN15 _L_(97) /**< \brief ADC1 signal: AIN15 on PD01 mux B */ +#define MUX_PD01B_ADC1_AIN15 _L_(1) +#define PINMUX_PD01B_ADC1_AIN15 ((PIN_PD01B_ADC1_AIN15 << 16) | MUX_PD01B_ADC1_AIN15) +#define PORT_PD01B_ADC1_AIN15 (_UL_(1) << 1) +/* ========== PORT definition for DAC peripheral ========== */ +#define PIN_PA02B_DAC_VOUT0 _L_(2) /**< \brief DAC signal: VOUT0 on PA02 mux B */ +#define MUX_PA02B_DAC_VOUT0 _L_(1) +#define PINMUX_PA02B_DAC_VOUT0 ((PIN_PA02B_DAC_VOUT0 << 16) | MUX_PA02B_DAC_VOUT0) +#define PORT_PA02B_DAC_VOUT0 (_UL_(1) << 2) +#define PIN_PA05B_DAC_VOUT1 _L_(5) /**< \brief DAC signal: VOUT1 on PA05 mux B */ +#define MUX_PA05B_DAC_VOUT1 _L_(1) +#define PINMUX_PA05B_DAC_VOUT1 ((PIN_PA05B_DAC_VOUT1 << 16) | MUX_PA05B_DAC_VOUT1) +#define PORT_PA05B_DAC_VOUT1 (_UL_(1) << 5) +/* ========== PORT definition for I2S peripheral ========== */ +#define PIN_PA09J_I2S_FS0 _L_(9) /**< \brief I2S signal: FS0 on PA09 mux J */ +#define MUX_PA09J_I2S_FS0 _L_(9) +#define PINMUX_PA09J_I2S_FS0 ((PIN_PA09J_I2S_FS0 << 16) | MUX_PA09J_I2S_FS0) +#define PORT_PA09J_I2S_FS0 (_UL_(1) << 9) +#define PIN_PA20J_I2S_FS0 _L_(20) /**< \brief I2S signal: FS0 on PA20 mux J */ +#define MUX_PA20J_I2S_FS0 _L_(9) +#define PINMUX_PA20J_I2S_FS0 ((PIN_PA20J_I2S_FS0 << 16) | MUX_PA20J_I2S_FS0) +#define PORT_PA20J_I2S_FS0 (_UL_(1) << 20) +#define PIN_PA23J_I2S_FS1 _L_(23) /**< \brief I2S signal: FS1 on PA23 mux J */ +#define MUX_PA23J_I2S_FS1 _L_(9) +#define PINMUX_PA23J_I2S_FS1 ((PIN_PA23J_I2S_FS1 << 16) | MUX_PA23J_I2S_FS1) +#define PORT_PA23J_I2S_FS1 (_UL_(1) << 23) +#define PIN_PB11J_I2S_FS1 _L_(43) /**< \brief I2S signal: FS1 on PB11 mux J */ +#define MUX_PB11J_I2S_FS1 _L_(9) +#define PINMUX_PB11J_I2S_FS1 ((PIN_PB11J_I2S_FS1 << 16) | MUX_PB11J_I2S_FS1) +#define PORT_PB11J_I2S_FS1 (_UL_(1) << 11) +#define PIN_PA08J_I2S_MCK0 _L_(8) /**< \brief I2S signal: MCK0 on PA08 mux J */ +#define MUX_PA08J_I2S_MCK0 _L_(9) +#define PINMUX_PA08J_I2S_MCK0 ((PIN_PA08J_I2S_MCK0 << 16) | MUX_PA08J_I2S_MCK0) +#define PORT_PA08J_I2S_MCK0 (_UL_(1) << 8) +#define PIN_PB17J_I2S_MCK0 _L_(49) /**< \brief I2S signal: MCK0 on PB17 mux J */ +#define MUX_PB17J_I2S_MCK0 _L_(9) +#define PINMUX_PB17J_I2S_MCK0 ((PIN_PB17J_I2S_MCK0 << 16) | MUX_PB17J_I2S_MCK0) +#define PORT_PB17J_I2S_MCK0 (_UL_(1) << 17) +#define PIN_PB29J_I2S_MCK1 _L_(61) /**< \brief I2S signal: MCK1 on PB29 mux J */ +#define MUX_PB29J_I2S_MCK1 _L_(9) +#define PINMUX_PB29J_I2S_MCK1 ((PIN_PB29J_I2S_MCK1 << 16) | MUX_PB29J_I2S_MCK1) +#define PORT_PB29J_I2S_MCK1 (_UL_(1) << 29) +#define PIN_PB13J_I2S_MCK1 _L_(45) /**< \brief I2S signal: MCK1 on PB13 mux J */ +#define MUX_PB13J_I2S_MCK1 _L_(9) +#define PINMUX_PB13J_I2S_MCK1 ((PIN_PB13J_I2S_MCK1 << 16) | MUX_PB13J_I2S_MCK1) +#define PORT_PB13J_I2S_MCK1 (_UL_(1) << 13) +#define PIN_PA10J_I2S_SCK0 _L_(10) /**< \brief I2S signal: SCK0 on PA10 mux J */ +#define MUX_PA10J_I2S_SCK0 _L_(9) +#define PINMUX_PA10J_I2S_SCK0 ((PIN_PA10J_I2S_SCK0 << 16) | MUX_PA10J_I2S_SCK0) +#define PORT_PA10J_I2S_SCK0 (_UL_(1) << 10) +#define PIN_PB16J_I2S_SCK0 _L_(48) /**< \brief I2S signal: SCK0 on PB16 mux J */ +#define MUX_PB16J_I2S_SCK0 _L_(9) +#define PINMUX_PB16J_I2S_SCK0 ((PIN_PB16J_I2S_SCK0 << 16) | MUX_PB16J_I2S_SCK0) +#define PORT_PB16J_I2S_SCK0 (_UL_(1) << 16) +#define PIN_PB28J_I2S_SCK1 _L_(60) /**< \brief I2S signal: SCK1 on PB28 mux J */ +#define MUX_PB28J_I2S_SCK1 _L_(9) +#define PINMUX_PB28J_I2S_SCK1 ((PIN_PB28J_I2S_SCK1 << 16) | MUX_PB28J_I2S_SCK1) +#define PORT_PB28J_I2S_SCK1 (_UL_(1) << 28) +#define PIN_PB12J_I2S_SCK1 _L_(44) /**< \brief I2S signal: SCK1 on PB12 mux J */ +#define MUX_PB12J_I2S_SCK1 _L_(9) +#define PINMUX_PB12J_I2S_SCK1 ((PIN_PB12J_I2S_SCK1 << 16) | MUX_PB12J_I2S_SCK1) +#define PORT_PB12J_I2S_SCK1 (_UL_(1) << 12) +#define PIN_PA22J_I2S_SDI _L_(22) /**< \brief I2S signal: SDI on PA22 mux J */ +#define MUX_PA22J_I2S_SDI _L_(9) +#define PINMUX_PA22J_I2S_SDI ((PIN_PA22J_I2S_SDI << 16) | MUX_PA22J_I2S_SDI) +#define PORT_PA22J_I2S_SDI (_UL_(1) << 22) +#define PIN_PB10J_I2S_SDI _L_(42) /**< \brief I2S signal: SDI on PB10 mux J */ +#define MUX_PB10J_I2S_SDI _L_(9) +#define PINMUX_PB10J_I2S_SDI ((PIN_PB10J_I2S_SDI << 16) | MUX_PB10J_I2S_SDI) +#define PORT_PB10J_I2S_SDI (_UL_(1) << 10) +#define PIN_PA11J_I2S_SDO _L_(11) /**< \brief I2S signal: SDO on PA11 mux J */ +#define MUX_PA11J_I2S_SDO _L_(9) +#define PINMUX_PA11J_I2S_SDO ((PIN_PA11J_I2S_SDO << 16) | MUX_PA11J_I2S_SDO) +#define PORT_PA11J_I2S_SDO (_UL_(1) << 11) +#define PIN_PA21J_I2S_SDO _L_(21) /**< \brief I2S signal: SDO on PA21 mux J */ +#define MUX_PA21J_I2S_SDO _L_(9) +#define PINMUX_PA21J_I2S_SDO ((PIN_PA21J_I2S_SDO << 16) | MUX_PA21J_I2S_SDO) +#define PORT_PA21J_I2S_SDO (_UL_(1) << 21) +/* ========== PORT definition for PCC peripheral ========== */ +#define PIN_PA14K_PCC_CLK _L_(14) /**< \brief PCC signal: CLK on PA14 mux K */ +#define MUX_PA14K_PCC_CLK _L_(10) +#define PINMUX_PA14K_PCC_CLK ((PIN_PA14K_PCC_CLK << 16) | MUX_PA14K_PCC_CLK) +#define PORT_PA14K_PCC_CLK (_UL_(1) << 14) +#define PIN_PA16K_PCC_DATA0 _L_(16) /**< \brief PCC signal: DATA0 on PA16 mux K */ +#define MUX_PA16K_PCC_DATA0 _L_(10) +#define PINMUX_PA16K_PCC_DATA0 ((PIN_PA16K_PCC_DATA0 << 16) | MUX_PA16K_PCC_DATA0) +#define PORT_PA16K_PCC_DATA0 (_UL_(1) << 16) +#define PIN_PA17K_PCC_DATA1 _L_(17) /**< \brief PCC signal: DATA1 on PA17 mux K */ +#define MUX_PA17K_PCC_DATA1 _L_(10) +#define PINMUX_PA17K_PCC_DATA1 ((PIN_PA17K_PCC_DATA1 << 16) | MUX_PA17K_PCC_DATA1) +#define PORT_PA17K_PCC_DATA1 (_UL_(1) << 17) +#define PIN_PA18K_PCC_DATA2 _L_(18) /**< \brief PCC signal: DATA2 on PA18 mux K */ +#define MUX_PA18K_PCC_DATA2 _L_(10) +#define PINMUX_PA18K_PCC_DATA2 ((PIN_PA18K_PCC_DATA2 << 16) | MUX_PA18K_PCC_DATA2) +#define PORT_PA18K_PCC_DATA2 (_UL_(1) << 18) +#define PIN_PA19K_PCC_DATA3 _L_(19) /**< \brief PCC signal: DATA3 on PA19 mux K */ +#define MUX_PA19K_PCC_DATA3 _L_(10) +#define PINMUX_PA19K_PCC_DATA3 ((PIN_PA19K_PCC_DATA3 << 16) | MUX_PA19K_PCC_DATA3) +#define PORT_PA19K_PCC_DATA3 (_UL_(1) << 19) +#define PIN_PA20K_PCC_DATA4 _L_(20) /**< \brief PCC signal: DATA4 on PA20 mux K */ +#define MUX_PA20K_PCC_DATA4 _L_(10) +#define PINMUX_PA20K_PCC_DATA4 ((PIN_PA20K_PCC_DATA4 << 16) | MUX_PA20K_PCC_DATA4) +#define PORT_PA20K_PCC_DATA4 (_UL_(1) << 20) +#define PIN_PA21K_PCC_DATA5 _L_(21) /**< \brief PCC signal: DATA5 on PA21 mux K */ +#define MUX_PA21K_PCC_DATA5 _L_(10) +#define PINMUX_PA21K_PCC_DATA5 ((PIN_PA21K_PCC_DATA5 << 16) | MUX_PA21K_PCC_DATA5) +#define PORT_PA21K_PCC_DATA5 (_UL_(1) << 21) +#define PIN_PA22K_PCC_DATA6 _L_(22) /**< \brief PCC signal: DATA6 on PA22 mux K */ +#define MUX_PA22K_PCC_DATA6 _L_(10) +#define PINMUX_PA22K_PCC_DATA6 ((PIN_PA22K_PCC_DATA6 << 16) | MUX_PA22K_PCC_DATA6) +#define PORT_PA22K_PCC_DATA6 (_UL_(1) << 22) +#define PIN_PA23K_PCC_DATA7 _L_(23) /**< \brief PCC signal: DATA7 on PA23 mux K */ +#define MUX_PA23K_PCC_DATA7 _L_(10) +#define PINMUX_PA23K_PCC_DATA7 ((PIN_PA23K_PCC_DATA7 << 16) | MUX_PA23K_PCC_DATA7) +#define PORT_PA23K_PCC_DATA7 (_UL_(1) << 23) +#define PIN_PB14K_PCC_DATA8 _L_(46) /**< \brief PCC signal: DATA8 on PB14 mux K */ +#define MUX_PB14K_PCC_DATA8 _L_(10) +#define PINMUX_PB14K_PCC_DATA8 ((PIN_PB14K_PCC_DATA8 << 16) | MUX_PB14K_PCC_DATA8) +#define PORT_PB14K_PCC_DATA8 (_UL_(1) << 14) +#define PIN_PB15K_PCC_DATA9 _L_(47) /**< \brief PCC signal: DATA9 on PB15 mux K */ +#define MUX_PB15K_PCC_DATA9 _L_(10) +#define PINMUX_PB15K_PCC_DATA9 ((PIN_PB15K_PCC_DATA9 << 16) | MUX_PB15K_PCC_DATA9) +#define PORT_PB15K_PCC_DATA9 (_UL_(1) << 15) +#define PIN_PC12K_PCC_DATA10 _L_(76) /**< \brief PCC signal: DATA10 on PC12 mux K */ +#define MUX_PC12K_PCC_DATA10 _L_(10) +#define PINMUX_PC12K_PCC_DATA10 ((PIN_PC12K_PCC_DATA10 << 16) | MUX_PC12K_PCC_DATA10) +#define PORT_PC12K_PCC_DATA10 (_UL_(1) << 12) +#define PIN_PC13K_PCC_DATA11 _L_(77) /**< \brief PCC signal: DATA11 on PC13 mux K */ +#define MUX_PC13K_PCC_DATA11 _L_(10) +#define PINMUX_PC13K_PCC_DATA11 ((PIN_PC13K_PCC_DATA11 << 16) | MUX_PC13K_PCC_DATA11) +#define PORT_PC13K_PCC_DATA11 (_UL_(1) << 13) +#define PIN_PC14K_PCC_DATA12 _L_(78) /**< \brief PCC signal: DATA12 on PC14 mux K */ +#define MUX_PC14K_PCC_DATA12 _L_(10) +#define PINMUX_PC14K_PCC_DATA12 ((PIN_PC14K_PCC_DATA12 << 16) | MUX_PC14K_PCC_DATA12) +#define PORT_PC14K_PCC_DATA12 (_UL_(1) << 14) +#define PIN_PC15K_PCC_DATA13 _L_(79) /**< \brief PCC signal: DATA13 on PC15 mux K */ +#define MUX_PC15K_PCC_DATA13 _L_(10) +#define PINMUX_PC15K_PCC_DATA13 ((PIN_PC15K_PCC_DATA13 << 16) | MUX_PC15K_PCC_DATA13) +#define PORT_PC15K_PCC_DATA13 (_UL_(1) << 15) +#define PIN_PA12K_PCC_DEN1 _L_(12) /**< \brief PCC signal: DEN1 on PA12 mux K */ +#define MUX_PA12K_PCC_DEN1 _L_(10) +#define PINMUX_PA12K_PCC_DEN1 ((PIN_PA12K_PCC_DEN1 << 16) | MUX_PA12K_PCC_DEN1) +#define PORT_PA12K_PCC_DEN1 (_UL_(1) << 12) +#define PIN_PA13K_PCC_DEN2 _L_(13) /**< \brief PCC signal: DEN2 on PA13 mux K */ +#define MUX_PA13K_PCC_DEN2 _L_(10) +#define PINMUX_PA13K_PCC_DEN2 ((PIN_PA13K_PCC_DEN2 << 16) | MUX_PA13K_PCC_DEN2) +#define PORT_PA13K_PCC_DEN2 (_UL_(1) << 13) +/* ========== PORT definition for SDHC0 peripheral ========== */ +#define PIN_PA06I_SDHC0_SDCD _L_(6) /**< \brief SDHC0 signal: SDCD on PA06 mux I */ +#define MUX_PA06I_SDHC0_SDCD _L_(8) +#define PINMUX_PA06I_SDHC0_SDCD ((PIN_PA06I_SDHC0_SDCD << 16) | MUX_PA06I_SDHC0_SDCD) +#define PORT_PA06I_SDHC0_SDCD (_UL_(1) << 6) +#define PIN_PA12I_SDHC0_SDCD _L_(12) /**< \brief SDHC0 signal: SDCD on PA12 mux I */ +#define MUX_PA12I_SDHC0_SDCD _L_(8) +#define PINMUX_PA12I_SDHC0_SDCD ((PIN_PA12I_SDHC0_SDCD << 16) | MUX_PA12I_SDHC0_SDCD) +#define PORT_PA12I_SDHC0_SDCD (_UL_(1) << 12) +#define PIN_PB12I_SDHC0_SDCD _L_(44) /**< \brief SDHC0 signal: SDCD on PB12 mux I */ +#define MUX_PB12I_SDHC0_SDCD _L_(8) +#define PINMUX_PB12I_SDHC0_SDCD ((PIN_PB12I_SDHC0_SDCD << 16) | MUX_PB12I_SDHC0_SDCD) +#define PORT_PB12I_SDHC0_SDCD (_UL_(1) << 12) +#define PIN_PC06I_SDHC0_SDCD _L_(70) /**< \brief SDHC0 signal: SDCD on PC06 mux I */ +#define MUX_PC06I_SDHC0_SDCD _L_(8) +#define PINMUX_PC06I_SDHC0_SDCD ((PIN_PC06I_SDHC0_SDCD << 16) | MUX_PC06I_SDHC0_SDCD) +#define PORT_PC06I_SDHC0_SDCD (_UL_(1) << 6) +#define PIN_PB11I_SDHC0_SDCK _L_(43) /**< \brief SDHC0 signal: SDCK on PB11 mux I */ +#define MUX_PB11I_SDHC0_SDCK _L_(8) +#define PINMUX_PB11I_SDHC0_SDCK ((PIN_PB11I_SDHC0_SDCK << 16) | MUX_PB11I_SDHC0_SDCK) +#define PORT_PB11I_SDHC0_SDCK (_UL_(1) << 11) +#define PIN_PA08I_SDHC0_SDCMD _L_(8) /**< \brief SDHC0 signal: SDCMD on PA08 mux I */ +#define MUX_PA08I_SDHC0_SDCMD _L_(8) +#define PINMUX_PA08I_SDHC0_SDCMD ((PIN_PA08I_SDHC0_SDCMD << 16) | MUX_PA08I_SDHC0_SDCMD) +#define PORT_PA08I_SDHC0_SDCMD (_UL_(1) << 8) +#define PIN_PA09I_SDHC0_SDDAT0 _L_(9) /**< \brief SDHC0 signal: SDDAT0 on PA09 mux I */ +#define MUX_PA09I_SDHC0_SDDAT0 _L_(8) +#define PINMUX_PA09I_SDHC0_SDDAT0 ((PIN_PA09I_SDHC0_SDDAT0 << 16) | MUX_PA09I_SDHC0_SDDAT0) +#define PORT_PA09I_SDHC0_SDDAT0 (_UL_(1) << 9) +#define PIN_PA10I_SDHC0_SDDAT1 _L_(10) /**< \brief SDHC0 signal: SDDAT1 on PA10 mux I */ +#define MUX_PA10I_SDHC0_SDDAT1 _L_(8) +#define PINMUX_PA10I_SDHC0_SDDAT1 ((PIN_PA10I_SDHC0_SDDAT1 << 16) | MUX_PA10I_SDHC0_SDDAT1) +#define PORT_PA10I_SDHC0_SDDAT1 (_UL_(1) << 10) +#define PIN_PA11I_SDHC0_SDDAT2 _L_(11) /**< \brief SDHC0 signal: SDDAT2 on PA11 mux I */ +#define MUX_PA11I_SDHC0_SDDAT2 _L_(8) +#define PINMUX_PA11I_SDHC0_SDDAT2 ((PIN_PA11I_SDHC0_SDDAT2 << 16) | MUX_PA11I_SDHC0_SDDAT2) +#define PORT_PA11I_SDHC0_SDDAT2 (_UL_(1) << 11) +#define PIN_PB10I_SDHC0_SDDAT3 _L_(42) /**< \brief SDHC0 signal: SDDAT3 on PB10 mux I */ +#define MUX_PB10I_SDHC0_SDDAT3 _L_(8) +#define PINMUX_PB10I_SDHC0_SDDAT3 ((PIN_PB10I_SDHC0_SDDAT3 << 16) | MUX_PB10I_SDHC0_SDDAT3) +#define PORT_PB10I_SDHC0_SDDAT3 (_UL_(1) << 10) +#define PIN_PA07I_SDHC0_SDWP _L_(7) /**< \brief SDHC0 signal: SDWP on PA07 mux I */ +#define MUX_PA07I_SDHC0_SDWP _L_(8) +#define PINMUX_PA07I_SDHC0_SDWP ((PIN_PA07I_SDHC0_SDWP << 16) | MUX_PA07I_SDHC0_SDWP) +#define PORT_PA07I_SDHC0_SDWP (_UL_(1) << 7) +#define PIN_PA13I_SDHC0_SDWP _L_(13) /**< \brief SDHC0 signal: SDWP on PA13 mux I */ +#define MUX_PA13I_SDHC0_SDWP _L_(8) +#define PINMUX_PA13I_SDHC0_SDWP ((PIN_PA13I_SDHC0_SDWP << 16) | MUX_PA13I_SDHC0_SDWP) +#define PORT_PA13I_SDHC0_SDWP (_UL_(1) << 13) +#define PIN_PB13I_SDHC0_SDWP _L_(45) /**< \brief SDHC0 signal: SDWP on PB13 mux I */ +#define MUX_PB13I_SDHC0_SDWP _L_(8) +#define PINMUX_PB13I_SDHC0_SDWP ((PIN_PB13I_SDHC0_SDWP << 16) | MUX_PB13I_SDHC0_SDWP) +#define PORT_PB13I_SDHC0_SDWP (_UL_(1) << 13) +#define PIN_PC07I_SDHC0_SDWP _L_(71) /**< \brief SDHC0 signal: SDWP on PC07 mux I */ +#define MUX_PC07I_SDHC0_SDWP _L_(8) +#define PINMUX_PC07I_SDHC0_SDWP ((PIN_PC07I_SDHC0_SDWP << 16) | MUX_PC07I_SDHC0_SDWP) +#define PORT_PC07I_SDHC0_SDWP (_UL_(1) << 7) +/* ========== PORT definition for SDHC1 peripheral ========== */ +#define PIN_PB16I_SDHC1_SDCD _L_(48) /**< \brief SDHC1 signal: SDCD on PB16 mux I */ +#define MUX_PB16I_SDHC1_SDCD _L_(8) +#define PINMUX_PB16I_SDHC1_SDCD ((PIN_PB16I_SDHC1_SDCD << 16) | MUX_PB16I_SDHC1_SDCD) +#define PORT_PB16I_SDHC1_SDCD (_UL_(1) << 16) +#define PIN_PC20I_SDHC1_SDCD _L_(84) /**< \brief SDHC1 signal: SDCD on PC20 mux I */ +#define MUX_PC20I_SDHC1_SDCD _L_(8) +#define PINMUX_PC20I_SDHC1_SDCD ((PIN_PC20I_SDHC1_SDCD << 16) | MUX_PC20I_SDHC1_SDCD) +#define PORT_PC20I_SDHC1_SDCD (_UL_(1) << 20) +#define PIN_PD20I_SDHC1_SDCD _L_(116) /**< \brief SDHC1 signal: SDCD on PD20 mux I */ +#define MUX_PD20I_SDHC1_SDCD _L_(8) +#define PINMUX_PD20I_SDHC1_SDCD ((PIN_PD20I_SDHC1_SDCD << 16) | MUX_PD20I_SDHC1_SDCD) +#define PORT_PD20I_SDHC1_SDCD (_UL_(1) << 20) +#define PIN_PA21I_SDHC1_SDCK _L_(21) /**< \brief SDHC1 signal: SDCK on PA21 mux I */ +#define MUX_PA21I_SDHC1_SDCK _L_(8) +#define PINMUX_PA21I_SDHC1_SDCK ((PIN_PA21I_SDHC1_SDCK << 16) | MUX_PA21I_SDHC1_SDCK) +#define PORT_PA21I_SDHC1_SDCK (_UL_(1) << 21) +#define PIN_PA20I_SDHC1_SDCMD _L_(20) /**< \brief SDHC1 signal: SDCMD on PA20 mux I */ +#define MUX_PA20I_SDHC1_SDCMD _L_(8) +#define PINMUX_PA20I_SDHC1_SDCMD ((PIN_PA20I_SDHC1_SDCMD << 16) | MUX_PA20I_SDHC1_SDCMD) +#define PORT_PA20I_SDHC1_SDCMD (_UL_(1) << 20) +#define PIN_PB18I_SDHC1_SDDAT0 _L_(50) /**< \brief SDHC1 signal: SDDAT0 on PB18 mux I */ +#define MUX_PB18I_SDHC1_SDDAT0 _L_(8) +#define PINMUX_PB18I_SDHC1_SDDAT0 ((PIN_PB18I_SDHC1_SDDAT0 << 16) | MUX_PB18I_SDHC1_SDDAT0) +#define PORT_PB18I_SDHC1_SDDAT0 (_UL_(1) << 18) +#define PIN_PB19I_SDHC1_SDDAT1 _L_(51) /**< \brief SDHC1 signal: SDDAT1 on PB19 mux I */ +#define MUX_PB19I_SDHC1_SDDAT1 _L_(8) +#define PINMUX_PB19I_SDHC1_SDDAT1 ((PIN_PB19I_SDHC1_SDDAT1 << 16) | MUX_PB19I_SDHC1_SDDAT1) +#define PORT_PB19I_SDHC1_SDDAT1 (_UL_(1) << 19) +#define PIN_PB20I_SDHC1_SDDAT2 _L_(52) /**< \brief SDHC1 signal: SDDAT2 on PB20 mux I */ +#define MUX_PB20I_SDHC1_SDDAT2 _L_(8) +#define PINMUX_PB20I_SDHC1_SDDAT2 ((PIN_PB20I_SDHC1_SDDAT2 << 16) | MUX_PB20I_SDHC1_SDDAT2) +#define PORT_PB20I_SDHC1_SDDAT2 (_UL_(1) << 20) +#define PIN_PB21I_SDHC1_SDDAT3 _L_(53) /**< \brief SDHC1 signal: SDDAT3 on PB21 mux I */ +#define MUX_PB21I_SDHC1_SDDAT3 _L_(8) +#define PINMUX_PB21I_SDHC1_SDDAT3 ((PIN_PB21I_SDHC1_SDDAT3 << 16) | MUX_PB21I_SDHC1_SDDAT3) +#define PORT_PB21I_SDHC1_SDDAT3 (_UL_(1) << 21) +#define PIN_PB17I_SDHC1_SDWP _L_(49) /**< \brief SDHC1 signal: SDWP on PB17 mux I */ +#define MUX_PB17I_SDHC1_SDWP _L_(8) +#define PINMUX_PB17I_SDHC1_SDWP ((PIN_PB17I_SDHC1_SDWP << 16) | MUX_PB17I_SDHC1_SDWP) +#define PORT_PB17I_SDHC1_SDWP (_UL_(1) << 17) +#define PIN_PC21I_SDHC1_SDWP _L_(85) /**< \brief SDHC1 signal: SDWP on PC21 mux I */ +#define MUX_PC21I_SDHC1_SDWP _L_(8) +#define PINMUX_PC21I_SDHC1_SDWP ((PIN_PC21I_SDHC1_SDWP << 16) | MUX_PC21I_SDHC1_SDWP) +#define PORT_PC21I_SDHC1_SDWP (_UL_(1) << 21) +#define PIN_PD21I_SDHC1_SDWP _L_(117) /**< \brief SDHC1 signal: SDWP on PD21 mux I */ +#define MUX_PD21I_SDHC1_SDWP _L_(8) +#define PINMUX_PD21I_SDHC1_SDWP ((PIN_PD21I_SDHC1_SDWP << 16) | MUX_PD21I_SDHC1_SDWP) +#define PORT_PD21I_SDHC1_SDWP (_UL_(1) << 21) + +#endif /* _SAME54P20A_PIO_ */ diff --git a/lib/same54/include/sam.h b/lib/same54/include/sam.h new file mode 100644 index 00000000..0ac42994 --- /dev/null +++ b/lib/same54/include/sam.h @@ -0,0 +1,44 @@ +/** + * \file + * + * \brief Top level header file + * + * Copyright (c) 2017 Atmel Corporation, a wholly owned subsidiary of Microchip Technology Inc. + * + * \license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \license_stop + * + */ + +#ifndef _SAM_ +#define _SAM_ + +#if defined(__SAME54N19A__) || defined(__ATSAME54N19A__) + #include "same54n19a.h" +#elif defined(__SAME54N20A__) || defined(__ATSAME54N20A__) + #include "same54n20a.h" +#elif defined(__SAME54P19A__) || defined(__ATSAME54P19A__) + #include "same54p19a.h" +#elif defined(__SAME54P20A__) || defined(__ATSAME54P20A__) + #include "same54p20a.h" +#else + #error Library does not support the specified device +#endif + +#endif /* _SAM_ */ + diff --git a/lib/same54/include/same54.h b/lib/same54/include/same54.h new file mode 100644 index 00000000..945f5dc5 --- /dev/null +++ b/lib/same54/include/same54.h @@ -0,0 +1,49 @@ +/** + * \file + * + * \brief Top header file for SAME54 + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54_ +#define _SAME54_ + +/** + * \defgroup SAME54_definitions SAME54 Device Definitions + * \brief SAME54 CMSIS Definitions. + */ + +#if defined(__SAME54N19A__) || defined(__ATSAME54N19A__) + #include "same54n19a.h" +#elif defined(__SAME54N20A__) || defined(__ATSAME54N20A__) + #include "same54n20a.h" +#elif defined(__SAME54P19A__) || defined(__ATSAME54P19A__) + #include "same54p19a.h" +#elif defined(__SAME54P20A__) || defined(__ATSAME54P20A__) + #include "same54p20a.h" +#else + #error Library does not support the specified device. +#endif + +#endif /* _SAME54_ */ diff --git a/lib/same54/include/same54n19a.h b/lib/same54/include/same54n19a.h new file mode 100644 index 00000000..733acfe5 --- /dev/null +++ b/lib/same54/include/same54n19a.h @@ -0,0 +1,1145 @@ +/** + * \file + * + * \brief Header file for SAME54N19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54N19A_ +#define _SAME54N19A_ + +/** + * \ingroup SAME54_definitions + * \addtogroup SAME54N19A_definitions SAME54N19A definitions + * This file defines all structures and symbols for SAME54N19A: + * - registers and bitfields + * - peripheral base address + * - peripheral ID + * - PIO definitions +*/ +/*@{*/ + +#ifdef __cplusplus + extern "C" { +#endif + +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +#include +#ifndef __cplusplus +typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ +typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ +typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ +#else +typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ +typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ +typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ +#endif +typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ +typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */ +typedef volatile uint8_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */ +typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ +typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */ +typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */ +#endif + +#if !defined(SKIP_INTEGER_LITERALS) +#if defined(_U_) || defined(_L_) || defined(_UL_) + #error "Integer Literals macros already defined elsewhere" +#endif + +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +/* Macros that deal with adding suffixes to integer literal constants for C/C++ */ +#define _U_(x) x ## U /**< C code: Unsigned integer literal constant value */ +#define _L_(x) x ## L /**< C code: Long integer literal constant value */ +#define _UL_(x) x ## UL /**< C code: Unsigned Long integer literal constant value */ +#else /* Assembler */ +#define _U_(x) x /**< Assembler: Unsigned integer literal constant value */ +#define _L_(x) x /**< Assembler: Long integer literal constant value */ +#define _UL_(x) x /**< Assembler: Unsigned Long integer literal constant value */ +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ +#endif /* SKIP_INTEGER_LITERALS */ + +/* ************************************************************************** */ +/** CMSIS DEFINITIONS FOR SAME54N19A */ +/* ************************************************************************** */ +/** \defgroup SAME54N19A_cmsis CMSIS Definitions */ +/*@{*/ + +/** Interrupt Number Definition */ +typedef enum IRQn +{ + /****** Cortex-M4 Processor Exceptions Numbers ******************************/ + NonMaskableInt_IRQn = -14,/**< 2 Non Maskable Interrupt */ + HardFault_IRQn = -13,/**< 3 Cortex-M4 Hard Fault Interrupt */ + MemoryManagement_IRQn = -12,/**< 4 Cortex-M4 Memory Management Interrupt */ + BusFault_IRQn = -11,/**< 5 Cortex-M4 Bus Fault Interrupt */ + UsageFault_IRQn = -10,/**< 6 Cortex-M4 Usage Fault Interrupt */ + SVCall_IRQn = -5, /**< 11 Cortex-M4 SV Call Interrupt */ + DebugMonitor_IRQn = -4, /**< 12 Cortex-M4 Debug Monitor Interrupt */ + PendSV_IRQn = -2, /**< 14 Cortex-M4 Pend SV Interrupt */ + SysTick_IRQn = -1, /**< 15 Cortex-M4 System Tick Interrupt */ + /****** SAME54N19A-specific Interrupt Numbers ***********************/ + PM_IRQn = 0, /**< 0 SAME54N19A Power Manager (PM) */ + MCLK_IRQn = 1, /**< 1 SAME54N19A Main Clock (MCLK) */ + OSCCTRL_0_IRQn = 2, /**< 2 SAME54N19A Oscillators Control (OSCCTRL): OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ + OSCCTRL_1_IRQn = 3, /**< 3 SAME54N19A Oscillators Control (OSCCTRL): OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ + OSCCTRL_2_IRQn = 4, /**< 4 SAME54N19A Oscillators Control (OSCCTRL): OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, OSCCTRL_DFLLRDY */ + OSCCTRL_3_IRQn = 5, /**< 5 SAME54N19A Oscillators Control (OSCCTRL): OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ + OSCCTRL_4_IRQn = 6, /**< 6 SAME54N19A Oscillators Control (OSCCTRL): OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ + OSC32KCTRL_IRQn = 7, /**< 7 SAME54N19A 32kHz Oscillators Control (OSC32KCTRL) */ + SUPC_0_IRQn = 8, /**< 8 SAME54N19A Supply Controller (SUPC): SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY */ + SUPC_1_IRQn = 9, /**< 9 SAME54N19A Supply Controller (SUPC): SUPC_BOD12DET, SUPC_BOD33DET */ + WDT_IRQn = 10, /**< 10 SAME54N19A Watchdog Timer (WDT) */ + RTC_IRQn = 11, /**< 11 SAME54N19A Real-Time Counter (RTC) */ + EIC_0_IRQn = 12, /**< 12 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_0 */ + EIC_1_IRQn = 13, /**< 13 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_1 */ + EIC_2_IRQn = 14, /**< 14 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_2 */ + EIC_3_IRQn = 15, /**< 15 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_3 */ + EIC_4_IRQn = 16, /**< 16 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_4 */ + EIC_5_IRQn = 17, /**< 17 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_5 */ + EIC_6_IRQn = 18, /**< 18 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_6 */ + EIC_7_IRQn = 19, /**< 19 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_7 */ + EIC_8_IRQn = 20, /**< 20 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_8 */ + EIC_9_IRQn = 21, /**< 21 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_9 */ + EIC_10_IRQn = 22, /**< 22 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_10 */ + EIC_11_IRQn = 23, /**< 23 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_11 */ + EIC_12_IRQn = 24, /**< 24 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_12 */ + EIC_13_IRQn = 25, /**< 25 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_13 */ + EIC_14_IRQn = 26, /**< 26 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_14 */ + EIC_15_IRQn = 27, /**< 27 SAME54N19A External Interrupt Controller (EIC): EIC_EXTINT_15 */ + FREQM_IRQn = 28, /**< 28 SAME54N19A Frequency Meter (FREQM) */ + NVMCTRL_0_IRQn = 29, /**< 29 SAME54N19A Non-Volatile Memory Controller (NVMCTRL): NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, NVMCTRL_7 */ + NVMCTRL_1_IRQn = 30, /**< 30 SAME54N19A Non-Volatile Memory Controller (NVMCTRL): NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ + DMAC_0_IRQn = 31, /**< 31 SAME54N19A Direct Memory Access Controller (DMAC): DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ + DMAC_1_IRQn = 32, /**< 32 SAME54N19A Direct Memory Access Controller (DMAC): DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ + DMAC_2_IRQn = 33, /**< 33 SAME54N19A Direct Memory Access Controller (DMAC): DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ + DMAC_3_IRQn = 34, /**< 34 SAME54N19A Direct Memory Access Controller (DMAC): DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ + DMAC_4_IRQn = 35, /**< 35 SAME54N19A Direct Memory Access Controller (DMAC): DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ + EVSYS_0_IRQn = 36, /**< 36 SAME54N19A Event System Interface (EVSYS): EVSYS_EVD_0, EVSYS_OVR_0 */ + EVSYS_1_IRQn = 37, /**< 37 SAME54N19A Event System Interface (EVSYS): EVSYS_EVD_1, EVSYS_OVR_1 */ + EVSYS_2_IRQn = 38, /**< 38 SAME54N19A Event System Interface (EVSYS): EVSYS_EVD_2, EVSYS_OVR_2 */ + EVSYS_3_IRQn = 39, /**< 39 SAME54N19A Event System Interface (EVSYS): EVSYS_EVD_3, EVSYS_OVR_3 */ + EVSYS_4_IRQn = 40, /**< 40 SAME54N19A Event System Interface (EVSYS): EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ + PAC_IRQn = 41, /**< 41 SAME54N19A Peripheral Access Controller (PAC) */ + TAL_0_IRQn = 42, /**< 42 SAME54N19A Trigger Allocator (TAL): TAL_BRK */ + TAL_1_IRQn = 43, /**< 43 SAME54N19A Trigger Allocator (TAL): TAL_IPS_0, TAL_IPS_1 */ + RAMECC_IRQn = 45, /**< 45 SAME54N19A RAM ECC (RAMECC) */ + SERCOM0_0_IRQn = 46, /**< 46 SAME54N19A Serial Communication Interface 0 (SERCOM0): SERCOM0_0 */ + SERCOM0_1_IRQn = 47, /**< 47 SAME54N19A Serial Communication Interface 0 (SERCOM0): SERCOM0_1 */ + SERCOM0_2_IRQn = 48, /**< 48 SAME54N19A Serial Communication Interface 0 (SERCOM0): SERCOM0_2 */ + SERCOM0_3_IRQn = 49, /**< 49 SAME54N19A Serial Communication Interface 0 (SERCOM0): SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ + SERCOM1_0_IRQn = 50, /**< 50 SAME54N19A Serial Communication Interface 1 (SERCOM1): SERCOM1_0 */ + SERCOM1_1_IRQn = 51, /**< 51 SAME54N19A Serial Communication Interface 1 (SERCOM1): SERCOM1_1 */ + SERCOM1_2_IRQn = 52, /**< 52 SAME54N19A Serial Communication Interface 1 (SERCOM1): SERCOM1_2 */ + SERCOM1_3_IRQn = 53, /**< 53 SAME54N19A Serial Communication Interface 1 (SERCOM1): SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ + SERCOM2_0_IRQn = 54, /**< 54 SAME54N19A Serial Communication Interface 2 (SERCOM2): SERCOM2_0 */ + SERCOM2_1_IRQn = 55, /**< 55 SAME54N19A Serial Communication Interface 2 (SERCOM2): SERCOM2_1 */ + SERCOM2_2_IRQn = 56, /**< 56 SAME54N19A Serial Communication Interface 2 (SERCOM2): SERCOM2_2 */ + SERCOM2_3_IRQn = 57, /**< 57 SAME54N19A Serial Communication Interface 2 (SERCOM2): SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ + SERCOM3_0_IRQn = 58, /**< 58 SAME54N19A Serial Communication Interface 3 (SERCOM3): SERCOM3_0 */ + SERCOM3_1_IRQn = 59, /**< 59 SAME54N19A Serial Communication Interface 3 (SERCOM3): SERCOM3_1 */ + SERCOM3_2_IRQn = 60, /**< 60 SAME54N19A Serial Communication Interface 3 (SERCOM3): SERCOM3_2 */ + SERCOM3_3_IRQn = 61, /**< 61 SAME54N19A Serial Communication Interface 3 (SERCOM3): SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ + SERCOM4_0_IRQn = 62, /**< 62 SAME54N19A Serial Communication Interface 4 (SERCOM4): SERCOM4_0 */ + SERCOM4_1_IRQn = 63, /**< 63 SAME54N19A Serial Communication Interface 4 (SERCOM4): SERCOM4_1 */ + SERCOM4_2_IRQn = 64, /**< 64 SAME54N19A Serial Communication Interface 4 (SERCOM4): SERCOM4_2 */ + SERCOM4_3_IRQn = 65, /**< 65 SAME54N19A Serial Communication Interface 4 (SERCOM4): SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ + SERCOM5_0_IRQn = 66, /**< 66 SAME54N19A Serial Communication Interface 5 (SERCOM5): SERCOM5_0 */ + SERCOM5_1_IRQn = 67, /**< 67 SAME54N19A Serial Communication Interface 5 (SERCOM5): SERCOM5_1 */ + SERCOM5_2_IRQn = 68, /**< 68 SAME54N19A Serial Communication Interface 5 (SERCOM5): SERCOM5_2 */ + SERCOM5_3_IRQn = 69, /**< 69 SAME54N19A Serial Communication Interface 5 (SERCOM5): SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ + SERCOM6_0_IRQn = 70, /**< 70 SAME54N19A Serial Communication Interface 6 (SERCOM6): SERCOM6_0 */ + SERCOM6_1_IRQn = 71, /**< 71 SAME54N19A Serial Communication Interface 6 (SERCOM6): SERCOM6_1 */ + SERCOM6_2_IRQn = 72, /**< 72 SAME54N19A Serial Communication Interface 6 (SERCOM6): SERCOM6_2 */ + SERCOM6_3_IRQn = 73, /**< 73 SAME54N19A Serial Communication Interface 6 (SERCOM6): SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ + SERCOM7_0_IRQn = 74, /**< 74 SAME54N19A Serial Communication Interface 7 (SERCOM7): SERCOM7_0 */ + SERCOM7_1_IRQn = 75, /**< 75 SAME54N19A Serial Communication Interface 7 (SERCOM7): SERCOM7_1 */ + SERCOM7_2_IRQn = 76, /**< 76 SAME54N19A Serial Communication Interface 7 (SERCOM7): SERCOM7_2 */ + SERCOM7_3_IRQn = 77, /**< 77 SAME54N19A Serial Communication Interface 7 (SERCOM7): SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ + CAN0_IRQn = 78, /**< 78 SAME54N19A Control Area Network 0 (CAN0) */ + CAN1_IRQn = 79, /**< 79 SAME54N19A Control Area Network 1 (CAN1) */ + USB_0_IRQn = 80, /**< 80 SAME54N19A Universal Serial Bus (USB): USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ + USB_1_IRQn = 81, /**< 81 SAME54N19A Universal Serial Bus (USB): USB_SOF_HSOF */ + USB_2_IRQn = 82, /**< 82 SAME54N19A Universal Serial Bus (USB): USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ + USB_3_IRQn = 83, /**< 83 SAME54N19A Universal Serial Bus (USB): USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ + GMAC_IRQn = 84, /**< 84 SAME54N19A Ethernet MAC (GMAC) */ + TCC0_0_IRQn = 85, /**< 85 SAME54N19A Timer Counter Control 0 (TCC0): TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ + TCC0_1_IRQn = 86, /**< 86 SAME54N19A Timer Counter Control 0 (TCC0): TCC0_MC_0 */ + TCC0_2_IRQn = 87, /**< 87 SAME54N19A Timer Counter Control 0 (TCC0): TCC0_MC_1 */ + TCC0_3_IRQn = 88, /**< 88 SAME54N19A Timer Counter Control 0 (TCC0): TCC0_MC_2 */ + TCC0_4_IRQn = 89, /**< 89 SAME54N19A Timer Counter Control 0 (TCC0): TCC0_MC_3 */ + TCC0_5_IRQn = 90, /**< 90 SAME54N19A Timer Counter Control 0 (TCC0): TCC0_MC_4 */ + TCC0_6_IRQn = 91, /**< 91 SAME54N19A Timer Counter Control 0 (TCC0): TCC0_MC_5 */ + TCC1_0_IRQn = 92, /**< 92 SAME54N19A Timer Counter Control 1 (TCC1): TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ + TCC1_1_IRQn = 93, /**< 93 SAME54N19A Timer Counter Control 1 (TCC1): TCC1_MC_0 */ + TCC1_2_IRQn = 94, /**< 94 SAME54N19A Timer Counter Control 1 (TCC1): TCC1_MC_1 */ + TCC1_3_IRQn = 95, /**< 95 SAME54N19A Timer Counter Control 1 (TCC1): TCC1_MC_2 */ + TCC1_4_IRQn = 96, /**< 96 SAME54N19A Timer Counter Control 1 (TCC1): TCC1_MC_3 */ + TCC2_0_IRQn = 97, /**< 97 SAME54N19A Timer Counter Control 2 (TCC2): TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ + TCC2_1_IRQn = 98, /**< 98 SAME54N19A Timer Counter Control 2 (TCC2): TCC2_MC_0 */ + TCC2_2_IRQn = 99, /**< 99 SAME54N19A Timer Counter Control 2 (TCC2): TCC2_MC_1 */ + TCC2_3_IRQn = 100, /**< 100 SAME54N19A Timer Counter Control 2 (TCC2): TCC2_MC_2 */ + TCC3_0_IRQn = 101, /**< 101 SAME54N19A Timer Counter Control 3 (TCC3): TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ + TCC3_1_IRQn = 102, /**< 102 SAME54N19A Timer Counter Control 3 (TCC3): TCC3_MC_0 */ + TCC3_2_IRQn = 103, /**< 103 SAME54N19A Timer Counter Control 3 (TCC3): TCC3_MC_1 */ + TCC4_0_IRQn = 104, /**< 104 SAME54N19A Timer Counter Control 4 (TCC4): TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ + TCC4_1_IRQn = 105, /**< 105 SAME54N19A Timer Counter Control 4 (TCC4): TCC4_MC_0 */ + TCC4_2_IRQn = 106, /**< 106 SAME54N19A Timer Counter Control 4 (TCC4): TCC4_MC_1 */ + TC0_IRQn = 107, /**< 107 SAME54N19A Basic Timer Counter 0 (TC0) */ + TC1_IRQn = 108, /**< 108 SAME54N19A Basic Timer Counter 1 (TC1) */ + TC2_IRQn = 109, /**< 109 SAME54N19A Basic Timer Counter 2 (TC2) */ + TC3_IRQn = 110, /**< 110 SAME54N19A Basic Timer Counter 3 (TC3) */ + TC4_IRQn = 111, /**< 111 SAME54N19A Basic Timer Counter 4 (TC4) */ + TC5_IRQn = 112, /**< 112 SAME54N19A Basic Timer Counter 5 (TC5) */ + TC6_IRQn = 113, /**< 113 SAME54N19A Basic Timer Counter 6 (TC6) */ + TC7_IRQn = 114, /**< 114 SAME54N19A Basic Timer Counter 7 (TC7) */ + PDEC_0_IRQn = 115, /**< 115 SAME54N19A Quadrature Decodeur (PDEC): PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ + PDEC_1_IRQn = 116, /**< 116 SAME54N19A Quadrature Decodeur (PDEC): PDEC_MC_0 */ + PDEC_2_IRQn = 117, /**< 117 SAME54N19A Quadrature Decodeur (PDEC): PDEC_MC_1 */ + ADC0_0_IRQn = 118, /**< 118 SAME54N19A Analog Digital Converter 0 (ADC0): ADC0_OVERRUN, ADC0_WINMON */ + ADC0_1_IRQn = 119, /**< 119 SAME54N19A Analog Digital Converter 0 (ADC0): ADC0_RESRDY */ + ADC1_0_IRQn = 120, /**< 120 SAME54N19A Analog Digital Converter 1 (ADC1): ADC1_OVERRUN, ADC1_WINMON */ + ADC1_1_IRQn = 121, /**< 121 SAME54N19A Analog Digital Converter 1 (ADC1): ADC1_RESRDY */ + AC_IRQn = 122, /**< 122 SAME54N19A Analog Comparators (AC) */ + DAC_0_IRQn = 123, /**< 123 SAME54N19A Digital-to-Analog Converter (DAC): DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ + DAC_1_IRQn = 124, /**< 124 SAME54N19A Digital-to-Analog Converter (DAC): DAC_EMPTY_0 */ + DAC_2_IRQn = 125, /**< 125 SAME54N19A Digital-to-Analog Converter (DAC): DAC_EMPTY_1 */ + DAC_3_IRQn = 126, /**< 126 SAME54N19A Digital-to-Analog Converter (DAC): DAC_RESRDY_0 */ + DAC_4_IRQn = 127, /**< 127 SAME54N19A Digital-to-Analog Converter (DAC): DAC_RESRDY_1 */ + I2S_IRQn = 128, /**< 128 SAME54N19A Inter-IC Sound Interface (I2S) */ + PCC_IRQn = 129, /**< 129 SAME54N19A Parallel Capture Controller (PCC) */ + AES_IRQn = 130, /**< 130 SAME54N19A Advanced Encryption Standard (AES) */ + TRNG_IRQn = 131, /**< 131 SAME54N19A True Random Generator (TRNG) */ + ICM_IRQn = 132, /**< 132 SAME54N19A Integrity Check Monitor (ICM) */ + PUKCC_IRQn = 133, /**< 133 SAME54N19A PUblic-Key Cryptography Controller (PUKCC) */ + QSPI_IRQn = 134, /**< 134 SAME54N19A Quad SPI interface (QSPI) */ + SDHC0_IRQn = 135, /**< 135 SAME54N19A SD/MMC Host Controller 0 (SDHC0) */ + SDHC1_IRQn = 136, /**< 136 SAME54N19A SD/MMC Host Controller 1 (SDHC1) */ + + PERIPH_COUNT_IRQn = 137 /**< Number of peripheral IDs */ +} IRQn_Type; + +typedef struct _DeviceVectors +{ + /* Stack pointer */ + void* pvStack; + + /* Cortex-M handlers */ + void* pfnReset_Handler; + void* pfnNMI_Handler; + void* pfnHardFault_Handler; + void* pfnMemManage_Handler; + void* pfnBusFault_Handler; + void* pfnUsageFault_Handler; + void* pvReservedM9; + void* pvReservedM8; + void* pvReservedM7; + void* pvReservedM6; + void* pfnSVC_Handler; + void* pfnDebugMon_Handler; + void* pvReservedM3; + void* pfnPendSV_Handler; + void* pfnSysTick_Handler; + + /* Peripheral handlers */ + void* pfnPM_Handler; /* 0 Power Manager */ + void* pfnMCLK_Handler; /* 1 Main Clock */ + void* pfnOSCCTRL_0_Handler; /* 2 Oscillators Control IRQ 0 */ + void* pfnOSCCTRL_1_Handler; /* 3 Oscillators Control IRQ 1 */ + void* pfnOSCCTRL_2_Handler; /* 4 Oscillators Control IRQ 2 */ + void* pfnOSCCTRL_3_Handler; /* 5 Oscillators Control IRQ 3 */ + void* pfnOSCCTRL_4_Handler; /* 6 Oscillators Control IRQ 4 */ + void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control */ + void* pfnSUPC_0_Handler; /* 8 Supply Controller IRQ 0 */ + void* pfnSUPC_1_Handler; /* 9 Supply Controller IRQ 1 */ + void* pfnWDT_Handler; /* 10 Watchdog Timer */ + void* pfnRTC_Handler; /* 11 Real-Time Counter */ + void* pfnEIC_0_Handler; /* 12 External Interrupt Controller IRQ 0 */ + void* pfnEIC_1_Handler; /* 13 External Interrupt Controller IRQ 1 */ + void* pfnEIC_2_Handler; /* 14 External Interrupt Controller IRQ 2 */ + void* pfnEIC_3_Handler; /* 15 External Interrupt Controller IRQ 3 */ + void* pfnEIC_4_Handler; /* 16 External Interrupt Controller IRQ 4 */ + void* pfnEIC_5_Handler; /* 17 External Interrupt Controller IRQ 5 */ + void* pfnEIC_6_Handler; /* 18 External Interrupt Controller IRQ 6 */ + void* pfnEIC_7_Handler; /* 19 External Interrupt Controller IRQ 7 */ + void* pfnEIC_8_Handler; /* 20 External Interrupt Controller IRQ 8 */ + void* pfnEIC_9_Handler; /* 21 External Interrupt Controller IRQ 9 */ + void* pfnEIC_10_Handler; /* 22 External Interrupt Controller IRQ 10 */ + void* pfnEIC_11_Handler; /* 23 External Interrupt Controller IRQ 11 */ + void* pfnEIC_12_Handler; /* 24 External Interrupt Controller IRQ 12 */ + void* pfnEIC_13_Handler; /* 25 External Interrupt Controller IRQ 13 */ + void* pfnEIC_14_Handler; /* 26 External Interrupt Controller IRQ 14 */ + void* pfnEIC_15_Handler; /* 27 External Interrupt Controller IRQ 15 */ + void* pfnFREQM_Handler; /* 28 Frequency Meter */ + void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller IRQ 0 */ + void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller IRQ 1 */ + void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller IRQ 0 */ + void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller IRQ 1 */ + void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller IRQ 2 */ + void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller IRQ 3 */ + void* pfnDMAC_4_Handler; /* 35 Direct Memory Access Controller IRQ 4 */ + void* pfnEVSYS_0_Handler; /* 36 Event System Interface IRQ 0 */ + void* pfnEVSYS_1_Handler; /* 37 Event System Interface IRQ 1 */ + void* pfnEVSYS_2_Handler; /* 38 Event System Interface IRQ 2 */ + void* pfnEVSYS_3_Handler; /* 39 Event System Interface IRQ 3 */ + void* pfnEVSYS_4_Handler; /* 40 Event System Interface IRQ 4 */ + void* pfnPAC_Handler; /* 41 Peripheral Access Controller */ + void* pfnTAL_0_Handler; /* 42 Trigger Allocator IRQ 0 */ + void* pfnTAL_1_Handler; /* 43 Trigger Allocator IRQ 1 */ + void* pvReserved44; + void* pfnRAMECC_Handler; /* 45 RAM ECC */ + void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface 0 IRQ 0 */ + void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface 0 IRQ 1 */ + void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface 0 IRQ 2 */ + void* pfnSERCOM0_3_Handler; /* 49 Serial Communication Interface 0 IRQ 3 */ + void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface 1 IRQ 0 */ + void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface 1 IRQ 1 */ + void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface 1 IRQ 2 */ + void* pfnSERCOM1_3_Handler; /* 53 Serial Communication Interface 1 IRQ 3 */ + void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface 2 IRQ 0 */ + void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface 2 IRQ 1 */ + void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface 2 IRQ 2 */ + void* pfnSERCOM2_3_Handler; /* 57 Serial Communication Interface 2 IRQ 3 */ + void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface 3 IRQ 0 */ + void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface 3 IRQ 1 */ + void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface 3 IRQ 2 */ + void* pfnSERCOM3_3_Handler; /* 61 Serial Communication Interface 3 IRQ 3 */ + void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface 4 IRQ 0 */ + void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface 4 IRQ 1 */ + void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface 4 IRQ 2 */ + void* pfnSERCOM4_3_Handler; /* 65 Serial Communication Interface 4 IRQ 3 */ + void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface 5 IRQ 0 */ + void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface 5 IRQ 1 */ + void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface 5 IRQ 2 */ + void* pfnSERCOM5_3_Handler; /* 69 Serial Communication Interface 5 IRQ 3 */ + void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface 6 IRQ 0 */ + void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface 6 IRQ 1 */ + void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface 6 IRQ 2 */ + void* pfnSERCOM6_3_Handler; /* 73 Serial Communication Interface 6 IRQ 3 */ + void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface 7 IRQ 0 */ + void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface 7 IRQ 1 */ + void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface 7 IRQ 2 */ + void* pfnSERCOM7_3_Handler; /* 77 Serial Communication Interface 7 IRQ 3 */ + void* pfnCAN0_Handler; /* 78 Control Area Network 0 */ + void* pfnCAN1_Handler; /* 79 Control Area Network 1 */ + void* pfnUSB_0_Handler; /* 80 Universal Serial Bus IRQ 0 */ + void* pfnUSB_1_Handler; /* 81 Universal Serial Bus IRQ 1 */ + void* pfnUSB_2_Handler; /* 82 Universal Serial Bus IRQ 2 */ + void* pfnUSB_3_Handler; /* 83 Universal Serial Bus IRQ 3 */ + void* pfnGMAC_Handler; /* 84 Ethernet MAC */ + void* pfnTCC0_0_Handler; /* 85 Timer Counter Control 0 IRQ 0 */ + void* pfnTCC0_1_Handler; /* 86 Timer Counter Control 0 IRQ 1 */ + void* pfnTCC0_2_Handler; /* 87 Timer Counter Control 0 IRQ 2 */ + void* pfnTCC0_3_Handler; /* 88 Timer Counter Control 0 IRQ 3 */ + void* pfnTCC0_4_Handler; /* 89 Timer Counter Control 0 IRQ 4 */ + void* pfnTCC0_5_Handler; /* 90 Timer Counter Control 0 IRQ 5 */ + void* pfnTCC0_6_Handler; /* 91 Timer Counter Control 0 IRQ 6 */ + void* pfnTCC1_0_Handler; /* 92 Timer Counter Control 1 IRQ 0 */ + void* pfnTCC1_1_Handler; /* 93 Timer Counter Control 1 IRQ 1 */ + void* pfnTCC1_2_Handler; /* 94 Timer Counter Control 1 IRQ 2 */ + void* pfnTCC1_3_Handler; /* 95 Timer Counter Control 1 IRQ 3 */ + void* pfnTCC1_4_Handler; /* 96 Timer Counter Control 1 IRQ 4 */ + void* pfnTCC2_0_Handler; /* 97 Timer Counter Control 2 IRQ 0 */ + void* pfnTCC2_1_Handler; /* 98 Timer Counter Control 2 IRQ 1 */ + void* pfnTCC2_2_Handler; /* 99 Timer Counter Control 2 IRQ 2 */ + void* pfnTCC2_3_Handler; /* 100 Timer Counter Control 2 IRQ 3 */ + void* pfnTCC3_0_Handler; /* 101 Timer Counter Control 3 IRQ 0 */ + void* pfnTCC3_1_Handler; /* 102 Timer Counter Control 3 IRQ 1 */ + void* pfnTCC3_2_Handler; /* 103 Timer Counter Control 3 IRQ 2 */ + void* pfnTCC4_0_Handler; /* 104 Timer Counter Control 4 IRQ 0 */ + void* pfnTCC4_1_Handler; /* 105 Timer Counter Control 4 IRQ 1 */ + void* pfnTCC4_2_Handler; /* 106 Timer Counter Control 4 IRQ 2 */ + void* pfnTC0_Handler; /* 107 Basic Timer Counter 0 */ + void* pfnTC1_Handler; /* 108 Basic Timer Counter 1 */ + void* pfnTC2_Handler; /* 109 Basic Timer Counter 2 */ + void* pfnTC3_Handler; /* 110 Basic Timer Counter 3 */ + void* pfnTC4_Handler; /* 111 Basic Timer Counter 4 */ + void* pfnTC5_Handler; /* 112 Basic Timer Counter 5 */ + void* pfnTC6_Handler; /* 113 Basic Timer Counter 6 */ + void* pfnTC7_Handler; /* 114 Basic Timer Counter 7 */ + void* pfnPDEC_0_Handler; /* 115 Quadrature Decodeur IRQ 0 */ + void* pfnPDEC_1_Handler; /* 116 Quadrature Decodeur IRQ 1 */ + void* pfnPDEC_2_Handler; /* 117 Quadrature Decodeur IRQ 2 */ + void* pfnADC0_0_Handler; /* 118 Analog Digital Converter 0 IRQ 0 */ + void* pfnADC0_1_Handler; /* 119 Analog Digital Converter 0 IRQ 1 */ + void* pfnADC1_0_Handler; /* 120 Analog Digital Converter 1 IRQ 0 */ + void* pfnADC1_1_Handler; /* 121 Analog Digital Converter 1 IRQ 1 */ + void* pfnAC_Handler; /* 122 Analog Comparators */ + void* pfnDAC_0_Handler; /* 123 Digital-to-Analog Converter IRQ 0 */ + void* pfnDAC_1_Handler; /* 124 Digital-to-Analog Converter IRQ 1 */ + void* pfnDAC_2_Handler; /* 125 Digital-to-Analog Converter IRQ 2 */ + void* pfnDAC_3_Handler; /* 126 Digital-to-Analog Converter IRQ 3 */ + void* pfnDAC_4_Handler; /* 127 Digital-to-Analog Converter IRQ 4 */ + void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface */ + void* pfnPCC_Handler; /* 129 Parallel Capture Controller */ + void* pfnAES_Handler; /* 130 Advanced Encryption Standard */ + void* pfnTRNG_Handler; /* 131 True Random Generator */ + void* pfnICM_Handler; /* 132 Integrity Check Monitor */ + void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller */ + void* pfnQSPI_Handler; /* 134 Quad SPI interface */ + void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller 0 */ + void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller 1 */ +} DeviceVectors; + +/* Cortex-M4 processor handlers */ +void Reset_Handler ( void ); +void NMI_Handler ( void ); +void HardFault_Handler ( void ); +void MemManage_Handler ( void ); +void BusFault_Handler ( void ); +void UsageFault_Handler ( void ); +void SVC_Handler ( void ); +void DebugMon_Handler ( void ); +void PendSV_Handler ( void ); +void SysTick_Handler ( void ); + +/* Peripherals handlers */ +void PM_Handler ( void ); +void MCLK_Handler ( void ); +void OSCCTRL_0_Handler ( void ); +void OSCCTRL_1_Handler ( void ); +void OSCCTRL_2_Handler ( void ); +void OSCCTRL_3_Handler ( void ); +void OSCCTRL_4_Handler ( void ); +void OSC32KCTRL_Handler ( void ); +void SUPC_0_Handler ( void ); +void SUPC_1_Handler ( void ); +void WDT_Handler ( void ); +void RTC_Handler ( void ); +void EIC_0_Handler ( void ); +void EIC_1_Handler ( void ); +void EIC_2_Handler ( void ); +void EIC_3_Handler ( void ); +void EIC_4_Handler ( void ); +void EIC_5_Handler ( void ); +void EIC_6_Handler ( void ); +void EIC_7_Handler ( void ); +void EIC_8_Handler ( void ); +void EIC_9_Handler ( void ); +void EIC_10_Handler ( void ); +void EIC_11_Handler ( void ); +void EIC_12_Handler ( void ); +void EIC_13_Handler ( void ); +void EIC_14_Handler ( void ); +void EIC_15_Handler ( void ); +void FREQM_Handler ( void ); +void NVMCTRL_0_Handler ( void ); +void NVMCTRL_1_Handler ( void ); +void DMAC_0_Handler ( void ); +void DMAC_1_Handler ( void ); +void DMAC_2_Handler ( void ); +void DMAC_3_Handler ( void ); +void DMAC_4_Handler ( void ); +void EVSYS_0_Handler ( void ); +void EVSYS_1_Handler ( void ); +void EVSYS_2_Handler ( void ); +void EVSYS_3_Handler ( void ); +void EVSYS_4_Handler ( void ); +void PAC_Handler ( void ); +void TAL_0_Handler ( void ); +void TAL_1_Handler ( void ); +void RAMECC_Handler ( void ); +void SERCOM0_0_Handler ( void ); +void SERCOM0_1_Handler ( void ); +void SERCOM0_2_Handler ( void ); +void SERCOM0_3_Handler ( void ); +void SERCOM1_0_Handler ( void ); +void SERCOM1_1_Handler ( void ); +void SERCOM1_2_Handler ( void ); +void SERCOM1_3_Handler ( void ); +void SERCOM2_0_Handler ( void ); +void SERCOM2_1_Handler ( void ); +void SERCOM2_2_Handler ( void ); +void SERCOM2_3_Handler ( void ); +void SERCOM3_0_Handler ( void ); +void SERCOM3_1_Handler ( void ); +void SERCOM3_2_Handler ( void ); +void SERCOM3_3_Handler ( void ); +void SERCOM4_0_Handler ( void ); +void SERCOM4_1_Handler ( void ); +void SERCOM4_2_Handler ( void ); +void SERCOM4_3_Handler ( void ); +void SERCOM5_0_Handler ( void ); +void SERCOM5_1_Handler ( void ); +void SERCOM5_2_Handler ( void ); +void SERCOM5_3_Handler ( void ); +void SERCOM6_0_Handler ( void ); +void SERCOM6_1_Handler ( void ); +void SERCOM6_2_Handler ( void ); +void SERCOM6_3_Handler ( void ); +void SERCOM7_0_Handler ( void ); +void SERCOM7_1_Handler ( void ); +void SERCOM7_2_Handler ( void ); +void SERCOM7_3_Handler ( void ); +void CAN0_Handler ( void ); +void CAN1_Handler ( void ); +void USB_0_Handler ( void ); +void USB_1_Handler ( void ); +void USB_2_Handler ( void ); +void USB_3_Handler ( void ); +void GMAC_Handler ( void ); +void TCC0_0_Handler ( void ); +void TCC0_1_Handler ( void ); +void TCC0_2_Handler ( void ); +void TCC0_3_Handler ( void ); +void TCC0_4_Handler ( void ); +void TCC0_5_Handler ( void ); +void TCC0_6_Handler ( void ); +void TCC1_0_Handler ( void ); +void TCC1_1_Handler ( void ); +void TCC1_2_Handler ( void ); +void TCC1_3_Handler ( void ); +void TCC1_4_Handler ( void ); +void TCC2_0_Handler ( void ); +void TCC2_1_Handler ( void ); +void TCC2_2_Handler ( void ); +void TCC2_3_Handler ( void ); +void TCC3_0_Handler ( void ); +void TCC3_1_Handler ( void ); +void TCC3_2_Handler ( void ); +void TCC4_0_Handler ( void ); +void TCC4_1_Handler ( void ); +void TCC4_2_Handler ( void ); +void TC0_Handler ( void ); +void TC1_Handler ( void ); +void TC2_Handler ( void ); +void TC3_Handler ( void ); +void TC4_Handler ( void ); +void TC5_Handler ( void ); +void TC6_Handler ( void ); +void TC7_Handler ( void ); +void PDEC_0_Handler ( void ); +void PDEC_1_Handler ( void ); +void PDEC_2_Handler ( void ); +void ADC0_0_Handler ( void ); +void ADC0_1_Handler ( void ); +void ADC1_0_Handler ( void ); +void ADC1_1_Handler ( void ); +void AC_Handler ( void ); +void DAC_0_Handler ( void ); +void DAC_1_Handler ( void ); +void DAC_2_Handler ( void ); +void DAC_3_Handler ( void ); +void DAC_4_Handler ( void ); +void I2S_Handler ( void ); +void PCC_Handler ( void ); +void AES_Handler ( void ); +void TRNG_Handler ( void ); +void ICM_Handler ( void ); +void PUKCC_Handler ( void ); +void QSPI_Handler ( void ); +void SDHC0_Handler ( void ); +void SDHC1_Handler ( void ); + +/* + * \brief Configuration of the Cortex-M4 Processor and Core Peripherals + */ + +#define LITTLE_ENDIAN 1 +#define __CM4_REV 1 /*!< Core revision r0p1 */ +#define __DEBUG_LVL 3 /*!< Full debug plus DWT data matching */ +#define __FPU_PRESENT 1 /*!< FPU present or not */ +#define __MPU_PRESENT 1 /*!< MPU present or not */ +#define __NVIC_PRIO_BITS 3 /*!< Number of bits used for Priority Levels */ +#define __TRACE_LVL 2 /*!< Full trace: ITM, DWT triggers and counters, ETM */ +#define __VTOR_PRESENT 1 /*!< VTOR present or not */ +#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ + +/** + * \brief CMSIS includes + */ + +#include +#if !defined DONT_USE_CMSIS_INIT +#include "system_same54.h" +#endif /* DONT_USE_CMSIS_INIT */ + +/*@}*/ + +/* ************************************************************************** */ +/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME54N19A */ +/* ************************************************************************** */ +/** \defgroup SAME54N19A_api Peripheral Software API */ +/*@{*/ + +#include "component/ac.h" +#include "component/adc.h" +#include "component/aes.h" +#include "component/can.h" +#include "component/ccl.h" +#include "component/cmcc.h" +#include "component/dac.h" +#include "component/dmac.h" +#include "component/dsu.h" +#include "component/eic.h" +#include "component/evsys.h" +#include "component/freqm.h" +#include "component/gclk.h" +#include "component/gmac.h" +#include "component/hmatrixb.h" +#include "component/icm.h" +#include "component/i2s.h" +#include "component/mclk.h" +#include "component/nvmctrl.h" +#include "component/oscctrl.h" +#include "component/osc32kctrl.h" +#include "component/pac.h" +#include "component/pcc.h" +#include "component/pdec.h" +#include "component/pm.h" +#include "component/port.h" +#include "component/qspi.h" +#include "component/ramecc.h" +#include "component/rstc.h" +#include "component/rtc.h" +#include "component/sdhc.h" +#include "component/sercom.h" +#include "component/supc.h" +#include "component/tal.h" +#include "component/tc.h" +#include "component/tcc.h" +#include "component/trng.h" +#include "component/usb.h" +#include "component/wdt.h" +/*@}*/ + +/* ************************************************************************** */ +/** REGISTERS ACCESS DEFINITIONS FOR SAME54N19A */ +/* ************************************************************************** */ +/** \defgroup SAME54N19A_reg Registers Access Definitions */ +/*@{*/ + +#include "instance/ac.h" +#include "instance/adc0.h" +#include "instance/adc1.h" +#include "instance/aes.h" +#include "instance/can0.h" +#include "instance/can1.h" +#include "instance/ccl.h" +#include "instance/cmcc.h" +#include "instance/dac.h" +#include "instance/dmac.h" +#include "instance/dsu.h" +#include "instance/eic.h" +#include "instance/evsys.h" +#include "instance/freqm.h" +#include "instance/gclk.h" +#include "instance/gmac.h" +#include "instance/hmatrix.h" +#include "instance/icm.h" +#include "instance/i2s.h" +#include "instance/mclk.h" +#include "instance/nvmctrl.h" +#include "instance/oscctrl.h" +#include "instance/osc32kctrl.h" +#include "instance/pac.h" +#include "instance/pcc.h" +#include "instance/pdec.h" +#include "instance/pm.h" +#include "instance/port.h" +#include "instance/qspi.h" +#include "instance/ramecc.h" +#include "instance/rstc.h" +#include "instance/rtc.h" +#include "instance/sdhc0.h" +#include "instance/sdhc1.h" +#include "instance/sercom0.h" +#include "instance/sercom1.h" +#include "instance/sercom2.h" +#include "instance/sercom3.h" +#include "instance/sercom4.h" +#include "instance/sercom5.h" +#include "instance/sercom6.h" +#include "instance/sercom7.h" +#include "instance/supc.h" +#include "instance/tal.h" +#include "instance/tc0.h" +#include "instance/tc1.h" +#include "instance/tc2.h" +#include "instance/tc3.h" +#include "instance/tc4.h" +#include "instance/tc5.h" +#include "instance/tc6.h" +#include "instance/tc7.h" +#include "instance/tcc0.h" +#include "instance/tcc1.h" +#include "instance/tcc2.h" +#include "instance/tcc3.h" +#include "instance/tcc4.h" +#include "instance/trng.h" +#include "instance/usb.h" +#include "instance/wdt.h" +/*@}*/ + +/* ************************************************************************** */ +/** PERIPHERAL ID DEFINITIONS FOR SAME54N19A */ +/* ************************************************************************** */ +/** \defgroup SAME54N19A_id Peripheral Ids Definitions */ +/*@{*/ + +// Peripheral instances on HPB0 bridge +#define ID_PAC 0 /**< \brief Peripheral Access Controller (PAC) */ +#define ID_PM 1 /**< \brief Power Manager (PM) */ +#define ID_MCLK 2 /**< \brief Main Clock (MCLK) */ +#define ID_RSTC 3 /**< \brief Reset Controller (RSTC) */ +#define ID_OSCCTRL 4 /**< \brief Oscillators Control (OSCCTRL) */ +#define ID_OSC32KCTRL 5 /**< \brief 32kHz Oscillators Control (OSC32KCTRL) */ +#define ID_SUPC 6 /**< \brief Supply Controller (SUPC) */ +#define ID_GCLK 7 /**< \brief Generic Clock Generator (GCLK) */ +#define ID_WDT 8 /**< \brief Watchdog Timer (WDT) */ +#define ID_RTC 9 /**< \brief Real-Time Counter (RTC) */ +#define ID_EIC 10 /**< \brief External Interrupt Controller (EIC) */ +#define ID_FREQM 11 /**< \brief Frequency Meter (FREQM) */ +#define ID_SERCOM0 12 /**< \brief Serial Communication Interface 0 (SERCOM0) */ +#define ID_SERCOM1 13 /**< \brief Serial Communication Interface 1 (SERCOM1) */ +#define ID_TC0 14 /**< \brief Basic Timer Counter 0 (TC0) */ +#define ID_TC1 15 /**< \brief Basic Timer Counter 1 (TC1) */ + +// Peripheral instances on HPB1 bridge +#define ID_USB 32 /**< \brief Universal Serial Bus (USB) */ +#define ID_DSU 33 /**< \brief Device Service Unit (DSU) */ +#define ID_NVMCTRL 34 /**< \brief Non-Volatile Memory Controller (NVMCTRL) */ +#define ID_CMCC 35 /**< \brief Cortex M Cache Controller (CMCC) */ +#define ID_PORT 36 /**< \brief Port Module (PORT) */ +#define ID_DMAC 37 /**< \brief Direct Memory Access Controller (DMAC) */ +#define ID_HMATRIX 38 /**< \brief HSB Matrix (HMATRIX) */ +#define ID_EVSYS 39 /**< \brief Event System Interface (EVSYS) */ +#define ID_SERCOM2 41 /**< \brief Serial Communication Interface 2 (SERCOM2) */ +#define ID_SERCOM3 42 /**< \brief Serial Communication Interface 3 (SERCOM3) */ +#define ID_TCC0 43 /**< \brief Timer Counter Control 0 (TCC0) */ +#define ID_TCC1 44 /**< \brief Timer Counter Control 1 (TCC1) */ +#define ID_TC2 45 /**< \brief Basic Timer Counter 2 (TC2) */ +#define ID_TC3 46 /**< \brief Basic Timer Counter 3 (TC3) */ +#define ID_TAL 47 /**< \brief Trigger Allocator (TAL) */ +#define ID_RAMECC 48 /**< \brief RAM ECC (RAMECC) */ + +// Peripheral instances on HPB2 bridge +#define ID_CAN0 64 /**< \brief Control Area Network 0 (CAN0) */ +#define ID_CAN1 65 /**< \brief Control Area Network 1 (CAN1) */ +#define ID_GMAC 66 /**< \brief Ethernet MAC (GMAC) */ +#define ID_TCC2 67 /**< \brief Timer Counter Control 2 (TCC2) */ +#define ID_TCC3 68 /**< \brief Timer Counter Control 3 (TCC3) */ +#define ID_TC4 69 /**< \brief Basic Timer Counter 4 (TC4) */ +#define ID_TC5 70 /**< \brief Basic Timer Counter 5 (TC5) */ +#define ID_PDEC 71 /**< \brief Quadrature Decodeur (PDEC) */ +#define ID_AC 72 /**< \brief Analog Comparators (AC) */ +#define ID_AES 73 /**< \brief Advanced Encryption Standard (AES) */ +#define ID_TRNG 74 /**< \brief True Random Generator (TRNG) */ +#define ID_ICM 75 /**< \brief Integrity Check Monitor (ICM) */ +#define ID_PUKCC 76 /**< \brief PUblic-Key Cryptography Controller (PUKCC) */ +#define ID_QSPI 77 /**< \brief Quad SPI interface (QSPI) */ +#define ID_CCL 78 /**< \brief Configurable Custom Logic (CCL) */ + +// Peripheral instances on HPB3 bridge +#define ID_SERCOM4 96 /**< \brief Serial Communication Interface 4 (SERCOM4) */ +#define ID_SERCOM5 97 /**< \brief Serial Communication Interface 5 (SERCOM5) */ +#define ID_SERCOM6 98 /**< \brief Serial Communication Interface 6 (SERCOM6) */ +#define ID_SERCOM7 99 /**< \brief Serial Communication Interface 7 (SERCOM7) */ +#define ID_TCC4 100 /**< \brief Timer Counter Control 4 (TCC4) */ +#define ID_TC6 101 /**< \brief Basic Timer Counter 6 (TC6) */ +#define ID_TC7 102 /**< \brief Basic Timer Counter 7 (TC7) */ +#define ID_ADC0 103 /**< \brief Analog Digital Converter 0 (ADC0) */ +#define ID_ADC1 104 /**< \brief Analog Digital Converter 1 (ADC1) */ +#define ID_DAC 105 /**< \brief Digital-to-Analog Converter (DAC) */ +#define ID_I2S 106 /**< \brief Inter-IC Sound Interface (I2S) */ +#define ID_PCC 107 /**< \brief Parallel Capture Controller (PCC) */ + +// Peripheral instances on AHB (as if on bridge 4) +#define ID_SDHC0 128 /**< \brief SD/MMC Host Controller (SDHC0) */ +#define ID_SDHC1 129 /**< \brief SD/MMC Host Controller (SDHC1) */ + +#define ID_PERIPH_COUNT 130 /**< \brief Max number of peripheral IDs */ +/*@}*/ + +/* ************************************************************************** */ +/** BASE ADDRESS DEFINITIONS FOR SAME54N19A */ +/* ************************************************************************** */ +/** \defgroup SAME54N19A_base Peripheral Base Address Definitions */ +/*@{*/ + +#if defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__) +#define AC (0x42002000) /**< \brief (AC) APB Base Address */ +#define ADC0 (0x43001C00) /**< \brief (ADC0) APB Base Address */ +#define ADC1 (0x43002000) /**< \brief (ADC1) APB Base Address */ +#define AES (0x42002400) /**< \brief (AES) APB Base Address */ +#define CAN0 (0x42000000) /**< \brief (CAN0) APB Base Address */ +#define CAN1 (0x42000400) /**< \brief (CAN1) APB Base Address */ +#define CCL (0x42003800) /**< \brief (CCL) APB Base Address */ +#define CMCC (0x41006000) /**< \brief (CMCC) APB Base Address */ +#define CMCC_AHB (0x03000000) /**< \brief (CMCC) AHB Base Address */ +#define DAC (0x43002400) /**< \brief (DAC) APB Base Address */ +#define DMAC (0x4100A000) /**< \brief (DMAC) APB Base Address */ +#define DSU (0x41002000) /**< \brief (DSU) APB Base Address */ +#define EIC (0x40002800) /**< \brief (EIC) APB Base Address */ +#define EVSYS (0x4100E000) /**< \brief (EVSYS) APB Base Address */ +#define FREQM (0x40002C00) /**< \brief (FREQM) APB Base Address */ +#define GCLK (0x40001C00) /**< \brief (GCLK) APB Base Address */ +#define GMAC (0x42000800) /**< \brief (GMAC) APB Base Address */ +#define HMATRIX (0x4100C000) /**< \brief (HMATRIX) APB Base Address */ +#define ICM (0x42002C00) /**< \brief (ICM) APB Base Address */ +#define I2S (0x43002800) /**< \brief (I2S) APB Base Address */ +#define MCLK (0x40000800) /**< \brief (MCLK) APB Base Address */ +#define NVMCTRL (0x41004000) /**< \brief (NVMCTRL) APB Base Address */ +#define NVMCTRL_CB (0x00800000) /**< \brief (NVMCTRL) CB Base Address */ +#define NVMCTRL_CBW0 (0x00800000) /**< \brief (NVMCTRL) CBW0 Base Address */ +#define NVMCTRL_CBW1 (0x00800010) /**< \brief (NVMCTRL) CBW1 Base Address */ +#define NVMCTRL_CBW2 (0x00800020) /**< \brief (NVMCTRL) CBW2 Base Address */ +#define NVMCTRL_CBW3 (0x00800030) /**< \brief (NVMCTRL) CBW3 Base Address */ +#define NVMCTRL_CBW4 (0x00800040) /**< \brief (NVMCTRL) CBW4 Base Address */ +#define NVMCTRL_CBW5 (0x00800050) /**< \brief (NVMCTRL) CBW5 Base Address */ +#define NVMCTRL_CBW6 (0x00800060) /**< \brief (NVMCTRL) CBW6 Base Address */ +#define NVMCTRL_CBW7 (0x00800070) /**< \brief (NVMCTRL) CBW7 Base Address */ +#define NVMCTRL_FS (0x00806000) /**< \brief (NVMCTRL) FS Base Address */ +#define NVMCTRL_SW0 (0x00800080) /**< \brief (NVMCTRL) SW0 Base Address */ +#define NVMCTRL_SW1 (0x00800090) /**< \brief (NVMCTRL) SW1 Base Address */ +#define NVMCTRL_SW2 (0x008000A0) /**< \brief (NVMCTRL) SW2 Base Address */ +#define NVMCTRL_SW3 (0x008000B0) /**< \brief (NVMCTRL) SW3 Base Address */ +#define NVMCTRL_SW4 (0x008000C0) /**< \brief (NVMCTRL) SW4 Base Address */ +#define NVMCTRL_SW5 (0x008000D0) /**< \brief (NVMCTRL) SW5 Base Address */ +#define NVMCTRL_SW6 (0x008000E0) /**< \brief (NVMCTRL) SW6 Base Address */ +#define NVMCTRL_SW7 (0x008000F0) /**< \brief (NVMCTRL) SW7 Base Address */ +#define NVMCTRL_TEMP_LOG_W0 (0x00800100) /**< \brief (NVMCTRL) TEMP_LOG_W0 Base Address */ +#define NVMCTRL_TEMP_LOG_W1 (0x00800110) /**< \brief (NVMCTRL) TEMP_LOG_W1 Base Address */ +#define NVMCTRL_TEMP_LOG_W2 (0x00800120) /**< \brief (NVMCTRL) TEMP_LOG_W2 Base Address */ +#define NVMCTRL_TEMP_LOG_W3 (0x00800130) /**< \brief (NVMCTRL) TEMP_LOG_W3 Base Address */ +#define NVMCTRL_TEMP_LOG_W4 (0x00800140) /**< \brief (NVMCTRL) TEMP_LOG_W4 Base Address */ +#define NVMCTRL_TEMP_LOG_W5 (0x00800150) /**< \brief (NVMCTRL) TEMP_LOG_W5 Base Address */ +#define NVMCTRL_TEMP_LOG_W6 (0x00800160) /**< \brief (NVMCTRL) TEMP_LOG_W6 Base Address */ +#define NVMCTRL_TEMP_LOG_W7 (0x00800170) /**< \brief (NVMCTRL) TEMP_LOG_W7 Base Address */ +#define NVMCTRL_TLATCH (0x00802000) /**< \brief (NVMCTRL) TLATCH Base Address */ +#define NVMCTRL_USER (0x00804000) /**< \brief (NVMCTRL) USER Base Address */ +#define OSCCTRL (0x40001000) /**< \brief (OSCCTRL) APB Base Address */ +#define OSC32KCTRL (0x40001400) /**< \brief (OSC32KCTRL) APB Base Address */ +#define PAC (0x40000000) /**< \brief (PAC) APB Base Address */ +#define PCC (0x43002C00) /**< \brief (PCC) APB Base Address */ +#define PDEC (0x42001C00) /**< \brief (PDEC) APB Base Address */ +#define PM (0x40000400) /**< \brief (PM) APB Base Address */ +#define PORT (0x41008000) /**< \brief (PORT) APB Base Address */ +#define PUKCC (0x42003000) /**< \brief (PUKCC) APB Base Address */ +#define PUKCC_AHB (0x02000000) /**< \brief (PUKCC) AHB Base Address */ +#define QSPI (0x42003400) /**< \brief (QSPI) APB Base Address */ +#define QSPI_AHB (0x04000000) /**< \brief (QSPI) AHB Base Address */ +#define RAMECC (0x41020000) /**< \brief (RAMECC) APB Base Address */ +#define RSTC (0x40000C00) /**< \brief (RSTC) APB Base Address */ +#define RTC (0x40002400) /**< \brief (RTC) APB Base Address */ +#define SDHC0 (0x45000000) /**< \brief (SDHC0) AHB Base Address */ +#define SDHC1 (0x46000000) /**< \brief (SDHC1) AHB Base Address */ +#define SERCOM0 (0x40003000) /**< \brief (SERCOM0) APB Base Address */ +#define SERCOM1 (0x40003400) /**< \brief (SERCOM1) APB Base Address */ +#define SERCOM2 (0x41012000) /**< \brief (SERCOM2) APB Base Address */ +#define SERCOM3 (0x41014000) /**< \brief (SERCOM3) APB Base Address */ +#define SERCOM4 (0x43000000) /**< \brief (SERCOM4) APB Base Address */ +#define SERCOM5 (0x43000400) /**< \brief (SERCOM5) APB Base Address */ +#define SERCOM6 (0x43000800) /**< \brief (SERCOM6) APB Base Address */ +#define SERCOM7 (0x43000C00) /**< \brief (SERCOM7) APB Base Address */ +#define SUPC (0x40001800) /**< \brief (SUPC) APB Base Address */ +#define TAL (0x4101E000) /**< \brief (TAL) APB Base Address */ +#define TC0 (0x40003800) /**< \brief (TC0) APB Base Address */ +#define TC1 (0x40003C00) /**< \brief (TC1) APB Base Address */ +#define TC2 (0x4101A000) /**< \brief (TC2) APB Base Address */ +#define TC3 (0x4101C000) /**< \brief (TC3) APB Base Address */ +#define TC4 (0x42001400) /**< \brief (TC4) APB Base Address */ +#define TC5 (0x42001800) /**< \brief (TC5) APB Base Address */ +#define TC6 (0x43001400) /**< \brief (TC6) APB Base Address */ +#define TC7 (0x43001800) /**< \brief (TC7) APB Base Address */ +#define TCC0 (0x41016000) /**< \brief (TCC0) APB Base Address */ +#define TCC1 (0x41018000) /**< \brief (TCC1) APB Base Address */ +#define TCC2 (0x42000C00) /**< \brief (TCC2) APB Base Address */ +#define TCC3 (0x42001000) /**< \brief (TCC3) APB Base Address */ +#define TCC4 (0x43001000) /**< \brief (TCC4) APB Base Address */ +#define TRNG (0x42002800) /**< \brief (TRNG) APB Base Address */ +#define USB (0x41000000) /**< \brief (USB) APB Base Address */ +#define WDT (0x40002000) /**< \brief (WDT) APB Base Address */ +#else +#define AC ((Ac *)0x42002000UL) /**< \brief (AC) APB Base Address */ +#define AC_INST_NUM 1 /**< \brief (AC) Number of instances */ +#define AC_INSTS { AC } /**< \brief (AC) Instances List */ + +#define ADC0 ((Adc *)0x43001C00UL) /**< \brief (ADC0) APB Base Address */ +#define ADC1 ((Adc *)0x43002000UL) /**< \brief (ADC1) APB Base Address */ +#define ADC_INST_NUM 2 /**< \brief (ADC) Number of instances */ +#define ADC_INSTS { ADC0, ADC1 } /**< \brief (ADC) Instances List */ + +#define AES ((Aes *)0x42002400UL) /**< \brief (AES) APB Base Address */ +#define AES_INST_NUM 1 /**< \brief (AES) Number of instances */ +#define AES_INSTS { AES } /**< \brief (AES) Instances List */ + +#define CAN0 ((Can *)0x42000000UL) /**< \brief (CAN0) APB Base Address */ +#define CAN1 ((Can *)0x42000400UL) /**< \brief (CAN1) APB Base Address */ +#define CAN_INST_NUM 2 /**< \brief (CAN) Number of instances */ +#define CAN_INSTS { CAN0, CAN1 } /**< \brief (CAN) Instances List */ + +#define CCL ((Ccl *)0x42003800UL) /**< \brief (CCL) APB Base Address */ +#define CCL_INST_NUM 1 /**< \brief (CCL) Number of instances */ +#define CCL_INSTS { CCL } /**< \brief (CCL) Instances List */ + +#define CMCC ((Cmcc *)0x41006000UL) /**< \brief (CMCC) APB Base Address */ +#define CMCC_AHB (0x03000000UL) /**< \brief (CMCC) AHB Base Address */ +#define CMCC_INST_NUM 1 /**< \brief (CMCC) Number of instances */ +#define CMCC_INSTS { CMCC } /**< \brief (CMCC) Instances List */ + +#define DAC ((Dac *)0x43002400UL) /**< \brief (DAC) APB Base Address */ +#define DAC_INST_NUM 1 /**< \brief (DAC) Number of instances */ +#define DAC_INSTS { DAC } /**< \brief (DAC) Instances List */ + +#define DMAC ((Dmac *)0x4100A000UL) /**< \brief (DMAC) APB Base Address */ +#define DMAC_INST_NUM 1 /**< \brief (DMAC) Number of instances */ +#define DMAC_INSTS { DMAC } /**< \brief (DMAC) Instances List */ + +#define DSU ((Dsu *)0x41002000UL) /**< \brief (DSU) APB Base Address */ +#define DSU_INST_NUM 1 /**< \brief (DSU) Number of instances */ +#define DSU_INSTS { DSU } /**< \brief (DSU) Instances List */ + +#define EIC ((Eic *)0x40002800UL) /**< \brief (EIC) APB Base Address */ +#define EIC_INST_NUM 1 /**< \brief (EIC) Number of instances */ +#define EIC_INSTS { EIC } /**< \brief (EIC) Instances List */ + +#define EVSYS ((Evsys *)0x4100E000UL) /**< \brief (EVSYS) APB Base Address */ +#define EVSYS_INST_NUM 1 /**< \brief (EVSYS) Number of instances */ +#define EVSYS_INSTS { EVSYS } /**< \brief (EVSYS) Instances List */ + +#define FREQM ((Freqm *)0x40002C00UL) /**< \brief (FREQM) APB Base Address */ +#define FREQM_INST_NUM 1 /**< \brief (FREQM) Number of instances */ +#define FREQM_INSTS { FREQM } /**< \brief (FREQM) Instances List */ + +#define GCLK ((Gclk *)0x40001C00UL) /**< \brief (GCLK) APB Base Address */ +#define GCLK_INST_NUM 1 /**< \brief (GCLK) Number of instances */ +#define GCLK_INSTS { GCLK } /**< \brief (GCLK) Instances List */ + +#define GMAC ((Gmac *)0x42000800UL) /**< \brief (GMAC) APB Base Address */ +#define GMAC_INST_NUM 1 /**< \brief (GMAC) Number of instances */ +#define GMAC_INSTS { GMAC } /**< \brief (GMAC) Instances List */ + +#define HMATRIX ((Hmatrixb *)0x4100C000UL) /**< \brief (HMATRIX) APB Base Address */ +#define HMATRIXB_INST_NUM 1 /**< \brief (HMATRIXB) Number of instances */ +#define HMATRIXB_INSTS { HMATRIX } /**< \brief (HMATRIXB) Instances List */ + +#define ICM ((Icm *)0x42002C00UL) /**< \brief (ICM) APB Base Address */ +#define ICM_INST_NUM 1 /**< \brief (ICM) Number of instances */ +#define ICM_INSTS { ICM } /**< \brief (ICM) Instances List */ + +#define I2S ((I2s *)0x43002800UL) /**< \brief (I2S) APB Base Address */ +#define I2S_INST_NUM 1 /**< \brief (I2S) Number of instances */ +#define I2S_INSTS { I2S } /**< \brief (I2S) Instances List */ + +#define MCLK ((Mclk *)0x40000800UL) /**< \brief (MCLK) APB Base Address */ +#define MCLK_INST_NUM 1 /**< \brief (MCLK) Number of instances */ +#define MCLK_INSTS { MCLK } /**< \brief (MCLK) Instances List */ + +#define NVMCTRL ((Nvmctrl *)0x41004000UL) /**< \brief (NVMCTRL) APB Base Address */ +#define NVMCTRL_CB (0x00800000UL) /**< \brief (NVMCTRL) CB Base Address */ +#define NVMCTRL_CBW0 (0x00800000UL) /**< \brief (NVMCTRL) CBW0 Base Address */ +#define NVMCTRL_CBW1 (0x00800010UL) /**< \brief (NVMCTRL) CBW1 Base Address */ +#define NVMCTRL_CBW2 (0x00800020UL) /**< \brief (NVMCTRL) CBW2 Base Address */ +#define NVMCTRL_CBW3 (0x00800030UL) /**< \brief (NVMCTRL) CBW3 Base Address */ +#define NVMCTRL_CBW4 (0x00800040UL) /**< \brief (NVMCTRL) CBW4 Base Address */ +#define NVMCTRL_CBW5 (0x00800050UL) /**< \brief (NVMCTRL) CBW5 Base Address */ +#define NVMCTRL_CBW6 (0x00800060UL) /**< \brief (NVMCTRL) CBW6 Base Address */ +#define NVMCTRL_CBW7 (0x00800070UL) /**< \brief (NVMCTRL) CBW7 Base Address */ +#define NVMCTRL_FS (0x00806000UL) /**< \brief (NVMCTRL) FS Base Address */ +#define NVMCTRL_SW0 (0x00800080UL) /**< \brief (NVMCTRL) SW0 Base Address */ +#define NVMCTRL_SW1 (0x00800090UL) /**< \brief (NVMCTRL) SW1 Base Address */ +#define NVMCTRL_SW2 (0x008000A0UL) /**< \brief (NVMCTRL) SW2 Base Address */ +#define NVMCTRL_SW3 (0x008000B0UL) /**< \brief (NVMCTRL) SW3 Base Address */ +#define NVMCTRL_SW4 (0x008000C0UL) /**< \brief (NVMCTRL) SW4 Base Address */ +#define NVMCTRL_SW5 (0x008000D0UL) /**< \brief (NVMCTRL) SW5 Base Address */ +#define NVMCTRL_SW6 (0x008000E0UL) /**< \brief (NVMCTRL) SW6 Base Address */ +#define NVMCTRL_SW7 (0x008000F0UL) /**< \brief (NVMCTRL) SW7 Base Address */ +#define NVMCTRL_TEMP_LOG_W0 (0x00800100UL) /**< \brief (NVMCTRL) TEMP_LOG_W0 Base Address */ +#define NVMCTRL_TEMP_LOG_W1 (0x00800110UL) /**< \brief (NVMCTRL) TEMP_LOG_W1 Base Address */ +#define NVMCTRL_TEMP_LOG_W2 (0x00800120UL) /**< \brief (NVMCTRL) TEMP_LOG_W2 Base Address */ +#define NVMCTRL_TEMP_LOG_W3 (0x00800130UL) /**< \brief (NVMCTRL) TEMP_LOG_W3 Base Address */ +#define NVMCTRL_TEMP_LOG_W4 (0x00800140UL) /**< \brief (NVMCTRL) TEMP_LOG_W4 Base Address */ +#define NVMCTRL_TEMP_LOG_W5 (0x00800150UL) /**< \brief (NVMCTRL) TEMP_LOG_W5 Base Address */ +#define NVMCTRL_TEMP_LOG_W6 (0x00800160UL) /**< \brief (NVMCTRL) TEMP_LOG_W6 Base Address */ +#define NVMCTRL_TEMP_LOG_W7 (0x00800170UL) /**< \brief (NVMCTRL) TEMP_LOG_W7 Base Address */ +#define NVMCTRL_TLATCH (0x00802000UL) /**< \brief (NVMCTRL) TLATCH Base Address */ +#define NVMCTRL_USER (0x00804000UL) /**< \brief (NVMCTRL) USER Base Address */ +#define NVMCTRL_INST_NUM 1 /**< \brief (NVMCTRL) Number of instances */ +#define NVMCTRL_INSTS { NVMCTRL } /**< \brief (NVMCTRL) Instances List */ + +#define OSCCTRL ((Oscctrl *)0x40001000UL) /**< \brief (OSCCTRL) APB Base Address */ +#define OSCCTRL_INST_NUM 1 /**< \brief (OSCCTRL) Number of instances */ +#define OSCCTRL_INSTS { OSCCTRL } /**< \brief (OSCCTRL) Instances List */ + +#define OSC32KCTRL ((Osc32kctrl *)0x40001400UL) /**< \brief (OSC32KCTRL) APB Base Address */ +#define OSC32KCTRL_INST_NUM 1 /**< \brief (OSC32KCTRL) Number of instances */ +#define OSC32KCTRL_INSTS { OSC32KCTRL } /**< \brief (OSC32KCTRL) Instances List */ + +#define PAC ((Pac *)0x40000000UL) /**< \brief (PAC) APB Base Address */ +#define PAC_INST_NUM 1 /**< \brief (PAC) Number of instances */ +#define PAC_INSTS { PAC } /**< \brief (PAC) Instances List */ + +#define PCC ((Pcc *)0x43002C00UL) /**< \brief (PCC) APB Base Address */ +#define PCC_INST_NUM 1 /**< \brief (PCC) Number of instances */ +#define PCC_INSTS { PCC } /**< \brief (PCC) Instances List */ + +#define PDEC ((Pdec *)0x42001C00UL) /**< \brief (PDEC) APB Base Address */ +#define PDEC_INST_NUM 1 /**< \brief (PDEC) Number of instances */ +#define PDEC_INSTS { PDEC } /**< \brief (PDEC) Instances List */ + +#define PM ((Pm *)0x40000400UL) /**< \brief (PM) APB Base Address */ +#define PM_INST_NUM 1 /**< \brief (PM) Number of instances */ +#define PM_INSTS { PM } /**< \brief (PM) Instances List */ + +#define PORT ((Port *)0x41008000UL) /**< \brief (PORT) APB Base Address */ +#define PORT_INST_NUM 1 /**< \brief (PORT) Number of instances */ +#define PORT_INSTS { PORT } /**< \brief (PORT) Instances List */ + +#define PUKCC ((void *)0x42003000UL) /**< \brief (PUKCC) APB Base Address */ +#define PUKCC_AHB ((void *)0x02000000UL) /**< \brief (PUKCC) AHB Base Address */ +#define PUKCC_INST_NUM 1 /**< \brief (PUKCC) Number of instances */ +#define PUKCC_INSTS { PUKCC } /**< \brief (PUKCC) Instances List */ + +#define QSPI ((Qspi *)0x42003400UL) /**< \brief (QSPI) APB Base Address */ +#define QSPI_AHB (0x04000000UL) /**< \brief (QSPI) AHB Base Address */ +#define QSPI_INST_NUM 1 /**< \brief (QSPI) Number of instances */ +#define QSPI_INSTS { QSPI } /**< \brief (QSPI) Instances List */ + +#define RAMECC ((Ramecc *)0x41020000UL) /**< \brief (RAMECC) APB Base Address */ +#define RAMECC_INST_NUM 1 /**< \brief (RAMECC) Number of instances */ +#define RAMECC_INSTS { RAMECC } /**< \brief (RAMECC) Instances List */ + +#define RSTC ((Rstc *)0x40000C00UL) /**< \brief (RSTC) APB Base Address */ +#define RSTC_INST_NUM 1 /**< \brief (RSTC) Number of instances */ +#define RSTC_INSTS { RSTC } /**< \brief (RSTC) Instances List */ + +#define RTC ((Rtc *)0x40002400UL) /**< \brief (RTC) APB Base Address */ +#define RTC_INST_NUM 1 /**< \brief (RTC) Number of instances */ +#define RTC_INSTS { RTC } /**< \brief (RTC) Instances List */ + +#define SDHC0 ((Sdhc *)0x45000000UL) /**< \brief (SDHC0) AHB Base Address */ +#define SDHC1 ((Sdhc *)0x46000000UL) /**< \brief (SDHC1) AHB Base Address */ +#define SDHC_INST_NUM 2 /**< \brief (SDHC) Number of instances */ +#define SDHC_INSTS { SDHC0, SDHC1 } /**< \brief (SDHC) Instances List */ + +#define SERCOM0 ((Sercom *)0x40003000UL) /**< \brief (SERCOM0) APB Base Address */ +#define SERCOM1 ((Sercom *)0x40003400UL) /**< \brief (SERCOM1) APB Base Address */ +#define SERCOM2 ((Sercom *)0x41012000UL) /**< \brief (SERCOM2) APB Base Address */ +#define SERCOM3 ((Sercom *)0x41014000UL) /**< \brief (SERCOM3) APB Base Address */ +#define SERCOM4 ((Sercom *)0x43000000UL) /**< \brief (SERCOM4) APB Base Address */ +#define SERCOM5 ((Sercom *)0x43000400UL) /**< \brief (SERCOM5) APB Base Address */ +#define SERCOM6 ((Sercom *)0x43000800UL) /**< \brief (SERCOM6) APB Base Address */ +#define SERCOM7 ((Sercom *)0x43000C00UL) /**< \brief (SERCOM7) APB Base Address */ +#define SERCOM_INST_NUM 8 /**< \brief (SERCOM) Number of instances */ +#define SERCOM_INSTS { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5, SERCOM6, SERCOM7 } /**< \brief (SERCOM) Instances List */ + +#define SUPC ((Supc *)0x40001800UL) /**< \brief (SUPC) APB Base Address */ +#define SUPC_INST_NUM 1 /**< \brief (SUPC) Number of instances */ +#define SUPC_INSTS { SUPC } /**< \brief (SUPC) Instances List */ + +#define TAL ((Tal *)0x4101E000UL) /**< \brief (TAL) APB Base Address */ +#define TAL_INST_NUM 1 /**< \brief (TAL) Number of instances */ +#define TAL_INSTS { TAL } /**< \brief (TAL) Instances List */ + +#define TC0 ((Tc *)0x40003800UL) /**< \brief (TC0) APB Base Address */ +#define TC1 ((Tc *)0x40003C00UL) /**< \brief (TC1) APB Base Address */ +#define TC2 ((Tc *)0x4101A000UL) /**< \brief (TC2) APB Base Address */ +#define TC3 ((Tc *)0x4101C000UL) /**< \brief (TC3) APB Base Address */ +#define TC4 ((Tc *)0x42001400UL) /**< \brief (TC4) APB Base Address */ +#define TC5 ((Tc *)0x42001800UL) /**< \brief (TC5) APB Base Address */ +#define TC6 ((Tc *)0x43001400UL) /**< \brief (TC6) APB Base Address */ +#define TC7 ((Tc *)0x43001800UL) /**< \brief (TC7) APB Base Address */ +#define TC_INST_NUM 8 /**< \brief (TC) Number of instances */ +#define TC_INSTS { TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 } /**< \brief (TC) Instances List */ + +#define TCC0 ((Tcc *)0x41016000UL) /**< \brief (TCC0) APB Base Address */ +#define TCC1 ((Tcc *)0x41018000UL) /**< \brief (TCC1) APB Base Address */ +#define TCC2 ((Tcc *)0x42000C00UL) /**< \brief (TCC2) APB Base Address */ +#define TCC3 ((Tcc *)0x42001000UL) /**< \brief (TCC3) APB Base Address */ +#define TCC4 ((Tcc *)0x43001000UL) /**< \brief (TCC4) APB Base Address */ +#define TCC_INST_NUM 5 /**< \brief (TCC) Number of instances */ +#define TCC_INSTS { TCC0, TCC1, TCC2, TCC3, TCC4 } /**< \brief (TCC) Instances List */ + +#define TRNG ((Trng *)0x42002800UL) /**< \brief (TRNG) APB Base Address */ +#define TRNG_INST_NUM 1 /**< \brief (TRNG) Number of instances */ +#define TRNG_INSTS { TRNG } /**< \brief (TRNG) Instances List */ + +#define USB ((Usb *)0x41000000UL) /**< \brief (USB) APB Base Address */ +#define USB_INST_NUM 1 /**< \brief (USB) Number of instances */ +#define USB_INSTS { USB } /**< \brief (USB) Instances List */ + +#define WDT ((Wdt *)0x40002000UL) /**< \brief (WDT) APB Base Address */ +#define WDT_INST_NUM 1 /**< \brief (WDT) Number of instances */ +#define WDT_INSTS { WDT } /**< \brief (WDT) Instances List */ + +#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ +/*@}*/ + +/* ************************************************************************** */ +/** PORT DEFINITIONS FOR SAME54N19A */ +/* ************************************************************************** */ +/** \defgroup SAME54N19A_port PORT Definitions */ +/*@{*/ + +#include "pio/same54n19a.h" +/*@}*/ + +/* ************************************************************************** */ +/** MEMORY MAPPING DEFINITIONS FOR SAME54N19A */ +/* ************************************************************************** */ + +#define HSRAM_SIZE _UL_(0x00030000) /* 192 kB */ +#define FLASH_SIZE _UL_(0x00080000) /* 512 kB */ +#define FLASH_PAGE_SIZE 512 +#define FLASH_NB_OF_PAGES 1024 +#define FLASH_USER_PAGE_SIZE 512 +#define BKUPRAM_SIZE _UL_(0x00002000) /* 8 kB */ +#define QSPI_SIZE _UL_(0x01000000) /* 16384 kB */ + +#define FLASH_ADDR _UL_(0x00000000) /**< FLASH base address */ +#define CMCC_DATARAM_ADDR _UL_(0x03000000) /**< CMCC_DATARAM base address */ +#define CMCC_DATARAM_SIZE _UL_(0x00001000) /**< CMCC_DATARAM size */ +#define CMCC_TAGRAM_ADDR _UL_(0x03001000) /**< CMCC_TAGRAM base address */ +#define CMCC_TAGRAM_SIZE _UL_(0x00000400) /**< CMCC_TAGRAM size */ +#define CMCC_VALIDRAM_ADDR _UL_(0x03002000) /**< CMCC_VALIDRAM base address */ +#define CMCC_VALIDRAM_SIZE _UL_(0x00000040) /**< CMCC_VALIDRAM size */ +#define HSRAM_ADDR _UL_(0x20000000) /**< HSRAM base address */ +#define HSRAM_ETB_ADDR _UL_(0x20000000) /**< HSRAM_ETB base address */ +#define HSRAM_ETB_SIZE _UL_(0x00008000) /**< HSRAM_ETB size */ +#define HSRAM_RET1_ADDR _UL_(0x20000000) /**< HSRAM_RET1 base address */ +#define HSRAM_RET1_SIZE _UL_(0x00008000) /**< HSRAM_RET1 size */ +#define HPB0_ADDR _UL_(0x40000000) /**< HPB0 base address */ +#define HPB1_ADDR _UL_(0x41000000) /**< HPB1 base address */ +#define HPB2_ADDR _UL_(0x42000000) /**< HPB2 base address */ +#define HPB3_ADDR _UL_(0x43000000) /**< HPB3 base address */ +#define SEEPROM_ADDR _UL_(0x44000000) /**< SEEPROM base address */ +#define BKUPRAM_ADDR _UL_(0x47000000) /**< BKUPRAM base address */ +#define PPB_ADDR _UL_(0xE0000000) /**< PPB base address */ + +#define DSU_DID_RESETVALUE _UL_(0x61840003) +#define PORT_GROUPS 3 + +/* ************************************************************************** */ +/** ELECTRICAL DEFINITIONS FOR SAME54N19A */ +/* ************************************************************************** */ + + +#ifdef __cplusplus +} +#endif + +/*@}*/ + +#endif /* SAME54N19A_H */ diff --git a/lib/same54/include/same54n20a.h b/lib/same54/include/same54n20a.h new file mode 100644 index 00000000..67403440 --- /dev/null +++ b/lib/same54/include/same54n20a.h @@ -0,0 +1,1145 @@ +/** + * \file + * + * \brief Header file for SAME54N20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54N20A_ +#define _SAME54N20A_ + +/** + * \ingroup SAME54_definitions + * \addtogroup SAME54N20A_definitions SAME54N20A definitions + * This file defines all structures and symbols for SAME54N20A: + * - registers and bitfields + * - peripheral base address + * - peripheral ID + * - PIO definitions +*/ +/*@{*/ + +#ifdef __cplusplus + extern "C" { +#endif + +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +#include +#ifndef __cplusplus +typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ +typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ +typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ +#else +typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ +typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ +typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ +#endif +typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ +typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */ +typedef volatile uint8_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */ +typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ +typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */ +typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */ +#endif + +#if !defined(SKIP_INTEGER_LITERALS) +#if defined(_U_) || defined(_L_) || defined(_UL_) + #error "Integer Literals macros already defined elsewhere" +#endif + +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +/* Macros that deal with adding suffixes to integer literal constants for C/C++ */ +#define _U_(x) x ## U /**< C code: Unsigned integer literal constant value */ +#define _L_(x) x ## L /**< C code: Long integer literal constant value */ +#define _UL_(x) x ## UL /**< C code: Unsigned Long integer literal constant value */ +#else /* Assembler */ +#define _U_(x) x /**< Assembler: Unsigned integer literal constant value */ +#define _L_(x) x /**< Assembler: Long integer literal constant value */ +#define _UL_(x) x /**< Assembler: Unsigned Long integer literal constant value */ +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ +#endif /* SKIP_INTEGER_LITERALS */ + +/* ************************************************************************** */ +/** CMSIS DEFINITIONS FOR SAME54N20A */ +/* ************************************************************************** */ +/** \defgroup SAME54N20A_cmsis CMSIS Definitions */ +/*@{*/ + +/** Interrupt Number Definition */ +typedef enum IRQn +{ + /****** Cortex-M4 Processor Exceptions Numbers ******************************/ + NonMaskableInt_IRQn = -14,/**< 2 Non Maskable Interrupt */ + HardFault_IRQn = -13,/**< 3 Cortex-M4 Hard Fault Interrupt */ + MemoryManagement_IRQn = -12,/**< 4 Cortex-M4 Memory Management Interrupt */ + BusFault_IRQn = -11,/**< 5 Cortex-M4 Bus Fault Interrupt */ + UsageFault_IRQn = -10,/**< 6 Cortex-M4 Usage Fault Interrupt */ + SVCall_IRQn = -5, /**< 11 Cortex-M4 SV Call Interrupt */ + DebugMonitor_IRQn = -4, /**< 12 Cortex-M4 Debug Monitor Interrupt */ + PendSV_IRQn = -2, /**< 14 Cortex-M4 Pend SV Interrupt */ + SysTick_IRQn = -1, /**< 15 Cortex-M4 System Tick Interrupt */ + /****** SAME54N20A-specific Interrupt Numbers ***********************/ + PM_IRQn = 0, /**< 0 SAME54N20A Power Manager (PM) */ + MCLK_IRQn = 1, /**< 1 SAME54N20A Main Clock (MCLK) */ + OSCCTRL_0_IRQn = 2, /**< 2 SAME54N20A Oscillators Control (OSCCTRL): OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ + OSCCTRL_1_IRQn = 3, /**< 3 SAME54N20A Oscillators Control (OSCCTRL): OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ + OSCCTRL_2_IRQn = 4, /**< 4 SAME54N20A Oscillators Control (OSCCTRL): OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, OSCCTRL_DFLLRDY */ + OSCCTRL_3_IRQn = 5, /**< 5 SAME54N20A Oscillators Control (OSCCTRL): OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ + OSCCTRL_4_IRQn = 6, /**< 6 SAME54N20A Oscillators Control (OSCCTRL): OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ + OSC32KCTRL_IRQn = 7, /**< 7 SAME54N20A 32kHz Oscillators Control (OSC32KCTRL) */ + SUPC_0_IRQn = 8, /**< 8 SAME54N20A Supply Controller (SUPC): SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY */ + SUPC_1_IRQn = 9, /**< 9 SAME54N20A Supply Controller (SUPC): SUPC_BOD12DET, SUPC_BOD33DET */ + WDT_IRQn = 10, /**< 10 SAME54N20A Watchdog Timer (WDT) */ + RTC_IRQn = 11, /**< 11 SAME54N20A Real-Time Counter (RTC) */ + EIC_0_IRQn = 12, /**< 12 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_0 */ + EIC_1_IRQn = 13, /**< 13 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_1 */ + EIC_2_IRQn = 14, /**< 14 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_2 */ + EIC_3_IRQn = 15, /**< 15 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_3 */ + EIC_4_IRQn = 16, /**< 16 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_4 */ + EIC_5_IRQn = 17, /**< 17 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_5 */ + EIC_6_IRQn = 18, /**< 18 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_6 */ + EIC_7_IRQn = 19, /**< 19 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_7 */ + EIC_8_IRQn = 20, /**< 20 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_8 */ + EIC_9_IRQn = 21, /**< 21 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_9 */ + EIC_10_IRQn = 22, /**< 22 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_10 */ + EIC_11_IRQn = 23, /**< 23 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_11 */ + EIC_12_IRQn = 24, /**< 24 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_12 */ + EIC_13_IRQn = 25, /**< 25 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_13 */ + EIC_14_IRQn = 26, /**< 26 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_14 */ + EIC_15_IRQn = 27, /**< 27 SAME54N20A External Interrupt Controller (EIC): EIC_EXTINT_15 */ + FREQM_IRQn = 28, /**< 28 SAME54N20A Frequency Meter (FREQM) */ + NVMCTRL_0_IRQn = 29, /**< 29 SAME54N20A Non-Volatile Memory Controller (NVMCTRL): NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, NVMCTRL_7 */ + NVMCTRL_1_IRQn = 30, /**< 30 SAME54N20A Non-Volatile Memory Controller (NVMCTRL): NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ + DMAC_0_IRQn = 31, /**< 31 SAME54N20A Direct Memory Access Controller (DMAC): DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ + DMAC_1_IRQn = 32, /**< 32 SAME54N20A Direct Memory Access Controller (DMAC): DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ + DMAC_2_IRQn = 33, /**< 33 SAME54N20A Direct Memory Access Controller (DMAC): DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ + DMAC_3_IRQn = 34, /**< 34 SAME54N20A Direct Memory Access Controller (DMAC): DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ + DMAC_4_IRQn = 35, /**< 35 SAME54N20A Direct Memory Access Controller (DMAC): DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ + EVSYS_0_IRQn = 36, /**< 36 SAME54N20A Event System Interface (EVSYS): EVSYS_EVD_0, EVSYS_OVR_0 */ + EVSYS_1_IRQn = 37, /**< 37 SAME54N20A Event System Interface (EVSYS): EVSYS_EVD_1, EVSYS_OVR_1 */ + EVSYS_2_IRQn = 38, /**< 38 SAME54N20A Event System Interface (EVSYS): EVSYS_EVD_2, EVSYS_OVR_2 */ + EVSYS_3_IRQn = 39, /**< 39 SAME54N20A Event System Interface (EVSYS): EVSYS_EVD_3, EVSYS_OVR_3 */ + EVSYS_4_IRQn = 40, /**< 40 SAME54N20A Event System Interface (EVSYS): EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ + PAC_IRQn = 41, /**< 41 SAME54N20A Peripheral Access Controller (PAC) */ + TAL_0_IRQn = 42, /**< 42 SAME54N20A Trigger Allocator (TAL): TAL_BRK */ + TAL_1_IRQn = 43, /**< 43 SAME54N20A Trigger Allocator (TAL): TAL_IPS_0, TAL_IPS_1 */ + RAMECC_IRQn = 45, /**< 45 SAME54N20A RAM ECC (RAMECC) */ + SERCOM0_0_IRQn = 46, /**< 46 SAME54N20A Serial Communication Interface 0 (SERCOM0): SERCOM0_0 */ + SERCOM0_1_IRQn = 47, /**< 47 SAME54N20A Serial Communication Interface 0 (SERCOM0): SERCOM0_1 */ + SERCOM0_2_IRQn = 48, /**< 48 SAME54N20A Serial Communication Interface 0 (SERCOM0): SERCOM0_2 */ + SERCOM0_3_IRQn = 49, /**< 49 SAME54N20A Serial Communication Interface 0 (SERCOM0): SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ + SERCOM1_0_IRQn = 50, /**< 50 SAME54N20A Serial Communication Interface 1 (SERCOM1): SERCOM1_0 */ + SERCOM1_1_IRQn = 51, /**< 51 SAME54N20A Serial Communication Interface 1 (SERCOM1): SERCOM1_1 */ + SERCOM1_2_IRQn = 52, /**< 52 SAME54N20A Serial Communication Interface 1 (SERCOM1): SERCOM1_2 */ + SERCOM1_3_IRQn = 53, /**< 53 SAME54N20A Serial Communication Interface 1 (SERCOM1): SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ + SERCOM2_0_IRQn = 54, /**< 54 SAME54N20A Serial Communication Interface 2 (SERCOM2): SERCOM2_0 */ + SERCOM2_1_IRQn = 55, /**< 55 SAME54N20A Serial Communication Interface 2 (SERCOM2): SERCOM2_1 */ + SERCOM2_2_IRQn = 56, /**< 56 SAME54N20A Serial Communication Interface 2 (SERCOM2): SERCOM2_2 */ + SERCOM2_3_IRQn = 57, /**< 57 SAME54N20A Serial Communication Interface 2 (SERCOM2): SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ + SERCOM3_0_IRQn = 58, /**< 58 SAME54N20A Serial Communication Interface 3 (SERCOM3): SERCOM3_0 */ + SERCOM3_1_IRQn = 59, /**< 59 SAME54N20A Serial Communication Interface 3 (SERCOM3): SERCOM3_1 */ + SERCOM3_2_IRQn = 60, /**< 60 SAME54N20A Serial Communication Interface 3 (SERCOM3): SERCOM3_2 */ + SERCOM3_3_IRQn = 61, /**< 61 SAME54N20A Serial Communication Interface 3 (SERCOM3): SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ + SERCOM4_0_IRQn = 62, /**< 62 SAME54N20A Serial Communication Interface 4 (SERCOM4): SERCOM4_0 */ + SERCOM4_1_IRQn = 63, /**< 63 SAME54N20A Serial Communication Interface 4 (SERCOM4): SERCOM4_1 */ + SERCOM4_2_IRQn = 64, /**< 64 SAME54N20A Serial Communication Interface 4 (SERCOM4): SERCOM4_2 */ + SERCOM4_3_IRQn = 65, /**< 65 SAME54N20A Serial Communication Interface 4 (SERCOM4): SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ + SERCOM5_0_IRQn = 66, /**< 66 SAME54N20A Serial Communication Interface 5 (SERCOM5): SERCOM5_0 */ + SERCOM5_1_IRQn = 67, /**< 67 SAME54N20A Serial Communication Interface 5 (SERCOM5): SERCOM5_1 */ + SERCOM5_2_IRQn = 68, /**< 68 SAME54N20A Serial Communication Interface 5 (SERCOM5): SERCOM5_2 */ + SERCOM5_3_IRQn = 69, /**< 69 SAME54N20A Serial Communication Interface 5 (SERCOM5): SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ + SERCOM6_0_IRQn = 70, /**< 70 SAME54N20A Serial Communication Interface 6 (SERCOM6): SERCOM6_0 */ + SERCOM6_1_IRQn = 71, /**< 71 SAME54N20A Serial Communication Interface 6 (SERCOM6): SERCOM6_1 */ + SERCOM6_2_IRQn = 72, /**< 72 SAME54N20A Serial Communication Interface 6 (SERCOM6): SERCOM6_2 */ + SERCOM6_3_IRQn = 73, /**< 73 SAME54N20A Serial Communication Interface 6 (SERCOM6): SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ + SERCOM7_0_IRQn = 74, /**< 74 SAME54N20A Serial Communication Interface 7 (SERCOM7): SERCOM7_0 */ + SERCOM7_1_IRQn = 75, /**< 75 SAME54N20A Serial Communication Interface 7 (SERCOM7): SERCOM7_1 */ + SERCOM7_2_IRQn = 76, /**< 76 SAME54N20A Serial Communication Interface 7 (SERCOM7): SERCOM7_2 */ + SERCOM7_3_IRQn = 77, /**< 77 SAME54N20A Serial Communication Interface 7 (SERCOM7): SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ + CAN0_IRQn = 78, /**< 78 SAME54N20A Control Area Network 0 (CAN0) */ + CAN1_IRQn = 79, /**< 79 SAME54N20A Control Area Network 1 (CAN1) */ + USB_0_IRQn = 80, /**< 80 SAME54N20A Universal Serial Bus (USB): USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ + USB_1_IRQn = 81, /**< 81 SAME54N20A Universal Serial Bus (USB): USB_SOF_HSOF */ + USB_2_IRQn = 82, /**< 82 SAME54N20A Universal Serial Bus (USB): USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ + USB_3_IRQn = 83, /**< 83 SAME54N20A Universal Serial Bus (USB): USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ + GMAC_IRQn = 84, /**< 84 SAME54N20A Ethernet MAC (GMAC) */ + TCC0_0_IRQn = 85, /**< 85 SAME54N20A Timer Counter Control 0 (TCC0): TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ + TCC0_1_IRQn = 86, /**< 86 SAME54N20A Timer Counter Control 0 (TCC0): TCC0_MC_0 */ + TCC0_2_IRQn = 87, /**< 87 SAME54N20A Timer Counter Control 0 (TCC0): TCC0_MC_1 */ + TCC0_3_IRQn = 88, /**< 88 SAME54N20A Timer Counter Control 0 (TCC0): TCC0_MC_2 */ + TCC0_4_IRQn = 89, /**< 89 SAME54N20A Timer Counter Control 0 (TCC0): TCC0_MC_3 */ + TCC0_5_IRQn = 90, /**< 90 SAME54N20A Timer Counter Control 0 (TCC0): TCC0_MC_4 */ + TCC0_6_IRQn = 91, /**< 91 SAME54N20A Timer Counter Control 0 (TCC0): TCC0_MC_5 */ + TCC1_0_IRQn = 92, /**< 92 SAME54N20A Timer Counter Control 1 (TCC1): TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ + TCC1_1_IRQn = 93, /**< 93 SAME54N20A Timer Counter Control 1 (TCC1): TCC1_MC_0 */ + TCC1_2_IRQn = 94, /**< 94 SAME54N20A Timer Counter Control 1 (TCC1): TCC1_MC_1 */ + TCC1_3_IRQn = 95, /**< 95 SAME54N20A Timer Counter Control 1 (TCC1): TCC1_MC_2 */ + TCC1_4_IRQn = 96, /**< 96 SAME54N20A Timer Counter Control 1 (TCC1): TCC1_MC_3 */ + TCC2_0_IRQn = 97, /**< 97 SAME54N20A Timer Counter Control 2 (TCC2): TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ + TCC2_1_IRQn = 98, /**< 98 SAME54N20A Timer Counter Control 2 (TCC2): TCC2_MC_0 */ + TCC2_2_IRQn = 99, /**< 99 SAME54N20A Timer Counter Control 2 (TCC2): TCC2_MC_1 */ + TCC2_3_IRQn = 100, /**< 100 SAME54N20A Timer Counter Control 2 (TCC2): TCC2_MC_2 */ + TCC3_0_IRQn = 101, /**< 101 SAME54N20A Timer Counter Control 3 (TCC3): TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ + TCC3_1_IRQn = 102, /**< 102 SAME54N20A Timer Counter Control 3 (TCC3): TCC3_MC_0 */ + TCC3_2_IRQn = 103, /**< 103 SAME54N20A Timer Counter Control 3 (TCC3): TCC3_MC_1 */ + TCC4_0_IRQn = 104, /**< 104 SAME54N20A Timer Counter Control 4 (TCC4): TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ + TCC4_1_IRQn = 105, /**< 105 SAME54N20A Timer Counter Control 4 (TCC4): TCC4_MC_0 */ + TCC4_2_IRQn = 106, /**< 106 SAME54N20A Timer Counter Control 4 (TCC4): TCC4_MC_1 */ + TC0_IRQn = 107, /**< 107 SAME54N20A Basic Timer Counter 0 (TC0) */ + TC1_IRQn = 108, /**< 108 SAME54N20A Basic Timer Counter 1 (TC1) */ + TC2_IRQn = 109, /**< 109 SAME54N20A Basic Timer Counter 2 (TC2) */ + TC3_IRQn = 110, /**< 110 SAME54N20A Basic Timer Counter 3 (TC3) */ + TC4_IRQn = 111, /**< 111 SAME54N20A Basic Timer Counter 4 (TC4) */ + TC5_IRQn = 112, /**< 112 SAME54N20A Basic Timer Counter 5 (TC5) */ + TC6_IRQn = 113, /**< 113 SAME54N20A Basic Timer Counter 6 (TC6) */ + TC7_IRQn = 114, /**< 114 SAME54N20A Basic Timer Counter 7 (TC7) */ + PDEC_0_IRQn = 115, /**< 115 SAME54N20A Quadrature Decodeur (PDEC): PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ + PDEC_1_IRQn = 116, /**< 116 SAME54N20A Quadrature Decodeur (PDEC): PDEC_MC_0 */ + PDEC_2_IRQn = 117, /**< 117 SAME54N20A Quadrature Decodeur (PDEC): PDEC_MC_1 */ + ADC0_0_IRQn = 118, /**< 118 SAME54N20A Analog Digital Converter 0 (ADC0): ADC0_OVERRUN, ADC0_WINMON */ + ADC0_1_IRQn = 119, /**< 119 SAME54N20A Analog Digital Converter 0 (ADC0): ADC0_RESRDY */ + ADC1_0_IRQn = 120, /**< 120 SAME54N20A Analog Digital Converter 1 (ADC1): ADC1_OVERRUN, ADC1_WINMON */ + ADC1_1_IRQn = 121, /**< 121 SAME54N20A Analog Digital Converter 1 (ADC1): ADC1_RESRDY */ + AC_IRQn = 122, /**< 122 SAME54N20A Analog Comparators (AC) */ + DAC_0_IRQn = 123, /**< 123 SAME54N20A Digital-to-Analog Converter (DAC): DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ + DAC_1_IRQn = 124, /**< 124 SAME54N20A Digital-to-Analog Converter (DAC): DAC_EMPTY_0 */ + DAC_2_IRQn = 125, /**< 125 SAME54N20A Digital-to-Analog Converter (DAC): DAC_EMPTY_1 */ + DAC_3_IRQn = 126, /**< 126 SAME54N20A Digital-to-Analog Converter (DAC): DAC_RESRDY_0 */ + DAC_4_IRQn = 127, /**< 127 SAME54N20A Digital-to-Analog Converter (DAC): DAC_RESRDY_1 */ + I2S_IRQn = 128, /**< 128 SAME54N20A Inter-IC Sound Interface (I2S) */ + PCC_IRQn = 129, /**< 129 SAME54N20A Parallel Capture Controller (PCC) */ + AES_IRQn = 130, /**< 130 SAME54N20A Advanced Encryption Standard (AES) */ + TRNG_IRQn = 131, /**< 131 SAME54N20A True Random Generator (TRNG) */ + ICM_IRQn = 132, /**< 132 SAME54N20A Integrity Check Monitor (ICM) */ + PUKCC_IRQn = 133, /**< 133 SAME54N20A PUblic-Key Cryptography Controller (PUKCC) */ + QSPI_IRQn = 134, /**< 134 SAME54N20A Quad SPI interface (QSPI) */ + SDHC0_IRQn = 135, /**< 135 SAME54N20A SD/MMC Host Controller 0 (SDHC0) */ + SDHC1_IRQn = 136, /**< 136 SAME54N20A SD/MMC Host Controller 1 (SDHC1) */ + + PERIPH_COUNT_IRQn = 137 /**< Number of peripheral IDs */ +} IRQn_Type; + +typedef struct _DeviceVectors +{ + /* Stack pointer */ + void* pvStack; + + /* Cortex-M handlers */ + void* pfnReset_Handler; + void* pfnNMI_Handler; + void* pfnHardFault_Handler; + void* pfnMemManage_Handler; + void* pfnBusFault_Handler; + void* pfnUsageFault_Handler; + void* pvReservedM9; + void* pvReservedM8; + void* pvReservedM7; + void* pvReservedM6; + void* pfnSVC_Handler; + void* pfnDebugMon_Handler; + void* pvReservedM3; + void* pfnPendSV_Handler; + void* pfnSysTick_Handler; + + /* Peripheral handlers */ + void* pfnPM_Handler; /* 0 Power Manager */ + void* pfnMCLK_Handler; /* 1 Main Clock */ + void* pfnOSCCTRL_0_Handler; /* 2 Oscillators Control IRQ 0 */ + void* pfnOSCCTRL_1_Handler; /* 3 Oscillators Control IRQ 1 */ + void* pfnOSCCTRL_2_Handler; /* 4 Oscillators Control IRQ 2 */ + void* pfnOSCCTRL_3_Handler; /* 5 Oscillators Control IRQ 3 */ + void* pfnOSCCTRL_4_Handler; /* 6 Oscillators Control IRQ 4 */ + void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control */ + void* pfnSUPC_0_Handler; /* 8 Supply Controller IRQ 0 */ + void* pfnSUPC_1_Handler; /* 9 Supply Controller IRQ 1 */ + void* pfnWDT_Handler; /* 10 Watchdog Timer */ + void* pfnRTC_Handler; /* 11 Real-Time Counter */ + void* pfnEIC_0_Handler; /* 12 External Interrupt Controller IRQ 0 */ + void* pfnEIC_1_Handler; /* 13 External Interrupt Controller IRQ 1 */ + void* pfnEIC_2_Handler; /* 14 External Interrupt Controller IRQ 2 */ + void* pfnEIC_3_Handler; /* 15 External Interrupt Controller IRQ 3 */ + void* pfnEIC_4_Handler; /* 16 External Interrupt Controller IRQ 4 */ + void* pfnEIC_5_Handler; /* 17 External Interrupt Controller IRQ 5 */ + void* pfnEIC_6_Handler; /* 18 External Interrupt Controller IRQ 6 */ + void* pfnEIC_7_Handler; /* 19 External Interrupt Controller IRQ 7 */ + void* pfnEIC_8_Handler; /* 20 External Interrupt Controller IRQ 8 */ + void* pfnEIC_9_Handler; /* 21 External Interrupt Controller IRQ 9 */ + void* pfnEIC_10_Handler; /* 22 External Interrupt Controller IRQ 10 */ + void* pfnEIC_11_Handler; /* 23 External Interrupt Controller IRQ 11 */ + void* pfnEIC_12_Handler; /* 24 External Interrupt Controller IRQ 12 */ + void* pfnEIC_13_Handler; /* 25 External Interrupt Controller IRQ 13 */ + void* pfnEIC_14_Handler; /* 26 External Interrupt Controller IRQ 14 */ + void* pfnEIC_15_Handler; /* 27 External Interrupt Controller IRQ 15 */ + void* pfnFREQM_Handler; /* 28 Frequency Meter */ + void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller IRQ 0 */ + void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller IRQ 1 */ + void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller IRQ 0 */ + void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller IRQ 1 */ + void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller IRQ 2 */ + void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller IRQ 3 */ + void* pfnDMAC_4_Handler; /* 35 Direct Memory Access Controller IRQ 4 */ + void* pfnEVSYS_0_Handler; /* 36 Event System Interface IRQ 0 */ + void* pfnEVSYS_1_Handler; /* 37 Event System Interface IRQ 1 */ + void* pfnEVSYS_2_Handler; /* 38 Event System Interface IRQ 2 */ + void* pfnEVSYS_3_Handler; /* 39 Event System Interface IRQ 3 */ + void* pfnEVSYS_4_Handler; /* 40 Event System Interface IRQ 4 */ + void* pfnPAC_Handler; /* 41 Peripheral Access Controller */ + void* pfnTAL_0_Handler; /* 42 Trigger Allocator IRQ 0 */ + void* pfnTAL_1_Handler; /* 43 Trigger Allocator IRQ 1 */ + void* pvReserved44; + void* pfnRAMECC_Handler; /* 45 RAM ECC */ + void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface 0 IRQ 0 */ + void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface 0 IRQ 1 */ + void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface 0 IRQ 2 */ + void* pfnSERCOM0_3_Handler; /* 49 Serial Communication Interface 0 IRQ 3 */ + void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface 1 IRQ 0 */ + void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface 1 IRQ 1 */ + void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface 1 IRQ 2 */ + void* pfnSERCOM1_3_Handler; /* 53 Serial Communication Interface 1 IRQ 3 */ + void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface 2 IRQ 0 */ + void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface 2 IRQ 1 */ + void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface 2 IRQ 2 */ + void* pfnSERCOM2_3_Handler; /* 57 Serial Communication Interface 2 IRQ 3 */ + void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface 3 IRQ 0 */ + void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface 3 IRQ 1 */ + void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface 3 IRQ 2 */ + void* pfnSERCOM3_3_Handler; /* 61 Serial Communication Interface 3 IRQ 3 */ + void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface 4 IRQ 0 */ + void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface 4 IRQ 1 */ + void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface 4 IRQ 2 */ + void* pfnSERCOM4_3_Handler; /* 65 Serial Communication Interface 4 IRQ 3 */ + void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface 5 IRQ 0 */ + void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface 5 IRQ 1 */ + void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface 5 IRQ 2 */ + void* pfnSERCOM5_3_Handler; /* 69 Serial Communication Interface 5 IRQ 3 */ + void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface 6 IRQ 0 */ + void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface 6 IRQ 1 */ + void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface 6 IRQ 2 */ + void* pfnSERCOM6_3_Handler; /* 73 Serial Communication Interface 6 IRQ 3 */ + void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface 7 IRQ 0 */ + void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface 7 IRQ 1 */ + void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface 7 IRQ 2 */ + void* pfnSERCOM7_3_Handler; /* 77 Serial Communication Interface 7 IRQ 3 */ + void* pfnCAN0_Handler; /* 78 Control Area Network 0 */ + void* pfnCAN1_Handler; /* 79 Control Area Network 1 */ + void* pfnUSB_0_Handler; /* 80 Universal Serial Bus IRQ 0 */ + void* pfnUSB_1_Handler; /* 81 Universal Serial Bus IRQ 1 */ + void* pfnUSB_2_Handler; /* 82 Universal Serial Bus IRQ 2 */ + void* pfnUSB_3_Handler; /* 83 Universal Serial Bus IRQ 3 */ + void* pfnGMAC_Handler; /* 84 Ethernet MAC */ + void* pfnTCC0_0_Handler; /* 85 Timer Counter Control 0 IRQ 0 */ + void* pfnTCC0_1_Handler; /* 86 Timer Counter Control 0 IRQ 1 */ + void* pfnTCC0_2_Handler; /* 87 Timer Counter Control 0 IRQ 2 */ + void* pfnTCC0_3_Handler; /* 88 Timer Counter Control 0 IRQ 3 */ + void* pfnTCC0_4_Handler; /* 89 Timer Counter Control 0 IRQ 4 */ + void* pfnTCC0_5_Handler; /* 90 Timer Counter Control 0 IRQ 5 */ + void* pfnTCC0_6_Handler; /* 91 Timer Counter Control 0 IRQ 6 */ + void* pfnTCC1_0_Handler; /* 92 Timer Counter Control 1 IRQ 0 */ + void* pfnTCC1_1_Handler; /* 93 Timer Counter Control 1 IRQ 1 */ + void* pfnTCC1_2_Handler; /* 94 Timer Counter Control 1 IRQ 2 */ + void* pfnTCC1_3_Handler; /* 95 Timer Counter Control 1 IRQ 3 */ + void* pfnTCC1_4_Handler; /* 96 Timer Counter Control 1 IRQ 4 */ + void* pfnTCC2_0_Handler; /* 97 Timer Counter Control 2 IRQ 0 */ + void* pfnTCC2_1_Handler; /* 98 Timer Counter Control 2 IRQ 1 */ + void* pfnTCC2_2_Handler; /* 99 Timer Counter Control 2 IRQ 2 */ + void* pfnTCC2_3_Handler; /* 100 Timer Counter Control 2 IRQ 3 */ + void* pfnTCC3_0_Handler; /* 101 Timer Counter Control 3 IRQ 0 */ + void* pfnTCC3_1_Handler; /* 102 Timer Counter Control 3 IRQ 1 */ + void* pfnTCC3_2_Handler; /* 103 Timer Counter Control 3 IRQ 2 */ + void* pfnTCC4_0_Handler; /* 104 Timer Counter Control 4 IRQ 0 */ + void* pfnTCC4_1_Handler; /* 105 Timer Counter Control 4 IRQ 1 */ + void* pfnTCC4_2_Handler; /* 106 Timer Counter Control 4 IRQ 2 */ + void* pfnTC0_Handler; /* 107 Basic Timer Counter 0 */ + void* pfnTC1_Handler; /* 108 Basic Timer Counter 1 */ + void* pfnTC2_Handler; /* 109 Basic Timer Counter 2 */ + void* pfnTC3_Handler; /* 110 Basic Timer Counter 3 */ + void* pfnTC4_Handler; /* 111 Basic Timer Counter 4 */ + void* pfnTC5_Handler; /* 112 Basic Timer Counter 5 */ + void* pfnTC6_Handler; /* 113 Basic Timer Counter 6 */ + void* pfnTC7_Handler; /* 114 Basic Timer Counter 7 */ + void* pfnPDEC_0_Handler; /* 115 Quadrature Decodeur IRQ 0 */ + void* pfnPDEC_1_Handler; /* 116 Quadrature Decodeur IRQ 1 */ + void* pfnPDEC_2_Handler; /* 117 Quadrature Decodeur IRQ 2 */ + void* pfnADC0_0_Handler; /* 118 Analog Digital Converter 0 IRQ 0 */ + void* pfnADC0_1_Handler; /* 119 Analog Digital Converter 0 IRQ 1 */ + void* pfnADC1_0_Handler; /* 120 Analog Digital Converter 1 IRQ 0 */ + void* pfnADC1_1_Handler; /* 121 Analog Digital Converter 1 IRQ 1 */ + void* pfnAC_Handler; /* 122 Analog Comparators */ + void* pfnDAC_0_Handler; /* 123 Digital-to-Analog Converter IRQ 0 */ + void* pfnDAC_1_Handler; /* 124 Digital-to-Analog Converter IRQ 1 */ + void* pfnDAC_2_Handler; /* 125 Digital-to-Analog Converter IRQ 2 */ + void* pfnDAC_3_Handler; /* 126 Digital-to-Analog Converter IRQ 3 */ + void* pfnDAC_4_Handler; /* 127 Digital-to-Analog Converter IRQ 4 */ + void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface */ + void* pfnPCC_Handler; /* 129 Parallel Capture Controller */ + void* pfnAES_Handler; /* 130 Advanced Encryption Standard */ + void* pfnTRNG_Handler; /* 131 True Random Generator */ + void* pfnICM_Handler; /* 132 Integrity Check Monitor */ + void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller */ + void* pfnQSPI_Handler; /* 134 Quad SPI interface */ + void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller 0 */ + void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller 1 */ +} DeviceVectors; + +/* Cortex-M4 processor handlers */ +void Reset_Handler ( void ); +void NMI_Handler ( void ); +void HardFault_Handler ( void ); +void MemManage_Handler ( void ); +void BusFault_Handler ( void ); +void UsageFault_Handler ( void ); +void SVC_Handler ( void ); +void DebugMon_Handler ( void ); +void PendSV_Handler ( void ); +void SysTick_Handler ( void ); + +/* Peripherals handlers */ +void PM_Handler ( void ); +void MCLK_Handler ( void ); +void OSCCTRL_0_Handler ( void ); +void OSCCTRL_1_Handler ( void ); +void OSCCTRL_2_Handler ( void ); +void OSCCTRL_3_Handler ( void ); +void OSCCTRL_4_Handler ( void ); +void OSC32KCTRL_Handler ( void ); +void SUPC_0_Handler ( void ); +void SUPC_1_Handler ( void ); +void WDT_Handler ( void ); +void RTC_Handler ( void ); +void EIC_0_Handler ( void ); +void EIC_1_Handler ( void ); +void EIC_2_Handler ( void ); +void EIC_3_Handler ( void ); +void EIC_4_Handler ( void ); +void EIC_5_Handler ( void ); +void EIC_6_Handler ( void ); +void EIC_7_Handler ( void ); +void EIC_8_Handler ( void ); +void EIC_9_Handler ( void ); +void EIC_10_Handler ( void ); +void EIC_11_Handler ( void ); +void EIC_12_Handler ( void ); +void EIC_13_Handler ( void ); +void EIC_14_Handler ( void ); +void EIC_15_Handler ( void ); +void FREQM_Handler ( void ); +void NVMCTRL_0_Handler ( void ); +void NVMCTRL_1_Handler ( void ); +void DMAC_0_Handler ( void ); +void DMAC_1_Handler ( void ); +void DMAC_2_Handler ( void ); +void DMAC_3_Handler ( void ); +void DMAC_4_Handler ( void ); +void EVSYS_0_Handler ( void ); +void EVSYS_1_Handler ( void ); +void EVSYS_2_Handler ( void ); +void EVSYS_3_Handler ( void ); +void EVSYS_4_Handler ( void ); +void PAC_Handler ( void ); +void TAL_0_Handler ( void ); +void TAL_1_Handler ( void ); +void RAMECC_Handler ( void ); +void SERCOM0_0_Handler ( void ); +void SERCOM0_1_Handler ( void ); +void SERCOM0_2_Handler ( void ); +void SERCOM0_3_Handler ( void ); +void SERCOM1_0_Handler ( void ); +void SERCOM1_1_Handler ( void ); +void SERCOM1_2_Handler ( void ); +void SERCOM1_3_Handler ( void ); +void SERCOM2_0_Handler ( void ); +void SERCOM2_1_Handler ( void ); +void SERCOM2_2_Handler ( void ); +void SERCOM2_3_Handler ( void ); +void SERCOM3_0_Handler ( void ); +void SERCOM3_1_Handler ( void ); +void SERCOM3_2_Handler ( void ); +void SERCOM3_3_Handler ( void ); +void SERCOM4_0_Handler ( void ); +void SERCOM4_1_Handler ( void ); +void SERCOM4_2_Handler ( void ); +void SERCOM4_3_Handler ( void ); +void SERCOM5_0_Handler ( void ); +void SERCOM5_1_Handler ( void ); +void SERCOM5_2_Handler ( void ); +void SERCOM5_3_Handler ( void ); +void SERCOM6_0_Handler ( void ); +void SERCOM6_1_Handler ( void ); +void SERCOM6_2_Handler ( void ); +void SERCOM6_3_Handler ( void ); +void SERCOM7_0_Handler ( void ); +void SERCOM7_1_Handler ( void ); +void SERCOM7_2_Handler ( void ); +void SERCOM7_3_Handler ( void ); +void CAN0_Handler ( void ); +void CAN1_Handler ( void ); +void USB_0_Handler ( void ); +void USB_1_Handler ( void ); +void USB_2_Handler ( void ); +void USB_3_Handler ( void ); +void GMAC_Handler ( void ); +void TCC0_0_Handler ( void ); +void TCC0_1_Handler ( void ); +void TCC0_2_Handler ( void ); +void TCC0_3_Handler ( void ); +void TCC0_4_Handler ( void ); +void TCC0_5_Handler ( void ); +void TCC0_6_Handler ( void ); +void TCC1_0_Handler ( void ); +void TCC1_1_Handler ( void ); +void TCC1_2_Handler ( void ); +void TCC1_3_Handler ( void ); +void TCC1_4_Handler ( void ); +void TCC2_0_Handler ( void ); +void TCC2_1_Handler ( void ); +void TCC2_2_Handler ( void ); +void TCC2_3_Handler ( void ); +void TCC3_0_Handler ( void ); +void TCC3_1_Handler ( void ); +void TCC3_2_Handler ( void ); +void TCC4_0_Handler ( void ); +void TCC4_1_Handler ( void ); +void TCC4_2_Handler ( void ); +void TC0_Handler ( void ); +void TC1_Handler ( void ); +void TC2_Handler ( void ); +void TC3_Handler ( void ); +void TC4_Handler ( void ); +void TC5_Handler ( void ); +void TC6_Handler ( void ); +void TC7_Handler ( void ); +void PDEC_0_Handler ( void ); +void PDEC_1_Handler ( void ); +void PDEC_2_Handler ( void ); +void ADC0_0_Handler ( void ); +void ADC0_1_Handler ( void ); +void ADC1_0_Handler ( void ); +void ADC1_1_Handler ( void ); +void AC_Handler ( void ); +void DAC_0_Handler ( void ); +void DAC_1_Handler ( void ); +void DAC_2_Handler ( void ); +void DAC_3_Handler ( void ); +void DAC_4_Handler ( void ); +void I2S_Handler ( void ); +void PCC_Handler ( void ); +void AES_Handler ( void ); +void TRNG_Handler ( void ); +void ICM_Handler ( void ); +void PUKCC_Handler ( void ); +void QSPI_Handler ( void ); +void SDHC0_Handler ( void ); +void SDHC1_Handler ( void ); + +/* + * \brief Configuration of the Cortex-M4 Processor and Core Peripherals + */ + +#define LITTLE_ENDIAN 1 +#define __CM4_REV 1 /*!< Core revision r0p1 */ +#define __DEBUG_LVL 3 /*!< Full debug plus DWT data matching */ +#define __FPU_PRESENT 1 /*!< FPU present or not */ +#define __MPU_PRESENT 1 /*!< MPU present or not */ +#define __NVIC_PRIO_BITS 3 /*!< Number of bits used for Priority Levels */ +#define __TRACE_LVL 2 /*!< Full trace: ITM, DWT triggers and counters, ETM */ +#define __VTOR_PRESENT 1 /*!< VTOR present or not */ +#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ + +/** + * \brief CMSIS includes + */ + +#include +#if !defined DONT_USE_CMSIS_INIT +#include "system_same54.h" +#endif /* DONT_USE_CMSIS_INIT */ + +/*@}*/ + +/* ************************************************************************** */ +/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME54N20A */ +/* ************************************************************************** */ +/** \defgroup SAME54N20A_api Peripheral Software API */ +/*@{*/ + +#include "component/ac.h" +#include "component/adc.h" +#include "component/aes.h" +#include "component/can.h" +#include "component/ccl.h" +#include "component/cmcc.h" +#include "component/dac.h" +#include "component/dmac.h" +#include "component/dsu.h" +#include "component/eic.h" +#include "component/evsys.h" +#include "component/freqm.h" +#include "component/gclk.h" +#include "component/gmac.h" +#include "component/hmatrixb.h" +#include "component/icm.h" +#include "component/i2s.h" +#include "component/mclk.h" +#include "component/nvmctrl.h" +#include "component/oscctrl.h" +#include "component/osc32kctrl.h" +#include "component/pac.h" +#include "component/pcc.h" +#include "component/pdec.h" +#include "component/pm.h" +#include "component/port.h" +#include "component/qspi.h" +#include "component/ramecc.h" +#include "component/rstc.h" +#include "component/rtc.h" +#include "component/sdhc.h" +#include "component/sercom.h" +#include "component/supc.h" +#include "component/tal.h" +#include "component/tc.h" +#include "component/tcc.h" +#include "component/trng.h" +#include "component/usb.h" +#include "component/wdt.h" +/*@}*/ + +/* ************************************************************************** */ +/** REGISTERS ACCESS DEFINITIONS FOR SAME54N20A */ +/* ************************************************************************** */ +/** \defgroup SAME54N20A_reg Registers Access Definitions */ +/*@{*/ + +#include "instance/ac.h" +#include "instance/adc0.h" +#include "instance/adc1.h" +#include "instance/aes.h" +#include "instance/can0.h" +#include "instance/can1.h" +#include "instance/ccl.h" +#include "instance/cmcc.h" +#include "instance/dac.h" +#include "instance/dmac.h" +#include "instance/dsu.h" +#include "instance/eic.h" +#include "instance/evsys.h" +#include "instance/freqm.h" +#include "instance/gclk.h" +#include "instance/gmac.h" +#include "instance/hmatrix.h" +#include "instance/icm.h" +#include "instance/i2s.h" +#include "instance/mclk.h" +#include "instance/nvmctrl.h" +#include "instance/oscctrl.h" +#include "instance/osc32kctrl.h" +#include "instance/pac.h" +#include "instance/pcc.h" +#include "instance/pdec.h" +#include "instance/pm.h" +#include "instance/port.h" +#include "instance/qspi.h" +#include "instance/ramecc.h" +#include "instance/rstc.h" +#include "instance/rtc.h" +#include "instance/sdhc0.h" +#include "instance/sdhc1.h" +#include "instance/sercom0.h" +#include "instance/sercom1.h" +#include "instance/sercom2.h" +#include "instance/sercom3.h" +#include "instance/sercom4.h" +#include "instance/sercom5.h" +#include "instance/sercom6.h" +#include "instance/sercom7.h" +#include "instance/supc.h" +#include "instance/tal.h" +#include "instance/tc0.h" +#include "instance/tc1.h" +#include "instance/tc2.h" +#include "instance/tc3.h" +#include "instance/tc4.h" +#include "instance/tc5.h" +#include "instance/tc6.h" +#include "instance/tc7.h" +#include "instance/tcc0.h" +#include "instance/tcc1.h" +#include "instance/tcc2.h" +#include "instance/tcc3.h" +#include "instance/tcc4.h" +#include "instance/trng.h" +#include "instance/usb.h" +#include "instance/wdt.h" +/*@}*/ + +/* ************************************************************************** */ +/** PERIPHERAL ID DEFINITIONS FOR SAME54N20A */ +/* ************************************************************************** */ +/** \defgroup SAME54N20A_id Peripheral Ids Definitions */ +/*@{*/ + +// Peripheral instances on HPB0 bridge +#define ID_PAC 0 /**< \brief Peripheral Access Controller (PAC) */ +#define ID_PM 1 /**< \brief Power Manager (PM) */ +#define ID_MCLK 2 /**< \brief Main Clock (MCLK) */ +#define ID_RSTC 3 /**< \brief Reset Controller (RSTC) */ +#define ID_OSCCTRL 4 /**< \brief Oscillators Control (OSCCTRL) */ +#define ID_OSC32KCTRL 5 /**< \brief 32kHz Oscillators Control (OSC32KCTRL) */ +#define ID_SUPC 6 /**< \brief Supply Controller (SUPC) */ +#define ID_GCLK 7 /**< \brief Generic Clock Generator (GCLK) */ +#define ID_WDT 8 /**< \brief Watchdog Timer (WDT) */ +#define ID_RTC 9 /**< \brief Real-Time Counter (RTC) */ +#define ID_EIC 10 /**< \brief External Interrupt Controller (EIC) */ +#define ID_FREQM 11 /**< \brief Frequency Meter (FREQM) */ +#define ID_SERCOM0 12 /**< \brief Serial Communication Interface 0 (SERCOM0) */ +#define ID_SERCOM1 13 /**< \brief Serial Communication Interface 1 (SERCOM1) */ +#define ID_TC0 14 /**< \brief Basic Timer Counter 0 (TC0) */ +#define ID_TC1 15 /**< \brief Basic Timer Counter 1 (TC1) */ + +// Peripheral instances on HPB1 bridge +#define ID_USB 32 /**< \brief Universal Serial Bus (USB) */ +#define ID_DSU 33 /**< \brief Device Service Unit (DSU) */ +#define ID_NVMCTRL 34 /**< \brief Non-Volatile Memory Controller (NVMCTRL) */ +#define ID_CMCC 35 /**< \brief Cortex M Cache Controller (CMCC) */ +#define ID_PORT 36 /**< \brief Port Module (PORT) */ +#define ID_DMAC 37 /**< \brief Direct Memory Access Controller (DMAC) */ +#define ID_HMATRIX 38 /**< \brief HSB Matrix (HMATRIX) */ +#define ID_EVSYS 39 /**< \brief Event System Interface (EVSYS) */ +#define ID_SERCOM2 41 /**< \brief Serial Communication Interface 2 (SERCOM2) */ +#define ID_SERCOM3 42 /**< \brief Serial Communication Interface 3 (SERCOM3) */ +#define ID_TCC0 43 /**< \brief Timer Counter Control 0 (TCC0) */ +#define ID_TCC1 44 /**< \brief Timer Counter Control 1 (TCC1) */ +#define ID_TC2 45 /**< \brief Basic Timer Counter 2 (TC2) */ +#define ID_TC3 46 /**< \brief Basic Timer Counter 3 (TC3) */ +#define ID_TAL 47 /**< \brief Trigger Allocator (TAL) */ +#define ID_RAMECC 48 /**< \brief RAM ECC (RAMECC) */ + +// Peripheral instances on HPB2 bridge +#define ID_CAN0 64 /**< \brief Control Area Network 0 (CAN0) */ +#define ID_CAN1 65 /**< \brief Control Area Network 1 (CAN1) */ +#define ID_GMAC 66 /**< \brief Ethernet MAC (GMAC) */ +#define ID_TCC2 67 /**< \brief Timer Counter Control 2 (TCC2) */ +#define ID_TCC3 68 /**< \brief Timer Counter Control 3 (TCC3) */ +#define ID_TC4 69 /**< \brief Basic Timer Counter 4 (TC4) */ +#define ID_TC5 70 /**< \brief Basic Timer Counter 5 (TC5) */ +#define ID_PDEC 71 /**< \brief Quadrature Decodeur (PDEC) */ +#define ID_AC 72 /**< \brief Analog Comparators (AC) */ +#define ID_AES 73 /**< \brief Advanced Encryption Standard (AES) */ +#define ID_TRNG 74 /**< \brief True Random Generator (TRNG) */ +#define ID_ICM 75 /**< \brief Integrity Check Monitor (ICM) */ +#define ID_PUKCC 76 /**< \brief PUblic-Key Cryptography Controller (PUKCC) */ +#define ID_QSPI 77 /**< \brief Quad SPI interface (QSPI) */ +#define ID_CCL 78 /**< \brief Configurable Custom Logic (CCL) */ + +// Peripheral instances on HPB3 bridge +#define ID_SERCOM4 96 /**< \brief Serial Communication Interface 4 (SERCOM4) */ +#define ID_SERCOM5 97 /**< \brief Serial Communication Interface 5 (SERCOM5) */ +#define ID_SERCOM6 98 /**< \brief Serial Communication Interface 6 (SERCOM6) */ +#define ID_SERCOM7 99 /**< \brief Serial Communication Interface 7 (SERCOM7) */ +#define ID_TCC4 100 /**< \brief Timer Counter Control 4 (TCC4) */ +#define ID_TC6 101 /**< \brief Basic Timer Counter 6 (TC6) */ +#define ID_TC7 102 /**< \brief Basic Timer Counter 7 (TC7) */ +#define ID_ADC0 103 /**< \brief Analog Digital Converter 0 (ADC0) */ +#define ID_ADC1 104 /**< \brief Analog Digital Converter 1 (ADC1) */ +#define ID_DAC 105 /**< \brief Digital-to-Analog Converter (DAC) */ +#define ID_I2S 106 /**< \brief Inter-IC Sound Interface (I2S) */ +#define ID_PCC 107 /**< \brief Parallel Capture Controller (PCC) */ + +// Peripheral instances on AHB (as if on bridge 4) +#define ID_SDHC0 128 /**< \brief SD/MMC Host Controller (SDHC0) */ +#define ID_SDHC1 129 /**< \brief SD/MMC Host Controller (SDHC1) */ + +#define ID_PERIPH_COUNT 130 /**< \brief Max number of peripheral IDs */ +/*@}*/ + +/* ************************************************************************** */ +/** BASE ADDRESS DEFINITIONS FOR SAME54N20A */ +/* ************************************************************************** */ +/** \defgroup SAME54N20A_base Peripheral Base Address Definitions */ +/*@{*/ + +#if defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__) +#define AC (0x42002000) /**< \brief (AC) APB Base Address */ +#define ADC0 (0x43001C00) /**< \brief (ADC0) APB Base Address */ +#define ADC1 (0x43002000) /**< \brief (ADC1) APB Base Address */ +#define AES (0x42002400) /**< \brief (AES) APB Base Address */ +#define CAN0 (0x42000000) /**< \brief (CAN0) APB Base Address */ +#define CAN1 (0x42000400) /**< \brief (CAN1) APB Base Address */ +#define CCL (0x42003800) /**< \brief (CCL) APB Base Address */ +#define CMCC (0x41006000) /**< \brief (CMCC) APB Base Address */ +#define CMCC_AHB (0x03000000) /**< \brief (CMCC) AHB Base Address */ +#define DAC (0x43002400) /**< \brief (DAC) APB Base Address */ +#define DMAC (0x4100A000) /**< \brief (DMAC) APB Base Address */ +#define DSU (0x41002000) /**< \brief (DSU) APB Base Address */ +#define EIC (0x40002800) /**< \brief (EIC) APB Base Address */ +#define EVSYS (0x4100E000) /**< \brief (EVSYS) APB Base Address */ +#define FREQM (0x40002C00) /**< \brief (FREQM) APB Base Address */ +#define GCLK (0x40001C00) /**< \brief (GCLK) APB Base Address */ +#define GMAC (0x42000800) /**< \brief (GMAC) APB Base Address */ +#define HMATRIX (0x4100C000) /**< \brief (HMATRIX) APB Base Address */ +#define ICM (0x42002C00) /**< \brief (ICM) APB Base Address */ +#define I2S (0x43002800) /**< \brief (I2S) APB Base Address */ +#define MCLK (0x40000800) /**< \brief (MCLK) APB Base Address */ +#define NVMCTRL (0x41004000) /**< \brief (NVMCTRL) APB Base Address */ +#define NVMCTRL_CB (0x00800000) /**< \brief (NVMCTRL) CB Base Address */ +#define NVMCTRL_CBW0 (0x00800000) /**< \brief (NVMCTRL) CBW0 Base Address */ +#define NVMCTRL_CBW1 (0x00800010) /**< \brief (NVMCTRL) CBW1 Base Address */ +#define NVMCTRL_CBW2 (0x00800020) /**< \brief (NVMCTRL) CBW2 Base Address */ +#define NVMCTRL_CBW3 (0x00800030) /**< \brief (NVMCTRL) CBW3 Base Address */ +#define NVMCTRL_CBW4 (0x00800040) /**< \brief (NVMCTRL) CBW4 Base Address */ +#define NVMCTRL_CBW5 (0x00800050) /**< \brief (NVMCTRL) CBW5 Base Address */ +#define NVMCTRL_CBW6 (0x00800060) /**< \brief (NVMCTRL) CBW6 Base Address */ +#define NVMCTRL_CBW7 (0x00800070) /**< \brief (NVMCTRL) CBW7 Base Address */ +#define NVMCTRL_FS (0x00806000) /**< \brief (NVMCTRL) FS Base Address */ +#define NVMCTRL_SW0 (0x00800080) /**< \brief (NVMCTRL) SW0 Base Address */ +#define NVMCTRL_SW1 (0x00800090) /**< \brief (NVMCTRL) SW1 Base Address */ +#define NVMCTRL_SW2 (0x008000A0) /**< \brief (NVMCTRL) SW2 Base Address */ +#define NVMCTRL_SW3 (0x008000B0) /**< \brief (NVMCTRL) SW3 Base Address */ +#define NVMCTRL_SW4 (0x008000C0) /**< \brief (NVMCTRL) SW4 Base Address */ +#define NVMCTRL_SW5 (0x008000D0) /**< \brief (NVMCTRL) SW5 Base Address */ +#define NVMCTRL_SW6 (0x008000E0) /**< \brief (NVMCTRL) SW6 Base Address */ +#define NVMCTRL_SW7 (0x008000F0) /**< \brief (NVMCTRL) SW7 Base Address */ +#define NVMCTRL_TEMP_LOG_W0 (0x00800100) /**< \brief (NVMCTRL) TEMP_LOG_W0 Base Address */ +#define NVMCTRL_TEMP_LOG_W1 (0x00800110) /**< \brief (NVMCTRL) TEMP_LOG_W1 Base Address */ +#define NVMCTRL_TEMP_LOG_W2 (0x00800120) /**< \brief (NVMCTRL) TEMP_LOG_W2 Base Address */ +#define NVMCTRL_TEMP_LOG_W3 (0x00800130) /**< \brief (NVMCTRL) TEMP_LOG_W3 Base Address */ +#define NVMCTRL_TEMP_LOG_W4 (0x00800140) /**< \brief (NVMCTRL) TEMP_LOG_W4 Base Address */ +#define NVMCTRL_TEMP_LOG_W5 (0x00800150) /**< \brief (NVMCTRL) TEMP_LOG_W5 Base Address */ +#define NVMCTRL_TEMP_LOG_W6 (0x00800160) /**< \brief (NVMCTRL) TEMP_LOG_W6 Base Address */ +#define NVMCTRL_TEMP_LOG_W7 (0x00800170) /**< \brief (NVMCTRL) TEMP_LOG_W7 Base Address */ +#define NVMCTRL_TLATCH (0x00802000) /**< \brief (NVMCTRL) TLATCH Base Address */ +#define NVMCTRL_USER (0x00804000) /**< \brief (NVMCTRL) USER Base Address */ +#define OSCCTRL (0x40001000) /**< \brief (OSCCTRL) APB Base Address */ +#define OSC32KCTRL (0x40001400) /**< \brief (OSC32KCTRL) APB Base Address */ +#define PAC (0x40000000) /**< \brief (PAC) APB Base Address */ +#define PCC (0x43002C00) /**< \brief (PCC) APB Base Address */ +#define PDEC (0x42001C00) /**< \brief (PDEC) APB Base Address */ +#define PM (0x40000400) /**< \brief (PM) APB Base Address */ +#define PORT (0x41008000) /**< \brief (PORT) APB Base Address */ +#define PUKCC (0x42003000) /**< \brief (PUKCC) APB Base Address */ +#define PUKCC_AHB (0x02000000) /**< \brief (PUKCC) AHB Base Address */ +#define QSPI (0x42003400) /**< \brief (QSPI) APB Base Address */ +#define QSPI_AHB (0x04000000) /**< \brief (QSPI) AHB Base Address */ +#define RAMECC (0x41020000) /**< \brief (RAMECC) APB Base Address */ +#define RSTC (0x40000C00) /**< \brief (RSTC) APB Base Address */ +#define RTC (0x40002400) /**< \brief (RTC) APB Base Address */ +#define SDHC0 (0x45000000) /**< \brief (SDHC0) AHB Base Address */ +#define SDHC1 (0x46000000) /**< \brief (SDHC1) AHB Base Address */ +#define SERCOM0 (0x40003000) /**< \brief (SERCOM0) APB Base Address */ +#define SERCOM1 (0x40003400) /**< \brief (SERCOM1) APB Base Address */ +#define SERCOM2 (0x41012000) /**< \brief (SERCOM2) APB Base Address */ +#define SERCOM3 (0x41014000) /**< \brief (SERCOM3) APB Base Address */ +#define SERCOM4 (0x43000000) /**< \brief (SERCOM4) APB Base Address */ +#define SERCOM5 (0x43000400) /**< \brief (SERCOM5) APB Base Address */ +#define SERCOM6 (0x43000800) /**< \brief (SERCOM6) APB Base Address */ +#define SERCOM7 (0x43000C00) /**< \brief (SERCOM7) APB Base Address */ +#define SUPC (0x40001800) /**< \brief (SUPC) APB Base Address */ +#define TAL (0x4101E000) /**< \brief (TAL) APB Base Address */ +#define TC0 (0x40003800) /**< \brief (TC0) APB Base Address */ +#define TC1 (0x40003C00) /**< \brief (TC1) APB Base Address */ +#define TC2 (0x4101A000) /**< \brief (TC2) APB Base Address */ +#define TC3 (0x4101C000) /**< \brief (TC3) APB Base Address */ +#define TC4 (0x42001400) /**< \brief (TC4) APB Base Address */ +#define TC5 (0x42001800) /**< \brief (TC5) APB Base Address */ +#define TC6 (0x43001400) /**< \brief (TC6) APB Base Address */ +#define TC7 (0x43001800) /**< \brief (TC7) APB Base Address */ +#define TCC0 (0x41016000) /**< \brief (TCC0) APB Base Address */ +#define TCC1 (0x41018000) /**< \brief (TCC1) APB Base Address */ +#define TCC2 (0x42000C00) /**< \brief (TCC2) APB Base Address */ +#define TCC3 (0x42001000) /**< \brief (TCC3) APB Base Address */ +#define TCC4 (0x43001000) /**< \brief (TCC4) APB Base Address */ +#define TRNG (0x42002800) /**< \brief (TRNG) APB Base Address */ +#define USB (0x41000000) /**< \brief (USB) APB Base Address */ +#define WDT (0x40002000) /**< \brief (WDT) APB Base Address */ +#else +#define AC ((Ac *)0x42002000UL) /**< \brief (AC) APB Base Address */ +#define AC_INST_NUM 1 /**< \brief (AC) Number of instances */ +#define AC_INSTS { AC } /**< \brief (AC) Instances List */ + +#define ADC0 ((Adc *)0x43001C00UL) /**< \brief (ADC0) APB Base Address */ +#define ADC1 ((Adc *)0x43002000UL) /**< \brief (ADC1) APB Base Address */ +#define ADC_INST_NUM 2 /**< \brief (ADC) Number of instances */ +#define ADC_INSTS { ADC0, ADC1 } /**< \brief (ADC) Instances List */ + +#define AES ((Aes *)0x42002400UL) /**< \brief (AES) APB Base Address */ +#define AES_INST_NUM 1 /**< \brief (AES) Number of instances */ +#define AES_INSTS { AES } /**< \brief (AES) Instances List */ + +#define CAN0 ((Can *)0x42000000UL) /**< \brief (CAN0) APB Base Address */ +#define CAN1 ((Can *)0x42000400UL) /**< \brief (CAN1) APB Base Address */ +#define CAN_INST_NUM 2 /**< \brief (CAN) Number of instances */ +#define CAN_INSTS { CAN0, CAN1 } /**< \brief (CAN) Instances List */ + +#define CCL ((Ccl *)0x42003800UL) /**< \brief (CCL) APB Base Address */ +#define CCL_INST_NUM 1 /**< \brief (CCL) Number of instances */ +#define CCL_INSTS { CCL } /**< \brief (CCL) Instances List */ + +#define CMCC ((Cmcc *)0x41006000UL) /**< \brief (CMCC) APB Base Address */ +#define CMCC_AHB (0x03000000UL) /**< \brief (CMCC) AHB Base Address */ +#define CMCC_INST_NUM 1 /**< \brief (CMCC) Number of instances */ +#define CMCC_INSTS { CMCC } /**< \brief (CMCC) Instances List */ + +#define DAC ((Dac *)0x43002400UL) /**< \brief (DAC) APB Base Address */ +#define DAC_INST_NUM 1 /**< \brief (DAC) Number of instances */ +#define DAC_INSTS { DAC } /**< \brief (DAC) Instances List */ + +#define DMAC ((Dmac *)0x4100A000UL) /**< \brief (DMAC) APB Base Address */ +#define DMAC_INST_NUM 1 /**< \brief (DMAC) Number of instances */ +#define DMAC_INSTS { DMAC } /**< \brief (DMAC) Instances List */ + +#define DSU ((Dsu *)0x41002000UL) /**< \brief (DSU) APB Base Address */ +#define DSU_INST_NUM 1 /**< \brief (DSU) Number of instances */ +#define DSU_INSTS { DSU } /**< \brief (DSU) Instances List */ + +#define EIC ((Eic *)0x40002800UL) /**< \brief (EIC) APB Base Address */ +#define EIC_INST_NUM 1 /**< \brief (EIC) Number of instances */ +#define EIC_INSTS { EIC } /**< \brief (EIC) Instances List */ + +#define EVSYS ((Evsys *)0x4100E000UL) /**< \brief (EVSYS) APB Base Address */ +#define EVSYS_INST_NUM 1 /**< \brief (EVSYS) Number of instances */ +#define EVSYS_INSTS { EVSYS } /**< \brief (EVSYS) Instances List */ + +#define FREQM ((Freqm *)0x40002C00UL) /**< \brief (FREQM) APB Base Address */ +#define FREQM_INST_NUM 1 /**< \brief (FREQM) Number of instances */ +#define FREQM_INSTS { FREQM } /**< \brief (FREQM) Instances List */ + +#define GCLK ((Gclk *)0x40001C00UL) /**< \brief (GCLK) APB Base Address */ +#define GCLK_INST_NUM 1 /**< \brief (GCLK) Number of instances */ +#define GCLK_INSTS { GCLK } /**< \brief (GCLK) Instances List */ + +#define GMAC ((Gmac *)0x42000800UL) /**< \brief (GMAC) APB Base Address */ +#define GMAC_INST_NUM 1 /**< \brief (GMAC) Number of instances */ +#define GMAC_INSTS { GMAC } /**< \brief (GMAC) Instances List */ + +#define HMATRIX ((Hmatrixb *)0x4100C000UL) /**< \brief (HMATRIX) APB Base Address */ +#define HMATRIXB_INST_NUM 1 /**< \brief (HMATRIXB) Number of instances */ +#define HMATRIXB_INSTS { HMATRIX } /**< \brief (HMATRIXB) Instances List */ + +#define ICM ((Icm *)0x42002C00UL) /**< \brief (ICM) APB Base Address */ +#define ICM_INST_NUM 1 /**< \brief (ICM) Number of instances */ +#define ICM_INSTS { ICM } /**< \brief (ICM) Instances List */ + +#define I2S ((I2s *)0x43002800UL) /**< \brief (I2S) APB Base Address */ +#define I2S_INST_NUM 1 /**< \brief (I2S) Number of instances */ +#define I2S_INSTS { I2S } /**< \brief (I2S) Instances List */ + +#define MCLK ((Mclk *)0x40000800UL) /**< \brief (MCLK) APB Base Address */ +#define MCLK_INST_NUM 1 /**< \brief (MCLK) Number of instances */ +#define MCLK_INSTS { MCLK } /**< \brief (MCLK) Instances List */ + +#define NVMCTRL ((Nvmctrl *)0x41004000UL) /**< \brief (NVMCTRL) APB Base Address */ +#define NVMCTRL_CB (0x00800000UL) /**< \brief (NVMCTRL) CB Base Address */ +#define NVMCTRL_CBW0 (0x00800000UL) /**< \brief (NVMCTRL) CBW0 Base Address */ +#define NVMCTRL_CBW1 (0x00800010UL) /**< \brief (NVMCTRL) CBW1 Base Address */ +#define NVMCTRL_CBW2 (0x00800020UL) /**< \brief (NVMCTRL) CBW2 Base Address */ +#define NVMCTRL_CBW3 (0x00800030UL) /**< \brief (NVMCTRL) CBW3 Base Address */ +#define NVMCTRL_CBW4 (0x00800040UL) /**< \brief (NVMCTRL) CBW4 Base Address */ +#define NVMCTRL_CBW5 (0x00800050UL) /**< \brief (NVMCTRL) CBW5 Base Address */ +#define NVMCTRL_CBW6 (0x00800060UL) /**< \brief (NVMCTRL) CBW6 Base Address */ +#define NVMCTRL_CBW7 (0x00800070UL) /**< \brief (NVMCTRL) CBW7 Base Address */ +#define NVMCTRL_FS (0x00806000UL) /**< \brief (NVMCTRL) FS Base Address */ +#define NVMCTRL_SW0 (0x00800080UL) /**< \brief (NVMCTRL) SW0 Base Address */ +#define NVMCTRL_SW1 (0x00800090UL) /**< \brief (NVMCTRL) SW1 Base Address */ +#define NVMCTRL_SW2 (0x008000A0UL) /**< \brief (NVMCTRL) SW2 Base Address */ +#define NVMCTRL_SW3 (0x008000B0UL) /**< \brief (NVMCTRL) SW3 Base Address */ +#define NVMCTRL_SW4 (0x008000C0UL) /**< \brief (NVMCTRL) SW4 Base Address */ +#define NVMCTRL_SW5 (0x008000D0UL) /**< \brief (NVMCTRL) SW5 Base Address */ +#define NVMCTRL_SW6 (0x008000E0UL) /**< \brief (NVMCTRL) SW6 Base Address */ +#define NVMCTRL_SW7 (0x008000F0UL) /**< \brief (NVMCTRL) SW7 Base Address */ +#define NVMCTRL_TEMP_LOG_W0 (0x00800100UL) /**< \brief (NVMCTRL) TEMP_LOG_W0 Base Address */ +#define NVMCTRL_TEMP_LOG_W1 (0x00800110UL) /**< \brief (NVMCTRL) TEMP_LOG_W1 Base Address */ +#define NVMCTRL_TEMP_LOG_W2 (0x00800120UL) /**< \brief (NVMCTRL) TEMP_LOG_W2 Base Address */ +#define NVMCTRL_TEMP_LOG_W3 (0x00800130UL) /**< \brief (NVMCTRL) TEMP_LOG_W3 Base Address */ +#define NVMCTRL_TEMP_LOG_W4 (0x00800140UL) /**< \brief (NVMCTRL) TEMP_LOG_W4 Base Address */ +#define NVMCTRL_TEMP_LOG_W5 (0x00800150UL) /**< \brief (NVMCTRL) TEMP_LOG_W5 Base Address */ +#define NVMCTRL_TEMP_LOG_W6 (0x00800160UL) /**< \brief (NVMCTRL) TEMP_LOG_W6 Base Address */ +#define NVMCTRL_TEMP_LOG_W7 (0x00800170UL) /**< \brief (NVMCTRL) TEMP_LOG_W7 Base Address */ +#define NVMCTRL_TLATCH (0x00802000UL) /**< \brief (NVMCTRL) TLATCH Base Address */ +#define NVMCTRL_USER (0x00804000UL) /**< \brief (NVMCTRL) USER Base Address */ +#define NVMCTRL_INST_NUM 1 /**< \brief (NVMCTRL) Number of instances */ +#define NVMCTRL_INSTS { NVMCTRL } /**< \brief (NVMCTRL) Instances List */ + +#define OSCCTRL ((Oscctrl *)0x40001000UL) /**< \brief (OSCCTRL) APB Base Address */ +#define OSCCTRL_INST_NUM 1 /**< \brief (OSCCTRL) Number of instances */ +#define OSCCTRL_INSTS { OSCCTRL } /**< \brief (OSCCTRL) Instances List */ + +#define OSC32KCTRL ((Osc32kctrl *)0x40001400UL) /**< \brief (OSC32KCTRL) APB Base Address */ +#define OSC32KCTRL_INST_NUM 1 /**< \brief (OSC32KCTRL) Number of instances */ +#define OSC32KCTRL_INSTS { OSC32KCTRL } /**< \brief (OSC32KCTRL) Instances List */ + +#define PAC ((Pac *)0x40000000UL) /**< \brief (PAC) APB Base Address */ +#define PAC_INST_NUM 1 /**< \brief (PAC) Number of instances */ +#define PAC_INSTS { PAC } /**< \brief (PAC) Instances List */ + +#define PCC ((Pcc *)0x43002C00UL) /**< \brief (PCC) APB Base Address */ +#define PCC_INST_NUM 1 /**< \brief (PCC) Number of instances */ +#define PCC_INSTS { PCC } /**< \brief (PCC) Instances List */ + +#define PDEC ((Pdec *)0x42001C00UL) /**< \brief (PDEC) APB Base Address */ +#define PDEC_INST_NUM 1 /**< \brief (PDEC) Number of instances */ +#define PDEC_INSTS { PDEC } /**< \brief (PDEC) Instances List */ + +#define PM ((Pm *)0x40000400UL) /**< \brief (PM) APB Base Address */ +#define PM_INST_NUM 1 /**< \brief (PM) Number of instances */ +#define PM_INSTS { PM } /**< \brief (PM) Instances List */ + +#define PORT ((Port *)0x41008000UL) /**< \brief (PORT) APB Base Address */ +#define PORT_INST_NUM 1 /**< \brief (PORT) Number of instances */ +#define PORT_INSTS { PORT } /**< \brief (PORT) Instances List */ + +#define PUKCC ((void *)0x42003000UL) /**< \brief (PUKCC) APB Base Address */ +#define PUKCC_AHB ((void *)0x02000000UL) /**< \brief (PUKCC) AHB Base Address */ +#define PUKCC_INST_NUM 1 /**< \brief (PUKCC) Number of instances */ +#define PUKCC_INSTS { PUKCC } /**< \brief (PUKCC) Instances List */ + +#define QSPI ((Qspi *)0x42003400UL) /**< \brief (QSPI) APB Base Address */ +#define QSPI_AHB (0x04000000UL) /**< \brief (QSPI) AHB Base Address */ +#define QSPI_INST_NUM 1 /**< \brief (QSPI) Number of instances */ +#define QSPI_INSTS { QSPI } /**< \brief (QSPI) Instances List */ + +#define RAMECC ((Ramecc *)0x41020000UL) /**< \brief (RAMECC) APB Base Address */ +#define RAMECC_INST_NUM 1 /**< \brief (RAMECC) Number of instances */ +#define RAMECC_INSTS { RAMECC } /**< \brief (RAMECC) Instances List */ + +#define RSTC ((Rstc *)0x40000C00UL) /**< \brief (RSTC) APB Base Address */ +#define RSTC_INST_NUM 1 /**< \brief (RSTC) Number of instances */ +#define RSTC_INSTS { RSTC } /**< \brief (RSTC) Instances List */ + +#define RTC ((Rtc *)0x40002400UL) /**< \brief (RTC) APB Base Address */ +#define RTC_INST_NUM 1 /**< \brief (RTC) Number of instances */ +#define RTC_INSTS { RTC } /**< \brief (RTC) Instances List */ + +#define SDHC0 ((Sdhc *)0x45000000UL) /**< \brief (SDHC0) AHB Base Address */ +#define SDHC1 ((Sdhc *)0x46000000UL) /**< \brief (SDHC1) AHB Base Address */ +#define SDHC_INST_NUM 2 /**< \brief (SDHC) Number of instances */ +#define SDHC_INSTS { SDHC0, SDHC1 } /**< \brief (SDHC) Instances List */ + +#define SERCOM0 ((Sercom *)0x40003000UL) /**< \brief (SERCOM0) APB Base Address */ +#define SERCOM1 ((Sercom *)0x40003400UL) /**< \brief (SERCOM1) APB Base Address */ +#define SERCOM2 ((Sercom *)0x41012000UL) /**< \brief (SERCOM2) APB Base Address */ +#define SERCOM3 ((Sercom *)0x41014000UL) /**< \brief (SERCOM3) APB Base Address */ +#define SERCOM4 ((Sercom *)0x43000000UL) /**< \brief (SERCOM4) APB Base Address */ +#define SERCOM5 ((Sercom *)0x43000400UL) /**< \brief (SERCOM5) APB Base Address */ +#define SERCOM6 ((Sercom *)0x43000800UL) /**< \brief (SERCOM6) APB Base Address */ +#define SERCOM7 ((Sercom *)0x43000C00UL) /**< \brief (SERCOM7) APB Base Address */ +#define SERCOM_INST_NUM 8 /**< \brief (SERCOM) Number of instances */ +#define SERCOM_INSTS { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5, SERCOM6, SERCOM7 } /**< \brief (SERCOM) Instances List */ + +#define SUPC ((Supc *)0x40001800UL) /**< \brief (SUPC) APB Base Address */ +#define SUPC_INST_NUM 1 /**< \brief (SUPC) Number of instances */ +#define SUPC_INSTS { SUPC } /**< \brief (SUPC) Instances List */ + +#define TAL ((Tal *)0x4101E000UL) /**< \brief (TAL) APB Base Address */ +#define TAL_INST_NUM 1 /**< \brief (TAL) Number of instances */ +#define TAL_INSTS { TAL } /**< \brief (TAL) Instances List */ + +#define TC0 ((Tc *)0x40003800UL) /**< \brief (TC0) APB Base Address */ +#define TC1 ((Tc *)0x40003C00UL) /**< \brief (TC1) APB Base Address */ +#define TC2 ((Tc *)0x4101A000UL) /**< \brief (TC2) APB Base Address */ +#define TC3 ((Tc *)0x4101C000UL) /**< \brief (TC3) APB Base Address */ +#define TC4 ((Tc *)0x42001400UL) /**< \brief (TC4) APB Base Address */ +#define TC5 ((Tc *)0x42001800UL) /**< \brief (TC5) APB Base Address */ +#define TC6 ((Tc *)0x43001400UL) /**< \brief (TC6) APB Base Address */ +#define TC7 ((Tc *)0x43001800UL) /**< \brief (TC7) APB Base Address */ +#define TC_INST_NUM 8 /**< \brief (TC) Number of instances */ +#define TC_INSTS { TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 } /**< \brief (TC) Instances List */ + +#define TCC0 ((Tcc *)0x41016000UL) /**< \brief (TCC0) APB Base Address */ +#define TCC1 ((Tcc *)0x41018000UL) /**< \brief (TCC1) APB Base Address */ +#define TCC2 ((Tcc *)0x42000C00UL) /**< \brief (TCC2) APB Base Address */ +#define TCC3 ((Tcc *)0x42001000UL) /**< \brief (TCC3) APB Base Address */ +#define TCC4 ((Tcc *)0x43001000UL) /**< \brief (TCC4) APB Base Address */ +#define TCC_INST_NUM 5 /**< \brief (TCC) Number of instances */ +#define TCC_INSTS { TCC0, TCC1, TCC2, TCC3, TCC4 } /**< \brief (TCC) Instances List */ + +#define TRNG ((Trng *)0x42002800UL) /**< \brief (TRNG) APB Base Address */ +#define TRNG_INST_NUM 1 /**< \brief (TRNG) Number of instances */ +#define TRNG_INSTS { TRNG } /**< \brief (TRNG) Instances List */ + +#define USB ((Usb *)0x41000000UL) /**< \brief (USB) APB Base Address */ +#define USB_INST_NUM 1 /**< \brief (USB) Number of instances */ +#define USB_INSTS { USB } /**< \brief (USB) Instances List */ + +#define WDT ((Wdt *)0x40002000UL) /**< \brief (WDT) APB Base Address */ +#define WDT_INST_NUM 1 /**< \brief (WDT) Number of instances */ +#define WDT_INSTS { WDT } /**< \brief (WDT) Instances List */ + +#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ +/*@}*/ + +/* ************************************************************************** */ +/** PORT DEFINITIONS FOR SAME54N20A */ +/* ************************************************************************** */ +/** \defgroup SAME54N20A_port PORT Definitions */ +/*@{*/ + +#include "pio/same54n20a.h" +/*@}*/ + +/* ************************************************************************** */ +/** MEMORY MAPPING DEFINITIONS FOR SAME54N20A */ +/* ************************************************************************** */ + +#define HSRAM_SIZE _UL_(0x00040000) /* 256 kB */ +#define FLASH_SIZE _UL_(0x00100000) /* 1024 kB */ +#define FLASH_PAGE_SIZE 512 +#define FLASH_NB_OF_PAGES 2048 +#define FLASH_USER_PAGE_SIZE 512 +#define BKUPRAM_SIZE _UL_(0x00002000) /* 8 kB */ +#define QSPI_SIZE _UL_(0x01000000) /* 16384 kB */ + +#define FLASH_ADDR _UL_(0x00000000) /**< FLASH base address */ +#define CMCC_DATARAM_ADDR _UL_(0x03000000) /**< CMCC_DATARAM base address */ +#define CMCC_DATARAM_SIZE _UL_(0x00001000) /**< CMCC_DATARAM size */ +#define CMCC_TAGRAM_ADDR _UL_(0x03001000) /**< CMCC_TAGRAM base address */ +#define CMCC_TAGRAM_SIZE _UL_(0x00000400) /**< CMCC_TAGRAM size */ +#define CMCC_VALIDRAM_ADDR _UL_(0x03002000) /**< CMCC_VALIDRAM base address */ +#define CMCC_VALIDRAM_SIZE _UL_(0x00000040) /**< CMCC_VALIDRAM size */ +#define HSRAM_ADDR _UL_(0x20000000) /**< HSRAM base address */ +#define HSRAM_ETB_ADDR _UL_(0x20000000) /**< HSRAM_ETB base address */ +#define HSRAM_ETB_SIZE _UL_(0x00008000) /**< HSRAM_ETB size */ +#define HSRAM_RET1_ADDR _UL_(0x20000000) /**< HSRAM_RET1 base address */ +#define HSRAM_RET1_SIZE _UL_(0x00008000) /**< HSRAM_RET1 size */ +#define HPB0_ADDR _UL_(0x40000000) /**< HPB0 base address */ +#define HPB1_ADDR _UL_(0x41000000) /**< HPB1 base address */ +#define HPB2_ADDR _UL_(0x42000000) /**< HPB2 base address */ +#define HPB3_ADDR _UL_(0x43000000) /**< HPB3 base address */ +#define SEEPROM_ADDR _UL_(0x44000000) /**< SEEPROM base address */ +#define BKUPRAM_ADDR _UL_(0x47000000) /**< BKUPRAM base address */ +#define PPB_ADDR _UL_(0xE0000000) /**< PPB base address */ + +#define DSU_DID_RESETVALUE _UL_(0x61840002) +#define PORT_GROUPS 3 + +/* ************************************************************************** */ +/** ELECTRICAL DEFINITIONS FOR SAME54N20A */ +/* ************************************************************************** */ + + +#ifdef __cplusplus +} +#endif + +/*@}*/ + +#endif /* SAME54N20A_H */ diff --git a/lib/same54/include/same54p19a.h b/lib/same54/include/same54p19a.h new file mode 100644 index 00000000..2cc2864c --- /dev/null +++ b/lib/same54/include/same54p19a.h @@ -0,0 +1,1145 @@ +/** + * \file + * + * \brief Header file for SAME54P19A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54P19A_ +#define _SAME54P19A_ + +/** + * \ingroup SAME54_definitions + * \addtogroup SAME54P19A_definitions SAME54P19A definitions + * This file defines all structures and symbols for SAME54P19A: + * - registers and bitfields + * - peripheral base address + * - peripheral ID + * - PIO definitions +*/ +/*@{*/ + +#ifdef __cplusplus + extern "C" { +#endif + +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +#include +#ifndef __cplusplus +typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ +typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ +typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ +#else +typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ +typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ +typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ +#endif +typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ +typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */ +typedef volatile uint8_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */ +typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ +typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */ +typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */ +#endif + +#if !defined(SKIP_INTEGER_LITERALS) +#if defined(_U_) || defined(_L_) || defined(_UL_) + #error "Integer Literals macros already defined elsewhere" +#endif + +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +/* Macros that deal with adding suffixes to integer literal constants for C/C++ */ +#define _U_(x) x ## U /**< C code: Unsigned integer literal constant value */ +#define _L_(x) x ## L /**< C code: Long integer literal constant value */ +#define _UL_(x) x ## UL /**< C code: Unsigned Long integer literal constant value */ +#else /* Assembler */ +#define _U_(x) x /**< Assembler: Unsigned integer literal constant value */ +#define _L_(x) x /**< Assembler: Long integer literal constant value */ +#define _UL_(x) x /**< Assembler: Unsigned Long integer literal constant value */ +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ +#endif /* SKIP_INTEGER_LITERALS */ + +/* ************************************************************************** */ +/** CMSIS DEFINITIONS FOR SAME54P19A */ +/* ************************************************************************** */ +/** \defgroup SAME54P19A_cmsis CMSIS Definitions */ +/*@{*/ + +/** Interrupt Number Definition */ +typedef enum IRQn +{ + /****** Cortex-M4 Processor Exceptions Numbers ******************************/ + NonMaskableInt_IRQn = -14,/**< 2 Non Maskable Interrupt */ + HardFault_IRQn = -13,/**< 3 Cortex-M4 Hard Fault Interrupt */ + MemoryManagement_IRQn = -12,/**< 4 Cortex-M4 Memory Management Interrupt */ + BusFault_IRQn = -11,/**< 5 Cortex-M4 Bus Fault Interrupt */ + UsageFault_IRQn = -10,/**< 6 Cortex-M4 Usage Fault Interrupt */ + SVCall_IRQn = -5, /**< 11 Cortex-M4 SV Call Interrupt */ + DebugMonitor_IRQn = -4, /**< 12 Cortex-M4 Debug Monitor Interrupt */ + PendSV_IRQn = -2, /**< 14 Cortex-M4 Pend SV Interrupt */ + SysTick_IRQn = -1, /**< 15 Cortex-M4 System Tick Interrupt */ + /****** SAME54P19A-specific Interrupt Numbers ***********************/ + PM_IRQn = 0, /**< 0 SAME54P19A Power Manager (PM) */ + MCLK_IRQn = 1, /**< 1 SAME54P19A Main Clock (MCLK) */ + OSCCTRL_0_IRQn = 2, /**< 2 SAME54P19A Oscillators Control (OSCCTRL): OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ + OSCCTRL_1_IRQn = 3, /**< 3 SAME54P19A Oscillators Control (OSCCTRL): OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ + OSCCTRL_2_IRQn = 4, /**< 4 SAME54P19A Oscillators Control (OSCCTRL): OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, OSCCTRL_DFLLRDY */ + OSCCTRL_3_IRQn = 5, /**< 5 SAME54P19A Oscillators Control (OSCCTRL): OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ + OSCCTRL_4_IRQn = 6, /**< 6 SAME54P19A Oscillators Control (OSCCTRL): OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ + OSC32KCTRL_IRQn = 7, /**< 7 SAME54P19A 32kHz Oscillators Control (OSC32KCTRL) */ + SUPC_0_IRQn = 8, /**< 8 SAME54P19A Supply Controller (SUPC): SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY */ + SUPC_1_IRQn = 9, /**< 9 SAME54P19A Supply Controller (SUPC): SUPC_BOD12DET, SUPC_BOD33DET */ + WDT_IRQn = 10, /**< 10 SAME54P19A Watchdog Timer (WDT) */ + RTC_IRQn = 11, /**< 11 SAME54P19A Real-Time Counter (RTC) */ + EIC_0_IRQn = 12, /**< 12 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_0 */ + EIC_1_IRQn = 13, /**< 13 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_1 */ + EIC_2_IRQn = 14, /**< 14 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_2 */ + EIC_3_IRQn = 15, /**< 15 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_3 */ + EIC_4_IRQn = 16, /**< 16 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_4 */ + EIC_5_IRQn = 17, /**< 17 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_5 */ + EIC_6_IRQn = 18, /**< 18 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_6 */ + EIC_7_IRQn = 19, /**< 19 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_7 */ + EIC_8_IRQn = 20, /**< 20 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_8 */ + EIC_9_IRQn = 21, /**< 21 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_9 */ + EIC_10_IRQn = 22, /**< 22 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_10 */ + EIC_11_IRQn = 23, /**< 23 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_11 */ + EIC_12_IRQn = 24, /**< 24 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_12 */ + EIC_13_IRQn = 25, /**< 25 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_13 */ + EIC_14_IRQn = 26, /**< 26 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_14 */ + EIC_15_IRQn = 27, /**< 27 SAME54P19A External Interrupt Controller (EIC): EIC_EXTINT_15 */ + FREQM_IRQn = 28, /**< 28 SAME54P19A Frequency Meter (FREQM) */ + NVMCTRL_0_IRQn = 29, /**< 29 SAME54P19A Non-Volatile Memory Controller (NVMCTRL): NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, NVMCTRL_7 */ + NVMCTRL_1_IRQn = 30, /**< 30 SAME54P19A Non-Volatile Memory Controller (NVMCTRL): NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ + DMAC_0_IRQn = 31, /**< 31 SAME54P19A Direct Memory Access Controller (DMAC): DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ + DMAC_1_IRQn = 32, /**< 32 SAME54P19A Direct Memory Access Controller (DMAC): DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ + DMAC_2_IRQn = 33, /**< 33 SAME54P19A Direct Memory Access Controller (DMAC): DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ + DMAC_3_IRQn = 34, /**< 34 SAME54P19A Direct Memory Access Controller (DMAC): DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ + DMAC_4_IRQn = 35, /**< 35 SAME54P19A Direct Memory Access Controller (DMAC): DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ + EVSYS_0_IRQn = 36, /**< 36 SAME54P19A Event System Interface (EVSYS): EVSYS_EVD_0, EVSYS_OVR_0 */ + EVSYS_1_IRQn = 37, /**< 37 SAME54P19A Event System Interface (EVSYS): EVSYS_EVD_1, EVSYS_OVR_1 */ + EVSYS_2_IRQn = 38, /**< 38 SAME54P19A Event System Interface (EVSYS): EVSYS_EVD_2, EVSYS_OVR_2 */ + EVSYS_3_IRQn = 39, /**< 39 SAME54P19A Event System Interface (EVSYS): EVSYS_EVD_3, EVSYS_OVR_3 */ + EVSYS_4_IRQn = 40, /**< 40 SAME54P19A Event System Interface (EVSYS): EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ + PAC_IRQn = 41, /**< 41 SAME54P19A Peripheral Access Controller (PAC) */ + TAL_0_IRQn = 42, /**< 42 SAME54P19A Trigger Allocator (TAL): TAL_BRK */ + TAL_1_IRQn = 43, /**< 43 SAME54P19A Trigger Allocator (TAL): TAL_IPS_0, TAL_IPS_1 */ + RAMECC_IRQn = 45, /**< 45 SAME54P19A RAM ECC (RAMECC) */ + SERCOM0_0_IRQn = 46, /**< 46 SAME54P19A Serial Communication Interface 0 (SERCOM0): SERCOM0_0 */ + SERCOM0_1_IRQn = 47, /**< 47 SAME54P19A Serial Communication Interface 0 (SERCOM0): SERCOM0_1 */ + SERCOM0_2_IRQn = 48, /**< 48 SAME54P19A Serial Communication Interface 0 (SERCOM0): SERCOM0_2 */ + SERCOM0_3_IRQn = 49, /**< 49 SAME54P19A Serial Communication Interface 0 (SERCOM0): SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ + SERCOM1_0_IRQn = 50, /**< 50 SAME54P19A Serial Communication Interface 1 (SERCOM1): SERCOM1_0 */ + SERCOM1_1_IRQn = 51, /**< 51 SAME54P19A Serial Communication Interface 1 (SERCOM1): SERCOM1_1 */ + SERCOM1_2_IRQn = 52, /**< 52 SAME54P19A Serial Communication Interface 1 (SERCOM1): SERCOM1_2 */ + SERCOM1_3_IRQn = 53, /**< 53 SAME54P19A Serial Communication Interface 1 (SERCOM1): SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ + SERCOM2_0_IRQn = 54, /**< 54 SAME54P19A Serial Communication Interface 2 (SERCOM2): SERCOM2_0 */ + SERCOM2_1_IRQn = 55, /**< 55 SAME54P19A Serial Communication Interface 2 (SERCOM2): SERCOM2_1 */ + SERCOM2_2_IRQn = 56, /**< 56 SAME54P19A Serial Communication Interface 2 (SERCOM2): SERCOM2_2 */ + SERCOM2_3_IRQn = 57, /**< 57 SAME54P19A Serial Communication Interface 2 (SERCOM2): SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ + SERCOM3_0_IRQn = 58, /**< 58 SAME54P19A Serial Communication Interface 3 (SERCOM3): SERCOM3_0 */ + SERCOM3_1_IRQn = 59, /**< 59 SAME54P19A Serial Communication Interface 3 (SERCOM3): SERCOM3_1 */ + SERCOM3_2_IRQn = 60, /**< 60 SAME54P19A Serial Communication Interface 3 (SERCOM3): SERCOM3_2 */ + SERCOM3_3_IRQn = 61, /**< 61 SAME54P19A Serial Communication Interface 3 (SERCOM3): SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ + SERCOM4_0_IRQn = 62, /**< 62 SAME54P19A Serial Communication Interface 4 (SERCOM4): SERCOM4_0 */ + SERCOM4_1_IRQn = 63, /**< 63 SAME54P19A Serial Communication Interface 4 (SERCOM4): SERCOM4_1 */ + SERCOM4_2_IRQn = 64, /**< 64 SAME54P19A Serial Communication Interface 4 (SERCOM4): SERCOM4_2 */ + SERCOM4_3_IRQn = 65, /**< 65 SAME54P19A Serial Communication Interface 4 (SERCOM4): SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ + SERCOM5_0_IRQn = 66, /**< 66 SAME54P19A Serial Communication Interface 5 (SERCOM5): SERCOM5_0 */ + SERCOM5_1_IRQn = 67, /**< 67 SAME54P19A Serial Communication Interface 5 (SERCOM5): SERCOM5_1 */ + SERCOM5_2_IRQn = 68, /**< 68 SAME54P19A Serial Communication Interface 5 (SERCOM5): SERCOM5_2 */ + SERCOM5_3_IRQn = 69, /**< 69 SAME54P19A Serial Communication Interface 5 (SERCOM5): SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ + SERCOM6_0_IRQn = 70, /**< 70 SAME54P19A Serial Communication Interface 6 (SERCOM6): SERCOM6_0 */ + SERCOM6_1_IRQn = 71, /**< 71 SAME54P19A Serial Communication Interface 6 (SERCOM6): SERCOM6_1 */ + SERCOM6_2_IRQn = 72, /**< 72 SAME54P19A Serial Communication Interface 6 (SERCOM6): SERCOM6_2 */ + SERCOM6_3_IRQn = 73, /**< 73 SAME54P19A Serial Communication Interface 6 (SERCOM6): SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ + SERCOM7_0_IRQn = 74, /**< 74 SAME54P19A Serial Communication Interface 7 (SERCOM7): SERCOM7_0 */ + SERCOM7_1_IRQn = 75, /**< 75 SAME54P19A Serial Communication Interface 7 (SERCOM7): SERCOM7_1 */ + SERCOM7_2_IRQn = 76, /**< 76 SAME54P19A Serial Communication Interface 7 (SERCOM7): SERCOM7_2 */ + SERCOM7_3_IRQn = 77, /**< 77 SAME54P19A Serial Communication Interface 7 (SERCOM7): SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ + CAN0_IRQn = 78, /**< 78 SAME54P19A Control Area Network 0 (CAN0) */ + CAN1_IRQn = 79, /**< 79 SAME54P19A Control Area Network 1 (CAN1) */ + USB_0_IRQn = 80, /**< 80 SAME54P19A Universal Serial Bus (USB): USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ + USB_1_IRQn = 81, /**< 81 SAME54P19A Universal Serial Bus (USB): USB_SOF_HSOF */ + USB_2_IRQn = 82, /**< 82 SAME54P19A Universal Serial Bus (USB): USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ + USB_3_IRQn = 83, /**< 83 SAME54P19A Universal Serial Bus (USB): USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ + GMAC_IRQn = 84, /**< 84 SAME54P19A Ethernet MAC (GMAC) */ + TCC0_0_IRQn = 85, /**< 85 SAME54P19A Timer Counter Control 0 (TCC0): TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ + TCC0_1_IRQn = 86, /**< 86 SAME54P19A Timer Counter Control 0 (TCC0): TCC0_MC_0 */ + TCC0_2_IRQn = 87, /**< 87 SAME54P19A Timer Counter Control 0 (TCC0): TCC0_MC_1 */ + TCC0_3_IRQn = 88, /**< 88 SAME54P19A Timer Counter Control 0 (TCC0): TCC0_MC_2 */ + TCC0_4_IRQn = 89, /**< 89 SAME54P19A Timer Counter Control 0 (TCC0): TCC0_MC_3 */ + TCC0_5_IRQn = 90, /**< 90 SAME54P19A Timer Counter Control 0 (TCC0): TCC0_MC_4 */ + TCC0_6_IRQn = 91, /**< 91 SAME54P19A Timer Counter Control 0 (TCC0): TCC0_MC_5 */ + TCC1_0_IRQn = 92, /**< 92 SAME54P19A Timer Counter Control 1 (TCC1): TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ + TCC1_1_IRQn = 93, /**< 93 SAME54P19A Timer Counter Control 1 (TCC1): TCC1_MC_0 */ + TCC1_2_IRQn = 94, /**< 94 SAME54P19A Timer Counter Control 1 (TCC1): TCC1_MC_1 */ + TCC1_3_IRQn = 95, /**< 95 SAME54P19A Timer Counter Control 1 (TCC1): TCC1_MC_2 */ + TCC1_4_IRQn = 96, /**< 96 SAME54P19A Timer Counter Control 1 (TCC1): TCC1_MC_3 */ + TCC2_0_IRQn = 97, /**< 97 SAME54P19A Timer Counter Control 2 (TCC2): TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ + TCC2_1_IRQn = 98, /**< 98 SAME54P19A Timer Counter Control 2 (TCC2): TCC2_MC_0 */ + TCC2_2_IRQn = 99, /**< 99 SAME54P19A Timer Counter Control 2 (TCC2): TCC2_MC_1 */ + TCC2_3_IRQn = 100, /**< 100 SAME54P19A Timer Counter Control 2 (TCC2): TCC2_MC_2 */ + TCC3_0_IRQn = 101, /**< 101 SAME54P19A Timer Counter Control 3 (TCC3): TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ + TCC3_1_IRQn = 102, /**< 102 SAME54P19A Timer Counter Control 3 (TCC3): TCC3_MC_0 */ + TCC3_2_IRQn = 103, /**< 103 SAME54P19A Timer Counter Control 3 (TCC3): TCC3_MC_1 */ + TCC4_0_IRQn = 104, /**< 104 SAME54P19A Timer Counter Control 4 (TCC4): TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ + TCC4_1_IRQn = 105, /**< 105 SAME54P19A Timer Counter Control 4 (TCC4): TCC4_MC_0 */ + TCC4_2_IRQn = 106, /**< 106 SAME54P19A Timer Counter Control 4 (TCC4): TCC4_MC_1 */ + TC0_IRQn = 107, /**< 107 SAME54P19A Basic Timer Counter 0 (TC0) */ + TC1_IRQn = 108, /**< 108 SAME54P19A Basic Timer Counter 1 (TC1) */ + TC2_IRQn = 109, /**< 109 SAME54P19A Basic Timer Counter 2 (TC2) */ + TC3_IRQn = 110, /**< 110 SAME54P19A Basic Timer Counter 3 (TC3) */ + TC4_IRQn = 111, /**< 111 SAME54P19A Basic Timer Counter 4 (TC4) */ + TC5_IRQn = 112, /**< 112 SAME54P19A Basic Timer Counter 5 (TC5) */ + TC6_IRQn = 113, /**< 113 SAME54P19A Basic Timer Counter 6 (TC6) */ + TC7_IRQn = 114, /**< 114 SAME54P19A Basic Timer Counter 7 (TC7) */ + PDEC_0_IRQn = 115, /**< 115 SAME54P19A Quadrature Decodeur (PDEC): PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ + PDEC_1_IRQn = 116, /**< 116 SAME54P19A Quadrature Decodeur (PDEC): PDEC_MC_0 */ + PDEC_2_IRQn = 117, /**< 117 SAME54P19A Quadrature Decodeur (PDEC): PDEC_MC_1 */ + ADC0_0_IRQn = 118, /**< 118 SAME54P19A Analog Digital Converter 0 (ADC0): ADC0_OVERRUN, ADC0_WINMON */ + ADC0_1_IRQn = 119, /**< 119 SAME54P19A Analog Digital Converter 0 (ADC0): ADC0_RESRDY */ + ADC1_0_IRQn = 120, /**< 120 SAME54P19A Analog Digital Converter 1 (ADC1): ADC1_OVERRUN, ADC1_WINMON */ + ADC1_1_IRQn = 121, /**< 121 SAME54P19A Analog Digital Converter 1 (ADC1): ADC1_RESRDY */ + AC_IRQn = 122, /**< 122 SAME54P19A Analog Comparators (AC) */ + DAC_0_IRQn = 123, /**< 123 SAME54P19A Digital-to-Analog Converter (DAC): DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ + DAC_1_IRQn = 124, /**< 124 SAME54P19A Digital-to-Analog Converter (DAC): DAC_EMPTY_0 */ + DAC_2_IRQn = 125, /**< 125 SAME54P19A Digital-to-Analog Converter (DAC): DAC_EMPTY_1 */ + DAC_3_IRQn = 126, /**< 126 SAME54P19A Digital-to-Analog Converter (DAC): DAC_RESRDY_0 */ + DAC_4_IRQn = 127, /**< 127 SAME54P19A Digital-to-Analog Converter (DAC): DAC_RESRDY_1 */ + I2S_IRQn = 128, /**< 128 SAME54P19A Inter-IC Sound Interface (I2S) */ + PCC_IRQn = 129, /**< 129 SAME54P19A Parallel Capture Controller (PCC) */ + AES_IRQn = 130, /**< 130 SAME54P19A Advanced Encryption Standard (AES) */ + TRNG_IRQn = 131, /**< 131 SAME54P19A True Random Generator (TRNG) */ + ICM_IRQn = 132, /**< 132 SAME54P19A Integrity Check Monitor (ICM) */ + PUKCC_IRQn = 133, /**< 133 SAME54P19A PUblic-Key Cryptography Controller (PUKCC) */ + QSPI_IRQn = 134, /**< 134 SAME54P19A Quad SPI interface (QSPI) */ + SDHC0_IRQn = 135, /**< 135 SAME54P19A SD/MMC Host Controller 0 (SDHC0) */ + SDHC1_IRQn = 136, /**< 136 SAME54P19A SD/MMC Host Controller 1 (SDHC1) */ + + PERIPH_COUNT_IRQn = 137 /**< Number of peripheral IDs */ +} IRQn_Type; + +typedef struct _DeviceVectors +{ + /* Stack pointer */ + void* pvStack; + + /* Cortex-M handlers */ + void* pfnReset_Handler; + void* pfnNMI_Handler; + void* pfnHardFault_Handler; + void* pfnMemManage_Handler; + void* pfnBusFault_Handler; + void* pfnUsageFault_Handler; + void* pvReservedM9; + void* pvReservedM8; + void* pvReservedM7; + void* pvReservedM6; + void* pfnSVC_Handler; + void* pfnDebugMon_Handler; + void* pvReservedM3; + void* pfnPendSV_Handler; + void* pfnSysTick_Handler; + + /* Peripheral handlers */ + void* pfnPM_Handler; /* 0 Power Manager */ + void* pfnMCLK_Handler; /* 1 Main Clock */ + void* pfnOSCCTRL_0_Handler; /* 2 Oscillators Control IRQ 0 */ + void* pfnOSCCTRL_1_Handler; /* 3 Oscillators Control IRQ 1 */ + void* pfnOSCCTRL_2_Handler; /* 4 Oscillators Control IRQ 2 */ + void* pfnOSCCTRL_3_Handler; /* 5 Oscillators Control IRQ 3 */ + void* pfnOSCCTRL_4_Handler; /* 6 Oscillators Control IRQ 4 */ + void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control */ + void* pfnSUPC_0_Handler; /* 8 Supply Controller IRQ 0 */ + void* pfnSUPC_1_Handler; /* 9 Supply Controller IRQ 1 */ + void* pfnWDT_Handler; /* 10 Watchdog Timer */ + void* pfnRTC_Handler; /* 11 Real-Time Counter */ + void* pfnEIC_0_Handler; /* 12 External Interrupt Controller IRQ 0 */ + void* pfnEIC_1_Handler; /* 13 External Interrupt Controller IRQ 1 */ + void* pfnEIC_2_Handler; /* 14 External Interrupt Controller IRQ 2 */ + void* pfnEIC_3_Handler; /* 15 External Interrupt Controller IRQ 3 */ + void* pfnEIC_4_Handler; /* 16 External Interrupt Controller IRQ 4 */ + void* pfnEIC_5_Handler; /* 17 External Interrupt Controller IRQ 5 */ + void* pfnEIC_6_Handler; /* 18 External Interrupt Controller IRQ 6 */ + void* pfnEIC_7_Handler; /* 19 External Interrupt Controller IRQ 7 */ + void* pfnEIC_8_Handler; /* 20 External Interrupt Controller IRQ 8 */ + void* pfnEIC_9_Handler; /* 21 External Interrupt Controller IRQ 9 */ + void* pfnEIC_10_Handler; /* 22 External Interrupt Controller IRQ 10 */ + void* pfnEIC_11_Handler; /* 23 External Interrupt Controller IRQ 11 */ + void* pfnEIC_12_Handler; /* 24 External Interrupt Controller IRQ 12 */ + void* pfnEIC_13_Handler; /* 25 External Interrupt Controller IRQ 13 */ + void* pfnEIC_14_Handler; /* 26 External Interrupt Controller IRQ 14 */ + void* pfnEIC_15_Handler; /* 27 External Interrupt Controller IRQ 15 */ + void* pfnFREQM_Handler; /* 28 Frequency Meter */ + void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller IRQ 0 */ + void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller IRQ 1 */ + void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller IRQ 0 */ + void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller IRQ 1 */ + void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller IRQ 2 */ + void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller IRQ 3 */ + void* pfnDMAC_4_Handler; /* 35 Direct Memory Access Controller IRQ 4 */ + void* pfnEVSYS_0_Handler; /* 36 Event System Interface IRQ 0 */ + void* pfnEVSYS_1_Handler; /* 37 Event System Interface IRQ 1 */ + void* pfnEVSYS_2_Handler; /* 38 Event System Interface IRQ 2 */ + void* pfnEVSYS_3_Handler; /* 39 Event System Interface IRQ 3 */ + void* pfnEVSYS_4_Handler; /* 40 Event System Interface IRQ 4 */ + void* pfnPAC_Handler; /* 41 Peripheral Access Controller */ + void* pfnTAL_0_Handler; /* 42 Trigger Allocator IRQ 0 */ + void* pfnTAL_1_Handler; /* 43 Trigger Allocator IRQ 1 */ + void* pvReserved44; + void* pfnRAMECC_Handler; /* 45 RAM ECC */ + void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface 0 IRQ 0 */ + void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface 0 IRQ 1 */ + void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface 0 IRQ 2 */ + void* pfnSERCOM0_3_Handler; /* 49 Serial Communication Interface 0 IRQ 3 */ + void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface 1 IRQ 0 */ + void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface 1 IRQ 1 */ + void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface 1 IRQ 2 */ + void* pfnSERCOM1_3_Handler; /* 53 Serial Communication Interface 1 IRQ 3 */ + void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface 2 IRQ 0 */ + void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface 2 IRQ 1 */ + void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface 2 IRQ 2 */ + void* pfnSERCOM2_3_Handler; /* 57 Serial Communication Interface 2 IRQ 3 */ + void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface 3 IRQ 0 */ + void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface 3 IRQ 1 */ + void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface 3 IRQ 2 */ + void* pfnSERCOM3_3_Handler; /* 61 Serial Communication Interface 3 IRQ 3 */ + void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface 4 IRQ 0 */ + void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface 4 IRQ 1 */ + void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface 4 IRQ 2 */ + void* pfnSERCOM4_3_Handler; /* 65 Serial Communication Interface 4 IRQ 3 */ + void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface 5 IRQ 0 */ + void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface 5 IRQ 1 */ + void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface 5 IRQ 2 */ + void* pfnSERCOM5_3_Handler; /* 69 Serial Communication Interface 5 IRQ 3 */ + void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface 6 IRQ 0 */ + void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface 6 IRQ 1 */ + void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface 6 IRQ 2 */ + void* pfnSERCOM6_3_Handler; /* 73 Serial Communication Interface 6 IRQ 3 */ + void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface 7 IRQ 0 */ + void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface 7 IRQ 1 */ + void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface 7 IRQ 2 */ + void* pfnSERCOM7_3_Handler; /* 77 Serial Communication Interface 7 IRQ 3 */ + void* pfnCAN0_Handler; /* 78 Control Area Network 0 */ + void* pfnCAN1_Handler; /* 79 Control Area Network 1 */ + void* pfnUSB_0_Handler; /* 80 Universal Serial Bus IRQ 0 */ + void* pfnUSB_1_Handler; /* 81 Universal Serial Bus IRQ 1 */ + void* pfnUSB_2_Handler; /* 82 Universal Serial Bus IRQ 2 */ + void* pfnUSB_3_Handler; /* 83 Universal Serial Bus IRQ 3 */ + void* pfnGMAC_Handler; /* 84 Ethernet MAC */ + void* pfnTCC0_0_Handler; /* 85 Timer Counter Control 0 IRQ 0 */ + void* pfnTCC0_1_Handler; /* 86 Timer Counter Control 0 IRQ 1 */ + void* pfnTCC0_2_Handler; /* 87 Timer Counter Control 0 IRQ 2 */ + void* pfnTCC0_3_Handler; /* 88 Timer Counter Control 0 IRQ 3 */ + void* pfnTCC0_4_Handler; /* 89 Timer Counter Control 0 IRQ 4 */ + void* pfnTCC0_5_Handler; /* 90 Timer Counter Control 0 IRQ 5 */ + void* pfnTCC0_6_Handler; /* 91 Timer Counter Control 0 IRQ 6 */ + void* pfnTCC1_0_Handler; /* 92 Timer Counter Control 1 IRQ 0 */ + void* pfnTCC1_1_Handler; /* 93 Timer Counter Control 1 IRQ 1 */ + void* pfnTCC1_2_Handler; /* 94 Timer Counter Control 1 IRQ 2 */ + void* pfnTCC1_3_Handler; /* 95 Timer Counter Control 1 IRQ 3 */ + void* pfnTCC1_4_Handler; /* 96 Timer Counter Control 1 IRQ 4 */ + void* pfnTCC2_0_Handler; /* 97 Timer Counter Control 2 IRQ 0 */ + void* pfnTCC2_1_Handler; /* 98 Timer Counter Control 2 IRQ 1 */ + void* pfnTCC2_2_Handler; /* 99 Timer Counter Control 2 IRQ 2 */ + void* pfnTCC2_3_Handler; /* 100 Timer Counter Control 2 IRQ 3 */ + void* pfnTCC3_0_Handler; /* 101 Timer Counter Control 3 IRQ 0 */ + void* pfnTCC3_1_Handler; /* 102 Timer Counter Control 3 IRQ 1 */ + void* pfnTCC3_2_Handler; /* 103 Timer Counter Control 3 IRQ 2 */ + void* pfnTCC4_0_Handler; /* 104 Timer Counter Control 4 IRQ 0 */ + void* pfnTCC4_1_Handler; /* 105 Timer Counter Control 4 IRQ 1 */ + void* pfnTCC4_2_Handler; /* 106 Timer Counter Control 4 IRQ 2 */ + void* pfnTC0_Handler; /* 107 Basic Timer Counter 0 */ + void* pfnTC1_Handler; /* 108 Basic Timer Counter 1 */ + void* pfnTC2_Handler; /* 109 Basic Timer Counter 2 */ + void* pfnTC3_Handler; /* 110 Basic Timer Counter 3 */ + void* pfnTC4_Handler; /* 111 Basic Timer Counter 4 */ + void* pfnTC5_Handler; /* 112 Basic Timer Counter 5 */ + void* pfnTC6_Handler; /* 113 Basic Timer Counter 6 */ + void* pfnTC7_Handler; /* 114 Basic Timer Counter 7 */ + void* pfnPDEC_0_Handler; /* 115 Quadrature Decodeur IRQ 0 */ + void* pfnPDEC_1_Handler; /* 116 Quadrature Decodeur IRQ 1 */ + void* pfnPDEC_2_Handler; /* 117 Quadrature Decodeur IRQ 2 */ + void* pfnADC0_0_Handler; /* 118 Analog Digital Converter 0 IRQ 0 */ + void* pfnADC0_1_Handler; /* 119 Analog Digital Converter 0 IRQ 1 */ + void* pfnADC1_0_Handler; /* 120 Analog Digital Converter 1 IRQ 0 */ + void* pfnADC1_1_Handler; /* 121 Analog Digital Converter 1 IRQ 1 */ + void* pfnAC_Handler; /* 122 Analog Comparators */ + void* pfnDAC_0_Handler; /* 123 Digital-to-Analog Converter IRQ 0 */ + void* pfnDAC_1_Handler; /* 124 Digital-to-Analog Converter IRQ 1 */ + void* pfnDAC_2_Handler; /* 125 Digital-to-Analog Converter IRQ 2 */ + void* pfnDAC_3_Handler; /* 126 Digital-to-Analog Converter IRQ 3 */ + void* pfnDAC_4_Handler; /* 127 Digital-to-Analog Converter IRQ 4 */ + void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface */ + void* pfnPCC_Handler; /* 129 Parallel Capture Controller */ + void* pfnAES_Handler; /* 130 Advanced Encryption Standard */ + void* pfnTRNG_Handler; /* 131 True Random Generator */ + void* pfnICM_Handler; /* 132 Integrity Check Monitor */ + void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller */ + void* pfnQSPI_Handler; /* 134 Quad SPI interface */ + void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller 0 */ + void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller 1 */ +} DeviceVectors; + +/* Cortex-M4 processor handlers */ +void Reset_Handler ( void ); +void NMI_Handler ( void ); +void HardFault_Handler ( void ); +void MemManage_Handler ( void ); +void BusFault_Handler ( void ); +void UsageFault_Handler ( void ); +void SVC_Handler ( void ); +void DebugMon_Handler ( void ); +void PendSV_Handler ( void ); +void SysTick_Handler ( void ); + +/* Peripherals handlers */ +void PM_Handler ( void ); +void MCLK_Handler ( void ); +void OSCCTRL_0_Handler ( void ); +void OSCCTRL_1_Handler ( void ); +void OSCCTRL_2_Handler ( void ); +void OSCCTRL_3_Handler ( void ); +void OSCCTRL_4_Handler ( void ); +void OSC32KCTRL_Handler ( void ); +void SUPC_0_Handler ( void ); +void SUPC_1_Handler ( void ); +void WDT_Handler ( void ); +void RTC_Handler ( void ); +void EIC_0_Handler ( void ); +void EIC_1_Handler ( void ); +void EIC_2_Handler ( void ); +void EIC_3_Handler ( void ); +void EIC_4_Handler ( void ); +void EIC_5_Handler ( void ); +void EIC_6_Handler ( void ); +void EIC_7_Handler ( void ); +void EIC_8_Handler ( void ); +void EIC_9_Handler ( void ); +void EIC_10_Handler ( void ); +void EIC_11_Handler ( void ); +void EIC_12_Handler ( void ); +void EIC_13_Handler ( void ); +void EIC_14_Handler ( void ); +void EIC_15_Handler ( void ); +void FREQM_Handler ( void ); +void NVMCTRL_0_Handler ( void ); +void NVMCTRL_1_Handler ( void ); +void DMAC_0_Handler ( void ); +void DMAC_1_Handler ( void ); +void DMAC_2_Handler ( void ); +void DMAC_3_Handler ( void ); +void DMAC_4_Handler ( void ); +void EVSYS_0_Handler ( void ); +void EVSYS_1_Handler ( void ); +void EVSYS_2_Handler ( void ); +void EVSYS_3_Handler ( void ); +void EVSYS_4_Handler ( void ); +void PAC_Handler ( void ); +void TAL_0_Handler ( void ); +void TAL_1_Handler ( void ); +void RAMECC_Handler ( void ); +void SERCOM0_0_Handler ( void ); +void SERCOM0_1_Handler ( void ); +void SERCOM0_2_Handler ( void ); +void SERCOM0_3_Handler ( void ); +void SERCOM1_0_Handler ( void ); +void SERCOM1_1_Handler ( void ); +void SERCOM1_2_Handler ( void ); +void SERCOM1_3_Handler ( void ); +void SERCOM2_0_Handler ( void ); +void SERCOM2_1_Handler ( void ); +void SERCOM2_2_Handler ( void ); +void SERCOM2_3_Handler ( void ); +void SERCOM3_0_Handler ( void ); +void SERCOM3_1_Handler ( void ); +void SERCOM3_2_Handler ( void ); +void SERCOM3_3_Handler ( void ); +void SERCOM4_0_Handler ( void ); +void SERCOM4_1_Handler ( void ); +void SERCOM4_2_Handler ( void ); +void SERCOM4_3_Handler ( void ); +void SERCOM5_0_Handler ( void ); +void SERCOM5_1_Handler ( void ); +void SERCOM5_2_Handler ( void ); +void SERCOM5_3_Handler ( void ); +void SERCOM6_0_Handler ( void ); +void SERCOM6_1_Handler ( void ); +void SERCOM6_2_Handler ( void ); +void SERCOM6_3_Handler ( void ); +void SERCOM7_0_Handler ( void ); +void SERCOM7_1_Handler ( void ); +void SERCOM7_2_Handler ( void ); +void SERCOM7_3_Handler ( void ); +void CAN0_Handler ( void ); +void CAN1_Handler ( void ); +void USB_0_Handler ( void ); +void USB_1_Handler ( void ); +void USB_2_Handler ( void ); +void USB_3_Handler ( void ); +void GMAC_Handler ( void ); +void TCC0_0_Handler ( void ); +void TCC0_1_Handler ( void ); +void TCC0_2_Handler ( void ); +void TCC0_3_Handler ( void ); +void TCC0_4_Handler ( void ); +void TCC0_5_Handler ( void ); +void TCC0_6_Handler ( void ); +void TCC1_0_Handler ( void ); +void TCC1_1_Handler ( void ); +void TCC1_2_Handler ( void ); +void TCC1_3_Handler ( void ); +void TCC1_4_Handler ( void ); +void TCC2_0_Handler ( void ); +void TCC2_1_Handler ( void ); +void TCC2_2_Handler ( void ); +void TCC2_3_Handler ( void ); +void TCC3_0_Handler ( void ); +void TCC3_1_Handler ( void ); +void TCC3_2_Handler ( void ); +void TCC4_0_Handler ( void ); +void TCC4_1_Handler ( void ); +void TCC4_2_Handler ( void ); +void TC0_Handler ( void ); +void TC1_Handler ( void ); +void TC2_Handler ( void ); +void TC3_Handler ( void ); +void TC4_Handler ( void ); +void TC5_Handler ( void ); +void TC6_Handler ( void ); +void TC7_Handler ( void ); +void PDEC_0_Handler ( void ); +void PDEC_1_Handler ( void ); +void PDEC_2_Handler ( void ); +void ADC0_0_Handler ( void ); +void ADC0_1_Handler ( void ); +void ADC1_0_Handler ( void ); +void ADC1_1_Handler ( void ); +void AC_Handler ( void ); +void DAC_0_Handler ( void ); +void DAC_1_Handler ( void ); +void DAC_2_Handler ( void ); +void DAC_3_Handler ( void ); +void DAC_4_Handler ( void ); +void I2S_Handler ( void ); +void PCC_Handler ( void ); +void AES_Handler ( void ); +void TRNG_Handler ( void ); +void ICM_Handler ( void ); +void PUKCC_Handler ( void ); +void QSPI_Handler ( void ); +void SDHC0_Handler ( void ); +void SDHC1_Handler ( void ); + +/* + * \brief Configuration of the Cortex-M4 Processor and Core Peripherals + */ + +#define LITTLE_ENDIAN 1 +#define __CM4_REV 1 /*!< Core revision r0p1 */ +#define __DEBUG_LVL 3 /*!< Full debug plus DWT data matching */ +#define __FPU_PRESENT 1 /*!< FPU present or not */ +#define __MPU_PRESENT 1 /*!< MPU present or not */ +#define __NVIC_PRIO_BITS 3 /*!< Number of bits used for Priority Levels */ +#define __TRACE_LVL 2 /*!< Full trace: ITM, DWT triggers and counters, ETM */ +#define __VTOR_PRESENT 1 /*!< VTOR present or not */ +#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ + +/** + * \brief CMSIS includes + */ + +#include +#if !defined DONT_USE_CMSIS_INIT +#include "system_same54.h" +#endif /* DONT_USE_CMSIS_INIT */ + +/*@}*/ + +/* ************************************************************************** */ +/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME54P19A */ +/* ************************************************************************** */ +/** \defgroup SAME54P19A_api Peripheral Software API */ +/*@{*/ + +#include "component/ac.h" +#include "component/adc.h" +#include "component/aes.h" +#include "component/can.h" +#include "component/ccl.h" +#include "component/cmcc.h" +#include "component/dac.h" +#include "component/dmac.h" +#include "component/dsu.h" +#include "component/eic.h" +#include "component/evsys.h" +#include "component/freqm.h" +#include "component/gclk.h" +#include "component/gmac.h" +#include "component/hmatrixb.h" +#include "component/icm.h" +#include "component/i2s.h" +#include "component/mclk.h" +#include "component/nvmctrl.h" +#include "component/oscctrl.h" +#include "component/osc32kctrl.h" +#include "component/pac.h" +#include "component/pcc.h" +#include "component/pdec.h" +#include "component/pm.h" +#include "component/port.h" +#include "component/qspi.h" +#include "component/ramecc.h" +#include "component/rstc.h" +#include "component/rtc.h" +#include "component/sdhc.h" +#include "component/sercom.h" +#include "component/supc.h" +#include "component/tal.h" +#include "component/tc.h" +#include "component/tcc.h" +#include "component/trng.h" +#include "component/usb.h" +#include "component/wdt.h" +/*@}*/ + +/* ************************************************************************** */ +/** REGISTERS ACCESS DEFINITIONS FOR SAME54P19A */ +/* ************************************************************************** */ +/** \defgroup SAME54P19A_reg Registers Access Definitions */ +/*@{*/ + +#include "instance/ac.h" +#include "instance/adc0.h" +#include "instance/adc1.h" +#include "instance/aes.h" +#include "instance/can0.h" +#include "instance/can1.h" +#include "instance/ccl.h" +#include "instance/cmcc.h" +#include "instance/dac.h" +#include "instance/dmac.h" +#include "instance/dsu.h" +#include "instance/eic.h" +#include "instance/evsys.h" +#include "instance/freqm.h" +#include "instance/gclk.h" +#include "instance/gmac.h" +#include "instance/hmatrix.h" +#include "instance/icm.h" +#include "instance/i2s.h" +#include "instance/mclk.h" +#include "instance/nvmctrl.h" +#include "instance/oscctrl.h" +#include "instance/osc32kctrl.h" +#include "instance/pac.h" +#include "instance/pcc.h" +#include "instance/pdec.h" +#include "instance/pm.h" +#include "instance/port.h" +#include "instance/qspi.h" +#include "instance/ramecc.h" +#include "instance/rstc.h" +#include "instance/rtc.h" +#include "instance/sdhc0.h" +#include "instance/sdhc1.h" +#include "instance/sercom0.h" +#include "instance/sercom1.h" +#include "instance/sercom2.h" +#include "instance/sercom3.h" +#include "instance/sercom4.h" +#include "instance/sercom5.h" +#include "instance/sercom6.h" +#include "instance/sercom7.h" +#include "instance/supc.h" +#include "instance/tal.h" +#include "instance/tc0.h" +#include "instance/tc1.h" +#include "instance/tc2.h" +#include "instance/tc3.h" +#include "instance/tc4.h" +#include "instance/tc5.h" +#include "instance/tc6.h" +#include "instance/tc7.h" +#include "instance/tcc0.h" +#include "instance/tcc1.h" +#include "instance/tcc2.h" +#include "instance/tcc3.h" +#include "instance/tcc4.h" +#include "instance/trng.h" +#include "instance/usb.h" +#include "instance/wdt.h" +/*@}*/ + +/* ************************************************************************** */ +/** PERIPHERAL ID DEFINITIONS FOR SAME54P19A */ +/* ************************************************************************** */ +/** \defgroup SAME54P19A_id Peripheral Ids Definitions */ +/*@{*/ + +// Peripheral instances on HPB0 bridge +#define ID_PAC 0 /**< \brief Peripheral Access Controller (PAC) */ +#define ID_PM 1 /**< \brief Power Manager (PM) */ +#define ID_MCLK 2 /**< \brief Main Clock (MCLK) */ +#define ID_RSTC 3 /**< \brief Reset Controller (RSTC) */ +#define ID_OSCCTRL 4 /**< \brief Oscillators Control (OSCCTRL) */ +#define ID_OSC32KCTRL 5 /**< \brief 32kHz Oscillators Control (OSC32KCTRL) */ +#define ID_SUPC 6 /**< \brief Supply Controller (SUPC) */ +#define ID_GCLK 7 /**< \brief Generic Clock Generator (GCLK) */ +#define ID_WDT 8 /**< \brief Watchdog Timer (WDT) */ +#define ID_RTC 9 /**< \brief Real-Time Counter (RTC) */ +#define ID_EIC 10 /**< \brief External Interrupt Controller (EIC) */ +#define ID_FREQM 11 /**< \brief Frequency Meter (FREQM) */ +#define ID_SERCOM0 12 /**< \brief Serial Communication Interface 0 (SERCOM0) */ +#define ID_SERCOM1 13 /**< \brief Serial Communication Interface 1 (SERCOM1) */ +#define ID_TC0 14 /**< \brief Basic Timer Counter 0 (TC0) */ +#define ID_TC1 15 /**< \brief Basic Timer Counter 1 (TC1) */ + +// Peripheral instances on HPB1 bridge +#define ID_USB 32 /**< \brief Universal Serial Bus (USB) */ +#define ID_DSU 33 /**< \brief Device Service Unit (DSU) */ +#define ID_NVMCTRL 34 /**< \brief Non-Volatile Memory Controller (NVMCTRL) */ +#define ID_CMCC 35 /**< \brief Cortex M Cache Controller (CMCC) */ +#define ID_PORT 36 /**< \brief Port Module (PORT) */ +#define ID_DMAC 37 /**< \brief Direct Memory Access Controller (DMAC) */ +#define ID_HMATRIX 38 /**< \brief HSB Matrix (HMATRIX) */ +#define ID_EVSYS 39 /**< \brief Event System Interface (EVSYS) */ +#define ID_SERCOM2 41 /**< \brief Serial Communication Interface 2 (SERCOM2) */ +#define ID_SERCOM3 42 /**< \brief Serial Communication Interface 3 (SERCOM3) */ +#define ID_TCC0 43 /**< \brief Timer Counter Control 0 (TCC0) */ +#define ID_TCC1 44 /**< \brief Timer Counter Control 1 (TCC1) */ +#define ID_TC2 45 /**< \brief Basic Timer Counter 2 (TC2) */ +#define ID_TC3 46 /**< \brief Basic Timer Counter 3 (TC3) */ +#define ID_TAL 47 /**< \brief Trigger Allocator (TAL) */ +#define ID_RAMECC 48 /**< \brief RAM ECC (RAMECC) */ + +// Peripheral instances on HPB2 bridge +#define ID_CAN0 64 /**< \brief Control Area Network 0 (CAN0) */ +#define ID_CAN1 65 /**< \brief Control Area Network 1 (CAN1) */ +#define ID_GMAC 66 /**< \brief Ethernet MAC (GMAC) */ +#define ID_TCC2 67 /**< \brief Timer Counter Control 2 (TCC2) */ +#define ID_TCC3 68 /**< \brief Timer Counter Control 3 (TCC3) */ +#define ID_TC4 69 /**< \brief Basic Timer Counter 4 (TC4) */ +#define ID_TC5 70 /**< \brief Basic Timer Counter 5 (TC5) */ +#define ID_PDEC 71 /**< \brief Quadrature Decodeur (PDEC) */ +#define ID_AC 72 /**< \brief Analog Comparators (AC) */ +#define ID_AES 73 /**< \brief Advanced Encryption Standard (AES) */ +#define ID_TRNG 74 /**< \brief True Random Generator (TRNG) */ +#define ID_ICM 75 /**< \brief Integrity Check Monitor (ICM) */ +#define ID_PUKCC 76 /**< \brief PUblic-Key Cryptography Controller (PUKCC) */ +#define ID_QSPI 77 /**< \brief Quad SPI interface (QSPI) */ +#define ID_CCL 78 /**< \brief Configurable Custom Logic (CCL) */ + +// Peripheral instances on HPB3 bridge +#define ID_SERCOM4 96 /**< \brief Serial Communication Interface 4 (SERCOM4) */ +#define ID_SERCOM5 97 /**< \brief Serial Communication Interface 5 (SERCOM5) */ +#define ID_SERCOM6 98 /**< \brief Serial Communication Interface 6 (SERCOM6) */ +#define ID_SERCOM7 99 /**< \brief Serial Communication Interface 7 (SERCOM7) */ +#define ID_TCC4 100 /**< \brief Timer Counter Control 4 (TCC4) */ +#define ID_TC6 101 /**< \brief Basic Timer Counter 6 (TC6) */ +#define ID_TC7 102 /**< \brief Basic Timer Counter 7 (TC7) */ +#define ID_ADC0 103 /**< \brief Analog Digital Converter 0 (ADC0) */ +#define ID_ADC1 104 /**< \brief Analog Digital Converter 1 (ADC1) */ +#define ID_DAC 105 /**< \brief Digital-to-Analog Converter (DAC) */ +#define ID_I2S 106 /**< \brief Inter-IC Sound Interface (I2S) */ +#define ID_PCC 107 /**< \brief Parallel Capture Controller (PCC) */ + +// Peripheral instances on AHB (as if on bridge 4) +#define ID_SDHC0 128 /**< \brief SD/MMC Host Controller (SDHC0) */ +#define ID_SDHC1 129 /**< \brief SD/MMC Host Controller (SDHC1) */ + +#define ID_PERIPH_COUNT 130 /**< \brief Max number of peripheral IDs */ +/*@}*/ + +/* ************************************************************************** */ +/** BASE ADDRESS DEFINITIONS FOR SAME54P19A */ +/* ************************************************************************** */ +/** \defgroup SAME54P19A_base Peripheral Base Address Definitions */ +/*@{*/ + +#if defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__) +#define AC (0x42002000) /**< \brief (AC) APB Base Address */ +#define ADC0 (0x43001C00) /**< \brief (ADC0) APB Base Address */ +#define ADC1 (0x43002000) /**< \brief (ADC1) APB Base Address */ +#define AES (0x42002400) /**< \brief (AES) APB Base Address */ +#define CAN0 (0x42000000) /**< \brief (CAN0) APB Base Address */ +#define CAN1 (0x42000400) /**< \brief (CAN1) APB Base Address */ +#define CCL (0x42003800) /**< \brief (CCL) APB Base Address */ +#define CMCC (0x41006000) /**< \brief (CMCC) APB Base Address */ +#define CMCC_AHB (0x03000000) /**< \brief (CMCC) AHB Base Address */ +#define DAC (0x43002400) /**< \brief (DAC) APB Base Address */ +#define DMAC (0x4100A000) /**< \brief (DMAC) APB Base Address */ +#define DSU (0x41002000) /**< \brief (DSU) APB Base Address */ +#define EIC (0x40002800) /**< \brief (EIC) APB Base Address */ +#define EVSYS (0x4100E000) /**< \brief (EVSYS) APB Base Address */ +#define FREQM (0x40002C00) /**< \brief (FREQM) APB Base Address */ +#define GCLK (0x40001C00) /**< \brief (GCLK) APB Base Address */ +#define GMAC (0x42000800) /**< \brief (GMAC) APB Base Address */ +#define HMATRIX (0x4100C000) /**< \brief (HMATRIX) APB Base Address */ +#define ICM (0x42002C00) /**< \brief (ICM) APB Base Address */ +#define I2S (0x43002800) /**< \brief (I2S) APB Base Address */ +#define MCLK (0x40000800) /**< \brief (MCLK) APB Base Address */ +#define NVMCTRL (0x41004000) /**< \brief (NVMCTRL) APB Base Address */ +#define NVMCTRL_CB (0x00800000) /**< \brief (NVMCTRL) CB Base Address */ +#define NVMCTRL_CBW0 (0x00800000) /**< \brief (NVMCTRL) CBW0 Base Address */ +#define NVMCTRL_CBW1 (0x00800010) /**< \brief (NVMCTRL) CBW1 Base Address */ +#define NVMCTRL_CBW2 (0x00800020) /**< \brief (NVMCTRL) CBW2 Base Address */ +#define NVMCTRL_CBW3 (0x00800030) /**< \brief (NVMCTRL) CBW3 Base Address */ +#define NVMCTRL_CBW4 (0x00800040) /**< \brief (NVMCTRL) CBW4 Base Address */ +#define NVMCTRL_CBW5 (0x00800050) /**< \brief (NVMCTRL) CBW5 Base Address */ +#define NVMCTRL_CBW6 (0x00800060) /**< \brief (NVMCTRL) CBW6 Base Address */ +#define NVMCTRL_CBW7 (0x00800070) /**< \brief (NVMCTRL) CBW7 Base Address */ +#define NVMCTRL_FS (0x00806000) /**< \brief (NVMCTRL) FS Base Address */ +#define NVMCTRL_SW0 (0x00800080) /**< \brief (NVMCTRL) SW0 Base Address */ +#define NVMCTRL_SW1 (0x00800090) /**< \brief (NVMCTRL) SW1 Base Address */ +#define NVMCTRL_SW2 (0x008000A0) /**< \brief (NVMCTRL) SW2 Base Address */ +#define NVMCTRL_SW3 (0x008000B0) /**< \brief (NVMCTRL) SW3 Base Address */ +#define NVMCTRL_SW4 (0x008000C0) /**< \brief (NVMCTRL) SW4 Base Address */ +#define NVMCTRL_SW5 (0x008000D0) /**< \brief (NVMCTRL) SW5 Base Address */ +#define NVMCTRL_SW6 (0x008000E0) /**< \brief (NVMCTRL) SW6 Base Address */ +#define NVMCTRL_SW7 (0x008000F0) /**< \brief (NVMCTRL) SW7 Base Address */ +#define NVMCTRL_TEMP_LOG_W0 (0x00800100) /**< \brief (NVMCTRL) TEMP_LOG_W0 Base Address */ +#define NVMCTRL_TEMP_LOG_W1 (0x00800110) /**< \brief (NVMCTRL) TEMP_LOG_W1 Base Address */ +#define NVMCTRL_TEMP_LOG_W2 (0x00800120) /**< \brief (NVMCTRL) TEMP_LOG_W2 Base Address */ +#define NVMCTRL_TEMP_LOG_W3 (0x00800130) /**< \brief (NVMCTRL) TEMP_LOG_W3 Base Address */ +#define NVMCTRL_TEMP_LOG_W4 (0x00800140) /**< \brief (NVMCTRL) TEMP_LOG_W4 Base Address */ +#define NVMCTRL_TEMP_LOG_W5 (0x00800150) /**< \brief (NVMCTRL) TEMP_LOG_W5 Base Address */ +#define NVMCTRL_TEMP_LOG_W6 (0x00800160) /**< \brief (NVMCTRL) TEMP_LOG_W6 Base Address */ +#define NVMCTRL_TEMP_LOG_W7 (0x00800170) /**< \brief (NVMCTRL) TEMP_LOG_W7 Base Address */ +#define NVMCTRL_TLATCH (0x00802000) /**< \brief (NVMCTRL) TLATCH Base Address */ +#define NVMCTRL_USER (0x00804000) /**< \brief (NVMCTRL) USER Base Address */ +#define OSCCTRL (0x40001000) /**< \brief (OSCCTRL) APB Base Address */ +#define OSC32KCTRL (0x40001400) /**< \brief (OSC32KCTRL) APB Base Address */ +#define PAC (0x40000000) /**< \brief (PAC) APB Base Address */ +#define PCC (0x43002C00) /**< \brief (PCC) APB Base Address */ +#define PDEC (0x42001C00) /**< \brief (PDEC) APB Base Address */ +#define PM (0x40000400) /**< \brief (PM) APB Base Address */ +#define PORT (0x41008000) /**< \brief (PORT) APB Base Address */ +#define PUKCC (0x42003000) /**< \brief (PUKCC) APB Base Address */ +#define PUKCC_AHB (0x02000000) /**< \brief (PUKCC) AHB Base Address */ +#define QSPI (0x42003400) /**< \brief (QSPI) APB Base Address */ +#define QSPI_AHB (0x04000000) /**< \brief (QSPI) AHB Base Address */ +#define RAMECC (0x41020000) /**< \brief (RAMECC) APB Base Address */ +#define RSTC (0x40000C00) /**< \brief (RSTC) APB Base Address */ +#define RTC (0x40002400) /**< \brief (RTC) APB Base Address */ +#define SDHC0 (0x45000000) /**< \brief (SDHC0) AHB Base Address */ +#define SDHC1 (0x46000000) /**< \brief (SDHC1) AHB Base Address */ +#define SERCOM0 (0x40003000) /**< \brief (SERCOM0) APB Base Address */ +#define SERCOM1 (0x40003400) /**< \brief (SERCOM1) APB Base Address */ +#define SERCOM2 (0x41012000) /**< \brief (SERCOM2) APB Base Address */ +#define SERCOM3 (0x41014000) /**< \brief (SERCOM3) APB Base Address */ +#define SERCOM4 (0x43000000) /**< \brief (SERCOM4) APB Base Address */ +#define SERCOM5 (0x43000400) /**< \brief (SERCOM5) APB Base Address */ +#define SERCOM6 (0x43000800) /**< \brief (SERCOM6) APB Base Address */ +#define SERCOM7 (0x43000C00) /**< \brief (SERCOM7) APB Base Address */ +#define SUPC (0x40001800) /**< \brief (SUPC) APB Base Address */ +#define TAL (0x4101E000) /**< \brief (TAL) APB Base Address */ +#define TC0 (0x40003800) /**< \brief (TC0) APB Base Address */ +#define TC1 (0x40003C00) /**< \brief (TC1) APB Base Address */ +#define TC2 (0x4101A000) /**< \brief (TC2) APB Base Address */ +#define TC3 (0x4101C000) /**< \brief (TC3) APB Base Address */ +#define TC4 (0x42001400) /**< \brief (TC4) APB Base Address */ +#define TC5 (0x42001800) /**< \brief (TC5) APB Base Address */ +#define TC6 (0x43001400) /**< \brief (TC6) APB Base Address */ +#define TC7 (0x43001800) /**< \brief (TC7) APB Base Address */ +#define TCC0 (0x41016000) /**< \brief (TCC0) APB Base Address */ +#define TCC1 (0x41018000) /**< \brief (TCC1) APB Base Address */ +#define TCC2 (0x42000C00) /**< \brief (TCC2) APB Base Address */ +#define TCC3 (0x42001000) /**< \brief (TCC3) APB Base Address */ +#define TCC4 (0x43001000) /**< \brief (TCC4) APB Base Address */ +#define TRNG (0x42002800) /**< \brief (TRNG) APB Base Address */ +#define USB (0x41000000) /**< \brief (USB) APB Base Address */ +#define WDT (0x40002000) /**< \brief (WDT) APB Base Address */ +#else +#define AC ((Ac *)0x42002000UL) /**< \brief (AC) APB Base Address */ +#define AC_INST_NUM 1 /**< \brief (AC) Number of instances */ +#define AC_INSTS { AC } /**< \brief (AC) Instances List */ + +#define ADC0 ((Adc *)0x43001C00UL) /**< \brief (ADC0) APB Base Address */ +#define ADC1 ((Adc *)0x43002000UL) /**< \brief (ADC1) APB Base Address */ +#define ADC_INST_NUM 2 /**< \brief (ADC) Number of instances */ +#define ADC_INSTS { ADC0, ADC1 } /**< \brief (ADC) Instances List */ + +#define AES ((Aes *)0x42002400UL) /**< \brief (AES) APB Base Address */ +#define AES_INST_NUM 1 /**< \brief (AES) Number of instances */ +#define AES_INSTS { AES } /**< \brief (AES) Instances List */ + +#define CAN0 ((Can *)0x42000000UL) /**< \brief (CAN0) APB Base Address */ +#define CAN1 ((Can *)0x42000400UL) /**< \brief (CAN1) APB Base Address */ +#define CAN_INST_NUM 2 /**< \brief (CAN) Number of instances */ +#define CAN_INSTS { CAN0, CAN1 } /**< \brief (CAN) Instances List */ + +#define CCL ((Ccl *)0x42003800UL) /**< \brief (CCL) APB Base Address */ +#define CCL_INST_NUM 1 /**< \brief (CCL) Number of instances */ +#define CCL_INSTS { CCL } /**< \brief (CCL) Instances List */ + +#define CMCC ((Cmcc *)0x41006000UL) /**< \brief (CMCC) APB Base Address */ +#define CMCC_AHB (0x03000000UL) /**< \brief (CMCC) AHB Base Address */ +#define CMCC_INST_NUM 1 /**< \brief (CMCC) Number of instances */ +#define CMCC_INSTS { CMCC } /**< \brief (CMCC) Instances List */ + +#define DAC ((Dac *)0x43002400UL) /**< \brief (DAC) APB Base Address */ +#define DAC_INST_NUM 1 /**< \brief (DAC) Number of instances */ +#define DAC_INSTS { DAC } /**< \brief (DAC) Instances List */ + +#define DMAC ((Dmac *)0x4100A000UL) /**< \brief (DMAC) APB Base Address */ +#define DMAC_INST_NUM 1 /**< \brief (DMAC) Number of instances */ +#define DMAC_INSTS { DMAC } /**< \brief (DMAC) Instances List */ + +#define DSU ((Dsu *)0x41002000UL) /**< \brief (DSU) APB Base Address */ +#define DSU_INST_NUM 1 /**< \brief (DSU) Number of instances */ +#define DSU_INSTS { DSU } /**< \brief (DSU) Instances List */ + +#define EIC ((Eic *)0x40002800UL) /**< \brief (EIC) APB Base Address */ +#define EIC_INST_NUM 1 /**< \brief (EIC) Number of instances */ +#define EIC_INSTS { EIC } /**< \brief (EIC) Instances List */ + +#define EVSYS ((Evsys *)0x4100E000UL) /**< \brief (EVSYS) APB Base Address */ +#define EVSYS_INST_NUM 1 /**< \brief (EVSYS) Number of instances */ +#define EVSYS_INSTS { EVSYS } /**< \brief (EVSYS) Instances List */ + +#define FREQM ((Freqm *)0x40002C00UL) /**< \brief (FREQM) APB Base Address */ +#define FREQM_INST_NUM 1 /**< \brief (FREQM) Number of instances */ +#define FREQM_INSTS { FREQM } /**< \brief (FREQM) Instances List */ + +#define GCLK ((Gclk *)0x40001C00UL) /**< \brief (GCLK) APB Base Address */ +#define GCLK_INST_NUM 1 /**< \brief (GCLK) Number of instances */ +#define GCLK_INSTS { GCLK } /**< \brief (GCLK) Instances List */ + +#define GMAC ((Gmac *)0x42000800UL) /**< \brief (GMAC) APB Base Address */ +#define GMAC_INST_NUM 1 /**< \brief (GMAC) Number of instances */ +#define GMAC_INSTS { GMAC } /**< \brief (GMAC) Instances List */ + +#define HMATRIX ((Hmatrixb *)0x4100C000UL) /**< \brief (HMATRIX) APB Base Address */ +#define HMATRIXB_INST_NUM 1 /**< \brief (HMATRIXB) Number of instances */ +#define HMATRIXB_INSTS { HMATRIX } /**< \brief (HMATRIXB) Instances List */ + +#define ICM ((Icm *)0x42002C00UL) /**< \brief (ICM) APB Base Address */ +#define ICM_INST_NUM 1 /**< \brief (ICM) Number of instances */ +#define ICM_INSTS { ICM } /**< \brief (ICM) Instances List */ + +#define I2S ((I2s *)0x43002800UL) /**< \brief (I2S) APB Base Address */ +#define I2S_INST_NUM 1 /**< \brief (I2S) Number of instances */ +#define I2S_INSTS { I2S } /**< \brief (I2S) Instances List */ + +#define MCLK ((Mclk *)0x40000800UL) /**< \brief (MCLK) APB Base Address */ +#define MCLK_INST_NUM 1 /**< \brief (MCLK) Number of instances */ +#define MCLK_INSTS { MCLK } /**< \brief (MCLK) Instances List */ + +#define NVMCTRL ((Nvmctrl *)0x41004000UL) /**< \brief (NVMCTRL) APB Base Address */ +#define NVMCTRL_CB (0x00800000UL) /**< \brief (NVMCTRL) CB Base Address */ +#define NVMCTRL_CBW0 (0x00800000UL) /**< \brief (NVMCTRL) CBW0 Base Address */ +#define NVMCTRL_CBW1 (0x00800010UL) /**< \brief (NVMCTRL) CBW1 Base Address */ +#define NVMCTRL_CBW2 (0x00800020UL) /**< \brief (NVMCTRL) CBW2 Base Address */ +#define NVMCTRL_CBW3 (0x00800030UL) /**< \brief (NVMCTRL) CBW3 Base Address */ +#define NVMCTRL_CBW4 (0x00800040UL) /**< \brief (NVMCTRL) CBW4 Base Address */ +#define NVMCTRL_CBW5 (0x00800050UL) /**< \brief (NVMCTRL) CBW5 Base Address */ +#define NVMCTRL_CBW6 (0x00800060UL) /**< \brief (NVMCTRL) CBW6 Base Address */ +#define NVMCTRL_CBW7 (0x00800070UL) /**< \brief (NVMCTRL) CBW7 Base Address */ +#define NVMCTRL_FS (0x00806000UL) /**< \brief (NVMCTRL) FS Base Address */ +#define NVMCTRL_SW0 (0x00800080UL) /**< \brief (NVMCTRL) SW0 Base Address */ +#define NVMCTRL_SW1 (0x00800090UL) /**< \brief (NVMCTRL) SW1 Base Address */ +#define NVMCTRL_SW2 (0x008000A0UL) /**< \brief (NVMCTRL) SW2 Base Address */ +#define NVMCTRL_SW3 (0x008000B0UL) /**< \brief (NVMCTRL) SW3 Base Address */ +#define NVMCTRL_SW4 (0x008000C0UL) /**< \brief (NVMCTRL) SW4 Base Address */ +#define NVMCTRL_SW5 (0x008000D0UL) /**< \brief (NVMCTRL) SW5 Base Address */ +#define NVMCTRL_SW6 (0x008000E0UL) /**< \brief (NVMCTRL) SW6 Base Address */ +#define NVMCTRL_SW7 (0x008000F0UL) /**< \brief (NVMCTRL) SW7 Base Address */ +#define NVMCTRL_TEMP_LOG_W0 (0x00800100UL) /**< \brief (NVMCTRL) TEMP_LOG_W0 Base Address */ +#define NVMCTRL_TEMP_LOG_W1 (0x00800110UL) /**< \brief (NVMCTRL) TEMP_LOG_W1 Base Address */ +#define NVMCTRL_TEMP_LOG_W2 (0x00800120UL) /**< \brief (NVMCTRL) TEMP_LOG_W2 Base Address */ +#define NVMCTRL_TEMP_LOG_W3 (0x00800130UL) /**< \brief (NVMCTRL) TEMP_LOG_W3 Base Address */ +#define NVMCTRL_TEMP_LOG_W4 (0x00800140UL) /**< \brief (NVMCTRL) TEMP_LOG_W4 Base Address */ +#define NVMCTRL_TEMP_LOG_W5 (0x00800150UL) /**< \brief (NVMCTRL) TEMP_LOG_W5 Base Address */ +#define NVMCTRL_TEMP_LOG_W6 (0x00800160UL) /**< \brief (NVMCTRL) TEMP_LOG_W6 Base Address */ +#define NVMCTRL_TEMP_LOG_W7 (0x00800170UL) /**< \brief (NVMCTRL) TEMP_LOG_W7 Base Address */ +#define NVMCTRL_TLATCH (0x00802000UL) /**< \brief (NVMCTRL) TLATCH Base Address */ +#define NVMCTRL_USER (0x00804000UL) /**< \brief (NVMCTRL) USER Base Address */ +#define NVMCTRL_INST_NUM 1 /**< \brief (NVMCTRL) Number of instances */ +#define NVMCTRL_INSTS { NVMCTRL } /**< \brief (NVMCTRL) Instances List */ + +#define OSCCTRL ((Oscctrl *)0x40001000UL) /**< \brief (OSCCTRL) APB Base Address */ +#define OSCCTRL_INST_NUM 1 /**< \brief (OSCCTRL) Number of instances */ +#define OSCCTRL_INSTS { OSCCTRL } /**< \brief (OSCCTRL) Instances List */ + +#define OSC32KCTRL ((Osc32kctrl *)0x40001400UL) /**< \brief (OSC32KCTRL) APB Base Address */ +#define OSC32KCTRL_INST_NUM 1 /**< \brief (OSC32KCTRL) Number of instances */ +#define OSC32KCTRL_INSTS { OSC32KCTRL } /**< \brief (OSC32KCTRL) Instances List */ + +#define PAC ((Pac *)0x40000000UL) /**< \brief (PAC) APB Base Address */ +#define PAC_INST_NUM 1 /**< \brief (PAC) Number of instances */ +#define PAC_INSTS { PAC } /**< \brief (PAC) Instances List */ + +#define PCC ((Pcc *)0x43002C00UL) /**< \brief (PCC) APB Base Address */ +#define PCC_INST_NUM 1 /**< \brief (PCC) Number of instances */ +#define PCC_INSTS { PCC } /**< \brief (PCC) Instances List */ + +#define PDEC ((Pdec *)0x42001C00UL) /**< \brief (PDEC) APB Base Address */ +#define PDEC_INST_NUM 1 /**< \brief (PDEC) Number of instances */ +#define PDEC_INSTS { PDEC } /**< \brief (PDEC) Instances List */ + +#define PM ((Pm *)0x40000400UL) /**< \brief (PM) APB Base Address */ +#define PM_INST_NUM 1 /**< \brief (PM) Number of instances */ +#define PM_INSTS { PM } /**< \brief (PM) Instances List */ + +#define PORT ((Port *)0x41008000UL) /**< \brief (PORT) APB Base Address */ +#define PORT_INST_NUM 1 /**< \brief (PORT) Number of instances */ +#define PORT_INSTS { PORT } /**< \brief (PORT) Instances List */ + +#define PUKCC ((void *)0x42003000UL) /**< \brief (PUKCC) APB Base Address */ +#define PUKCC_AHB ((void *)0x02000000UL) /**< \brief (PUKCC) AHB Base Address */ +#define PUKCC_INST_NUM 1 /**< \brief (PUKCC) Number of instances */ +#define PUKCC_INSTS { PUKCC } /**< \brief (PUKCC) Instances List */ + +#define QSPI ((Qspi *)0x42003400UL) /**< \brief (QSPI) APB Base Address */ +#define QSPI_AHB (0x04000000UL) /**< \brief (QSPI) AHB Base Address */ +#define QSPI_INST_NUM 1 /**< \brief (QSPI) Number of instances */ +#define QSPI_INSTS { QSPI } /**< \brief (QSPI) Instances List */ + +#define RAMECC ((Ramecc *)0x41020000UL) /**< \brief (RAMECC) APB Base Address */ +#define RAMECC_INST_NUM 1 /**< \brief (RAMECC) Number of instances */ +#define RAMECC_INSTS { RAMECC } /**< \brief (RAMECC) Instances List */ + +#define RSTC ((Rstc *)0x40000C00UL) /**< \brief (RSTC) APB Base Address */ +#define RSTC_INST_NUM 1 /**< \brief (RSTC) Number of instances */ +#define RSTC_INSTS { RSTC } /**< \brief (RSTC) Instances List */ + +#define RTC ((Rtc *)0x40002400UL) /**< \brief (RTC) APB Base Address */ +#define RTC_INST_NUM 1 /**< \brief (RTC) Number of instances */ +#define RTC_INSTS { RTC } /**< \brief (RTC) Instances List */ + +#define SDHC0 ((Sdhc *)0x45000000UL) /**< \brief (SDHC0) AHB Base Address */ +#define SDHC1 ((Sdhc *)0x46000000UL) /**< \brief (SDHC1) AHB Base Address */ +#define SDHC_INST_NUM 2 /**< \brief (SDHC) Number of instances */ +#define SDHC_INSTS { SDHC0, SDHC1 } /**< \brief (SDHC) Instances List */ + +#define SERCOM0 ((Sercom *)0x40003000UL) /**< \brief (SERCOM0) APB Base Address */ +#define SERCOM1 ((Sercom *)0x40003400UL) /**< \brief (SERCOM1) APB Base Address */ +#define SERCOM2 ((Sercom *)0x41012000UL) /**< \brief (SERCOM2) APB Base Address */ +#define SERCOM3 ((Sercom *)0x41014000UL) /**< \brief (SERCOM3) APB Base Address */ +#define SERCOM4 ((Sercom *)0x43000000UL) /**< \brief (SERCOM4) APB Base Address */ +#define SERCOM5 ((Sercom *)0x43000400UL) /**< \brief (SERCOM5) APB Base Address */ +#define SERCOM6 ((Sercom *)0x43000800UL) /**< \brief (SERCOM6) APB Base Address */ +#define SERCOM7 ((Sercom *)0x43000C00UL) /**< \brief (SERCOM7) APB Base Address */ +#define SERCOM_INST_NUM 8 /**< \brief (SERCOM) Number of instances */ +#define SERCOM_INSTS { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5, SERCOM6, SERCOM7 } /**< \brief (SERCOM) Instances List */ + +#define SUPC ((Supc *)0x40001800UL) /**< \brief (SUPC) APB Base Address */ +#define SUPC_INST_NUM 1 /**< \brief (SUPC) Number of instances */ +#define SUPC_INSTS { SUPC } /**< \brief (SUPC) Instances List */ + +#define TAL ((Tal *)0x4101E000UL) /**< \brief (TAL) APB Base Address */ +#define TAL_INST_NUM 1 /**< \brief (TAL) Number of instances */ +#define TAL_INSTS { TAL } /**< \brief (TAL) Instances List */ + +#define TC0 ((Tc *)0x40003800UL) /**< \brief (TC0) APB Base Address */ +#define TC1 ((Tc *)0x40003C00UL) /**< \brief (TC1) APB Base Address */ +#define TC2 ((Tc *)0x4101A000UL) /**< \brief (TC2) APB Base Address */ +#define TC3 ((Tc *)0x4101C000UL) /**< \brief (TC3) APB Base Address */ +#define TC4 ((Tc *)0x42001400UL) /**< \brief (TC4) APB Base Address */ +#define TC5 ((Tc *)0x42001800UL) /**< \brief (TC5) APB Base Address */ +#define TC6 ((Tc *)0x43001400UL) /**< \brief (TC6) APB Base Address */ +#define TC7 ((Tc *)0x43001800UL) /**< \brief (TC7) APB Base Address */ +#define TC_INST_NUM 8 /**< \brief (TC) Number of instances */ +#define TC_INSTS { TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 } /**< \brief (TC) Instances List */ + +#define TCC0 ((Tcc *)0x41016000UL) /**< \brief (TCC0) APB Base Address */ +#define TCC1 ((Tcc *)0x41018000UL) /**< \brief (TCC1) APB Base Address */ +#define TCC2 ((Tcc *)0x42000C00UL) /**< \brief (TCC2) APB Base Address */ +#define TCC3 ((Tcc *)0x42001000UL) /**< \brief (TCC3) APB Base Address */ +#define TCC4 ((Tcc *)0x43001000UL) /**< \brief (TCC4) APB Base Address */ +#define TCC_INST_NUM 5 /**< \brief (TCC) Number of instances */ +#define TCC_INSTS { TCC0, TCC1, TCC2, TCC3, TCC4 } /**< \brief (TCC) Instances List */ + +#define TRNG ((Trng *)0x42002800UL) /**< \brief (TRNG) APB Base Address */ +#define TRNG_INST_NUM 1 /**< \brief (TRNG) Number of instances */ +#define TRNG_INSTS { TRNG } /**< \brief (TRNG) Instances List */ + +#define USB ((Usb *)0x41000000UL) /**< \brief (USB) APB Base Address */ +#define USB_INST_NUM 1 /**< \brief (USB) Number of instances */ +#define USB_INSTS { USB } /**< \brief (USB) Instances List */ + +#define WDT ((Wdt *)0x40002000UL) /**< \brief (WDT) APB Base Address */ +#define WDT_INST_NUM 1 /**< \brief (WDT) Number of instances */ +#define WDT_INSTS { WDT } /**< \brief (WDT) Instances List */ + +#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ +/*@}*/ + +/* ************************************************************************** */ +/** PORT DEFINITIONS FOR SAME54P19A */ +/* ************************************************************************** */ +/** \defgroup SAME54P19A_port PORT Definitions */ +/*@{*/ + +#include "pio/same54p19a.h" +/*@}*/ + +/* ************************************************************************** */ +/** MEMORY MAPPING DEFINITIONS FOR SAME54P19A */ +/* ************************************************************************** */ + +#define HSRAM_SIZE _UL_(0x00030000) /* 192 kB */ +#define FLASH_SIZE _UL_(0x00080000) /* 512 kB */ +#define FLASH_PAGE_SIZE 512 +#define FLASH_NB_OF_PAGES 1024 +#define FLASH_USER_PAGE_SIZE 512 +#define BKUPRAM_SIZE _UL_(0x00002000) /* 8 kB */ +#define QSPI_SIZE _UL_(0x01000000) /* 16384 kB */ + +#define FLASH_ADDR _UL_(0x00000000) /**< FLASH base address */ +#define CMCC_DATARAM_ADDR _UL_(0x03000000) /**< CMCC_DATARAM base address */ +#define CMCC_DATARAM_SIZE _UL_(0x00001000) /**< CMCC_DATARAM size */ +#define CMCC_TAGRAM_ADDR _UL_(0x03001000) /**< CMCC_TAGRAM base address */ +#define CMCC_TAGRAM_SIZE _UL_(0x00000400) /**< CMCC_TAGRAM size */ +#define CMCC_VALIDRAM_ADDR _UL_(0x03002000) /**< CMCC_VALIDRAM base address */ +#define CMCC_VALIDRAM_SIZE _UL_(0x00000040) /**< CMCC_VALIDRAM size */ +#define HSRAM_ADDR _UL_(0x20000000) /**< HSRAM base address */ +#define HSRAM_ETB_ADDR _UL_(0x20000000) /**< HSRAM_ETB base address */ +#define HSRAM_ETB_SIZE _UL_(0x00008000) /**< HSRAM_ETB size */ +#define HSRAM_RET1_ADDR _UL_(0x20000000) /**< HSRAM_RET1 base address */ +#define HSRAM_RET1_SIZE _UL_(0x00008000) /**< HSRAM_RET1 size */ +#define HPB0_ADDR _UL_(0x40000000) /**< HPB0 base address */ +#define HPB1_ADDR _UL_(0x41000000) /**< HPB1 base address */ +#define HPB2_ADDR _UL_(0x42000000) /**< HPB2 base address */ +#define HPB3_ADDR _UL_(0x43000000) /**< HPB3 base address */ +#define SEEPROM_ADDR _UL_(0x44000000) /**< SEEPROM base address */ +#define BKUPRAM_ADDR _UL_(0x47000000) /**< BKUPRAM base address */ +#define PPB_ADDR _UL_(0xE0000000) /**< PPB base address */ + +#define DSU_DID_RESETVALUE _UL_(0x61840001) +#define PORT_GROUPS 4 + +/* ************************************************************************** */ +/** ELECTRICAL DEFINITIONS FOR SAME54P19A */ +/* ************************************************************************** */ + + +#ifdef __cplusplus +} +#endif + +/*@}*/ + +#endif /* SAME54P19A_H */ diff --git a/lib/same54/include/same54p20a.h b/lib/same54/include/same54p20a.h new file mode 100644 index 00000000..083bc643 --- /dev/null +++ b/lib/same54/include/same54p20a.h @@ -0,0 +1,1145 @@ +/** + * \file + * + * \brief Header file for SAME54P20A + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SAME54P20A_ +#define _SAME54P20A_ + +/** + * \ingroup SAME54_definitions + * \addtogroup SAME54P20A_definitions SAME54P20A definitions + * This file defines all structures and symbols for SAME54P20A: + * - registers and bitfields + * - peripheral base address + * - peripheral ID + * - PIO definitions +*/ +/*@{*/ + +#ifdef __cplusplus + extern "C" { +#endif + +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +#include +#ifndef __cplusplus +typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ +typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ +typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ +#else +typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ +typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */ +typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */ +#endif +typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ +typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */ +typedef volatile uint8_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */ +typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ +typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */ +typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */ +#endif + +#if !defined(SKIP_INTEGER_LITERALS) +#if defined(_U_) || defined(_L_) || defined(_UL_) + #error "Integer Literals macros already defined elsewhere" +#endif + +#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) +/* Macros that deal with adding suffixes to integer literal constants for C/C++ */ +#define _U_(x) x ## U /**< C code: Unsigned integer literal constant value */ +#define _L_(x) x ## L /**< C code: Long integer literal constant value */ +#define _UL_(x) x ## UL /**< C code: Unsigned Long integer literal constant value */ +#else /* Assembler */ +#define _U_(x) x /**< Assembler: Unsigned integer literal constant value */ +#define _L_(x) x /**< Assembler: Long integer literal constant value */ +#define _UL_(x) x /**< Assembler: Unsigned Long integer literal constant value */ +#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ +#endif /* SKIP_INTEGER_LITERALS */ + +/* ************************************************************************** */ +/** CMSIS DEFINITIONS FOR SAME54P20A */ +/* ************************************************************************** */ +/** \defgroup SAME54P20A_cmsis CMSIS Definitions */ +/*@{*/ + +/** Interrupt Number Definition */ +typedef enum IRQn +{ + /****** Cortex-M4 Processor Exceptions Numbers ******************************/ + NonMaskableInt_IRQn = -14,/**< 2 Non Maskable Interrupt */ + HardFault_IRQn = -13,/**< 3 Cortex-M4 Hard Fault Interrupt */ + MemoryManagement_IRQn = -12,/**< 4 Cortex-M4 Memory Management Interrupt */ + BusFault_IRQn = -11,/**< 5 Cortex-M4 Bus Fault Interrupt */ + UsageFault_IRQn = -10,/**< 6 Cortex-M4 Usage Fault Interrupt */ + SVCall_IRQn = -5, /**< 11 Cortex-M4 SV Call Interrupt */ + DebugMonitor_IRQn = -4, /**< 12 Cortex-M4 Debug Monitor Interrupt */ + PendSV_IRQn = -2, /**< 14 Cortex-M4 Pend SV Interrupt */ + SysTick_IRQn = -1, /**< 15 Cortex-M4 System Tick Interrupt */ + /****** SAME54P20A-specific Interrupt Numbers ***********************/ + PM_IRQn = 0, /**< 0 SAME54P20A Power Manager (PM) */ + MCLK_IRQn = 1, /**< 1 SAME54P20A Main Clock (MCLK) */ + OSCCTRL_0_IRQn = 2, /**< 2 SAME54P20A Oscillators Control (OSCCTRL): OSCCTRL_XOSCFAIL_0, OSCCTRL_XOSCRDY_0 */ + OSCCTRL_1_IRQn = 3, /**< 3 SAME54P20A Oscillators Control (OSCCTRL): OSCCTRL_XOSCFAIL_1, OSCCTRL_XOSCRDY_1 */ + OSCCTRL_2_IRQn = 4, /**< 4 SAME54P20A Oscillators Control (OSCCTRL): OSCCTRL_DFLLLOCKC, OSCCTRL_DFLLLOCKF, OSCCTRL_DFLLOOB, OSCCTRL_DFLLRCS, OSCCTRL_DFLLRDY */ + OSCCTRL_3_IRQn = 5, /**< 5 SAME54P20A Oscillators Control (OSCCTRL): OSCCTRL_DPLLLCKF_0, OSCCTRL_DPLLLCKR_0, OSCCTRL_DPLLLDRTO_0, OSCCTRL_DPLLLTO_0 */ + OSCCTRL_4_IRQn = 6, /**< 6 SAME54P20A Oscillators Control (OSCCTRL): OSCCTRL_DPLLLCKF_1, OSCCTRL_DPLLLCKR_1, OSCCTRL_DPLLLDRTO_1, OSCCTRL_DPLLLTO_1 */ + OSC32KCTRL_IRQn = 7, /**< 7 SAME54P20A 32kHz Oscillators Control (OSC32KCTRL) */ + SUPC_0_IRQn = 8, /**< 8 SAME54P20A Supply Controller (SUPC): SUPC_B12SRDY, SUPC_B33SRDY, SUPC_BOD12RDY, SUPC_BOD33RDY, SUPC_VCORERDY, SUPC_VREGRDY */ + SUPC_1_IRQn = 9, /**< 9 SAME54P20A Supply Controller (SUPC): SUPC_BOD12DET, SUPC_BOD33DET */ + WDT_IRQn = 10, /**< 10 SAME54P20A Watchdog Timer (WDT) */ + RTC_IRQn = 11, /**< 11 SAME54P20A Real-Time Counter (RTC) */ + EIC_0_IRQn = 12, /**< 12 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_0 */ + EIC_1_IRQn = 13, /**< 13 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_1 */ + EIC_2_IRQn = 14, /**< 14 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_2 */ + EIC_3_IRQn = 15, /**< 15 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_3 */ + EIC_4_IRQn = 16, /**< 16 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_4 */ + EIC_5_IRQn = 17, /**< 17 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_5 */ + EIC_6_IRQn = 18, /**< 18 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_6 */ + EIC_7_IRQn = 19, /**< 19 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_7 */ + EIC_8_IRQn = 20, /**< 20 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_8 */ + EIC_9_IRQn = 21, /**< 21 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_9 */ + EIC_10_IRQn = 22, /**< 22 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_10 */ + EIC_11_IRQn = 23, /**< 23 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_11 */ + EIC_12_IRQn = 24, /**< 24 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_12 */ + EIC_13_IRQn = 25, /**< 25 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_13 */ + EIC_14_IRQn = 26, /**< 26 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_14 */ + EIC_15_IRQn = 27, /**< 27 SAME54P20A External Interrupt Controller (EIC): EIC_EXTINT_15 */ + FREQM_IRQn = 28, /**< 28 SAME54P20A Frequency Meter (FREQM) */ + NVMCTRL_0_IRQn = 29, /**< 29 SAME54P20A Non-Volatile Memory Controller (NVMCTRL): NVMCTRL_0, NVMCTRL_1, NVMCTRL_2, NVMCTRL_3, NVMCTRL_4, NVMCTRL_5, NVMCTRL_6, NVMCTRL_7 */ + NVMCTRL_1_IRQn = 30, /**< 30 SAME54P20A Non-Volatile Memory Controller (NVMCTRL): NVMCTRL_10, NVMCTRL_8, NVMCTRL_9 */ + DMAC_0_IRQn = 31, /**< 31 SAME54P20A Direct Memory Access Controller (DMAC): DMAC_SUSP_0, DMAC_TCMPL_0, DMAC_TERR_0 */ + DMAC_1_IRQn = 32, /**< 32 SAME54P20A Direct Memory Access Controller (DMAC): DMAC_SUSP_1, DMAC_TCMPL_1, DMAC_TERR_1 */ + DMAC_2_IRQn = 33, /**< 33 SAME54P20A Direct Memory Access Controller (DMAC): DMAC_SUSP_2, DMAC_TCMPL_2, DMAC_TERR_2 */ + DMAC_3_IRQn = 34, /**< 34 SAME54P20A Direct Memory Access Controller (DMAC): DMAC_SUSP_3, DMAC_TCMPL_3, DMAC_TERR_3 */ + DMAC_4_IRQn = 35, /**< 35 SAME54P20A Direct Memory Access Controller (DMAC): DMAC_SUSP_10, DMAC_SUSP_11, DMAC_SUSP_12, DMAC_SUSP_13, DMAC_SUSP_14, DMAC_SUSP_15, DMAC_SUSP_16, DMAC_SUSP_17, DMAC_SUSP_18, DMAC_SUSP_19, DMAC_SUSP_20, DMAC_SUSP_21, DMAC_SUSP_22, DMAC_SUSP_23, DMAC_SUSP_24, DMAC_SUSP_25, DMAC_SUSP_26, DMAC_SUSP_27, DMAC_SUSP_28, DMAC_SUSP_29, DMAC_SUSP_30, DMAC_SUSP_31, DMAC_SUSP_4, DMAC_SUSP_5, DMAC_SUSP_6, DMAC_SUSP_7, DMAC_SUSP_8, DMAC_SUSP_9, DMAC_TCMPL_10, DMAC_TCMPL_11, DMAC_TCMPL_12, DMAC_TCMPL_13, DMAC_TCMPL_14, DMAC_TCMPL_15, DMAC_TCMPL_16, DMAC_TCMPL_17, DMAC_TCMPL_18, DMAC_TCMPL_19, DMAC_TCMPL_20, DMAC_TCMPL_21, DMAC_TCMPL_22, DMAC_TCMPL_23, DMAC_TCMPL_24, DMAC_TCMPL_25, DMAC_TCMPL_26, DMAC_TCMPL_27, DMAC_TCMPL_28, DMAC_TCMPL_29, DMAC_TCMPL_30, DMAC_TCMPL_31, DMAC_TCMPL_4, DMAC_TCMPL_5, DMAC_TCMPL_6, DMAC_TCMPL_7, DMAC_TCMPL_8, DMAC_TCMPL_9, DMAC_TERR_10, DMAC_TERR_11, DMAC_TERR_12, DMAC_TERR_13, DMAC_TERR_14, DMAC_TERR_15, DMAC_TERR_16, DMAC_TERR_17, DMAC_TERR_18, DMAC_TERR_19, DMAC_TERR_20, DMAC_TERR_21, DMAC_TERR_22, DMAC_TERR_23, DMAC_TERR_24, DMAC_TERR_25, DMAC_TERR_26, DMAC_TERR_27, DMAC_TERR_28, DMAC_TERR_29, DMAC_TERR_30, DMAC_TERR_31, DMAC_TERR_4, DMAC_TERR_5, DMAC_TERR_6, DMAC_TERR_7, DMAC_TERR_8, DMAC_TERR_9 */ + EVSYS_0_IRQn = 36, /**< 36 SAME54P20A Event System Interface (EVSYS): EVSYS_EVD_0, EVSYS_OVR_0 */ + EVSYS_1_IRQn = 37, /**< 37 SAME54P20A Event System Interface (EVSYS): EVSYS_EVD_1, EVSYS_OVR_1 */ + EVSYS_2_IRQn = 38, /**< 38 SAME54P20A Event System Interface (EVSYS): EVSYS_EVD_2, EVSYS_OVR_2 */ + EVSYS_3_IRQn = 39, /**< 39 SAME54P20A Event System Interface (EVSYS): EVSYS_EVD_3, EVSYS_OVR_3 */ + EVSYS_4_IRQn = 40, /**< 40 SAME54P20A Event System Interface (EVSYS): EVSYS_EVD_10, EVSYS_EVD_11, EVSYS_EVD_4, EVSYS_EVD_5, EVSYS_EVD_6, EVSYS_EVD_7, EVSYS_EVD_8, EVSYS_EVD_9, EVSYS_OVR_10, EVSYS_OVR_11, EVSYS_OVR_4, EVSYS_OVR_5, EVSYS_OVR_6, EVSYS_OVR_7, EVSYS_OVR_8, EVSYS_OVR_9 */ + PAC_IRQn = 41, /**< 41 SAME54P20A Peripheral Access Controller (PAC) */ + TAL_0_IRQn = 42, /**< 42 SAME54P20A Trigger Allocator (TAL): TAL_BRK */ + TAL_1_IRQn = 43, /**< 43 SAME54P20A Trigger Allocator (TAL): TAL_IPS_0, TAL_IPS_1 */ + RAMECC_IRQn = 45, /**< 45 SAME54P20A RAM ECC (RAMECC) */ + SERCOM0_0_IRQn = 46, /**< 46 SAME54P20A Serial Communication Interface 0 (SERCOM0): SERCOM0_0 */ + SERCOM0_1_IRQn = 47, /**< 47 SAME54P20A Serial Communication Interface 0 (SERCOM0): SERCOM0_1 */ + SERCOM0_2_IRQn = 48, /**< 48 SAME54P20A Serial Communication Interface 0 (SERCOM0): SERCOM0_2 */ + SERCOM0_3_IRQn = 49, /**< 49 SAME54P20A Serial Communication Interface 0 (SERCOM0): SERCOM0_3, SERCOM0_4, SERCOM0_5, SERCOM0_6 */ + SERCOM1_0_IRQn = 50, /**< 50 SAME54P20A Serial Communication Interface 1 (SERCOM1): SERCOM1_0 */ + SERCOM1_1_IRQn = 51, /**< 51 SAME54P20A Serial Communication Interface 1 (SERCOM1): SERCOM1_1 */ + SERCOM1_2_IRQn = 52, /**< 52 SAME54P20A Serial Communication Interface 1 (SERCOM1): SERCOM1_2 */ + SERCOM1_3_IRQn = 53, /**< 53 SAME54P20A Serial Communication Interface 1 (SERCOM1): SERCOM1_3, SERCOM1_4, SERCOM1_5, SERCOM1_6 */ + SERCOM2_0_IRQn = 54, /**< 54 SAME54P20A Serial Communication Interface 2 (SERCOM2): SERCOM2_0 */ + SERCOM2_1_IRQn = 55, /**< 55 SAME54P20A Serial Communication Interface 2 (SERCOM2): SERCOM2_1 */ + SERCOM2_2_IRQn = 56, /**< 56 SAME54P20A Serial Communication Interface 2 (SERCOM2): SERCOM2_2 */ + SERCOM2_3_IRQn = 57, /**< 57 SAME54P20A Serial Communication Interface 2 (SERCOM2): SERCOM2_3, SERCOM2_4, SERCOM2_5, SERCOM2_6 */ + SERCOM3_0_IRQn = 58, /**< 58 SAME54P20A Serial Communication Interface 3 (SERCOM3): SERCOM3_0 */ + SERCOM3_1_IRQn = 59, /**< 59 SAME54P20A Serial Communication Interface 3 (SERCOM3): SERCOM3_1 */ + SERCOM3_2_IRQn = 60, /**< 60 SAME54P20A Serial Communication Interface 3 (SERCOM3): SERCOM3_2 */ + SERCOM3_3_IRQn = 61, /**< 61 SAME54P20A Serial Communication Interface 3 (SERCOM3): SERCOM3_3, SERCOM3_4, SERCOM3_5, SERCOM3_6 */ + SERCOM4_0_IRQn = 62, /**< 62 SAME54P20A Serial Communication Interface 4 (SERCOM4): SERCOM4_0 */ + SERCOM4_1_IRQn = 63, /**< 63 SAME54P20A Serial Communication Interface 4 (SERCOM4): SERCOM4_1 */ + SERCOM4_2_IRQn = 64, /**< 64 SAME54P20A Serial Communication Interface 4 (SERCOM4): SERCOM4_2 */ + SERCOM4_3_IRQn = 65, /**< 65 SAME54P20A Serial Communication Interface 4 (SERCOM4): SERCOM4_3, SERCOM4_4, SERCOM4_5, SERCOM4_6 */ + SERCOM5_0_IRQn = 66, /**< 66 SAME54P20A Serial Communication Interface 5 (SERCOM5): SERCOM5_0 */ + SERCOM5_1_IRQn = 67, /**< 67 SAME54P20A Serial Communication Interface 5 (SERCOM5): SERCOM5_1 */ + SERCOM5_2_IRQn = 68, /**< 68 SAME54P20A Serial Communication Interface 5 (SERCOM5): SERCOM5_2 */ + SERCOM5_3_IRQn = 69, /**< 69 SAME54P20A Serial Communication Interface 5 (SERCOM5): SERCOM5_3, SERCOM5_4, SERCOM5_5, SERCOM5_6 */ + SERCOM6_0_IRQn = 70, /**< 70 SAME54P20A Serial Communication Interface 6 (SERCOM6): SERCOM6_0 */ + SERCOM6_1_IRQn = 71, /**< 71 SAME54P20A Serial Communication Interface 6 (SERCOM6): SERCOM6_1 */ + SERCOM6_2_IRQn = 72, /**< 72 SAME54P20A Serial Communication Interface 6 (SERCOM6): SERCOM6_2 */ + SERCOM6_3_IRQn = 73, /**< 73 SAME54P20A Serial Communication Interface 6 (SERCOM6): SERCOM6_3, SERCOM6_4, SERCOM6_5, SERCOM6_6 */ + SERCOM7_0_IRQn = 74, /**< 74 SAME54P20A Serial Communication Interface 7 (SERCOM7): SERCOM7_0 */ + SERCOM7_1_IRQn = 75, /**< 75 SAME54P20A Serial Communication Interface 7 (SERCOM7): SERCOM7_1 */ + SERCOM7_2_IRQn = 76, /**< 76 SAME54P20A Serial Communication Interface 7 (SERCOM7): SERCOM7_2 */ + SERCOM7_3_IRQn = 77, /**< 77 SAME54P20A Serial Communication Interface 7 (SERCOM7): SERCOM7_3, SERCOM7_4, SERCOM7_5, SERCOM7_6 */ + CAN0_IRQn = 78, /**< 78 SAME54P20A Control Area Network 0 (CAN0) */ + CAN1_IRQn = 79, /**< 79 SAME54P20A Control Area Network 1 (CAN1) */ + USB_0_IRQn = 80, /**< 80 SAME54P20A Universal Serial Bus (USB): USB_EORSM_DNRSM, USB_EORST_RST, USB_LPMSUSP_DDISC, USB_LPM_DCONN, USB_MSOF, USB_RAMACER, USB_RXSTP_TXSTP_0, USB_RXSTP_TXSTP_1, USB_RXSTP_TXSTP_2, USB_RXSTP_TXSTP_3, USB_RXSTP_TXSTP_4, USB_RXSTP_TXSTP_5, USB_RXSTP_TXSTP_6, USB_RXSTP_TXSTP_7, USB_STALL0_STALL_0, USB_STALL0_STALL_1, USB_STALL0_STALL_2, USB_STALL0_STALL_3, USB_STALL0_STALL_4, USB_STALL0_STALL_5, USB_STALL0_STALL_6, USB_STALL0_STALL_7, USB_STALL1_0, USB_STALL1_1, USB_STALL1_2, USB_STALL1_3, USB_STALL1_4, USB_STALL1_5, USB_STALL1_6, USB_STALL1_7, USB_SUSPEND, USB_TRFAIL0_TRFAIL_0, USB_TRFAIL0_TRFAIL_1, USB_TRFAIL0_TRFAIL_2, USB_TRFAIL0_TRFAIL_3, USB_TRFAIL0_TRFAIL_4, USB_TRFAIL0_TRFAIL_5, USB_TRFAIL0_TRFAIL_6, USB_TRFAIL0_TRFAIL_7, USB_TRFAIL1_PERR_0, USB_TRFAIL1_PERR_1, USB_TRFAIL1_PERR_2, USB_TRFAIL1_PERR_3, USB_TRFAIL1_PERR_4, USB_TRFAIL1_PERR_5, USB_TRFAIL1_PERR_6, USB_TRFAIL1_PERR_7, USB_UPRSM, USB_WAKEUP */ + USB_1_IRQn = 81, /**< 81 SAME54P20A Universal Serial Bus (USB): USB_SOF_HSOF */ + USB_2_IRQn = 82, /**< 82 SAME54P20A Universal Serial Bus (USB): USB_TRCPT0_0, USB_TRCPT0_1, USB_TRCPT0_2, USB_TRCPT0_3, USB_TRCPT0_4, USB_TRCPT0_5, USB_TRCPT0_6, USB_TRCPT0_7 */ + USB_3_IRQn = 83, /**< 83 SAME54P20A Universal Serial Bus (USB): USB_TRCPT1_0, USB_TRCPT1_1, USB_TRCPT1_2, USB_TRCPT1_3, USB_TRCPT1_4, USB_TRCPT1_5, USB_TRCPT1_6, USB_TRCPT1_7 */ + GMAC_IRQn = 84, /**< 84 SAME54P20A Ethernet MAC (GMAC) */ + TCC0_0_IRQn = 85, /**< 85 SAME54P20A Timer Counter Control 0 (TCC0): TCC0_CNT_A, TCC0_DFS_A, TCC0_ERR_A, TCC0_FAULT0_A, TCC0_FAULT1_A, TCC0_FAULTA_A, TCC0_FAULTB_A, TCC0_OVF, TCC0_TRG, TCC0_UFS_A */ + TCC0_1_IRQn = 86, /**< 86 SAME54P20A Timer Counter Control 0 (TCC0): TCC0_MC_0 */ + TCC0_2_IRQn = 87, /**< 87 SAME54P20A Timer Counter Control 0 (TCC0): TCC0_MC_1 */ + TCC0_3_IRQn = 88, /**< 88 SAME54P20A Timer Counter Control 0 (TCC0): TCC0_MC_2 */ + TCC0_4_IRQn = 89, /**< 89 SAME54P20A Timer Counter Control 0 (TCC0): TCC0_MC_3 */ + TCC0_5_IRQn = 90, /**< 90 SAME54P20A Timer Counter Control 0 (TCC0): TCC0_MC_4 */ + TCC0_6_IRQn = 91, /**< 91 SAME54P20A Timer Counter Control 0 (TCC0): TCC0_MC_5 */ + TCC1_0_IRQn = 92, /**< 92 SAME54P20A Timer Counter Control 1 (TCC1): TCC1_CNT_A, TCC1_DFS_A, TCC1_ERR_A, TCC1_FAULT0_A, TCC1_FAULT1_A, TCC1_FAULTA_A, TCC1_FAULTB_A, TCC1_OVF, TCC1_TRG, TCC1_UFS_A */ + TCC1_1_IRQn = 93, /**< 93 SAME54P20A Timer Counter Control 1 (TCC1): TCC1_MC_0 */ + TCC1_2_IRQn = 94, /**< 94 SAME54P20A Timer Counter Control 1 (TCC1): TCC1_MC_1 */ + TCC1_3_IRQn = 95, /**< 95 SAME54P20A Timer Counter Control 1 (TCC1): TCC1_MC_2 */ + TCC1_4_IRQn = 96, /**< 96 SAME54P20A Timer Counter Control 1 (TCC1): TCC1_MC_3 */ + TCC2_0_IRQn = 97, /**< 97 SAME54P20A Timer Counter Control 2 (TCC2): TCC2_CNT_A, TCC2_DFS_A, TCC2_ERR_A, TCC2_FAULT0_A, TCC2_FAULT1_A, TCC2_FAULTA_A, TCC2_FAULTB_A, TCC2_OVF, TCC2_TRG, TCC2_UFS_A */ + TCC2_1_IRQn = 98, /**< 98 SAME54P20A Timer Counter Control 2 (TCC2): TCC2_MC_0 */ + TCC2_2_IRQn = 99, /**< 99 SAME54P20A Timer Counter Control 2 (TCC2): TCC2_MC_1 */ + TCC2_3_IRQn = 100, /**< 100 SAME54P20A Timer Counter Control 2 (TCC2): TCC2_MC_2 */ + TCC3_0_IRQn = 101, /**< 101 SAME54P20A Timer Counter Control 3 (TCC3): TCC3_CNT_A, TCC3_DFS_A, TCC3_ERR_A, TCC3_FAULT0_A, TCC3_FAULT1_A, TCC3_FAULTA_A, TCC3_FAULTB_A, TCC3_OVF, TCC3_TRG, TCC3_UFS_A */ + TCC3_1_IRQn = 102, /**< 102 SAME54P20A Timer Counter Control 3 (TCC3): TCC3_MC_0 */ + TCC3_2_IRQn = 103, /**< 103 SAME54P20A Timer Counter Control 3 (TCC3): TCC3_MC_1 */ + TCC4_0_IRQn = 104, /**< 104 SAME54P20A Timer Counter Control 4 (TCC4): TCC4_CNT_A, TCC4_DFS_A, TCC4_ERR_A, TCC4_FAULT0_A, TCC4_FAULT1_A, TCC4_FAULTA_A, TCC4_FAULTB_A, TCC4_OVF, TCC4_TRG, TCC4_UFS_A */ + TCC4_1_IRQn = 105, /**< 105 SAME54P20A Timer Counter Control 4 (TCC4): TCC4_MC_0 */ + TCC4_2_IRQn = 106, /**< 106 SAME54P20A Timer Counter Control 4 (TCC4): TCC4_MC_1 */ + TC0_IRQn = 107, /**< 107 SAME54P20A Basic Timer Counter 0 (TC0) */ + TC1_IRQn = 108, /**< 108 SAME54P20A Basic Timer Counter 1 (TC1) */ + TC2_IRQn = 109, /**< 109 SAME54P20A Basic Timer Counter 2 (TC2) */ + TC3_IRQn = 110, /**< 110 SAME54P20A Basic Timer Counter 3 (TC3) */ + TC4_IRQn = 111, /**< 111 SAME54P20A Basic Timer Counter 4 (TC4) */ + TC5_IRQn = 112, /**< 112 SAME54P20A Basic Timer Counter 5 (TC5) */ + TC6_IRQn = 113, /**< 113 SAME54P20A Basic Timer Counter 6 (TC6) */ + TC7_IRQn = 114, /**< 114 SAME54P20A Basic Timer Counter 7 (TC7) */ + PDEC_0_IRQn = 115, /**< 115 SAME54P20A Quadrature Decodeur (PDEC): PDEC_DIR_A, PDEC_ERR_A, PDEC_OVF, PDEC_VLC_A */ + PDEC_1_IRQn = 116, /**< 116 SAME54P20A Quadrature Decodeur (PDEC): PDEC_MC_0 */ + PDEC_2_IRQn = 117, /**< 117 SAME54P20A Quadrature Decodeur (PDEC): PDEC_MC_1 */ + ADC0_0_IRQn = 118, /**< 118 SAME54P20A Analog Digital Converter 0 (ADC0): ADC0_OVERRUN, ADC0_WINMON */ + ADC0_1_IRQn = 119, /**< 119 SAME54P20A Analog Digital Converter 0 (ADC0): ADC0_RESRDY */ + ADC1_0_IRQn = 120, /**< 120 SAME54P20A Analog Digital Converter 1 (ADC1): ADC1_OVERRUN, ADC1_WINMON */ + ADC1_1_IRQn = 121, /**< 121 SAME54P20A Analog Digital Converter 1 (ADC1): ADC1_RESRDY */ + AC_IRQn = 122, /**< 122 SAME54P20A Analog Comparators (AC) */ + DAC_0_IRQn = 123, /**< 123 SAME54P20A Digital-to-Analog Converter (DAC): DAC_OVERRUN_A_0, DAC_OVERRUN_A_1, DAC_UNDERRUN_A_0, DAC_UNDERRUN_A_1 */ + DAC_1_IRQn = 124, /**< 124 SAME54P20A Digital-to-Analog Converter (DAC): DAC_EMPTY_0 */ + DAC_2_IRQn = 125, /**< 125 SAME54P20A Digital-to-Analog Converter (DAC): DAC_EMPTY_1 */ + DAC_3_IRQn = 126, /**< 126 SAME54P20A Digital-to-Analog Converter (DAC): DAC_RESRDY_0 */ + DAC_4_IRQn = 127, /**< 127 SAME54P20A Digital-to-Analog Converter (DAC): DAC_RESRDY_1 */ + I2S_IRQn = 128, /**< 128 SAME54P20A Inter-IC Sound Interface (I2S) */ + PCC_IRQn = 129, /**< 129 SAME54P20A Parallel Capture Controller (PCC) */ + AES_IRQn = 130, /**< 130 SAME54P20A Advanced Encryption Standard (AES) */ + TRNG_IRQn = 131, /**< 131 SAME54P20A True Random Generator (TRNG) */ + ICM_IRQn = 132, /**< 132 SAME54P20A Integrity Check Monitor (ICM) */ + PUKCC_IRQn = 133, /**< 133 SAME54P20A PUblic-Key Cryptography Controller (PUKCC) */ + QSPI_IRQn = 134, /**< 134 SAME54P20A Quad SPI interface (QSPI) */ + SDHC0_IRQn = 135, /**< 135 SAME54P20A SD/MMC Host Controller 0 (SDHC0) */ + SDHC1_IRQn = 136, /**< 136 SAME54P20A SD/MMC Host Controller 1 (SDHC1) */ + + PERIPH_COUNT_IRQn = 137 /**< Number of peripheral IDs */ +} IRQn_Type; + +typedef struct _DeviceVectors +{ + /* Stack pointer */ + void* pvStack; + + /* Cortex-M handlers */ + void* pfnReset_Handler; + void* pfnNMI_Handler; + void* pfnHardFault_Handler; + void* pfnMemManage_Handler; + void* pfnBusFault_Handler; + void* pfnUsageFault_Handler; + void* pvReservedM9; + void* pvReservedM8; + void* pvReservedM7; + void* pvReservedM6; + void* pfnSVC_Handler; + void* pfnDebugMon_Handler; + void* pvReservedM3; + void* pfnPendSV_Handler; + void* pfnSysTick_Handler; + + /* Peripheral handlers */ + void* pfnPM_Handler; /* 0 Power Manager */ + void* pfnMCLK_Handler; /* 1 Main Clock */ + void* pfnOSCCTRL_0_Handler; /* 2 Oscillators Control IRQ 0 */ + void* pfnOSCCTRL_1_Handler; /* 3 Oscillators Control IRQ 1 */ + void* pfnOSCCTRL_2_Handler; /* 4 Oscillators Control IRQ 2 */ + void* pfnOSCCTRL_3_Handler; /* 5 Oscillators Control IRQ 3 */ + void* pfnOSCCTRL_4_Handler; /* 6 Oscillators Control IRQ 4 */ + void* pfnOSC32KCTRL_Handler; /* 7 32kHz Oscillators Control */ + void* pfnSUPC_0_Handler; /* 8 Supply Controller IRQ 0 */ + void* pfnSUPC_1_Handler; /* 9 Supply Controller IRQ 1 */ + void* pfnWDT_Handler; /* 10 Watchdog Timer */ + void* pfnRTC_Handler; /* 11 Real-Time Counter */ + void* pfnEIC_0_Handler; /* 12 External Interrupt Controller IRQ 0 */ + void* pfnEIC_1_Handler; /* 13 External Interrupt Controller IRQ 1 */ + void* pfnEIC_2_Handler; /* 14 External Interrupt Controller IRQ 2 */ + void* pfnEIC_3_Handler; /* 15 External Interrupt Controller IRQ 3 */ + void* pfnEIC_4_Handler; /* 16 External Interrupt Controller IRQ 4 */ + void* pfnEIC_5_Handler; /* 17 External Interrupt Controller IRQ 5 */ + void* pfnEIC_6_Handler; /* 18 External Interrupt Controller IRQ 6 */ + void* pfnEIC_7_Handler; /* 19 External Interrupt Controller IRQ 7 */ + void* pfnEIC_8_Handler; /* 20 External Interrupt Controller IRQ 8 */ + void* pfnEIC_9_Handler; /* 21 External Interrupt Controller IRQ 9 */ + void* pfnEIC_10_Handler; /* 22 External Interrupt Controller IRQ 10 */ + void* pfnEIC_11_Handler; /* 23 External Interrupt Controller IRQ 11 */ + void* pfnEIC_12_Handler; /* 24 External Interrupt Controller IRQ 12 */ + void* pfnEIC_13_Handler; /* 25 External Interrupt Controller IRQ 13 */ + void* pfnEIC_14_Handler; /* 26 External Interrupt Controller IRQ 14 */ + void* pfnEIC_15_Handler; /* 27 External Interrupt Controller IRQ 15 */ + void* pfnFREQM_Handler; /* 28 Frequency Meter */ + void* pfnNVMCTRL_0_Handler; /* 29 Non-Volatile Memory Controller IRQ 0 */ + void* pfnNVMCTRL_1_Handler; /* 30 Non-Volatile Memory Controller IRQ 1 */ + void* pfnDMAC_0_Handler; /* 31 Direct Memory Access Controller IRQ 0 */ + void* pfnDMAC_1_Handler; /* 32 Direct Memory Access Controller IRQ 1 */ + void* pfnDMAC_2_Handler; /* 33 Direct Memory Access Controller IRQ 2 */ + void* pfnDMAC_3_Handler; /* 34 Direct Memory Access Controller IRQ 3 */ + void* pfnDMAC_4_Handler; /* 35 Direct Memory Access Controller IRQ 4 */ + void* pfnEVSYS_0_Handler; /* 36 Event System Interface IRQ 0 */ + void* pfnEVSYS_1_Handler; /* 37 Event System Interface IRQ 1 */ + void* pfnEVSYS_2_Handler; /* 38 Event System Interface IRQ 2 */ + void* pfnEVSYS_3_Handler; /* 39 Event System Interface IRQ 3 */ + void* pfnEVSYS_4_Handler; /* 40 Event System Interface IRQ 4 */ + void* pfnPAC_Handler; /* 41 Peripheral Access Controller */ + void* pfnTAL_0_Handler; /* 42 Trigger Allocator IRQ 0 */ + void* pfnTAL_1_Handler; /* 43 Trigger Allocator IRQ 1 */ + void* pvReserved44; + void* pfnRAMECC_Handler; /* 45 RAM ECC */ + void* pfnSERCOM0_0_Handler; /* 46 Serial Communication Interface 0 IRQ 0 */ + void* pfnSERCOM0_1_Handler; /* 47 Serial Communication Interface 0 IRQ 1 */ + void* pfnSERCOM0_2_Handler; /* 48 Serial Communication Interface 0 IRQ 2 */ + void* pfnSERCOM0_3_Handler; /* 49 Serial Communication Interface 0 IRQ 3 */ + void* pfnSERCOM1_0_Handler; /* 50 Serial Communication Interface 1 IRQ 0 */ + void* pfnSERCOM1_1_Handler; /* 51 Serial Communication Interface 1 IRQ 1 */ + void* pfnSERCOM1_2_Handler; /* 52 Serial Communication Interface 1 IRQ 2 */ + void* pfnSERCOM1_3_Handler; /* 53 Serial Communication Interface 1 IRQ 3 */ + void* pfnSERCOM2_0_Handler; /* 54 Serial Communication Interface 2 IRQ 0 */ + void* pfnSERCOM2_1_Handler; /* 55 Serial Communication Interface 2 IRQ 1 */ + void* pfnSERCOM2_2_Handler; /* 56 Serial Communication Interface 2 IRQ 2 */ + void* pfnSERCOM2_3_Handler; /* 57 Serial Communication Interface 2 IRQ 3 */ + void* pfnSERCOM3_0_Handler; /* 58 Serial Communication Interface 3 IRQ 0 */ + void* pfnSERCOM3_1_Handler; /* 59 Serial Communication Interface 3 IRQ 1 */ + void* pfnSERCOM3_2_Handler; /* 60 Serial Communication Interface 3 IRQ 2 */ + void* pfnSERCOM3_3_Handler; /* 61 Serial Communication Interface 3 IRQ 3 */ + void* pfnSERCOM4_0_Handler; /* 62 Serial Communication Interface 4 IRQ 0 */ + void* pfnSERCOM4_1_Handler; /* 63 Serial Communication Interface 4 IRQ 1 */ + void* pfnSERCOM4_2_Handler; /* 64 Serial Communication Interface 4 IRQ 2 */ + void* pfnSERCOM4_3_Handler; /* 65 Serial Communication Interface 4 IRQ 3 */ + void* pfnSERCOM5_0_Handler; /* 66 Serial Communication Interface 5 IRQ 0 */ + void* pfnSERCOM5_1_Handler; /* 67 Serial Communication Interface 5 IRQ 1 */ + void* pfnSERCOM5_2_Handler; /* 68 Serial Communication Interface 5 IRQ 2 */ + void* pfnSERCOM5_3_Handler; /* 69 Serial Communication Interface 5 IRQ 3 */ + void* pfnSERCOM6_0_Handler; /* 70 Serial Communication Interface 6 IRQ 0 */ + void* pfnSERCOM6_1_Handler; /* 71 Serial Communication Interface 6 IRQ 1 */ + void* pfnSERCOM6_2_Handler; /* 72 Serial Communication Interface 6 IRQ 2 */ + void* pfnSERCOM6_3_Handler; /* 73 Serial Communication Interface 6 IRQ 3 */ + void* pfnSERCOM7_0_Handler; /* 74 Serial Communication Interface 7 IRQ 0 */ + void* pfnSERCOM7_1_Handler; /* 75 Serial Communication Interface 7 IRQ 1 */ + void* pfnSERCOM7_2_Handler; /* 76 Serial Communication Interface 7 IRQ 2 */ + void* pfnSERCOM7_3_Handler; /* 77 Serial Communication Interface 7 IRQ 3 */ + void* pfnCAN0_Handler; /* 78 Control Area Network 0 */ + void* pfnCAN1_Handler; /* 79 Control Area Network 1 */ + void* pfnUSB_0_Handler; /* 80 Universal Serial Bus IRQ 0 */ + void* pfnUSB_1_Handler; /* 81 Universal Serial Bus IRQ 1 */ + void* pfnUSB_2_Handler; /* 82 Universal Serial Bus IRQ 2 */ + void* pfnUSB_3_Handler; /* 83 Universal Serial Bus IRQ 3 */ + void* pfnGMAC_Handler; /* 84 Ethernet MAC */ + void* pfnTCC0_0_Handler; /* 85 Timer Counter Control 0 IRQ 0 */ + void* pfnTCC0_1_Handler; /* 86 Timer Counter Control 0 IRQ 1 */ + void* pfnTCC0_2_Handler; /* 87 Timer Counter Control 0 IRQ 2 */ + void* pfnTCC0_3_Handler; /* 88 Timer Counter Control 0 IRQ 3 */ + void* pfnTCC0_4_Handler; /* 89 Timer Counter Control 0 IRQ 4 */ + void* pfnTCC0_5_Handler; /* 90 Timer Counter Control 0 IRQ 5 */ + void* pfnTCC0_6_Handler; /* 91 Timer Counter Control 0 IRQ 6 */ + void* pfnTCC1_0_Handler; /* 92 Timer Counter Control 1 IRQ 0 */ + void* pfnTCC1_1_Handler; /* 93 Timer Counter Control 1 IRQ 1 */ + void* pfnTCC1_2_Handler; /* 94 Timer Counter Control 1 IRQ 2 */ + void* pfnTCC1_3_Handler; /* 95 Timer Counter Control 1 IRQ 3 */ + void* pfnTCC1_4_Handler; /* 96 Timer Counter Control 1 IRQ 4 */ + void* pfnTCC2_0_Handler; /* 97 Timer Counter Control 2 IRQ 0 */ + void* pfnTCC2_1_Handler; /* 98 Timer Counter Control 2 IRQ 1 */ + void* pfnTCC2_2_Handler; /* 99 Timer Counter Control 2 IRQ 2 */ + void* pfnTCC2_3_Handler; /* 100 Timer Counter Control 2 IRQ 3 */ + void* pfnTCC3_0_Handler; /* 101 Timer Counter Control 3 IRQ 0 */ + void* pfnTCC3_1_Handler; /* 102 Timer Counter Control 3 IRQ 1 */ + void* pfnTCC3_2_Handler; /* 103 Timer Counter Control 3 IRQ 2 */ + void* pfnTCC4_0_Handler; /* 104 Timer Counter Control 4 IRQ 0 */ + void* pfnTCC4_1_Handler; /* 105 Timer Counter Control 4 IRQ 1 */ + void* pfnTCC4_2_Handler; /* 106 Timer Counter Control 4 IRQ 2 */ + void* pfnTC0_Handler; /* 107 Basic Timer Counter 0 */ + void* pfnTC1_Handler; /* 108 Basic Timer Counter 1 */ + void* pfnTC2_Handler; /* 109 Basic Timer Counter 2 */ + void* pfnTC3_Handler; /* 110 Basic Timer Counter 3 */ + void* pfnTC4_Handler; /* 111 Basic Timer Counter 4 */ + void* pfnTC5_Handler; /* 112 Basic Timer Counter 5 */ + void* pfnTC6_Handler; /* 113 Basic Timer Counter 6 */ + void* pfnTC7_Handler; /* 114 Basic Timer Counter 7 */ + void* pfnPDEC_0_Handler; /* 115 Quadrature Decodeur IRQ 0 */ + void* pfnPDEC_1_Handler; /* 116 Quadrature Decodeur IRQ 1 */ + void* pfnPDEC_2_Handler; /* 117 Quadrature Decodeur IRQ 2 */ + void* pfnADC0_0_Handler; /* 118 Analog Digital Converter 0 IRQ 0 */ + void* pfnADC0_1_Handler; /* 119 Analog Digital Converter 0 IRQ 1 */ + void* pfnADC1_0_Handler; /* 120 Analog Digital Converter 1 IRQ 0 */ + void* pfnADC1_1_Handler; /* 121 Analog Digital Converter 1 IRQ 1 */ + void* pfnAC_Handler; /* 122 Analog Comparators */ + void* pfnDAC_0_Handler; /* 123 Digital-to-Analog Converter IRQ 0 */ + void* pfnDAC_1_Handler; /* 124 Digital-to-Analog Converter IRQ 1 */ + void* pfnDAC_2_Handler; /* 125 Digital-to-Analog Converter IRQ 2 */ + void* pfnDAC_3_Handler; /* 126 Digital-to-Analog Converter IRQ 3 */ + void* pfnDAC_4_Handler; /* 127 Digital-to-Analog Converter IRQ 4 */ + void* pfnI2S_Handler; /* 128 Inter-IC Sound Interface */ + void* pfnPCC_Handler; /* 129 Parallel Capture Controller */ + void* pfnAES_Handler; /* 130 Advanced Encryption Standard */ + void* pfnTRNG_Handler; /* 131 True Random Generator */ + void* pfnICM_Handler; /* 132 Integrity Check Monitor */ + void* pfnPUKCC_Handler; /* 133 PUblic-Key Cryptography Controller */ + void* pfnQSPI_Handler; /* 134 Quad SPI interface */ + void* pfnSDHC0_Handler; /* 135 SD/MMC Host Controller 0 */ + void* pfnSDHC1_Handler; /* 136 SD/MMC Host Controller 1 */ +} DeviceVectors; + +/* Cortex-M4 processor handlers */ +void Reset_Handler ( void ); +void NMI_Handler ( void ); +void HardFault_Handler ( void ); +void MemManage_Handler ( void ); +void BusFault_Handler ( void ); +void UsageFault_Handler ( void ); +void SVC_Handler ( void ); +void DebugMon_Handler ( void ); +void PendSV_Handler ( void ); +void SysTick_Handler ( void ); + +/* Peripherals handlers */ +void PM_Handler ( void ); +void MCLK_Handler ( void ); +void OSCCTRL_0_Handler ( void ); +void OSCCTRL_1_Handler ( void ); +void OSCCTRL_2_Handler ( void ); +void OSCCTRL_3_Handler ( void ); +void OSCCTRL_4_Handler ( void ); +void OSC32KCTRL_Handler ( void ); +void SUPC_0_Handler ( void ); +void SUPC_1_Handler ( void ); +void WDT_Handler ( void ); +void RTC_Handler ( void ); +void EIC_0_Handler ( void ); +void EIC_1_Handler ( void ); +void EIC_2_Handler ( void ); +void EIC_3_Handler ( void ); +void EIC_4_Handler ( void ); +void EIC_5_Handler ( void ); +void EIC_6_Handler ( void ); +void EIC_7_Handler ( void ); +void EIC_8_Handler ( void ); +void EIC_9_Handler ( void ); +void EIC_10_Handler ( void ); +void EIC_11_Handler ( void ); +void EIC_12_Handler ( void ); +void EIC_13_Handler ( void ); +void EIC_14_Handler ( void ); +void EIC_15_Handler ( void ); +void FREQM_Handler ( void ); +void NVMCTRL_0_Handler ( void ); +void NVMCTRL_1_Handler ( void ); +void DMAC_0_Handler ( void ); +void DMAC_1_Handler ( void ); +void DMAC_2_Handler ( void ); +void DMAC_3_Handler ( void ); +void DMAC_4_Handler ( void ); +void EVSYS_0_Handler ( void ); +void EVSYS_1_Handler ( void ); +void EVSYS_2_Handler ( void ); +void EVSYS_3_Handler ( void ); +void EVSYS_4_Handler ( void ); +void PAC_Handler ( void ); +void TAL_0_Handler ( void ); +void TAL_1_Handler ( void ); +void RAMECC_Handler ( void ); +void SERCOM0_0_Handler ( void ); +void SERCOM0_1_Handler ( void ); +void SERCOM0_2_Handler ( void ); +void SERCOM0_3_Handler ( void ); +void SERCOM1_0_Handler ( void ); +void SERCOM1_1_Handler ( void ); +void SERCOM1_2_Handler ( void ); +void SERCOM1_3_Handler ( void ); +void SERCOM2_0_Handler ( void ); +void SERCOM2_1_Handler ( void ); +void SERCOM2_2_Handler ( void ); +void SERCOM2_3_Handler ( void ); +void SERCOM3_0_Handler ( void ); +void SERCOM3_1_Handler ( void ); +void SERCOM3_2_Handler ( void ); +void SERCOM3_3_Handler ( void ); +void SERCOM4_0_Handler ( void ); +void SERCOM4_1_Handler ( void ); +void SERCOM4_2_Handler ( void ); +void SERCOM4_3_Handler ( void ); +void SERCOM5_0_Handler ( void ); +void SERCOM5_1_Handler ( void ); +void SERCOM5_2_Handler ( void ); +void SERCOM5_3_Handler ( void ); +void SERCOM6_0_Handler ( void ); +void SERCOM6_1_Handler ( void ); +void SERCOM6_2_Handler ( void ); +void SERCOM6_3_Handler ( void ); +void SERCOM7_0_Handler ( void ); +void SERCOM7_1_Handler ( void ); +void SERCOM7_2_Handler ( void ); +void SERCOM7_3_Handler ( void ); +void CAN0_Handler ( void ); +void CAN1_Handler ( void ); +void USB_0_Handler ( void ); +void USB_1_Handler ( void ); +void USB_2_Handler ( void ); +void USB_3_Handler ( void ); +void GMAC_Handler ( void ); +void TCC0_0_Handler ( void ); +void TCC0_1_Handler ( void ); +void TCC0_2_Handler ( void ); +void TCC0_3_Handler ( void ); +void TCC0_4_Handler ( void ); +void TCC0_5_Handler ( void ); +void TCC0_6_Handler ( void ); +void TCC1_0_Handler ( void ); +void TCC1_1_Handler ( void ); +void TCC1_2_Handler ( void ); +void TCC1_3_Handler ( void ); +void TCC1_4_Handler ( void ); +void TCC2_0_Handler ( void ); +void TCC2_1_Handler ( void ); +void TCC2_2_Handler ( void ); +void TCC2_3_Handler ( void ); +void TCC3_0_Handler ( void ); +void TCC3_1_Handler ( void ); +void TCC3_2_Handler ( void ); +void TCC4_0_Handler ( void ); +void TCC4_1_Handler ( void ); +void TCC4_2_Handler ( void ); +void TC0_Handler ( void ); +void TC1_Handler ( void ); +void TC2_Handler ( void ); +void TC3_Handler ( void ); +void TC4_Handler ( void ); +void TC5_Handler ( void ); +void TC6_Handler ( void ); +void TC7_Handler ( void ); +void PDEC_0_Handler ( void ); +void PDEC_1_Handler ( void ); +void PDEC_2_Handler ( void ); +void ADC0_0_Handler ( void ); +void ADC0_1_Handler ( void ); +void ADC1_0_Handler ( void ); +void ADC1_1_Handler ( void ); +void AC_Handler ( void ); +void DAC_0_Handler ( void ); +void DAC_1_Handler ( void ); +void DAC_2_Handler ( void ); +void DAC_3_Handler ( void ); +void DAC_4_Handler ( void ); +void I2S_Handler ( void ); +void PCC_Handler ( void ); +void AES_Handler ( void ); +void TRNG_Handler ( void ); +void ICM_Handler ( void ); +void PUKCC_Handler ( void ); +void QSPI_Handler ( void ); +void SDHC0_Handler ( void ); +void SDHC1_Handler ( void ); + +/* + * \brief Configuration of the Cortex-M4 Processor and Core Peripherals + */ + +#define LITTLE_ENDIAN 1 +#define __CM4_REV 1 /*!< Core revision r0p1 */ +#define __DEBUG_LVL 3 /*!< Full debug plus DWT data matching */ +#define __FPU_PRESENT 1 /*!< FPU present or not */ +#define __MPU_PRESENT 1 /*!< MPU present or not */ +#define __NVIC_PRIO_BITS 3 /*!< Number of bits used for Priority Levels */ +#define __TRACE_LVL 2 /*!< Full trace: ITM, DWT triggers and counters, ETM */ +#define __VTOR_PRESENT 1 /*!< VTOR present or not */ +#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ + +/** + * \brief CMSIS includes + */ + +#include +#if !defined DONT_USE_CMSIS_INIT +#include "system_same54.h" +#endif /* DONT_USE_CMSIS_INIT */ + +/*@}*/ + +/* ************************************************************************** */ +/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME54P20A */ +/* ************************************************************************** */ +/** \defgroup SAME54P20A_api Peripheral Software API */ +/*@{*/ + +#include "component/ac.h" +#include "component/adc.h" +#include "component/aes.h" +#include "component/can.h" +#include "component/ccl.h" +#include "component/cmcc.h" +#include "component/dac.h" +#include "component/dmac.h" +#include "component/dsu.h" +#include "component/eic.h" +#include "component/evsys.h" +#include "component/freqm.h" +#include "component/gclk.h" +#include "component/gmac.h" +#include "component/hmatrixb.h" +#include "component/icm.h" +#include "component/i2s.h" +#include "component/mclk.h" +#include "component/nvmctrl.h" +#include "component/oscctrl.h" +#include "component/osc32kctrl.h" +#include "component/pac.h" +#include "component/pcc.h" +#include "component/pdec.h" +#include "component/pm.h" +#include "component/port.h" +#include "component/qspi.h" +#include "component/ramecc.h" +#include "component/rstc.h" +#include "component/rtc.h" +#include "component/sdhc.h" +#include "component/sercom.h" +#include "component/supc.h" +#include "component/tal.h" +#include "component/tc.h" +#include "component/tcc.h" +#include "component/trng.h" +#include "component/usb.h" +#include "component/wdt.h" +/*@}*/ + +/* ************************************************************************** */ +/** REGISTERS ACCESS DEFINITIONS FOR SAME54P20A */ +/* ************************************************************************** */ +/** \defgroup SAME54P20A_reg Registers Access Definitions */ +/*@{*/ + +#include "instance/ac.h" +#include "instance/adc0.h" +#include "instance/adc1.h" +#include "instance/aes.h" +#include "instance/can0.h" +#include "instance/can1.h" +#include "instance/ccl.h" +#include "instance/cmcc.h" +#include "instance/dac.h" +#include "instance/dmac.h" +#include "instance/dsu.h" +#include "instance/eic.h" +#include "instance/evsys.h" +#include "instance/freqm.h" +#include "instance/gclk.h" +#include "instance/gmac.h" +#include "instance/hmatrix.h" +#include "instance/icm.h" +#include "instance/i2s.h" +#include "instance/mclk.h" +#include "instance/nvmctrl.h" +#include "instance/oscctrl.h" +#include "instance/osc32kctrl.h" +#include "instance/pac.h" +#include "instance/pcc.h" +#include "instance/pdec.h" +#include "instance/pm.h" +#include "instance/port.h" +#include "instance/qspi.h" +#include "instance/ramecc.h" +#include "instance/rstc.h" +#include "instance/rtc.h" +#include "instance/sdhc0.h" +#include "instance/sdhc1.h" +#include "instance/sercom0.h" +#include "instance/sercom1.h" +#include "instance/sercom2.h" +#include "instance/sercom3.h" +#include "instance/sercom4.h" +#include "instance/sercom5.h" +#include "instance/sercom6.h" +#include "instance/sercom7.h" +#include "instance/supc.h" +#include "instance/tal.h" +#include "instance/tc0.h" +#include "instance/tc1.h" +#include "instance/tc2.h" +#include "instance/tc3.h" +#include "instance/tc4.h" +#include "instance/tc5.h" +#include "instance/tc6.h" +#include "instance/tc7.h" +#include "instance/tcc0.h" +#include "instance/tcc1.h" +#include "instance/tcc2.h" +#include "instance/tcc3.h" +#include "instance/tcc4.h" +#include "instance/trng.h" +#include "instance/usb.h" +#include "instance/wdt.h" +/*@}*/ + +/* ************************************************************************** */ +/** PERIPHERAL ID DEFINITIONS FOR SAME54P20A */ +/* ************************************************************************** */ +/** \defgroup SAME54P20A_id Peripheral Ids Definitions */ +/*@{*/ + +// Peripheral instances on HPB0 bridge +#define ID_PAC 0 /**< \brief Peripheral Access Controller (PAC) */ +#define ID_PM 1 /**< \brief Power Manager (PM) */ +#define ID_MCLK 2 /**< \brief Main Clock (MCLK) */ +#define ID_RSTC 3 /**< \brief Reset Controller (RSTC) */ +#define ID_OSCCTRL 4 /**< \brief Oscillators Control (OSCCTRL) */ +#define ID_OSC32KCTRL 5 /**< \brief 32kHz Oscillators Control (OSC32KCTRL) */ +#define ID_SUPC 6 /**< \brief Supply Controller (SUPC) */ +#define ID_GCLK 7 /**< \brief Generic Clock Generator (GCLK) */ +#define ID_WDT 8 /**< \brief Watchdog Timer (WDT) */ +#define ID_RTC 9 /**< \brief Real-Time Counter (RTC) */ +#define ID_EIC 10 /**< \brief External Interrupt Controller (EIC) */ +#define ID_FREQM 11 /**< \brief Frequency Meter (FREQM) */ +#define ID_SERCOM0 12 /**< \brief Serial Communication Interface 0 (SERCOM0) */ +#define ID_SERCOM1 13 /**< \brief Serial Communication Interface 1 (SERCOM1) */ +#define ID_TC0 14 /**< \brief Basic Timer Counter 0 (TC0) */ +#define ID_TC1 15 /**< \brief Basic Timer Counter 1 (TC1) */ + +// Peripheral instances on HPB1 bridge +#define ID_USB 32 /**< \brief Universal Serial Bus (USB) */ +#define ID_DSU 33 /**< \brief Device Service Unit (DSU) */ +#define ID_NVMCTRL 34 /**< \brief Non-Volatile Memory Controller (NVMCTRL) */ +#define ID_CMCC 35 /**< \brief Cortex M Cache Controller (CMCC) */ +#define ID_PORT 36 /**< \brief Port Module (PORT) */ +#define ID_DMAC 37 /**< \brief Direct Memory Access Controller (DMAC) */ +#define ID_HMATRIX 38 /**< \brief HSB Matrix (HMATRIX) */ +#define ID_EVSYS 39 /**< \brief Event System Interface (EVSYS) */ +#define ID_SERCOM2 41 /**< \brief Serial Communication Interface 2 (SERCOM2) */ +#define ID_SERCOM3 42 /**< \brief Serial Communication Interface 3 (SERCOM3) */ +#define ID_TCC0 43 /**< \brief Timer Counter Control 0 (TCC0) */ +#define ID_TCC1 44 /**< \brief Timer Counter Control 1 (TCC1) */ +#define ID_TC2 45 /**< \brief Basic Timer Counter 2 (TC2) */ +#define ID_TC3 46 /**< \brief Basic Timer Counter 3 (TC3) */ +#define ID_TAL 47 /**< \brief Trigger Allocator (TAL) */ +#define ID_RAMECC 48 /**< \brief RAM ECC (RAMECC) */ + +// Peripheral instances on HPB2 bridge +#define ID_CAN0 64 /**< \brief Control Area Network 0 (CAN0) */ +#define ID_CAN1 65 /**< \brief Control Area Network 1 (CAN1) */ +#define ID_GMAC 66 /**< \brief Ethernet MAC (GMAC) */ +#define ID_TCC2 67 /**< \brief Timer Counter Control 2 (TCC2) */ +#define ID_TCC3 68 /**< \brief Timer Counter Control 3 (TCC3) */ +#define ID_TC4 69 /**< \brief Basic Timer Counter 4 (TC4) */ +#define ID_TC5 70 /**< \brief Basic Timer Counter 5 (TC5) */ +#define ID_PDEC 71 /**< \brief Quadrature Decodeur (PDEC) */ +#define ID_AC 72 /**< \brief Analog Comparators (AC) */ +#define ID_AES 73 /**< \brief Advanced Encryption Standard (AES) */ +#define ID_TRNG 74 /**< \brief True Random Generator (TRNG) */ +#define ID_ICM 75 /**< \brief Integrity Check Monitor (ICM) */ +#define ID_PUKCC 76 /**< \brief PUblic-Key Cryptography Controller (PUKCC) */ +#define ID_QSPI 77 /**< \brief Quad SPI interface (QSPI) */ +#define ID_CCL 78 /**< \brief Configurable Custom Logic (CCL) */ + +// Peripheral instances on HPB3 bridge +#define ID_SERCOM4 96 /**< \brief Serial Communication Interface 4 (SERCOM4) */ +#define ID_SERCOM5 97 /**< \brief Serial Communication Interface 5 (SERCOM5) */ +#define ID_SERCOM6 98 /**< \brief Serial Communication Interface 6 (SERCOM6) */ +#define ID_SERCOM7 99 /**< \brief Serial Communication Interface 7 (SERCOM7) */ +#define ID_TCC4 100 /**< \brief Timer Counter Control 4 (TCC4) */ +#define ID_TC6 101 /**< \brief Basic Timer Counter 6 (TC6) */ +#define ID_TC7 102 /**< \brief Basic Timer Counter 7 (TC7) */ +#define ID_ADC0 103 /**< \brief Analog Digital Converter 0 (ADC0) */ +#define ID_ADC1 104 /**< \brief Analog Digital Converter 1 (ADC1) */ +#define ID_DAC 105 /**< \brief Digital-to-Analog Converter (DAC) */ +#define ID_I2S 106 /**< \brief Inter-IC Sound Interface (I2S) */ +#define ID_PCC 107 /**< \brief Parallel Capture Controller (PCC) */ + +// Peripheral instances on AHB (as if on bridge 4) +#define ID_SDHC0 128 /**< \brief SD/MMC Host Controller (SDHC0) */ +#define ID_SDHC1 129 /**< \brief SD/MMC Host Controller (SDHC1) */ + +#define ID_PERIPH_COUNT 130 /**< \brief Max number of peripheral IDs */ +/*@}*/ + +/* ************************************************************************** */ +/** BASE ADDRESS DEFINITIONS FOR SAME54P20A */ +/* ************************************************************************** */ +/** \defgroup SAME54P20A_base Peripheral Base Address Definitions */ +/*@{*/ + +#if defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__) +#define AC (0x42002000) /**< \brief (AC) APB Base Address */ +#define ADC0 (0x43001C00) /**< \brief (ADC0) APB Base Address */ +#define ADC1 (0x43002000) /**< \brief (ADC1) APB Base Address */ +#define AES (0x42002400) /**< \brief (AES) APB Base Address */ +#define CAN0 (0x42000000) /**< \brief (CAN0) APB Base Address */ +#define CAN1 (0x42000400) /**< \brief (CAN1) APB Base Address */ +#define CCL (0x42003800) /**< \brief (CCL) APB Base Address */ +#define CMCC (0x41006000) /**< \brief (CMCC) APB Base Address */ +#define CMCC_AHB (0x03000000) /**< \brief (CMCC) AHB Base Address */ +#define DAC (0x43002400) /**< \brief (DAC) APB Base Address */ +#define DMAC (0x4100A000) /**< \brief (DMAC) APB Base Address */ +#define DSU (0x41002000) /**< \brief (DSU) APB Base Address */ +#define EIC (0x40002800) /**< \brief (EIC) APB Base Address */ +#define EVSYS (0x4100E000) /**< \brief (EVSYS) APB Base Address */ +#define FREQM (0x40002C00) /**< \brief (FREQM) APB Base Address */ +#define GCLK (0x40001C00) /**< \brief (GCLK) APB Base Address */ +#define GMAC (0x42000800) /**< \brief (GMAC) APB Base Address */ +#define HMATRIX (0x4100C000) /**< \brief (HMATRIX) APB Base Address */ +#define ICM (0x42002C00) /**< \brief (ICM) APB Base Address */ +#define I2S (0x43002800) /**< \brief (I2S) APB Base Address */ +#define MCLK (0x40000800) /**< \brief (MCLK) APB Base Address */ +#define NVMCTRL (0x41004000) /**< \brief (NVMCTRL) APB Base Address */ +#define NVMCTRL_CB (0x00800000) /**< \brief (NVMCTRL) CB Base Address */ +#define NVMCTRL_CBW0 (0x00800000) /**< \brief (NVMCTRL) CBW0 Base Address */ +#define NVMCTRL_CBW1 (0x00800010) /**< \brief (NVMCTRL) CBW1 Base Address */ +#define NVMCTRL_CBW2 (0x00800020) /**< \brief (NVMCTRL) CBW2 Base Address */ +#define NVMCTRL_CBW3 (0x00800030) /**< \brief (NVMCTRL) CBW3 Base Address */ +#define NVMCTRL_CBW4 (0x00800040) /**< \brief (NVMCTRL) CBW4 Base Address */ +#define NVMCTRL_CBW5 (0x00800050) /**< \brief (NVMCTRL) CBW5 Base Address */ +#define NVMCTRL_CBW6 (0x00800060) /**< \brief (NVMCTRL) CBW6 Base Address */ +#define NVMCTRL_CBW7 (0x00800070) /**< \brief (NVMCTRL) CBW7 Base Address */ +#define NVMCTRL_FS (0x00806000) /**< \brief (NVMCTRL) FS Base Address */ +#define NVMCTRL_SW0 (0x00800080) /**< \brief (NVMCTRL) SW0 Base Address */ +#define NVMCTRL_SW1 (0x00800090) /**< \brief (NVMCTRL) SW1 Base Address */ +#define NVMCTRL_SW2 (0x008000A0) /**< \brief (NVMCTRL) SW2 Base Address */ +#define NVMCTRL_SW3 (0x008000B0) /**< \brief (NVMCTRL) SW3 Base Address */ +#define NVMCTRL_SW4 (0x008000C0) /**< \brief (NVMCTRL) SW4 Base Address */ +#define NVMCTRL_SW5 (0x008000D0) /**< \brief (NVMCTRL) SW5 Base Address */ +#define NVMCTRL_SW6 (0x008000E0) /**< \brief (NVMCTRL) SW6 Base Address */ +#define NVMCTRL_SW7 (0x008000F0) /**< \brief (NVMCTRL) SW7 Base Address */ +#define NVMCTRL_TEMP_LOG_W0 (0x00800100) /**< \brief (NVMCTRL) TEMP_LOG_W0 Base Address */ +#define NVMCTRL_TEMP_LOG_W1 (0x00800110) /**< \brief (NVMCTRL) TEMP_LOG_W1 Base Address */ +#define NVMCTRL_TEMP_LOG_W2 (0x00800120) /**< \brief (NVMCTRL) TEMP_LOG_W2 Base Address */ +#define NVMCTRL_TEMP_LOG_W3 (0x00800130) /**< \brief (NVMCTRL) TEMP_LOG_W3 Base Address */ +#define NVMCTRL_TEMP_LOG_W4 (0x00800140) /**< \brief (NVMCTRL) TEMP_LOG_W4 Base Address */ +#define NVMCTRL_TEMP_LOG_W5 (0x00800150) /**< \brief (NVMCTRL) TEMP_LOG_W5 Base Address */ +#define NVMCTRL_TEMP_LOG_W6 (0x00800160) /**< \brief (NVMCTRL) TEMP_LOG_W6 Base Address */ +#define NVMCTRL_TEMP_LOG_W7 (0x00800170) /**< \brief (NVMCTRL) TEMP_LOG_W7 Base Address */ +#define NVMCTRL_TLATCH (0x00802000) /**< \brief (NVMCTRL) TLATCH Base Address */ +#define NVMCTRL_USER (0x00804000) /**< \brief (NVMCTRL) USER Base Address */ +#define OSCCTRL (0x40001000) /**< \brief (OSCCTRL) APB Base Address */ +#define OSC32KCTRL (0x40001400) /**< \brief (OSC32KCTRL) APB Base Address */ +#define PAC (0x40000000) /**< \brief (PAC) APB Base Address */ +#define PCC (0x43002C00) /**< \brief (PCC) APB Base Address */ +#define PDEC (0x42001C00) /**< \brief (PDEC) APB Base Address */ +#define PM (0x40000400) /**< \brief (PM) APB Base Address */ +#define PORT (0x41008000) /**< \brief (PORT) APB Base Address */ +#define PUKCC (0x42003000) /**< \brief (PUKCC) APB Base Address */ +#define PUKCC_AHB (0x02000000) /**< \brief (PUKCC) AHB Base Address */ +#define QSPI (0x42003400) /**< \brief (QSPI) APB Base Address */ +#define QSPI_AHB (0x04000000) /**< \brief (QSPI) AHB Base Address */ +#define RAMECC (0x41020000) /**< \brief (RAMECC) APB Base Address */ +#define RSTC (0x40000C00) /**< \brief (RSTC) APB Base Address */ +#define RTC (0x40002400) /**< \brief (RTC) APB Base Address */ +#define SDHC0 (0x45000000) /**< \brief (SDHC0) AHB Base Address */ +#define SDHC1 (0x46000000) /**< \brief (SDHC1) AHB Base Address */ +#define SERCOM0 (0x40003000) /**< \brief (SERCOM0) APB Base Address */ +#define SERCOM1 (0x40003400) /**< \brief (SERCOM1) APB Base Address */ +#define SERCOM2 (0x41012000) /**< \brief (SERCOM2) APB Base Address */ +#define SERCOM3 (0x41014000) /**< \brief (SERCOM3) APB Base Address */ +#define SERCOM4 (0x43000000) /**< \brief (SERCOM4) APB Base Address */ +#define SERCOM5 (0x43000400) /**< \brief (SERCOM5) APB Base Address */ +#define SERCOM6 (0x43000800) /**< \brief (SERCOM6) APB Base Address */ +#define SERCOM7 (0x43000C00) /**< \brief (SERCOM7) APB Base Address */ +#define SUPC (0x40001800) /**< \brief (SUPC) APB Base Address */ +#define TAL (0x4101E000) /**< \brief (TAL) APB Base Address */ +#define TC0 (0x40003800) /**< \brief (TC0) APB Base Address */ +#define TC1 (0x40003C00) /**< \brief (TC1) APB Base Address */ +#define TC2 (0x4101A000) /**< \brief (TC2) APB Base Address */ +#define TC3 (0x4101C000) /**< \brief (TC3) APB Base Address */ +#define TC4 (0x42001400) /**< \brief (TC4) APB Base Address */ +#define TC5 (0x42001800) /**< \brief (TC5) APB Base Address */ +#define TC6 (0x43001400) /**< \brief (TC6) APB Base Address */ +#define TC7 (0x43001800) /**< \brief (TC7) APB Base Address */ +#define TCC0 (0x41016000) /**< \brief (TCC0) APB Base Address */ +#define TCC1 (0x41018000) /**< \brief (TCC1) APB Base Address */ +#define TCC2 (0x42000C00) /**< \brief (TCC2) APB Base Address */ +#define TCC3 (0x42001000) /**< \brief (TCC3) APB Base Address */ +#define TCC4 (0x43001000) /**< \brief (TCC4) APB Base Address */ +#define TRNG (0x42002800) /**< \brief (TRNG) APB Base Address */ +#define USB (0x41000000) /**< \brief (USB) APB Base Address */ +#define WDT (0x40002000) /**< \brief (WDT) APB Base Address */ +#else +#define AC ((Ac *)0x42002000UL) /**< \brief (AC) APB Base Address */ +#define AC_INST_NUM 1 /**< \brief (AC) Number of instances */ +#define AC_INSTS { AC } /**< \brief (AC) Instances List */ + +#define ADC0 ((Adc *)0x43001C00UL) /**< \brief (ADC0) APB Base Address */ +#define ADC1 ((Adc *)0x43002000UL) /**< \brief (ADC1) APB Base Address */ +#define ADC_INST_NUM 2 /**< \brief (ADC) Number of instances */ +#define ADC_INSTS { ADC0, ADC1 } /**< \brief (ADC) Instances List */ + +#define AES ((Aes *)0x42002400UL) /**< \brief (AES) APB Base Address */ +#define AES_INST_NUM 1 /**< \brief (AES) Number of instances */ +#define AES_INSTS { AES } /**< \brief (AES) Instances List */ + +#define CAN0 ((Can *)0x42000000UL) /**< \brief (CAN0) APB Base Address */ +#define CAN1 ((Can *)0x42000400UL) /**< \brief (CAN1) APB Base Address */ +#define CAN_INST_NUM 2 /**< \brief (CAN) Number of instances */ +#define CAN_INSTS { CAN0, CAN1 } /**< \brief (CAN) Instances List */ + +#define CCL ((Ccl *)0x42003800UL) /**< \brief (CCL) APB Base Address */ +#define CCL_INST_NUM 1 /**< \brief (CCL) Number of instances */ +#define CCL_INSTS { CCL } /**< \brief (CCL) Instances List */ + +#define CMCC ((Cmcc *)0x41006000UL) /**< \brief (CMCC) APB Base Address */ +#define CMCC_AHB (0x03000000UL) /**< \brief (CMCC) AHB Base Address */ +#define CMCC_INST_NUM 1 /**< \brief (CMCC) Number of instances */ +#define CMCC_INSTS { CMCC } /**< \brief (CMCC) Instances List */ + +#define DAC ((Dac *)0x43002400UL) /**< \brief (DAC) APB Base Address */ +#define DAC_INST_NUM 1 /**< \brief (DAC) Number of instances */ +#define DAC_INSTS { DAC } /**< \brief (DAC) Instances List */ + +#define DMAC ((Dmac *)0x4100A000UL) /**< \brief (DMAC) APB Base Address */ +#define DMAC_INST_NUM 1 /**< \brief (DMAC) Number of instances */ +#define DMAC_INSTS { DMAC } /**< \brief (DMAC) Instances List */ + +#define DSU ((Dsu *)0x41002000UL) /**< \brief (DSU) APB Base Address */ +#define DSU_INST_NUM 1 /**< \brief (DSU) Number of instances */ +#define DSU_INSTS { DSU } /**< \brief (DSU) Instances List */ + +#define EIC ((Eic *)0x40002800UL) /**< \brief (EIC) APB Base Address */ +#define EIC_INST_NUM 1 /**< \brief (EIC) Number of instances */ +#define EIC_INSTS { EIC } /**< \brief (EIC) Instances List */ + +#define EVSYS ((Evsys *)0x4100E000UL) /**< \brief (EVSYS) APB Base Address */ +#define EVSYS_INST_NUM 1 /**< \brief (EVSYS) Number of instances */ +#define EVSYS_INSTS { EVSYS } /**< \brief (EVSYS) Instances List */ + +#define FREQM ((Freqm *)0x40002C00UL) /**< \brief (FREQM) APB Base Address */ +#define FREQM_INST_NUM 1 /**< \brief (FREQM) Number of instances */ +#define FREQM_INSTS { FREQM } /**< \brief (FREQM) Instances List */ + +#define GCLK ((Gclk *)0x40001C00UL) /**< \brief (GCLK) APB Base Address */ +#define GCLK_INST_NUM 1 /**< \brief (GCLK) Number of instances */ +#define GCLK_INSTS { GCLK } /**< \brief (GCLK) Instances List */ + +#define GMAC ((Gmac *)0x42000800UL) /**< \brief (GMAC) APB Base Address */ +#define GMAC_INST_NUM 1 /**< \brief (GMAC) Number of instances */ +#define GMAC_INSTS { GMAC } /**< \brief (GMAC) Instances List */ + +#define HMATRIX ((Hmatrixb *)0x4100C000UL) /**< \brief (HMATRIX) APB Base Address */ +#define HMATRIXB_INST_NUM 1 /**< \brief (HMATRIXB) Number of instances */ +#define HMATRIXB_INSTS { HMATRIX } /**< \brief (HMATRIXB) Instances List */ + +#define ICM ((Icm *)0x42002C00UL) /**< \brief (ICM) APB Base Address */ +#define ICM_INST_NUM 1 /**< \brief (ICM) Number of instances */ +#define ICM_INSTS { ICM } /**< \brief (ICM) Instances List */ + +#define I2S ((I2s *)0x43002800UL) /**< \brief (I2S) APB Base Address */ +#define I2S_INST_NUM 1 /**< \brief (I2S) Number of instances */ +#define I2S_INSTS { I2S } /**< \brief (I2S) Instances List */ + +#define MCLK ((Mclk *)0x40000800UL) /**< \brief (MCLK) APB Base Address */ +#define MCLK_INST_NUM 1 /**< \brief (MCLK) Number of instances */ +#define MCLK_INSTS { MCLK } /**< \brief (MCLK) Instances List */ + +#define NVMCTRL ((Nvmctrl *)0x41004000UL) /**< \brief (NVMCTRL) APB Base Address */ +#define NVMCTRL_CB (0x00800000UL) /**< \brief (NVMCTRL) CB Base Address */ +#define NVMCTRL_CBW0 (0x00800000UL) /**< \brief (NVMCTRL) CBW0 Base Address */ +#define NVMCTRL_CBW1 (0x00800010UL) /**< \brief (NVMCTRL) CBW1 Base Address */ +#define NVMCTRL_CBW2 (0x00800020UL) /**< \brief (NVMCTRL) CBW2 Base Address */ +#define NVMCTRL_CBW3 (0x00800030UL) /**< \brief (NVMCTRL) CBW3 Base Address */ +#define NVMCTRL_CBW4 (0x00800040UL) /**< \brief (NVMCTRL) CBW4 Base Address */ +#define NVMCTRL_CBW5 (0x00800050UL) /**< \brief (NVMCTRL) CBW5 Base Address */ +#define NVMCTRL_CBW6 (0x00800060UL) /**< \brief (NVMCTRL) CBW6 Base Address */ +#define NVMCTRL_CBW7 (0x00800070UL) /**< \brief (NVMCTRL) CBW7 Base Address */ +#define NVMCTRL_FS (0x00806000UL) /**< \brief (NVMCTRL) FS Base Address */ +#define NVMCTRL_SW0 (0x00800080UL) /**< \brief (NVMCTRL) SW0 Base Address */ +#define NVMCTRL_SW1 (0x00800090UL) /**< \brief (NVMCTRL) SW1 Base Address */ +#define NVMCTRL_SW2 (0x008000A0UL) /**< \brief (NVMCTRL) SW2 Base Address */ +#define NVMCTRL_SW3 (0x008000B0UL) /**< \brief (NVMCTRL) SW3 Base Address */ +#define NVMCTRL_SW4 (0x008000C0UL) /**< \brief (NVMCTRL) SW4 Base Address */ +#define NVMCTRL_SW5 (0x008000D0UL) /**< \brief (NVMCTRL) SW5 Base Address */ +#define NVMCTRL_SW6 (0x008000E0UL) /**< \brief (NVMCTRL) SW6 Base Address */ +#define NVMCTRL_SW7 (0x008000F0UL) /**< \brief (NVMCTRL) SW7 Base Address */ +#define NVMCTRL_TEMP_LOG_W0 (0x00800100UL) /**< \brief (NVMCTRL) TEMP_LOG_W0 Base Address */ +#define NVMCTRL_TEMP_LOG_W1 (0x00800110UL) /**< \brief (NVMCTRL) TEMP_LOG_W1 Base Address */ +#define NVMCTRL_TEMP_LOG_W2 (0x00800120UL) /**< \brief (NVMCTRL) TEMP_LOG_W2 Base Address */ +#define NVMCTRL_TEMP_LOG_W3 (0x00800130UL) /**< \brief (NVMCTRL) TEMP_LOG_W3 Base Address */ +#define NVMCTRL_TEMP_LOG_W4 (0x00800140UL) /**< \brief (NVMCTRL) TEMP_LOG_W4 Base Address */ +#define NVMCTRL_TEMP_LOG_W5 (0x00800150UL) /**< \brief (NVMCTRL) TEMP_LOG_W5 Base Address */ +#define NVMCTRL_TEMP_LOG_W6 (0x00800160UL) /**< \brief (NVMCTRL) TEMP_LOG_W6 Base Address */ +#define NVMCTRL_TEMP_LOG_W7 (0x00800170UL) /**< \brief (NVMCTRL) TEMP_LOG_W7 Base Address */ +#define NVMCTRL_TLATCH (0x00802000UL) /**< \brief (NVMCTRL) TLATCH Base Address */ +#define NVMCTRL_USER (0x00804000UL) /**< \brief (NVMCTRL) USER Base Address */ +#define NVMCTRL_INST_NUM 1 /**< \brief (NVMCTRL) Number of instances */ +#define NVMCTRL_INSTS { NVMCTRL } /**< \brief (NVMCTRL) Instances List */ + +#define OSCCTRL ((Oscctrl *)0x40001000UL) /**< \brief (OSCCTRL) APB Base Address */ +#define OSCCTRL_INST_NUM 1 /**< \brief (OSCCTRL) Number of instances */ +#define OSCCTRL_INSTS { OSCCTRL } /**< \brief (OSCCTRL) Instances List */ + +#define OSC32KCTRL ((Osc32kctrl *)0x40001400UL) /**< \brief (OSC32KCTRL) APB Base Address */ +#define OSC32KCTRL_INST_NUM 1 /**< \brief (OSC32KCTRL) Number of instances */ +#define OSC32KCTRL_INSTS { OSC32KCTRL } /**< \brief (OSC32KCTRL) Instances List */ + +#define PAC ((Pac *)0x40000000UL) /**< \brief (PAC) APB Base Address */ +#define PAC_INST_NUM 1 /**< \brief (PAC) Number of instances */ +#define PAC_INSTS { PAC } /**< \brief (PAC) Instances List */ + +#define PCC ((Pcc *)0x43002C00UL) /**< \brief (PCC) APB Base Address */ +#define PCC_INST_NUM 1 /**< \brief (PCC) Number of instances */ +#define PCC_INSTS { PCC } /**< \brief (PCC) Instances List */ + +#define PDEC ((Pdec *)0x42001C00UL) /**< \brief (PDEC) APB Base Address */ +#define PDEC_INST_NUM 1 /**< \brief (PDEC) Number of instances */ +#define PDEC_INSTS { PDEC } /**< \brief (PDEC) Instances List */ + +#define PM ((Pm *)0x40000400UL) /**< \brief (PM) APB Base Address */ +#define PM_INST_NUM 1 /**< \brief (PM) Number of instances */ +#define PM_INSTS { PM } /**< \brief (PM) Instances List */ + +#define PORT ((Port *)0x41008000UL) /**< \brief (PORT) APB Base Address */ +#define PORT_INST_NUM 1 /**< \brief (PORT) Number of instances */ +#define PORT_INSTS { PORT } /**< \brief (PORT) Instances List */ + +#define PUKCC ((void *)0x42003000UL) /**< \brief (PUKCC) APB Base Address */ +#define PUKCC_AHB ((void *)0x02000000UL) /**< \brief (PUKCC) AHB Base Address */ +#define PUKCC_INST_NUM 1 /**< \brief (PUKCC) Number of instances */ +#define PUKCC_INSTS { PUKCC } /**< \brief (PUKCC) Instances List */ + +#define QSPI ((Qspi *)0x42003400UL) /**< \brief (QSPI) APB Base Address */ +#define QSPI_AHB (0x04000000UL) /**< \brief (QSPI) AHB Base Address */ +#define QSPI_INST_NUM 1 /**< \brief (QSPI) Number of instances */ +#define QSPI_INSTS { QSPI } /**< \brief (QSPI) Instances List */ + +#define RAMECC ((Ramecc *)0x41020000UL) /**< \brief (RAMECC) APB Base Address */ +#define RAMECC_INST_NUM 1 /**< \brief (RAMECC) Number of instances */ +#define RAMECC_INSTS { RAMECC } /**< \brief (RAMECC) Instances List */ + +#define RSTC ((Rstc *)0x40000C00UL) /**< \brief (RSTC) APB Base Address */ +#define RSTC_INST_NUM 1 /**< \brief (RSTC) Number of instances */ +#define RSTC_INSTS { RSTC } /**< \brief (RSTC) Instances List */ + +#define RTC ((Rtc *)0x40002400UL) /**< \brief (RTC) APB Base Address */ +#define RTC_INST_NUM 1 /**< \brief (RTC) Number of instances */ +#define RTC_INSTS { RTC } /**< \brief (RTC) Instances List */ + +#define SDHC0 ((Sdhc *)0x45000000UL) /**< \brief (SDHC0) AHB Base Address */ +#define SDHC1 ((Sdhc *)0x46000000UL) /**< \brief (SDHC1) AHB Base Address */ +#define SDHC_INST_NUM 2 /**< \brief (SDHC) Number of instances */ +#define SDHC_INSTS { SDHC0, SDHC1 } /**< \brief (SDHC) Instances List */ + +#define SERCOM0 ((Sercom *)0x40003000UL) /**< \brief (SERCOM0) APB Base Address */ +#define SERCOM1 ((Sercom *)0x40003400UL) /**< \brief (SERCOM1) APB Base Address */ +#define SERCOM2 ((Sercom *)0x41012000UL) /**< \brief (SERCOM2) APB Base Address */ +#define SERCOM3 ((Sercom *)0x41014000UL) /**< \brief (SERCOM3) APB Base Address */ +#define SERCOM4 ((Sercom *)0x43000000UL) /**< \brief (SERCOM4) APB Base Address */ +#define SERCOM5 ((Sercom *)0x43000400UL) /**< \brief (SERCOM5) APB Base Address */ +#define SERCOM6 ((Sercom *)0x43000800UL) /**< \brief (SERCOM6) APB Base Address */ +#define SERCOM7 ((Sercom *)0x43000C00UL) /**< \brief (SERCOM7) APB Base Address */ +#define SERCOM_INST_NUM 8 /**< \brief (SERCOM) Number of instances */ +#define SERCOM_INSTS { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5, SERCOM6, SERCOM7 } /**< \brief (SERCOM) Instances List */ + +#define SUPC ((Supc *)0x40001800UL) /**< \brief (SUPC) APB Base Address */ +#define SUPC_INST_NUM 1 /**< \brief (SUPC) Number of instances */ +#define SUPC_INSTS { SUPC } /**< \brief (SUPC) Instances List */ + +#define TAL ((Tal *)0x4101E000UL) /**< \brief (TAL) APB Base Address */ +#define TAL_INST_NUM 1 /**< \brief (TAL) Number of instances */ +#define TAL_INSTS { TAL } /**< \brief (TAL) Instances List */ + +#define TC0 ((Tc *)0x40003800UL) /**< \brief (TC0) APB Base Address */ +#define TC1 ((Tc *)0x40003C00UL) /**< \brief (TC1) APB Base Address */ +#define TC2 ((Tc *)0x4101A000UL) /**< \brief (TC2) APB Base Address */ +#define TC3 ((Tc *)0x4101C000UL) /**< \brief (TC3) APB Base Address */ +#define TC4 ((Tc *)0x42001400UL) /**< \brief (TC4) APB Base Address */ +#define TC5 ((Tc *)0x42001800UL) /**< \brief (TC5) APB Base Address */ +#define TC6 ((Tc *)0x43001400UL) /**< \brief (TC6) APB Base Address */ +#define TC7 ((Tc *)0x43001800UL) /**< \brief (TC7) APB Base Address */ +#define TC_INST_NUM 8 /**< \brief (TC) Number of instances */ +#define TC_INSTS { TC0, TC1, TC2, TC3, TC4, TC5, TC6, TC7 } /**< \brief (TC) Instances List */ + +#define TCC0 ((Tcc *)0x41016000UL) /**< \brief (TCC0) APB Base Address */ +#define TCC1 ((Tcc *)0x41018000UL) /**< \brief (TCC1) APB Base Address */ +#define TCC2 ((Tcc *)0x42000C00UL) /**< \brief (TCC2) APB Base Address */ +#define TCC3 ((Tcc *)0x42001000UL) /**< \brief (TCC3) APB Base Address */ +#define TCC4 ((Tcc *)0x43001000UL) /**< \brief (TCC4) APB Base Address */ +#define TCC_INST_NUM 5 /**< \brief (TCC) Number of instances */ +#define TCC_INSTS { TCC0, TCC1, TCC2, TCC3, TCC4 } /**< \brief (TCC) Instances List */ + +#define TRNG ((Trng *)0x42002800UL) /**< \brief (TRNG) APB Base Address */ +#define TRNG_INST_NUM 1 /**< \brief (TRNG) Number of instances */ +#define TRNG_INSTS { TRNG } /**< \brief (TRNG) Instances List */ + +#define USB ((Usb *)0x41000000UL) /**< \brief (USB) APB Base Address */ +#define USB_INST_NUM 1 /**< \brief (USB) Number of instances */ +#define USB_INSTS { USB } /**< \brief (USB) Instances List */ + +#define WDT ((Wdt *)0x40002000UL) /**< \brief (WDT) APB Base Address */ +#define WDT_INST_NUM 1 /**< \brief (WDT) Number of instances */ +#define WDT_INSTS { WDT } /**< \brief (WDT) Instances List */ + +#endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ +/*@}*/ + +/* ************************************************************************** */ +/** PORT DEFINITIONS FOR SAME54P20A */ +/* ************************************************************************** */ +/** \defgroup SAME54P20A_port PORT Definitions */ +/*@{*/ + +#include "pio/same54p20a.h" +/*@}*/ + +/* ************************************************************************** */ +/** MEMORY MAPPING DEFINITIONS FOR SAME54P20A */ +/* ************************************************************************** */ + +#define HSRAM_SIZE _UL_(0x00040000) /* 256 kB */ +#define FLASH_SIZE _UL_(0x00100000) /* 1024 kB */ +#define FLASH_PAGE_SIZE 512 +#define FLASH_NB_OF_PAGES 2048 +#define FLASH_USER_PAGE_SIZE 512 +#define BKUPRAM_SIZE _UL_(0x00002000) /* 8 kB */ +#define QSPI_SIZE _UL_(0x01000000) /* 16384 kB */ + +#define FLASH_ADDR _UL_(0x00000000) /**< FLASH base address */ +#define CMCC_DATARAM_ADDR _UL_(0x03000000) /**< CMCC_DATARAM base address */ +#define CMCC_DATARAM_SIZE _UL_(0x00001000) /**< CMCC_DATARAM size */ +#define CMCC_TAGRAM_ADDR _UL_(0x03001000) /**< CMCC_TAGRAM base address */ +#define CMCC_TAGRAM_SIZE _UL_(0x00000400) /**< CMCC_TAGRAM size */ +#define CMCC_VALIDRAM_ADDR _UL_(0x03002000) /**< CMCC_VALIDRAM base address */ +#define CMCC_VALIDRAM_SIZE _UL_(0x00000040) /**< CMCC_VALIDRAM size */ +#define HSRAM_ADDR _UL_(0x20000000) /**< HSRAM base address */ +#define HSRAM_ETB_ADDR _UL_(0x20000000) /**< HSRAM_ETB base address */ +#define HSRAM_ETB_SIZE _UL_(0x00008000) /**< HSRAM_ETB size */ +#define HSRAM_RET1_ADDR _UL_(0x20000000) /**< HSRAM_RET1 base address */ +#define HSRAM_RET1_SIZE _UL_(0x00008000) /**< HSRAM_RET1 size */ +#define HPB0_ADDR _UL_(0x40000000) /**< HPB0 base address */ +#define HPB1_ADDR _UL_(0x41000000) /**< HPB1 base address */ +#define HPB2_ADDR _UL_(0x42000000) /**< HPB2 base address */ +#define HPB3_ADDR _UL_(0x43000000) /**< HPB3 base address */ +#define SEEPROM_ADDR _UL_(0x44000000) /**< SEEPROM base address */ +#define BKUPRAM_ADDR _UL_(0x47000000) /**< BKUPRAM base address */ +#define PPB_ADDR _UL_(0xE0000000) /**< PPB base address */ + +#define DSU_DID_RESETVALUE _UL_(0x61840000) +#define PORT_GROUPS 4 + +/* ************************************************************************** */ +/** ELECTRICAL DEFINITIONS FOR SAME54P20A */ +/* ************************************************************************** */ + + +#ifdef __cplusplus +} +#endif + +/*@}*/ + +#endif /* SAME54P20A_H */ diff --git a/lib/same54/include/system_same54.h b/lib/same54/include/system_same54.h new file mode 100644 index 00000000..34f384fd --- /dev/null +++ b/lib/same54/include/system_same54.h @@ -0,0 +1,47 @@ +/** + * \file + * + * \brief Low-level initialization functions called upon chip startup + * + * Copyright (c) 2017 Atmel Corporation, + * a wholly owned subsidiary of Microchip Technology Inc. + * + * \asf_license_start + * + * \page License + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the Licence at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * \asf_license_stop + * + */ + +#ifndef _SYSTEM_SAME54_H_INCLUDED_ +#define _SYSTEM_SAME54_H_INCLUDED_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ + +void SystemInit(void); +void SystemCoreClockUpdate(void); + +#ifdef __cplusplus +} +#endif + +#endif /* SYSTEM_SAME54_H_INCLUDED */ diff --git a/lib/same54/package.content b/lib/same54/package.content new file mode 100644 index 00000000..23325d3e --- /dev/null +++ b/lib/same54/package.content @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initial version. + + + diff --git a/lib/same54/svd/ATSAME54N19A.svd b/lib/same54/svd/ATSAME54N19A.svd new file mode 100644 index 00000000..ae814720 --- /dev/null +++ b/lib/same54/svd/ATSAME54N19A.svd @@ -0,0 +1,45503 @@ + + + Atmel Corporation + ATMEL + ATSAME54N19A + SAME54 + A + Atmel ATSAME54N19A device: Cortex-M4 Microcontroller with 512KB Flash, 192KB SRAM, 100-pin package (refer to http://www.atmel.com/devices/SAME54N19A.aspx for more) + + ============================================================================\n + Atmel Microcontroller Software Support\n + ============================================================================\n + Copyright (c) 2017 Atmel Corporation,\n + a wholly owned subsidiary of Microchip Technology Inc.\n +\n + Licensed under the Apache License, Version 2.0 (the "License");\n + you may not use this file except in compliance with the License.\n + You may obtain a copy of the Licence at\n +\n + http://www.apache.org/licenses/LICENSE-2.0\n +\n + Unless required by applicable law or agreed to in writing, software\n + distributed under the License is distributed on an "AS IS" BASIS,\n + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n + See the License for the specific language governing permissions and\n + limitations under the License.\n + ============================================================================ + + + CM4 + r0p1 + little + true + true + 3 + false + + system_same54 + 8 + 32 + 32 + read-write + 0x00000000 + 0xFFFFFFFF + + + AC + 1.0.0 + Analog Comparators + AC + AC_ + 0x42002000 + + 0 + 0x40 + registers + + + AC_INTREQ + 122 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + + + CTRLB + Control B + 0x01 + 8 + write-only + + + START0 + Comparator 0 Start Comparison + 0 + 1 + + + START1 + Comparator 1 Start Comparison + 1 + 1 + + + + + EVCTRL + Event Control + 0x02 + 16 + + + COMPEO0 + Comparator 0 Event Output Enable + 0 + 1 + + + COMPEO1 + Comparator 1 Event Output Enable + 1 + 1 + + + WINEO0 + Window 0 Event Output Enable + 4 + 1 + + + COMPEI0 + Comparator 0 Event Input Enable + 8 + 1 + + + COMPEI1 + Comparator 1 Event Input Enable + 9 + 1 + + + INVEI0 + Comparator 0 Input Event Invert Enable + 12 + 1 + + + INVEI1 + Comparator 1 Input Event Invert Enable + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + COMP0 + Comparator 0 Interrupt Enable + 0 + 1 + + + COMP1 + Comparator 1 Interrupt Enable + 1 + 1 + + + WIN0 + Window 0 Interrupt Enable + 4 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + COMP0 + Comparator 0 Interrupt Enable + 0 + 1 + + + COMP1 + Comparator 1 Interrupt Enable + 1 + 1 + + + WIN0 + Window 0 Interrupt Enable + 4 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + COMP0 + Comparator 0 + 0 + 1 + + + COMP1 + Comparator 1 + 1 + 1 + + + WIN0 + Window 0 + 4 + 1 + + + + + STATUSA + Status A + 0x07 + 8 + read-only + + + STATE0 + Comparator 0 Current State + 0 + 1 + read-only + + + STATE1 + Comparator 1 Current State + 1 + 1 + read-only + + + WSTATE0 + Window 0 Current State + 4 + 2 + read-only + + WSTATE0Select + + ABOVE + Signal is above window + 0x0 + + + INSIDE + Signal is inside window + 0x1 + + + BELOW + Signal is below window + 0x2 + + + + + + + STATUSB + Status B + 0x08 + 8 + read-only + + + READY0 + Comparator 0 Ready + 0 + 1 + read-only + + + READY1 + Comparator 1 Ready + 1 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x09 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + WINCTRL + Window Control + 0x0A + 8 + + + WEN0 + Window 0 Mode Enable + 0 + 1 + + + WINTSEL0 + Window 0 Interrupt Selection + 1 + 2 + + WINTSEL0Select + + ABOVE + Interrupt on signal above window + 0x0 + + + INSIDE + Interrupt on signal inside window + 0x1 + + + BELOW + Interrupt on signal below window + 0x2 + + + OUTSIDE + Interrupt on signal outside window + 0x3 + + + + + + + 2 + 0x1 + SCALER%s + Scaler n + 0x0C + 8 + + + VALUE + Scaler Value + 0 + 6 + + + + + 2 + 0x4 + COMPCTRL%s + Comparator Control n + 0x10 + 32 + + + ENABLE + Enable + 1 + 1 + + + SINGLE + Single-Shot Mode + 2 + 1 + + + INTSEL + Interrupt Selection + 3 + 2 + + INTSELSelect + + TOGGLE + Interrupt on comparator output toggle + 0x0 + + + RISING + Interrupt on comparator output rising + 0x1 + + + FALLING + Interrupt on comparator output falling + 0x2 + + + EOC + Interrupt on end of comparison (single-shot mode only) + 0x3 + + + + + RUNSTDBY + Run in Standby + 6 + 1 + + + MUXNEG + Negative Input Mux Selection + 8 + 3 + + MUXNEGSelect + + PIN0 + I/O pin 0 + 0x0 + + + PIN1 + I/O pin 1 + 0x1 + + + PIN2 + I/O pin 2 + 0x2 + + + PIN3 + I/O pin 3 + 0x3 + + + GND + Ground + 0x4 + + + VSCALE + VDD scaler + 0x5 + + + BANDGAP + Internal bandgap voltage + 0x6 + + + DAC + DAC output + 0x7 + + + + + MUXPOS + Positive Input Mux Selection + 12 + 3 + + MUXPOSSelect + + PIN0 + I/O pin 0 + 0x0 + + + PIN1 + I/O pin 1 + 0x1 + + + PIN2 + I/O pin 2 + 0x2 + + + PIN3 + I/O pin 3 + 0x3 + + + VSCALE + VDD Scaler + 0x4 + + + + + SWAP + Swap Inputs and Invert + 15 + 1 + + + SPEED + Speed Selection + 16 + 2 + + SPEEDSelect + + HIGH + High speed + 0x3 + + + + + HYSTEN + Hysteresis Enable + 19 + 1 + + + HYST + Hysteresis Level + 20 + 2 + + HYSTSelect + + HYST50 + 50mV + 0x0 + + + HYST100 + 100mV + 0x1 + + + HYST150 + 150mV + 0x2 + + + + + FLEN + Filter Length + 24 + 3 + + FLENSelect + + OFF + No filtering + 0x0 + + + MAJ3 + 3-bit majority function (2 of 3) + 0x1 + + + MAJ5 + 5-bit majority function (3 of 5) + 0x2 + + + + + OUT + Output + 28 + 2 + + OUTSelect + + OFF + The output of COMPn is not routed to the COMPn I/O port + 0x0 + + + ASYNC + The asynchronous output of COMPn is routed to the COMPn I/O port + 0x1 + + + SYNC + The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port + 0x2 + + + + + + + SYNCBUSY + Synchronization Busy + 0x20 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + WINCTRL + WINCTRL Synchronization Busy + 2 + 1 + read-only + + + COMPCTRL0 + COMPCTRL 0 Synchronization Busy + 3 + 1 + read-only + + + COMPCTRL1 + COMPCTRL 1 Synchronization Busy + 4 + 1 + read-only + + + + + CALIB + Calibration + 0x24 + 16 + 0x0101 + + + BIAS0 + COMP0/1 Bias Scaling + 0 + 2 + + + + + + + ADC0 + 1.0.0 + Analog Digital Converter 0 + ADC + ADC_ + 0x43001C00 + + 0 + 0x80 + registers + + + ADC0_INTREQ_0 + 118 + + + ADC0_INTREQ_1 + 119 + + + + CTRLA + Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + DUALSEL + Dual Mode Trigger Selection + 3 + 2 + + DUALSELSelect + + BOTH + Start event or software trigger will start a conversion on both ADCs + 0x0 + + + INTERLEAVE + START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 + 0x1 + + + + + SLAVEEN + Slave Enable + 5 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + PRESCALER + Prescaler Configuration + 8 + 3 + + PRESCALERSelect + + DIV2 + Peripheral clock divided by 2 + 0x0 + + + DIV4 + Peripheral clock divided by 4 + 0x1 + + + DIV8 + Peripheral clock divided by 8 + 0x2 + + + DIV16 + Peripheral clock divided by 16 + 0x3 + + + DIV32 + Peripheral clock divided by 32 + 0x4 + + + DIV64 + Peripheral clock divided by 64 + 0x5 + + + DIV128 + Peripheral clock divided by 128 + 0x6 + + + DIV256 + Peripheral clock divided by 256 + 0x7 + + + + + R2R + Rail to Rail Operation Enable + 15 + 1 + + + + + EVCTRL + Event Control + 0x02 + 8 + + + FLUSHEI + Flush Event Input Enable + 0 + 1 + + + STARTEI + Start Conversion Event Input Enable + 1 + 1 + + + FLUSHINV + Flush Event Invert Enable + 2 + 1 + + + STARTINV + Start Conversion Event Invert Enable + 3 + 1 + + + RESRDYEO + Result Ready Event Out + 4 + 1 + + + WINMONEO + Window Monitor Event Out + 5 + 1 + + + + + DBGCTRL + Debug Control + 0x03 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + INPUTCTRL + Input Control + 0x04 + 16 + + + MUXPOS + Positive Mux Input Selection + 0 + 5 + + MUXPOSSelect + + AIN0 + ADC AIN0 Pin + 0x0 + + + AIN1 + ADC AIN1 Pin + 0x1 + + + AIN2 + ADC AIN2 Pin + 0x2 + + + AIN3 + ADC AIN3 Pin + 0x3 + + + AIN4 + ADC AIN4 Pin + 0x4 + + + AIN5 + ADC AIN5 Pin + 0x5 + + + AIN6 + ADC AIN6 Pin + 0x6 + + + AIN7 + ADC AIN7 Pin + 0x7 + + + AIN8 + ADC AIN8 Pin + 0x8 + + + AIN9 + ADC AIN9 Pin + 0x9 + + + AIN10 + ADC AIN10 Pin + 0xa + + + AIN11 + ADC AIN11 Pin + 0xb + + + AIN12 + ADC AIN12 Pin + 0xc + + + AIN13 + ADC AIN13 Pin + 0xd + + + AIN14 + ADC AIN14 Pin + 0xe + + + AIN15 + ADC AIN15 Pin + 0xf + + + AIN16 + ADC AIN16 Pin + 0x10 + + + AIN17 + ADC AIN17 Pin + 0x11 + + + AIN18 + ADC AIN18 Pin + 0x12 + + + AIN19 + ADC AIN19 Pin + 0x13 + + + AIN20 + ADC AIN20 Pin + 0x14 + + + AIN21 + ADC AIN21 Pin + 0x15 + + + AIN22 + ADC AIN22 Pin + 0x16 + + + AIN23 + ADC AIN23 Pin + 0x17 + + + SCALEDCOREVCC + 1/4 Scaled Core Supply + 0x18 + + + SCALEDVBAT + 1/4 Scaled VBAT Supply + 0x19 + + + SCALEDIOVCC + 1/4 Scaled I/O Supply + 0x1a + + + BANDGAP + Bandgap Voltage + 0x1b + + + PTAT + Temperature Sensor + 0x1c + + + CTAT + Temperature Sensor + 0x1d + + + DAC + DAC Output + 0x1e + + + PTC + PTC output (only on ADC0) + 0x1f + + + + + DIFFMODE + Differential Mode + 7 + 1 + + + MUXNEG + Negative Mux Input Selection + 8 + 5 + + MUXNEGSelect + + AIN0 + ADC AIN0 Pin + 0x0 + + + AIN1 + ADC AIN1 Pin + 0x1 + + + AIN2 + ADC AIN2 Pin + 0x2 + + + AIN3 + ADC AIN3 Pin + 0x3 + + + AIN4 + ADC AIN4 Pin + 0x4 + + + AIN5 + ADC AIN5 Pin + 0x5 + + + AIN6 + ADC AIN6 Pin + 0x6 + + + AIN7 + ADC AIN7 Pin + 0x7 + + + GND + Internal Ground + 0x18 + + + + + DSEQSTOP + Stop DMA Sequencing + 15 + 1 + + + + + CTRLB + Control B + 0x06 + 16 + + + LEFTADJ + Left-Adjusted Result + 0 + 1 + + + FREERUN + Free Running Mode + 1 + 1 + + + CORREN + Digital Correction Logic Enable + 2 + 1 + + + RESSEL + Conversion Result Resolution + 3 + 2 + + RESSELSelect + + 12BIT + 12-bit result + 0x0 + + + 16BIT + For averaging mode output + 0x1 + + + 10BIT + 10-bit result + 0x2 + + + 8BIT + 8-bit result + 0x3 + + + + + WINMODE + Window Monitor Mode + 8 + 3 + + WINMODESelect + + DISABLE + No window mode (default) + 0x0 + + + MODE1 + RESULT > WINLT + 0x1 + + + MODE2 + RESULT < WINUT + 0x2 + + + MODE3 + WINLT < RESULT < WINUT + 0x3 + + + MODE4 + !(WINLT < RESULT < WINUT) + 0x4 + + + + + WINSS + Window Single Sample + 11 + 1 + + + + + REFCTRL + Reference Control + 0x08 + 8 + + + REFSEL + Reference Selection + 0 + 4 + + REFSELSelect + + INTREF + Internal Bandgap Reference + 0x0 + + + INTVCC0 + 1/2 VDDANA + 0x2 + + + INTVCC1 + VDDANA + 0x3 + + + AREFA + External Reference + 0x4 + + + AREFB + External Reference + 0x5 + + + AREFC + External Reference (only on ADC1) + 0x6 + + + + + REFCOMP + Reference Buffer Offset Compensation Enable + 7 + 1 + + + + + AVGCTRL + Average Control + 0x0A + 8 + + + SAMPLENUM + Number of Samples to be Collected + 0 + 4 + + SAMPLENUMSelect + + 1 + 1 sample + 0x0 + + + 2 + 2 samples + 0x1 + + + 4 + 4 samples + 0x2 + + + 8 + 8 samples + 0x3 + + + 16 + 16 samples + 0x4 + + + 32 + 32 samples + 0x5 + + + 64 + 64 samples + 0x6 + + + 128 + 128 samples + 0x7 + + + 256 + 256 samples + 0x8 + + + 512 + 512 samples + 0x9 + + + 1024 + 1024 samples + 0xa + + + + + ADJRES + Adjusting Result / Division Coefficient + 4 + 3 + + + + + SAMPCTRL + Sample Time Control + 0x0B + 8 + + + SAMPLEN + Sampling Time Length + 0 + 6 + + + OFFCOMP + Comparator Offset Compensation Enable + 7 + 1 + + + + + WINLT + Window Monitor Lower Threshold + 0x0C + 16 + + + WINLT + Window Lower Threshold + 0 + 16 + + + + + WINUT + Window Monitor Upper Threshold + 0x0E + 16 + + + WINUT + Window Upper Threshold + 0 + 16 + + + + + GAINCORR + Gain Correction + 0x10 + 16 + + + GAINCORR + Gain Correction Value + 0 + 12 + + + + + OFFSETCORR + Offset Correction + 0x12 + 16 + + + OFFSETCORR + Offset Correction Value + 0 + 12 + + + + + SWTRIG + Software Trigger + 0x14 + 8 + + + FLUSH + ADC Conversion Flush + 0 + 1 + + + START + Start ADC Conversion + 1 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x2C + 8 + + + RESRDY + Result Ready Interrupt Disable + 0 + 1 + + + OVERRUN + Overrun Interrupt Disable + 1 + 1 + + + WINMON + Window Monitor Interrupt Disable + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x2D + 8 + + + RESRDY + Result Ready Interrupt Enable + 0 + 1 + + + OVERRUN + Overrun Interrupt Enable + 1 + 1 + + + WINMON + Window Monitor Interrupt Enable + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x2E + 8 + + + RESRDY + Result Ready Interrupt Flag + 0 + 1 + + + OVERRUN + Overrun Interrupt Flag + 1 + 1 + + + WINMON + Window Monitor Interrupt Flag + 2 + 1 + + + + + STATUS + Status + 0x2F + 8 + read-only + + + ADCBUSY + ADC Busy Status + 0 + 1 + read-only + + + WCC + Window Comparator Counter + 2 + 6 + read-only + + + + + SYNCBUSY + Synchronization Busy + 0x30 + 32 + read-only + + + SWRST + SWRST Synchronization Busy + 0 + 1 + read-only + + + ENABLE + ENABLE Synchronization Busy + 1 + 1 + read-only + + + INPUTCTRL + Input Control Synchronization Busy + 2 + 1 + read-only + + + CTRLB + Control B Synchronization Busy + 3 + 1 + read-only + + + REFCTRL + Reference Control Synchronization Busy + 4 + 1 + read-only + + + AVGCTRL + Average Control Synchronization Busy + 5 + 1 + read-only + + + SAMPCTRL + Sampling Time Control Synchronization Busy + 6 + 1 + read-only + + + WINLT + Window Monitor Lower Threshold Synchronization Busy + 7 + 1 + read-only + + + WINUT + Window Monitor Upper Threshold Synchronization Busy + 8 + 1 + read-only + + + GAINCORR + Gain Correction Synchronization Busy + 9 + 1 + read-only + + + OFFSETCORR + Offset Correction Synchronization Busy + 10 + 1 + read-only + + + SWTRIG + Software Trigger Synchronization Busy + 11 + 1 + read-only + + + + + DSEQDATA + DMA Sequencial Data + 0x34 + 32 + write-only + + + DATA + DMA Sequential Data + 0 + 32 + write-only + + + + + DSEQCTRL + DMA Sequential Control + 0x38 + 32 + + + INPUTCTRL + Input Control + 0 + 1 + + + CTRLB + Control B + 1 + 1 + + + REFCTRL + Reference Control + 2 + 1 + + + AVGCTRL + Average Control + 3 + 1 + + + SAMPCTRL + Sampling Time Control + 4 + 1 + + + WINLT + Window Monitor Lower Threshold + 5 + 1 + + + WINUT + Window Monitor Upper Threshold + 6 + 1 + + + GAINCORR + Gain Correction + 7 + 1 + + + OFFSETCORR + Offset Correction + 8 + 1 + + + AUTOSTART + ADC Auto-Start Conversion + 31 + 1 + + + + + DSEQSTAT + DMA Sequencial Status + 0x3C + 32 + read-only + + + INPUTCTRL + Input Control + 0 + 1 + read-only + + + CTRLB + Control B + 1 + 1 + read-only + + + REFCTRL + Reference Control + 2 + 1 + read-only + + + AVGCTRL + Average Control + 3 + 1 + read-only + + + SAMPCTRL + Sampling Time Control + 4 + 1 + read-only + + + WINLT + Window Monitor Lower Threshold + 5 + 1 + read-only + + + WINUT + Window Monitor Upper Threshold + 6 + 1 + read-only + + + GAINCORR + Gain Correction + 7 + 1 + read-only + + + OFFSETCORR + Offset Correction + 8 + 1 + read-only + + + BUSY + DMA Sequencing Busy + 31 + 1 + read-only + + + + + RESULT + Result Conversion Value + 0x40 + 16 + read-only + + + RESULT + Result Conversion Value + 0 + 16 + read-only + + + + + RESS + Last Sample Result + 0x44 + 16 + read-only + + + RESS + Last ADC conversion result + 0 + 16 + read-only + + + + + CALIB + Calibration + 0x48 + 16 + + + BIASCOMP + Bias Comparator Scaling + 0 + 3 + + + BIASR2R + Bias R2R Ampli scaling + 4 + 3 + + + BIASREFBUF + Bias Reference Buffer Scaling + 8 + 3 + + + + + + + ADC1 + Analog Digital Converter 1 + 0x43002000 + + ADC1_INTREQ_0 + 120 + + + ADC1_INTREQ_1 + 121 + + + + AES + 2.2.0 + Advanced Encryption Standard + AES + AES_ + 0x42002400 + + 0 + 0x100 + registers + + + AES_INTREQ + 130 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + AESMODE + AES Modes of operation + 2 + 3 + + AESMODESelect + + ECB + Electronic code book mode + 0x0 + + + CBC + Cipher block chaining mode + 0x1 + + + OFB + Output feedback mode + 0x2 + + + CFB + Cipher feedback mode + 0x3 + + + COUNTER + Counter mode + 0x4 + + + CCM + CCM mode + 0x5 + + + GCM + Galois counter mode + 0x6 + + + + + CFBS + Cipher Feedback Block Size + 5 + 3 + + CFBSSelect + + 128BIT + 128-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x0 + + + 64BIT + 64-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x1 + + + 32BIT + 32-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x2 + + + 16BIT + 16-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x3 + + + 8BIT + 8-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x4 + + + + + KEYSIZE + Encryption Key Size + 8 + 2 + + KEYSIZESelect + + 128BIT + 128-bit Key for Encryption / Decryption + 0x0 + + + 192BIT + 192-bit Key for Encryption / Decryption + 0x1 + + + 256BIT + 256-bit Key for Encryption / Decryption + 0x2 + + + + + CIPHER + Cipher Mode + 10 + 1 + + CIPHERSelect + + DEC + Decryption + 0x0 + + + ENC + Encryption + 0x1 + + + + + STARTMODE + Start Mode Select + 11 + 1 + + STARTMODESelect + + MANUAL + Start Encryption / Decryption in Manual mode + 0x0 + + + AUTO + Start Encryption / Decryption in Auto mode + 0x1 + + + + + LOD + Last Output Data Mode + 12 + 1 + + LODSelect + + NONE + No effect + 0x0 + + + LAST + Start encryption in Last Output Data mode + 0x1 + + + + + KEYGEN + Last Key Generation + 13 + 1 + + KEYGENSelect + + NONE + No effect + 0x0 + + + LAST + Start Computation of the last NK words of the expanded key + 0x1 + + + + + XORKEY + XOR Key Operation + 14 + 1 + + XORKEYSelect + + NONE + No effect + 0x0 + + + XOR + The user keyword gets XORed with the previous keyword register content. + 0x1 + + + + + CTYPE + Counter Measure Type + 16 + 4 + + + + + CTRLB + Control B + 0x04 + 8 + + + START + Start Encryption/Decryption + 0 + 1 + + + NEWMSG + New message + 1 + 1 + + + EOM + End of message + 2 + 1 + + + GFMUL + GF Multiplication + 3 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x05 + 8 + + + ENCCMP + Encryption Complete Interrupt Enable + 0 + 1 + + + GFMCMP + GF Multiplication Complete Interrupt Enable + 1 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x06 + 8 + + + ENCCMP + Encryption Complete Interrupt Enable + 0 + 1 + + + GFMCMP + GF Multiplication Complete Interrupt Enable + 1 + 1 + + + + + INTFLAG + Interrupt Flag Status + 0x07 + 8 + + + ENCCMP + Encryption Complete + 0 + 1 + + + GFMCMP + GF Multiplication Complete + 1 + 1 + + + + + DATABUFPTR + Data buffer pointer + 0x08 + 8 + + + INDATAPTR + Input Data Pointer + 0 + 2 + + + + + DBGCTRL + Debug control + 0x09 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + 8 + 0x4 + KEYWORD%s + Keyword n + 0x0C + 32 + write-only + + + INDATA + Indata + 0x38 + 32 + + + 4 + 0x4 + INTVECTV%s + Initialisation Vector n + 0x3C + 32 + write-only + + + 4 + 0x4 + HASHKEY%s + Hash key n + 0x5C + 32 + + + 4 + 0x4 + GHASH%s + Galois Hash n + 0x6C + 32 + + + CIPLEN + Cipher Length + 0x80 + 32 + + + RANDSEED + Random Seed + 0x84 + 32 + + + + + CAN0 + 3.2.1 + Control Area Network 0 + CAN + CAN_ + 0x42000000 + + 0 + 0x100 + registers + + + CAN0_INTREQ + 78 + + + + CREL + Core Release + 0x00 + 32 + read-only + 0x32100000 + + + SUBSTEP + Sub-step of Core Release + 20 + 4 + read-only + + + STEP + Step of Core Release + 24 + 4 + read-only + + + REL + Core Release + 28 + 4 + read-only + + + + + ENDN + Endian + 0x04 + 32 + read-only + 0x87654321 + + + ETV + Endianness Test Value + 0 + 32 + read-only + + + + + MRCFG + Message RAM Configuration + 0x08 + 32 + 0x00000002 + + + QOS + Quality of Service + 0 + 2 + + QOSSelect + + DISABLE + Background (no sensitive operation) + 0x0 + + + LOW + Sensitive Bandwidth + 0x1 + + + MEDIUM + Sensitive Latency + 0x2 + + + HIGH + Critical Latency + 0x3 + + + + + + + DBTP + Fast Bit Timing and Prescaler + 0x0C + 32 + 0x00000A33 + + + DSJW + Data (Re)Synchronization Jump Width + 0 + 4 + + + DTSEG2 + Data time segment after sample point + 4 + 4 + + + DTSEG1 + Data time segment before sample point + 8 + 5 + + + DBRP + Data Baud Rate Prescaler + 16 + 5 + + + TDC + Tranceiver Delay Compensation + 23 + 1 + + + + + TEST + Test + 0x10 + 32 + + + LBCK + Loop Back Mode + 4 + 1 + + + TX + Control of Transmit Pin + 5 + 2 + + TXSelect + + CORE + TX controlled by CAN core + 0x0 + + + SAMPLE + TX monitoring sample point + 0x1 + + + DOMINANT + Dominant (0) level at pin CAN_TX + 0x2 + + + RECESSIVE + Recessive (1) level at pin CAN_TX + 0x3 + + + + + RX + Receive Pin + 7 + 1 + read-only + + + + + RWD + RAM Watchdog + 0x14 + 32 + + + WDC + Watchdog Configuration + 0 + 8 + read-only + + + WDV + Watchdog Value + 8 + 8 + read-only + + + + + CCCR + CC Control + 0x18 + 32 + 0x00000001 + + + INIT + Initialization + 0 + 1 + + + CCE + Configuration Change Enable + 1 + 1 + + + ASM + ASM Restricted Operation Mode + 2 + 1 + + + CSA + Clock Stop Acknowledge + 3 + 1 + read-only + + + CSR + Clock Stop Request + 4 + 1 + + + MON + Bus Monitoring Mode + 5 + 1 + + + DAR + Disable Automatic Retransmission + 6 + 1 + + + TEST + Test Mode Enable + 7 + 1 + + + FDOE + FD Operation Enable + 8 + 1 + + + BRSE + Bit Rate Switch Enable + 9 + 1 + + + PXHD + Protocol Exception Handling Disable + 12 + 1 + + + EFBI + Edge Filtering during Bus Integration + 13 + 1 + + + TXP + Transmit Pause + 14 + 1 + + + NISO + Non ISO Operation + 15 + 1 + + + + + NBTP + Nominal Bit Timing and Prescaler + 0x1C + 32 + 0x06000A03 + + + NTSEG2 + Nominal Time segment after sample point + 0 + 7 + + + NTSEG1 + Nominal Time segment before sample point + 8 + 8 + + + NBRP + Nominal Baud Rate Prescaler + 16 + 9 + + + NSJW + Nominal (Re)Synchronization Jump Width + 25 + 7 + + + + + TSCC + Timestamp Counter Configuration + 0x20 + 32 + + + TSS + Timestamp Select + 0 + 2 + + TSSSelect + + ZERO + Timestamp counter value always 0x0000 + 0x0 + + + INC + Timestamp counter value incremented by TCP + 0x1 + + + EXT + External timestamp counter value used + 0x2 + + + + + TCP + Timestamp Counter Prescaler + 16 + 4 + + + + + TSCV + Timestamp Counter Value + 0x24 + 32 + read-only + + + TSC + Timestamp Counter + 0 + 16 + read-only + + + + + TOCC + Timeout Counter Configuration + 0x28 + 32 + 0xFFFF0000 + + + ETOC + Enable Timeout Counter + 0 + 1 + + + TOS + Timeout Select + 1 + 2 + + TOSSelect + + CONT + Continuout operation + 0x0 + + + TXEF + Timeout controlled by TX Event FIFO + 0x1 + + + RXF0 + Timeout controlled by Rx FIFO 0 + 0x2 + + + RXF1 + Timeout controlled by Rx FIFO 1 + 0x3 + + + + + TOP + Timeout Period + 16 + 16 + + + + + TOCV + Timeout Counter Value + 0x2C + 32 + 0x0000FFFF + + + TOC + Timeout Counter + 0 + 16 + + + + + ECR + Error Counter + 0x40 + 32 + read-only + + + TEC + Transmit Error Counter + 0 + 8 + read-only + + + REC + Receive Error Counter + 8 + 7 + read-only + + + RP + Receive Error Passive + 15 + 1 + read-only + + + CEL + CAN Error Logging + 16 + 8 + read-only + + + + + PSR + Protocol Status + 0x44 + 32 + read-only + 0x00000707 + + + LEC + Last Error Code + 0 + 3 + read-only + + LECSelect + + NONE + No Error + 0x0 + + + STUFF + Stuff Error + 0x1 + + + FORM + Form Error + 0x2 + + + ACK + Ack Error + 0x3 + + + BIT1 + Bit1 Error + 0x4 + + + BIT0 + Bit0 Error + 0x5 + + + CRC + CRC Error + 0x6 + + + NC + No Change + 0x7 + + + + + ACT + Activity + 3 + 2 + read-only + + ACTSelect + + SYNC + Node is synchronizing on CAN communication + 0x0 + + + IDLE + Node is neither receiver nor transmitter + 0x1 + + + RX + Node is operating as receiver + 0x2 + + + TX + Node is operating as transmitter + 0x3 + + + + + EP + Error Passive + 5 + 1 + read-only + + + EW + Warning Status + 6 + 1 + read-only + + + BO + Bus_Off Status + 7 + 1 + read-only + + + DLEC + Data Phase Last Error Code + 8 + 3 + read-only + + DLECSelect + + NONE + No Error + 0x0 + + + STUFF + Stuff Error + 0x1 + + + FORM + Form Error + 0x2 + + + ACK + Ack Error + 0x3 + + + BIT1 + Bit1 Error + 0x4 + + + BIT0 + Bit0 Error + 0x5 + + + CRC + CRC Error + 0x6 + + + NC + No Change + 0x7 + + + + + RESI + ESI flag of last received CAN FD Message + 11 + 1 + read-only + + + RBRS + BRS flag of last received CAN FD Message + 12 + 1 + read-only + + + RFDF + Received a CAN FD Message + 13 + 1 + read-only + + + PXE + Protocol Exception Event + 14 + 1 + read-only + + + TDCV + Transmitter Delay Compensation Value + 16 + 7 + read-only + + + + + TDCR + Extended ID Filter Configuration + 0x48 + 32 + + + TDCF + Transmitter Delay Compensation Filter Length + 0 + 7 + read-only + + + TDCO + Transmitter Delay Compensation Offset + 8 + 7 + + + + + IR + Interrupt + 0x50 + 32 + + + RF0N + Rx FIFO 0 New Message + 0 + 1 + + + RF0W + Rx FIFO 0 Watermark Reached + 1 + 1 + + + RF0F + Rx FIFO 0 Full + 2 + 1 + + + RF0L + Rx FIFO 0 Message Lost + 3 + 1 + + + RF1N + Rx FIFO 1 New Message + 4 + 1 + + + RF1W + Rx FIFO 1 Watermark Reached + 5 + 1 + + + RF1F + Rx FIFO 1 FIFO Full + 6 + 1 + + + RF1L + Rx FIFO 1 Message Lost + 7 + 1 + + + HPM + High Priority Message + 8 + 1 + + + TC + Timestamp Completed + 9 + 1 + + + TCF + Transmission Cancellation Finished + 10 + 1 + + + TFE + Tx FIFO Empty + 11 + 1 + + + TEFN + Tx Event FIFO New Entry + 12 + 1 + + + TEFW + Tx Event FIFO Watermark Reached + 13 + 1 + + + TEFF + Tx Event FIFO Full + 14 + 1 + + + TEFL + Tx Event FIFO Element Lost + 15 + 1 + + + TSW + Timestamp Wraparound + 16 + 1 + + + MRAF + Message RAM Access Failure + 17 + 1 + + + TOO + Timeout Occurred + 18 + 1 + + + DRX + Message stored to Dedicated Rx Buffer + 19 + 1 + + + BEC + Bit Error Corrected + 20 + 1 + + + BEU + Bit Error Uncorrected + 21 + 1 + + + ELO + Error Logging Overflow + 22 + 1 + + + EP + Error Passive + 23 + 1 + + + EW + Warning Status + 24 + 1 + + + BO + Bus_Off Status + 25 + 1 + + + WDI + Watchdog Interrupt + 26 + 1 + + + PEA + Protocol Error in Arbitration Phase + 27 + 1 + + + PED + Protocol Error in Data Phase + 28 + 1 + + + ARA + Access to Reserved Address + 29 + 1 + + + + + IE + Interrupt Enable + 0x54 + 32 + + + RF0NE + Rx FIFO 0 New Message Interrupt Enable + 0 + 1 + + + RF0WE + Rx FIFO 0 Watermark Reached Interrupt Enable + 1 + 1 + + + RF0FE + Rx FIFO 0 Full Interrupt Enable + 2 + 1 + + + RF0LE + Rx FIFO 0 Message Lost Interrupt Enable + 3 + 1 + + + RF1NE + Rx FIFO 1 New Message Interrupt Enable + 4 + 1 + + + RF1WE + Rx FIFO 1 Watermark Reached Interrupt Enable + 5 + 1 + + + RF1FE + Rx FIFO 1 FIFO Full Interrupt Enable + 6 + 1 + + + RF1LE + Rx FIFO 1 Message Lost Interrupt Enable + 7 + 1 + + + HPME + High Priority Message Interrupt Enable + 8 + 1 + + + TCE + Timestamp Completed Interrupt Enable + 9 + 1 + + + TCFE + Transmission Cancellation Finished Interrupt Enable + 10 + 1 + + + TFEE + Tx FIFO Empty Interrupt Enable + 11 + 1 + + + TEFNE + Tx Event FIFO New Entry Interrupt Enable + 12 + 1 + + + TEFWE + Tx Event FIFO Watermark Reached Interrupt Enable + 13 + 1 + + + TEFFE + Tx Event FIFO Full Interrupt Enable + 14 + 1 + + + TEFLE + Tx Event FIFO Element Lost Interrupt Enable + 15 + 1 + + + TSWE + Timestamp Wraparound Interrupt Enable + 16 + 1 + + + MRAFE + Message RAM Access Failure Interrupt Enable + 17 + 1 + + + TOOE + Timeout Occurred Interrupt Enable + 18 + 1 + + + DRXE + Message stored to Dedicated Rx Buffer Interrupt Enable + 19 + 1 + + + BECE + Bit Error Corrected Interrupt Enable + 20 + 1 + + + BEUE + Bit Error Uncorrected Interrupt Enable + 21 + 1 + + + ELOE + Error Logging Overflow Interrupt Enable + 22 + 1 + + + EPE + Error Passive Interrupt Enable + 23 + 1 + + + EWE + Warning Status Interrupt Enable + 24 + 1 + + + BOE + Bus_Off Status Interrupt Enable + 25 + 1 + + + WDIE + Watchdog Interrupt Interrupt Enable + 26 + 1 + + + PEAE + Protocol Error in Arbitration Phase Enable + 27 + 1 + + + PEDE + Protocol Error in Data Phase Enable + 28 + 1 + + + ARAE + Access to Reserved Address Enable + 29 + 1 + + + + + ILS + Interrupt Line Select + 0x58 + 32 + + + RF0NL + Rx FIFO 0 New Message Interrupt Line + 0 + 1 + + + RF0WL + Rx FIFO 0 Watermark Reached Interrupt Line + 1 + 1 + + + RF0FL + Rx FIFO 0 Full Interrupt Line + 2 + 1 + + + RF0LL + Rx FIFO 0 Message Lost Interrupt Line + 3 + 1 + + + RF1NL + Rx FIFO 1 New Message Interrupt Line + 4 + 1 + + + RF1WL + Rx FIFO 1 Watermark Reached Interrupt Line + 5 + 1 + + + RF1FL + Rx FIFO 1 FIFO Full Interrupt Line + 6 + 1 + + + RF1LL + Rx FIFO 1 Message Lost Interrupt Line + 7 + 1 + + + HPML + High Priority Message Interrupt Line + 8 + 1 + + + TCL + Timestamp Completed Interrupt Line + 9 + 1 + + + TCFL + Transmission Cancellation Finished Interrupt Line + 10 + 1 + + + TFEL + Tx FIFO Empty Interrupt Line + 11 + 1 + + + TEFNL + Tx Event FIFO New Entry Interrupt Line + 12 + 1 + + + TEFWL + Tx Event FIFO Watermark Reached Interrupt Line + 13 + 1 + + + TEFFL + Tx Event FIFO Full Interrupt Line + 14 + 1 + + + TEFLL + Tx Event FIFO Element Lost Interrupt Line + 15 + 1 + + + TSWL + Timestamp Wraparound Interrupt Line + 16 + 1 + + + MRAFL + Message RAM Access Failure Interrupt Line + 17 + 1 + + + TOOL + Timeout Occurred Interrupt Line + 18 + 1 + + + DRXL + Message stored to Dedicated Rx Buffer Interrupt Line + 19 + 1 + + + BECL + Bit Error Corrected Interrupt Line + 20 + 1 + + + BEUL + Bit Error Uncorrected Interrupt Line + 21 + 1 + + + ELOL + Error Logging Overflow Interrupt Line + 22 + 1 + + + EPL + Error Passive Interrupt Line + 23 + 1 + + + EWL + Warning Status Interrupt Line + 24 + 1 + + + BOL + Bus_Off Status Interrupt Line + 25 + 1 + + + WDIL + Watchdog Interrupt Interrupt Line + 26 + 1 + + + PEAL + Protocol Error in Arbitration Phase Line + 27 + 1 + + + PEDL + Protocol Error in Data Phase Line + 28 + 1 + + + ARAL + Access to Reserved Address Line + 29 + 1 + + + + + ILE + Interrupt Line Enable + 0x5C + 32 + + + EINT0 + Enable Interrupt Line 0 + 0 + 1 + + + EINT1 + Enable Interrupt Line 1 + 1 + 1 + + + + + GFC + Global Filter Configuration + 0x80 + 32 + + + RRFE + Reject Remote Frames Extended + 0 + 1 + + + RRFS + Reject Remote Frames Standard + 1 + 1 + + + ANFE + Accept Non-matching Frames Extended + 2 + 2 + + ANFESelect + + RXF0 + Accept in Rx FIFO 0 + 0x0 + + + RXF1 + Accept in Rx FIFO 1 + 0x1 + + + REJECT + Reject + 0x2 + + + + + ANFS + Accept Non-matching Frames Standard + 4 + 2 + + ANFSSelect + + RXF0 + Accept in Rx FIFO 0 + 0x0 + + + RXF1 + Accept in Rx FIFO 1 + 0x1 + + + REJECT + Reject + 0x2 + + + + + + + SIDFC + Standard ID Filter Configuration + 0x84 + 32 + + + FLSSA + Filter List Standard Start Address + 0 + 16 + + + LSS + List Size Standard + 16 + 8 + + + + + XIDFC + Extended ID Filter Configuration + 0x88 + 32 + + + FLESA + Filter List Extended Start Address + 0 + 16 + + + LSE + List Size Extended + 16 + 7 + + + + + XIDAM + Extended ID AND Mask + 0x90 + 32 + 0x1FFFFFFF + + + EIDM + Extended ID Mask + 0 + 29 + + + + + HPMS + High Priority Message Status + 0x94 + 32 + read-only + + + BIDX + Buffer Index + 0 + 6 + read-only + + + MSI + Message Storage Indicator + 6 + 2 + read-only + + MSISelect + + NONE + No FIFO selected + 0x0 + + + LOST + FIFO message lost + 0x1 + + + FIFO0 + Message stored in FIFO 0 + 0x2 + + + FIFO1 + Message stored in FIFO 1 + 0x3 + + + + + FIDX + Filter Index + 8 + 7 + read-only + + + FLST + Filter List + 15 + 1 + read-only + + + + + NDAT1 + New Data 1 + 0x98 + 32 + + + ND0 + New Data 0 + 0 + 1 + + + ND1 + New Data 1 + 1 + 1 + + + ND2 + New Data 2 + 2 + 1 + + + ND3 + New Data 3 + 3 + 1 + + + ND4 + New Data 4 + 4 + 1 + + + ND5 + New Data 5 + 5 + 1 + + + ND6 + New Data 6 + 6 + 1 + + + ND7 + New Data 7 + 7 + 1 + + + ND8 + New Data 8 + 8 + 1 + + + ND9 + New Data 9 + 9 + 1 + + + ND10 + New Data 10 + 10 + 1 + + + ND11 + New Data 11 + 11 + 1 + + + ND12 + New Data 12 + 12 + 1 + + + ND13 + New Data 13 + 13 + 1 + + + ND14 + New Data 14 + 14 + 1 + + + ND15 + New Data 15 + 15 + 1 + + + ND16 + New Data 16 + 16 + 1 + + + ND17 + New Data 17 + 17 + 1 + + + ND18 + New Data 18 + 18 + 1 + + + ND19 + New Data 19 + 19 + 1 + + + ND20 + New Data 20 + 20 + 1 + + + ND21 + New Data 21 + 21 + 1 + + + ND22 + New Data 22 + 22 + 1 + + + ND23 + New Data 23 + 23 + 1 + + + ND24 + New Data 24 + 24 + 1 + + + ND25 + New Data 25 + 25 + 1 + + + ND26 + New Data 26 + 26 + 1 + + + ND27 + New Data 27 + 27 + 1 + + + ND28 + New Data 28 + 28 + 1 + + + ND29 + New Data 29 + 29 + 1 + + + ND30 + New Data 30 + 30 + 1 + + + ND31 + New Data 31 + 31 + 1 + + + + + NDAT2 + New Data 2 + 0x9C + 32 + + + ND32 + New Data 32 + 0 + 1 + + + ND33 + New Data 33 + 1 + 1 + + + ND34 + New Data 34 + 2 + 1 + + + ND35 + New Data 35 + 3 + 1 + + + ND36 + New Data 36 + 4 + 1 + + + ND37 + New Data 37 + 5 + 1 + + + ND38 + New Data 38 + 6 + 1 + + + ND39 + New Data 39 + 7 + 1 + + + ND40 + New Data 40 + 8 + 1 + + + ND41 + New Data 41 + 9 + 1 + + + ND42 + New Data 42 + 10 + 1 + + + ND43 + New Data 43 + 11 + 1 + + + ND44 + New Data 44 + 12 + 1 + + + ND45 + New Data 45 + 13 + 1 + + + ND46 + New Data 46 + 14 + 1 + + + ND47 + New Data 47 + 15 + 1 + + + ND48 + New Data 48 + 16 + 1 + + + ND49 + New Data 49 + 17 + 1 + + + ND50 + New Data 50 + 18 + 1 + + + ND51 + New Data 51 + 19 + 1 + + + ND52 + New Data 52 + 20 + 1 + + + ND53 + New Data 53 + 21 + 1 + + + ND54 + New Data 54 + 22 + 1 + + + ND55 + New Data 55 + 23 + 1 + + + ND56 + New Data 56 + 24 + 1 + + + ND57 + New Data 57 + 25 + 1 + + + ND58 + New Data 58 + 26 + 1 + + + ND59 + New Data 59 + 27 + 1 + + + ND60 + New Data 60 + 28 + 1 + + + ND61 + New Data 61 + 29 + 1 + + + ND62 + New Data 62 + 30 + 1 + + + ND63 + New Data 63 + 31 + 1 + + + + + RXF0C + Rx FIFO 0 Configuration + 0xA0 + 32 + + + F0SA + Rx FIFO 0 Start Address + 0 + 16 + + + F0S + Rx FIFO 0 Size + 16 + 7 + + + F0WM + Rx FIFO 0 Watermark + 24 + 7 + + + F0OM + FIFO 0 Operation Mode + 31 + 1 + + + + + RXF0S + Rx FIFO 0 Status + 0xA4 + 32 + read-only + + + F0FL + Rx FIFO 0 Fill Level + 0 + 7 + read-only + + + F0GI + Rx FIFO 0 Get Index + 8 + 6 + read-only + + + F0PI + Rx FIFO 0 Put Index + 16 + 6 + read-only + + + F0F + Rx FIFO 0 Full + 24 + 1 + read-only + + + RF0L + Rx FIFO 0 Message Lost + 25 + 1 + read-only + + + + + RXF0A + Rx FIFO 0 Acknowledge + 0xA8 + 32 + + + F0AI + Rx FIFO 0 Acknowledge Index + 0 + 6 + + + + + RXBC + Rx Buffer Configuration + 0xAC + 32 + + + RBSA + Rx Buffer Start Address + 0 + 16 + + + + + RXF1C + Rx FIFO 1 Configuration + 0xB0 + 32 + + + F1SA + Rx FIFO 1 Start Address + 0 + 16 + + + F1S + Rx FIFO 1 Size + 16 + 7 + + + F1WM + Rx FIFO 1 Watermark + 24 + 7 + + + F1OM + FIFO 1 Operation Mode + 31 + 1 + + + + + RXF1S + Rx FIFO 1 Status + 0xB4 + 32 + read-only + + + F1FL + Rx FIFO 1 Fill Level + 0 + 7 + read-only + + + F1GI + Rx FIFO 1 Get Index + 8 + 6 + read-only + + + F1PI + Rx FIFO 1 Put Index + 16 + 6 + read-only + + + F1F + Rx FIFO 1 Full + 24 + 1 + read-only + + + RF1L + Rx FIFO 1 Message Lost + 25 + 1 + read-only + + + DMS + Debug Message Status + 30 + 2 + read-only + + DMSSelect + + IDLE + Idle state + 0x0 + + + DBGA + Debug message A received + 0x1 + + + DBGB + Debug message A/B received + 0x2 + + + DBGC + Debug message A/B/C received, DMA request set + 0x3 + + + + + + + RXF1A + Rx FIFO 1 Acknowledge + 0xB8 + 32 + + + F1AI + Rx FIFO 1 Acknowledge Index + 0 + 6 + + + + + RXESC + Rx Buffer / FIFO Element Size Configuration + 0xBC + 32 + + + F0DS + Rx FIFO 0 Data Field Size + 0 + 3 + + F0DSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + F1DS + Rx FIFO 1 Data Field Size + 4 + 3 + + F1DSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + RBDS + Rx Buffer Data Field Size + 8 + 3 + + RBDSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + + + TXBC + Tx Buffer Configuration + 0xC0 + 32 + + + TBSA + Tx Buffers Start Address + 0 + 16 + + + NDTB + Number of Dedicated Transmit Buffers + 16 + 6 + + + TFQS + Transmit FIFO/Queue Size + 24 + 6 + + + TFQM + Tx FIFO/Queue Mode + 30 + 1 + + + + + TXFQS + Tx FIFO / Queue Status + 0xC4 + 32 + read-only + + + TFFL + Tx FIFO Free Level + 0 + 6 + read-only + + + TFGI + Tx FIFO Get Index + 8 + 5 + read-only + + + TFQPI + Tx FIFO/Queue Put Index + 16 + 5 + read-only + + + TFQF + Tx FIFO/Queue Full + 21 + 1 + read-only + + + + + TXESC + Tx Buffer Element Size Configuration + 0xC8 + 32 + + + TBDS + Tx Buffer Data Field Size + 0 + 3 + + TBDSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + + + TXBRP + Tx Buffer Request Pending + 0xCC + 32 + read-only + + + TRP0 + Transmission Request Pending 0 + 0 + 1 + read-only + + + TRP1 + Transmission Request Pending 1 + 1 + 1 + read-only + + + TRP2 + Transmission Request Pending 2 + 2 + 1 + read-only + + + TRP3 + Transmission Request Pending 3 + 3 + 1 + read-only + + + TRP4 + Transmission Request Pending 4 + 4 + 1 + read-only + + + TRP5 + Transmission Request Pending 5 + 5 + 1 + read-only + + + TRP6 + Transmission Request Pending 6 + 6 + 1 + read-only + + + TRP7 + Transmission Request Pending 7 + 7 + 1 + read-only + + + TRP8 + Transmission Request Pending 8 + 8 + 1 + read-only + + + TRP9 + Transmission Request Pending 9 + 9 + 1 + read-only + + + TRP10 + Transmission Request Pending 10 + 10 + 1 + read-only + + + TRP11 + Transmission Request Pending 11 + 11 + 1 + read-only + + + TRP12 + Transmission Request Pending 12 + 12 + 1 + read-only + + + TRP13 + Transmission Request Pending 13 + 13 + 1 + read-only + + + TRP14 + Transmission Request Pending 14 + 14 + 1 + read-only + + + TRP15 + Transmission Request Pending 15 + 15 + 1 + read-only + + + TRP16 + Transmission Request Pending 16 + 16 + 1 + read-only + + + TRP17 + Transmission Request Pending 17 + 17 + 1 + read-only + + + TRP18 + Transmission Request Pending 18 + 18 + 1 + read-only + + + TRP19 + Transmission Request Pending 19 + 19 + 1 + read-only + + + TRP20 + Transmission Request Pending 20 + 20 + 1 + read-only + + + TRP21 + Transmission Request Pending 21 + 21 + 1 + read-only + + + TRP22 + Transmission Request Pending 22 + 22 + 1 + read-only + + + TRP23 + Transmission Request Pending 23 + 23 + 1 + read-only + + + TRP24 + Transmission Request Pending 24 + 24 + 1 + read-only + + + TRP25 + Transmission Request Pending 25 + 25 + 1 + read-only + + + TRP26 + Transmission Request Pending 26 + 26 + 1 + read-only + + + TRP27 + Transmission Request Pending 27 + 27 + 1 + read-only + + + TRP28 + Transmission Request Pending 28 + 28 + 1 + read-only + + + TRP29 + Transmission Request Pending 29 + 29 + 1 + read-only + + + TRP30 + Transmission Request Pending 30 + 30 + 1 + read-only + + + TRP31 + Transmission Request Pending 31 + 31 + 1 + read-only + + + + + TXBAR + Tx Buffer Add Request + 0xD0 + 32 + + + AR0 + Add Request 0 + 0 + 1 + + + AR1 + Add Request 1 + 1 + 1 + + + AR2 + Add Request 2 + 2 + 1 + + + AR3 + Add Request 3 + 3 + 1 + + + AR4 + Add Request 4 + 4 + 1 + + + AR5 + Add Request 5 + 5 + 1 + + + AR6 + Add Request 6 + 6 + 1 + + + AR7 + Add Request 7 + 7 + 1 + + + AR8 + Add Request 8 + 8 + 1 + + + AR9 + Add Request 9 + 9 + 1 + + + AR10 + Add Request 10 + 10 + 1 + + + AR11 + Add Request 11 + 11 + 1 + + + AR12 + Add Request 12 + 12 + 1 + + + AR13 + Add Request 13 + 13 + 1 + + + AR14 + Add Request 14 + 14 + 1 + + + AR15 + Add Request 15 + 15 + 1 + + + AR16 + Add Request 16 + 16 + 1 + + + AR17 + Add Request 17 + 17 + 1 + + + AR18 + Add Request 18 + 18 + 1 + + + AR19 + Add Request 19 + 19 + 1 + + + AR20 + Add Request 20 + 20 + 1 + + + AR21 + Add Request 21 + 21 + 1 + + + AR22 + Add Request 22 + 22 + 1 + + + AR23 + Add Request 23 + 23 + 1 + + + AR24 + Add Request 24 + 24 + 1 + + + AR25 + Add Request 25 + 25 + 1 + + + AR26 + Add Request 26 + 26 + 1 + + + AR27 + Add Request 27 + 27 + 1 + + + AR28 + Add Request 28 + 28 + 1 + + + AR29 + Add Request 29 + 29 + 1 + + + AR30 + Add Request 30 + 30 + 1 + + + AR31 + Add Request 31 + 31 + 1 + + + + + TXBCR + Tx Buffer Cancellation Request + 0xD4 + 32 + + + CR0 + Cancellation Request 0 + 0 + 1 + + + CR1 + Cancellation Request 1 + 1 + 1 + + + CR2 + Cancellation Request 2 + 2 + 1 + + + CR3 + Cancellation Request 3 + 3 + 1 + + + CR4 + Cancellation Request 4 + 4 + 1 + + + CR5 + Cancellation Request 5 + 5 + 1 + + + CR6 + Cancellation Request 6 + 6 + 1 + + + CR7 + Cancellation Request 7 + 7 + 1 + + + CR8 + Cancellation Request 8 + 8 + 1 + + + CR9 + Cancellation Request 9 + 9 + 1 + + + CR10 + Cancellation Request 10 + 10 + 1 + + + CR11 + Cancellation Request 11 + 11 + 1 + + + CR12 + Cancellation Request 12 + 12 + 1 + + + CR13 + Cancellation Request 13 + 13 + 1 + + + CR14 + Cancellation Request 14 + 14 + 1 + + + CR15 + Cancellation Request 15 + 15 + 1 + + + CR16 + Cancellation Request 16 + 16 + 1 + + + CR17 + Cancellation Request 17 + 17 + 1 + + + CR18 + Cancellation Request 18 + 18 + 1 + + + CR19 + Cancellation Request 19 + 19 + 1 + + + CR20 + Cancellation Request 20 + 20 + 1 + + + CR21 + Cancellation Request 21 + 21 + 1 + + + CR22 + Cancellation Request 22 + 22 + 1 + + + CR23 + Cancellation Request 23 + 23 + 1 + + + CR24 + Cancellation Request 24 + 24 + 1 + + + CR25 + Cancellation Request 25 + 25 + 1 + + + CR26 + Cancellation Request 26 + 26 + 1 + + + CR27 + Cancellation Request 27 + 27 + 1 + + + CR28 + Cancellation Request 28 + 28 + 1 + + + CR29 + Cancellation Request 29 + 29 + 1 + + + CR30 + Cancellation Request 30 + 30 + 1 + + + CR31 + Cancellation Request 31 + 31 + 1 + + + + + TXBTO + Tx Buffer Transmission Occurred + 0xD8 + 32 + read-only + + + TO0 + Transmission Occurred 0 + 0 + 1 + read-only + + + TO1 + Transmission Occurred 1 + 1 + 1 + read-only + + + TO2 + Transmission Occurred 2 + 2 + 1 + read-only + + + TO3 + Transmission Occurred 3 + 3 + 1 + read-only + + + TO4 + Transmission Occurred 4 + 4 + 1 + read-only + + + TO5 + Transmission Occurred 5 + 5 + 1 + read-only + + + TO6 + Transmission Occurred 6 + 6 + 1 + read-only + + + TO7 + Transmission Occurred 7 + 7 + 1 + read-only + + + TO8 + Transmission Occurred 8 + 8 + 1 + read-only + + + TO9 + Transmission Occurred 9 + 9 + 1 + read-only + + + TO10 + Transmission Occurred 10 + 10 + 1 + read-only + + + TO11 + Transmission Occurred 11 + 11 + 1 + read-only + + + TO12 + Transmission Occurred 12 + 12 + 1 + read-only + + + TO13 + Transmission Occurred 13 + 13 + 1 + read-only + + + TO14 + Transmission Occurred 14 + 14 + 1 + read-only + + + TO15 + Transmission Occurred 15 + 15 + 1 + read-only + + + TO16 + Transmission Occurred 16 + 16 + 1 + read-only + + + TO17 + Transmission Occurred 17 + 17 + 1 + read-only + + + TO18 + Transmission Occurred 18 + 18 + 1 + read-only + + + TO19 + Transmission Occurred 19 + 19 + 1 + read-only + + + TO20 + Transmission Occurred 20 + 20 + 1 + read-only + + + TO21 + Transmission Occurred 21 + 21 + 1 + read-only + + + TO22 + Transmission Occurred 22 + 22 + 1 + read-only + + + TO23 + Transmission Occurred 23 + 23 + 1 + read-only + + + TO24 + Transmission Occurred 24 + 24 + 1 + read-only + + + TO25 + Transmission Occurred 25 + 25 + 1 + read-only + + + TO26 + Transmission Occurred 26 + 26 + 1 + read-only + + + TO27 + Transmission Occurred 27 + 27 + 1 + read-only + + + TO28 + Transmission Occurred 28 + 28 + 1 + read-only + + + TO29 + Transmission Occurred 29 + 29 + 1 + read-only + + + TO30 + Transmission Occurred 30 + 30 + 1 + read-only + + + TO31 + Transmission Occurred 31 + 31 + 1 + read-only + + + + + TXBCF + Tx Buffer Cancellation Finished + 0xDC + 32 + read-only + + + CF0 + Tx Buffer Cancellation Finished 0 + 0 + 1 + read-only + + + CF1 + Tx Buffer Cancellation Finished 1 + 1 + 1 + read-only + + + CF2 + Tx Buffer Cancellation Finished 2 + 2 + 1 + read-only + + + CF3 + Tx Buffer Cancellation Finished 3 + 3 + 1 + read-only + + + CF4 + Tx Buffer Cancellation Finished 4 + 4 + 1 + read-only + + + CF5 + Tx Buffer Cancellation Finished 5 + 5 + 1 + read-only + + + CF6 + Tx Buffer Cancellation Finished 6 + 6 + 1 + read-only + + + CF7 + Tx Buffer Cancellation Finished 7 + 7 + 1 + read-only + + + CF8 + Tx Buffer Cancellation Finished 8 + 8 + 1 + read-only + + + CF9 + Tx Buffer Cancellation Finished 9 + 9 + 1 + read-only + + + CF10 + Tx Buffer Cancellation Finished 10 + 10 + 1 + read-only + + + CF11 + Tx Buffer Cancellation Finished 11 + 11 + 1 + read-only + + + CF12 + Tx Buffer Cancellation Finished 12 + 12 + 1 + read-only + + + CF13 + Tx Buffer Cancellation Finished 13 + 13 + 1 + read-only + + + CF14 + Tx Buffer Cancellation Finished 14 + 14 + 1 + read-only + + + CF15 + Tx Buffer Cancellation Finished 15 + 15 + 1 + read-only + + + CF16 + Tx Buffer Cancellation Finished 16 + 16 + 1 + read-only + + + CF17 + Tx Buffer Cancellation Finished 17 + 17 + 1 + read-only + + + CF18 + Tx Buffer Cancellation Finished 18 + 18 + 1 + read-only + + + CF19 + Tx Buffer Cancellation Finished 19 + 19 + 1 + read-only + + + CF20 + Tx Buffer Cancellation Finished 20 + 20 + 1 + read-only + + + CF21 + Tx Buffer Cancellation Finished 21 + 21 + 1 + read-only + + + CF22 + Tx Buffer Cancellation Finished 22 + 22 + 1 + read-only + + + CF23 + Tx Buffer Cancellation Finished 23 + 23 + 1 + read-only + + + CF24 + Tx Buffer Cancellation Finished 24 + 24 + 1 + read-only + + + CF25 + Tx Buffer Cancellation Finished 25 + 25 + 1 + read-only + + + CF26 + Tx Buffer Cancellation Finished 26 + 26 + 1 + read-only + + + CF27 + Tx Buffer Cancellation Finished 27 + 27 + 1 + read-only + + + CF28 + Tx Buffer Cancellation Finished 28 + 28 + 1 + read-only + + + CF29 + Tx Buffer Cancellation Finished 29 + 29 + 1 + read-only + + + CF30 + Tx Buffer Cancellation Finished 30 + 30 + 1 + read-only + + + CF31 + Tx Buffer Cancellation Finished 31 + 31 + 1 + read-only + + + + + TXBTIE + Tx Buffer Transmission Interrupt Enable + 0xE0 + 32 + + + TIE0 + Transmission Interrupt Enable 0 + 0 + 1 + + + TIE1 + Transmission Interrupt Enable 1 + 1 + 1 + + + TIE2 + Transmission Interrupt Enable 2 + 2 + 1 + + + TIE3 + Transmission Interrupt Enable 3 + 3 + 1 + + + TIE4 + Transmission Interrupt Enable 4 + 4 + 1 + + + TIE5 + Transmission Interrupt Enable 5 + 5 + 1 + + + TIE6 + Transmission Interrupt Enable 6 + 6 + 1 + + + TIE7 + Transmission Interrupt Enable 7 + 7 + 1 + + + TIE8 + Transmission Interrupt Enable 8 + 8 + 1 + + + TIE9 + Transmission Interrupt Enable 9 + 9 + 1 + + + TIE10 + Transmission Interrupt Enable 10 + 10 + 1 + + + TIE11 + Transmission Interrupt Enable 11 + 11 + 1 + + + TIE12 + Transmission Interrupt Enable 12 + 12 + 1 + + + TIE13 + Transmission Interrupt Enable 13 + 13 + 1 + + + TIE14 + Transmission Interrupt Enable 14 + 14 + 1 + + + TIE15 + Transmission Interrupt Enable 15 + 15 + 1 + + + TIE16 + Transmission Interrupt Enable 16 + 16 + 1 + + + TIE17 + Transmission Interrupt Enable 17 + 17 + 1 + + + TIE18 + Transmission Interrupt Enable 18 + 18 + 1 + + + TIE19 + Transmission Interrupt Enable 19 + 19 + 1 + + + TIE20 + Transmission Interrupt Enable 20 + 20 + 1 + + + TIE21 + Transmission Interrupt Enable 21 + 21 + 1 + + + TIE22 + Transmission Interrupt Enable 22 + 22 + 1 + + + TIE23 + Transmission Interrupt Enable 23 + 23 + 1 + + + TIE24 + Transmission Interrupt Enable 24 + 24 + 1 + + + TIE25 + Transmission Interrupt Enable 25 + 25 + 1 + + + TIE26 + Transmission Interrupt Enable 26 + 26 + 1 + + + TIE27 + Transmission Interrupt Enable 27 + 27 + 1 + + + TIE28 + Transmission Interrupt Enable 28 + 28 + 1 + + + TIE29 + Transmission Interrupt Enable 29 + 29 + 1 + + + TIE30 + Transmission Interrupt Enable 30 + 30 + 1 + + + TIE31 + Transmission Interrupt Enable 31 + 31 + 1 + + + + + TXBCIE + Tx Buffer Cancellation Finished Interrupt Enable + 0xE4 + 32 + + + CFIE0 + Cancellation Finished Interrupt Enable 0 + 0 + 1 + + + CFIE1 + Cancellation Finished Interrupt Enable 1 + 1 + 1 + + + CFIE2 + Cancellation Finished Interrupt Enable 2 + 2 + 1 + + + CFIE3 + Cancellation Finished Interrupt Enable 3 + 3 + 1 + + + CFIE4 + Cancellation Finished Interrupt Enable 4 + 4 + 1 + + + CFIE5 + Cancellation Finished Interrupt Enable 5 + 5 + 1 + + + CFIE6 + Cancellation Finished Interrupt Enable 6 + 6 + 1 + + + CFIE7 + Cancellation Finished Interrupt Enable 7 + 7 + 1 + + + CFIE8 + Cancellation Finished Interrupt Enable 8 + 8 + 1 + + + CFIE9 + Cancellation Finished Interrupt Enable 9 + 9 + 1 + + + CFIE10 + Cancellation Finished Interrupt Enable 10 + 10 + 1 + + + CFIE11 + Cancellation Finished Interrupt Enable 11 + 11 + 1 + + + CFIE12 + Cancellation Finished Interrupt Enable 12 + 12 + 1 + + + CFIE13 + Cancellation Finished Interrupt Enable 13 + 13 + 1 + + + CFIE14 + Cancellation Finished Interrupt Enable 14 + 14 + 1 + + + CFIE15 + Cancellation Finished Interrupt Enable 15 + 15 + 1 + + + CFIE16 + Cancellation Finished Interrupt Enable 16 + 16 + 1 + + + CFIE17 + Cancellation Finished Interrupt Enable 17 + 17 + 1 + + + CFIE18 + Cancellation Finished Interrupt Enable 18 + 18 + 1 + + + CFIE19 + Cancellation Finished Interrupt Enable 19 + 19 + 1 + + + CFIE20 + Cancellation Finished Interrupt Enable 20 + 20 + 1 + + + CFIE21 + Cancellation Finished Interrupt Enable 21 + 21 + 1 + + + CFIE22 + Cancellation Finished Interrupt Enable 22 + 22 + 1 + + + CFIE23 + Cancellation Finished Interrupt Enable 23 + 23 + 1 + + + CFIE24 + Cancellation Finished Interrupt Enable 24 + 24 + 1 + + + CFIE25 + Cancellation Finished Interrupt Enable 25 + 25 + 1 + + + CFIE26 + Cancellation Finished Interrupt Enable 26 + 26 + 1 + + + CFIE27 + Cancellation Finished Interrupt Enable 27 + 27 + 1 + + + CFIE28 + Cancellation Finished Interrupt Enable 28 + 28 + 1 + + + CFIE29 + Cancellation Finished Interrupt Enable 29 + 29 + 1 + + + CFIE30 + Cancellation Finished Interrupt Enable 30 + 30 + 1 + + + CFIE31 + Cancellation Finished Interrupt Enable 31 + 31 + 1 + + + + + TXEFC + Tx Event FIFO Configuration + 0xF0 + 32 + + + EFSA + Event FIFO Start Address + 0 + 16 + + + EFS + Event FIFO Size + 16 + 6 + + + EFWM + Event FIFO Watermark + 24 + 6 + + + + + TXEFS + Tx Event FIFO Status + 0xF4 + 32 + read-only + + + EFFL + Event FIFO Fill Level + 0 + 6 + read-only + + + EFGI + Event FIFO Get Index + 8 + 5 + read-only + + + EFPI + Event FIFO Put Index + 16 + 5 + read-only + + + EFF + Event FIFO Full + 24 + 1 + read-only + + + TEFL + Tx Event FIFO Element Lost + 25 + 1 + read-only + + + + + TXEFA + Tx Event FIFO Acknowledge + 0xF8 + 32 + + + EFAI + Event FIFO Acknowledge Index + 0 + 5 + + + + + + + CAN1 + Control Area Network 1 + 0x42000400 + + CAN1_INTREQ + 79 + + + + CCL + 1.1.0 + Configurable Custom Logic + CCL + CCL_ + 0x42003800 + + 0 + 0x40 + registers + + + + CTRL + Control + 0x0 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + + + 2 + 0x1 + SEQCTRL%s + SEQ Control x + 0x4 + 8 + + + SEQSEL + Sequential Selection + 0 + 4 + + SEQSELSelect + + DISABLE + Sequential logic is disabled + 0x0 + + + DFF + D flip flop + 0x1 + + + JK + JK flip flop + 0x2 + + + LATCH + D latch + 0x3 + + + RS + RS latch + 0x4 + + + + + + + 4 + 0x4 + LUTCTRL%s + LUT Control x + 0x8 + 32 + + + ENABLE + LUT Enable + 1 + 1 + + + FILTSEL + Filter Selection + 4 + 2 + + FILTSELSelect + + DISABLE + Filter disabled + 0x0 + + + SYNCH + Synchronizer enabled + 0x1 + + + FILTER + Filter enabled + 0x2 + + + + + EDGESEL + Edge Selection + 7 + 1 + + + INSEL0 + Input Selection 0 + 8 + 4 + + INSEL0Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INSEL1 + Input Selection 1 + 12 + 4 + + INSEL1Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INSEL2 + Input Selection 2 + 16 + 4 + + INSEL2Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INVEI + Inverted Event Input Enable + 20 + 1 + + + LUTEI + LUT Event Input Enable + 21 + 1 + + + LUTEO + LUT Event Output Enable + 22 + 1 + + + TRUTH + Truth Value + 24 + 8 + + + + + + + CMCC + 6.0.0 + Cortex M Cache Controller + CMCC + CMCC_ + 0x41006000 + + 0 + 0x40 + registers + + + + TYPE + Cache Type Register + 0x00 + 32 + read-only + 0x000012D2 + + + GCLK + dynamic Clock Gating supported + 1 + 1 + + + RRP + Round Robin Policy supported + 4 + 1 + + + WAYNUM + Number of Way + 5 + 2 + + WAYNUMSelect + + DMAPPED + Direct Mapped Cache + 0x0 + + + ARCH2WAY + 2-WAY set associative + 0x1 + + + ARCH4WAY + 4-WAY set associative + 0x2 + + + + + LCKDOWN + Lock Down supported + 7 + 1 + + + CSIZE + Cache Size + 8 + 3 + + CSIZESelect + + CSIZE_1KB + Cache Size is 1 KB + 0x0 + + + CSIZE_2KB + Cache Size is 2 KB + 0x1 + + + CSIZE_4KB + Cache Size is 4 KB + 0x2 + + + CSIZE_8KB + Cache Size is 8 KB + 0x3 + + + CSIZE_16KB + Cache Size is 16 KB + 0x4 + + + CSIZE_32KB + Cache Size is 32 KB + 0x5 + + + CSIZE_64KB + Cache Size is 64 KB + 0x6 + + + + + CLSIZE + Cache Line Size + 11 + 3 + + CLSIZESelect + + CLSIZE_4B + Cache Line Size is 4 bytes + 0x0 + + + CLSIZE_8B + Cache Line Size is 8 bytes + 0x1 + + + CLSIZE_16B + Cache Line Size is 16 bytes + 0x2 + + + CLSIZE_32B + Cache Line Size is 32 bytes + 0x3 + + + CLSIZE_64B + Cache Line Size is 64 bytes + 0x4 + + + CLSIZE_128B + Cache Line Size is 128 bytes + 0x5 + + + + + + + CFG + Cache Configuration Register + 0x04 + 32 + 0x00000020 + + + ICDIS + Instruction Cache Disable + 1 + 1 + + + DCDIS + Data Cache Disable + 2 + 1 + + + CSIZESW + Cache size configured by software + 4 + 3 + + CSIZESWSelect + + CONF_CSIZE_1KB + the Cache Size is configured to 1KB + 0x0 + + + CONF_CSIZE_2KB + the Cache Size is configured to 2KB + 0x1 + + + CONF_CSIZE_4KB + the Cache Size is configured to 4KB + 0x2 + + + CONF_CSIZE_8KB + the Cache Size is configured to 8KB + 0x3 + + + CONF_CSIZE_16KB + the Cache Size is configured to 16KB + 0x4 + + + CONF_CSIZE_32KB + the Cache Size is configured to 32KB + 0x5 + + + CONF_CSIZE_64KB + the Cache Size is configured to 64KB + 0x6 + + + + + + + CTRL + Cache Control Register + 0x08 + 32 + write-only + + + CEN + Cache Controller Enable + 0 + 1 + + + + + SR + Cache Status Register + 0x0C + 32 + read-only + + + CSTS + Cache Controller Status + 0 + 1 + + + + + LCKWAY + Cache Lock per Way Register + 0x10 + 32 + + + LCKWAY + Lockdown way Register + 0 + 4 + + + + + MAINT0 + Cache Maintenance Register 0 + 0x20 + 32 + write-only + + + INVALL + Cache Controller invalidate All + 0 + 1 + + + + + MAINT1 + Cache Maintenance Register 1 + 0x24 + 32 + write-only + + + INDEX + Invalidate Index + 4 + 8 + + + WAY + Invalidate Way + 28 + 4 + + WAYSelect + + WAY0 + Way 0 is selection for index invalidation + 0x0 + + + WAY1 + Way 1 is selection for index invalidation + 0x1 + + + WAY2 + Way 2 is selection for index invalidation + 0x2 + + + WAY3 + Way 3 is selection for index invalidation + 0x3 + + + + + + + MCFG + Cache Monitor Configuration Register + 0x28 + 32 + + + MODE + Cache Controller Monitor Counter Mode + 0 + 2 + + MODESelect + + CYCLE_COUNT + cycle counter + 0x0 + + + IHIT_COUNT + instruction hit counter + 0x1 + + + DHIT_COUNT + data hit counter + 0x2 + + + + + + + MEN + Cache Monitor Enable Register + 0x2C + 32 + + + MENABLE + Cache Controller Monitor Enable + 0 + 1 + + + + + MCTRL + Cache Monitor Control Register + 0x30 + 32 + write-only + + + SWRST + Cache Controller Software Reset + 0 + 1 + + + + + MSR + Cache Monitor Status Register + 0x34 + 32 + read-only + + + EVENT_CNT + Monitor Event Counter + 0 + 32 + + + + + + + DAC + 1.0.0 + Digital-to-Analog Converter + DAC + DAC_ + 0x43002400 + + 0 + 0x20 + registers + + + DAC_INTREQ_0 + 123 + + + DAC_INTREQ_1 + 124 + + + DAC_INTREQ_2 + 125 + + + DAC_INTREQ_3 + 126 + + + DAC_INTREQ_4 + 127 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable DAC Controller + 1 + 1 + + + + + CTRLB + Control B + 0x01 + 8 + 0x02 + + + DIFF + Differential mode enable + 0 + 1 + + + REFSEL + Reference Selection for DAC0/1 + 1 + 2 + + REFSELSelect + + VREFPU + External reference unbuffered + 0x0 + + + VDDANA + Analog supply + 0x1 + + + VREFPB + External reference buffered + 0x2 + + + INTREF + Internal bandgap reference + 0x3 + + + + + + + EVCTRL + Event Control + 0x02 + 8 + + + STARTEI0 + Start Conversion Event Input DAC 0 + 0 + 1 + + + STARTEI1 + Start Conversion Event Input DAC 1 + 1 + 1 + + + EMPTYEO0 + Data Buffer Empty Event Output DAC 0 + 2 + 1 + + + EMPTYEO1 + Data Buffer Empty Event Output DAC 1 + 3 + 1 + + + INVEI0 + Enable Invertion of DAC 0 input event + 4 + 1 + + + INVEI1 + Enable Invertion of DAC 1 input event + 5 + 1 + + + RESRDYEO0 + Result Ready Event Output 0 + 6 + 1 + + + RESRDYEO1 + Result Ready Event Output 1 + 7 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + UNDERRUN0 + Underrun 0 Interrupt Enable + 0 + 1 + + + UNDERRUN1 + Underrun 1 Interrupt Enable + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty Interrupt Enable + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty Interrupt Enable + 3 + 1 + + + RESRDY0 + Result 0 Ready Interrupt Enable + 4 + 1 + + + RESRDY1 + Result 1 Ready Interrupt Enable + 5 + 1 + + + OVERRUN0 + Overrun 0 Interrupt Enable + 6 + 1 + + + OVERRUN1 + Overrun 1 Interrupt Enable + 7 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + UNDERRUN0 + Underrun 0 Interrupt Enable + 0 + 1 + + + UNDERRUN1 + Underrun 1 Interrupt Enable + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty Interrupt Enable + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty Interrupt Enable + 3 + 1 + + + RESRDY0 + Result 0 Ready Interrupt Enable + 4 + 1 + + + RESRDY1 + Result 1 Ready Interrupt Enable + 5 + 1 + + + OVERRUN0 + Overrun 0 Interrupt Enable + 6 + 1 + + + OVERRUN1 + Overrun 1 Interrupt Enable + 7 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + UNDERRUN0 + Result 0 Underrun + 0 + 1 + + + UNDERRUN1 + Result 1 Underrun + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty + 3 + 1 + + + RESRDY0 + Result 0 Ready + 4 + 1 + + + RESRDY1 + Result 1 Ready + 5 + 1 + + + OVERRUN0 + Result 0 Overrun + 6 + 1 + + + OVERRUN1 + Result 1 Overrun + 7 + 1 + + + + + STATUS + Status + 0x07 + 8 + read-only + + + READY0 + DAC 0 Startup Ready + 0 + 1 + read-only + + + READY1 + DAC 1 Startup Ready + 1 + 1 + read-only + + + EOC0 + DAC 0 End of Conversion + 2 + 1 + read-only + + + EOC1 + DAC 1 End of Conversion + 3 + 1 + read-only + + + + + SYNCBUSY + Synchronization Busy + 0x08 + 32 + read-only + + + SWRST + Software Reset + 0 + 1 + read-only + + + ENABLE + DAC Enable Status + 1 + 1 + read-only + + + DATA0 + Data DAC 0 + 2 + 1 + read-only + + + DATA1 + Data DAC 1 + 3 + 1 + read-only + + + DATABUF0 + Data Buffer DAC 0 + 4 + 1 + read-only + + + DATABUF1 + Data Buffer DAC 1 + 5 + 1 + read-only + + + + + 2 + 0x2 + DACCTRL%s + DAC n Control + 0x0C + 16 + + + LEFTADJ + Left Adjusted Data + 0 + 1 + + + ENABLE + Enable DAC0 + 1 + 1 + + + CCTRL + Current Control + 2 + 2 + + CCTRLSelect + + CC100K + GCLK_DAC <= 1.2MHz (100kSPS) + 0x0 + + + CC1M + 1.2MHz < GCLK_DAC <= 6MHz (500kSPS) + 0x1 + + + CC12M + 6MHz < GCLK_DAC <= 12MHz (1MSPS) + 0x2 + + + + + FEXT + Standalone Filter + 5 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + DITHER + Dithering Mode + 7 + 1 + + + REFRESH + Refresh period + 8 + 4 + + + OSR + Sampling Rate + 13 + 3 + + + + + 2 + 0x2 + DATA%s + DAC n Data + 0x10 + 16 + write-only + + + DATA + DAC0 Data + 0 + 16 + write-only + + + + + 2 + 0x2 + DATABUF%s + DAC n Data Buffer + 0x14 + 16 + write-only + + + DATABUF + DAC0 Data Buffer + 0 + 16 + write-only + + + + + DBGCTRL + Debug Control + 0x18 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + 2 + 0x2 + RESULT%s + Filter Result + 0x1C + 16 + read-only + + + RESULT + Filter Result + 0 + 16 + read-only + + + + + + + DMAC + 1.0.0 + Direct Memory Access Controller + DMAC + DMAC_ + 0x4100A000 + + 0 + 0x400 + registers + + + DMAC_INTREQ_0 + 31 + + + DMAC_INTREQ_1 + 32 + + + DMAC_INTREQ_2 + 33 + + + DMAC_INTREQ_3 + 34 + + + DMAC_INTREQ_4 + 35 + + + + CTRL + Control + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + + + DMAENABLE + DMA Enable + 1 + 1 + + + LVLEN0 + Priority Level 0 Enable + 8 + 1 + + + LVLEN1 + Priority Level 1 Enable + 9 + 1 + + + LVLEN2 + Priority Level 2 Enable + 10 + 1 + + + LVLEN3 + Priority Level 3 Enable + 11 + 1 + + + + + CRCCTRL + CRC Control + 0x02 + 16 + + + CRCBEATSIZE + CRC Beat Size + 0 + 2 + + CRCBEATSIZESelect + + BYTE + 8-bit bus transfer + 0x0 + + + HWORD + 16-bit bus transfer + 0x1 + + + WORD + 32-bit bus transfer + 0x2 + + + + + CRCPOLY + CRC Polynomial Type + 2 + 2 + + CRCPOLYSelect + + CRC16 + CRC-16 (CRC-CCITT) + 0x0 + + + CRC32 + CRC32 (IEEE 802.3) + 0x1 + + + + + CRCSRC + CRC Input Source + 8 + 6 + + CRCSRCSelect + + DISABLE + CRC Disabled + 0x0 + + + IO + I/O interface + 0x1 + + + + + CRCMODE + CRC Operating Mode + 14 + 2 + + CRCMODESelect + + DEFAULT + Default operating mode + 0x0 + + + CRCMON + Memory CRC monitor operating mode + 0x2 + + + CRCGEN + Memory CRC generation operating mode + 0x3 + + + + + + + CRCDATAIN + CRC Data Input + 0x04 + 32 + + + CRCDATAIN + CRC Data Input + 0 + 32 + + + + + CRCCHKSUM + CRC Checksum + 0x08 + 32 + + + CRCCHKSUM + CRC Checksum + 0 + 32 + + + + + CRCSTATUS + CRC Status + 0x0C + 8 + + + CRCBUSY + CRC Module Busy + 0 + 1 + + + CRCZERO + CRC Zero + 1 + 1 + read-only + + + CRCERR + CRC Error + 2 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x0D + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + SWTRIGCTRL + Software Trigger Control + 0x10 + 32 + + + SWTRIG0 + Channel 0 Software Trigger + 0 + 1 + + + SWTRIG1 + Channel 1 Software Trigger + 1 + 1 + + + SWTRIG2 + Channel 2 Software Trigger + 2 + 1 + + + SWTRIG3 + Channel 3 Software Trigger + 3 + 1 + + + SWTRIG4 + Channel 4 Software Trigger + 4 + 1 + + + SWTRIG5 + Channel 5 Software Trigger + 5 + 1 + + + SWTRIG6 + Channel 6 Software Trigger + 6 + 1 + + + SWTRIG7 + Channel 7 Software Trigger + 7 + 1 + + + SWTRIG8 + Channel 8 Software Trigger + 8 + 1 + + + SWTRIG9 + Channel 9 Software Trigger + 9 + 1 + + + SWTRIG10 + Channel 10 Software Trigger + 10 + 1 + + + SWTRIG11 + Channel 11 Software Trigger + 11 + 1 + + + SWTRIG12 + Channel 12 Software Trigger + 12 + 1 + + + SWTRIG13 + Channel 13 Software Trigger + 13 + 1 + + + SWTRIG14 + Channel 14 Software Trigger + 14 + 1 + + + SWTRIG15 + Channel 15 Software Trigger + 15 + 1 + + + SWTRIG16 + Channel 16 Software Trigger + 16 + 1 + + + SWTRIG17 + Channel 17 Software Trigger + 17 + 1 + + + SWTRIG18 + Channel 18 Software Trigger + 18 + 1 + + + SWTRIG19 + Channel 19 Software Trigger + 19 + 1 + + + SWTRIG20 + Channel 20 Software Trigger + 20 + 1 + + + SWTRIG21 + Channel 21 Software Trigger + 21 + 1 + + + SWTRIG22 + Channel 22 Software Trigger + 22 + 1 + + + SWTRIG23 + Channel 23 Software Trigger + 23 + 1 + + + SWTRIG24 + Channel 24 Software Trigger + 24 + 1 + + + SWTRIG25 + Channel 25 Software Trigger + 25 + 1 + + + SWTRIG26 + Channel 26 Software Trigger + 26 + 1 + + + SWTRIG27 + Channel 27 Software Trigger + 27 + 1 + + + SWTRIG28 + Channel 28 Software Trigger + 28 + 1 + + + SWTRIG29 + Channel 29 Software Trigger + 29 + 1 + + + SWTRIG30 + Channel 30 Software Trigger + 30 + 1 + + + SWTRIG31 + Channel 31 Software Trigger + 31 + 1 + + + + + PRICTRL0 + Priority Control 0 + 0x14 + 32 + 0x40404040 + + + LVLPRI0 + Level 0 Channel Priority Number + 0 + 5 + + + QOS0 + Level 0 Quality of Service + 5 + 2 + + QOS0Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN0 + Level 0 Round-Robin Scheduling Enable + 7 + 1 + + + LVLPRI1 + Level 1 Channel Priority Number + 8 + 5 + + + QOS1 + Level 1 Quality of Service + 13 + 2 + + QOS1Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN1 + Level 1 Round-Robin Scheduling Enable + 15 + 1 + + + LVLPRI2 + Level 2 Channel Priority Number + 16 + 5 + + + QOS2 + Level 2 Quality of Service + 21 + 2 + + QOS2Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN2 + Level 2 Round-Robin Scheduling Enable + 23 + 1 + + + LVLPRI3 + Level 3 Channel Priority Number + 24 + 5 + + + QOS3 + Level 3 Quality of Service + 29 + 2 + + QOS3Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN3 + Level 3 Round-Robin Scheduling Enable + 31 + 1 + + + + + INTPEND + Interrupt Pending + 0x20 + 16 + + + ID + Channel ID + 0 + 5 + + + TERR + Transfer Error + 8 + 1 + + + TCMPL + Transfer Complete + 9 + 1 + + + SUSP + Channel Suspend + 10 + 1 + + + CRCERR + CRC Error + 12 + 1 + + + FERR + Fetch Error + 13 + 1 + read-only + + + BUSY + Busy + 14 + 1 + read-only + + + PEND + Pending + 15 + 1 + read-only + + + + + INTSTATUS + Interrupt Status + 0x24 + 32 + read-only + + + CHINT0 + Channel 0 Pending Interrupt + 0 + 1 + read-only + + + CHINT1 + Channel 1 Pending Interrupt + 1 + 1 + read-only + + + CHINT2 + Channel 2 Pending Interrupt + 2 + 1 + read-only + + + CHINT3 + Channel 3 Pending Interrupt + 3 + 1 + read-only + + + CHINT4 + Channel 4 Pending Interrupt + 4 + 1 + read-only + + + CHINT5 + Channel 5 Pending Interrupt + 5 + 1 + read-only + + + CHINT6 + Channel 6 Pending Interrupt + 6 + 1 + read-only + + + CHINT7 + Channel 7 Pending Interrupt + 7 + 1 + read-only + + + CHINT8 + Channel 8 Pending Interrupt + 8 + 1 + read-only + + + CHINT9 + Channel 9 Pending Interrupt + 9 + 1 + read-only + + + CHINT10 + Channel 10 Pending Interrupt + 10 + 1 + read-only + + + CHINT11 + Channel 11 Pending Interrupt + 11 + 1 + read-only + + + CHINT12 + Channel 12 Pending Interrupt + 12 + 1 + read-only + + + CHINT13 + Channel 13 Pending Interrupt + 13 + 1 + read-only + + + CHINT14 + Channel 14 Pending Interrupt + 14 + 1 + read-only + + + CHINT15 + Channel 15 Pending Interrupt + 15 + 1 + read-only + + + CHINT16 + Channel 16 Pending Interrupt + 16 + 1 + read-only + + + CHINT17 + Channel 17 Pending Interrupt + 17 + 1 + read-only + + + CHINT18 + Channel 18 Pending Interrupt + 18 + 1 + read-only + + + CHINT19 + Channel 19 Pending Interrupt + 19 + 1 + read-only + + + CHINT20 + Channel 20 Pending Interrupt + 20 + 1 + read-only + + + CHINT21 + Channel 21 Pending Interrupt + 21 + 1 + read-only + + + CHINT22 + Channel 22 Pending Interrupt + 22 + 1 + read-only + + + CHINT23 + Channel 23 Pending Interrupt + 23 + 1 + read-only + + + CHINT24 + Channel 24 Pending Interrupt + 24 + 1 + read-only + + + CHINT25 + Channel 25 Pending Interrupt + 25 + 1 + read-only + + + CHINT26 + Channel 26 Pending Interrupt + 26 + 1 + read-only + + + CHINT27 + Channel 27 Pending Interrupt + 27 + 1 + read-only + + + CHINT28 + Channel 28 Pending Interrupt + 28 + 1 + read-only + + + CHINT29 + Channel 29 Pending Interrupt + 29 + 1 + read-only + + + CHINT30 + Channel 30 Pending Interrupt + 30 + 1 + read-only + + + CHINT31 + Channel 31 Pending Interrupt + 31 + 1 + read-only + + + + + BUSYCH + Busy Channels + 0x28 + 32 + read-only + + + BUSYCH0 + Busy Channel 0 + 0 + 1 + read-only + + + BUSYCH1 + Busy Channel 1 + 1 + 1 + read-only + + + BUSYCH2 + Busy Channel 2 + 2 + 1 + read-only + + + BUSYCH3 + Busy Channel 3 + 3 + 1 + read-only + + + BUSYCH4 + Busy Channel 4 + 4 + 1 + read-only + + + BUSYCH5 + Busy Channel 5 + 5 + 1 + read-only + + + BUSYCH6 + Busy Channel 6 + 6 + 1 + read-only + + + BUSYCH7 + Busy Channel 7 + 7 + 1 + read-only + + + BUSYCH8 + Busy Channel 8 + 8 + 1 + read-only + + + BUSYCH9 + Busy Channel 9 + 9 + 1 + read-only + + + BUSYCH10 + Busy Channel 10 + 10 + 1 + read-only + + + BUSYCH11 + Busy Channel 11 + 11 + 1 + read-only + + + BUSYCH12 + Busy Channel 12 + 12 + 1 + read-only + + + BUSYCH13 + Busy Channel 13 + 13 + 1 + read-only + + + BUSYCH14 + Busy Channel 14 + 14 + 1 + read-only + + + BUSYCH15 + Busy Channel 15 + 15 + 1 + read-only + + + BUSYCH16 + Busy Channel 16 + 16 + 1 + read-only + + + BUSYCH17 + Busy Channel 17 + 17 + 1 + read-only + + + BUSYCH18 + Busy Channel 18 + 18 + 1 + read-only + + + BUSYCH19 + Busy Channel 19 + 19 + 1 + read-only + + + BUSYCH20 + Busy Channel 20 + 20 + 1 + read-only + + + BUSYCH21 + Busy Channel 21 + 21 + 1 + read-only + + + BUSYCH22 + Busy Channel 22 + 22 + 1 + read-only + + + BUSYCH23 + Busy Channel 23 + 23 + 1 + read-only + + + BUSYCH24 + Busy Channel 24 + 24 + 1 + read-only + + + BUSYCH25 + Busy Channel 25 + 25 + 1 + read-only + + + BUSYCH26 + Busy Channel 26 + 26 + 1 + read-only + + + BUSYCH27 + Busy Channel 27 + 27 + 1 + read-only + + + BUSYCH28 + Busy Channel 28 + 28 + 1 + read-only + + + BUSYCH29 + Busy Channel 29 + 29 + 1 + read-only + + + BUSYCH30 + Busy Channel 30 + 30 + 1 + read-only + + + BUSYCH31 + Busy Channel 31 + 31 + 1 + read-only + + + + + PENDCH + Pending Channels + 0x2C + 32 + read-only + + + PENDCH0 + Pending Channel 0 + 0 + 1 + read-only + + + PENDCH1 + Pending Channel 1 + 1 + 1 + read-only + + + PENDCH2 + Pending Channel 2 + 2 + 1 + read-only + + + PENDCH3 + Pending Channel 3 + 3 + 1 + read-only + + + PENDCH4 + Pending Channel 4 + 4 + 1 + read-only + + + PENDCH5 + Pending Channel 5 + 5 + 1 + read-only + + + PENDCH6 + Pending Channel 6 + 6 + 1 + read-only + + + PENDCH7 + Pending Channel 7 + 7 + 1 + read-only + + + PENDCH8 + Pending Channel 8 + 8 + 1 + read-only + + + PENDCH9 + Pending Channel 9 + 9 + 1 + read-only + + + PENDCH10 + Pending Channel 10 + 10 + 1 + read-only + + + PENDCH11 + Pending Channel 11 + 11 + 1 + read-only + + + PENDCH12 + Pending Channel 12 + 12 + 1 + read-only + + + PENDCH13 + Pending Channel 13 + 13 + 1 + read-only + + + PENDCH14 + Pending Channel 14 + 14 + 1 + read-only + + + PENDCH15 + Pending Channel 15 + 15 + 1 + read-only + + + PENDCH16 + Pending Channel 16 + 16 + 1 + read-only + + + PENDCH17 + Pending Channel 17 + 17 + 1 + read-only + + + PENDCH18 + Pending Channel 18 + 18 + 1 + read-only + + + PENDCH19 + Pending Channel 19 + 19 + 1 + read-only + + + PENDCH20 + Pending Channel 20 + 20 + 1 + read-only + + + PENDCH21 + Pending Channel 21 + 21 + 1 + read-only + + + PENDCH22 + Pending Channel 22 + 22 + 1 + read-only + + + PENDCH23 + Pending Channel 23 + 23 + 1 + read-only + + + PENDCH24 + Pending Channel 24 + 24 + 1 + read-only + + + PENDCH25 + Pending Channel 25 + 25 + 1 + read-only + + + PENDCH26 + Pending Channel 26 + 26 + 1 + read-only + + + PENDCH27 + Pending Channel 27 + 27 + 1 + read-only + + + PENDCH28 + Pending Channel 28 + 28 + 1 + read-only + + + PENDCH29 + Pending Channel 29 + 29 + 1 + read-only + + + PENDCH30 + Pending Channel 30 + 30 + 1 + read-only + + + PENDCH31 + Pending Channel 31 + 31 + 1 + read-only + + + + + ACTIVE + Active Channel and Levels + 0x30 + 32 + read-only + + + LVLEX0 + Level 0 Channel Trigger Request Executing + 0 + 1 + read-only + + + LVLEX1 + Level 1 Channel Trigger Request Executing + 1 + 1 + read-only + + + LVLEX2 + Level 2 Channel Trigger Request Executing + 2 + 1 + read-only + + + LVLEX3 + Level 3 Channel Trigger Request Executing + 3 + 1 + read-only + + + ID + Active Channel ID + 8 + 5 + read-only + + + ABUSY + Active Channel Busy + 15 + 1 + read-only + + + BTCNT + Active Channel Block Transfer Count + 16 + 16 + read-only + + + + + BASEADDR + Descriptor Memory Section Base Address + 0x34 + 32 + + + BASEADDR + Descriptor Memory Base Address + 0 + 32 + + + + + WRBADDR + Write-Back Memory Section Base Address + 0x38 + 32 + + + WRBADDR + Write-Back Memory Base Address + 0 + 32 + + + + + 32 + 0x10 + CHCTRLA%s + Channel n Control A + 0x40 + 32 + + + SWRST + Channel Software Reset + 0 + 1 + + + ENABLE + Channel Enable + 1 + 1 + + + RUNSTDBY + Channel Run in Standby + 6 + 1 + + + TRIGSRC + Trigger Source + 8 + 7 + + TRIGSRCSelect + + DISABLE + Only software/event triggers + 0x0 + + + + + TRIGACT + Trigger Action + 20 + 2 + + TRIGACTSelect + + BLOCK + One trigger required for each block transfer + 0x0 + + + BURST + One trigger required for each burst transfer + 0x2 + + + TRANSACTION + One trigger required for each transaction + 0x3 + + + + + BURSTLEN + Burst Length + 24 + 4 + + BURSTLENSelect + + SINGLE + Single-beat burst length + 0x0 + + + 2BEAT + 2-beats burst length + 0x1 + + + 3BEAT + 3-beats burst length + 0x2 + + + 4BEAT + 4-beats burst length + 0x3 + + + 5BEAT + 5-beats burst length + 0x4 + + + 6BEAT + 6-beats burst length + 0x5 + + + 7BEAT + 7-beats burst length + 0x6 + + + 8BEAT + 8-beats burst length + 0x7 + + + 9BEAT + 9-beats burst length + 0x8 + + + 10BEAT + 10-beats burst length + 0x9 + + + 11BEAT + 11-beats burst length + 0xa + + + 12BEAT + 12-beats burst length + 0xb + + + 13BEAT + 13-beats burst length + 0xc + + + 14BEAT + 14-beats burst length + 0xd + + + 15BEAT + 15-beats burst length + 0xe + + + 16BEAT + 16-beats burst length + 0xf + + + + + THRESHOLD + FIFO Threshold + 28 + 2 + + THRESHOLDSelect + + 1BEAT + Destination write starts after each beat source address read + 0x0 + + + 2BEATS + Destination write starts after 2-beats source address read + 0x1 + + + 4BEATS + Destination write starts after 4-beats source address read + 0x2 + + + 8BEATS + Destination write starts after 8-beats source address read + 0x3 + + + + + + + 32 + 0x10 + CHCTRLB%s + Channel n Control B + 0x44 + 8 + + + CMD + Software Command + 0 + 2 + + CMDSelect + + NOACT + No action + 0x0 + + + SUSPEND + Channel suspend operation + 0x1 + + + RESUME + Channel resume operation + 0x2 + + + + + + + 32 + 0x10 + CHPRILVL%s + Channel n Priority Level + 0x45 + 8 + + + PRILVL + Channel Priority Level + 0 + 2 + + PRILVLSelect + + LVL0 + Channel Priority Level 0 (Lowest Level) + 0x0 + + + LVL1 + Channel Priority Level 1 + 0x1 + + + LVL2 + Channel Priority Level 2 + 0x2 + + + LVL3 + Channel Priority Level 3 + 0x3 + + + LVL4 + Channel Priority Level 4 + 0x4 + + + LVL5 + Channel Priority Level 5 + 0x5 + + + LVL6 + Channel Priority Level 6 + 0x6 + + + LVL7 + Channel Priority Level 7 (Highest Level) + 0x7 + + + + + + + 32 + 0x10 + CHEVCTRL%s + Channel n Event Control + 0x46 + 8 + + + EVACT + Channel Event Input Action + 0 + 3 + + EVACTSelect + + NOACT + No action + 0x0 + + + TRIG + Transfer and periodic transfer trigger + 0x1 + + + CTRIG + Conditional transfer trigger + 0x2 + + + CBLOCK + Conditional block transfer + 0x3 + + + SUSPEND + Channel suspend operation + 0x4 + + + RESUME + Channel resume operation + 0x5 + + + SSKIP + Skip next block suspend action + 0x6 + + + INCPRI + Increase priority + 0x7 + + + + + EVOMODE + Channel Event Output Mode + 4 + 2 + + EVOMODESelect + + DEFAULT + Block event output selection. Refer to BTCTRL.EVOSEL for available selections. + 0x0 + + + TRIGACT + Ongoing trigger action + 0x1 + + + + + EVIE + Channel Event Input Enable + 6 + 1 + + + EVOE + Channel Event Output Enable + 7 + 1 + + + + + 32 + 0x10 + CHINTENCLR%s + Channel n Interrupt Enable Clear + 0x4C + 8 + + + TERR + Channel Transfer Error Interrupt Enable + 0 + 1 + + + TCMPL + Channel Transfer Complete Interrupt Enable + 1 + 1 + + + SUSP + Channel Suspend Interrupt Enable + 2 + 1 + + + + + 32 + 0x10 + CHINTENSET%s + Channel n Interrupt Enable Set + 0x4D + 8 + + + TERR + Channel Transfer Error Interrupt Enable + 0 + 1 + + + TCMPL + Channel Transfer Complete Interrupt Enable + 1 + 1 + + + SUSP + Channel Suspend Interrupt Enable + 2 + 1 + + + + + 32 + 0x10 + CHINTFLAG%s + Channel n Interrupt Flag Status and Clear + 0x4E + 8 + + + TERR + Channel Transfer Error + 0 + 1 + + + TCMPL + Channel Transfer Complete + 1 + 1 + + + SUSP + Channel Suspend + 2 + 1 + + + + + 32 + 0x10 + CHSTATUS%s + Channel n Status + 0x4F + 8 + + + PEND + Channel Pending + 0 + 1 + read-only + + + BUSY + Channel Busy + 1 + 1 + read-only + + + FERR + Channel Fetch Error + 2 + 1 + read-only + + + CRCERR + Channel CRC Error + 3 + 1 + + + + + + + DSU + 1.0.0 + Device Service Unit + DSU + DSU_ + 0x41002000 + + 0 + 0x2000 + registers + + + + CTRL + Control + 0x0000 + 8 + write-only + + + SWRST + Software Reset + 0 + 1 + write-only + + + CRC + 32-bit Cyclic Redundancy Code + 2 + 1 + write-only + + + MBIST + Memory built-in self-test + 3 + 1 + write-only + + + CE + Chip-Erase + 4 + 1 + write-only + + + ARR + Auxiliary Row Read + 6 + 1 + write-only + + + SMSA + Start Memory Stream Access + 7 + 1 + write-only + + + + + STATUSA + Status A + 0x0001 + 8 + + + DONE + Done + 0 + 1 + + + CRSTEXT + CPU Reset Phase Extension + 1 + 1 + + + BERR + Bus Error + 2 + 1 + + + FAIL + Failure + 3 + 1 + + + PERR + Protection Error + 4 + 1 + + + + + STATUSB + Status B + 0x0002 + 8 + read-only + + + PROT + Protected + 0 + 1 + read-only + + + DBGPRES + Debugger Present + 1 + 1 + read-only + + + DCCD0 + Debug Communication Channel 0 Dirty + 2 + 1 + read-only + + + DCCD1 + Debug Communication Channel 1 Dirty + 3 + 1 + read-only + + + HPE + Hot-Plugging Enable + 4 + 1 + read-only + + + CELCK + Chip Erase Locked + 5 + 1 + read-only + + + TDCCD0 + Test Debug Communication Channel 0 Dirty + 6 + 1 + read-only + + + TDCCD1 + Test Debug Communication Channel 1 Dirty + 7 + 1 + read-only + + + + + ADDR + Address + 0x0004 + 32 + + + AMOD + Access Mode + 0 + 2 + + + ADDR + Address + 2 + 30 + + + + + LENGTH + Length + 0x0008 + 32 + + + LENGTH + Length + 2 + 30 + + + + + DATA + Data + 0x000C + 32 + + + DATA + Data + 0 + 32 + + + + + 2 + 0x4 + DCC%s + Debug Communication Channel n + 0x0010 + 32 + + + DATA + Data + 0 + 32 + + + + + DID + Device Identification + 0x0018 + 32 + read-only + 0x61840003 + + + DEVSEL + Device Select + 0 + 8 + read-only + + + REVISION + Revision Number + 8 + 4 + read-only + + + DIE + Die Number + 12 + 4 + read-only + + + SERIES + Series + 16 + 6 + read-only + + SERIESSelect + + 0 + Cortex-M0+ processor, basic feature set + 0x0 + + + 1 + Cortex-M0+ processor, USB + 0x1 + + + + + FAMILY + Family + 23 + 5 + read-only + + FAMILYSelect + + 0 + General purpose microcontroller + 0x0 + + + 1 + PicoPower + 0x1 + + + + + PROCESSOR + Processor + 28 + 4 + read-only + + PROCESSORSelect + + CM0P + Cortex-M0+ + 0x1 + + + CM23 + Cortex-M23 + 0x2 + + + CM3 + Cortex-M3 + 0x3 + + + CM4 + Cortex-M4 + 0x5 + + + CM4F + Cortex-M4 with FPU + 0x6 + + + CM33 + Cortex-M33 + 0x7 + + + + + + + CFG + Configuration + 0x001C + 32 + 0x00000002 + + + LQOS + Latency Quality Of Service + 0 + 2 + + + DCCDMALEVEL + DMA Trigger Level + 2 + 2 + + DCCDMALEVELSelect + + EMPTY + Trigger rises when DCC is empty + 0x0 + + + FULL + Trigger rises when DCC is full + 0x1 + + + + + ETBRAMEN + Trace Control + 4 + 1 + + + + + MBCTRL + MBIST Control + 0x0040 + 32 + + + SWRST + MBIST Software Reset + 0 + 1 + + + ENABLE + MBIST Enable + 1 + 1 + + + + + MBCONFIG + MBIST Configuration + 0x0044 + 32 + + + ALGO + MBIST Algorithm + 0 + 5 + + ALGOSelect + + MEMCLEAR + Memory Clear (1n) + 0x0 + + + VERIFY + Memory Verify (1n) + 0x1 + + + CLEARVER + Memory Clear and Verify (2n) + 0x2 + + + ADDR_DEC + Address Decoder (2n) + 0x3 + + + MARCH_LR + March LR (14n) + 0x4 + + + MARCH_SR + March SR (14n) + 0x5 + + + MARCH_SS + March SS (22n) + 0x6 + + + CRC_UP + CRC increasing address (1n) + 0x8 + + + CRC_DOWN + CRC decreasing address (1n) + 0x9 + + + + + DEFRDMARGIN + Force Default Read Margin + 6 + 1 + + + DBG + Enable Debug Mode + 7 + 1 + + + + + MBWORD + MBIST Background Word + 0x0048 + 32 + + + DATA + MBIST Background Word + 0 + 32 + + + + + MBGSTAT + MBIST Global Status + 0x004C + 32 + + + ALLDONE + MBIST Completed + 0 + 1 + + + FAILED + MBIST Failed + 1 + 1 + + + ERRINFO + MBIST Error Info Present + 2 + 1 + + + CONFIGURED + MBIST Configuration Sent + 3 + 1 + + + + + MBDFAIL + MBIST Fail Data + 0x0050 + 32 + read-only + + + DATA + Error Data Read + 0 + 32 + + + + + MBDEXP + MBIST Expected Data + 0x0054 + 32 + read-only + + + DATA + Expected Data + 0 + 32 + + + + + MBAFAIL + MBIST Fail Address + 0x0058 + 32 + read-only + + + ADDR + Error Address + 0 + 14 + + + + + MBCONTEXT + MBIST Fail Context + 0x005C + 32 + read-only + + + SUBSTEP + Algorithm Sub-step + 0 + 5 + + SUBSTEPSelect + + R0_1 + 0x1 + + + R1_1 + 0x3 + + + R0_2 + 0x5 + + + R1_2 + 0x7 + + + R0_3 + 0x9 + + + R1_3 + 0xb + + + + + STEP + Algorithm Step + 5 + 5 + + STEPSelect + + DOWN_R0W1 + 0x2 + + + UP_R1W0R0W1 + 0x3 + + + UP_R1W0 + 0x4 + + + UP_R0W1R1W0 + 0x5 + + + UP_R0 + 0x6 + + + UP_R0R0W0R0W1 + 0x7 + + + UP_R1R1W1R1W0 + 0x8 + + + DOWN_R0R0W0R0W1 + 0x9 + + + DOWN_R1R1W1R1W0 + 0xa + + + UP_R0R0 + 0xc + + + DOWN_R1W0R0W1 + 0xe + + + DOWN_R1R1 + 0xf + + + + + PORT + DPRAM Port Index + 10 + 1 + + + + + MBENABLE0 + MBIST Memory Enable 0 + 0x0060 + 32 + + + ENABLE0 + Memory 0 MBIST Enable + 0 + 1 + + + ENABLE1 + Memory 1 MBIST Enable + 1 + 1 + + + ENABLE2 + Memory 2 MBIST Enable + 2 + 1 + + + ENABLE3 + Memory 3 MBIST Enable + 3 + 1 + + + ENABLE4 + Memory 4 MBIST Enable + 4 + 1 + + + ENABLE5 + Memory 5 MBIST Enable + 5 + 1 + + + ENABLE6 + Memory 6 MBIST Enable + 6 + 1 + + + ENABLE7 + Memory 7 MBIST Enable + 7 + 1 + + + ENABLE8 + Memory 8 MBIST Enable + 8 + 1 + + + ENABLE9 + Memory 9 MBIST Enable + 9 + 1 + + + ENABLE10 + Memory 10 MBIST Enable + 10 + 1 + + + ENABLE11 + Memory 11 MBIST Enable + 11 + 1 + + + ENABLE12 + Memory 12 MBIST Enable + 12 + 1 + + + ENABLE13 + Memory 13 MBIST Enable + 13 + 1 + + + ENABLE14 + Memory 14 MBIST Enable + 14 + 1 + + + ENABLE15 + Memory 15 MBIST Enable + 15 + 1 + + + ENABLE16 + Memory 16 MBIST Enable + 16 + 1 + + + ENABLE17 + Memory 17 MBIST Enable + 17 + 1 + + + ENABLE18 + Memory 18 MBIST Enable + 18 + 1 + + + ENABLE19 + Memory 19 MBIST Enable + 19 + 1 + + + ENABLE20 + Memory 20 MBIST Enable + 20 + 1 + + + ENABLE21 + Memory 21 MBIST Enable + 21 + 1 + + + ENABLE22 + Memory 22 MBIST Enable + 22 + 1 + + + ENABLE23 + Memory 23 MBIST Enable + 23 + 1 + + + ENABLE24 + Memory 24 MBIST Enable + 24 + 1 + + + ENABLE25 + Memory 25 MBIST Enable + 25 + 1 + + + ENABLE26 + Memory 26 MBIST Enable + 26 + 1 + + + ENABLE27 + Memory 27 MBIST Enable + 27 + 1 + + + ENABLE28 + Memory 28 MBIST Enable + 28 + 1 + + + + + MBBUSY0 + MBIST Memory Busy 0 + 0x0068 + 32 + read-only + + + BUSY0 + Memory 0 BIST Busy + 0 + 1 + + + BUSY1 + Memory 1 BIST Busy + 1 + 1 + + + BUSY2 + Memory 2 BIST Busy + 2 + 1 + + + BUSY3 + Memory 3 BIST Busy + 3 + 1 + + + BUSY4 + Memory 4 BIST Busy + 4 + 1 + + + BUSY5 + Memory 5 BIST Busy + 5 + 1 + + + BUSY6 + Memory 6 BIST Busy + 6 + 1 + + + BUSY7 + Memory 7 BIST Busy + 7 + 1 + + + BUSY8 + Memory 8 BIST Busy + 8 + 1 + + + BUSY9 + Memory 9 BIST Busy + 9 + 1 + + + BUSY10 + Memory 10 BIST Busy + 10 + 1 + + + BUSY11 + Memory 11 BIST Busy + 11 + 1 + + + BUSY12 + Memory 12 BIST Busy + 12 + 1 + + + BUSY13 + Memory 13 BIST Busy + 13 + 1 + + + BUSY14 + Memory 14 BIST Busy + 14 + 1 + + + BUSY15 + Memory 15 BIST Busy + 15 + 1 + + + BUSY16 + Memory 16 BIST Busy + 16 + 1 + + + BUSY17 + Memory 17 BIST Busy + 17 + 1 + + + BUSY18 + Memory 18 BIST Busy + 18 + 1 + + + BUSY19 + Memory 19 BIST Busy + 19 + 1 + + + BUSY20 + Memory 20 BIST Busy + 20 + 1 + + + BUSY21 + Memory 21 BIST Busy + 21 + 1 + + + BUSY22 + Memory 22 BIST Busy + 22 + 1 + + + BUSY23 + Memory 23 BIST Busy + 23 + 1 + + + BUSY24 + Memory 24 BIST Busy + 24 + 1 + + + BUSY25 + Memory 25 BIST Busy + 25 + 1 + + + BUSY26 + Memory 26 BIST Busy + 26 + 1 + + + BUSY27 + Memory 27 BIST Busy + 27 + 1 + + + BUSY28 + Memory 28 BIST Busy + 28 + 1 + + + + + MBSTATUS0 + MBIST Memory Status 0 + 0x0070 + 32 + + + STATUS0 + Memory 0 MBIST Status + 0 + 1 + + + STATUS1 + Memory 1 MBIST Status + 1 + 1 + + + STATUS2 + Memory 2 MBIST Status + 2 + 1 + + + STATUS3 + Memory 3 MBIST Status + 3 + 1 + + + STATUS4 + Memory 4 MBIST Status + 4 + 1 + + + STATUS5 + Memory 5 MBIST Status + 5 + 1 + + + STATUS6 + Memory 6 MBIST Status + 6 + 1 + + + STATUS7 + Memory 7 MBIST Status + 7 + 1 + + + STATUS8 + Memory 8 MBIST Status + 8 + 1 + + + STATUS9 + Memory 9 MBIST Status + 9 + 1 + + + STATUS10 + Memory 10 MBIST Status + 10 + 1 + + + STATUS11 + Memory 11 MBIST Status + 11 + 1 + + + STATUS12 + Memory 12 MBIST Status + 12 + 1 + + + STATUS13 + Memory 13 MBIST Status + 13 + 1 + + + STATUS14 + Memory 14 MBIST Status + 14 + 1 + + + STATUS15 + Memory 15 MBIST Status + 15 + 1 + + + STATUS16 + Memory 16 MBIST Status + 16 + 1 + + + STATUS17 + Memory 17 MBIST Status + 17 + 1 + + + STATUS18 + Memory 18 MBIST Status + 18 + 1 + + + STATUS19 + Memory 19 MBIST Status + 19 + 1 + + + STATUS20 + Memory 20 MBIST Status + 20 + 1 + + + STATUS21 + Memory 21 MBIST Status + 21 + 1 + + + STATUS22 + Memory 22 MBIST Status + 22 + 1 + + + STATUS23 + Memory 23 MBIST Status + 23 + 1 + + + STATUS24 + Memory 24 MBIST Status + 24 + 1 + + + STATUS25 + Memory 25 MBIST Status + 25 + 1 + + + STATUS26 + Memory 26 MBIST Status + 26 + 1 + + + STATUS27 + Memory 27 MBIST Status + 27 + 1 + + + STATUS28 + Memory 28 MBIST Status + 28 + 1 + + + + + 2 + 0x4 + DCFG%s + Device Configuration + 0x00F0 + 32 + + + DCFG + Device Configuration + 0 + 32 + + + + + ENTRY0 + CoreSight ROM Table Entry 0 + 0x1000 + 32 + read-only + 0x9F0FC002 + + + EPRES + Entry Present + 0 + 1 + + + FMT + Format + 1 + 1 + read-only + + + ADDOFF + Address Offset + 12 + 20 + read-only + + + + + ENTRY1 + CoreSight ROM Table Entry 1 + 0x1004 + 32 + read-only + + + END + CoreSight ROM Table End + 0x1008 + 32 + read-only + + + END + End Marker + 0 + 32 + + + + + MEMTYPE + CoreSight ROM Table Memory Type + 0x1FCC + 32 + read-only + + + SMEMP + System Memory Present + 0 + 1 + + + + + PID4 + Peripheral Identification 4 + 0x1FD0 + 32 + read-only + + + JEPCC + JEP-106 Continuation Code + 0 + 4 + + + FKBC + 4KB count + 4 + 4 + read-only + + + + + PID5 + Peripheral Identification 5 + 0x1FD4 + 32 + read-only + + + PID6 + Peripheral Identification 6 + 0x1FD8 + 32 + read-only + + + PID7 + Peripheral Identification 7 + 0x1FDC + 32 + read-only + + + PID0 + Peripheral Identification 0 + 0x1FE0 + 32 + read-only + 0x000000D0 + + + PARTNBL + Part Number Low + 0 + 8 + + + + + PID1 + Peripheral Identification 1 + 0x1FE4 + 32 + read-only + 0x000000FC + + + PARTNBH + Part Number High + 0 + 4 + + + JEPIDCL + Low part of the JEP-106 Identity Code + 4 + 4 + read-only + + + + + PID2 + Peripheral Identification 2 + 0x1FE8 + 32 + read-only + 0x00000009 + + + JEPIDCH + JEP-106 Identity Code High + 0 + 3 + + + JEPU + JEP-106 Identity Code is used + 3 + 1 + read-only + + + REVISION + Revision Number + 4 + 4 + read-only + + + + + PID3 + Peripheral Identification 3 + 0x1FEC + 32 + read-only + + + CUSMOD + ARM CUSMOD + 0 + 4 + + + REVAND + Revision Number + 4 + 4 + read-only + + + + + CID0 + Component Identification 0 + 0x1FF0 + 32 + read-only + 0x0000000D + + + PREAMBLEB0 + Preamble Byte 0 + 0 + 8 + read-only + + + + + CID1 + Component Identification 1 + 0x1FF4 + 32 + read-only + 0x00000010 + + + PREAMBLE + Preamble + 0 + 4 + read-only + + + CCLASS + Component Class + 4 + 4 + read-only + + + + + CID2 + Component Identification 2 + 0x1FF8 + 32 + read-only + 0x00000005 + + + PREAMBLEB2 + Preamble Byte 2 + 0 + 8 + read-only + + + + + CID3 + Component Identification 3 + 0x1FFC + 32 + read-only + 0x000000B1 + + + PREAMBLEB3 + Preamble Byte 3 + 0 + 8 + + + + + + + EIC + 3.0.0 + External Interrupt Controller + EIC + EIC_ + 0x40002800 + + 0 + 0x40 + registers + + + EIC_INTREQ_0 + 12 + + + EIC_INTREQ_1 + 13 + + + EIC_INTREQ_2 + 14 + + + EIC_INTREQ_3 + 15 + + + EIC_INTREQ_4 + 16 + + + EIC_INTREQ_5 + 17 + + + EIC_INTREQ_6 + 18 + + + EIC_INTREQ_7 + 19 + + + EIC_INTREQ_8 + 20 + + + EIC_INTREQ_9 + 21 + + + EIC_INTREQ_10 + 22 + + + EIC_INTREQ_11 + 23 + + + EIC_INTREQ_12 + 24 + + + EIC_INTREQ_13 + 25 + + + EIC_INTREQ_14 + 26 + + + EIC_INTREQ_15 + 27 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + CKSEL + Clock Selection + 4 + 1 + + + + + NMICTRL + Non-Maskable Interrupt Control + 0x01 + 8 + + + NMISENSE + Non-Maskable Interrupt Sense Configuration + 0 + 3 + + NMISENSESelect + + NONE + No detection + 0x0 + + + RISE + Rising-edge detection + 0x1 + + + FALL + Falling-edge detection + 0x2 + + + BOTH + Both-edges detection + 0x3 + + + HIGH + High-level detection + 0x4 + + + LOW + Low-level detection + 0x5 + + + + + NMIFILTEN + Non-Maskable Interrupt Filter Enable + 3 + 1 + + + NMIASYNCH + Asynchronous Edge Detection Mode + 4 + 1 + + + + + NMIFLAG + Non-Maskable Interrupt Flag Status and Clear + 0x02 + 16 + + + NMI + Non-Maskable Interrupt + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x04 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy Status + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy Status + 1 + 1 + read-only + + + + + EVCTRL + Event Control + 0x08 + 32 + + + EXTINTEO + External Interrupt Event Output Enable + 0 + 16 + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 32 + + + EXTINT + External Interrupt Enable + 0 + 16 + + + + + INTENSET + Interrupt Enable Set + 0x10 + 32 + + + EXTINT + External Interrupt Enable + 0 + 16 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x14 + 32 + + + EXTINT + External Interrupt + 0 + 16 + + + + + ASYNCH + External Interrupt Asynchronous Mode + 0x18 + 32 + + + ASYNCH + Asynchronous Edge Detection Mode + 0 + 16 + + + + + 2 + 0x4 + CONFIG%s + External Interrupt Sense Configuration + 0x1C + 32 + + + SENSE0 + Input Sense Configuration 0 + 0 + 3 + + SENSE0Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN0 + Filter Enable 0 + 3 + 1 + + + SENSE1 + Input Sense Configuration 1 + 4 + 3 + + SENSE1Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN1 + Filter Enable 1 + 7 + 1 + + + SENSE2 + Input Sense Configuration 2 + 8 + 3 + + SENSE2Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN2 + Filter Enable 2 + 11 + 1 + + + SENSE3 + Input Sense Configuration 3 + 12 + 3 + + SENSE3Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN3 + Filter Enable 3 + 15 + 1 + + + SENSE4 + Input Sense Configuration 4 + 16 + 3 + + SENSE4Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN4 + Filter Enable 4 + 19 + 1 + + + SENSE5 + Input Sense Configuration 5 + 20 + 3 + + SENSE5Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN5 + Filter Enable 5 + 23 + 1 + + + SENSE6 + Input Sense Configuration 6 + 24 + 3 + + SENSE6Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN6 + Filter Enable 6 + 27 + 1 + + + SENSE7 + Input Sense Configuration 7 + 28 + 3 + + SENSE7Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN7 + Filter Enable 7 + 31 + 1 + + + + + DEBOUNCEN + Debouncer Enable + 0x30 + 32 + + + DEBOUNCEN + Debouncer Enable + 0 + 16 + + + + + DPRESCALER + Debouncer Prescaler + 0x34 + 32 + + + PRESCALER0 + Debouncer Prescaler + 0 + 3 + + + PRESCALER1 + Debouncer Prescaler + 4 + 3 + + + STATES0 + Debouncer number of states + 3 + 1 + + + STATES1 + Debouncer number of states + 7 + 1 + + + TICKON + Pin Sampler frequency selection + 16 + 1 + + + + + PINSTATE + Pin State + 0x38 + 32 + read-only + + + PINSTATE + Pin State + 0 + 16 + read-only + + + + + + + EVSYS + 1.0.0 + Event System Interface + EVSYS + EVSYS_ + 0x4100E000 + + 0 + 0x400 + registers + + + EVSYS_INTREQ_0 + 36 + + + EVSYS_INTREQ_1 + 37 + + + EVSYS_INTREQ_2 + 38 + + + EVSYS_INTREQ_3 + 39 + + + EVSYS_INTREQ_4 + 40 + + + + CTRLA + Control + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + + + SWEVT + Software Event + 0x004 + 32 + write-only + + + CHANNEL0 + Channel 0 Software Selection + 0 + 1 + write-only + + + CHANNEL1 + Channel 1 Software Selection + 1 + 1 + write-only + + + CHANNEL2 + Channel 2 Software Selection + 2 + 1 + write-only + + + CHANNEL3 + Channel 3 Software Selection + 3 + 1 + write-only + + + CHANNEL4 + Channel 4 Software Selection + 4 + 1 + write-only + + + CHANNEL5 + Channel 5 Software Selection + 5 + 1 + write-only + + + CHANNEL6 + Channel 6 Software Selection + 6 + 1 + write-only + + + CHANNEL7 + Channel 7 Software Selection + 7 + 1 + write-only + + + CHANNEL8 + Channel 8 Software Selection + 8 + 1 + write-only + + + CHANNEL9 + Channel 9 Software Selection + 9 + 1 + write-only + + + CHANNEL10 + Channel 10 Software Selection + 10 + 1 + write-only + + + CHANNEL11 + Channel 11 Software Selection + 11 + 1 + write-only + + + CHANNEL12 + Channel 12 Software Selection + 12 + 1 + write-only + + + CHANNEL13 + Channel 13 Software Selection + 13 + 1 + write-only + + + CHANNEL14 + Channel 14 Software Selection + 14 + 1 + write-only + + + CHANNEL15 + Channel 15 Software Selection + 15 + 1 + write-only + + + CHANNEL16 + Channel 16 Software Selection + 16 + 1 + write-only + + + CHANNEL17 + Channel 17 Software Selection + 17 + 1 + write-only + + + CHANNEL18 + Channel 18 Software Selection + 18 + 1 + write-only + + + CHANNEL19 + Channel 19 Software Selection + 19 + 1 + write-only + + + CHANNEL20 + Channel 20 Software Selection + 20 + 1 + write-only + + + CHANNEL21 + Channel 21 Software Selection + 21 + 1 + write-only + + + CHANNEL22 + Channel 22 Software Selection + 22 + 1 + write-only + + + CHANNEL23 + Channel 23 Software Selection + 23 + 1 + write-only + + + CHANNEL24 + Channel 24 Software Selection + 24 + 1 + write-only + + + CHANNEL25 + Channel 25 Software Selection + 25 + 1 + write-only + + + CHANNEL26 + Channel 26 Software Selection + 26 + 1 + write-only + + + CHANNEL27 + Channel 27 Software Selection + 27 + 1 + write-only + + + CHANNEL28 + Channel 28 Software Selection + 28 + 1 + write-only + + + CHANNEL29 + Channel 29 Software Selection + 29 + 1 + write-only + + + CHANNEL30 + Channel 30 Software Selection + 30 + 1 + write-only + + + CHANNEL31 + Channel 31 Software Selection + 31 + 1 + write-only + + + + + PRICTRL + Priority Control + 0x008 + 8 + + + PRI + Channel Priority Number + 0 + 4 + + + RREN + Round-Robin Scheduling Enable + 7 + 1 + + + + + INTPEND + Channel Pending Interrupt + 0x010 + 16 + 0x4000 + + + ID + Channel ID + 0 + 4 + + + OVR + Channel Overrun + 8 + 1 + + + EVD + Channel Event Detected + 9 + 1 + + + READY + Ready + 14 + 1 + read-only + + + BUSY + Busy + 15 + 1 + read-only + + + + + INTSTATUS + Interrupt Status + 0x014 + 32 + read-only + + + CHINT0 + Channel 0 Pending Interrupt + 0 + 1 + read-only + + + CHINT1 + Channel 1 Pending Interrupt + 1 + 1 + read-only + + + CHINT2 + Channel 2 Pending Interrupt + 2 + 1 + read-only + + + CHINT3 + Channel 3 Pending Interrupt + 3 + 1 + read-only + + + CHINT4 + Channel 4 Pending Interrupt + 4 + 1 + read-only + + + CHINT5 + Channel 5 Pending Interrupt + 5 + 1 + read-only + + + CHINT6 + Channel 6 Pending Interrupt + 6 + 1 + read-only + + + CHINT7 + Channel 7 Pending Interrupt + 7 + 1 + read-only + + + CHINT8 + Channel 8 Pending Interrupt + 8 + 1 + read-only + + + CHINT9 + Channel 9 Pending Interrupt + 9 + 1 + read-only + + + CHINT10 + Channel 10 Pending Interrupt + 10 + 1 + read-only + + + CHINT11 + Channel 11 Pending Interrupt + 11 + 1 + read-only + + + + + BUSYCH + Busy Channels + 0x018 + 32 + read-only + + + BUSYCH0 + Busy Channel 0 + 0 + 1 + + + BUSYCH1 + Busy Channel 1 + 1 + 1 + + + BUSYCH2 + Busy Channel 2 + 2 + 1 + + + BUSYCH3 + Busy Channel 3 + 3 + 1 + + + BUSYCH4 + Busy Channel 4 + 4 + 1 + + + BUSYCH5 + Busy Channel 5 + 5 + 1 + + + BUSYCH6 + Busy Channel 6 + 6 + 1 + + + BUSYCH7 + Busy Channel 7 + 7 + 1 + + + BUSYCH8 + Busy Channel 8 + 8 + 1 + + + BUSYCH9 + Busy Channel 9 + 9 + 1 + + + BUSYCH10 + Busy Channel 10 + 10 + 1 + + + BUSYCH11 + Busy Channel 11 + 11 + 1 + + + + + READYUSR + Ready Users + 0x01C + 32 + read-only + 0xFFFFFFFF + + + READYUSR0 + Ready User for Channel 0 + 0 + 1 + read-only + + + READYUSR1 + Ready User for Channel 1 + 1 + 1 + read-only + + + READYUSR2 + Ready User for Channel 2 + 2 + 1 + read-only + + + READYUSR3 + Ready User for Channel 3 + 3 + 1 + read-only + + + READYUSR4 + Ready User for Channel 4 + 4 + 1 + read-only + + + READYUSR5 + Ready User for Channel 5 + 5 + 1 + read-only + + + READYUSR6 + Ready User for Channel 6 + 6 + 1 + read-only + + + READYUSR7 + Ready User for Channel 7 + 7 + 1 + read-only + + + READYUSR8 + Ready User for Channel 8 + 8 + 1 + read-only + + + READYUSR9 + Ready User for Channel 9 + 9 + 1 + read-only + + + READYUSR10 + Ready User for Channel 10 + 10 + 1 + read-only + + + READYUSR11 + Ready User for Channel 11 + 11 + 1 + read-only + + + + + 32 + 0x8 + CHANNEL%s + Channel n Control + 0x020 + 32 + 0x00008000 + + + EVGEN + Event Generator Selection + 0 + 7 + + + PATH + Path Selection + 8 + 2 + + PATHSelect + + SYNCHRONOUS + Synchronous path + 0x0 + + + RESYNCHRONIZED + Resynchronized path + 0x1 + + + ASYNCHRONOUS + Asynchronous path + 0x2 + + + + + EDGSEL + Edge Detection Selection + 10 + 2 + + EDGSELSelect + + NO_EVT_OUTPUT + No event output when using the resynchronized or synchronous path + 0x0 + + + RISING_EDGE + Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path + 0x1 + + + FALLING_EDGE + Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path + 0x2 + + + BOTH_EDGES + Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path + 0x3 + + + + + RUNSTDBY + Run in standby + 14 + 1 + + + ONDEMAND + Generic Clock On Demand + 15 + 1 + + + + + 32 + 0x8 + CHINTENCLR%s + Channel n Interrupt Enable Clear + 0x024 + 8 + + + OVR + Channel Overrun Interrupt Disable + 0 + 1 + + + EVD + Channel Event Detected Interrupt Disable + 1 + 1 + + + + + 32 + 0x8 + CHINTENSET%s + Channel n Interrupt Enable Set + 0x025 + 8 + + + OVR + Channel Overrun Interrupt Enable + 0 + 1 + + + EVD + Channel Event Detected Interrupt Enable + 1 + 1 + + + + + 32 + 0x8 + CHINTFLAG%s + Channel n Interrupt Flag Status and Clear + 0x026 + 8 + + + OVR + Channel Overrun + 0 + 1 + + + EVD + Channel Event Detected + 1 + 1 + + + + + 32 + 0x8 + CHSTATUS%s + Channel n Status + 0x027 + 8 + read-only + 0x01 + + + RDYUSR + Ready User + 0 + 1 + read-only + + + BUSYCH + Busy Channel + 1 + 1 + read-only + + + + + 67 + 0x4 + USER%s + User Multiplexer n + 0x120 + 32 + + + CHANNEL + Channel Event Selection + 0 + 6 + + + + + + + FREQM + 1.1.0 + Frequency Meter + FREQM + FREQM_ + 0x40002C00 + + 0 + 0x20 + registers + + + FREQM_INTREQ + 28 + + + + CTRLA + Control A Register + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + + + CTRLB + Control B Register + 0x01 + 8 + write-only + + + START + Start Measurement + 0 + 1 + write-only + + + + + CFGA + Config A register + 0x02 + 16 + + + REFNUM + Number of Reference Clock Cycles + 0 + 8 + + + + + INTENCLR + Interrupt Enable Clear Register + 0x08 + 8 + + + DONE + Measurement Done Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set Register + 0x09 + 8 + + + DONE + Measurement Done Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Register + 0x0A + 8 + + + DONE + Measurement Done + 0 + 1 + + + + + STATUS + Status Register + 0x0B + 8 + + + BUSY + FREQM Status + 0 + 1 + read-only + + + OVF + Sticky Count Value Overflow + 1 + 1 + + + + + SYNCBUSY + Synchronization Busy Register + 0x0C + 32 + read-only + + + SWRST + Software Reset + 0 + 1 + read-only + + + ENABLE + Enable + 1 + 1 + read-only + + + + + VALUE + Count Value Register + 0x10 + 32 + read-only + + + VALUE + Measurement Value + 0 + 24 + read-only + + + + + + + GCLK + 1.2.0 + Generic Clock Generator + GCLK + GCLK_ + 0x40001C00 + + 0 + 0x400 + registers + + + + CTRLA + Control + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x04 + 32 + read-only + + + SWRST + Software Reset Synchroniation Busy bit + 0 + 1 + read-only + + + GENCTRL0 + Generic Clock Generator Control 0 Synchronization Busy bits + 2 + 1 + read-only + + GENCTRL0Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL1 + Generic Clock Generator Control 1 Synchronization Busy bits + 3 + 1 + read-only + + GENCTRL1Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL2 + Generic Clock Generator Control 2 Synchronization Busy bits + 4 + 1 + read-only + + GENCTRL2Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL3 + Generic Clock Generator Control 3 Synchronization Busy bits + 5 + 1 + read-only + + GENCTRL3Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL4 + Generic Clock Generator Control 4 Synchronization Busy bits + 6 + 1 + read-only + + GENCTRL4Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL5 + Generic Clock Generator Control 5 Synchronization Busy bits + 7 + 1 + read-only + + GENCTRL5Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL6 + Generic Clock Generator Control 6 Synchronization Busy bits + 8 + 1 + read-only + + GENCTRL6Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL7 + Generic Clock Generator Control 7 Synchronization Busy bits + 9 + 1 + read-only + + GENCTRL7Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL8 + Generic Clock Generator Control 8 Synchronization Busy bits + 10 + 1 + read-only + + GENCTRL8Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL9 + Generic Clock Generator Control 9 Synchronization Busy bits + 11 + 1 + read-only + + GENCTRL9Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL10 + Generic Clock Generator Control 10 Synchronization Busy bits + 12 + 1 + read-only + + GENCTRL10Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL11 + Generic Clock Generator Control 11 Synchronization Busy bits + 13 + 1 + read-only + + GENCTRL11Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + + + 12 + 0x4 + GENCTRL%s + Generic Clock Generator Control + 0x20 + 32 + + + SRC + Source Select + 0 + 4 + + SRCSelect + + XOSC0 + XOSC0 oscillator output + 0x0 + + + XOSC1 + XOSC1 oscillator output + 0x1 + + + GCLKIN + Generator input pad + 0x2 + + + GCLKGEN1 + Generic clock generator 1 output + 0x3 + + + OSCULP32K + OSCULP32K oscillator output + 0x4 + + + XOSC32K + XOSC32K oscillator output + 0x5 + + + DFLL + DFLL output + 0x6 + + + DPLL0 + DPLL0 output + 0x7 + + + DPLL1 + DPLL1 output + 0x8 + + + + + GENEN + Generic Clock Generator Enable + 8 + 1 + + + IDC + Improve Duty Cycle + 9 + 1 + + + OOV + Output Off Value + 10 + 1 + + + OE + Output Enable + 11 + 1 + + + DIVSEL + Divide Selection + 12 + 1 + + + RUNSTDBY + Run in Standby + 13 + 1 + + + DIV + Division Factor + 16 + 16 + + + + + 48 + 0x4 + PCHCTRL%s + Peripheral Clock Control + 0x80 + 32 + + + GEN + Generic Clock Generator + 0 + 4 + + GENSelect + + GCLK0 + Generic clock generator 0 + 0x0 + + + GCLK1 + Generic clock generator 1 + 0x1 + + + GCLK2 + Generic clock generator 2 + 0x2 + + + GCLK3 + Generic clock generator 3 + 0x3 + + + GCLK4 + Generic clock generator 4 + 0x4 + + + GCLK5 + Generic clock generator 5 + 0x5 + + + GCLK6 + Generic clock generator 6 + 0x6 + + + GCLK7 + Generic clock generator 7 + 0x7 + + + GCLK8 + Generic clock generator 8 + 0x8 + + + GCLK9 + Generic clock generator 9 + 0x9 + + + GCLK10 + Generic clock generator 10 + 0xa + + + GCLK11 + Generic clock generator 11 + 0xb + + + + + CHEN + Channel Enable + 6 + 1 + + + WRTLOCK + Write Lock + 7 + 1 + + + + + + + GMAC + 1.0.0 + Ethernet MAC + GMAC + GMAC_ + 0x42000800 + + 0 + 0x280 + registers + + + GMAC_INTREQ + 84 + + + + NCR + Network Control Register + 0x000 + 32 + + + LBL + Loop Back Local + 1 + 1 + + + RXEN + Receive Enable + 2 + 1 + + + TXEN + Transmit Enable + 3 + 1 + + + MPE + Management Port Enable + 4 + 1 + + + CLRSTAT + Clear Statistics Registers + 5 + 1 + + + INCSTAT + Increment Statistics Registers + 6 + 1 + + + WESTAT + Write Enable for Statistics Registers + 7 + 1 + + + BP + Back pressure + 8 + 1 + + + TSTART + Start Transmission + 9 + 1 + + + THALT + Transmit Halt + 10 + 1 + + + TXPF + Transmit Pause Frame + 11 + 1 + + + TXZQPF + Transmit Zero Quantum Pause Frame + 12 + 1 + + + SRTSM + Store Receive Time Stamp to Memory + 15 + 1 + + + ENPBPR + Enable PFC Priority-based Pause Reception + 16 + 1 + + + TXPBPF + Transmit PFC Priority-based Pause Frame + 17 + 1 + + + FNP + Flush Next Packet + 18 + 1 + + + LPI + Low Power Idle Enable + 19 + 1 + + + + + NCFGR + Network Configuration Register + 0x004 + 32 + 0x00080000 + + + SPD + Speed + 0 + 1 + + + FD + Full Duplex + 1 + 1 + + + DNVLAN + Discard Non-VLAN FRAMES + 2 + 1 + + + JFRAME + Jumbo Frame Size + 3 + 1 + + + CAF + Copy All Frames + 4 + 1 + + + NBC + No Broadcast + 5 + 1 + + + MTIHEN + Multicast Hash Enable + 6 + 1 + + + UNIHEN + Unicast Hash Enable + 7 + 1 + + + MAXFS + 1536 Maximum Frame Size + 8 + 1 + + + RTY + Retry Test + 12 + 1 + + + PEN + Pause Enable + 13 + 1 + + + RXBUFO + Receive Buffer Offset + 14 + 2 + + + LFERD + Length Field Error Frame Discard + 16 + 1 + + + RFCS + Remove FCS + 17 + 1 + + + CLK + MDC CLock Division + 18 + 3 + + + DBW + Data Bus Width + 21 + 2 + + + DCPF + Disable Copy of Pause Frames + 23 + 1 + + + RXCOEN + Receive Checksum Offload Enable + 24 + 1 + + + EFRHD + Enable Frames Received in Half Duplex + 25 + 1 + + + IRXFCS + Ignore RX FCS + 26 + 1 + + + IPGSEN + IP Stretch Enable + 28 + 1 + + + RXBP + Receive Bad Preamble + 29 + 1 + + + IRXER + Ignore IPG GRXER + 30 + 1 + + + + + NSR + Network Status Register + 0x008 + 32 + read-only + 0x00000004 + + + MDIO + MDIO Input Status + 1 + 1 + + + IDLE + PHY Management Logic Idle + 2 + 1 + + + + + UR + User Register + 0x00C + 32 + + + MII + MII Mode + 0 + 1 + + + + + DCFGR + DMA Configuration Register + 0x010 + 32 + 0x00020704 + + + FBLDO + Fixed Burst Length for DMA Data Operations: + 0 + 5 + + + ESMA + Endian Swap Mode Enable for Management Descriptor Accesses + 6 + 1 + + + ESPA + Endian Swap Mode Enable for Packet Data Accesses + 7 + 1 + + + RXBMS + Receiver Packet Buffer Memory Size Select + 8 + 2 + + + TXPBMS + Transmitter Packet Buffer Memory Size Select + 10 + 1 + + + TXCOEN + Transmitter Checksum Generation Offload Enable + 11 + 1 + + + DRBS + DMA Receive Buffer Size + 16 + 8 + + + DDRP + DMA Discard Receive Packets + 24 + 1 + + + + + TSR + Transmit Status Register + 0x014 + 32 + + + UBR + Used Bit Read + 0 + 1 + + + COL + Collision Occurred + 1 + 1 + + + RLE + Retry Limit Exceeded + 2 + 1 + + + TXGO + Transmit Go + 3 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 4 + 1 + + + TXCOMP + Transmit Complete + 5 + 1 + + + UND + Transmit Underrun + 6 + 1 + + + HRESP + HRESP Not OK + 8 + 1 + + + + + RBQB + Receive Buffer Queue Base Address + 0x018 + 32 + + + ADDR + Receive Buffer Queue Base Address + 2 + 30 + + + + + TBQB + Transmit Buffer Queue Base Address + 0x01C + 32 + + + ADDR + Transmit Buffer Queue Base Address + 2 + 30 + + + + + RSR + Receive Status Register + 0x020 + 32 + + + BNA + Buffer Not Available + 0 + 1 + + + REC + Frame Received + 1 + 1 + + + RXOVR + Receive Overrun + 2 + 1 + + + HNO + HRESP Not OK + 3 + 1 + + + + + ISR + Interrupt Status Register + 0x024 + 32 + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IER + Interrupt Enable Register + 0x028 + 32 + write-only + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded or Late Collision + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IDR + Interrupt Disable Register + 0x02C + 32 + write-only + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded or Late Collision + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IMR + Interrupt Mask Register + 0x030 + 32 + read-only + 0x3FFFFFFF + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On Lan + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + MAN + PHY Maintenance Register + 0x034 + 32 + + + DATA + PHY Data + 0 + 16 + + + WTN + Write Ten + 16 + 2 + + + REGA + Register Address + 18 + 5 + + + PHYA + PHY Address + 23 + 5 + + + OP + Operation + 28 + 2 + + + CLTTO + Clause 22 Operation + 30 + 1 + + + WZO + Write ZERO + 31 + 1 + + + + + RPQ + Received Pause Quantum Register + 0x038 + 32 + read-only + + + RPQ + Received Pause Quantum + 0 + 16 + + + + + TPQ + Transmit Pause Quantum Register + 0x03C + 32 + 0x0000FFFF + + + TPQ + Transmit Pause Quantum + 0 + 16 + + + + + TPSF + TX partial store and forward Register + 0x040 + 32 + 0x000003FF + + + TPB1ADR + TX packet buffer address + 0 + 10 + + + ENTXP + Enable TX partial store and forward operation + 31 + 1 + + + + + RPSF + RX partial store and forward Register + 0x044 + 32 + 0x000003FF + + + RPB1ADR + RX packet buffer address + 0 + 10 + + + ENRXP + Enable RX partial store and forward operation + 31 + 1 + + + + + RJFML + RX Jumbo Frame Max Length Register + 0x048 + 32 + 0x00003FFF + + + FML + Frame Max Length + 0 + 14 + + + + + HRB + Hash Register Bottom [31:0] + 0x080 + 32 + + + ADDR + Hash Address + 0 + 32 + + + + + HRT + Hash Register Top [63:32] + 0x084 + 32 + + + ADDR + Hash Address + 0 + 32 + + + + + 4 + 0x8 + SAB%s + Specific Address Bottom [31:0] Register + 0x088 + 32 + + + ADDR + Specific Address 1 + 0 + 32 + + + + + 4 + 0x8 + SAT%s + Specific Address Top [47:32] Register + 0x08C + 32 + + + ADDR + Specific Address 1 + 0 + 16 + + + + + 4 + 0x4 + TIDM%s + Type ID Match Register + 0x0A8 + 32 + + + TID + Type ID Match 1 + 0 + 16 + + + + + WOL + Wake on LAN + 0x0B8 + 32 + + + IP + IP address + 0 + 16 + + + MAG + Event enable + 16 + 1 + + + ARP + LAN ARP req + 17 + 1 + + + SA1 + WOL specific address reg 1 + 18 + 1 + + + MTI + WOL LAN multicast + 19 + 1 + + + + + IPGS + IPG Stretch Register + 0x0BC + 32 + + + FL + Frame Length + 0 + 16 + + + + + SVLAN + Stacked VLAN Register + 0x0C0 + 32 + + + VLAN_TYPE + User Defined VLAN_TYPE Field + 0 + 16 + + + ESVLAN + Enable Stacked VLAN Processing Mode + 31 + 1 + + + + + TPFCP + Transmit PFC Pause Register + 0x0C4 + 32 + + + PEV + Priority Enable Vector + 0 + 8 + + + PQ + Pause Quantum + 8 + 8 + + + + + SAMB1 + Specific Address 1 Mask Bottom [31:0] Register + 0x0C8 + 32 + + + ADDR + Specific Address 1 Mask + 0 + 32 + + + + + SAMT1 + Specific Address 1 Mask Top [47:32] Register + 0x0CC + 32 + + + ADDR + Specific Address 1 Mask + 0 + 16 + + + + + NSC + Tsu timer comparison nanoseconds Register + 0x0DC + 32 + + + NANOSEC + 1588 Timer Nanosecond comparison value + 0 + 21 + + + + + SCL + Tsu timer second comparison Register + 0x0E0 + 32 + + + SEC + 1588 Timer Second comparison value + 0 + 32 + + + + + SCH + Tsu timer second comparison Register + 0x0E4 + 32 + + + SEC + 1588 Timer Second comparison value + 0 + 16 + + + + + EFTSH + PTP Event Frame Transmitted Seconds High Register + 0x0E8 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + EFRSH + PTP Event Frame Received Seconds High Register + 0x0EC + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + PEFTSH + PTP Peer Event Frame Transmitted Seconds High Register + 0x0F0 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + PEFRSH + PTP Peer Event Frame Received Seconds High Register + 0x0F4 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + OTLO + Octets Transmitted [31:0] Register + 0x100 + 32 + read-only + + + TXO + Transmitted Octets + 0 + 32 + + + + + OTHI + Octets Transmitted [47:32] Register + 0x104 + 32 + read-only + + + TXO + Transmitted Octets + 0 + 16 + + + + + FT + Frames Transmitted Register + 0x108 + 32 + read-only + + + FTX + Frames Transmitted without Error + 0 + 32 + + + + + BCFT + Broadcast Frames Transmitted Register + 0x10C + 32 + read-only + + + BFTX + Broadcast Frames Transmitted without Error + 0 + 32 + + + + + MFT + Multicast Frames Transmitted Register + 0x110 + 32 + read-only + + + MFTX + Multicast Frames Transmitted without Error + 0 + 32 + + + + + PFT + Pause Frames Transmitted Register + 0x114 + 32 + read-only + + + PFTX + Pause Frames Transmitted Register + 0 + 16 + + + + + BFT64 + 64 Byte Frames Transmitted Register + 0x118 + 32 + read-only + + + NFTX + 64 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT127 + 65 to 127 Byte Frames Transmitted Register + 0x11C + 32 + read-only + + + NFTX + 65 to 127 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT255 + 128 to 255 Byte Frames Transmitted Register + 0x120 + 32 + read-only + + + NFTX + 128 to 255 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT511 + 256 to 511 Byte Frames Transmitted Register + 0x124 + 32 + read-only + + + NFTX + 256 to 511 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT1023 + 512 to 1023 Byte Frames Transmitted Register + 0x128 + 32 + read-only + + + NFTX + 512 to 1023 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT1518 + 1024 to 1518 Byte Frames Transmitted Register + 0x12C + 32 + read-only + + + NFTX + 1024 to 1518 Byte Frames Transmitted without Error + 0 + 32 + + + + + GTBFT1518 + Greater Than 1518 Byte Frames Transmitted Register + 0x130 + 32 + read-only + + + NFTX + Greater than 1518 Byte Frames Transmitted without Error + 0 + 32 + + + + + TUR + Transmit Underruns Register + 0x134 + 32 + read-only + + + TXUNR + Transmit Underruns + 0 + 10 + + + + + SCF + Single Collision Frames Register + 0x138 + 32 + read-only + + + SCOL + Single Collision + 0 + 18 + + + + + MCF + Multiple Collision Frames Register + 0x13C + 32 + read-only + + + MCOL + Multiple Collision + 0 + 18 + + + + + EC + Excessive Collisions Register + 0x140 + 32 + read-only + + + XCOL + Excessive Collisions + 0 + 10 + + + + + LC + Late Collisions Register + 0x144 + 32 + read-only + + + LCOL + Late Collisions + 0 + 10 + + + + + DTF + Deferred Transmission Frames Register + 0x148 + 32 + read-only + + + DEFT + Deferred Transmission + 0 + 18 + + + + + CSE + Carrier Sense Errors Register + 0x14C + 32 + read-only + + + CSR + Carrier Sense Error + 0 + 10 + + + + + ORLO + Octets Received [31:0] Received + 0x150 + 32 + read-only + + + RXO + Received Octets + 0 + 32 + + + + + ORHI + Octets Received [47:32] Received + 0x154 + 32 + read-only + + + RXO + Received Octets + 0 + 16 + + + + + FR + Frames Received Register + 0x158 + 32 + read-only + + + FRX + Frames Received without Error + 0 + 32 + + + + + BCFR + Broadcast Frames Received Register + 0x15C + 32 + read-only + + + BFRX + Broadcast Frames Received without Error + 0 + 32 + + + + + MFR + Multicast Frames Received Register + 0x160 + 32 + read-only + + + MFRX + Multicast Frames Received without Error + 0 + 32 + + + + + PFR + Pause Frames Received Register + 0x164 + 32 + read-only + + + PFRX + Pause Frames Received Register + 0 + 16 + + + + + BFR64 + 64 Byte Frames Received Register + 0x168 + 32 + read-only + + + NFRX + 64 Byte Frames Received without Error + 0 + 32 + + + + + TBFR127 + 65 to 127 Byte Frames Received Register + 0x16C + 32 + read-only + + + NFRX + 65 to 127 Byte Frames Received without Error + 0 + 32 + + + + + TBFR255 + 128 to 255 Byte Frames Received Register + 0x170 + 32 + read-only + + + NFRX + 128 to 255 Byte Frames Received without Error + 0 + 32 + + + + + TBFR511 + 256 to 511Byte Frames Received Register + 0x174 + 32 + read-only + + + NFRX + 256 to 511 Byte Frames Received without Error + 0 + 32 + + + + + TBFR1023 + 512 to 1023 Byte Frames Received Register + 0x178 + 32 + read-only + + + NFRX + 512 to 1023 Byte Frames Received without Error + 0 + 32 + + + + + TBFR1518 + 1024 to 1518 Byte Frames Received Register + 0x17C + 32 + read-only + + + NFRX + 1024 to 1518 Byte Frames Received without Error + 0 + 32 + + + + + TMXBFR + 1519 to Maximum Byte Frames Received Register + 0x180 + 32 + read-only + + + NFRX + 1519 to Maximum Byte Frames Received without Error + 0 + 32 + + + + + UFR + Undersize Frames Received Register + 0x184 + 32 + read-only + + + UFRX + Undersize Frames Received + 0 + 10 + + + + + OFR + Oversize Frames Received Register + 0x188 + 32 + read-only + + + OFRX + Oversized Frames Received + 0 + 10 + + + + + JR + Jabbers Received Register + 0x18C + 32 + read-only + + + JRX + Jabbers Received + 0 + 10 + + + + + FCSE + Frame Check Sequence Errors Register + 0x190 + 32 + read-only + + + FCKR + Frame Check Sequence Errors + 0 + 10 + + + + + LFFE + Length Field Frame Errors Register + 0x194 + 32 + read-only + + + LFER + Length Field Frame Errors + 0 + 10 + + + + + RSE + Receive Symbol Errors Register + 0x198 + 32 + read-only + + + RXSE + Receive Symbol Errors + 0 + 10 + + + + + AE + Alignment Errors Register + 0x19C + 32 + read-only + + + AER + Alignment Errors + 0 + 10 + + + + + RRE + Receive Resource Errors Register + 0x1A0 + 32 + read-only + + + RXRER + Receive Resource Errors + 0 + 18 + + + + + ROE + Receive Overrun Register + 0x1A4 + 32 + read-only + + + RXOVR + Receive Overruns + 0 + 10 + + + + + IHCE + IP Header Checksum Errors Register + 0x1A8 + 32 + read-only + + + HCKER + IP Header Checksum Errors + 0 + 8 + + + + + TCE + TCP Checksum Errors Register + 0x1AC + 32 + read-only + + + TCKER + TCP Checksum Errors + 0 + 8 + + + + + UCE + UDP Checksum Errors Register + 0x1B0 + 32 + read-only + + + UCKER + UDP Checksum Errors + 0 + 8 + + + + + TISUBN + 1588 Timer Increment [15:0] Sub-Nanoseconds Register + 0x1BC + 32 + + + LSBTIR + Lower Significant Bits of Timer Increment + 0 + 16 + + + + + TSH + 1588 Timer Seconds High [15:0] Register + 0x1C0 + 32 + + + TCS + Timer Count in Seconds + 0 + 16 + + + + + TSSSL + 1588 Timer Sync Strobe Seconds [31:0] Register + 0x1C8 + 32 + + + VTS + Value of Timer Seconds Register Capture + 0 + 32 + + + + + TSSN + 1588 Timer Sync Strobe Nanoseconds Register + 0x1CC + 32 + + + VTN + Value Timer Nanoseconds Register Capture + 0 + 30 + + + + + TSL + 1588 Timer Seconds [31:0] Register + 0x1D0 + 32 + + + TCS + Timer Count in Seconds + 0 + 32 + + + + + TN + 1588 Timer Nanoseconds Register + 0x1D4 + 32 + + + TNS + Timer Count in Nanoseconds + 0 + 30 + + + + + TA + 1588 Timer Adjust Register + 0x1D8 + 32 + write-only + + + ITDT + Increment/Decrement + 0 + 30 + + + ADJ + Adjust 1588 Timer + 31 + 1 + + + + + TI + 1588 Timer Increment Register + 0x1DC + 32 + + + CNS + Count Nanoseconds + 0 + 8 + + + ACNS + Alternative Count Nanoseconds + 8 + 8 + + + NIT + Number of Increments + 16 + 8 + + + + + EFTSL + PTP Event Frame Transmitted Seconds Low Register + 0x1E0 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + EFTN + PTP Event Frame Transmitted Nanoseconds + 0x1E4 + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + EFRSL + PTP Event Frame Received Seconds Low Register + 0x1E8 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + EFRN + PTP Event Frame Received Nanoseconds + 0x1EC + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + PEFTSL + PTP Peer Event Frame Transmitted Seconds Low Register + 0x1F0 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + PEFTN + PTP Peer Event Frame Transmitted Nanoseconds + 0x1F4 + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + PEFRSL + PTP Peer Event Frame Received Seconds Low Register + 0x1F8 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + PEFRN + PTP Peer Event Frame Received Nanoseconds + 0x1FC + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + RLPITR + Receive LPI transition Register + 0x270 + 32 + read-only + + + RLPITR + Count number of times transition from rx normal idle to low power idle + 0 + 16 + + + + + RLPITI + Receive LPI Time Register + 0x274 + 32 + read-only + + + RLPITI + Increment once over 16 ahb clock when LPI indication bit 20 is set in rx mode + 0 + 24 + + + + + TLPITR + Receive LPI transition Register + 0x278 + 32 + read-only + + + TLPITR + Count number of times enable LPI tx bit 20 goes from low to high + 0 + 16 + + + + + TLPITI + Receive LPI Time Register + 0x27C + 32 + read-only + + + TLPITI + Increment once over 16 ahb clock when LPI indication bit 20 is set in tx mode + 0 + 24 + + + + + + + HMATRIX + 2.1.4 + HSB Matrix + HMATRIXB + HMATRIXB_ + 0x4100C000 + + 0 + 0x180 + registers + + + + 5 + 0x8 + PRAS%s + Priority A for Slave + 0x080 + 32 + + + 5 + 0x8 + PRBS%s + Priority B for Slave + 0x084 + 32 + + + + + ICM + 1.2.0 + Integrity Check Monitor + ICM + ICM_ + 0x42002C00 + + 0 + 0x80 + registers + + + ICM_INTREQ + 132 + + + + CFG + Configuration + 0x00 + 32 + + + WBDIS + Write Back Disable + 0 + 1 + + + EOMDIS + End of Monitoring Disable + 1 + 1 + + + SLBDIS + Secondary List Branching Disable + 2 + 1 + + + BBC + Bus Burden Control + 4 + 4 + + + ASCD + Automatic Switch To Compare Digest + 8 + 1 + + + DUALBUFF + Dual Input Buffer + 9 + 1 + + + UIHASH + User Initial Hash Value + 12 + 1 + + + UALGO + User SHA Algorithm + 13 + 3 + + UALGOSelect + + SHA1 + SHA1 Algorithm + 0x0 + + + SHA256 + SHA256 Algorithm + 0x1 + + + SHA224 + SHA224 Algorithm + 0x4 + + + + + HAPROT + Region Hash Area Protection + 16 + 6 + + + DAPROT + Region Descriptor Area Protection + 24 + 6 + + + + + CTRL + Control + 0x04 + 32 + write-only + + + ENABLE + ICM Enable + 0 + 1 + + + DISABLE + ICM Disable Register + 1 + 1 + + + SWRST + Software Reset + 2 + 1 + + + REHASH + Recompute Internal Hash + 4 + 4 + + + RMDIS + Region Monitoring Disable + 8 + 4 + + + RMEN + Region Monitoring Enable + 12 + 4 + + + + + SR + Status + 0x08 + 32 + read-only + + + ENABLE + ICM Controller Enable Register + 0 + 1 + + + RAWRMDIS + RAW Region Monitoring Disabled Status + 8 + 4 + + + RMDIS + Region Monitoring Disabled Status + 12 + 4 + + + + + IER + Interrupt Enable + 0x10 + 32 + write-only + + + RHC + Region Hash Completed Interrupt Enable + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Enable + 4 + 4 + + + RBE + Region Bus Error Interrupt Enable + 8 + 4 + + + RWC + Region Wrap Condition detected Interrupt Enable + 12 + 4 + + + REC + Region End bit Condition Detected Interrupt Enable + 16 + 4 + + + RSU + Region Status Updated Interrupt Disable + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Enable + 24 + 1 + + + + + IDR + Interrupt Disable + 0x14 + 32 + write-only + + + RHC + Region Hash Completed Interrupt Disable + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Disable + 4 + 4 + + + RBE + Region Bus Error Interrupt Disable + 8 + 4 + + + RWC + Region Wrap Condition Detected Interrupt Disable + 12 + 4 + + + REC + Region End bit Condition detected Interrupt Disable + 16 + 4 + + + RSU + Region Status Updated Interrupt Disable + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Disable + 24 + 1 + + + + + IMR + Interrupt Mask + 0x18 + 32 + read-only + + + RHC + Region Hash Completed Interrupt Mask + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Mask + 4 + 4 + + + RBE + Region Bus Error Interrupt Mask + 8 + 4 + + + RWC + Region Wrap Condition Detected Interrupt Mask + 12 + 4 + + + REC + Region End bit Condition Detected Interrupt Mask + 16 + 4 + + + RSU + Region Status Updated Interrupt Mask + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Mask + 24 + 1 + + + + + ISR + Interrupt Status + 0x1C + 32 + read-only + + + RHC + Region Hash Completed + 0 + 4 + + + RDM + Region Digest Mismatch + 4 + 4 + + + RBE + Region Bus Error + 8 + 4 + + + RWC + Region Wrap Condition Detected + 12 + 4 + + + REC + Region End bit Condition Detected + 16 + 4 + + + RSU + Region Status Updated Detected + 20 + 4 + + + URAD + Undefined Register Access Detection Status + 24 + 1 + + + + + UASR + Undefined Access Status + 0x20 + 32 + read-only + + + URAT + Undefined Register Access Trace + 0 + 3 + + URATSelect + + UNSPEC_STRUCT_MEMBER + Unspecified structure member set to one detected when the descriptor is loaded + 0x0 + + + CFG_MODIFIED + CFG modified during active monitoring + 0x1 + + + DSCR_MODIFIED + DSCR modified during active monitoring + 0x2 + + + HASH_MODIFIED + HASH modified during active monitoring + 0x3 + + + READ_ACCESS + Write-only register read access + 0x4 + + + + + + + DSCR + Region Descriptor Area Start Address + 0x30 + 32 + + + DASA + Descriptor Area Start Address + 6 + 26 + + + + + HASH + Region Hash Area Start Address + 0x34 + 32 + + + HASA + Hash Area Start Address + 7 + 25 + + + + + 8 + 0x4 + UIHVAL%s + User Initial Hash Value n + 0x38 + 32 + write-only + + + VAL + Initial Hash Value + 0 + 32 + + + + + + + I2S + 2.0.0 + Inter-IC Sound Interface + I2S + I2S_ + 0x43002800 + + 0 + 0x40 + registers + + + I2S_INTREQ + 128 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + CKEN0 + Clock Unit 0 Enable + 2 + 1 + + + CKEN1 + Clock Unit 1 Enable + 3 + 1 + + + TXEN + Tx Serializer Enable + 4 + 1 + + + RXEN + Rx Serializer Enable + 5 + 1 + + + + + 2 + 0x4 + CLKCTRL%s + Clock Unit n Control + 0x04 + 32 + + + SLOTSIZE + Slot Size + 0 + 2 + + SLOTSIZESelect + + 8 + 8-bit Slot for Clock Unit n + 0x0 + + + 16 + 16-bit Slot for Clock Unit n + 0x1 + + + 24 + 24-bit Slot for Clock Unit n + 0x2 + + + 32 + 32-bit Slot for Clock Unit n + 0x3 + + + + + NBSLOTS + Number of Slots in Frame + 2 + 3 + + + FSWIDTH + Frame Sync Width + 5 + 2 + + FSWIDTHSelect + + SLOT + Frame Sync Pulse is 1 Slot wide (default for I2S protocol) + 0x0 + + + HALF + Frame Sync Pulse is half a Frame wide + 0x1 + + + BIT + Frame Sync Pulse is 1 Bit wide + 0x2 + + + BURST + Clock Unit n operates in Burst mode, with a 1-bit wide Frame Sync pulse per Data sample, only when Data transfer is requested + 0x3 + + + + + BITDELAY + Data Delay from Frame Sync + 7 + 1 + + BITDELAYSelect + + LJ + Left Justified (0 Bit Delay) + 0x0 + + + I2S + I2S (1 Bit Delay) + 0x1 + + + + + FSSEL + Frame Sync Select + 8 + 1 + + FSSELSelect + + SCKDIV + Divided Serial Clock n is used as Frame Sync n source + 0x0 + + + FSPIN + FSn input pin is used as Frame Sync n source + 0x1 + + + + + FSINV + Frame Sync Invert + 9 + 1 + + + FSOUTINV + Frame Sync Output Invert + 10 + 1 + + + SCKSEL + Serial Clock Select + 11 + 1 + + SCKSELSelect + + MCKDIV + Divided Master Clock n is used as Serial Clock n source + 0x0 + + + SCKPIN + SCKn input pin is used as Serial Clock n source + 0x1 + + + + + SCKOUTINV + Serial Clock Output Invert + 12 + 1 + + + MCKSEL + Master Clock Select + 13 + 1 + + MCKSELSelect + + GCLK + GCLK_I2S_n is used as Master Clock n source + 0x0 + + + MCKPIN + MCKn input pin is used as Master Clock n source + 0x1 + + + + + MCKEN + Master Clock Enable + 14 + 1 + + + MCKOUTINV + Master Clock Output Invert + 15 + 1 + + + MCKDIV + Master Clock Division Factor + 16 + 6 + + + MCKOUTDIV + Master Clock Output Division Factor + 24 + 6 + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 16 + + + RXRDY0 + Receive Ready 0 Interrupt Enable + 0 + 1 + + + RXRDY1 + Receive Ready 1 Interrupt Enable + 1 + 1 + + + RXOR0 + Receive Overrun 0 Interrupt Enable + 4 + 1 + + + RXOR1 + Receive Overrun 1 Interrupt Enable + 5 + 1 + + + TXRDY0 + Transmit Ready 0 Interrupt Enable + 8 + 1 + + + TXRDY1 + Transmit Ready 1 Interrupt Enable + 9 + 1 + + + TXUR0 + Transmit Underrun 0 Interrupt Enable + 12 + 1 + + + TXUR1 + Transmit Underrun 1 Interrupt Enable + 13 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x10 + 16 + + + RXRDY0 + Receive Ready 0 Interrupt Enable + 0 + 1 + + + RXRDY1 + Receive Ready 1 Interrupt Enable + 1 + 1 + + + RXOR0 + Receive Overrun 0 Interrupt Enable + 4 + 1 + + + RXOR1 + Receive Overrun 1 Interrupt Enable + 5 + 1 + + + TXRDY0 + Transmit Ready 0 Interrupt Enable + 8 + 1 + + + TXRDY1 + Transmit Ready 1 Interrupt Enable + 9 + 1 + + + TXUR0 + Transmit Underrun 0 Interrupt Enable + 12 + 1 + + + TXUR1 + Transmit Underrun 1 Interrupt Enable + 13 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x14 + 16 + + + RXRDY0 + Receive Ready 0 + 0 + 1 + + + RXRDY1 + Receive Ready 1 + 1 + 1 + + + RXOR0 + Receive Overrun 0 + 4 + 1 + + + RXOR1 + Receive Overrun 1 + 5 + 1 + + + TXRDY0 + Transmit Ready 0 + 8 + 1 + + + TXRDY1 + Transmit Ready 1 + 9 + 1 + + + TXUR0 + Transmit Underrun 0 + 12 + 1 + + + TXUR1 + Transmit Underrun 1 + 13 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x18 + 16 + read-only + + + SWRST + Software Reset Synchronization Status + 0 + 1 + + + ENABLE + Enable Synchronization Status + 1 + 1 + + + CKEN0 + Clock Unit 0 Enable Synchronization Status + 2 + 1 + + + CKEN1 + Clock Unit 1 Enable Synchronization Status + 3 + 1 + + + TXEN + Tx Serializer Enable Synchronization Status + 4 + 1 + + + RXEN + Rx Serializer Enable Synchronization Status + 5 + 1 + + + TXDATA + Tx Data Synchronization Status + 8 + 1 + + + RXDATA + Rx Data Synchronization Status + 9 + 1 + + + + + TXCTRL + Tx Serializer Control + 0x20 + 32 + + + TXDEFAULT + Line Default Line when Slot Disabled + 2 + 2 + + TXDEFAULTSelect + + ZERO + Output Default Value is 0 + 0x0 + + + ONE + Output Default Value is 1 + 0x1 + + + HIZ + Output Default Value is high impedance + 0x3 + + + + + TXSAME + Transmit Data when Underrun + 4 + 1 + + TXSAMESelect + + ZERO + Zero data transmitted in case of underrun + 0x0 + + + SAME + Last data transmitted in case of underrun + 0x1 + + + + + SLOTADJ + Data Slot Formatting Adjust + 7 + 1 + + SLOTADJSelect + + RIGHT + Data is right adjusted in slot + 0x0 + + + LEFT + Data is left adjusted in slot + 0x1 + + + + + DATASIZE + Data Word Size + 8 + 3 + + DATASIZESelect + + 32 + 32 bits + 0x0 + + + 24 + 24 bits + 0x1 + + + 20 + 20 bits + 0x2 + + + 18 + 18 bits + 0x3 + + + 16 + 16 bits + 0x4 + + + 16C + 16 bits compact stereo + 0x5 + + + 8 + 8 bits + 0x6 + + + 8C + 8 bits compact stereo + 0x7 + + + + + WORDADJ + Data Word Formatting Adjust + 12 + 1 + + WORDADJSelect + + RIGHT + Data is right adjusted in word + 0x0 + + + LEFT + Data is left adjusted in word + 0x1 + + + + + EXTEND + Data Formatting Bit Extension + 13 + 2 + + EXTENDSelect + + ZERO + Extend with zeroes + 0x0 + + + ONE + Extend with ones + 0x1 + + + MSBIT + Extend with Most Significant Bit + 0x2 + + + LSBIT + Extend with Least Significant Bit + 0x3 + + + + + BITREV + Data Formatting Bit Reverse + 15 + 1 + + BITREVSelect + + MSBIT + Transfer Data Most Significant Bit (MSB) first (default for I2S protocol) + 0x0 + + + LSBIT + Transfer Data Least Significant Bit (LSB) first + 0x1 + + + + + SLOTDIS0 + Slot 0 Disabled for this Serializer + 16 + 1 + + + SLOTDIS1 + Slot 1 Disabled for this Serializer + 17 + 1 + + + SLOTDIS2 + Slot 2 Disabled for this Serializer + 18 + 1 + + + SLOTDIS3 + Slot 3 Disabled for this Serializer + 19 + 1 + + + SLOTDIS4 + Slot 4 Disabled for this Serializer + 20 + 1 + + + SLOTDIS5 + Slot 5 Disabled for this Serializer + 21 + 1 + + + SLOTDIS6 + Slot 6 Disabled for this Serializer + 22 + 1 + + + SLOTDIS7 + Slot 7 Disabled for this Serializer + 23 + 1 + + + MONO + Mono Mode + 24 + 1 + + MONOSelect + + STEREO + Normal mode + 0x0 + + + MONO + Left channel data is duplicated to right channel + 0x1 + + + + + DMA + Single or Multiple DMA Channels + 25 + 1 + + DMASelect + + SINGLE + Single DMA channel + 0x0 + + + MULTIPLE + One DMA channel per data channel + 0x1 + + + + + + + RXCTRL + Rx Serializer Control + 0x24 + 32 + + + SERMODE + Serializer Mode + 0 + 2 + + SERMODESelect + + RX + Receive + 0x0 + + + PDM2 + Receive one PDM data on each serial clock edge + 0x2 + + + + + CLKSEL + Clock Unit Selection + 5 + 1 + + CLKSELSelect + + CLK0 + Use Clock Unit 0 + 0x0 + + + CLK1 + Use Clock Unit 1 + 0x1 + + + + + SLOTADJ + Data Slot Formatting Adjust + 7 + 1 + + SLOTADJSelect + + RIGHT + Data is right adjusted in slot + 0x0 + + + LEFT + Data is left adjusted in slot + 0x1 + + + + + DATASIZE + Data Word Size + 8 + 3 + + DATASIZESelect + + 32 + 32 bits + 0x0 + + + 24 + 24 bits + 0x1 + + + 20 + 20 bits + 0x2 + + + 18 + 18 bits + 0x3 + + + 16 + 16 bits + 0x4 + + + 16C + 16 bits compact stereo + 0x5 + + + 8 + 8 bits + 0x6 + + + 8C + 8 bits compact stereo + 0x7 + + + + + WORDADJ + Data Word Formatting Adjust + 12 + 1 + + WORDADJSelect + + RIGHT + Data is right adjusted in word + 0x0 + + + LEFT + Data is left adjusted in word + 0x1 + + + + + EXTEND + Data Formatting Bit Extension + 13 + 2 + + EXTENDSelect + + ZERO + Extend with zeroes + 0x0 + + + ONE + Extend with ones + 0x1 + + + MSBIT + Extend with Most Significant Bit + 0x2 + + + LSBIT + Extend with Least Significant Bit + 0x3 + + + + + BITREV + Data Formatting Bit Reverse + 15 + 1 + + BITREVSelect + + MSBIT + Transfer Data Most Significant Bit (MSB) first (default for I2S protocol) + 0x0 + + + LSBIT + Transfer Data Least Significant Bit (LSB) first + 0x1 + + + + + SLOTDIS0 + Slot 0 Disabled for this Serializer + 16 + 1 + + + SLOTDIS1 + Slot 1 Disabled for this Serializer + 17 + 1 + + + SLOTDIS2 + Slot 2 Disabled for this Serializer + 18 + 1 + + + SLOTDIS3 + Slot 3 Disabled for this Serializer + 19 + 1 + + + SLOTDIS4 + Slot 4 Disabled for this Serializer + 20 + 1 + + + SLOTDIS5 + Slot 5 Disabled for this Serializer + 21 + 1 + + + SLOTDIS6 + Slot 6 Disabled for this Serializer + 22 + 1 + + + SLOTDIS7 + Slot 7 Disabled for this Serializer + 23 + 1 + + + MONO + Mono Mode + 24 + 1 + + MONOSelect + + STEREO + Normal mode + 0x0 + + + MONO + Left channel data is duplicated to right channel + 0x1 + + + + + DMA + Single or Multiple DMA Channels + 25 + 1 + + DMASelect + + SINGLE + Single DMA channel + 0x0 + + + MULTIPLE + One DMA channel per data channel + 0x1 + + + + + RXLOOP + Loop-back Test Mode + 26 + 1 + + + + + TXDATA + Tx Data + 0x30 + 32 + write-only + + + DATA + Sample Data + 0 + 32 + + + + + RXDATA + Rx Data + 0x34 + 32 + read-only + + + DATA + Sample Data + 0 + 32 + + + + + + + MCLK + 1.0.0 + Main Clock + MCLK + MCLK_ + 0x40000800 + + 0 + 0x80 + registers + + + MCLK_INTREQ + 1 + + + + INTENCLR + Interrupt Enable Clear + 0x01 + 8 + + + CKRDY + Clock Ready Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x02 + 8 + + + CKRDY + Clock Ready Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x03 + 8 + 0x01 + + + CKRDY + Clock Ready + 0 + 1 + + + + + HSDIV + HS Clock Division + 0x04 + 8 + read-only + 0x01 + + + DIV + CPU Clock Division Factor + 0 + 8 + + DIVSelect + + DIV1 + Divide by 1 + 0x1 + + + + + + + CPUDIV + CPU Clock Division + 0x05 + 8 + 0x01 + + + DIV + Low-Power Clock Division Factor + 0 + 8 + + DIVSelect + + DIV1 + Divide by 1 + 0x1 + + + DIV2 + Divide by 2 + 0x2 + + + DIV4 + Divide by 4 + 0x4 + + + DIV8 + Divide by 8 + 0x8 + + + DIV16 + Divide by 16 + 0x10 + + + DIV32 + Divide by 32 + 0x20 + + + DIV64 + Divide by 64 + 0x40 + + + DIV128 + Divide by 128 + 0x80 + + + + + + + AHBMASK + AHB Mask + 0x10 + 32 + 0x00FFFFFF + + + HPB0_ + HPB0 AHB Clock Mask + 0 + 1 + + + HPB1_ + HPB1 AHB Clock Mask + 1 + 1 + + + HPB2_ + HPB2 AHB Clock Mask + 2 + 1 + + + HPB3_ + HPB3 AHB Clock Mask + 3 + 1 + + + DSU_ + DSU AHB Clock Mask + 4 + 1 + + + HMATRIX_ + HMATRIX AHB Clock Mask + 5 + 1 + + + NVMCTRL_ + NVMCTRL AHB Clock Mask + 6 + 1 + + + HSRAM_ + HSRAM AHB Clock Mask + 7 + 1 + + + CMCC_ + CMCC AHB Clock Mask + 8 + 1 + + + DMAC_ + DMAC AHB Clock Mask + 9 + 1 + + + USB_ + USB AHB Clock Mask + 10 + 1 + + + BKUPRAM_ + BKUPRAM AHB Clock Mask + 11 + 1 + + + PAC_ + PAC AHB Clock Mask + 12 + 1 + + + QSPI_ + QSPI AHB Clock Mask + 13 + 1 + + + GMAC_ + GMAC AHB Clock Mask + 14 + 1 + + + SDHC0_ + SDHC0 AHB Clock Mask + 15 + 1 + + + SDHC1_ + SDHC1 AHB Clock Mask + 16 + 1 + + + CAN0_ + CAN0 AHB Clock Mask + 17 + 1 + + + CAN1_ + CAN1 AHB Clock Mask + 18 + 1 + + + ICM_ + ICM AHB Clock Mask + 19 + 1 + + + PUKCC_ + PUKCC AHB Clock Mask + 20 + 1 + + + QSPI_2X_ + QSPI_2X AHB Clock Mask + 21 + 1 + + + NVMCTRL_SMEEPROM_ + NVMCTRL_SMEEPROM AHB Clock Mask + 22 + 1 + + + NVMCTRL_CACHE_ + NVMCTRL_CACHE AHB Clock Mask + 23 + 1 + + + + + APBAMASK + APBA Mask + 0x14 + 32 + 0x000007FF + + + PAC_ + PAC APB Clock Enable + 0 + 1 + + + PM_ + PM APB Clock Enable + 1 + 1 + + + MCLK_ + MCLK APB Clock Enable + 2 + 1 + + + RSTC_ + RSTC APB Clock Enable + 3 + 1 + + + OSCCTRL_ + OSCCTRL APB Clock Enable + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL APB Clock Enable + 5 + 1 + + + SUPC_ + SUPC APB Clock Enable + 6 + 1 + + + GCLK_ + GCLK APB Clock Enable + 7 + 1 + + + WDT_ + WDT APB Clock Enable + 8 + 1 + + + RTC_ + RTC APB Clock Enable + 9 + 1 + + + EIC_ + EIC APB Clock Enable + 10 + 1 + + + FREQM_ + FREQM APB Clock Enable + 11 + 1 + + + SERCOM0_ + SERCOM0 APB Clock Enable + 12 + 1 + + + SERCOM1_ + SERCOM1 APB Clock Enable + 13 + 1 + + + TC0_ + TC0 APB Clock Enable + 14 + 1 + + + TC1_ + TC1 APB Clock Enable + 15 + 1 + + + + + APBBMASK + APBB Mask + 0x18 + 32 + 0x00018056 + + + USB_ + USB APB Clock Enable + 0 + 1 + + + DSU_ + DSU APB Clock Enable + 1 + 1 + + + NVMCTRL_ + NVMCTRL APB Clock Enable + 2 + 1 + + + PORT_ + PORT APB Clock Enable + 4 + 1 + + + HMATRIX_ + HMATRIX APB Clock Enable + 6 + 1 + + + EVSYS_ + EVSYS APB Clock Enable + 7 + 1 + + + SERCOM2_ + SERCOM2 APB Clock Enable + 9 + 1 + + + SERCOM3_ + SERCOM3 APB Clock Enable + 10 + 1 + + + TCC0_ + TCC0 APB Clock Enable + 11 + 1 + + + TCC1_ + TCC1 APB Clock Enable + 12 + 1 + + + TC2_ + TC2 APB Clock Enable + 13 + 1 + + + TC3_ + TC3 APB Clock Enable + 14 + 1 + + + TAL_ + TAL APB Clock Enable + 15 + 1 + + + RAMECC_ + RAMECC APB Clock Enable + 16 + 1 + + + + + APBCMASK + APBC Mask + 0x1C + 32 + 0x00002000 + + + GMAC_ + GMAC APB Clock Enable + 2 + 1 + + + TCC2_ + TCC2 APB Clock Enable + 3 + 1 + + + TCC3_ + TCC3 APB Clock Enable + 4 + 1 + + + TC4_ + TC4 APB Clock Enable + 5 + 1 + + + TC5_ + TC5 APB Clock Enable + 6 + 1 + + + PDEC_ + PDEC APB Clock Enable + 7 + 1 + + + AC_ + AC APB Clock Enable + 8 + 1 + + + AES_ + AES APB Clock Enable + 9 + 1 + + + TRNG_ + TRNG APB Clock Enable + 10 + 1 + + + ICM_ + ICM APB Clock Enable + 11 + 1 + + + QSPI_ + QSPI APB Clock Enable + 13 + 1 + + + CCL_ + CCL APB Clock Enable + 14 + 1 + + + + + APBDMASK + APBD Mask + 0x20 + 32 + + + SERCOM4_ + SERCOM4 APB Clock Enable + 0 + 1 + + + SERCOM5_ + SERCOM5 APB Clock Enable + 1 + 1 + + + SERCOM6_ + SERCOM6 APB Clock Enable + 2 + 1 + + + SERCOM7_ + SERCOM7 APB Clock Enable + 3 + 1 + + + TCC4_ + TCC4 APB Clock Enable + 4 + 1 + + + TC6_ + TC6 APB Clock Enable + 5 + 1 + + + TC7_ + TC7 APB Clock Enable + 6 + 1 + + + ADC0_ + ADC0 APB Clock Enable + 7 + 1 + + + ADC1_ + ADC1 APB Clock Enable + 8 + 1 + + + DAC_ + DAC APB Clock Enable + 9 + 1 + + + I2S_ + I2S APB Clock Enable + 10 + 1 + + + PCC_ + PCC APB Clock Enable + 11 + 1 + + + + + + + NVMCTRL + 1.0.0 + Non-Volatile Memory Controller + NVMCTRL + NVMCTRL_ + 0x41004000 + + 0 + 0x80 + registers + + + NVMCTRL_INTREQ_0 + 29 + + + NVMCTRL_INTREQ_1 + 30 + + + + CTRLA + Control A + 0x00 + 16 + 0x0004 + + + AUTOWS + Auto Wait State Enable + 2 + 1 + + + SUSPEN + Suspend Enable + 3 + 1 + + + WMODE + Write Mode + 4 + 2 + + WMODESelect + + MAN + Manual Write + 0x0 + + + ADW + Automatic Double Word Write + 0x1 + + + AQW + Automatic Quad Word + 0x2 + + + AP + Automatic Page Write + 0x3 + + + + + PRM + Power Reduction Mode during Sleep + 6 + 2 + + PRMSelect + + SEMIAUTO + NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access. + 0x0 + + + FULLAUTO + NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode when system is not in standby mode. + 0x1 + + + MANUAL + NVM block does not enter low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access. + 0x3 + + + + + RWS + NVM Read Wait States + 8 + 4 + + + AHBNS0 + Force AHB0 access to NONSEQ, burst transfers are continuously rearbitrated + 12 + 1 + + + AHBNS1 + Force AHB1 access to NONSEQ, burst transfers are continuously rearbitrated + 13 + 1 + + + CACHEDIS0 + AHB0 Cache Disable + 14 + 1 + + + CACHEDIS1 + AHB1 Cache Disable + 15 + 1 + + + + + CTRLB + Control B + 0x04 + 16 + write-only + + + CMD + Command + 0 + 7 + write-only + + CMDSelect + + EP + Erase Page - Only supported in the USER and AUX pages. + 0x0 + + + EB + Erase Block - Erases the block addressed by the ADDR register, not supported in the user page + 0x1 + + + WP + Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register, not supported in the user page + 0x3 + + + WQW + Write Quad Word - Writes a 128-bit word at the location addressed by the ADDR register. + 0x4 + + + SWRST + Software Reset - Power-Cycle the NVM memory and replay the device automatic calibration procedure and resets the module configuration registers + 0x10 + + + LR + Lock Region - Locks the region containing the address location in the ADDR register. + 0x11 + + + UR + Unlock Region - Unlocks the region containing the address location in the ADDR register. + 0x12 + + + SPRM + Sets the power reduction mode. + 0x13 + + + CPRM + Clears the power reduction mode. + 0x14 + + + PBC + Page Buffer Clear - Clears the page buffer. + 0x15 + + + SSB + Set Security Bit + 0x16 + + + BKSWRST + Bank swap and system reset, if SMEE is used also reallocate SMEE data into the opposite BANK + 0x17 + + + CELCK + Chip Erase Lock - DSU.CE command is not available + 0x18 + + + CEULCK + Chip Erase Unlock - DSU.CE command is available + 0x19 + + + SBPDIS + Sets STATUS.BPDIS, Boot loader protection is discarded until CBPDIS is issued or next start-up sequence + 0x1a + + + CBPDIS + Clears STATUS.BPDIS, Boot loader protection is not discarded + 0x1b + + + ASEES0 + Activate SmartEEPROM Sector 0, deactivate Sector 1 + 0x30 + + + ASEES1 + Activate SmartEEPROM Sector 1, deactivate Sector 0 + 0x31 + + + SEERALOC + Starts SmartEEPROM sector reallocation algorithm + 0x32 + + + SEEFLUSH + Flush SMEE data when in buffered mode + 0x33 + + + LSEE + Lock access to SmartEEPROM data from any mean + 0x34 + + + USEE + Unlock access to SmartEEPROM data + 0x35 + + + LSEER + Lock access to the SmartEEPROM Register Address Space (above 64KB) + 0x36 + + + USEER + Unlock access to the SmartEEPROM Register Address Space (above 64KB) + 0x37 + + + + + CMDEX + Command Execution + 8 + 8 + write-only + + CMDEXSelect + + KEY + Execution Key + 0xa5 + + + + + + + PARAM + NVM Parameter + 0x08 + 32 + read-only + 0x00060000 + + + NVMP + NVM Pages + 0 + 16 + read-only + + + PSZ + Page Size + 16 + 3 + read-only + + PSZSelect + + 8 + 8 bytes + 0x0 + + + 16 + 16 bytes + 0x1 + + + 32 + 32 bytes + 0x2 + + + 64 + 64 bytes + 0x3 + + + 128 + 128 bytes + 0x4 + + + 256 + 256 bytes + 0x5 + + + 512 + 512 bytes + 0x6 + + + 1024 + 1024 bytes + 0x7 + + + + + SEE + SmartEEPROM Supported + 31 + 1 + read-only + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 16 + + + DONE + Command Done Interrupt Clear + 0 + 1 + + + ADDRE + Address Error + 1 + 1 + + + PROGE + Programming Error Interrupt Clear + 2 + 1 + + + LOCKE + Lock Error Interrupt Clear + 3 + 1 + + + ECCSE + ECC Single Error Interrupt Clear + 4 + 1 + + + ECCDE + ECC Dual Error Interrupt Clear + 5 + 1 + + + NVME + NVM Error Interrupt Clear + 6 + 1 + + + SUSP + Suspended Write Or Erase Interrupt Clear + 7 + 1 + + + SEESFULL + Active SEES Full Interrupt Clear + 8 + 1 + + + SEESOVF + Active SEES Overflow Interrupt Clear + 9 + 1 + + + SEEWRC + SEE Write Completed Interrupt Clear + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x0E + 16 + + + DONE + Command Done Interrupt Enable + 0 + 1 + + + ADDRE + Address Error Interrupt Enable + 1 + 1 + + + PROGE + Programming Error Interrupt Enable + 2 + 1 + + + LOCKE + Lock Error Interrupt Enable + 3 + 1 + + + ECCSE + ECC Single Error Interrupt Enable + 4 + 1 + + + ECCDE + ECC Dual Error Interrupt Enable + 5 + 1 + + + NVME + NVM Error Interrupt Enable + 6 + 1 + + + SUSP + Suspended Write Or Erase Interrupt Enable + 7 + 1 + + + SEESFULL + Active SEES Full Interrupt Enable + 8 + 1 + + + SEESOVF + Active SEES Overflow Interrupt Enable + 9 + 1 + + + SEEWRC + SEE Write Completed Interrupt Enable + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x10 + 16 + + + DONE + Command Done + 0 + 1 + + + ADDRE + Address Error + 1 + 1 + + + PROGE + Programming Error + 2 + 1 + + + LOCKE + Lock Error + 3 + 1 + + + ECCSE + ECC Single Error + 4 + 1 + read-only + + + ECCDE + ECC Dual Error + 5 + 1 + read-only + + + NVME + NVM Error + 6 + 1 + + + SUSP + Suspended Write Or Erase Operation + 7 + 1 + + + SEESFULL + Active SEES Full + 8 + 1 + + + SEESOVF + Active SEES Overflow + 9 + 1 + + + SEEWRC + SEE Write Completed + 10 + 1 + + + + + STATUS + Status + 0x12 + 16 + read-only + + + READY + Ready to accept a command + 0 + 1 + read-only + + + PRM + Power Reduction Mode + 1 + 1 + read-only + + + LOAD + NVM Page Buffer Active Loading + 2 + 1 + read-only + + + SUSP + NVM Write Or Erase Operation Is Suspended + 3 + 1 + read-only + + + AFIRST + BANKA First + 4 + 1 + read-only + + + BPDIS + Boot Loader Protection Disable + 5 + 1 + read-only + + + BOOTPROT + Boot Loader Protection Size + 8 + 4 + read-only + + + + + ADDR + Address + 0x14 + 32 + + + ADDR + NVM Address + 0 + 24 + + + + + RUNLOCK + Lock Section + 0x18 + 32 + read-only + + + RUNLOCK + Region Un-Lock Bits + 0 + 32 + read-only + + + + + 2 + 0x4 + PBLDATA%s + Page Buffer Load Data x + 0x1C + 32 + read-only + 0xFFFFFFFF + + + DATA + Page Buffer Data + 0 + 32 + read-only + + + + + ECCERR + ECC Error Status Register + 0x24 + 32 + read-only + + + ADDR + Error Address + 0 + 24 + read-only + + + TYPEL + Low Double-Word Error Type + 28 + 2 + read-only + + TYPELSelect + + None + No Error Detected Since Last Read + 0x0 + + + Single + At Least One Single Error Detected Since last Read + 0x1 + + + Dual + At Least One Dual Error Detected Since Last Read + 0x2 + + + + + TYPEH + High Double-Word Error Type + 30 + 2 + read-only + + TYPEHSelect + + None + No Error Detected Since Last Read + 0x0 + + + Single + At Least One Single Error Detected Since last Read + 0x1 + + + Dual + At Least One Dual Error Detected Since Last Read + 0x2 + + + + + + + DBGCTRL + Debug Control + 0x28 + 8 + + + ECCDIS + Debugger ECC Read Disable + 0 + 1 + + + ECCELOG + Debugger ECC Error Tracking Mode + 1 + 1 + + + + + SEECFG + SmartEEPROM Configuration Register + 0x2A + 8 + + + WMODE + Write Mode + 0 + 1 + + WMODESelect + + UNBUFFERED + A NVM write command is issued after each write in the pagebuffer + 0x0 + + + BUFFERED + A NVM write command is issued when a write to a new page is requested + 0x1 + + + + + APRDIS + Automatic Page Reallocation Disable + 1 + 1 + + + + + SEESTAT + SmartEEPROM Status Register + 0x2C + 32 + read-only + + + ASEES + Active SmartEEPROM Sector + 0 + 1 + read-only + + + LOAD + Page Buffer Loaded + 1 + 1 + read-only + + + BUSY + Busy + 2 + 1 + read-only + + + LOCK + SmartEEPROM Write Access Is Locked + 3 + 1 + read-only + + + RLOCK + SmartEEPROM Write Access To Register Address Space Is Locked + 4 + 1 + read-only + + + SBLK + Blocks Number In a Sector + 8 + 4 + read-only + + + PSZ + SmartEEPROM Page Size + 16 + 3 + read-only + + + + + + + OSCCTRL + 1.0.0 + Oscillators Control + OSCCTRL + OSCCTRL_ + 0x40001000 + + 0 + 0x100 + registers + + + OSCCTRL_INTREQ_0 + 2 + + + OSCCTRL_INTREQ_1 + 3 + + + OSCCTRL_INTREQ_2 + 4 + + + OSCCTRL_INTREQ_3 + 5 + + + OSCCTRL_INTREQ_4 + 6 + + + + EVCTRL + Event Control + 0x00 + 8 + + + CFDEO0 + Clock 0 Failure Detector Event Output Enable + 0 + 1 + + + CFDEO1 + Clock 1 Failure Detector Event Output Enable + 1 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 32 + + + XOSCRDY0 + XOSC 0 Ready Interrupt Enable + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready Interrupt Enable + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector Interrupt Enable + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector Interrupt Enable + 3 + 1 + + + DFLLRDY + DFLL Ready Interrupt Enable + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds Interrupt Enable + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine Interrupt Enable + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse Interrupt Enable + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped Interrupt Enable + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise Interrupt Enable + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall Interrupt Enable + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout Interrupt Enable + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete Interrupt Enable + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise Interrupt Enable + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall Interrupt Enable + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout Interrupt Enable + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete Interrupt Enable + 27 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x08 + 32 + + + XOSCRDY0 + XOSC 0 Ready Interrupt Enable + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready Interrupt Enable + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector Interrupt Enable + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector Interrupt Enable + 3 + 1 + + + DFLLRDY + DFLL Ready Interrupt Enable + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds Interrupt Enable + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine Interrupt Enable + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse Interrupt Enable + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped Interrupt Enable + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise Interrupt Enable + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall Interrupt Enable + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout Interrupt Enable + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete Interrupt Enable + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise Interrupt Enable + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall Interrupt Enable + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout Interrupt Enable + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete Interrupt Enable + 27 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0C + 32 + + + XOSCRDY0 + XOSC 0 Ready + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector + 3 + 1 + + + DFLLRDY + DFLL Ready + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete + 27 + 1 + + + + + STATUS + Status + 0x10 + 32 + read-only + + + XOSCRDY0 + XOSC 0 Ready + 0 + 1 + read-only + + + XOSCRDY1 + XOSC 1 Ready + 1 + 1 + read-only + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector + 2 + 1 + read-only + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector + 3 + 1 + read-only + + + XOSCCKSW0 + XOSC 0 Clock Switch + 4 + 1 + read-only + + + XOSCCKSW1 + XOSC 1 Clock Switch + 5 + 1 + read-only + + + DFLLRDY + DFLL Ready + 8 + 1 + read-only + + + DFLLOOB + DFLL Out Of Bounds + 9 + 1 + read-only + + + DFLLLCKF + DFLL Lock Fine + 10 + 1 + read-only + + + DFLLLCKC + DFLL Lock Coarse + 11 + 1 + read-only + + + DFLLRCS + DFLL Reference Clock Stopped + 12 + 1 + read-only + + + DPLL0LCKR + DPLL0 Lock Rise + 16 + 1 + read-only + + + DPLL0LCKF + DPLL0 Lock Fall + 17 + 1 + read-only + + + DPLL0TO + DPLL0 Timeout + 18 + 1 + read-only + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete + 19 + 1 + read-only + + + DPLL1LCKR + DPLL1 Lock Rise + 24 + 1 + read-only + + + DPLL1LCKF + DPLL1 Lock Fall + 25 + 1 + read-only + + + DPLL1TO + DPLL1 Timeout + 26 + 1 + read-only + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete + 27 + 1 + read-only + + + + + 2 + 0x4 + XOSCCTRL%s + External Multipurpose Crystal Oscillator Control + 0x14 + 32 + 0x00000080 + + + ENABLE + Oscillator Enable + 1 + 1 + + + XTALEN + Crystal Oscillator Enable + 2 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + LOWBUFGAIN + Low Buffer Gain Enable + 8 + 1 + + + IPTAT + Oscillator Current Reference + 9 + 2 + + + IMULT + Oscillator Current Multiplier + 11 + 4 + + + ENALC + Automatic Loop Control Enable + 15 + 1 + + + CFDEN + Clock Failure Detector Enable + 16 + 1 + + + SWBEN + Xosc Clock Switch Enable + 17 + 1 + + + STARTUP + Start-Up Time + 20 + 4 + + + CFDPRESC + Clock Failure Detector Prescaler + 24 + 4 + + + + + DFLLCTRLA + DFLL48M Control A + 0x1C + 8 + 0x82 + + + ENABLE + DFLL Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + + + DFLLCTRLB + DFLL48M Control B + 0x20 + 8 + + + MODE + Operating Mode Selection + 0 + 1 + + + STABLE + Stable DFLL Frequency + 1 + 1 + + + LLAW + Lose Lock After Wake + 2 + 1 + + + USBCRM + USB Clock Recovery Mode + 3 + 1 + + + CCDIS + Chill Cycle Disable + 4 + 1 + + + QLDIS + Quick Lock Disable + 5 + 1 + + + BPLCKC + Bypass Coarse Lock + 6 + 1 + + + WAITLOCK + Wait Lock + 7 + 1 + + + + + DFLLVAL + DFLL48M Value + 0x24 + 32 + + + FINE + Fine Value + 0 + 8 + + + COARSE + Coarse Value + 10 + 6 + + + DIFF + Multiplication Ratio Difference + 16 + 16 + read-only + + + + + DFLLMUL + DFLL48M Multiplier + 0x28 + 32 + + + MUL + DFLL Multiply Factor + 0 + 16 + + + FSTEP + Fine Maximum Step + 16 + 8 + + + CSTEP + Coarse Maximum Step + 26 + 6 + + + + + DFLLSYNC + DFLL48M Synchronization + 0x2C + 8 + + + ENABLE + ENABLE Synchronization Busy + 1 + 1 + read-only + + + DFLLCTRLB + DFLLCTRLB Synchronization Busy + 2 + 1 + read-only + + + DFLLVAL + DFLLVAL Synchronization Busy + 3 + 1 + read-only + + + DFLLMUL + DFLLMUL Synchronization Busy + 4 + 1 + read-only + + + + + 2 + 0x14 + DPLLCTRLA%s + DPLL Control A + 0x30 + 8 + 0x80 + + + ENABLE + DPLL Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + + + 2 + 0x14 + DPLLRATIO%s + DPLL Ratio Control + 0x34 + 32 + + + LDR + Loop Divider Ratio + 0 + 13 + + + LDRFRAC + Loop Divider Ratio Fractional Part + 16 + 5 + + + + + 2 + 0x14 + DPLLCTRLB%s + DPLL Control B + 0x38 + 32 + 0x00000020 + + + FILTER + Proportional Integral Filter Selection + 0 + 4 + + + WUF + Wake Up Fast + 4 + 1 + + + REFCLK + Reference Clock Selection + 5 + 3 + + REFCLKSelect + + GCLK + Dedicated GCLK clock reference + 0x0 + + + XOSC32 + XOSC32K clock reference + 0x1 + + + XOSC0 + XOSC0 clock reference + 0x2 + + + XOSC1 + XOSC1 clock reference + 0x3 + + + + + LTIME + Lock Time + 8 + 3 + + LTIMESelect + + DEFAULT + No time-out. Automatic lock + 0x0 + + + 800US + Time-out if no lock within 800us + 0x4 + + + 900US + Time-out if no lock within 900us + 0x5 + + + 1MS + Time-out if no lock within 1ms + 0x6 + + + 1P1MS + Time-out if no lock within 1.1ms + 0x7 + + + + + LBYPASS + Lock Bypass + 11 + 1 + + + DCOFILTER + Sigma-Delta DCO Filter Selection + 12 + 3 + + + DCOEN + DCO Filter Enable + 15 + 1 + + + DIV + Clock Divider + 16 + 11 + + + + + 2 + 0x14 + DPLLSYNCBUSY%s + DPLL Synchronization Busy + 0x3C + 32 + read-only + + + ENABLE + DPLL Enable Synchronization Status + 1 + 1 + read-only + + + DPLLRATIO + DPLL Loop Divider Ratio Synchronization Status + 2 + 1 + read-only + + + + + 2 + 0x14 + DPLLSTATUS%s + DPLL Status + 0x40 + 32 + read-only + + + LOCK + DPLL Lock Status + 0 + 1 + read-only + + + CLKRDY + DPLL Clock Ready + 1 + 1 + read-only + + + + + + + OSC32KCTRL + 1.0.0 + 32kHz Oscillators Control + OSC32KCTRL + OSC32KCTRL_ + 0x40001400 + + 0 + 0x40 + registers + + + OSC32KCTRL_INTREQ + 7 + + + + INTENCLR + Interrupt Enable Clear + 0x00 + 32 + + + XOSC32KRDY + XOSC32K Ready Interrupt Enable + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector Interrupt Enable + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x04 + 32 + + + XOSC32KRDY + XOSC32K Ready Interrupt Enable + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector Interrupt Enable + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x08 + 32 + + + XOSC32KRDY + XOSC32K Ready + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector + 2 + 1 + + + + + STATUS + Power and Clocks Status + 0x0C + 32 + read-only + + + XOSC32KRDY + XOSC32K Ready + 0 + 1 + read-only + + + XOSC32KFAIL + XOSC32K Clock Failure Detector + 2 + 1 + read-only + + + XOSC32KSW + XOSC32K Clock switch + 3 + 1 + read-only + + + + + RTCCTRL + RTC Clock Selection + 0x10 + 8 + + + RTCSEL + RTC Clock Selection + 0 + 3 + + RTCSELSelect + + ULP1K + 1.024kHz from 32kHz internal ULP oscillator + 0x0 + + + ULP32K + 32.768kHz from 32kHz internal ULP oscillator + 0x1 + + + XOSC1K + 1.024kHz from 32.768kHz internal oscillator + 0x4 + + + XOSC32K + 32.768kHz from 32.768kHz external crystal oscillator + 0x5 + + + + + + + XOSC32K + 32kHz External Crystal Oscillator (XOSC32K) Control + 0x14 + 16 + 0x2080 + + + ENABLE + Oscillator Enable + 1 + 1 + + + XTALEN + Crystal Oscillator Enable + 2 + 1 + + + EN32K + 32kHz Output Enable + 3 + 1 + + + EN1K + 1kHz Output Enable + 4 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + STARTUP + Oscillator Start-Up Time + 8 + 3 + + + WRTLOCK + Write Lock + 12 + 1 + + + CGM + Control Gain Mode + 13 + 2 + + CGMSelect + + XT + Standard mode + 0x1 + + + HS + High Speed mode + 0x2 + + + + + + + CFDCTRL + Clock Failure Detector Control + 0x16 + 8 + + + CFDEN + Clock Failure Detector Enable + 0 + 1 + + + SWBACK + Clock Switch Back + 1 + 1 + + + CFDPRESC + Clock Failure Detector Prescaler + 2 + 1 + + + + + EVCTRL + Event Control + 0x17 + 8 + + + CFDEO + Clock Failure Detector Event Output Enable + 0 + 1 + + + + + OSCULP32K + 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control + 0x1C + 32 + + + EN32K + Enable Out 32k + 1 + 1 + + + EN1K + Enable Out 1k + 2 + 1 + + + CALIB + Oscillator Calibration + 8 + 6 + + + WRTLOCK + Write Lock + 15 + 1 + + + + + + + PAC + 1.2.0 + Peripheral Access Controller + PAC + PAC_ + 0x40000000 + + 0 + 0x80 + registers + + + PAC_INTREQ + 41 + + + + WRCTRL + Write control + 0x00 + 32 + + + PERID + Peripheral identifier + 0 + 16 + + + KEY + Peripheral access control key + 16 + 8 + + KEYSelect + + OFF + No action + 0x0 + + + CLR + Clear protection + 0x1 + + + SET + Set protection + 0x2 + + + SETLCK + Set and lock protection + 0x3 + + + + + + + EVCTRL + Event control + 0x04 + 8 + + + ERREO + Peripheral acess error event output + 0 + 1 + + + + + INTENCLR + Interrupt enable clear + 0x08 + 8 + + + ERR + Peripheral access error interrupt disable + 0 + 1 + + + + + INTENSET + Interrupt enable set + 0x09 + 8 + + + ERR + Peripheral access error interrupt enable + 0 + 1 + + + + + INTFLAGAHB + Bridge interrupt flag status + 0x10 + 32 + + + FLASH_ + FLASH + 0 + 1 + + + FLASH_ALT_ + FLASH_ALT + 1 + 1 + + + SEEPROM_ + SEEPROM + 2 + 1 + + + RAMCM4S_ + RAMCM4S + 3 + 1 + + + RAMPPPDSU_ + RAMPPPDSU + 4 + 1 + + + RAMDMAWR_ + RAMDMAWR + 5 + 1 + + + RAMDMACICM_ + RAMDMACICM + 6 + 1 + + + HPB0_ + HPB0 + 7 + 1 + + + HPB1_ + HPB1 + 8 + 1 + + + HPB2_ + HPB2 + 9 + 1 + + + HPB3_ + HPB3 + 10 + 1 + + + PUKCC_ + PUKCC + 11 + 1 + + + SDHC0_ + SDHC0 + 12 + 1 + + + SDHC1_ + SDHC1 + 13 + 1 + + + QSPI_ + QSPI + 14 + 1 + + + BKUPRAM_ + BKUPRAM + 15 + 1 + + + + + INTFLAGA + Peripheral interrupt flag status - Bridge A + 0x14 + 32 + + + PAC_ + PAC + 0 + 1 + + + PM_ + PM + 1 + 1 + + + MCLK_ + MCLK + 2 + 1 + + + RSTC_ + RSTC + 3 + 1 + + + OSCCTRL_ + OSCCTRL + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL + 5 + 1 + + + SUPC_ + SUPC + 6 + 1 + + + GCLK_ + GCLK + 7 + 1 + + + WDT_ + WDT + 8 + 1 + + + RTC_ + RTC + 9 + 1 + + + EIC_ + EIC + 10 + 1 + + + FREQM_ + FREQM + 11 + 1 + + + SERCOM0_ + SERCOM0 + 12 + 1 + + + SERCOM1_ + SERCOM1 + 13 + 1 + + + TC0_ + TC0 + 14 + 1 + + + TC1_ + TC1 + 15 + 1 + + + + + INTFLAGB + Peripheral interrupt flag status - Bridge B + 0x18 + 32 + + + USB_ + USB + 0 + 1 + + + DSU_ + DSU + 1 + 1 + + + NVMCTRL_ + NVMCTRL + 2 + 1 + + + CMCC_ + CMCC + 3 + 1 + + + PORT_ + PORT + 4 + 1 + + + DMAC_ + DMAC + 5 + 1 + + + HMATRIX_ + HMATRIX + 6 + 1 + + + EVSYS_ + EVSYS + 7 + 1 + + + SERCOM2_ + SERCOM2 + 9 + 1 + + + SERCOM3_ + SERCOM3 + 10 + 1 + + + TCC0_ + TCC0 + 11 + 1 + + + TCC1_ + TCC1 + 12 + 1 + + + TC2_ + TC2 + 13 + 1 + + + TC3_ + TC3 + 14 + 1 + + + TAL_ + TAL + 15 + 1 + + + RAMECC_ + RAMECC + 16 + 1 + + + + + INTFLAGC + Peripheral interrupt flag status - Bridge C + 0x1C + 32 + + + CAN0_ + CAN0 + 0 + 1 + + + CAN1_ + CAN1 + 1 + 1 + + + GMAC_ + GMAC + 2 + 1 + + + TCC2_ + TCC2 + 3 + 1 + + + TCC3_ + TCC3 + 4 + 1 + + + TC4_ + TC4 + 5 + 1 + + + TC5_ + TC5 + 6 + 1 + + + PDEC_ + PDEC + 7 + 1 + + + AC_ + AC + 8 + 1 + + + AES_ + AES + 9 + 1 + + + TRNG_ + TRNG + 10 + 1 + + + ICM_ + ICM + 11 + 1 + + + PUKCC_ + PUKCC + 12 + 1 + + + QSPI_ + QSPI + 13 + 1 + + + CCL_ + CCL + 14 + 1 + + + + + INTFLAGD + Peripheral interrupt flag status - Bridge D + 0x20 + 32 + + + SERCOM4_ + SERCOM4 + 0 + 1 + + + SERCOM5_ + SERCOM5 + 1 + 1 + + + SERCOM6_ + SERCOM6 + 2 + 1 + + + SERCOM7_ + SERCOM7 + 3 + 1 + + + TCC4_ + TCC4 + 4 + 1 + + + TC6_ + TC6 + 5 + 1 + + + TC7_ + TC7 + 6 + 1 + + + ADC0_ + ADC0 + 7 + 1 + + + ADC1_ + ADC1 + 8 + 1 + + + DAC_ + DAC + 9 + 1 + + + I2S_ + I2S + 10 + 1 + + + PCC_ + PCC + 11 + 1 + + + + + STATUSA + Peripheral write protection status - Bridge A + 0x34 + 32 + read-only + 0x00010000 + + + PAC_ + PAC APB Protect Enable + 0 + 1 + + + PM_ + PM APB Protect Enable + 1 + 1 + + + MCLK_ + MCLK APB Protect Enable + 2 + 1 + + + RSTC_ + RSTC APB Protect Enable + 3 + 1 + + + OSCCTRL_ + OSCCTRL APB Protect Enable + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL APB Protect Enable + 5 + 1 + + + SUPC_ + SUPC APB Protect Enable + 6 + 1 + + + GCLK_ + GCLK APB Protect Enable + 7 + 1 + + + WDT_ + WDT APB Protect Enable + 8 + 1 + + + RTC_ + RTC APB Protect Enable + 9 + 1 + + + EIC_ + EIC APB Protect Enable + 10 + 1 + + + FREQM_ + FREQM APB Protect Enable + 11 + 1 + + + SERCOM0_ + SERCOM0 APB Protect Enable + 12 + 1 + + + SERCOM1_ + SERCOM1 APB Protect Enable + 13 + 1 + + + TC0_ + TC0 APB Protect Enable + 14 + 1 + + + TC1_ + TC1 APB Protect Enable + 15 + 1 + + + + + STATUSB + Peripheral write protection status - Bridge B + 0x38 + 32 + read-only + 0x00000002 + + + USB_ + USB APB Protect Enable + 0 + 1 + + + DSU_ + DSU APB Protect Enable + 1 + 1 + + + NVMCTRL_ + NVMCTRL APB Protect Enable + 2 + 1 + + + CMCC_ + CMCC APB Protect Enable + 3 + 1 + + + PORT_ + PORT APB Protect Enable + 4 + 1 + + + DMAC_ + DMAC APB Protect Enable + 5 + 1 + + + HMATRIX_ + HMATRIX APB Protect Enable + 6 + 1 + + + EVSYS_ + EVSYS APB Protect Enable + 7 + 1 + + + SERCOM2_ + SERCOM2 APB Protect Enable + 9 + 1 + + + SERCOM3_ + SERCOM3 APB Protect Enable + 10 + 1 + + + TCC0_ + TCC0 APB Protect Enable + 11 + 1 + + + TCC1_ + TCC1 APB Protect Enable + 12 + 1 + + + TC2_ + TC2 APB Protect Enable + 13 + 1 + + + TC3_ + TC3 APB Protect Enable + 14 + 1 + + + TAL_ + TAL APB Protect Enable + 15 + 1 + + + RAMECC_ + RAMECC APB Protect Enable + 16 + 1 + + + + + STATUSC + Peripheral write protection status - Bridge C + 0x3C + 32 + read-only + + + CAN0_ + CAN0 APB Protect Enable + 0 + 1 + + + CAN1_ + CAN1 APB Protect Enable + 1 + 1 + + + GMAC_ + GMAC APB Protect Enable + 2 + 1 + + + TCC2_ + TCC2 APB Protect Enable + 3 + 1 + + + TCC3_ + TCC3 APB Protect Enable + 4 + 1 + + + TC4_ + TC4 APB Protect Enable + 5 + 1 + + + TC5_ + TC5 APB Protect Enable + 6 + 1 + + + PDEC_ + PDEC APB Protect Enable + 7 + 1 + + + AC_ + AC APB Protect Enable + 8 + 1 + + + AES_ + AES APB Protect Enable + 9 + 1 + + + TRNG_ + TRNG APB Protect Enable + 10 + 1 + + + ICM_ + ICM APB Protect Enable + 11 + 1 + + + PUKCC_ + PUKCC APB Protect Enable + 12 + 1 + + + QSPI_ + QSPI APB Protect Enable + 13 + 1 + + + CCL_ + CCL APB Protect Enable + 14 + 1 + + + + + STATUSD + Peripheral write protection status - Bridge D + 0x40 + 32 + read-only + + + SERCOM4_ + SERCOM4 APB Protect Enable + 0 + 1 + + + SERCOM5_ + SERCOM5 APB Protect Enable + 1 + 1 + + + SERCOM6_ + SERCOM6 APB Protect Enable + 2 + 1 + + + SERCOM7_ + SERCOM7 APB Protect Enable + 3 + 1 + + + TCC4_ + TCC4 APB Protect Enable + 4 + 1 + + + TC6_ + TC6 APB Protect Enable + 5 + 1 + + + TC7_ + TC7 APB Protect Enable + 6 + 1 + + + ADC0_ + ADC0 APB Protect Enable + 7 + 1 + + + ADC1_ + ADC1 APB Protect Enable + 8 + 1 + + + DAC_ + DAC APB Protect Enable + 9 + 1 + + + I2S_ + I2S APB Protect Enable + 10 + 1 + + + PCC_ + PCC APB Protect Enable + 11 + 1 + + + + + + + PCC + 1.1.0 + Parallel Capture Controller + PCC + PCC_ + 0x43002C00 + + 0 + 0x100 + registers + + + PCC_INTREQ + 129 + + + + MR + Mode Register + 0x00 + 32 + + + PCEN + Parallel Capture Enable + 0 + 1 + + + DSIZE + Data size + 4 + 2 + + + SCALE + Scale data + 8 + 1 + + + ALWYS + Always Sampling + 9 + 1 + + + HALFS + Half Sampling + 10 + 1 + + + FRSTS + First sample + 11 + 1 + + + ISIZE + Input Data Size + 16 + 3 + + + CID + Clear If Disabled + 30 + 2 + + + + + IER + Interrupt Enable Register + 0x04 + 32 + write-only + + + DRDY + Data Ready Interrupt Enable + 0 + 1 + + + OVRE + Overrun Error Interrupt Enable + 1 + 1 + + + + + IDR + Interrupt Disable Register + 0x08 + 32 + write-only + + + DRDY + Data Ready Interrupt Disable + 0 + 1 + + + OVRE + Overrun Error Interrupt Disable + 1 + 1 + + + + + IMR + Interrupt Mask Register + 0x0C + 32 + read-only + + + DRDY + Data Ready Interrupt Mask + 0 + 1 + + + OVRE + Overrun Error Interrupt Mask + 1 + 1 + + + + + ISR + Interrupt Status Register + 0x10 + 32 + read-only + + + DRDY + Data Ready Interrupt Status + 0 + 1 + + + OVRE + Overrun Error Interrupt Status + 1 + 1 + + + + + RHR + Reception Holding Register + 0x14 + 32 + read-only + + + RDATA + Reception Data + 0 + 32 + + + + + WPMR + Write Protection Mode Register + 0xE0 + 32 + + + WPEN + Write Protection Enable + 0 + 1 + + + WPKEY + Write Protection Key + 8 + 24 + + + + + WPSR + Write Protection Status Register + 0xE4 + 32 + read-only + + + WPVS + Write Protection Violation Source + 0 + 1 + + + WPVSRC + Write Protection Violation Status + 8 + 16 + + + + + + + PDEC + 1.0.0 + Quadrature Decodeur + PDEC + PDEC_ + 0x42001C00 + + 0 + 0x40 + registers + + + PDEC_INTREQ_0 + 115 + + + PDEC_INTREQ_1 + 116 + + + PDEC_INTREQ_2 + 117 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operation Mode + 2 + 2 + + MODESelect + + QDEC + QDEC operating mode + 0x0 + + + HALL + HALL operating mode + 0x1 + + + COUNTER + COUNTER operating mode + 0x2 + + + + + RUNSTDBY + Run in Standby + 6 + 1 + + + CONF + PDEC Configuration + 8 + 3 + + CONFSelect + + X4 + Quadrature decoder direction + 0x0 + + + X4S + Secure Quadrature decoder direction + 0x1 + + + X2 + Decoder direction + 0x2 + + + X2S + Secure decoder direction + 0x3 + + + AUTOC + Auto correction mode + 0x4 + + + + + ALOCK + Auto Lock + 11 + 1 + + + SWAP + PDEC Phase A and B Swap + 14 + 1 + + + PEREN + Period Enable + 15 + 1 + + + PINEN0 + PDEC Input From Pin 0 Enable + 16 + 1 + + + PINEN1 + PDEC Input From Pin 1 Enable + 17 + 1 + + + PINEN2 + PDEC Input From Pin 2 Enable + 18 + 1 + + + PINVEN0 + IO Pin 0 Invert Enable + 20 + 1 + + + PINVEN1 + IO Pin 1 Invert Enable + 21 + 1 + + + PINVEN2 + IO Pin 2 Invert Enable + 22 + 1 + + + ANGULAR + Angular Counter Length + 24 + 3 + + + MAXCMP + Maximum Consecutive Missing Pulses + 28 + 4 + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + LUPD + Lock Update + 1 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a counter restart or retrigger + 0x1 + + + UPDATE + Force update of double buffered registers + 0x2 + + + READSYNC + Force a read synchronization of COUNT + 0x3 + + + START + Start QDEC/HALL + 0x4 + + + STOP + Stop QDEC/HALL + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + LUPD + Lock Update + 1 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a counter restart or retrigger + 0x1 + + + UPDATE + Force update of double buffered registers + 0x2 + + + READSYNC + Force a read synchronization of COUNT + 0x3 + + + Start + Start QDEC/HALL + 0x4 + + + Stop + Stop QDEC/HALL + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 2 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger on event + 0x1 + + + COUNT + Count on event + 0x2 + + + + + EVINV + Inverted Event Input Enable + 2 + 3 + + + EVEI + Event Input Enable + 5 + 3 + + + OVFEO + Overflow/Underflow Output Event Enable + 8 + 1 + + + ERREO + Error Output Event Enable + 9 + 1 + + + DIREO + Direction Output Event Enable + 10 + 1 + + + VLCEO + Velocity Output Event Enable + 11 + 1 + + + MCEO0 + Match Channel 0 Event Output Enable + 12 + 1 + + + MCEO1 + Match Channel 1 Event Output Enable + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + Overflow/Underflow Interrupt Disable + 0 + 1 + + + ERR + Error Interrupt Disable + 1 + 1 + + + DIR + Direction Interrupt Disable + 2 + 1 + + + VLC + Velocity Interrupt Disable + 3 + 1 + + + MC0 + Channel 0 Compare Match Disable + 4 + 1 + + + MC1 + Channel 1 Compare Match Disable + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + Overflow/Underflow Interrupt Enable + 0 + 1 + + + ERR + Error Interrupt Enable + 1 + 1 + + + DIR + Direction Interrupt Enable + 2 + 1 + + + VLC + Velocity Interrupt Enable + 3 + 1 + + + MC0 + Channel 0 Compare Match Enable + 4 + 1 + + + MC1 + Channel 1 Compare Match Enable + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + Overflow/Underflow + 0 + 1 + + + ERR + Error + 1 + 1 + + + DIR + Direction Change + 2 + 1 + + + VLC + Velocity + 3 + 1 + + + MC0 + Channel 0 Compare Match + 4 + 1 + + + MC1 + Channel 1 Compare Match + 5 + 1 + + + + + STATUS + Status + 0x0C + 16 + 0x0040 + + + QERR + Quadrature Error Flag + 0 + 1 + + + IDXERR + Index Error Flag + 1 + 1 + + + MPERR + Missing Pulse Error flag + 2 + 1 + + + WINERR + Window Error Flag + 4 + 1 + + + HERR + Hall Error Flag + 5 + 1 + + + STOP + Stop + 6 + 1 + read-only + + + DIR + Direction Status Flag + 7 + 1 + read-only + + + PRESCBUFV + Prescaler Buffer Valid + 8 + 1 + read-only + + + FILTERBUFV + Filter Buffer Valid + 9 + 1 + read-only + + + CCBUFV0 + Compare Channel 0 Buffer Valid + 12 + 1 + read-only + + + CCBUFV1 + Compare Channel 1 Buffer Valid + 13 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Debug Run Mode + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + + + ENABLE + Enable Synchronization Busy + 1 + 1 + + + CTRLB + Control B Synchronization Busy + 2 + 1 + + + STATUS + Status Synchronization Busy + 3 + 1 + + + PRESC + Prescaler Synchronization Busy + 4 + 1 + + + FILTER + Filter Synchronization Busy + 5 + 1 + + + COUNT + Count Synchronization Busy + 6 + 1 + + + CC0 + Compare Channel 0 Synchronization Busy + 7 + 1 + + + CC1 + Compare Channel 1 Synchronization Busy + 8 + 1 + + + + + PRESC + Prescaler Value + 0x14 + 8 + + + PRESC + Prescaler Value + 0 + 4 + + PRESCSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV32 + Divide by 32 + 0x5 + + + DIV64 + Divide by 64 + 0x6 + + + DIV128 + Divide by 128 + 0x7 + + + DIV256 + Divide by 256 + 0x8 + + + DIV512 + Divide by 512 + 0x9 + + + DIV1024 + Divide by 1024 + 0xa + + + + + + + FILTER + Filter Value + 0x15 + 8 + + + FILTER + Filter Value + 0 + 8 + + + + + PRESCBUF + Prescaler Buffer Value + 0x18 + 8 + + + PRESCBUF + Prescaler Buffer Value + 0 + 4 + + PRESCBUFSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV32 + Divide by 32 + 0x5 + + + DIV64 + Divide by 64 + 0x6 + + + DIV128 + Divide by 128 + 0x7 + + + DIV256 + Divide by 256 + 0x8 + + + DIV512 + Divide by 512 + 0x9 + + + DIV1024 + Divide by 1024 + 0xa + + + + + + + FILTERBUF + Filter Buffer Value + 0x19 + 8 + + + FILTERBUF + Filter Buffer Value + 0 + 8 + + + + + COUNT + Counter Value + 0x1C + 32 + + + COUNT + Counter Value + 0 + 16 + + + + + 2 + 0x4 + CC%s + Channel n Compare Value + 0x20 + 32 + + + CC + Channel Compare Value + 0 + 16 + + + + + 2 + 0x4 + CCBUF%s + Channel Compare Buffer Value + 0x30 + 32 + + + CCBUF + Channel Compare Buffer Value + 0 + 16 + + + + + + + PM + 1.0.0 + Power Manager + PM + PM_ + 0x40000400 + + 0 + 0x40 + registers + + + PM_INTREQ + 0 + + + + CTRLA + Control A + 0x00 + 8 + + + IORET + I/O Retention + 2 + 1 + + + + + SLEEPCFG + Sleep Configuration + 0x01 + 8 + 0x02 + + + SLEEPMODE + Sleep Mode + 0 + 3 + + SLEEPMODESelect + + IDLE0 + CPU clock is OFF + 0x0 + + + IDLE1 + AHB clock is OFF + 0x1 + + + IDLE2 + APB clock are OFF + 0x2 + + + STANDBY + All Clocks are OFF + 0x4 + + + HIBERNATE + Backup domain is ON as well as some PDRAMs + 0x5 + + + BACKUP + Only Backup domain is powered ON + 0x6 + + + OFF + All power domains are powered OFF + 0x7 + + + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready Enable + 0 + 1 + write-only + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready + 0 + 1 + + + + + STDBYCFG + Standby Configuration + 0x08 + 8 + + + RAMCFG + Ram Configuration + 0 + 2 + + RAMCFGSelect + + RET + All the RAMs are retained + 0x0 + + + PARTIAL + Only the first 32K bytes are retained + 0x1 + + + OFF + All the RAMs are OFF + 0x2 + + + + + FASTWKUP + Fast Wakeup + 4 + 2 + + + + + HIBCFG + Hibernate Configuration + 0x09 + 8 + + + RAMCFG + Ram Configuration + 0 + 2 + + + BRAMCFG + Backup Ram Configuration + 2 + 2 + + + + + BKUPCFG + Backup Configuration + 0x0A + 8 + + + BRAMCFG + Ram Configuration + 0 + 2 + + + + + PWSAKDLY + Power Switch Acknowledge Delay + 0x12 + 8 + + + DLYVAL + Delay Value + 0 + 7 + + + IGNACK + Ignore Acknowledge + 7 + 1 + + + + + + + PORT + 2.2.0 + Port Module + PORT + PORT_ + 0x41008000 + + 0 + 0x200 + registers + + + + 3 + 0x80 + DIR%s + Data Direction + 0x00 + 32 + + + DIR + Port Data Direction + 0 + 32 + + + + + 3 + 0x80 + DIRCLR%s + Data Direction Clear + 0x04 + 32 + + + DIRCLR + Port Data Direction Clear + 0 + 32 + + + + + 3 + 0x80 + DIRSET%s + Data Direction Set + 0x08 + 32 + + + DIRSET + Port Data Direction Set + 0 + 32 + + + + + 3 + 0x80 + DIRTGL%s + Data Direction Toggle + 0x0C + 32 + + + DIRTGL + Port Data Direction Toggle + 0 + 32 + + + + + 3 + 0x80 + OUT%s + Data Output Value + 0x10 + 32 + + + OUT + PORT Data Output Value + 0 + 32 + + + + + 3 + 0x80 + OUTCLR%s + Data Output Value Clear + 0x14 + 32 + + + OUTCLR + PORT Data Output Value Clear + 0 + 32 + + + + + 3 + 0x80 + OUTSET%s + Data Output Value Set + 0x18 + 32 + + + OUTSET + PORT Data Output Value Set + 0 + 32 + + + + + 3 + 0x80 + OUTTGL%s + Data Output Value Toggle + 0x1C + 32 + + + OUTTGL + PORT Data Output Value Toggle + 0 + 32 + + + + + 3 + 0x80 + IN%s + Data Input Value + 0x20 + 32 + read-only + + + IN + PORT Data Input Value + 0 + 32 + read-only + + + + + 3 + 0x80 + CTRL%s + Control + 0x24 + 32 + + + SAMPLING + Input Sampling Mode + 0 + 32 + write-only + + + + + 3 + 0x80 + WRCONFIG%s + Write Configuration + 0x28 + 32 + write-only + + + PINMASK + Pin Mask for Multiple Pin Configuration + 0 + 16 + write-only + + + PMUXEN + Peripheral Multiplexer Enable + 16 + 1 + write-only + + + INEN + Input Enable + 17 + 1 + write-only + + + PULLEN + Pull Enable + 18 + 1 + write-only + + + DRVSTR + Output Driver Strength Selection + 22 + 1 + write-only + + + PMUX + Peripheral Multiplexing + 24 + 4 + write-only + + + WRPMUX + Write PMUX + 28 + 1 + write-only + + + WRPINCFG + Write PINCFG + 30 + 1 + write-only + + + HWSEL + Half-Word Select + 31 + 1 + write-only + + + + + 3 + 0x80 + EVCTRL%s + Event Input Control + 0x2C + 32 + + + PID0 + PORT Event Pin Identifier 0 + 0 + 5 + + + EVACT0 + PORT Event Action 0 + 5 + 2 + + EVACT0Select + + OUT + Event output to pin + 0x0 + + + SET + Set output register of pin on event + 0x1 + + + CLR + Clear output register of pin on event + 0x2 + + + TGL + Toggle output register of pin on event + 0x3 + + + + + PORTEI0 + PORT Event Input Enable 0 + 7 + 1 + + + PID1 + PORT Event Pin Identifier 1 + 8 + 5 + + + EVACT1 + PORT Event Action 1 + 13 + 2 + + + PORTEI1 + PORT Event Input Enable 1 + 15 + 1 + + + PID2 + PORT Event Pin Identifier 2 + 16 + 5 + + + EVACT2 + PORT Event Action 2 + 21 + 2 + + + PORTEI2 + PORT Event Input Enable 2 + 23 + 1 + + + PID3 + PORT Event Pin Identifier 3 + 24 + 5 + + + EVACT3 + PORT Event Action 3 + 29 + 2 + + + PORTEI3 + PORT Event Input Enable 3 + 31 + 1 + + + + + 16 + 0x1 + PMUX0_%s + Peripheral Multiplexing - Group 0 + 0x30 + 8 + + + PMUXE + Peripheral Multiplexing for Even-Numbered Pin + 0 + 4 + + + PMUXO + Peripheral Multiplexing for Odd-Numbered Pin + 4 + 4 + + + + + 16 + 0x1 + PMUX1_%s + Peripheral Multiplexing - Group 1 + 0xb0 + + + 16 + 0x1 + PMUX2_%s + Peripheral Multiplexing - Group 2 + 0x130 + + + 32 + 0x1 + PINCFG0_%s + Pin Configuration - Group 0 + 0x40 + 8 + + + PMUXEN + Peripheral Multiplexer Enable + 0 + 1 + + + INEN + Input Enable + 1 + 1 + + + PULLEN + Pull Enable + 2 + 1 + + + DRVSTR + Output Driver Strength Selection + 6 + 1 + + + + + 32 + 0x1 + PINCFG1_%s + Pin Configuration - Group 1 + 0xc0 + + + 32 + 0x1 + PINCFG2_%s + Pin Configuration - Group 2 + 0x140 + + + + + QSPI + 1.6.3 + Quad SPI interface + QSPI + QSPI_ + 0x42003400 + + 0 + 0x80 + registers + + + QSPI_INTREQ + 134 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + LASTXFER + Last Transfer + 24 + 1 + write-only + + + + + CTRLB + Control B + 0x04 + 32 + + + MODE + Serial Memory Mode + 0 + 1 + + MODESelect + + SPI + SPI operating mode + 0x0 + + + MEMORY + Serial Memory operating mode + 0x1 + + + + + LOOPEN + Local Loopback Enable + 1 + 1 + + + WDRBT + Wait Data Read Before Transfer + 2 + 1 + + + SMEMREG + Serial Memory reg + 3 + 1 + + + CSMODE + Chip Select Mode + 4 + 2 + + CSMODESelect + + NORELOAD + The chip select is deasserted if TD has not been reloaded before the end of the current transfer. + 0x0 + + + LASTXFER + The chip select is deasserted when the bit LASTXFER is written at 1 and the character written in TD has been transferred. + 0x1 + + + SYSTEMATICALLY + The chip select is deasserted systematically after each transfer. + 0x2 + + + + + DATALEN + Data Length + 8 + 4 + + DATALENSelect + + 8BITS + 8-bits transfer + 0x0 + + + 9BITS + 9 bits transfer + 0x1 + + + 10BITS + 10-bits transfer + 0x2 + + + 11BITS + 11-bits transfer + 0x3 + + + 12BITS + 12-bits transfer + 0x4 + + + 13BITS + 13-bits transfer + 0x5 + + + 14BITS + 14-bits transfer + 0x6 + + + 15BITS + 15-bits transfer + 0x7 + + + 16BITS + 16-bits transfer + 0x8 + + + + + DLYBCT + Delay Between Consecutive Transfers + 16 + 8 + + + DLYCS + Minimum Inactive CS Delay + 24 + 8 + + + + + BAUD + Baud Rate + 0x08 + 32 + + + CPOL + Clock Polarity + 0 + 1 + + + CPHA + Clock Phase + 1 + 1 + + + BAUD + Serial Clock Baud Rate + 8 + 8 + + + DLYBS + Delay Before SCK + 16 + 8 + + + + + RXDATA + Receive Data + 0x0C + 32 + read-only + + + DATA + Receive Data + 0 + 16 + read-only + + + + + TXDATA + Transmit Data + 0x10 + 32 + write-only + + + DATA + Transmit Data + 0 + 16 + write-only + + + + + INTENCLR + Interrupt Enable Clear + 0x14 + 32 + + + RXC + Receive Data Register Full Interrupt Disable + 0 + 1 + + + DRE + Transmit Data Register Empty Interrupt Disable + 1 + 1 + + + TXC + Transmission Complete Interrupt Disable + 2 + 1 + + + ERROR + Overrun Error Interrupt Disable + 3 + 1 + + + CSRISE + Chip Select Rise Interrupt Disable + 8 + 1 + + + INSTREND + Instruction End Interrupt Disable + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x18 + 32 + + + RXC + Receive Data Register Full Interrupt Enable + 0 + 1 + + + DRE + Transmit Data Register Empty Interrupt Enable + 1 + 1 + + + TXC + Transmission Complete Interrupt Enable + 2 + 1 + + + ERROR + Overrun Error Interrupt Enable + 3 + 1 + + + CSRISE + Chip Select Rise Interrupt Enable + 8 + 1 + + + INSTREND + Instruction End Interrupt Enable + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x1C + 32 + + + RXC + Receive Data Register Full + 0 + 1 + + + DRE + Transmit Data Register Empty + 1 + 1 + + + TXC + Transmission Complete + 2 + 1 + + + ERROR + Overrun Error + 3 + 1 + + + CSRISE + Chip Select Rise + 8 + 1 + + + INSTREND + Instruction End + 10 + 1 + + + + + STATUS + Status Register + 0x20 + 32 + read-only + 0x00000200 + + + ENABLE + Enable + 1 + 1 + read-only + + + CSSTATUS + Chip Select + 9 + 1 + read-only + + + + + INSTRADDR + Instruction Address + 0x30 + 32 + + + ADDR + Instruction Address + 0 + 32 + + + + + INSTRCTRL + Instruction Code + 0x34 + 32 + + + INSTR + Instruction Code + 0 + 8 + + + OPTCODE + Option Code + 16 + 8 + + + + + INSTRFRAME + Instruction Frame + 0x38 + 32 + + + WIDTH + Instruction Code, Address, Option Code and Data Width + 0 + 3 + + WIDTHSelect + + SINGLE_BIT_SPI + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Single-bit SPI + 0x0 + + + DUAL_OUTPUT + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Dual SPI + 0x1 + + + QUAD_OUTPUT + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Quad SPI + 0x2 + + + DUAL_IO + Instruction: Single-bit SPI / Address-Option: Dual SPI / Data: Dual SPI + 0x3 + + + QUAD_IO + Instruction: Single-bit SPI / Address-Option: Quad SPI / Data: Quad SPI + 0x4 + + + DUAL_CMD + Instruction: Dual SPI / Address-Option: Dual SPI / Data: Dual SPI + 0x5 + + + QUAD_CMD + Instruction: Quad SPI / Address-Option: Quad SPI / Data: Quad SPI + 0x6 + + + + + INSTREN + Instruction Enable + 4 + 1 + + + ADDREN + Address Enable + 5 + 1 + + + OPTCODEEN + Option Enable + 6 + 1 + + + DATAEN + Data Enable + 7 + 1 + + + OPTCODELEN + Option Code Length + 8 + 2 + + OPTCODELENSelect + + 1BIT + 1-bit length option code + 0x0 + + + 2BITS + 2-bits length option code + 0x1 + + + 4BITS + 4-bits length option code + 0x2 + + + 8BITS + 8-bits length option code + 0x3 + + + + + ADDRLEN + Address Length + 10 + 1 + + ADDRLENSelect + + 24BITS + 24-bits address length + 0x0 + + + 32BITS + 32-bits address length + 0x1 + + + + + TFRTYPE + Data Transfer Type + 12 + 2 + + TFRTYPESelect + + READ + Read transfer from the serial memory.Scrambling is not performed.Read at random location (fetch) in the serial flash memory is not possible. + 0x0 + + + READMEMORY + Read data transfer from the serial memory.If enabled, scrambling is performed.Read at random location (fetch) in the serial flash memory is possible. + 0x1 + + + WRITE + Write transfer into the serial memory.Scrambling is not performed. + 0x2 + + + WRITEMEMORY + Write data transfer into the serial memory.If enabled, scrambling is performed. + 0x3 + + + + + CRMODE + Continuous Read Mode + 14 + 1 + + + DDREN + Double Data Rate Enable + 15 + 1 + + + DUMMYLEN + Dummy Cycles Length + 16 + 5 + + + + + SCRAMBCTRL + Scrambling Mode + 0x40 + 32 + + + ENABLE + Scrambling/Unscrambling Enable + 0 + 1 + + + RANDOMDIS + Scrambling/Unscrambling Random Value Disable + 1 + 1 + + + + + SCRAMBKEY + Scrambling Key + 0x44 + 32 + write-only + + + KEY + Scrambling User Key + 0 + 32 + write-only + + + + + + + RAMECC + 1.0.0 + RAM ECC + RAMECC + RAMECC_ + 0x41020000 + + 0 + 0x10 + registers + + + RAMECC_INTREQ + 45 + + + + INTENCLR + Interrupt Enable Clear + 0x0 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt Enable Clear + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt Enable Clear + 1 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x1 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt Enable Set + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt Enable Set + 1 + 1 + + + + + INTFLAG + Interrupt Flag + 0x2 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt + 1 + 1 + + + + + STATUS + Status + 0x3 + 8 + read-only + + + ECCDIS + ECC Disable + 0 + 1 + read-only + + + + + ERRADDR + Error Address + 0x4 + 32 + read-only + + + ERRADDR + Error Address + 0 + 17 + read-only + + + + + DBGCTRL + Debug Control + 0xF + 8 + + + ECCDIS + ECC Disable + 0 + 1 + + + ECCELOG + ECC Error Log + 1 + 1 + + + + + + + RSTC + 4.0.0 + Reset Controller + RSTC + RSTC_ + 0x40000C00 + + 0 + 0x20 + registers + + + + RCAUSE + Reset Cause + 0x00 + 8 + read-only + + + POR + Power On Reset + 0 + 1 + + + BODCORE + Brown Out CORE Detector Reset + 1 + 1 + + + BODVDD + Brown Out VDD Detector Reset + 2 + 1 + + + NVM + NVM Reset + 3 + 1 + + + EXT + External Reset + 4 + 1 + + + WDT + Watchdog Reset + 5 + 1 + + + SYST + System Reset Request + 6 + 1 + + + BACKUP + Backup Reset + 7 + 1 + + + + + BKUPEXIT + Backup Exit Source + 0x02 + 8 + read-only + + + RTC + Real Timer Counter Interrupt + 1 + 1 + read-only + + + BBPS + Battery Backup Power Switch + 2 + 1 + read-only + + + HIB + Hibernate + 7 + 1 + read-only + + + + + + + RTC + 2.1.0 + Real-Time Counter + RTC + RTC_ + 0x40002400 + + 0 + 0x100 + registers + + + RTC_INTREQ + 11 + + + + MODE0 + 32-bit Counter with Single 32-bit Compare + RtcMode0 + 0x0 + + CTRLA + MODE0 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + MATCHCLR + Clear on Match + 7 + 1 + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + COUNTSYNC + Count Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE0 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE0 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + CMPEO0 + Compare 0 Event Output Enable + 8 + 1 + + + CMPEO1 + Compare 1 Event Output Enable + 9 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE0 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + write-only + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + write-only + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + write-only + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + write-only + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + write-only + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + write-only + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + write-only + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + write-only + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE0 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE0 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + CMP0 + Compare 0 + 8 + 1 + + + CMP1 + Compare 1 + 9 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE0 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + COUNT + COUNT Register Busy + 3 + 1 + read-only + + + COMP0 + COMP 0 Register Busy + 5 + 1 + read-only + + + COMP1 + COMP 1 Register Busy + 6 + 1 + read-only + + + COUNTSYNC + Count Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + COUNT + MODE0 Counter Value + 0x18 + 32 + + + COUNT + Counter Value + 0 + 32 + + + + + 2 + 0x4 + COMP%s + MODE0 Compare n Value + 0x20 + 32 + + + COMP + Compare Value + 0 + 32 + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE0 Timestamp + 0x64 + 32 + read-only + + + COUNT + Count Timestamp Value + 0 + 32 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + MODE1 + 16-bit Counter with Two 16-bit Compares + MODE0 + RtcMode1 + 0x0 + + CTRLA + MODE1 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + COUNTSYNC + Count Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE1 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE1 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + CMPEO0 + Compare 0 Event Output Enable + 8 + 1 + + + CMPEO1 + Compare 1 Event Output Enable + 9 + 1 + + + CMPEO2 + Compare 2 Event Output Enable + 10 + 1 + + + CMPEO3 + Compare 3 Event Output Enable + 11 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE1 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + CMP2 + Compare 2 Interrupt Enable + 10 + 1 + + + CMP3 + Compare 3 Interrupt Enable + 11 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE1 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + CMP2 + Compare 2 Interrupt Enable + 10 + 1 + + + CMP3 + Compare 3 Interrupt Enable + 11 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE1 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + CMP0 + Compare 0 + 8 + 1 + + + CMP1 + Compare 1 + 9 + 1 + + + CMP2 + Compare 2 + 10 + 1 + + + CMP3 + Compare 3 + 11 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE1 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Bit Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + COUNT + COUNT Register Busy + 3 + 1 + read-only + + + PER + PER Register Busy + 4 + 1 + read-only + + + COMP0 + COMP 0 Register Busy + 5 + 1 + read-only + + + COMP1 + COMP 1 Register Busy + 6 + 1 + read-only + + + COMP2 + COMP 2 Register Busy + 7 + 1 + read-only + + + COMP3 + COMP 3 Register Busy + 8 + 1 + read-only + + + COUNTSYNC + Count Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + COUNT + MODE1 Counter Value + 0x18 + 16 + + + COUNT + Counter Value + 0 + 16 + + + + + PER + MODE1 Counter Period + 0x1C + 16 + + + PER + Counter Period + 0 + 16 + + + + + 4 + 0x2 + COMP%s + MODE1 Compare n Value + 0x20 + 16 + + + COMP + Compare Value + 0 + 16 + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE1 Timestamp + 0x64 + 32 + read-only + + + COUNT + Count Timestamp Value + 0 + 16 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + MODE2 + Clock/Calendar with Alarm + MODE0 + RtcMode2 + 0x0 + + CTRLA + MODE2 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + CLKREP + Clock Representation + 6 + 1 + + + MATCHCLR + Clear on Match + 7 + 1 + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + CLOCKSYNC + Clock Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE2 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE2 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + ALARMEO0 + Alarm 0 Event Output Enable + 8 + 1 + + + ALARMEO1 + Alarm 1 Event Output Enable + 9 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE2 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + ALARM0 + Alarm 0 Interrupt Enable + 8 + 1 + + + ALARM1 + Alarm 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE2 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Enable + 7 + 1 + + + ALARM0 + Alarm 0 Interrupt Enable + 8 + 1 + + + ALARM1 + Alarm 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE2 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + ALARM0 + Alarm 0 + 8 + 1 + + + ALARM1 + Alarm 1 + 9 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE2 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Bit Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + CLOCK + CLOCK Register Busy + 3 + 1 + read-only + + + ALARM0 + ALARM 0 Register Busy + 5 + 1 + read-only + + + ALARM1 + ALARM 1 Register Busy + 6 + 1 + read-only + + + MASK0 + MASK 0 Register Busy + 11 + 1 + read-only + + + MASK1 + MASK 1 Register Busy + 12 + 1 + read-only + + + CLOCKSYNC + Clock Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + CLOCK + MODE2 Clock Value + 0x18 + 32 + + + SECOND + Second + 0 + 6 + + + MINUTE + Minute + 6 + 6 + + + HOUR + Hour + 12 + 5 + + HOURSelect + + AM + AM when CLKREP in 12-hour + 0x0 + + + PM + PM when CLKREP in 12-hour + 0x10 + + + + + DAY + Day + 17 + 5 + + + MONTH + Month + 22 + 4 + + + YEAR + Year + 26 + 6 + + + + + 2 + 0x8 + ALARM%s + MODE2 Alarm n Value + 0x20 + 32 + + + SECOND + Second + 0 + 6 + + + MINUTE + Minute + 6 + 6 + + + HOUR + Hour + 12 + 5 + + HOURSelect + + AM + Morning hour + 0x0 + + + PM + Afternoon hour + 0x10 + + + + + DAY + Day + 17 + 5 + + + MONTH + Month + 22 + 4 + + + YEAR + Year + 26 + 6 + + + + + 2 + 0x8 + MASK%s + MODE2 Alarm n Mask + 0x24 + 8 + + + SEL + Alarm Mask Selection + 0 + 3 + + SELSelect + + OFF + Alarm Disabled + 0x0 + + + SS + Match seconds only + 0x1 + + + MMSS + Match seconds and minutes only + 0x2 + + + HHMMSS + Match seconds, minutes, and hours only + 0x3 + + + DDHHMMSS + Match seconds, minutes, hours, and days only + 0x4 + + + MMDDHHMMSS + Match seconds, minutes, hours, days, and months only + 0x5 + + + YYMMDDHHMMSS + Match seconds, minutes, hours, days, months, and years + 0x6 + + + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE2 Timestamp + 0x64 + 32 + read-only + + + SECOND + Second Timestamp Value + 0 + 6 + read-only + + + MINUTE + Minute Timestamp Value + 6 + 6 + read-only + + + HOUR + Hour Timestamp Value + 12 + 5 + read-only + + HOURSelect + + AM + AM when CLKREP in 12-hour + 0x0 + + + PM + PM when CLKREP in 12-hour + 0x10 + + + + + DAY + Day Timestamp Value + 17 + 5 + read-only + + + MONTH + Month Timestamp Value + 22 + 4 + read-only + + + YEAR + Year Timestamp Value + 26 + 6 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + + + SDHC0 + 1.8.3 + SD/MMC Host Controller 0 + SDHC + SDHC_ + 0x45000000 + + 0 + 0x00000C00 + registers + + + SDHC0_INTREQ + 135 + + + + SSAR + SDMA System Address / Argument 2 + 0x000 + 32 + + + ADDR + SDMA System Address + 0 + 32 + + + + + SSAR_CMD23 + SDMA System Address / Argument 2 + SSAR + 0x000 + 32 + + + ARG2 + Argument 2 + 0 + 32 + + + + + BSR + Block Size + 0x004 + 16 + + + BLOCKSIZE + Transfer Block Size + 0 + 10 + + + BOUNDARY + SDMA Buffer Boundary + 12 + 3 + + BOUNDARYSelect + + 4K + 4k bytes + 0x0 + + + 8K + 8k bytes + 0x1 + + + 16K + 16k bytes + 0x2 + + + 32K + 32k bytes + 0x3 + + + 64K + 64k bytes + 0x4 + + + 128K + 128k bytes + 0x5 + + + 256K + 256k bytes + 0x6 + + + 512K + 512k bytes + 0x7 + + + + + + + BCR + Block Count + 0x006 + 16 + + + BCNT + Blocks Count for Current Transfer + 0 + 16 + + + + + ARG1R + Argument 1 + 0x008 + 32 + + + ARG + Argument 1 + 0 + 32 + + + + + TMR + Transfer Mode + 0x00C + 16 + + + DMAEN + DMA Enable + 0 + 1 + + DMAENSelect + + DISABLE + No data transfer or Non DMA data transfer + 0x0 + + + ENABLE + DMA data transfer + 0x1 + + + + + BCEN + Block Count Enable + 1 + 1 + + BCENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + ACMDEN + Auto Command Enable + 2 + 2 + + ACMDENSelect + + DISABLED + Auto Command Disabled + 0x0 + + + CMD12 + Auto CMD12 Enable + 0x1 + + + CMD23 + Auto CMD23 Enable + 0x2 + + + + + DTDSEL + Data Transfer Direction Selection + 4 + 1 + + DTDSELSelect + + WRITE + Write (Host to Card) + 0x0 + + + READ + Read (Card to Host) + 0x1 + + + + + MSBSEL + Multi/Single Block Selection + 5 + 1 + + MSBSELSelect + + SINGLE + Single Block + 0x0 + + + MULTIPLE + Multiple Block + 0x1 + + + + + + + CR + Command + 0x00E + 16 + + + RESPTYP + Response Type + 0 + 2 + + RESPTYPSelect + + NONE + No response + 0x0 + + + 136_BIT + 136-bit response + 0x1 + + + 48_BIT + 48-bit response + 0x2 + + + 48_BIT_BUSY + 48-bit response check busy after response + 0x3 + + + + + CMDCCEN + Command CRC Check Enable + 3 + 1 + + CMDCCENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + CMDICEN + Command Index Check Enable + 4 + 1 + + CMDICENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + DPSEL + Data Present Select + 5 + 1 + + DPSELSelect + + NO_DATA + No Data Present + 0x0 + + + DATA + Data Present + 0x1 + + + + + CMDTYP + Command Type + 6 + 2 + + CMDTYPSelect + + NORMAL + Other commands + 0x0 + + + SUSPEND + CMD52 for writing Bus Suspend in CCCR + 0x1 + + + RESUME + CMD52 for writing Function Select in CCCR + 0x2 + + + ABORT + CMD12, CMD52 for writing I/O Abort in CCCR + 0x3 + + + + + CMDIDX + Command Index + 8 + 6 + + + + + 4 + 0x4 + RR%s + Response + 0x010 + 32 + read-only + + + CMDRESP + Command Response + 0 + 32 + + + + + BDPR + Buffer Data Port + 0x020 + 32 + + + BUFDATA + Buffer Data + 0 + 32 + + + + + PSR + Present State + 0x024 + 32 + read-only + 0x00F80000 + + + CMDINHC + Command Inhibit (CMD) + 0 + 1 + + CMDINHCSelect + + CAN + Can issue command using only CMD line + 0x0 + + + CANNOT + Cannot issue command + 0x1 + + + + + CMDINHD + Command Inhibit (DAT) + 1 + 1 + + CMDINHDSelect + + CAN + Can issue command which uses the DAT line + 0x0 + + + CANNOT + Cannot issue command which uses the DAT line + 0x1 + + + + + DLACT + DAT Line Active + 2 + 1 + + DLACTSelect + + INACTIVE + DAT Line Inactive + 0x0 + + + ACTIVE + DAT Line Active + 0x1 + + + + + RTREQ + Re-Tuning Request + 3 + 1 + + RTREQSelect + + OK + Fixed or well-tuned sampling clock + 0x0 + + + REQUIRED + Sampling clock needs re-tuning + 0x1 + + + + + WTACT + Write Transfer Active + 8 + 1 + + WTACTSelect + + NO + No valid data + 0x0 + + + YES + Transferring data + 0x1 + + + + + RTACT + Read Transfer Active + 9 + 1 + + RTACTSelect + + NO + No valid data + 0x0 + + + YES + Transferring data + 0x1 + + + + + BUFWREN + Buffer Write Enable + 10 + 1 + + BUFWRENSelect + + DISABLE + Write disable + 0x0 + + + ENABLE + Write enable + 0x1 + + + + + BUFRDEN + Buffer Read Enable + 11 + 1 + + BUFRDENSelect + + DISABLE + Read disable + 0x0 + + + ENABLE + Read enable + 0x1 + + + + + CARDINS + Card Inserted + 16 + 1 + + CARDINSSelect + + NO + Reset or Debouncing or No Card + 0x0 + + + YES + Card inserted + 0x1 + + + + + CARDSS + Card State Stable + 17 + 1 + + CARDSSSelect + + NO + Reset or Debouncing + 0x0 + + + YES + No Card or Insered + 0x1 + + + + + CARDDPL + Card Detect Pin Level + 18 + 1 + + CARDDPLSelect + + NO + No card present (SDCD#=1) + 0x0 + + + YES + Card present (SDCD#=0) + 0x1 + + + + + WRPPL + Write Protect Pin Level + 19 + 1 + + WRPPLSelect + + PROTECTED + Write protected (SDWP#=0) + 0x0 + + + ENABLED + Write enabled (SDWP#=1) + 0x1 + + + + + DATLL + DAT[3:0] Line Level + 20 + 4 + + + CMDLL + CMD Line Level + 24 + 1 + + + + + HC1R + Host Control 1 + 0x028 + 8 + 0xE00 + + + LEDCTRL + LED Control + 0 + 1 + + LEDCTRLSelect + + OFF + LED off + 0x0 + + + ON + LED on + 0x1 + + + + + DW + Data Width + 1 + 1 + + DWSelect + + 1BIT + 1-bit mode + 0x0 + + + 4BIT + 4-bit mode + 0x1 + + + + + HSEN + High Speed Enable + 2 + 1 + + HSENSelect + + NORMAL + Normal Speed mode + 0x0 + + + HIGH + High Speed mode + 0x1 + + + + + DMASEL + DMA Select + 3 + 2 + + DMASELSelect + + SDMA + SDMA is selected + 0x0 + + + 32BIT + 32-bit Address ADMA2 is selected + 0x2 + + + + + CARDDTL + Card Detect Test Level + 6 + 1 + + CARDDTLSelect + + NO + No Card + 0x0 + + + YES + Card Inserted + 0x1 + + + + + CARDDSEL + Card Detect Signal Selection + 7 + 1 + + CARDDSELSelect + + NORMAL + SDCD# is selected (for normal use) + 0x0 + + + TEST + The Card Select Test Level is selected (for test purpose) + 0x1 + + + + + + + HC1R_EMMC + Host Control 1 + HC1R + 0x028 + 8 + 0xE00 + + + DW + Data Width + 1 + 1 + + DWSelect + + 1BIT + 1-bit mode + 0x0 + + + 4BIT + 4-bit mode + 0x1 + + + + + HSEN + High Speed Enable + 2 + 1 + + HSENSelect + + NORMAL + Normal Speed mode + 0x0 + + + HIGH + High Speed mode + 0x1 + + + + + DMASEL + DMA Select + 3 + 2 + + DMASELSelect + + SDMA + SDMA is selected + 0x0 + + + 32BIT + 32-bit Address ADMA2 is selected + 0x2 + + + + + + + PCR + Power Control + 0x029 + 8 + 0x0E + + + SDBPWR + SD Bus Power + 0 + 1 + + SDBPWRSelect + + OFF + Power off + 0x0 + + + ON + Power on + 0x1 + + + + + SDBVSEL + SD Bus Voltage Select + 1 + 3 + + SDBVSELSelect + + 1V8 + 1.8V (Typ.) + 0x5 + + + 3V0 + 3.0V (Typ.) + 0x6 + + + 3V3 + 3.3V (Typ.) + 0x7 + + + + + + + BGCR + Block Gap Control + 0x02A + 8 + + + STPBGR + Stop at Block Gap Request + 0 + 1 + + STPBGRSelect + + TRANSFER + Transfer + 0x0 + + + STOP + Stop + 0x1 + + + + + CONTR + Continue Request + 1 + 1 + + CONTRSelect + + GO_ON + Not affected + 0x0 + + + RESTART + Restart + 0x1 + + + + + RWCTRL + Read Wait Control + 2 + 1 + + RWCTRLSelect + + DISABLE + Disable Read Wait Control + 0x0 + + + ENABLE + Enable Read Wait Control + 0x1 + + + + + INTBG + Interrupt at Block Gap + 3 + 1 + + INTBGSelect + + DISABLED + Disabled + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + BGCR_EMMC + Block Gap Control + BGCR + 0x02A + 8 + + + STPBGR + Stop at Block Gap Request + 0 + 1 + + STPBGRSelect + + TRANSFER + Transfer + 0x0 + + + STOP + Stop + 0x1 + + + + + CONTR + Continue Request + 1 + 1 + + CONTRSelect + + GO_ON + Not affected + 0x0 + + + RESTART + Restart + 0x1 + + + + + + + WCR + Wakeup Control + 0x02B + 8 + + + WKENCINT + Wakeup Event Enable on Card Interrupt + 0 + 1 + + WKENCINTSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + WKENCINS + Wakeup Event Enable on Card Insertion + 1 + 1 + + WKENCINSSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + WKENCREM + Wakeup Event Enable on Card Removal + 2 + 1 + + WKENCREMSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + + + CCR + Clock Control + 0x02C + 16 + + + INTCLKEN + Internal Clock Enable + 0 + 1 + + INTCLKENSelect + + OFF + Stop + 0x0 + + + ON + Oscillate + 0x1 + + + + + INTCLKS + Internal Clock Stable + 1 + 1 + read-only + + INTCLKSSelect + + NOT_READY + Not Ready + 0x0 + + + READY + Ready + 0x1 + + + + + SDCLKEN + SD Clock Enable + 2 + 1 + + SDCLKENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + CLKGSEL + Clock Generator Select + 5 + 1 + + CLKGSELSelect + + DIV + Divided Clock Mode + 0x0 + + + PROG + Programmable Clock Mode + 0x1 + + + + + USDCLKFSEL + Upper Bits of SDCLK Frequency Select + 6 + 2 + + + SDCLKFSEL + SDCLK Frequency Select + 8 + 8 + + + + + TCR + Timeout Control + 0x02E + 8 + + + DTCVAL + Data Timeout Counter Value + 0 + 4 + + + + + SRR + Software Reset + 0x02F + 8 + + + SWRSTALL + Software Reset For All + 0 + 1 + + SWRSTALLSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + SWRSTCMD + Software Reset For CMD Line + 1 + 1 + + SWRSTCMDSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + SWRSTDAT + Software Reset For DAT Line + 2 + 1 + + SWRSTDATSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + + + NISTR + Normal Interrupt Status + 0x030 + 16 + + + CMDC + Command Complete + 0 + 1 + + CMDCSelect + + NO + No command complete + 0x0 + + + YES + Command complete + 0x1 + + + + + TRFC + Transfer Complete + 1 + 1 + + TRFCSelect + + NO + Not complete + 0x0 + + + YES + Command execution is completed + 0x1 + + + + + BLKGE + Block Gap Event + 2 + 1 + + BLKGESelect + + NO + No Block Gap Event + 0x0 + + + STOP + Transaction stopped at block gap + 0x1 + + + + + DMAINT + DMA Interrupt + 3 + 1 + + DMAINTSelect + + NO + No DMA Interrupt + 0x0 + + + YES + DMA Interrupt is generated + 0x1 + + + + + BWRRDY + Buffer Write Ready + 4 + 1 + + BWRRDYSelect + + NO + Not ready to write buffer + 0x0 + + + YES + Ready to write buffer + 0x1 + + + + + BRDRDY + Buffer Read Ready + 5 + 1 + + BRDRDYSelect + + NO + Not ready to read buffer + 0x0 + + + YES + Ready to read buffer + 0x1 + + + + + CINS + Card Insertion + 6 + 1 + + CINSSelect + + NO + Card state stable or Debouncing + 0x0 + + + YES + Card inserted + 0x1 + + + + + CREM + Card Removal + 7 + 1 + + CREMSelect + + NO + Card state stable or Debouncing + 0x0 + + + YES + Card Removed + 0x1 + + + + + CINT + Card Interrupt + 8 + 1 + read-only + + CINTSelect + + NO + No Card Interrupt + 0x0 + + + YES + Generate Card Interrupt + 0x1 + + + + + ERRINT + Error Interrupt + 15 + 1 + read-only + + ERRINTSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + NISTR_EMMC + Normal Interrupt Status + NISTR + 0x030 + 16 + + + CMDC + Command Complete + 0 + 1 + + CMDCSelect + + NO + No command complete + 0x0 + + + YES + Command complete + 0x1 + + + + + TRFC + Transfer Complete + 1 + 1 + + TRFCSelect + + NO + Not complete + 0x0 + + + YES + Command execution is completed + 0x1 + + + + + BLKGE + Block Gap Event + 2 + 1 + + BLKGESelect + + NO + No Block Gap Event + 0x0 + + + STOP + Transaction stopped at block gap + 0x1 + + + + + DMAINT + DMA Interrupt + 3 + 1 + + DMAINTSelect + + NO + No DMA Interrupt + 0x0 + + + YES + DMA Interrupt is generated + 0x1 + + + + + BWRRDY + Buffer Write Ready + 4 + 1 + + BWRRDYSelect + + NO + Not ready to write buffer + 0x0 + + + YES + Ready to write buffer + 0x1 + + + + + BRDRDY + Buffer Read Ready + 5 + 1 + + BRDRDYSelect + + NO + Not ready to read buffer + 0x0 + + + YES + Ready to read buffer + 0x1 + + + + + BOOTAR + Boot Acknowledge Received + 14 + 1 + + + ERRINT + Error Interrupt + 15 + 1 + read-only + + ERRINTSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + EISTR + Error Interrupt Status + 0x032 + 16 + + + CMDTEO + Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + CMDCRC + Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + CMDEND + Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + CMDIDX + Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATTEO + Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + DATCRC + Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATEND + Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + CURLIM + Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Error + 0x0 + + + YES + Power Fail + 0x1 + + + + + ACMD + Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + ADMA + ADMA Error + 9 + 1 + + ADMASelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + EISTR_EMMC + Error Interrupt Status + EISTR + 0x032 + 16 + + + CMDTEO + Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + CMDCRC + Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + CMDEND + Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + CMDIDX + Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATTEO + Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + DATCRC + Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATEND + Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + CURLIM + Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Error + 0x0 + + + YES + Power Fail + 0x1 + + + + + ACMD + Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + ADMA + ADMA Error + 9 + 1 + + ADMASelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + BOOTAE + Boot Acknowledge Error + 12 + 1 + + BOOTAESelect + + 0 + FIFO contains at least one byte + 0x0 + + + 1 + FIFO is empty + 0x1 + + + + + + + NISTER + Normal Interrupt Status Enable + 0x034 + 16 + + + CMDC + Command Complete Status Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Status Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Status Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Status Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Status Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Status Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINS + Card Insertion Status Enable + 6 + 1 + + CINSSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CREM + Card Removal Status Enable + 7 + 1 + + CREMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINT + Card Interrupt Status Enable + 8 + 1 + + CINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + NISTER_EMMC + Normal Interrupt Status Enable + NISTER + 0x034 + 16 + + + CMDC + Command Complete Status Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Status Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Status Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Status Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Status Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Status Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAR + Boot Acknowledge Received Status Enable + 14 + 1 + + + + + EISTER + Error Interrupt Status Enable + 0x036 + 16 + + + CMDTEO + Command Timeout Error Status Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Status Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Status Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Status Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Status Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Status Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Status Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Status Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Status Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Status Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + EISTER_EMMC + Error Interrupt Status Enable + EISTER + 0x036 + 16 + + + CMDTEO + Command Timeout Error Status Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Status Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Status Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Status Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Status Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Status Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Status Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Status Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Status Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Status Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAE + Boot Acknowledge Error Status Enable + 12 + 1 + + + + + NISIER + Normal Interrupt Signal Enable + 0x038 + 16 + + + CMDC + Command Complete Signal Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Signal Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Signal Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Signal Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Signal Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Signal Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINS + Card Insertion Signal Enable + 6 + 1 + + CINSSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CREM + Card Removal Signal Enable + 7 + 1 + + CREMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINT + Card Interrupt Signal Enable + 8 + 1 + + CINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + NISIER_EMMC + Normal Interrupt Signal Enable + NISIER + 0x038 + 16 + + + CMDC + Command Complete Signal Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Signal Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Signal Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Signal Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Signal Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Signal Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAR + Boot Acknowledge Received Signal Enable + 14 + 1 + + + + + EISIER + Error Interrupt Signal Enable + 0x03A + 16 + + + CMDTEO + Command Timeout Error Signal Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Signal Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Signal Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Signal Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Signal Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Signal Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Signal Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Signal Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Signal Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Signal Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + EISIER_EMMC + Error Interrupt Signal Enable + EISIER + 0x03A + 16 + + + CMDTEO + Command Timeout Error Signal Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Signal Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Signal Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Signal Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Signal Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Signal Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Signal Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Signal Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Signal Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Signal Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAE + Boot Acknowledge Error Signal Enable + 12 + 1 + + + + + ACESR + Auto CMD Error Status + 0x03C + 16 + read-only + + + ACMD12NE + Auto CMD12 Not Executed + 0 + 1 + read-only + + ACMD12NESelect + + EXEC + Executed + 0x0 + + + NOT_EXEC + Not executed + 0x1 + + + + + ACMDTEO + Auto CMD Timeout Error + 1 + 1 + read-only + + ACMDTEOSelect + + NO + No error + 0x0 + + + YES + Timeout + 0x1 + + + + + ACMDCRC + Auto CMD CRC Error + 2 + 1 + read-only + + ACMDCRCSelect + + NO + No error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + ACMDEND + Auto CMD End Bit Error + 3 + 1 + read-only + + ACMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + ACMDIDX + Auto CMD Index Error + 4 + 1 + read-only + + ACMDIDXSelect + + NO + No error + 0x0 + + + YES + Error + 0x1 + + + + + CMDNI + Command not Issued By Auto CMD12 Error + 7 + 1 + read-only + + CMDNISelect + + OK + No error + 0x0 + + + NOT_ISSUED + Not Issued + 0x1 + + + + + + + HC2R + Host Control 2 + 0x03E + 16 + + + UHSMS + UHS Mode Select + 0 + 3 + + UHSMSSelect + + SDR12 + SDR12 + 0x0 + + + SDR25 + SDR25 + 0x1 + + + SDR50 + SDR50 + 0x2 + + + SDR104 + SDR104 + 0x3 + + + DDR50 + DDR50 + 0x4 + + + + + VS18EN + 1.8V Signaling Enable + 3 + 1 + + VS18ENSelect + + S33V + 3.3V Signaling + 0x0 + + + S18V + 1.8V Signaling + 0x1 + + + + + DRVSEL + Driver Strength Select + 4 + 2 + + DRVSELSelect + + B + Driver Type B is Selected (Default) + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + EXTUN + Execute Tuning + 6 + 1 + + EXTUNSelect + + NO + Not Tuned or Tuning Completed + 0x0 + + + REQUESTED + Execute Tuning + 0x1 + + + + + SLCKSEL + Sampling Clock Select + 7 + 1 + + SLCKSELSelect + + FIXED + Fixed clock is used to sample data + 0x0 + + + TUNED + Tuned clock is used to sample data + 0x1 + + + + + ASINTEN + Asynchronous Interrupt Enable + 14 + 1 + + ASINTENSelect + + DISABLED + Disabled + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + PVALEN + Preset Value Enable + 15 + 1 + + PVALENSelect + + HOST + SDCLK and Driver Strength are controlled by Host Controller + 0x0 + + + AUTO + Automatic Selection by Preset Value is Enabled + 0x1 + + + + + + + HC2R_EMMC + Host Control 2 + HC2R + 0x03E + 16 + + + HS200EN + HS200 Mode Enable + 0 + 4 + + HS200ENSelect + + SDR12 + SDR12 + 0x0 + + + SDR25 + SDR25 + 0x1 + + + SDR50 + SDR50 + 0x2 + + + SDR104 + SDR104 + 0x3 + + + DDR50 + DDR50 + 0x4 + + + + + DRVSEL + Driver Strength Select + 4 + 2 + + DRVSELSelect + + B + Driver Type B is Selected (Default) + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + EXTUN + Execute Tuning + 6 + 1 + + EXTUNSelect + + NO + Not Tuned or Tuning Completed + 0x0 + + + REQUESTED + Execute Tuning + 0x1 + + + + + SLCKSEL + Sampling Clock Select + 7 + 1 + + SLCKSELSelect + + FIXED + Fixed clock is used to sample data + 0x0 + + + TUNED + Tuned clock is used to sample data + 0x1 + + + + + PVALEN + Preset Value Enable + 15 + 1 + + PVALENSelect + + HOST + SDCLK and Driver Strength are controlled by Host Controller + 0x0 + + + AUTO + Automatic Selection by Preset Value is Enabled + 0x1 + + + + + + + CA0R + Capabilities 0 + 0x040 + 32 + read-only + 0x27E80080 + + + TEOCLKF + Timeout Clock Frequency + 0 + 6 + + TEOCLKFSelect + + OTHER + Get information via another method + 0x0 + + + + + TEOCLKU + Timeout Clock Unit + 7 + 1 + + TEOCLKUSelect + + KHZ + kHz + 0x0 + + + MHZ + MHz + 0x1 + + + + + BASECLKF + Base Clock Frequency + 8 + 8 + + BASECLKFSelect + + OTHER + Get information via another method + 0x0 + + + + + MAXBLKL + Max Block Length + 16 + 2 + + MAXBLKLSelect + + 512 + 512 bytes + 0x0 + + + 1024 + 1024 bytes + 0x1 + + + 2048 + 2048 bytes + 0x2 + + + + + ED8SUP + 8-bit Support for Embedded Device + 18 + 1 + + ED8SUPSelect + + NO + 8-bit Bus Width not Supported + 0x0 + + + YES + 8-bit Bus Width Supported + 0x1 + + + + + ADMA2SUP + ADMA2 Support + 19 + 1 + + ADMA2SUPSelect + + NO + ADMA2 not Supported + 0x0 + + + YES + ADMA2 Supported + 0x1 + + + + + HSSUP + High Speed Support + 21 + 1 + + HSSUPSelect + + NO + High Speed not Supported + 0x0 + + + YES + High Speed Supported + 0x1 + + + + + SDMASUP + SDMA Support + 22 + 1 + + SDMASUPSelect + + NO + SDMA not Supported + 0x0 + + + YES + SDMA Supported + 0x1 + + + + + SRSUP + Suspend/Resume Support + 23 + 1 + + SRSUPSelect + + NO + Suspend/Resume not Supported + 0x0 + + + YES + Suspend/Resume Supported + 0x1 + + + + + V33VSUP + Voltage Support 3.3V + 24 + 1 + + V33VSUPSelect + + NO + 3.3V Not Supported + 0x0 + + + YES + 3.3V Supported + 0x1 + + + + + V30VSUP + Voltage Support 3.0V + 25 + 1 + + V30VSUPSelect + + NO + 3.0V Not Supported + 0x0 + + + YES + 3.0V Supported + 0x1 + + + + + V18VSUP + Voltage Support 1.8V + 26 + 1 + + V18VSUPSelect + + NO + 1.8V Not Supported + 0x0 + + + YES + 1.8V Supported + 0x1 + + + + + SB64SUP + 64-Bit System Bus Support + 28 + 1 + + SB64SUPSelect + + NO + 32-bit Address Descriptors and System Bus + 0x0 + + + YES + 64-bit Address Descriptors and System Bus + 0x1 + + + + + ASINTSUP + Asynchronous Interrupt Support + 29 + 1 + + ASINTSUPSelect + + NO + Asynchronous Interrupt not Supported + 0x0 + + + YES + Asynchronous Interrupt supported + 0x1 + + + + + SLTYPE + Slot Type + 30 + 2 + + SLTYPESelect + + REMOVABLE + Removable Card Slot + 0x0 + + + EMBEDDED + Embedded Slot for One Device + 0x1 + + + + + + + CA1R + Capabilities 1 + 0x044 + 32 + read-only + 0x00000070 + + + SDR50SUP + SDR50 Support + 0 + 1 + + SDR50SUPSelect + + NO + SDR50 is Not Supported + 0x0 + + + YES + SDR50 is Supported + 0x1 + + + + + SDR104SUP + SDR104 Support + 1 + 1 + + SDR104SUPSelect + + NO + SDR104 is Not Supported + 0x0 + + + YES + SDR104 is Supported + 0x1 + + + + + DDR50SUP + DDR50 Support + 2 + 1 + + DDR50SUPSelect + + NO + DDR50 is Not Supported + 0x0 + + + YES + DDR50 is Supported + 0x1 + + + + + DRVASUP + Driver Type A Support + 4 + 1 + + DRVASUPSelect + + NO + Driver Type A is Not Supported + 0x0 + + + YES + Driver Type A is Supported + 0x1 + + + + + DRVCSUP + Driver Type C Support + 5 + 1 + + DRVCSUPSelect + + NO + Driver Type C is Not Supported + 0x0 + + + YES + Driver Type C is Supported + 0x1 + + + + + DRVDSUP + Driver Type D Support + 6 + 1 + + DRVDSUPSelect + + NO + Driver Type D is Not Supported + 0x0 + + + YES + Driver Type D is Supported + 0x1 + + + + + TCNTRT + Timer Count for Re-Tuning + 8 + 4 + + TCNTRTSelect + + DISABLED + Re-Tuning Timer disabled + 0x0 + + + 1S + 1 second + 0x1 + + + 2S + 2 seconds + 0x2 + + + 4S + 4 seconds + 0x3 + + + 8S + 8 seconds + 0x4 + + + 16S + 16 seconds + 0x5 + + + 32S + 32 seconds + 0x6 + + + 64S + 64 seconds + 0x7 + + + 128S + 128 seconds + 0x8 + + + 256S + 256 seconds + 0x9 + + + 512S + 512 seconds + 0xa + + + 1024S + 1024 seconds + 0xb + + + OTHER + Get information from other source + 0xf + + + + + TSDR50 + Use Tuning for SDR50 + 13 + 1 + + TSDR50Select + + NO + SDR50 does not require tuning + 0x0 + + + YES + SDR50 requires tuning + 0x1 + + + + + CLKMULT + Clock Multiplier + 16 + 8 + + CLKMULTSelect + + NO + Clock Multiplier is Not Supported + 0x0 + + + + + + + MCCAR + Maximum Current Capabilities + 0x048 + 32 + read-only + + + MAXCUR33V + Maximum Current for 3.3V + 0 + 8 + + MAXCUR33VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + MAXCUR30V + Maximum Current for 3.0V + 8 + 8 + + MAXCUR30VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + MAXCUR18V + Maximum Current for 1.8V + 16 + 8 + + MAXCUR18VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + + + FERACES + Force Event for Auto CMD Error Status + 0x050 + 16 + write-only + + + ACMD12NE + Force Event for Auto CMD12 Not Executed + 0 + 1 + + ACMD12NESelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDTEO + Force Event for Auto CMD Timeout Error + 1 + 1 + + ACMDTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDCRC + Force Event for Auto CMD CRC Error + 2 + 1 + + ACMDCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDEND + Force Event for Auto CMD End Bit Error + 3 + 1 + + ACMDENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDIDX + Force Event for Auto CMD Index Error + 4 + 1 + + ACMDIDXSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDNI + Force Event for Command Not Issued By Auto CMD12 Error + 7 + 1 + + CMDNISelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + + + FEREIS + Force Event for Error Interrupt Status + 0x052 + 16 + write-only + + + CMDTEO + Force Event for Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDCRC + Force Event for Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDEND + Force Event for Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDIDX + Force Event for Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATTEO + Force Event for Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATCRC + Force Event for Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATEND + Force Event for Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CURLIM + Force Event for Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMD + Force Event for Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ADMA + Force Event for ADMA Error + 9 + 1 + + ADMASelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + BOOTAE + Force Event for Boot Acknowledge Error + 12 + 1 + + BOOTAESelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + + + AESR + ADMA Error Status + 0x054 + 8 + read-only + + + ERRST + ADMA Error State + 0 + 2 + + ERRSTSelect + + STOP + ST_STOP (Stop DMA) + 0x0 + + + FDS + ST_FDS (Fetch Descriptor) + 0x1 + + + TFR + ST_TFR (Transfer Data) + 0x3 + + + + + LMIS + ADMA Length Mismatch Error + 2 + 1 + + LMISSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + 1 + 0x4 + ASAR%s + ADMA System Address n + 0x058 + 32 + + + ADMASA + ADMA System Address + 0 + 32 + + + + + 8 + 0x2 + PVR%s + Preset Value n + 0x060 + 16 + + + SDCLKFSEL + SDCLK Frequency Select Value for Initialization + 0 + 10 + + + CLKGSEL + Clock Generator Select Value for Initialization + 10 + 1 + + CLKGSELSelect + + DIV + Host Controller Ver2.00 Compatible Clock Generator (Divider) + 0x0 + + + PROG + Programmable Clock Generator + 0x1 + + + + + DRVSEL + Driver Strength Select Value for Initialization + 14 + 2 + + DRVSELSelect + + B + Driver Type B is Selected + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + + + SISR + Slot Interrupt Status + 0x0FC + 16 + read-only + 0x20000 + + + INTSSL + Interrupt Signal for Each Slot + 0 + 1 + + + + + HCVR + Host Controller Version + 0x0FE + 16 + read-only + 0x1802 + + + SVER + Spec Version + 0 + 8 + + + VVER + Vendor Version + 8 + 8 + + + + + MC1R + MMC Control 1 + 0x204 + 8 + + + CMDTYP + e.MMC Command Type + 0 + 2 + + CMDTYPSelect + + NORMAL + Not a MMC specific command + 0x0 + + + WAITIRQ + Wait IRQ Command + 0x1 + + + STREAM + Stream Command + 0x2 + + + BOOT + Boot Command + 0x3 + + + + + DDR + e.MMC HSDDR Mode + 3 + 1 + + + OPD + e.MMC Open Drain Mode + 4 + 1 + + + BOOTA + e.MMC Boot Acknowledge Enable + 5 + 1 + + + RSTN + e.MMC Reset Signal + 6 + 1 + + + FCD + e.MMC Force Card Detect + 7 + 1 + + + + + MC2R + MMC Control 2 + 0x205 + 8 + write-only + + + SRESP + e.MMC Abort Wait IRQ + 0 + 1 + + + ABOOT + e.MMC Abort Boot + 1 + 1 + + + + + ACR + AHB Control + 0x208 + 32 + + + BMAX + AHB Maximum Burst + 0 + 2 + + BMAXSelect + + INCR16 + 0x0 + + + INCR8 + 0x1 + + + INCR4 + 0x2 + + + SINGLE + 0x3 + + + + + + + CC2R + Clock Control 2 + 0x20C + 32 + + + FSDCLKD + Force SDCK Disabled + 0 + 1 + + FSDCLKDSelect + + NOEFFECT + No effect + 0x0 + + + DISABLE + SDCLK can be stopped at any time after DATA transfer.SDCLK enable forcing for 8 SDCLK cycles is disabled + 0x1 + + + + + + + CACR + Capabilities Control + 0x230 + 32 + + + CAPWREN + Capabilities Registers Write Enable (Required to write the correct frequencies in the Capabilities Registers) + 0 + 1 + + + KEY + Key (0x46) + 8 + 8 + + + + + DBGR + Debug + 0x234 + 8 + + + NIDBG + Non-intrusive debug enable + 0 + 1 + + NIDBGSelect + + IDBG + Debugging is intrusive (reads of BDPR from debugger are considered and increment the internal buffer pointer) + 0x0 + + + NIDBG + Debugging is not intrusive (reads of BDPR from debugger are discarded and do not increment the internal buffer pointer) + 0x1 + + + + + + + + + SDHC1 + SD/MMC Host Controller 1 + 0x46000000 + + SDHC1_INTREQ + 136 + + + + SERCOM0 + 5.0.0 + Serial Communication Interface 0 + SERCOM + SERCOM_ + 0x40003000 + + 0 + 0x40 + registers + + + SERCOM0_INTREQ_0 + 46 + + + SERCOM0_INTREQ_1 + 47 + + + SERCOM0_INTREQ_2 + 48 + + + SERCOM0_INTREQ_3 + 49 + + + + I2CM + I2C Master Mode + SercomI2cm + 0x0 + + CTRLA + I2CM Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run in Standby + 7 + 1 + + + PINOUT + Pin Usage + 16 + 1 + + + SDAHOLD + SDA Hold Time + 20 + 2 + + + MEXTTOEN + Master SCL Low Extend Timeout + 22 + 1 + + + SEXTTOEN + Slave SCL Low Extend Timeout + 23 + 1 + + + SPEED + Transfer Speed + 24 + 2 + + + SCLSM + SCL Clock Stretch Mode + 27 + 1 + + + INACTOUT + Inactive Time-Out + 28 + 2 + + + LOWTOUTEN + SCL Low Timeout Enable + 30 + 1 + + + + + CTRLB + I2CM Control B + 0x04 + 32 + + + SMEN + Smart Mode Enable + 8 + 1 + + + QCEN + Quick Command Enable + 9 + 1 + + + CMD + Command + 16 + 2 + write-only + + + ACKACT + Acknowledge Action + 18 + 1 + + + + + CTRLC + I2CM Control C + 0x08 + 32 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + BAUD + I2CM Baud Rate + 0x0C + 32 + + + BAUD + Baud Rate Value + 0 + 8 + + + BAUDLOW + Baud Rate Value Low + 8 + 8 + + + HSBAUD + High Speed Baud Rate Value + 16 + 8 + + + HSBAUDLOW + High Speed Baud Rate Value Low + 24 + 8 + + + + + INTENCLR + I2CM Interrupt Enable Clear + 0x14 + 8 + + + MB + Master On Bus Interrupt Disable + 0 + 1 + + + SB + Slave On Bus Interrupt Disable + 1 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + I2CM Interrupt Enable Set + 0x16 + 8 + + + MB + Master On Bus Interrupt Enable + 0 + 1 + + + SB + Slave On Bus Interrupt Enable + 1 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + I2CM Interrupt Flag Status and Clear + 0x18 + 8 + + + MB + Master On Bus Interrupt + 0 + 1 + + + SB + Slave On Bus Interrupt + 1 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + I2CM Status + 0x1A + 16 + + + BUSERR + Bus Error + 0 + 1 + + + ARBLOST + Arbitration Lost + 1 + 1 + + + RXNACK + Received Not Acknowledge + 2 + 1 + read-only + + + BUSSTATE + Bus State + 4 + 2 + + + LOWTOUT + SCL Low Timeout + 6 + 1 + + + CLKHOLD + Clock Hold + 7 + 1 + read-only + + + MEXTTOUT + Master SCL Low Extend Timeout + 8 + 1 + + + SEXTTOUT + Slave SCL Low Extend Timeout + 9 + 1 + + + LENERR + Length Error + 10 + 1 + + + + + SYNCBUSY + I2CM Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + SYSOP + System Operation Synchronization Busy + 2 + 1 + read-only + + + LENGTH + Length Synchronization Busy + 4 + 1 + read-only + + + + + ADDR + I2CM Address + 0x24 + 32 + + + ADDR + Address Value + 0 + 11 + + + LENEN + Length Enable + 13 + 1 + + + HS + High Speed Mode + 14 + 1 + + + TENBITEN + Ten Bit Addressing Enable + 15 + 1 + + + LEN + Length + 16 + 8 + + + + + DATA + I2CM Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + I2CM Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + I2CS + I2C Slave Mode + I2CM + SercomI2cs + 0x0 + + CTRLA + I2CS Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + PINOUT + Pin Usage + 16 + 1 + + + SDAHOLD + SDA Hold Time + 20 + 2 + + + SEXTTOEN + Slave SCL Low Extend Timeout + 23 + 1 + + + SPEED + Transfer Speed + 24 + 2 + + + SCLSM + SCL Clock Stretch Mode + 27 + 1 + + + LOWTOUTEN + SCL Low Timeout Enable + 30 + 1 + + + + + CTRLB + I2CS Control B + 0x04 + 32 + + + SMEN + Smart Mode Enable + 8 + 1 + + + GCMD + PMBus Group Command + 9 + 1 + + + AACKEN + Automatic Address Acknowledge + 10 + 1 + + + AMODE + Address Mode + 14 + 2 + + + CMD + Command + 16 + 2 + write-only + + + ACKACT + Acknowledge Action + 18 + 1 + + + + + CTRLC + I2CS Control C + 0x08 + 32 + + + SDASETUP + SDA Setup Time + 0 + 4 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + INTENCLR + I2CS Interrupt Enable Clear + 0x14 + 8 + + + PREC + Stop Received Interrupt Disable + 0 + 1 + + + AMATCH + Address Match Interrupt Disable + 1 + 1 + + + DRDY + Data Interrupt Disable + 2 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + I2CS Interrupt Enable Set + 0x16 + 8 + + + PREC + Stop Received Interrupt Enable + 0 + 1 + + + AMATCH + Address Match Interrupt Enable + 1 + 1 + + + DRDY + Data Interrupt Enable + 2 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + I2CS Interrupt Flag Status and Clear + 0x18 + 8 + + + PREC + Stop Received Interrupt + 0 + 1 + + + AMATCH + Address Match Interrupt + 1 + 1 + + + DRDY + Data Interrupt + 2 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + I2CS Status + 0x1A + 16 + + + BUSERR + Bus Error + 0 + 1 + + + COLL + Transmit Collision + 1 + 1 + + + RXNACK + Received Not Acknowledge + 2 + 1 + read-only + + + DIR + Read/Write Direction + 3 + 1 + read-only + + + SR + Repeated Start + 4 + 1 + read-only + + + LOWTOUT + SCL Low Timeout + 6 + 1 + + + CLKHOLD + Clock Hold + 7 + 1 + read-only + + + SEXTTOUT + Slave SCL Low Extend Timeout + 9 + 1 + + + HS + High Speed + 10 + 1 + + + LENERR + Transaction Length Error + 11 + 1 + + + + + SYNCBUSY + I2CS Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + LENGTH + Length Synchronization Busy + 4 + 1 + read-only + + + + + LENGTH + I2CS Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 1 + + + + + ADDR + I2CS Address + 0x24 + 32 + + + GENCEN + General Call Address Enable + 0 + 1 + + + ADDR + Address Value + 1 + 10 + + + TENBITEN + Ten Bit Addressing Enable + 15 + 1 + + + ADDRMASK + Address Mask + 17 + 10 + + + + + DATA + I2CS Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + + SPI + SPI Mode + I2CM + SercomSpi + 0x0 + + CTRLA + SPI Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + IBON + Immediate Buffer Overflow Notification + 8 + 1 + + + DOPO + Data Out Pinout + 16 + 2 + + + DIPO + Data In Pinout + 20 + 2 + + + FORM + Frame Format + 24 + 4 + + + CPHA + Clock Phase + 28 + 1 + + + CPOL + Clock Polarity + 29 + 1 + + + DORD + Data Order + 30 + 1 + + + + + CTRLB + SPI Control B + 0x04 + 32 + + + CHSIZE + Character Size + 0 + 3 + + + PLOADEN + Data Preload Enable + 6 + 1 + + + SSDE + Slave Select Low Detect Enable + 9 + 1 + + + MSSEN + Master Slave Select Enable + 13 + 1 + + + AMODE + Address Mode + 14 + 2 + + + RXEN + Receiver Enable + 17 + 1 + + + + + CTRLC + SPI Control C + 0x08 + 32 + + + ICSPACE + Inter-Character Spacing + 0 + 6 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + BAUD + SPI Baud Rate + 0x0C + 8 + + + BAUD + Baud Rate Value + 0 + 8 + + + + + INTENCLR + SPI Interrupt Enable Clear + 0x14 + 8 + + + DRE + Data Register Empty Interrupt Disable + 0 + 1 + + + TXC + Transmit Complete Interrupt Disable + 1 + 1 + + + RXC + Receive Complete Interrupt Disable + 2 + 1 + + + SSL + Slave Select Low Interrupt Disable + 3 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + SPI Interrupt Enable Set + 0x16 + 8 + + + DRE + Data Register Empty Interrupt Enable + 0 + 1 + + + TXC + Transmit Complete Interrupt Enable + 1 + 1 + + + RXC + Receive Complete Interrupt Enable + 2 + 1 + + + SSL + Slave Select Low Interrupt Enable + 3 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + SPI Interrupt Flag Status and Clear + 0x18 + 8 + + + DRE + Data Register Empty Interrupt + 0 + 1 + read-only + + + TXC + Transmit Complete Interrupt + 1 + 1 + + + RXC + Receive Complete Interrupt + 2 + 1 + read-only + + + SSL + Slave Select Low Interrupt Flag + 3 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + SPI Status + 0x1A + 16 + + + BUFOVF + Buffer Overflow + 2 + 1 + + + LENERR + Transaction Length Error + 11 + 1 + + + + + SYNCBUSY + SPI Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + CTRLB + CTRLB Synchronization Busy + 2 + 1 + read-only + + + LENGTH + LENGTH Synchronization Busy + 4 + 1 + read-only + + + + + LENGTH + SPI Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 1 + + + + + ADDR + SPI Address + 0x24 + 32 + + + ADDR + Address Value + 0 + 8 + + + ADDRMASK + Address Mask + 16 + 8 + + + + + DATA + SPI Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + SPI Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + USART + USART Mode + I2CM + SercomUsart + 0x0 + + CTRLA + USART Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + IBON + Immediate Buffer Overflow Notification + 8 + 1 + + + TXINV + Transmit Data Invert + 9 + 1 + + + RXINV + Receive Data Invert + 10 + 1 + + + SAMPR + Sample + 13 + 3 + + + TXPO + Transmit Data Pinout + 16 + 2 + + + RXPO + Receive Data Pinout + 20 + 2 + + + SAMPA + Sample Adjustment + 22 + 2 + + + FORM + Frame Format + 24 + 4 + + + CMODE + Communication Mode + 28 + 1 + + + CPOL + Clock Polarity + 29 + 1 + + + DORD + Data Order + 30 + 1 + + + + + CTRLB + USART Control B + 0x04 + 32 + + + CHSIZE + Character Size + 0 + 3 + + + SBMODE + Stop Bit Mode + 6 + 1 + + + COLDEN + Collision Detection Enable + 8 + 1 + + + SFDE + Start of Frame Detection Enable + 9 + 1 + + + ENC + Encoding Format + 10 + 1 + + + PMODE + Parity Mode + 13 + 1 + + + TXEN + Transmitter Enable + 16 + 1 + + + RXEN + Receiver Enable + 17 + 1 + + + LINCMD + LIN Command + 24 + 2 + write-only + + + + + CTRLC + USART Control C + 0x08 + 32 + + + GTIME + Guard Time + 0 + 3 + + + BRKLEN + LIN Master Break Length + 8 + 2 + + + HDRDLY + LIN Master Header Delay + 10 + 2 + + + INACK + Inhibit Not Acknowledge + 16 + 1 + + + DSNACK + Disable Successive NACK + 17 + 1 + + + MAXITER + Maximum Iterations + 20 + 3 + + + DATA32B + Data 32 Bit + 24 + 2 + + + + + BAUD + USART Baud Rate + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 16 + + + + + BAUD_FRAC_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 13 + + + FP + Fractional Part + 13 + 3 + + + + + BAUD_FRACFP_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 13 + + + FP + Fractional Part + 13 + 3 + + + + + BAUD_USARTFP_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 16 + + + + + RXPL + USART Receive Pulse Length + 0x0E + 8 + + + RXPL + Receive Pulse Length + 0 + 8 + + + + + INTENCLR + USART Interrupt Enable Clear + 0x14 + 8 + + + DRE + Data Register Empty Interrupt Disable + 0 + 1 + + + TXC + Transmit Complete Interrupt Disable + 1 + 1 + + + RXC + Receive Complete Interrupt Disable + 2 + 1 + + + RXS + Receive Start Interrupt Disable + 3 + 1 + + + CTSIC + Clear To Send Input Change Interrupt Disable + 4 + 1 + + + RXBRK + Break Received Interrupt Disable + 5 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + USART Interrupt Enable Set + 0x16 + 8 + + + DRE + Data Register Empty Interrupt Enable + 0 + 1 + + + TXC + Transmit Complete Interrupt Enable + 1 + 1 + + + RXC + Receive Complete Interrupt Enable + 2 + 1 + + + RXS + Receive Start Interrupt Enable + 3 + 1 + + + CTSIC + Clear To Send Input Change Interrupt Enable + 4 + 1 + + + RXBRK + Break Received Interrupt Enable + 5 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + USART Interrupt Flag Status and Clear + 0x18 + 8 + + + DRE + Data Register Empty Interrupt + 0 + 1 + read-only + + + TXC + Transmit Complete Interrupt + 1 + 1 + + + RXC + Receive Complete Interrupt + 2 + 1 + read-only + + + RXS + Receive Start Interrupt + 3 + 1 + write-only + + + CTSIC + Clear To Send Input Change Interrupt + 4 + 1 + + + RXBRK + Break Received Interrupt + 5 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + USART Status + 0x1A + 16 + + + PERR + Parity Error + 0 + 1 + + + FERR + Frame Error + 1 + 1 + + + BUFOVF + Buffer Overflow + 2 + 1 + + + CTS + Clear To Send + 3 + 1 + read-only + + + ISF + Inconsistent Sync Field + 4 + 1 + + + COLL + Collision Detected + 5 + 1 + + + TXE + Transmitter Empty + 6 + 1 + read-only + + + ITER + Maximum Number of Repetitions Reached + 7 + 1 + + + + + SYNCBUSY + USART Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + CTRLB + CTRLB Synchronization Busy + 2 + 1 + read-only + + + RXERRCNT + RXERRCNT Synchronization Busy + 3 + 1 + read-only + + + LENGTH + LENGTH Synchronization Busy + 4 + 1 + read-only + + + + + RXERRCNT + USART Receive Error Count + 0x20 + 8 + read-only + + + LENGTH + USART Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 2 + + + + + DATA + USART Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + USART Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + + + SERCOM1 + Serial Communication Interface 1 + 0x40003400 + + SERCOM1_INTREQ_0 + 50 + + + SERCOM1_INTREQ_1 + 51 + + + SERCOM1_INTREQ_2 + 52 + + + SERCOM1_INTREQ_3 + 53 + + + + SERCOM2 + Serial Communication Interface 2 + 0x41012000 + + SERCOM2_INTREQ_0 + 54 + + + SERCOM2_INTREQ_1 + 55 + + + SERCOM2_INTREQ_2 + 56 + + + SERCOM2_INTREQ_3 + 57 + + + + SERCOM3 + Serial Communication Interface 3 + 0x41014000 + + SERCOM3_INTREQ_0 + 58 + + + SERCOM3_INTREQ_1 + 59 + + + SERCOM3_INTREQ_2 + 60 + + + SERCOM3_INTREQ_3 + 61 + + + + SERCOM4 + Serial Communication Interface 4 + 0x43000000 + + SERCOM4_INTREQ_0 + 62 + + + SERCOM4_INTREQ_1 + 63 + + + SERCOM4_INTREQ_2 + 64 + + + SERCOM4_INTREQ_3 + 65 + + + + SERCOM5 + Serial Communication Interface 5 + 0x43000400 + + SERCOM5_INTREQ_0 + 66 + + + SERCOM5_INTREQ_1 + 67 + + + SERCOM5_INTREQ_2 + 68 + + + SERCOM5_INTREQ_3 + 69 + + + + SERCOM6 + Serial Communication Interface 6 + 0x43000800 + + SERCOM6_INTREQ_0 + 70 + + + SERCOM6_INTREQ_1 + 71 + + + SERCOM6_INTREQ_2 + 72 + + + SERCOM6_INTREQ_3 + 73 + + + + SERCOM7 + Serial Communication Interface 7 + 0x43000C00 + + SERCOM7_INTREQ_0 + 74 + + + SERCOM7_INTREQ_1 + 75 + + + SERCOM7_INTREQ_2 + 76 + + + SERCOM7_INTREQ_3 + 77 + + + + SUPC + 1.0.0 + Supply Controller + SUPC + SUPC_ + 0x40001800 + + 0 + 0x80 + registers + + + SUPC_INTREQ_0 + 8 + + + SUPC_INTREQ_1 + 9 + + + + INTENCLR + Interrupt Enable Clear + 0x00 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x04 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x08 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + STATUS + Power and Clocks Status + 0x0C + 32 + read-only + + + BOD33RDY + BOD33 Ready + 0 + 1 + read-only + + + BOD33DET + BOD33 Detection + 1 + 1 + read-only + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + read-only + + + BOD12RDY + BOD12 Ready + 3 + 1 + read-only + + + BOD12DET + BOD12 Detection + 4 + 1 + read-only + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + read-only + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + read-only + + + VCORERDY + VDDCORE Ready + 10 + 1 + read-only + + + + + BOD33 + BOD33 Control + 0x10 + 32 + + + ENABLE + Enable + 1 + 1 + + + ACTION + Action when Threshold Crossed + 2 + 2 + + ACTIONSelect + + NONE + No action + 0x0 + + + RESET + The BOD33 generates a reset + 0x1 + + + INT + The BOD33 generates an interrupt + 0x2 + + + BKUP + The BOD33 puts the device in backup sleep mode + 0x3 + + + + + STDBYCFG + Configuration in Standby mode + 4 + 1 + + + RUNSTDBY + Run in Standby mode + 5 + 1 + + + RUNHIB + Run in Hibernate mode + 6 + 1 + + + RUNBKUP + Run in Backup mode + 7 + 1 + + + HYST + Hysteresis value + 8 + 4 + + + PSEL + Prescaler Select + 12 + 3 + + PSELSelect + + NODIV + Not divided + 0x0 + + + DIV4 + Divide clock by 4 + 0x1 + + + DIV8 + Divide clock by 8 + 0x2 + + + DIV16 + Divide clock by 16 + 0x3 + + + DIV32 + Divide clock by 32 + 0x4 + + + DIV64 + Divide clock by 64 + 0x5 + + + DIV128 + Divide clock by 128 + 0x6 + + + DIV256 + Divide clock by 256 + 0x7 + + + + + LEVEL + Threshold Level for VDD + 16 + 8 + + + VBATLEVEL + Threshold Level in battery backup sleep mode for VBAT + 24 + 8 + + + + + BOD12 + BOD12 Control + 0x14 + 32 + + + ENABLE + Enable + 1 + 1 + + + HYST + Hysteresis Enable + 2 + 1 + + + ACTION + Action when Threshold Crossed + 3 + 2 + + ACTIONSelect + + NONE + No action + 0x0 + + + RESET + The BOD12 generates a reset + 0x1 + + + INT + The BOD12 generates an interrupt + 0x2 + + + + + STDBYCFG + Configuration in Standby mode + 5 + 1 + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ACTCFG + Configuration in Active mode + 8 + 1 + + + PSEL + Prescaler Select + 12 + 4 + + PSELSelect + + DIV2 + Divide clock by 2 + 0x0 + + + DIV4 + Divide clock by 4 + 0x1 + + + DIV8 + Divide clock by 8 + 0x2 + + + DIV16 + Divide clock by 16 + 0x3 + + + DIV32 + Divide clock by 32 + 0x4 + + + DIV64 + Divide clock by 64 + 0x5 + + + DIV128 + Divide clock by 128 + 0x6 + + + DIV256 + Divide clock by 256 + 0x7 + + + DIV512 + Divide clock by 512 + 0x8 + + + DIV1024 + Divide clock by 1024 + 0x9 + + + DIV2048 + Divide clock by 2048 + 0xa + + + DIV4096 + Divide clock by 4096 + 0xb + + + DIV8192 + Divide clock by 8192 + 0xc + + + DIV16384 + Divide clock by 16384 + 0xd + + + DIV32768 + Divide clock by 32768 + 0xe + + + DIV65536 + Divide clock by 65536 + 0xf + + + + + LEVEL + Threshold Level + 16 + 6 + + + + + VREG + VREG Control + 0x18 + 32 + 0x00000002 + + + ENABLE + Enable + 1 + 1 + + + SEL + Voltage Regulator Selection + 2 + 1 + + SELSelect + + LDO + LDO selection + 0x0 + + + BUCK + Buck selection + 0x1 + + + + + RUNBKUP + Run in Backup mode + 7 + 1 + + + VSEN + Voltage Scaling Enable + 16 + 1 + + + VSPER + Voltage Scaling Period + 24 + 3 + + + + + VREF + VREF Control + 0x1C + 32 + + + TSEN + Temperature Sensor Output Enable + 1 + 1 + + + VREFOE + Voltage Reference Output Enable + 2 + 1 + + + TSSEL + Temperature Sensor Selection + 3 + 1 + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + On Demand Contrl + 7 + 1 + + + SEL + Voltage Reference Selection + 16 + 4 + + SELSelect + + 1V0 + 1.0V voltage reference typical value + 0x0 + + + 1V1 + 1.1V voltage reference typical value + 0x1 + + + 1V2 + 1.2V voltage reference typical value + 0x2 + + + 1V25 + 1.25V voltage reference typical value + 0x3 + + + 2V0 + 2.0V voltage reference typical value + 0x4 + + + 2V2 + 2.2V voltage reference typical value + 0x5 + + + 2V4 + 2.4V voltage reference typical value + 0x6 + + + 2V5 + 2.5V voltage reference typical value + 0x7 + + + + + + + BBPS + Battery Backup Power Switch + 0x20 + 32 + + + CONF + Battery Backup Configuration + 0 + 1 + + CONFSelect + + BOD33 + The power switch is handled by the BOD33 + 0x0 + + + FORCED + In Backup Domain, the backup domain is always supplied by battery backup power + 0x1 + + + + + WAKEEN + Wake Enable + 2 + 1 + + + + + BKOUT + Backup Output Control + 0x24 + 32 + + + EN + Enable Output + 0 + 2 + + + CLR + Clear Output + 8 + 2 + write-only + + + SET + Set Output + 16 + 2 + write-only + + + RTCTGL + RTC Toggle Output + 24 + 2 + + + + + BKIN + Backup Input Control + 0x28 + 32 + read-only + + + BKIN + Backup Input Value + 0 + 8 + read-only + + + + + + + TAL + 2.0.0 + Trigger Allocator + TAL + TAL_ + 0x4101E000 + + 0 + 0x400 + registers + + + TAL_INTREQ_0 + 42 + + + TAL_INTREQ_1 + 43 + + + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + + + EXTCTRL + External Break Control + 0x001 + 8 + + + ENABLE + Enable BRK Pin + 0 + 1 + + + INV + Invert BRK Pin + 1 + 1 + + + + + EVCTRL + Event Control + 0x004 + 16 + + + BRKEI + Break Input Event Enable + 0 + 1 + + + BRKEO + Break Output Event Enable + 1 + 1 + + + IRQMONEO0 + Interrupt Request Monitor 0 Output Event Enable + 2 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x008 + 8 + + + BRK + Break Interrupt Enable + 0 + 1 + + + IPS0 + Inter-Processor Signal Interrupt Enable for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal Interrupt Enable for CPU 1 + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x009 + 8 + + + BRK + Break Interrupt Enable + 0 + 1 + + + IPS0 + Inter-Processor Signal Interrupt Enable for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal Interrupt Enable for CPU 1 + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x00A + 8 + + + BRK + Break + 0 + 1 + + + IPS0 + Inter-Processor Signal for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal for CPU 1 + 2 + 1 + + + + + GLOBMASK + Global Break Requests Mask + 0x00B + 8 + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + HALT + Debug Halt Request + 0x00C + 8 + write-only + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + RESTART + Debug Restart Request + 0x00D + 8 + write-only + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + BRKSTATUS + Break Request Status + 0x00E + 16 + read-only + + + CPU0 + CPU 0 Break Request + 0 + 2 + + + CPU1 + CPU 1 Break Request + 2 + 2 + + + EVBRK + Event Break Request + 12 + 2 + + + EXTBRK + External Break Request + 14 + 2 + + + + + 4 + 0x2 + CTICTRLA%s + Cross-Trigger Interface n Control A + 0x010 + 8 + + + BRK + Action when global break issued + 0 + 2 + + BRKSelect + + BREAK + Break when requested + 0x0 + + + INTERRUPT + Trigger DBG interrupt instead of break + 0x1 + + + IGNORE + Ignore break request + 0x2 + + + + + RESTART + Action when global restart issued + 2 + 1 + + RESTARTSelect + + RESTART + Restart when requested + 0x0 + + + IGNORE + Ignore restart request + 0x1 + + + + + IPS + Action when inter-process resource freed + 3 + 1 + + IPSSelect + + EVENT + Generate CPU Event when awaited resource is freed. + 0x0 + + + INTERRUPT + Generate Interrupt when awaited resource is freed. + 0x1 + + + + + + + 4 + 0x2 + CTIMASK%s + Cross-Trigger Interface n Mask + 0x011 + 8 + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + 137 + 0x1 + INTSTATUS%s + Interrupt n Status + 0x020 + 8 + read-only + + + IRQ0 + Interrupt Status for Interrupt Request 0 within Interrupt n + 0 + 1 + + + IRQ1 + Interrupt Status for Interrupt Request 1 within Interrupt n + 1 + 1 + + + IRQ2 + Interrupt Status for Interrupt Request 2 within Interrupt n + 2 + 1 + + + IRQ3 + Interrupt Status for Interrupt Request 3 within Interrupt n + 3 + 1 + + + IRQ4 + Interrupt Status for Interrupt Request 4 within Interrupt n + 4 + 1 + + + IRQ5 + Interrupt Status for Interrupt Request 5 within Interrupt n + 5 + 1 + + + IRQ6 + Interrupt Status for Interrupt Request 6 within Interrupt n + 6 + 1 + + + IRQ7 + Interrupt Status for Interrupt Request 7 within Interrupt n + 7 + 1 + + + + + DMACPUSEL0 + DMA Channel Interrupts CPU Select 0 + 0x110 + 32 + + + CH0 + DMA Channel 0 Interrupt CPU Select + 0 + 1 + + + CH1 + DMA Channel 1 Interrupt CPU Select + 2 + 1 + + + CH2 + DMA Channel 2 Interrupt CPU Select + 4 + 1 + + + CH3 + DMA Channel 3 Interrupt CPU Select + 6 + 1 + + + CH4 + DMA Channel 4 Interrupt CPU Select + 8 + 1 + + + CH5 + DMA Channel 5 Interrupt CPU Select + 10 + 1 + + + CH6 + DMA Channel 6 Interrupt CPU Select + 12 + 1 + + + CH7 + DMA Channel 7 Interrupt CPU Select + 14 + 1 + + + CH8 + DMA Channel 8 Interrupt CPU Select + 16 + 1 + + + CH9 + DMA Channel 9 Interrupt CPU Select + 18 + 1 + + + CH10 + DMA Channel 10 Interrupt CPU Select + 20 + 1 + + + CH11 + DMA Channel 11 Interrupt CPU Select + 22 + 1 + + + CH12 + DMA Channel 12 Interrupt CPU Select + 24 + 1 + + + CH13 + DMA Channel 13 Interrupt CPU Select + 26 + 1 + + + CH14 + DMA Channel 14 Interrupt CPU Select + 28 + 1 + + + CH15 + DMA Channel 15 Interrupt CPU Select + 30 + 1 + + + + + DMACPUSEL1 + DMA Channel Interrupts CPU Select 1 + 0x114 + 32 + + + CH16 + DMA Channel 16 Interrupt CPU Select + 0 + 1 + + + CH17 + DMA Channel 17 Interrupt CPU Select + 2 + 1 + + + CH18 + DMA Channel 18 Interrupt CPU Select + 4 + 1 + + + CH19 + DMA Channel 19 Interrupt CPU Select + 6 + 1 + + + CH20 + DMA Channel 20 Interrupt CPU Select + 8 + 1 + + + CH21 + DMA Channel 21 Interrupt CPU Select + 10 + 1 + + + CH22 + DMA Channel 22 Interrupt CPU Select + 12 + 1 + + + CH23 + DMA Channel 23 Interrupt CPU Select + 14 + 1 + + + CH24 + DMA Channel 24 Interrupt CPU Select + 16 + 1 + + + CH25 + DMA Channel 25 Interrupt CPU Select + 18 + 1 + + + CH26 + DMA Channel 26 Interrupt CPU Select + 20 + 1 + + + CH27 + DMA Channel 27 Interrupt CPU Select + 22 + 1 + + + CH28 + DMA Channel 28 Interrupt CPU Select + 24 + 1 + + + CH29 + DMA Channel 29 Interrupt CPU Select + 26 + 1 + + + CH30 + DMA Channel 30 Interrupt CPU Select + 28 + 1 + + + CH31 + DMA Channel 31 Interrupt CPU Select + 30 + 1 + + + + + EVCPUSEL0 + EVSYS Channel Interrupts CPU Select 0 + 0x118 + 32 + + + CH0 + Event Channel 0 Interrupt CPU Select + 0 + 1 + + + CH1 + Event Channel 1 Interrupt CPU Select + 2 + 1 + + + CH2 + Event Channel 2 Interrupt CPU Select + 4 + 1 + + + CH3 + Event Channel 3 Interrupt CPU Select + 6 + 1 + + + CH4 + Event Channel 4 Interrupt CPU Select + 8 + 1 + + + CH5 + Event Channel 5 Interrupt CPU Select + 10 + 1 + + + CH6 + Event Channel 6 Interrupt CPU Select + 12 + 1 + + + CH7 + Event Channel 7 Interrupt CPU Select + 14 + 1 + + + CH8 + Event Channel 8 Interrupt CPU Select + 16 + 1 + + + CH9 + Event Channel 9 Interrupt CPU Select + 18 + 1 + + + CH10 + Event Channel 10 Interrupt CPU Select + 20 + 1 + + + CH11 + Event Channel 11 Interrupt CPU Select + 22 + 1 + + + + + EICCPUSEL0 + EIC External Interrupts CPU Select 0 + 0x120 + 32 + + + EXTINT0 + External Interrupt 0 CPU Select + 0 + 1 + + + EXTINT1 + External Interrupt 1 CPU Select + 2 + 1 + + + EXTINT2 + External Interrupt 2 CPU Select + 4 + 1 + + + EXTINT3 + External Interrupt 3 CPU Select + 6 + 1 + + + EXTINT4 + External Interrupt 4 CPU Select + 8 + 1 + + + EXTINT5 + External Interrupt 5 CPU Select + 10 + 1 + + + EXTINT6 + External Interrupt 6 CPU Select + 12 + 1 + + + EXTINT7 + External Interrupt 7 CPU Select + 14 + 1 + + + EXTINT8 + External Interrupt 8 CPU Select + 16 + 1 + + + EXTINT9 + External Interrupt 9 CPU Select + 18 + 1 + + + EXTINT10 + External Interrupt 10 CPU Select + 20 + 1 + + + EXTINT11 + External Interrupt 11 CPU Select + 22 + 1 + + + EXTINT12 + External Interrupt 12 CPU Select + 24 + 1 + + + EXTINT13 + External Interrupt 13 CPU Select + 26 + 1 + + + EXTINT14 + External Interrupt 14 CPU Select + 28 + 1 + + + EXTINT15 + External Interrupt 15 CPU Select + 30 + 1 + + + + + INTCPUSEL0 + Interrupts CPU Select 0 + 0x128 + 32 + + + PAC + PAC Interrupt CPU Select + 0 + 1 + + + PM + PM Interrupt CPU Select + 2 + 1 + + + MCLK + MCLK Interrupt CPU Select + 4 + 1 + + + OSCCTRL + OSCCTRL Interrupt CPU Select + 8 + 1 + + + OSC32KCTRL + OSC32KCTRL Interrupt CPU Select + 10 + 1 + + + SUPC + SUPC Interrupt CPU Select + 12 + 1 + + + WDT + WDT Interrupt CPU Select + 16 + 1 + + + RTC + RTC Interrupt CPU Select + 18 + 1 + + + EIC + EIC Interrupt CPU Select + 20 + 1 + + + FREQM + FREQM Interrupt CPU Select + 22 + 1 + + + SERCOM0 + SERCOM0 Interrupt CPU Select + 24 + 1 + + + SERCOM1 + SERCOM1 Interrupt CPU Select + 26 + 1 + + + TC0 + TC0 Interrupt CPU Select + 28 + 1 + + + TC1 + TC1 Interrupt CPU Select + 30 + 1 + + + + + INTCPUSEL1 + Interrupts CPU Select 1 + 0x12C + 32 + + + INTCPUSEL2 + Interrupts CPU Select 2 + 0x130 + 32 + + + USB + USB Interrupt CPU Select + 0 + 1 + + + NVMCTRL + NVMCTRL Interrupt CPU Select + 4 + 1 + + + DMAC + DMAC Interrupt CPU Select + 10 + 1 + + + EVSYS + EVSYS Interrupt CPU Select + 14 + 1 + + + PICOP + PICOP Interrupt CPU Select + 16 + 1 + + + SERCOM2 + SERCOM2 Interrupt CPU Select + 18 + 1 + + + SERCOM3 + SERCOM3 Interrupt CPU Select + 20 + 1 + + + TCC0 + TCC0 Interrupt CPU Select + 22 + 1 + + + TCC1 + TCC1 Interrupt CPU Select + 24 + 1 + + + TC2 + TC2 Interrupt CPU Select + 26 + 1 + + + TC3 + TC3 Interrupt CPU Select + 28 + 1 + + + TAL + TAL Interrupt CPU Select + 30 + 1 + + + + + INTCPUSEL3 + Interrupts CPU Select 3 + 0x134 + 32 + + + RAMECC + RAMECC Interrupt CPU Select + 0 + 1 + + + + + INTCPUSEL4 + Interrupts CPU Select 4 + 0x138 + 32 + + + CAN0 + CAN0 Interrupt CPU Select + 0 + 1 + + + CAN1 + CAN1 Interrupt CPU Select + 2 + 1 + + + GMAC + GMAC Interrupt CPU Select + 4 + 1 + + + TCC2 + TCC2 Interrupt CPU Select + 6 + 1 + + + TCC3 + TCC3 Interrupt CPU Select + 8 + 1 + + + TC4 + TC4 Interrupt CPU Select + 10 + 1 + + + TC5 + TC5 Interrupt CPU Select + 12 + 1 + + + PDEC + PDEC Interrupt CPU Select + 14 + 1 + + + AC + AC Interrupt CPU Select + 16 + 1 + + + AES + AES Interrupt CPU Select + 18 + 1 + + + TRNG + TRNG Interrupt CPU Select + 20 + 1 + + + ICM + ICM Interrupt CPU Select + 22 + 1 + + + PUKCC + PUKCC Interrupt CPU Select + 24 + 1 + + + QSPI + QSPI Interrupt CPU Select + 26 + 1 + + + + + INTCPUSEL5 + Interrupts CPU Select 5 + 0x13C + 32 + + + INTCPUSEL6 + Interrupts CPU Select 6 + 0x140 + 32 + + + SERCOM4 + SERCOM4 Interrupt CPU Select + 0 + 1 + + + SERCOM5 + SERCOM5 Interrupt CPU Select + 2 + 1 + + + SERCOM6 + SERCOM6 Interrupt CPU Select + 4 + 1 + + + SERCOM7 + SERCOM7 Interrupt CPU Select + 6 + 1 + + + TCC4 + TCC4 Interrupt CPU Select + 8 + 1 + + + TC6 + TC6 Interrupt CPU Select + 10 + 1 + + + TC7 + TC7 Interrupt CPU Select + 12 + 1 + + + ADC0 + ADC0 Interrupt CPU Select + 14 + 1 + + + ADC1 + ADC1 Interrupt CPU Select + 16 + 1 + + + DAC + DAC Interrupt CPU Select + 18 + 1 + + + I2S + I2S Interrupt CPU Select + 20 + 1 + + + PCC + PCC Interrupt CPU Select + 22 + 1 + + + + + INTCPUSEL7 + Interrupts CPU Select 7 + 0x144 + 32 + + + INTCPUSEL8 + Interrupts CPU Select 8 + 0x148 + 32 + + + SDHC0 + SDHC0 Interrupt CPU Select + 0 + 1 + + + SDHC1 + SDHC1 Interrupt CPU Select + 2 + 1 + + + + + IRQTRIG + Interrupt Trigger + 0x164 + 32 + + + ENABLE + Trigger Enable + 0 + 1 + + + IRQNUM + Interrupt Request Number + 8 + 8 + + + OVERRIDE + Interrupt Request Override Value + 16 + 8 + + + + + 1 + 0x2 + IRQMON%s + Interrupt Monitor Select + 0x168 + 16 + + + EXTEND + Extended Interrupt Request + 0 + 1 + + EXTENDSelect + + NO + Event is Interrupt Request signal + 0x0 + + + YES + Event is Interrupt Request signal extended until end of Interrupt Handler + 0x1 + + + + + DROP + Drop Shortened Events + 1 + 1 + + + CPUID + ID of CPU currently servicing this IRQ + 2 + 1 + + + IRQNUM + Interrupt Request Number + 8 + 8 + + + + + 5 + 0x4 + CPUIRQS0_%s + Interrupt Status m for CPU n - Group 0 + 0x180 + 32 + read-only + + + CPUIRQS + Interrupt Requests for CPU n + 0 + 32 + + + + + 5 + 0x4 + CPUIRQS1_%s + Interrupt Status m for CPU n - Group 1 + 0x1a0 + + + 2 + 0x4 + SMASK0_%s + Inter-Process Signal Mask m for CPU n - Group 0 + 0x200 + 32 + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SMASK1_%s + Inter-Process Signal Mask m for CPU n - Group 1 + 0x208 + + + 2 + 0x4 + SFLAGCLR%s + Inter-Process Signal Flag Clear + 0x220 + 32 + write-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SFLAGSET%s + Inter-Process Signal Flag Set + 0x228 + 32 + write-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SFLAG%s + Inter-Process Signal Flag + 0x230 + 32 + read-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 64 + 0x1 + SFLAGCLRR%s + Inter-Process Signal Flag Bit n + 0x300 + 8 + + + IPS + Inter-Process Signal n + 0 + 1 + + + + + + + TC0 + 3.0.0 + Basic Timer Counter 0 + TC + TC_ + 0x40003800 + + 0 + 0x40 + registers + + + TC0_INTREQ + 107 + + + + COUNT8 + 8-bit Counter Mode + TcCount8 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT8 Count + 0x14 + 8 + + + COUNT + Counter Value + 0 + 8 + + + + + PER + COUNT8 Period + 0x1B + 8 + 0xFF + + + PER + Period Value + 0 + 8 + + + + + 2 + 0x1 + CC%s + COUNT8 Compare and Capture + 0x1C + 8 + + + CC + Counter/Compare Value + 0 + 8 + + + + + PERBUF + COUNT8 Period Buffer + 0x2F + 8 + 0xFF + + + PERBUF + Period Buffer Value + 0 + 8 + + + + + 2 + 0x1 + CCBUF%s + COUNT8 Compare and Capture Buffer + 0x30 + 8 + + + CCBUF + Counter/Compare Buffer Value + 0 + 8 + + + + + + COUNT16 + 16-bit Counter Mode + COUNT8 + TcCount16 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT16 Count + 0x14 + 16 + + + COUNT + Counter Value + 0 + 16 + + + + + 2 + 0x2 + CC%s + COUNT16 Compare and Capture + 0x1C + 16 + + + CC + Counter/Compare Value + 0 + 16 + + + + + 2 + 0x2 + CCBUF%s + COUNT16 Compare and Capture Buffer + 0x30 + 16 + + + CCBUF + Counter/Compare Buffer Value + 0 + 16 + + + + + + COUNT32 + 32-bit Counter Mode + COUNT8 + TcCount32 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT32 Count + 0x14 + 32 + + + COUNT + Counter Value + 0 + 32 + + + + + 2 + 0x4 + CC%s + COUNT32 Compare and Capture + 0x1C + 32 + + + CC + Counter/Compare Value + 0 + 32 + + + + + 2 + 0x4 + CCBUF%s + COUNT32 Compare and Capture Buffer + 0x30 + 32 + + + CCBUF + Counter/Compare Buffer Value + 0 + 32 + + + + + + + + TC1 + Basic Timer Counter 1 + 0x40003C00 + + TC1_INTREQ + 108 + + + + TC2 + Basic Timer Counter 2 + 0x4101A000 + + TC2_INTREQ + 109 + + + + TC3 + Basic Timer Counter 3 + 0x4101C000 + + TC3_INTREQ + 110 + + + + TC4 + Basic Timer Counter 4 + 0x42001400 + + TC4_INTREQ + 111 + + + + TC5 + Basic Timer Counter 5 + 0x42001800 + + TC5_INTREQ + 112 + + + + TC6 + Basic Timer Counter 6 + 0x43001400 + + TC6_INTREQ + 113 + + + + TC7 + Basic Timer Counter 7 + 0x43001800 + + TC7_INTREQ + 114 + + + + TCC0 + 3.1.0 + Timer Counter Control 0 + TCC + TCC_ + 0x41016000 + + 0 + 0x090 + registers + + + TCC0_INTREQ_0 + 85 + + + TCC0_INTREQ_1 + 86 + + + TCC0_INTREQ_2 + 87 + + + TCC0_INTREQ_3 + 88 + + + TCC0_INTREQ_4 + 89 + + + TCC0_INTREQ_5 + 90 + + + TCC0_INTREQ_6 + 91 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RESOLUTION + Enhanced Resolution + 5 + 2 + + RESOLUTIONSelect + + NONE + Dithering is disabled + 0x0 + + + DITH4 + Dithering is done every 16 PWM frames + 0x1 + + + DITH5 + Dithering is done every 32 PWM frames + 0x2 + + + DITH6 + Dithering is done every 64 PWM frames + 0x3 + + + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV64 + Divide by 64 + 0x5 + + + DIV256 + Divide by 256 + 0x6 + + + DIV1024 + Divide by 1024 + 0x7 + + + + + RUNSTDBY + Run in Standby + 11 + 1 + + + PRESCSYNC + Prescaler and Counter Synchronization Selection + 12 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset counter on next GCLK + 0x0 + + + PRESC + Reload or reset counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset counter on next GCLK and reset prescaler counter + 0x2 + + + + + ALOCK + Auto Lock + 14 + 1 + + + MSYNC + Master Synchronization (only for TCC Slave Instance) + 15 + 1 + + + DMAOS + DMA One-shot Trigger Mode + 23 + 1 + + + CPTEN0 + Capture Channel 0 Enable + 24 + 1 + + + CPTEN1 + Capture Channel 1 Enable + 25 + 1 + + + CPTEN2 + Capture Channel 2 Enable + 26 + 1 + + + CPTEN3 + Capture Channel 3 Enable + 27 + 1 + + + CPTEN4 + Capture Channel 4 Enable + 28 + 1 + + + CPTEN5 + Capture Channel 5 Enable + 29 + 1 + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot + 2 + 1 + + + IDXCMD + Ramp Index Command + 3 + 2 + + IDXCMDSelect + + DISABLE + Command disabled: Index toggles between cycles A and B + 0x0 + + + SET + Set index: cycle B will be forced in the next cycle + 0x1 + + + CLEAR + Clear index: cycle A will be forced in the next cycle + 0x2 + + + HOLD + Hold index: the next cycle will be the same as the current cycle + 0x3 + + + + + CMD + TCC Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Clear start, restart or retrigger + 0x1 + + + STOP + Force stop + 0x2 + + + UPDATE + Force update or double buffered registers + 0x3 + + + READSYNC + Force COUNT read synchronization + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot + 2 + 1 + + + IDXCMD + Ramp Index Command + 3 + 2 + + IDXCMDSelect + + DISABLE + Command disabled: Index toggles between cycles A and B + 0x0 + + + SET + Set index: cycle B will be forced in the next cycle + 0x1 + + + CLEAR + Clear index: cycle A will be forced in the next cycle + 0x2 + + + HOLD + Hold index: the next cycle will be the same as the current cycle + 0x3 + + + + + CMD + TCC Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Clear start, restart or retrigger + 0x1 + + + STOP + Force stop + 0x2 + + + UPDATE + Force update or double buffered registers + 0x3 + + + READSYNC + Force COUNT read synchronization + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + SYNCBUSY + Synchronization Busy + 0x08 + 32 + read-only + + + SWRST + Swrst Busy + 0 + 1 + + + ENABLE + Enable Busy + 1 + 1 + + + CTRLB + Ctrlb Busy + 2 + 1 + + + STATUS + Status Busy + 3 + 1 + + + COUNT + Count Busy + 4 + 1 + + + PATT + Pattern Busy + 5 + 1 + + + WAVE + Wave Busy + 6 + 1 + + + PER + Period Busy + 7 + 1 + + + CC0 + Compare Channel 0 Busy + 8 + 1 + + + CC1 + Compare Channel 1 Busy + 9 + 1 + + + CC2 + Compare Channel 2 Busy + 10 + 1 + + + CC3 + Compare Channel 3 Busy + 11 + 1 + + + CC4 + Compare Channel 4 Busy + 12 + 1 + + + CC5 + Compare Channel 5 Busy + 13 + 1 + + + + + FCTRLA + Recoverable Fault A Configuration + 0x0C + 32 + + + SRC + Fault A Source + 0 + 2 + + SRCSelect + + DISABLE + Fault input disabled + 0x0 + + + ENABLE + MCEx (x=0,1) event input + 0x1 + + + INVERT + Inverted MCEx (x=0,1) event input + 0x2 + + + ALTFAULT + Alternate fault (A or B) state at the end of the previous period + 0x3 + + + + + KEEP + Fault A Keeper + 3 + 1 + + + QUAL + Fault A Qualification + 4 + 1 + + + BLANK + Fault A Blanking Mode + 5 + 2 + + BLANKSelect + + START + Blanking applied from start of the ramp + 0x0 + + + RISE + Blanking applied from rising edge of the output waveform + 0x1 + + + FALL + Blanking applied from falling edge of the output waveform + 0x2 + + + BOTH + Blanking applied from each toggle of the output waveform + 0x3 + + + + + RESTART + Fault A Restart + 7 + 1 + + + HALT + Fault A Halt Mode + 8 + 2 + + HALTSelect + + DISABLE + Halt action disabled + 0x0 + + + HW + Hardware halt action + 0x1 + + + SW + Software halt action + 0x2 + + + NR + Non-recoverable fault + 0x3 + + + + + CHSEL + Fault A Capture Channel + 10 + 2 + + CHSELSelect + + CC0 + Capture value stored in channel 0 + 0x0 + + + CC1 + Capture value stored in channel 1 + 0x1 + + + CC2 + Capture value stored in channel 2 + 0x2 + + + CC3 + Capture value stored in channel 3 + 0x3 + + + + + CAPTURE + Fault A Capture Action + 12 + 3 + + CAPTURESelect + + DISABLE + No capture + 0x0 + + + CAPT + Capture on fault + 0x1 + + + CAPTMIN + Minimum capture + 0x2 + + + CAPTMAX + Maximum capture + 0x3 + + + LOCMIN + Minimum local detection + 0x4 + + + LOCMAX + Maximum local detection + 0x5 + + + DERIV0 + Minimum and maximum local detection + 0x6 + + + CAPTMARK + Capture with ramp index as MSB value + 0x7 + + + + + BLANKPRESC + Fault A Blanking Prescaler + 15 + 1 + + + BLANKVAL + Fault A Blanking Time + 16 + 8 + + + FILTERVAL + Fault A Filter Value + 24 + 4 + + + + + FCTRLB + Recoverable Fault B Configuration + 0x10 + 32 + + + SRC + Fault B Source + 0 + 2 + + SRCSelect + + DISABLE + Fault input disabled + 0x0 + + + ENABLE + MCEx (x=0,1) event input + 0x1 + + + INVERT + Inverted MCEx (x=0,1) event input + 0x2 + + + ALTFAULT + Alternate fault (A or B) state at the end of the previous period + 0x3 + + + + + KEEP + Fault B Keeper + 3 + 1 + + + QUAL + Fault B Qualification + 4 + 1 + + + BLANK + Fault B Blanking Mode + 5 + 2 + + BLANKSelect + + START + Blanking applied from start of the ramp + 0x0 + + + RISE + Blanking applied from rising edge of the output waveform + 0x1 + + + FALL + Blanking applied from falling edge of the output waveform + 0x2 + + + BOTH + Blanking applied from each toggle of the output waveform + 0x3 + + + + + RESTART + Fault B Restart + 7 + 1 + + + HALT + Fault B Halt Mode + 8 + 2 + + HALTSelect + + DISABLE + Halt action disabled + 0x0 + + + HW + Hardware halt action + 0x1 + + + SW + Software halt action + 0x2 + + + NR + Non-recoverable fault + 0x3 + + + + + CHSEL + Fault B Capture Channel + 10 + 2 + + CHSELSelect + + CC0 + Capture value stored in channel 0 + 0x0 + + + CC1 + Capture value stored in channel 1 + 0x1 + + + CC2 + Capture value stored in channel 2 + 0x2 + + + CC3 + Capture value stored in channel 3 + 0x3 + + + + + CAPTURE + Fault B Capture Action + 12 + 3 + + CAPTURESelect + + DISABLE + No capture + 0x0 + + + CAPT + Capture on fault + 0x1 + + + CAPTMIN + Minimum capture + 0x2 + + + CAPTMAX + Maximum capture + 0x3 + + + LOCMIN + Minimum local detection + 0x4 + + + LOCMAX + Maximum local detection + 0x5 + + + DERIV0 + Minimum and maximum local detection + 0x6 + + + CAPTMARK + Capture with ramp index as MSB value + 0x7 + + + + + BLANKPRESC + Fault B Blanking Prescaler + 15 + 1 + + + BLANKVAL + Fault B Blanking Time + 16 + 8 + + + FILTERVAL + Fault B Filter Value + 24 + 4 + + + + + WEXCTRL + Waveform Extension Configuration + 0x14 + 32 + + + OTMX + Output Matrix + 0 + 2 + + + DTIEN0 + Dead-time Insertion Generator 0 Enable + 8 + 1 + + + DTIEN1 + Dead-time Insertion Generator 1 Enable + 9 + 1 + + + DTIEN2 + Dead-time Insertion Generator 2 Enable + 10 + 1 + + + DTIEN3 + Dead-time Insertion Generator 3 Enable + 11 + 1 + + + DTLS + Dead-time Low Side Outputs Value + 16 + 8 + + + DTHS + Dead-time High Side Outputs Value + 24 + 8 + + + + + DRVCTRL + Driver Control + 0x18 + 32 + + + NRE0 + Non-Recoverable State 0 Output Enable + 0 + 1 + + + NRE1 + Non-Recoverable State 1 Output Enable + 1 + 1 + + + NRE2 + Non-Recoverable State 2 Output Enable + 2 + 1 + + + NRE3 + Non-Recoverable State 3 Output Enable + 3 + 1 + + + NRE4 + Non-Recoverable State 4 Output Enable + 4 + 1 + + + NRE5 + Non-Recoverable State 5 Output Enable + 5 + 1 + + + NRE6 + Non-Recoverable State 6 Output Enable + 6 + 1 + + + NRE7 + Non-Recoverable State 7 Output Enable + 7 + 1 + + + NRV0 + Non-Recoverable State 0 Output Value + 8 + 1 + + + NRV1 + Non-Recoverable State 1 Output Value + 9 + 1 + + + NRV2 + Non-Recoverable State 2 Output Value + 10 + 1 + + + NRV3 + Non-Recoverable State 3 Output Value + 11 + 1 + + + NRV4 + Non-Recoverable State 4 Output Value + 12 + 1 + + + NRV5 + Non-Recoverable State 5 Output Value + 13 + 1 + + + NRV6 + Non-Recoverable State 6 Output Value + 14 + 1 + + + NRV7 + Non-Recoverable State 7 Output Value + 15 + 1 + + + INVEN0 + Output Waveform 0 Inversion + 16 + 1 + + + INVEN1 + Output Waveform 1 Inversion + 17 + 1 + + + INVEN2 + Output Waveform 2 Inversion + 18 + 1 + + + INVEN3 + Output Waveform 3 Inversion + 19 + 1 + + + INVEN4 + Output Waveform 4 Inversion + 20 + 1 + + + INVEN5 + Output Waveform 5 Inversion + 21 + 1 + + + INVEN6 + Output Waveform 6 Inversion + 22 + 1 + + + INVEN7 + Output Waveform 7 Inversion + 23 + 1 + + + FILTERVAL0 + Non-Recoverable Fault Input 0 Filter Value + 24 + 4 + + + FILTERVAL1 + Non-Recoverable Fault Input 1 Filter Value + 28 + 4 + + + + + DBGCTRL + Debug Control + 0x1E + 8 + + + DBGRUN + Debug Running Mode + 0 + 1 + + + FDDBD + Fault Detection on Debug Break Detection + 2 + 1 + + + + + EVCTRL + Event Control + 0x20 + 32 + + + EVACT0 + Timer/counter Input Event0 Action + 0 + 3 + + EVACT0Select + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or re-trigger counter on event + 0x1 + + + COUNTEV + Count on event + 0x2 + + + START + Start counter on event + 0x3 + + + INC + Increment counter on event + 0x4 + + + COUNT + Count on active state of asynchronous event + 0x5 + + + STAMP + Stamp capture + 0x6 + + + FAULT + Non-recoverable fault + 0x7 + + + + + EVACT1 + Timer/counter Input Event1 Action + 3 + 3 + + EVACT1Select + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Re-trigger counter on event + 0x1 + + + DIR + Direction control + 0x2 + + + STOP + Stop counter on event + 0x3 + + + DEC + Decrement counter on event + 0x4 + + + PPW + Period capture value in CC0 register, pulse width capture value in CC1 register + 0x5 + + + PWP + Period capture value in CC1 register, pulse width capture value in CC0 register + 0x6 + + + FAULT + Non-recoverable fault + 0x7 + + + + + CNTSEL + Timer/counter Output Event Mode + 6 + 2 + + CNTSELSelect + + START + An interrupt/event is generated when a new counter cycle starts + 0x0 + + + END + An interrupt/event is generated when a counter cycle ends + 0x1 + + + BETWEEN + An interrupt/event is generated when a counter cycle ends, except for the first and last cycles + 0x2 + + + BOUNDARY + An interrupt/event is generated when a new counter cycle starts or a counter cycle ends + 0x3 + + + + + OVFEO + Overflow/Underflow Output Event Enable + 8 + 1 + + + TRGEO + Retrigger Output Event Enable + 9 + 1 + + + CNTEO + Timer/counter Output Event Enable + 10 + 1 + + + TCINV0 + Inverted Event 0 Input Enable + 12 + 1 + + + TCINV1 + Inverted Event 1 Input Enable + 13 + 1 + + + TCEI0 + Timer/counter Event 0 Input Enable + 14 + 1 + + + TCEI1 + Timer/counter Event 1 Input Enable + 15 + 1 + + + MCEI0 + Match or Capture Channel 0 Event Input Enable + 16 + 1 + + + MCEI1 + Match or Capture Channel 1 Event Input Enable + 17 + 1 + + + MCEI2 + Match or Capture Channel 2 Event Input Enable + 18 + 1 + + + MCEI3 + Match or Capture Channel 3 Event Input Enable + 19 + 1 + + + MCEI4 + Match or Capture Channel 4 Event Input Enable + 20 + 1 + + + MCEI5 + Match or Capture Channel 5 Event Input Enable + 21 + 1 + + + MCEO0 + Match or Capture Channel 0 Event Output Enable + 24 + 1 + + + MCEO1 + Match or Capture Channel 1 Event Output Enable + 25 + 1 + + + MCEO2 + Match or Capture Channel 2 Event Output Enable + 26 + 1 + + + MCEO3 + Match or Capture Channel 3 Event Output Enable + 27 + 1 + + + MCEO4 + Match or Capture Channel 4 Event Output Enable + 28 + 1 + + + MCEO5 + Match or Capture Channel 5 Event Output Enable + 29 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x24 + 32 + + + OVF + Overflow Interrupt Enable + 0 + 1 + + + TRG + Retrigger Interrupt Enable + 1 + 1 + + + CNT + Counter Interrupt Enable + 2 + 1 + + + ERR + Error Interrupt Enable + 3 + 1 + + + UFS + Non-Recoverable Update Fault Interrupt Enable + 10 + 1 + + + DFS + Non-Recoverable Debug Fault Interrupt Enable + 11 + 1 + + + FAULTA + Recoverable Fault A Interrupt Enable + 12 + 1 + + + FAULTB + Recoverable Fault B Interrupt Enable + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 Interrupt Enable + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 Interrupt Enable + 15 + 1 + + + MC0 + Match or Capture Channel 0 Interrupt Enable + 16 + 1 + + + MC1 + Match or Capture Channel 1 Interrupt Enable + 17 + 1 + + + MC2 + Match or Capture Channel 2 Interrupt Enable + 18 + 1 + + + MC3 + Match or Capture Channel 3 Interrupt Enable + 19 + 1 + + + MC4 + Match or Capture Channel 4 Interrupt Enable + 20 + 1 + + + MC5 + Match or Capture Channel 5 Interrupt Enable + 21 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x28 + 32 + + + OVF + Overflow Interrupt Enable + 0 + 1 + + + TRG + Retrigger Interrupt Enable + 1 + 1 + + + CNT + Counter Interrupt Enable + 2 + 1 + + + ERR + Error Interrupt Enable + 3 + 1 + + + UFS + Non-Recoverable Update Fault Interrupt Enable + 10 + 1 + + + DFS + Non-Recoverable Debug Fault Interrupt Enable + 11 + 1 + + + FAULTA + Recoverable Fault A Interrupt Enable + 12 + 1 + + + FAULTB + Recoverable Fault B Interrupt Enable + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 Interrupt Enable + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 Interrupt Enable + 15 + 1 + + + MC0 + Match or Capture Channel 0 Interrupt Enable + 16 + 1 + + + MC1 + Match or Capture Channel 1 Interrupt Enable + 17 + 1 + + + MC2 + Match or Capture Channel 2 Interrupt Enable + 18 + 1 + + + MC3 + Match or Capture Channel 3 Interrupt Enable + 19 + 1 + + + MC4 + Match or Capture Channel 4 Interrupt Enable + 20 + 1 + + + MC5 + Match or Capture Channel 5 Interrupt Enable + 21 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x2C + 32 + + + OVF + Overflow + 0 + 1 + + + TRG + Retrigger + 1 + 1 + + + CNT + Counter + 2 + 1 + + + ERR + Error + 3 + 1 + + + UFS + Non-Recoverable Update Fault + 10 + 1 + + + DFS + Non-Recoverable Debug Fault + 11 + 1 + + + FAULTA + Recoverable Fault A + 12 + 1 + + + FAULTB + Recoverable Fault B + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 + 15 + 1 + + + MC0 + Match or Capture 0 + 16 + 1 + + + MC1 + Match or Capture 1 + 17 + 1 + + + MC2 + Match or Capture 2 + 18 + 1 + + + MC3 + Match or Capture 3 + 19 + 1 + + + MC4 + Match or Capture 4 + 20 + 1 + + + MC5 + Match or Capture 5 + 21 + 1 + + + + + STATUS + Status + 0x30 + 32 + 0x00000001 + + + STOP + Stop + 0 + 1 + read-only + + + IDX + Ramp + 1 + 1 + read-only + + + UFS + Non-recoverable Update Fault State + 2 + 1 + + + DFS + Non-Recoverable Debug Fault State + 3 + 1 + + + SLAVE + Slave + 4 + 1 + read-only + + + PATTBUFV + Pattern Buffer Valid + 5 + 1 + + + PERBUFV + Period Buffer Valid + 7 + 1 + + + FAULTAIN + Recoverable Fault A Input + 8 + 1 + read-only + + + FAULTBIN + Recoverable Fault B Input + 9 + 1 + read-only + + + FAULT0IN + Non-Recoverable Fault0 Input + 10 + 1 + read-only + + + FAULT1IN + Non-Recoverable Fault1 Input + 11 + 1 + read-only + + + FAULTA + Recoverable Fault A State + 12 + 1 + + + FAULTB + Recoverable Fault B State + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 State + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 State + 15 + 1 + + + CCBUFV0 + Compare Channel 0 Buffer Valid + 16 + 1 + + + CCBUFV1 + Compare Channel 1 Buffer Valid + 17 + 1 + + + CCBUFV2 + Compare Channel 2 Buffer Valid + 18 + 1 + + + CCBUFV3 + Compare Channel 3 Buffer Valid + 19 + 1 + + + CCBUFV4 + Compare Channel 4 Buffer Valid + 20 + 1 + + + CCBUFV5 + Compare Channel 5 Buffer Valid + 21 + 1 + + + CMP0 + Compare Channel 0 Value + 24 + 1 + read-only + + + CMP1 + Compare Channel 1 Value + 25 + 1 + read-only + + + CMP2 + Compare Channel 2 Value + 26 + 1 + read-only + + + CMP3 + Compare Channel 3 Value + 27 + 1 + read-only + + + CMP4 + Compare Channel 4 Value + 28 + 1 + read-only + + + CMP5 + Compare Channel 5 Value + 29 + 1 + read-only + + + + + COUNT + Count + 0x34 + 32 + + + COUNT + Counter Value + 0 + 24 + + + + + COUNT_DITH4 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 4 + 20 + + + + + COUNT_DITH5 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 5 + 19 + + + + + COUNT_DITH6 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 6 + 18 + + + + + PATT + Pattern + 0x38 + 16 + + + PGE0 + Pattern Generator 0 Output Enable + 0 + 1 + + + PGE1 + Pattern Generator 1 Output Enable + 1 + 1 + + + PGE2 + Pattern Generator 2 Output Enable + 2 + 1 + + + PGE3 + Pattern Generator 3 Output Enable + 3 + 1 + + + PGE4 + Pattern Generator 4 Output Enable + 4 + 1 + + + PGE5 + Pattern Generator 5 Output Enable + 5 + 1 + + + PGE6 + Pattern Generator 6 Output Enable + 6 + 1 + + + PGE7 + Pattern Generator 7 Output Enable + 7 + 1 + + + PGV0 + Pattern Generator 0 Output Value + 8 + 1 + + + PGV1 + Pattern Generator 1 Output Value + 9 + 1 + + + PGV2 + Pattern Generator 2 Output Value + 10 + 1 + + + PGV3 + Pattern Generator 3 Output Value + 11 + 1 + + + PGV4 + Pattern Generator 4 Output Value + 12 + 1 + + + PGV5 + Pattern Generator 5 Output Value + 13 + 1 + + + PGV6 + Pattern Generator 6 Output Value + 14 + 1 + + + PGV7 + Pattern Generator 7 Output Value + 15 + 1 + + + + + WAVE + Waveform Control + 0x3C + 32 + + + WAVEGEN + Waveform Generation + 0 + 3 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + DSCRITICAL + Dual-slope critical + 0x4 + + + DSBOTTOM + Dual-slope with interrupt/event condition when COUNT reaches ZERO + 0x5 + + + DSBOTH + Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP + 0x6 + + + DSTOP + Dual-slope with interrupt/event condition when COUNT reaches TOP + 0x7 + + + + + RAMP + Ramp Mode + 4 + 2 + + RAMPSelect + + RAMP1 + RAMP1 operation + 0x0 + + + RAMP2A + Alternative RAMP2 operation + 0x1 + + + RAMP2 + RAMP2 operation + 0x2 + + + RAMP2C + Critical RAMP2 operation + 0x3 + + + + + CIPEREN + Circular period Enable + 7 + 1 + + + CICCEN0 + Circular Channel 0 Enable + 8 + 1 + + + CICCEN1 + Circular Channel 1 Enable + 9 + 1 + + + CICCEN2 + Circular Channel 2 Enable + 10 + 1 + + + CICCEN3 + Circular Channel 3 Enable + 11 + 1 + + + POL0 + Channel 0 Polarity + 16 + 1 + + + POL1 + Channel 1 Polarity + 17 + 1 + + + POL2 + Channel 2 Polarity + 18 + 1 + + + POL3 + Channel 3 Polarity + 19 + 1 + + + POL4 + Channel 4 Polarity + 20 + 1 + + + POL5 + Channel 5 Polarity + 21 + 1 + + + SWAP0 + Swap DTI Output Pair 0 + 24 + 1 + + + SWAP1 + Swap DTI Output Pair 1 + 25 + 1 + + + SWAP2 + Swap DTI Output Pair 2 + 26 + 1 + + + SWAP3 + Swap DTI Output Pair 3 + 27 + 1 + + + + + PER + Period + 0x40 + 32 + 0xFFFFFFFF + + + PER + Period Value + 0 + 24 + + + + + PER_DITH4 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 4 + + + PER + Period Value + 4 + 20 + + + + + PER_DITH5 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 5 + + + PER + Period Value + 5 + 19 + + + + + PER_DITH6 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 6 + + + PER + Period Value + 6 + 18 + + + + + 6 + 0x4 + CC%s + Compare and Capture + 0x44 + 32 + + + CC + Channel Compare/Capture Value + 0 + 24 + + + + + 6 + 0x4 + CC%s_DITH4 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 4 + + + CC + Channel Compare/Capture Value + 4 + 20 + + + + + 6 + 0x4 + CC%s_DITH5 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 5 + + + CC + Channel Compare/Capture Value + 5 + 19 + + + + + 6 + 0x4 + CC%s_DITH6 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 6 + + + CC + Channel Compare/Capture Value + 6 + 18 + + + + + PATTBUF + Pattern Buffer + 0x64 + 16 + + + PGEB0 + Pattern Generator 0 Output Enable Buffer + 0 + 1 + + + PGEB1 + Pattern Generator 1 Output Enable Buffer + 1 + 1 + + + PGEB2 + Pattern Generator 2 Output Enable Buffer + 2 + 1 + + + PGEB3 + Pattern Generator 3 Output Enable Buffer + 3 + 1 + + + PGEB4 + Pattern Generator 4 Output Enable Buffer + 4 + 1 + + + PGEB5 + Pattern Generator 5 Output Enable Buffer + 5 + 1 + + + PGEB6 + Pattern Generator 6 Output Enable Buffer + 6 + 1 + + + PGEB7 + Pattern Generator 7 Output Enable Buffer + 7 + 1 + + + PGVB0 + Pattern Generator 0 Output Enable + 8 + 1 + + + PGVB1 + Pattern Generator 1 Output Enable + 9 + 1 + + + PGVB2 + Pattern Generator 2 Output Enable + 10 + 1 + + + PGVB3 + Pattern Generator 3 Output Enable + 11 + 1 + + + PGVB4 + Pattern Generator 4 Output Enable + 12 + 1 + + + PGVB5 + Pattern Generator 5 Output Enable + 13 + 1 + + + PGVB6 + Pattern Generator 6 Output Enable + 14 + 1 + + + PGVB7 + Pattern Generator 7 Output Enable + 15 + 1 + + + + + PERBUF + Period Buffer + 0x6C + 32 + 0xFFFFFFFF + + + PERBUF + Period Buffer Value + 0 + 24 + + + + + PERBUF_DITH4 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 4 + + + PERBUF + Period Buffer Value + 4 + 20 + + + + + PERBUF_DITH5 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 5 + + + PERBUF + Period Buffer Value + 5 + 19 + + + + + PERBUF_DITH6 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 6 + + + PERBUF + Period Buffer Value + 6 + 18 + + + + + 6 + 0x4 + CCBUF%s + Compare and Capture Buffer + 0x70 + 32 + + + CCBUF + Channel Compare/Capture Buffer Value + 0 + 24 + + + + + 6 + 0x4 + CCBUF%s_DITH4 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + CCBUF + Channel Compare/Capture Buffer Value + 0 + 4 + + + DITHERBUF + Dithering Buffer Cycle Number + 4 + 20 + + + + + 6 + 0x4 + CCBUF%s_DITH5 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 5 + + + CCBUF + Channel Compare/Capture Buffer Value + 5 + 19 + + + + + 6 + 0x4 + CCBUF%s_DITH6 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 6 + + + CCBUF + Channel Compare/Capture Buffer Value + 6 + 18 + + + + + + + TCC1 + Timer Counter Control 1 + 0x41018000 + + TCC1_INTREQ_0 + 92 + + + TCC1_INTREQ_1 + 93 + + + TCC1_INTREQ_2 + 94 + + + TCC1_INTREQ_3 + 95 + + + TCC1_INTREQ_4 + 96 + + + + TCC2 + Timer Counter Control 2 + 0x42000C00 + + TCC2_INTREQ_0 + 97 + + + TCC2_INTREQ_1 + 98 + + + TCC2_INTREQ_2 + 99 + + + TCC2_INTREQ_3 + 100 + + + + TCC3 + Timer Counter Control 3 + 0x42001000 + + TCC3_INTREQ_0 + 101 + + + TCC3_INTREQ_1 + 102 + + + TCC3_INTREQ_2 + 103 + + + + TCC4 + Timer Counter Control 4 + 0x43001000 + + TCC4_INTREQ_0 + 104 + + + TCC4_INTREQ_1 + 105 + + + TCC4_INTREQ_2 + 106 + + + + TRNG + 1.1.0 + True Random Generator + TRNG + TRNG_ + 0x42002800 + + 0 + 0x40 + registers + + + TRNG_INTREQ + 131 + + + + CTRLA + Control A + 0x00 + 8 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + + + EVCTRL + Event Control + 0x04 + 8 + + + DATARDYEO + Data Ready Event Output + 0 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + DATARDY + Data Ready Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + DATARDY + Data Ready Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + DATARDY + Data Ready Interrupt Flag + 0 + 1 + + + + + DATA + Output Data + 0x20 + 32 + read-only + + + DATA + Output Data + 0 + 32 + read-only + + + + + + + USB + 1.2.0 + Universal Serial Bus + USB + USB_ + 0x41000000 + + 0 + 0x400 + registers + + + USB_INTREQ_0 + 80 + + + USB_INTREQ_1 + 81 + + + USB_INTREQ_2 + 82 + + + USB_INTREQ_3 + 83 + + + + DEVICE + USB is Device + UsbDevice + 0x0 + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby Mode + 2 + 1 + + + MODE + Operating Mode + 7 + 1 + + MODESelect + + DEVICE + Device Mode + 0x0 + + + HOST + Host Mode + 0x1 + + + + + + + SYNCBUSY + Synchronization Busy + 0x002 + 8 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + + + QOSCTRL + USB Quality Of Service + 0x003 + 8 + 0x0F + + + CQOS + Configuration Quality of Service + 0 + 2 + + + DQOS + Data Quality of Service + 2 + 2 + + + + + CTRLB + DEVICE Control B + 0x008 + 16 + 0x0001 + + + DETACH + Detach + 0 + 1 + + + UPRSM + Upstream Resume + 1 + 1 + + + SPDCONF + Speed Configuration + 2 + 2 + + SPDCONFSelect + + FS + FS : Full Speed + 0x0 + + + LS + LS : Low Speed + 0x1 + + + HS + HS : High Speed capable + 0x2 + + + HSTM + HSTM: High Speed Test Mode (force high-speed mode for test mode) + 0x3 + + + + + NREPLY + No Reply + 4 + 1 + + + TSTJ + Test mode J + 5 + 1 + + + TSTK + Test mode K + 6 + 1 + + + TSTPCKT + Test packet mode + 7 + 1 + + + OPMODE2 + Specific Operational Mode + 8 + 1 + + + GNAK + Global NAK + 9 + 1 + + + LPMHDSK + Link Power Management Handshake + 10 + 2 + + LPMHDSKSelect + + NO + No handshake. LPM is not supported + 0x0 + + + ACK + ACK + 0x1 + + + NYET + NYET + 0x2 + + + STALL + STALL + 0x3 + + + + + + + DADD + DEVICE Device Address + 0x00A + 8 + + + DADD + Device Address + 0 + 7 + + + ADDEN + Device Address Enable + 7 + 1 + + + + + STATUS + DEVICE Status + 0x00C + 8 + read-only + 0x40 + + + SPEED + Speed Status + 2 + 2 + read-only + + SPEEDSelect + + FS + Full-speed mode + 0x0 + + + LS + Low-speed mode + 0x1 + + + HS + High-speed mode + 0x2 + + + + + LINESTATE + USB Line State Status + 6 + 2 + read-only + + LINESTATESelect + + 0 + SE0/RESET + 0x0 + + + 1 + FS-J or LS-K State + 0x1 + + + 2 + FS-K or LS-J State + 0x2 + + + + + + + FSMSTATUS + Finite State Machine Status + 0x00D + 8 + read-only + 0x01 + + + FSMSTATE + Fine State Machine Status + 0 + 7 + read-only + + FSMSTATESelect + + OFF + OFF (L3). It corresponds to the powered-off, disconnected, and disabled state + 0x1 + + + ON + ON (L0). It corresponds to the Idle and Active states + 0x2 + + + SUSPEND + SUSPEND (L2) + 0x4 + + + SLEEP + SLEEP (L1) + 0x8 + + + DNRESUME + DNRESUME. Down Stream Resume. + 0x10 + + + UPRESUME + UPRESUME. Up Stream Resume. + 0x20 + + + RESET + RESET. USB lines Reset. + 0x40 + + + + + + + FNUM + DEVICE Device Frame Number + 0x010 + 16 + read-only + + + MFNUM + Micro Frame Number + 0 + 3 + read-only + + + FNUM + Frame Number + 3 + 11 + read-only + + + FNCERR + Frame Number CRC Error + 15 + 1 + read-only + + + + + INTENCLR + DEVICE Device Interrupt Enable Clear + 0x014 + 16 + + + SUSPEND + Suspend Interrupt Enable + 0 + 1 + + + MSOF + Micro Start of Frame Interrupt Enable in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame Interrupt Enable + 2 + 1 + + + EORST + End of Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + EORSM + End Of Resume Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + LPMNYET + Link Power Management Not Yet Interrupt Enable + 8 + 1 + + + LPMSUSP + Link Power Management Suspend Interrupt Enable + 9 + 1 + + + + + INTENSET + DEVICE Device Interrupt Enable Set + 0x018 + 16 + + + SUSPEND + Suspend Interrupt Enable + 0 + 1 + + + MSOF + Micro Start of Frame Interrupt Enable in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame Interrupt Enable + 2 + 1 + + + EORST + End of Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + EORSM + End Of Resume Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + LPMNYET + Link Power Management Not Yet Interrupt Enable + 8 + 1 + + + LPMSUSP + Link Power Management Suspend Interrupt Enable + 9 + 1 + + + + + INTFLAG + DEVICE Device Interrupt Flag + 0x01C + 16 + + + SUSPEND + Suspend + 0 + 1 + + + MSOF + Micro Start of Frame in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame + 2 + 1 + + + EORST + End of Reset + 3 + 1 + + + WAKEUP + Wake Up + 4 + 1 + + + EORSM + End Of Resume + 5 + 1 + + + UPRSM + Upstream Resume + 6 + 1 + + + RAMACER + Ram Access + 7 + 1 + + + LPMNYET + Link Power Management Not Yet + 8 + 1 + + + LPMSUSP + Link Power Management Suspend + 9 + 1 + + + + + EPINTSMRY + DEVICE End Point Interrupt Summary + 0x020 + 16 + read-only + + + EPINT0 + End Point 0 Interrupt + 0 + 1 + read-only + + + EPINT1 + End Point 1 Interrupt + 1 + 1 + read-only + + + EPINT2 + End Point 2 Interrupt + 2 + 1 + read-only + + + EPINT3 + End Point 3 Interrupt + 3 + 1 + read-only + + + EPINT4 + End Point 4 Interrupt + 4 + 1 + read-only + + + EPINT5 + End Point 5 Interrupt + 5 + 1 + read-only + + + EPINT6 + End Point 6 Interrupt + 6 + 1 + read-only + + + EPINT7 + End Point 7 Interrupt + 7 + 1 + read-only + + + + + DESCADD + Descriptor Address + 0x024 + 32 + + + DESCADD + Descriptor Address Value + 0 + 32 + + + + + PADCAL + USB PAD Calibration + 0x028 + 16 + + + TRANSP + USB Pad Transp calibration + 0 + 5 + + + TRANSN + USB Pad Transn calibration + 6 + 5 + + + TRIM + USB Pad Trim calibration + 12 + 3 + + + + + 8 + 0x20 + EPCFG%s + DEVICE End Point Configuration + 0x100 + 8 + + + EPTYPE0 + End Point Type0 + 0 + 3 + + + EPTYPE1 + End Point Type1 + 4 + 3 + + + NYETDIS + NYET Token Disable + 7 + 1 + + + + + 8 + 0x20 + EPSTATUSCLR%s + DEVICE End Point Pipe Status Clear + 0x104 + 8 + write-only + + + DTGLOUT + Data Toggle OUT Clear + 0 + 1 + write-only + + + DTGLIN + Data Toggle IN Clear + 1 + 1 + write-only + + + CURBK + Current Bank Clear + 2 + 1 + write-only + + + STALLRQ0 + Stall 0 Request Clear + 4 + 1 + write-only + + + STALLRQ1 + Stall 1 Request Clear + 5 + 1 + write-only + + + BK0RDY + Bank 0 Ready Clear + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Clear + 7 + 1 + write-only + + + + + 8 + 0x20 + EPSTATUSSET%s + DEVICE End Point Pipe Status Set + 0x105 + 8 + write-only + + + DTGLOUT + Data Toggle OUT Set + 0 + 1 + write-only + + + DTGLIN + Data Toggle IN Set + 1 + 1 + write-only + + + CURBK + Current Bank Set + 2 + 1 + write-only + + + STALLRQ0 + Stall 0 Request Set + 4 + 1 + write-only + + + STALLRQ1 + Stall 1 Request Set + 5 + 1 + write-only + + + BK0RDY + Bank 0 Ready Set + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Set + 7 + 1 + write-only + + + + + 8 + 0x20 + EPSTATUS%s + DEVICE End Point Pipe Status + 0x106 + 8 + read-only + + + DTGLOUT + Data Toggle Out + 0 + 1 + read-only + + + DTGLIN + Data Toggle In + 1 + 1 + read-only + + + CURBK + Current Bank + 2 + 1 + read-only + + + STALLRQ0 + Stall 0 Request + 4 + 1 + read-only + + + STALLRQ1 + Stall 1 Request + 5 + 1 + read-only + + + BK0RDY + Bank 0 ready + 6 + 1 + read-only + + + BK1RDY + Bank 1 ready + 7 + 1 + read-only + + + + + 8 + 0x20 + EPINTFLAG%s + DEVICE End Point Interrupt Flag + 0x107 + 8 + + + TRCPT0 + Transfer Complete 0 + 0 + 1 + + + TRCPT1 + Transfer Complete 1 + 1 + 1 + + + TRFAIL0 + Error Flow 0 + 2 + 1 + + + TRFAIL1 + Error Flow 1 + 3 + 1 + + + RXSTP + Received Setup + 4 + 1 + + + STALL0 + Stall 0 In/out + 5 + 1 + + + STALL1 + Stall 1 In/out + 6 + 1 + + + + + 8 + 0x20 + EPINTENCLR%s + DEVICE End Point Interrupt Clear Flag + 0x108 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Disable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Disable + 1 + 1 + + + TRFAIL0 + Error Flow 0 Interrupt Disable + 2 + 1 + + + TRFAIL1 + Error Flow 1 Interrupt Disable + 3 + 1 + + + RXSTP + Received Setup Interrupt Disable + 4 + 1 + + + STALL0 + Stall 0 In/Out Interrupt Disable + 5 + 1 + + + STALL1 + Stall 1 In/Out Interrupt Disable + 6 + 1 + + + + + 8 + 0x20 + EPINTENSET%s + DEVICE End Point Interrupt Set Flag + 0x109 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Enable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Enable + 1 + 1 + + + TRFAIL0 + Error Flow 0 Interrupt Enable + 2 + 1 + + + TRFAIL1 + Error Flow 1 Interrupt Enable + 3 + 1 + + + RXSTP + Received Setup Interrupt Enable + 4 + 1 + + + STALL0 + Stall 0 In/out Interrupt enable + 5 + 1 + + + STALL1 + Stall 1 In/out Interrupt enable + 6 + 1 + + + + + + HOST + USB is Host + DEVICE + UsbHost + 0x0 + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby Mode + 2 + 1 + + + MODE + Operating Mode + 7 + 1 + + MODESelect + + DEVICE + Device Mode + 0x0 + + + HOST + Host Mode + 0x1 + + + + + + + SYNCBUSY + Synchronization Busy + 0x002 + 8 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + + + QOSCTRL + USB Quality Of Service + 0x003 + 8 + 0x0F + + + CQOS + Configuration Quality of Service + 0 + 2 + + + DQOS + Data Quality of Service + 2 + 2 + + + + + CTRLB + HOST Control B + 0x008 + 16 + + + RESUME + Send USB Resume + 1 + 1 + + + SPDCONF + Speed Configuration for Host + 2 + 2 + + SPDCONFSelect + + NORMAL + Normal mode: the host starts in full-speed mode and performs a high-speed reset to switch to the high speed mode if the downstream peripheral is high-speed capable. + 0x0 + + + FS + Full-speed: the host remains in full-speed mode whatever is the peripheral speed capability. Relevant in UTMI mode only. + 0x3 + + + + + AUTORESUME + Auto Resume Enable + 4 + 1 + + + TSTJ + Test mode J + 5 + 1 + + + TSTK + Test mode K + 6 + 1 + + + SOFE + Start of Frame Generation Enable + 8 + 1 + + + BUSRESET + Send USB Reset + 9 + 1 + + + VBUSOK + VBUS is OK + 10 + 1 + + + L1RESUME + Send L1 Resume + 11 + 1 + + + + + HSOFC + HOST Host Start Of Frame Control + 0x00A + 8 + + + FLENC + Frame Length Control + 0 + 4 + + + FLENCE + Frame Length Control Enable + 7 + 1 + + + + + STATUS + HOST Status + 0x00C + 8 + + + SPEED + Speed Status + 2 + 2 + + + LINESTATE + USB Line State Status + 6 + 2 + read-only + + + + + FSMSTATUS + Finite State Machine Status + 0x00D + 8 + read-only + 0x01 + + + FSMSTATE + Fine State Machine Status + 0 + 7 + read-only + + FSMSTATESelect + + OFF + OFF (L3). It corresponds to the powered-off, disconnected, and disabled state + 0x1 + + + ON + ON (L0). It corresponds to the Idle and Active states + 0x2 + + + SUSPEND + SUSPEND (L2) + 0x4 + + + SLEEP + SLEEP (L1) + 0x8 + + + DNRESUME + DNRESUME. Down Stream Resume. + 0x10 + + + UPRESUME + UPRESUME. Up Stream Resume. + 0x20 + + + RESET + RESET. USB lines Reset. + 0x40 + + + + + + + FNUM + HOST Host Frame Number + 0x010 + 16 + + + MFNUM + Micro Frame Number + 0 + 3 + + + FNUM + Frame Number + 3 + 11 + + + + + FLENHIGH + HOST Host Frame Length + 0x012 + 8 + read-only + + + FLENHIGH + Frame Length + 0 + 8 + read-only + + + + + INTENCLR + HOST Host Interrupt Enable Clear + 0x014 + 16 + + + HSOF + Host Start Of Frame Interrupt Disable + 2 + 1 + + + RST + BUS Reset Interrupt Disable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Disable + 4 + 1 + + + DNRSM + DownStream to Device Interrupt Disable + 5 + 1 + + + UPRSM + Upstream Resume from Device Interrupt Disable + 6 + 1 + + + RAMACER + Ram Access Interrupt Disable + 7 + 1 + + + DCONN + Device Connection Interrupt Disable + 8 + 1 + + + DDISC + Device Disconnection Interrupt Disable + 9 + 1 + + + + + INTENSET + HOST Host Interrupt Enable Set + 0x018 + 16 + + + HSOF + Host Start Of Frame Interrupt Enable + 2 + 1 + + + RST + Bus Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + DNRSM + DownStream to the Device Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume fromthe device Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + DCONN + Link Power Management Interrupt Enable + 8 + 1 + + + DDISC + Device Disconnection Interrupt Enable + 9 + 1 + + + + + INTFLAG + HOST Host Interrupt Flag + 0x01C + 16 + + + HSOF + Host Start Of Frame + 2 + 1 + + + RST + Bus Reset + 3 + 1 + + + WAKEUP + Wake Up + 4 + 1 + + + DNRSM + Downstream + 5 + 1 + + + UPRSM + Upstream Resume from the Device + 6 + 1 + + + RAMACER + Ram Access + 7 + 1 + + + DCONN + Device Connection + 8 + 1 + + + DDISC + Device Disconnection + 9 + 1 + + + + + PINTSMRY + HOST Pipe Interrupt Summary + 0x020 + 16 + read-only + + + EPINT0 + Pipe 0 Interrupt + 0 + 1 + read-only + + + EPINT1 + Pipe 1 Interrupt + 1 + 1 + read-only + + + EPINT2 + Pipe 2 Interrupt + 2 + 1 + read-only + + + EPINT3 + Pipe 3 Interrupt + 3 + 1 + read-only + + + EPINT4 + Pipe 4 Interrupt + 4 + 1 + read-only + + + EPINT5 + Pipe 5 Interrupt + 5 + 1 + read-only + + + EPINT6 + Pipe 6 Interrupt + 6 + 1 + read-only + + + EPINT7 + Pipe 7 Interrupt + 7 + 1 + read-only + + + + + DESCADD + Descriptor Address + 0x024 + 32 + + + DESCADD + Descriptor Address Value + 0 + 32 + + + + + PADCAL + USB PAD Calibration + 0x028 + 16 + + + TRANSP + USB Pad Transp calibration + 0 + 5 + + + TRANSN + USB Pad Transn calibration + 6 + 5 + + + TRIM + USB Pad Trim calibration + 12 + 3 + + + + + 8 + 0x20 + PCFG%s + HOST End Point Configuration + 0x100 + 8 + + + PTOKEN + Pipe Token + 0 + 2 + + + BK + Pipe Bank + 2 + 1 + + + PTYPE + Pipe Type + 3 + 3 + + + + + 8 + 0x20 + BINTERVAL%s + HOST Bus Access Period of Pipe + 0x103 + 8 + + + BITINTERVAL + Bit Interval + 0 + 8 + + + + + 8 + 0x20 + PSTATUSCLR%s + HOST End Point Pipe Status Clear + 0x104 + 8 + write-only + + + DTGL + Data Toggle clear + 0 + 1 + read-only + + + CURBK + Curren Bank clear + 2 + 1 + write-only + + + PFREEZE + Pipe Freeze Clear + 4 + 1 + write-only + + + BK0RDY + Bank 0 Ready Clear + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Clear + 7 + 1 + write-only + + + + + 8 + 0x20 + PSTATUSSET%s + HOST End Point Pipe Status Set + 0x105 + 8 + write-only + + + DTGL + Data Toggle Set + 0 + 1 + write-only + + + CURBK + Current Bank Set + 2 + 1 + write-only + + + PFREEZE + Pipe Freeze Set + 4 + 1 + write-only + + + BK0RDY + Bank 0 Ready Set + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Set + 7 + 1 + write-only + + + + + 8 + 0x20 + PSTATUS%s + HOST End Point Pipe Status + 0x106 + 8 + read-only + + + DTGL + Data Toggle + 0 + 1 + read-only + + + CURBK + Current Bank + 2 + 1 + read-only + + + PFREEZE + Pipe Freeze + 4 + 1 + read-only + + + BK0RDY + Bank 0 ready + 6 + 1 + read-only + + + BK1RDY + Bank 1 ready + 7 + 1 + read-only + + + + + 8 + 0x20 + PINTFLAG%s + HOST Pipe Interrupt Flag + 0x107 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Flag + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Flag + 1 + 1 + + + TRFAIL + Error Flow Interrupt Flag + 2 + 1 + + + PERR + Pipe Error Interrupt Flag + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Flag + 4 + 1 + + + STALL + Stall Interrupt Flag + 5 + 1 + + + + + 8 + 0x20 + PINTENCLR%s + HOST Pipe Interrupt Flag Clear + 0x108 + 8 + + + TRCPT0 + Transfer Complete 0 Disable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Disable + 1 + 1 + + + TRFAIL + Error Flow Interrupt Disable + 2 + 1 + + + PERR + Pipe Error Interrupt Disable + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Disable + 4 + 1 + + + STALL + Stall Inetrrupt Disable + 5 + 1 + + + + + 8 + 0x20 + PINTENSET%s + HOST Pipe Interrupt Flag Set + 0x109 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Enable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Enable + 1 + 1 + + + TRFAIL + Error Flow Interrupt Enable + 2 + 1 + + + PERR + Pipe Error Interrupt Enable + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Enable + 4 + 1 + + + STALL + Stall Interrupt Enable + 5 + 1 + + + + + + + + WDT + 1.1.0 + Watchdog Timer + WDT + WDT_ + 0x40002000 + + 0 + 0x10 + registers + + + WDT_INTREQ + 10 + + + + CTRLA + Control + 0x0 + 8 + + + ENABLE + Enable + 1 + 1 + + + WEN + Watchdog Timer Window Mode Enable + 2 + 1 + + + ALWAYSON + Always-On + 7 + 1 + + + + + CONFIG + Configuration + 0x1 + 8 + 0xBB + + + PER + Time-Out Period + 0 + 4 + + PERSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + WINDOW + Window Mode Time-Out Period + 4 + 4 + + WINDOWSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + + + EWCTRL + Early Warning Interrupt Control + 0x2 + 8 + 0x0B + + + EWOFFSET + Early Warning Interrupt Time Offset + 0 + 4 + + EWOFFSETSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + + + INTENCLR + Interrupt Enable Clear + 0x4 + 8 + + + EW + Early Warning Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x5 + 8 + + + EW + Early Warning Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x6 + 8 + + + EW + Early Warning + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x8 + 32 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + WEN + Window Enable Synchronization Busy + 2 + 1 + read-only + + + ALWAYSON + Always-On Synchronization Busy + 3 + 1 + read-only + + + CLEAR + Clear Synchronization Busy + 4 + 1 + read-only + + + + + CLEAR + Clear + 0xC + 8 + write-only + + + CLEAR + Watchdog Clear + 0 + 8 + write-only + + CLEARSelect + + KEY + Clear Key + 0xa5 + + + + + + + + + diff --git a/lib/same54/svd/ATSAME54N20A.svd b/lib/same54/svd/ATSAME54N20A.svd new file mode 100644 index 00000000..efdfa048 --- /dev/null +++ b/lib/same54/svd/ATSAME54N20A.svd @@ -0,0 +1,45503 @@ + + + Atmel Corporation + ATMEL + ATSAME54N20A + SAME54 + A + Atmel ATSAME54N20A device: Cortex-M4 Microcontroller with 1MB Flash, 256KB SRAM, 100-pin package (refer to http://www.atmel.com/devices/SAME54N20A.aspx for more) + + ============================================================================\n + Atmel Microcontroller Software Support\n + ============================================================================\n + Copyright (c) 2017 Atmel Corporation,\n + a wholly owned subsidiary of Microchip Technology Inc.\n +\n + Licensed under the Apache License, Version 2.0 (the "License");\n + you may not use this file except in compliance with the License.\n + You may obtain a copy of the Licence at\n +\n + http://www.apache.org/licenses/LICENSE-2.0\n +\n + Unless required by applicable law or agreed to in writing, software\n + distributed under the License is distributed on an "AS IS" BASIS,\n + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n + See the License for the specific language governing permissions and\n + limitations under the License.\n + ============================================================================ + + + CM4 + r0p1 + little + true + true + 3 + false + + system_same54 + 8 + 32 + 32 + read-write + 0x00000000 + 0xFFFFFFFF + + + AC + 1.0.0 + Analog Comparators + AC + AC_ + 0x42002000 + + 0 + 0x40 + registers + + + AC_INTREQ + 122 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + + + CTRLB + Control B + 0x01 + 8 + write-only + + + START0 + Comparator 0 Start Comparison + 0 + 1 + + + START1 + Comparator 1 Start Comparison + 1 + 1 + + + + + EVCTRL + Event Control + 0x02 + 16 + + + COMPEO0 + Comparator 0 Event Output Enable + 0 + 1 + + + COMPEO1 + Comparator 1 Event Output Enable + 1 + 1 + + + WINEO0 + Window 0 Event Output Enable + 4 + 1 + + + COMPEI0 + Comparator 0 Event Input Enable + 8 + 1 + + + COMPEI1 + Comparator 1 Event Input Enable + 9 + 1 + + + INVEI0 + Comparator 0 Input Event Invert Enable + 12 + 1 + + + INVEI1 + Comparator 1 Input Event Invert Enable + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + COMP0 + Comparator 0 Interrupt Enable + 0 + 1 + + + COMP1 + Comparator 1 Interrupt Enable + 1 + 1 + + + WIN0 + Window 0 Interrupt Enable + 4 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + COMP0 + Comparator 0 Interrupt Enable + 0 + 1 + + + COMP1 + Comparator 1 Interrupt Enable + 1 + 1 + + + WIN0 + Window 0 Interrupt Enable + 4 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + COMP0 + Comparator 0 + 0 + 1 + + + COMP1 + Comparator 1 + 1 + 1 + + + WIN0 + Window 0 + 4 + 1 + + + + + STATUSA + Status A + 0x07 + 8 + read-only + + + STATE0 + Comparator 0 Current State + 0 + 1 + read-only + + + STATE1 + Comparator 1 Current State + 1 + 1 + read-only + + + WSTATE0 + Window 0 Current State + 4 + 2 + read-only + + WSTATE0Select + + ABOVE + Signal is above window + 0x0 + + + INSIDE + Signal is inside window + 0x1 + + + BELOW + Signal is below window + 0x2 + + + + + + + STATUSB + Status B + 0x08 + 8 + read-only + + + READY0 + Comparator 0 Ready + 0 + 1 + read-only + + + READY1 + Comparator 1 Ready + 1 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x09 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + WINCTRL + Window Control + 0x0A + 8 + + + WEN0 + Window 0 Mode Enable + 0 + 1 + + + WINTSEL0 + Window 0 Interrupt Selection + 1 + 2 + + WINTSEL0Select + + ABOVE + Interrupt on signal above window + 0x0 + + + INSIDE + Interrupt on signal inside window + 0x1 + + + BELOW + Interrupt on signal below window + 0x2 + + + OUTSIDE + Interrupt on signal outside window + 0x3 + + + + + + + 2 + 0x1 + SCALER%s + Scaler n + 0x0C + 8 + + + VALUE + Scaler Value + 0 + 6 + + + + + 2 + 0x4 + COMPCTRL%s + Comparator Control n + 0x10 + 32 + + + ENABLE + Enable + 1 + 1 + + + SINGLE + Single-Shot Mode + 2 + 1 + + + INTSEL + Interrupt Selection + 3 + 2 + + INTSELSelect + + TOGGLE + Interrupt on comparator output toggle + 0x0 + + + RISING + Interrupt on comparator output rising + 0x1 + + + FALLING + Interrupt on comparator output falling + 0x2 + + + EOC + Interrupt on end of comparison (single-shot mode only) + 0x3 + + + + + RUNSTDBY + Run in Standby + 6 + 1 + + + MUXNEG + Negative Input Mux Selection + 8 + 3 + + MUXNEGSelect + + PIN0 + I/O pin 0 + 0x0 + + + PIN1 + I/O pin 1 + 0x1 + + + PIN2 + I/O pin 2 + 0x2 + + + PIN3 + I/O pin 3 + 0x3 + + + GND + Ground + 0x4 + + + VSCALE + VDD scaler + 0x5 + + + BANDGAP + Internal bandgap voltage + 0x6 + + + DAC + DAC output + 0x7 + + + + + MUXPOS + Positive Input Mux Selection + 12 + 3 + + MUXPOSSelect + + PIN0 + I/O pin 0 + 0x0 + + + PIN1 + I/O pin 1 + 0x1 + + + PIN2 + I/O pin 2 + 0x2 + + + PIN3 + I/O pin 3 + 0x3 + + + VSCALE + VDD Scaler + 0x4 + + + + + SWAP + Swap Inputs and Invert + 15 + 1 + + + SPEED + Speed Selection + 16 + 2 + + SPEEDSelect + + HIGH + High speed + 0x3 + + + + + HYSTEN + Hysteresis Enable + 19 + 1 + + + HYST + Hysteresis Level + 20 + 2 + + HYSTSelect + + HYST50 + 50mV + 0x0 + + + HYST100 + 100mV + 0x1 + + + HYST150 + 150mV + 0x2 + + + + + FLEN + Filter Length + 24 + 3 + + FLENSelect + + OFF + No filtering + 0x0 + + + MAJ3 + 3-bit majority function (2 of 3) + 0x1 + + + MAJ5 + 5-bit majority function (3 of 5) + 0x2 + + + + + OUT + Output + 28 + 2 + + OUTSelect + + OFF + The output of COMPn is not routed to the COMPn I/O port + 0x0 + + + ASYNC + The asynchronous output of COMPn is routed to the COMPn I/O port + 0x1 + + + SYNC + The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port + 0x2 + + + + + + + SYNCBUSY + Synchronization Busy + 0x20 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + WINCTRL + WINCTRL Synchronization Busy + 2 + 1 + read-only + + + COMPCTRL0 + COMPCTRL 0 Synchronization Busy + 3 + 1 + read-only + + + COMPCTRL1 + COMPCTRL 1 Synchronization Busy + 4 + 1 + read-only + + + + + CALIB + Calibration + 0x24 + 16 + 0x0101 + + + BIAS0 + COMP0/1 Bias Scaling + 0 + 2 + + + + + + + ADC0 + 1.0.0 + Analog Digital Converter 0 + ADC + ADC_ + 0x43001C00 + + 0 + 0x80 + registers + + + ADC0_INTREQ_0 + 118 + + + ADC0_INTREQ_1 + 119 + + + + CTRLA + Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + DUALSEL + Dual Mode Trigger Selection + 3 + 2 + + DUALSELSelect + + BOTH + Start event or software trigger will start a conversion on both ADCs + 0x0 + + + INTERLEAVE + START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 + 0x1 + + + + + SLAVEEN + Slave Enable + 5 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + PRESCALER + Prescaler Configuration + 8 + 3 + + PRESCALERSelect + + DIV2 + Peripheral clock divided by 2 + 0x0 + + + DIV4 + Peripheral clock divided by 4 + 0x1 + + + DIV8 + Peripheral clock divided by 8 + 0x2 + + + DIV16 + Peripheral clock divided by 16 + 0x3 + + + DIV32 + Peripheral clock divided by 32 + 0x4 + + + DIV64 + Peripheral clock divided by 64 + 0x5 + + + DIV128 + Peripheral clock divided by 128 + 0x6 + + + DIV256 + Peripheral clock divided by 256 + 0x7 + + + + + R2R + Rail to Rail Operation Enable + 15 + 1 + + + + + EVCTRL + Event Control + 0x02 + 8 + + + FLUSHEI + Flush Event Input Enable + 0 + 1 + + + STARTEI + Start Conversion Event Input Enable + 1 + 1 + + + FLUSHINV + Flush Event Invert Enable + 2 + 1 + + + STARTINV + Start Conversion Event Invert Enable + 3 + 1 + + + RESRDYEO + Result Ready Event Out + 4 + 1 + + + WINMONEO + Window Monitor Event Out + 5 + 1 + + + + + DBGCTRL + Debug Control + 0x03 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + INPUTCTRL + Input Control + 0x04 + 16 + + + MUXPOS + Positive Mux Input Selection + 0 + 5 + + MUXPOSSelect + + AIN0 + ADC AIN0 Pin + 0x0 + + + AIN1 + ADC AIN1 Pin + 0x1 + + + AIN2 + ADC AIN2 Pin + 0x2 + + + AIN3 + ADC AIN3 Pin + 0x3 + + + AIN4 + ADC AIN4 Pin + 0x4 + + + AIN5 + ADC AIN5 Pin + 0x5 + + + AIN6 + ADC AIN6 Pin + 0x6 + + + AIN7 + ADC AIN7 Pin + 0x7 + + + AIN8 + ADC AIN8 Pin + 0x8 + + + AIN9 + ADC AIN9 Pin + 0x9 + + + AIN10 + ADC AIN10 Pin + 0xa + + + AIN11 + ADC AIN11 Pin + 0xb + + + AIN12 + ADC AIN12 Pin + 0xc + + + AIN13 + ADC AIN13 Pin + 0xd + + + AIN14 + ADC AIN14 Pin + 0xe + + + AIN15 + ADC AIN15 Pin + 0xf + + + AIN16 + ADC AIN16 Pin + 0x10 + + + AIN17 + ADC AIN17 Pin + 0x11 + + + AIN18 + ADC AIN18 Pin + 0x12 + + + AIN19 + ADC AIN19 Pin + 0x13 + + + AIN20 + ADC AIN20 Pin + 0x14 + + + AIN21 + ADC AIN21 Pin + 0x15 + + + AIN22 + ADC AIN22 Pin + 0x16 + + + AIN23 + ADC AIN23 Pin + 0x17 + + + SCALEDCOREVCC + 1/4 Scaled Core Supply + 0x18 + + + SCALEDVBAT + 1/4 Scaled VBAT Supply + 0x19 + + + SCALEDIOVCC + 1/4 Scaled I/O Supply + 0x1a + + + BANDGAP + Bandgap Voltage + 0x1b + + + PTAT + Temperature Sensor + 0x1c + + + CTAT + Temperature Sensor + 0x1d + + + DAC + DAC Output + 0x1e + + + PTC + PTC output (only on ADC0) + 0x1f + + + + + DIFFMODE + Differential Mode + 7 + 1 + + + MUXNEG + Negative Mux Input Selection + 8 + 5 + + MUXNEGSelect + + AIN0 + ADC AIN0 Pin + 0x0 + + + AIN1 + ADC AIN1 Pin + 0x1 + + + AIN2 + ADC AIN2 Pin + 0x2 + + + AIN3 + ADC AIN3 Pin + 0x3 + + + AIN4 + ADC AIN4 Pin + 0x4 + + + AIN5 + ADC AIN5 Pin + 0x5 + + + AIN6 + ADC AIN6 Pin + 0x6 + + + AIN7 + ADC AIN7 Pin + 0x7 + + + GND + Internal Ground + 0x18 + + + + + DSEQSTOP + Stop DMA Sequencing + 15 + 1 + + + + + CTRLB + Control B + 0x06 + 16 + + + LEFTADJ + Left-Adjusted Result + 0 + 1 + + + FREERUN + Free Running Mode + 1 + 1 + + + CORREN + Digital Correction Logic Enable + 2 + 1 + + + RESSEL + Conversion Result Resolution + 3 + 2 + + RESSELSelect + + 12BIT + 12-bit result + 0x0 + + + 16BIT + For averaging mode output + 0x1 + + + 10BIT + 10-bit result + 0x2 + + + 8BIT + 8-bit result + 0x3 + + + + + WINMODE + Window Monitor Mode + 8 + 3 + + WINMODESelect + + DISABLE + No window mode (default) + 0x0 + + + MODE1 + RESULT > WINLT + 0x1 + + + MODE2 + RESULT < WINUT + 0x2 + + + MODE3 + WINLT < RESULT < WINUT + 0x3 + + + MODE4 + !(WINLT < RESULT < WINUT) + 0x4 + + + + + WINSS + Window Single Sample + 11 + 1 + + + + + REFCTRL + Reference Control + 0x08 + 8 + + + REFSEL + Reference Selection + 0 + 4 + + REFSELSelect + + INTREF + Internal Bandgap Reference + 0x0 + + + INTVCC0 + 1/2 VDDANA + 0x2 + + + INTVCC1 + VDDANA + 0x3 + + + AREFA + External Reference + 0x4 + + + AREFB + External Reference + 0x5 + + + AREFC + External Reference (only on ADC1) + 0x6 + + + + + REFCOMP + Reference Buffer Offset Compensation Enable + 7 + 1 + + + + + AVGCTRL + Average Control + 0x0A + 8 + + + SAMPLENUM + Number of Samples to be Collected + 0 + 4 + + SAMPLENUMSelect + + 1 + 1 sample + 0x0 + + + 2 + 2 samples + 0x1 + + + 4 + 4 samples + 0x2 + + + 8 + 8 samples + 0x3 + + + 16 + 16 samples + 0x4 + + + 32 + 32 samples + 0x5 + + + 64 + 64 samples + 0x6 + + + 128 + 128 samples + 0x7 + + + 256 + 256 samples + 0x8 + + + 512 + 512 samples + 0x9 + + + 1024 + 1024 samples + 0xa + + + + + ADJRES + Adjusting Result / Division Coefficient + 4 + 3 + + + + + SAMPCTRL + Sample Time Control + 0x0B + 8 + + + SAMPLEN + Sampling Time Length + 0 + 6 + + + OFFCOMP + Comparator Offset Compensation Enable + 7 + 1 + + + + + WINLT + Window Monitor Lower Threshold + 0x0C + 16 + + + WINLT + Window Lower Threshold + 0 + 16 + + + + + WINUT + Window Monitor Upper Threshold + 0x0E + 16 + + + WINUT + Window Upper Threshold + 0 + 16 + + + + + GAINCORR + Gain Correction + 0x10 + 16 + + + GAINCORR + Gain Correction Value + 0 + 12 + + + + + OFFSETCORR + Offset Correction + 0x12 + 16 + + + OFFSETCORR + Offset Correction Value + 0 + 12 + + + + + SWTRIG + Software Trigger + 0x14 + 8 + + + FLUSH + ADC Conversion Flush + 0 + 1 + + + START + Start ADC Conversion + 1 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x2C + 8 + + + RESRDY + Result Ready Interrupt Disable + 0 + 1 + + + OVERRUN + Overrun Interrupt Disable + 1 + 1 + + + WINMON + Window Monitor Interrupt Disable + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x2D + 8 + + + RESRDY + Result Ready Interrupt Enable + 0 + 1 + + + OVERRUN + Overrun Interrupt Enable + 1 + 1 + + + WINMON + Window Monitor Interrupt Enable + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x2E + 8 + + + RESRDY + Result Ready Interrupt Flag + 0 + 1 + + + OVERRUN + Overrun Interrupt Flag + 1 + 1 + + + WINMON + Window Monitor Interrupt Flag + 2 + 1 + + + + + STATUS + Status + 0x2F + 8 + read-only + + + ADCBUSY + ADC Busy Status + 0 + 1 + read-only + + + WCC + Window Comparator Counter + 2 + 6 + read-only + + + + + SYNCBUSY + Synchronization Busy + 0x30 + 32 + read-only + + + SWRST + SWRST Synchronization Busy + 0 + 1 + read-only + + + ENABLE + ENABLE Synchronization Busy + 1 + 1 + read-only + + + INPUTCTRL + Input Control Synchronization Busy + 2 + 1 + read-only + + + CTRLB + Control B Synchronization Busy + 3 + 1 + read-only + + + REFCTRL + Reference Control Synchronization Busy + 4 + 1 + read-only + + + AVGCTRL + Average Control Synchronization Busy + 5 + 1 + read-only + + + SAMPCTRL + Sampling Time Control Synchronization Busy + 6 + 1 + read-only + + + WINLT + Window Monitor Lower Threshold Synchronization Busy + 7 + 1 + read-only + + + WINUT + Window Monitor Upper Threshold Synchronization Busy + 8 + 1 + read-only + + + GAINCORR + Gain Correction Synchronization Busy + 9 + 1 + read-only + + + OFFSETCORR + Offset Correction Synchronization Busy + 10 + 1 + read-only + + + SWTRIG + Software Trigger Synchronization Busy + 11 + 1 + read-only + + + + + DSEQDATA + DMA Sequencial Data + 0x34 + 32 + write-only + + + DATA + DMA Sequential Data + 0 + 32 + write-only + + + + + DSEQCTRL + DMA Sequential Control + 0x38 + 32 + + + INPUTCTRL + Input Control + 0 + 1 + + + CTRLB + Control B + 1 + 1 + + + REFCTRL + Reference Control + 2 + 1 + + + AVGCTRL + Average Control + 3 + 1 + + + SAMPCTRL + Sampling Time Control + 4 + 1 + + + WINLT + Window Monitor Lower Threshold + 5 + 1 + + + WINUT + Window Monitor Upper Threshold + 6 + 1 + + + GAINCORR + Gain Correction + 7 + 1 + + + OFFSETCORR + Offset Correction + 8 + 1 + + + AUTOSTART + ADC Auto-Start Conversion + 31 + 1 + + + + + DSEQSTAT + DMA Sequencial Status + 0x3C + 32 + read-only + + + INPUTCTRL + Input Control + 0 + 1 + read-only + + + CTRLB + Control B + 1 + 1 + read-only + + + REFCTRL + Reference Control + 2 + 1 + read-only + + + AVGCTRL + Average Control + 3 + 1 + read-only + + + SAMPCTRL + Sampling Time Control + 4 + 1 + read-only + + + WINLT + Window Monitor Lower Threshold + 5 + 1 + read-only + + + WINUT + Window Monitor Upper Threshold + 6 + 1 + read-only + + + GAINCORR + Gain Correction + 7 + 1 + read-only + + + OFFSETCORR + Offset Correction + 8 + 1 + read-only + + + BUSY + DMA Sequencing Busy + 31 + 1 + read-only + + + + + RESULT + Result Conversion Value + 0x40 + 16 + read-only + + + RESULT + Result Conversion Value + 0 + 16 + read-only + + + + + RESS + Last Sample Result + 0x44 + 16 + read-only + + + RESS + Last ADC conversion result + 0 + 16 + read-only + + + + + CALIB + Calibration + 0x48 + 16 + + + BIASCOMP + Bias Comparator Scaling + 0 + 3 + + + BIASR2R + Bias R2R Ampli scaling + 4 + 3 + + + BIASREFBUF + Bias Reference Buffer Scaling + 8 + 3 + + + + + + + ADC1 + Analog Digital Converter 1 + 0x43002000 + + ADC1_INTREQ_0 + 120 + + + ADC1_INTREQ_1 + 121 + + + + AES + 2.2.0 + Advanced Encryption Standard + AES + AES_ + 0x42002400 + + 0 + 0x100 + registers + + + AES_INTREQ + 130 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + AESMODE + AES Modes of operation + 2 + 3 + + AESMODESelect + + ECB + Electronic code book mode + 0x0 + + + CBC + Cipher block chaining mode + 0x1 + + + OFB + Output feedback mode + 0x2 + + + CFB + Cipher feedback mode + 0x3 + + + COUNTER + Counter mode + 0x4 + + + CCM + CCM mode + 0x5 + + + GCM + Galois counter mode + 0x6 + + + + + CFBS + Cipher Feedback Block Size + 5 + 3 + + CFBSSelect + + 128BIT + 128-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x0 + + + 64BIT + 64-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x1 + + + 32BIT + 32-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x2 + + + 16BIT + 16-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x3 + + + 8BIT + 8-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x4 + + + + + KEYSIZE + Encryption Key Size + 8 + 2 + + KEYSIZESelect + + 128BIT + 128-bit Key for Encryption / Decryption + 0x0 + + + 192BIT + 192-bit Key for Encryption / Decryption + 0x1 + + + 256BIT + 256-bit Key for Encryption / Decryption + 0x2 + + + + + CIPHER + Cipher Mode + 10 + 1 + + CIPHERSelect + + DEC + Decryption + 0x0 + + + ENC + Encryption + 0x1 + + + + + STARTMODE + Start Mode Select + 11 + 1 + + STARTMODESelect + + MANUAL + Start Encryption / Decryption in Manual mode + 0x0 + + + AUTO + Start Encryption / Decryption in Auto mode + 0x1 + + + + + LOD + Last Output Data Mode + 12 + 1 + + LODSelect + + NONE + No effect + 0x0 + + + LAST + Start encryption in Last Output Data mode + 0x1 + + + + + KEYGEN + Last Key Generation + 13 + 1 + + KEYGENSelect + + NONE + No effect + 0x0 + + + LAST + Start Computation of the last NK words of the expanded key + 0x1 + + + + + XORKEY + XOR Key Operation + 14 + 1 + + XORKEYSelect + + NONE + No effect + 0x0 + + + XOR + The user keyword gets XORed with the previous keyword register content. + 0x1 + + + + + CTYPE + Counter Measure Type + 16 + 4 + + + + + CTRLB + Control B + 0x04 + 8 + + + START + Start Encryption/Decryption + 0 + 1 + + + NEWMSG + New message + 1 + 1 + + + EOM + End of message + 2 + 1 + + + GFMUL + GF Multiplication + 3 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x05 + 8 + + + ENCCMP + Encryption Complete Interrupt Enable + 0 + 1 + + + GFMCMP + GF Multiplication Complete Interrupt Enable + 1 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x06 + 8 + + + ENCCMP + Encryption Complete Interrupt Enable + 0 + 1 + + + GFMCMP + GF Multiplication Complete Interrupt Enable + 1 + 1 + + + + + INTFLAG + Interrupt Flag Status + 0x07 + 8 + + + ENCCMP + Encryption Complete + 0 + 1 + + + GFMCMP + GF Multiplication Complete + 1 + 1 + + + + + DATABUFPTR + Data buffer pointer + 0x08 + 8 + + + INDATAPTR + Input Data Pointer + 0 + 2 + + + + + DBGCTRL + Debug control + 0x09 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + 8 + 0x4 + KEYWORD%s + Keyword n + 0x0C + 32 + write-only + + + INDATA + Indata + 0x38 + 32 + + + 4 + 0x4 + INTVECTV%s + Initialisation Vector n + 0x3C + 32 + write-only + + + 4 + 0x4 + HASHKEY%s + Hash key n + 0x5C + 32 + + + 4 + 0x4 + GHASH%s + Galois Hash n + 0x6C + 32 + + + CIPLEN + Cipher Length + 0x80 + 32 + + + RANDSEED + Random Seed + 0x84 + 32 + + + + + CAN0 + 3.2.1 + Control Area Network 0 + CAN + CAN_ + 0x42000000 + + 0 + 0x100 + registers + + + CAN0_INTREQ + 78 + + + + CREL + Core Release + 0x00 + 32 + read-only + 0x32100000 + + + SUBSTEP + Sub-step of Core Release + 20 + 4 + read-only + + + STEP + Step of Core Release + 24 + 4 + read-only + + + REL + Core Release + 28 + 4 + read-only + + + + + ENDN + Endian + 0x04 + 32 + read-only + 0x87654321 + + + ETV + Endianness Test Value + 0 + 32 + read-only + + + + + MRCFG + Message RAM Configuration + 0x08 + 32 + 0x00000002 + + + QOS + Quality of Service + 0 + 2 + + QOSSelect + + DISABLE + Background (no sensitive operation) + 0x0 + + + LOW + Sensitive Bandwidth + 0x1 + + + MEDIUM + Sensitive Latency + 0x2 + + + HIGH + Critical Latency + 0x3 + + + + + + + DBTP + Fast Bit Timing and Prescaler + 0x0C + 32 + 0x00000A33 + + + DSJW + Data (Re)Synchronization Jump Width + 0 + 4 + + + DTSEG2 + Data time segment after sample point + 4 + 4 + + + DTSEG1 + Data time segment before sample point + 8 + 5 + + + DBRP + Data Baud Rate Prescaler + 16 + 5 + + + TDC + Tranceiver Delay Compensation + 23 + 1 + + + + + TEST + Test + 0x10 + 32 + + + LBCK + Loop Back Mode + 4 + 1 + + + TX + Control of Transmit Pin + 5 + 2 + + TXSelect + + CORE + TX controlled by CAN core + 0x0 + + + SAMPLE + TX monitoring sample point + 0x1 + + + DOMINANT + Dominant (0) level at pin CAN_TX + 0x2 + + + RECESSIVE + Recessive (1) level at pin CAN_TX + 0x3 + + + + + RX + Receive Pin + 7 + 1 + read-only + + + + + RWD + RAM Watchdog + 0x14 + 32 + + + WDC + Watchdog Configuration + 0 + 8 + read-only + + + WDV + Watchdog Value + 8 + 8 + read-only + + + + + CCCR + CC Control + 0x18 + 32 + 0x00000001 + + + INIT + Initialization + 0 + 1 + + + CCE + Configuration Change Enable + 1 + 1 + + + ASM + ASM Restricted Operation Mode + 2 + 1 + + + CSA + Clock Stop Acknowledge + 3 + 1 + read-only + + + CSR + Clock Stop Request + 4 + 1 + + + MON + Bus Monitoring Mode + 5 + 1 + + + DAR + Disable Automatic Retransmission + 6 + 1 + + + TEST + Test Mode Enable + 7 + 1 + + + FDOE + FD Operation Enable + 8 + 1 + + + BRSE + Bit Rate Switch Enable + 9 + 1 + + + PXHD + Protocol Exception Handling Disable + 12 + 1 + + + EFBI + Edge Filtering during Bus Integration + 13 + 1 + + + TXP + Transmit Pause + 14 + 1 + + + NISO + Non ISO Operation + 15 + 1 + + + + + NBTP + Nominal Bit Timing and Prescaler + 0x1C + 32 + 0x06000A03 + + + NTSEG2 + Nominal Time segment after sample point + 0 + 7 + + + NTSEG1 + Nominal Time segment before sample point + 8 + 8 + + + NBRP + Nominal Baud Rate Prescaler + 16 + 9 + + + NSJW + Nominal (Re)Synchronization Jump Width + 25 + 7 + + + + + TSCC + Timestamp Counter Configuration + 0x20 + 32 + + + TSS + Timestamp Select + 0 + 2 + + TSSSelect + + ZERO + Timestamp counter value always 0x0000 + 0x0 + + + INC + Timestamp counter value incremented by TCP + 0x1 + + + EXT + External timestamp counter value used + 0x2 + + + + + TCP + Timestamp Counter Prescaler + 16 + 4 + + + + + TSCV + Timestamp Counter Value + 0x24 + 32 + read-only + + + TSC + Timestamp Counter + 0 + 16 + read-only + + + + + TOCC + Timeout Counter Configuration + 0x28 + 32 + 0xFFFF0000 + + + ETOC + Enable Timeout Counter + 0 + 1 + + + TOS + Timeout Select + 1 + 2 + + TOSSelect + + CONT + Continuout operation + 0x0 + + + TXEF + Timeout controlled by TX Event FIFO + 0x1 + + + RXF0 + Timeout controlled by Rx FIFO 0 + 0x2 + + + RXF1 + Timeout controlled by Rx FIFO 1 + 0x3 + + + + + TOP + Timeout Period + 16 + 16 + + + + + TOCV + Timeout Counter Value + 0x2C + 32 + 0x0000FFFF + + + TOC + Timeout Counter + 0 + 16 + + + + + ECR + Error Counter + 0x40 + 32 + read-only + + + TEC + Transmit Error Counter + 0 + 8 + read-only + + + REC + Receive Error Counter + 8 + 7 + read-only + + + RP + Receive Error Passive + 15 + 1 + read-only + + + CEL + CAN Error Logging + 16 + 8 + read-only + + + + + PSR + Protocol Status + 0x44 + 32 + read-only + 0x00000707 + + + LEC + Last Error Code + 0 + 3 + read-only + + LECSelect + + NONE + No Error + 0x0 + + + STUFF + Stuff Error + 0x1 + + + FORM + Form Error + 0x2 + + + ACK + Ack Error + 0x3 + + + BIT1 + Bit1 Error + 0x4 + + + BIT0 + Bit0 Error + 0x5 + + + CRC + CRC Error + 0x6 + + + NC + No Change + 0x7 + + + + + ACT + Activity + 3 + 2 + read-only + + ACTSelect + + SYNC + Node is synchronizing on CAN communication + 0x0 + + + IDLE + Node is neither receiver nor transmitter + 0x1 + + + RX + Node is operating as receiver + 0x2 + + + TX + Node is operating as transmitter + 0x3 + + + + + EP + Error Passive + 5 + 1 + read-only + + + EW + Warning Status + 6 + 1 + read-only + + + BO + Bus_Off Status + 7 + 1 + read-only + + + DLEC + Data Phase Last Error Code + 8 + 3 + read-only + + DLECSelect + + NONE + No Error + 0x0 + + + STUFF + Stuff Error + 0x1 + + + FORM + Form Error + 0x2 + + + ACK + Ack Error + 0x3 + + + BIT1 + Bit1 Error + 0x4 + + + BIT0 + Bit0 Error + 0x5 + + + CRC + CRC Error + 0x6 + + + NC + No Change + 0x7 + + + + + RESI + ESI flag of last received CAN FD Message + 11 + 1 + read-only + + + RBRS + BRS flag of last received CAN FD Message + 12 + 1 + read-only + + + RFDF + Received a CAN FD Message + 13 + 1 + read-only + + + PXE + Protocol Exception Event + 14 + 1 + read-only + + + TDCV + Transmitter Delay Compensation Value + 16 + 7 + read-only + + + + + TDCR + Extended ID Filter Configuration + 0x48 + 32 + + + TDCF + Transmitter Delay Compensation Filter Length + 0 + 7 + read-only + + + TDCO + Transmitter Delay Compensation Offset + 8 + 7 + + + + + IR + Interrupt + 0x50 + 32 + + + RF0N + Rx FIFO 0 New Message + 0 + 1 + + + RF0W + Rx FIFO 0 Watermark Reached + 1 + 1 + + + RF0F + Rx FIFO 0 Full + 2 + 1 + + + RF0L + Rx FIFO 0 Message Lost + 3 + 1 + + + RF1N + Rx FIFO 1 New Message + 4 + 1 + + + RF1W + Rx FIFO 1 Watermark Reached + 5 + 1 + + + RF1F + Rx FIFO 1 FIFO Full + 6 + 1 + + + RF1L + Rx FIFO 1 Message Lost + 7 + 1 + + + HPM + High Priority Message + 8 + 1 + + + TC + Timestamp Completed + 9 + 1 + + + TCF + Transmission Cancellation Finished + 10 + 1 + + + TFE + Tx FIFO Empty + 11 + 1 + + + TEFN + Tx Event FIFO New Entry + 12 + 1 + + + TEFW + Tx Event FIFO Watermark Reached + 13 + 1 + + + TEFF + Tx Event FIFO Full + 14 + 1 + + + TEFL + Tx Event FIFO Element Lost + 15 + 1 + + + TSW + Timestamp Wraparound + 16 + 1 + + + MRAF + Message RAM Access Failure + 17 + 1 + + + TOO + Timeout Occurred + 18 + 1 + + + DRX + Message stored to Dedicated Rx Buffer + 19 + 1 + + + BEC + Bit Error Corrected + 20 + 1 + + + BEU + Bit Error Uncorrected + 21 + 1 + + + ELO + Error Logging Overflow + 22 + 1 + + + EP + Error Passive + 23 + 1 + + + EW + Warning Status + 24 + 1 + + + BO + Bus_Off Status + 25 + 1 + + + WDI + Watchdog Interrupt + 26 + 1 + + + PEA + Protocol Error in Arbitration Phase + 27 + 1 + + + PED + Protocol Error in Data Phase + 28 + 1 + + + ARA + Access to Reserved Address + 29 + 1 + + + + + IE + Interrupt Enable + 0x54 + 32 + + + RF0NE + Rx FIFO 0 New Message Interrupt Enable + 0 + 1 + + + RF0WE + Rx FIFO 0 Watermark Reached Interrupt Enable + 1 + 1 + + + RF0FE + Rx FIFO 0 Full Interrupt Enable + 2 + 1 + + + RF0LE + Rx FIFO 0 Message Lost Interrupt Enable + 3 + 1 + + + RF1NE + Rx FIFO 1 New Message Interrupt Enable + 4 + 1 + + + RF1WE + Rx FIFO 1 Watermark Reached Interrupt Enable + 5 + 1 + + + RF1FE + Rx FIFO 1 FIFO Full Interrupt Enable + 6 + 1 + + + RF1LE + Rx FIFO 1 Message Lost Interrupt Enable + 7 + 1 + + + HPME + High Priority Message Interrupt Enable + 8 + 1 + + + TCE + Timestamp Completed Interrupt Enable + 9 + 1 + + + TCFE + Transmission Cancellation Finished Interrupt Enable + 10 + 1 + + + TFEE + Tx FIFO Empty Interrupt Enable + 11 + 1 + + + TEFNE + Tx Event FIFO New Entry Interrupt Enable + 12 + 1 + + + TEFWE + Tx Event FIFO Watermark Reached Interrupt Enable + 13 + 1 + + + TEFFE + Tx Event FIFO Full Interrupt Enable + 14 + 1 + + + TEFLE + Tx Event FIFO Element Lost Interrupt Enable + 15 + 1 + + + TSWE + Timestamp Wraparound Interrupt Enable + 16 + 1 + + + MRAFE + Message RAM Access Failure Interrupt Enable + 17 + 1 + + + TOOE + Timeout Occurred Interrupt Enable + 18 + 1 + + + DRXE + Message stored to Dedicated Rx Buffer Interrupt Enable + 19 + 1 + + + BECE + Bit Error Corrected Interrupt Enable + 20 + 1 + + + BEUE + Bit Error Uncorrected Interrupt Enable + 21 + 1 + + + ELOE + Error Logging Overflow Interrupt Enable + 22 + 1 + + + EPE + Error Passive Interrupt Enable + 23 + 1 + + + EWE + Warning Status Interrupt Enable + 24 + 1 + + + BOE + Bus_Off Status Interrupt Enable + 25 + 1 + + + WDIE + Watchdog Interrupt Interrupt Enable + 26 + 1 + + + PEAE + Protocol Error in Arbitration Phase Enable + 27 + 1 + + + PEDE + Protocol Error in Data Phase Enable + 28 + 1 + + + ARAE + Access to Reserved Address Enable + 29 + 1 + + + + + ILS + Interrupt Line Select + 0x58 + 32 + + + RF0NL + Rx FIFO 0 New Message Interrupt Line + 0 + 1 + + + RF0WL + Rx FIFO 0 Watermark Reached Interrupt Line + 1 + 1 + + + RF0FL + Rx FIFO 0 Full Interrupt Line + 2 + 1 + + + RF0LL + Rx FIFO 0 Message Lost Interrupt Line + 3 + 1 + + + RF1NL + Rx FIFO 1 New Message Interrupt Line + 4 + 1 + + + RF1WL + Rx FIFO 1 Watermark Reached Interrupt Line + 5 + 1 + + + RF1FL + Rx FIFO 1 FIFO Full Interrupt Line + 6 + 1 + + + RF1LL + Rx FIFO 1 Message Lost Interrupt Line + 7 + 1 + + + HPML + High Priority Message Interrupt Line + 8 + 1 + + + TCL + Timestamp Completed Interrupt Line + 9 + 1 + + + TCFL + Transmission Cancellation Finished Interrupt Line + 10 + 1 + + + TFEL + Tx FIFO Empty Interrupt Line + 11 + 1 + + + TEFNL + Tx Event FIFO New Entry Interrupt Line + 12 + 1 + + + TEFWL + Tx Event FIFO Watermark Reached Interrupt Line + 13 + 1 + + + TEFFL + Tx Event FIFO Full Interrupt Line + 14 + 1 + + + TEFLL + Tx Event FIFO Element Lost Interrupt Line + 15 + 1 + + + TSWL + Timestamp Wraparound Interrupt Line + 16 + 1 + + + MRAFL + Message RAM Access Failure Interrupt Line + 17 + 1 + + + TOOL + Timeout Occurred Interrupt Line + 18 + 1 + + + DRXL + Message stored to Dedicated Rx Buffer Interrupt Line + 19 + 1 + + + BECL + Bit Error Corrected Interrupt Line + 20 + 1 + + + BEUL + Bit Error Uncorrected Interrupt Line + 21 + 1 + + + ELOL + Error Logging Overflow Interrupt Line + 22 + 1 + + + EPL + Error Passive Interrupt Line + 23 + 1 + + + EWL + Warning Status Interrupt Line + 24 + 1 + + + BOL + Bus_Off Status Interrupt Line + 25 + 1 + + + WDIL + Watchdog Interrupt Interrupt Line + 26 + 1 + + + PEAL + Protocol Error in Arbitration Phase Line + 27 + 1 + + + PEDL + Protocol Error in Data Phase Line + 28 + 1 + + + ARAL + Access to Reserved Address Line + 29 + 1 + + + + + ILE + Interrupt Line Enable + 0x5C + 32 + + + EINT0 + Enable Interrupt Line 0 + 0 + 1 + + + EINT1 + Enable Interrupt Line 1 + 1 + 1 + + + + + GFC + Global Filter Configuration + 0x80 + 32 + + + RRFE + Reject Remote Frames Extended + 0 + 1 + + + RRFS + Reject Remote Frames Standard + 1 + 1 + + + ANFE + Accept Non-matching Frames Extended + 2 + 2 + + ANFESelect + + RXF0 + Accept in Rx FIFO 0 + 0x0 + + + RXF1 + Accept in Rx FIFO 1 + 0x1 + + + REJECT + Reject + 0x2 + + + + + ANFS + Accept Non-matching Frames Standard + 4 + 2 + + ANFSSelect + + RXF0 + Accept in Rx FIFO 0 + 0x0 + + + RXF1 + Accept in Rx FIFO 1 + 0x1 + + + REJECT + Reject + 0x2 + + + + + + + SIDFC + Standard ID Filter Configuration + 0x84 + 32 + + + FLSSA + Filter List Standard Start Address + 0 + 16 + + + LSS + List Size Standard + 16 + 8 + + + + + XIDFC + Extended ID Filter Configuration + 0x88 + 32 + + + FLESA + Filter List Extended Start Address + 0 + 16 + + + LSE + List Size Extended + 16 + 7 + + + + + XIDAM + Extended ID AND Mask + 0x90 + 32 + 0x1FFFFFFF + + + EIDM + Extended ID Mask + 0 + 29 + + + + + HPMS + High Priority Message Status + 0x94 + 32 + read-only + + + BIDX + Buffer Index + 0 + 6 + read-only + + + MSI + Message Storage Indicator + 6 + 2 + read-only + + MSISelect + + NONE + No FIFO selected + 0x0 + + + LOST + FIFO message lost + 0x1 + + + FIFO0 + Message stored in FIFO 0 + 0x2 + + + FIFO1 + Message stored in FIFO 1 + 0x3 + + + + + FIDX + Filter Index + 8 + 7 + read-only + + + FLST + Filter List + 15 + 1 + read-only + + + + + NDAT1 + New Data 1 + 0x98 + 32 + + + ND0 + New Data 0 + 0 + 1 + + + ND1 + New Data 1 + 1 + 1 + + + ND2 + New Data 2 + 2 + 1 + + + ND3 + New Data 3 + 3 + 1 + + + ND4 + New Data 4 + 4 + 1 + + + ND5 + New Data 5 + 5 + 1 + + + ND6 + New Data 6 + 6 + 1 + + + ND7 + New Data 7 + 7 + 1 + + + ND8 + New Data 8 + 8 + 1 + + + ND9 + New Data 9 + 9 + 1 + + + ND10 + New Data 10 + 10 + 1 + + + ND11 + New Data 11 + 11 + 1 + + + ND12 + New Data 12 + 12 + 1 + + + ND13 + New Data 13 + 13 + 1 + + + ND14 + New Data 14 + 14 + 1 + + + ND15 + New Data 15 + 15 + 1 + + + ND16 + New Data 16 + 16 + 1 + + + ND17 + New Data 17 + 17 + 1 + + + ND18 + New Data 18 + 18 + 1 + + + ND19 + New Data 19 + 19 + 1 + + + ND20 + New Data 20 + 20 + 1 + + + ND21 + New Data 21 + 21 + 1 + + + ND22 + New Data 22 + 22 + 1 + + + ND23 + New Data 23 + 23 + 1 + + + ND24 + New Data 24 + 24 + 1 + + + ND25 + New Data 25 + 25 + 1 + + + ND26 + New Data 26 + 26 + 1 + + + ND27 + New Data 27 + 27 + 1 + + + ND28 + New Data 28 + 28 + 1 + + + ND29 + New Data 29 + 29 + 1 + + + ND30 + New Data 30 + 30 + 1 + + + ND31 + New Data 31 + 31 + 1 + + + + + NDAT2 + New Data 2 + 0x9C + 32 + + + ND32 + New Data 32 + 0 + 1 + + + ND33 + New Data 33 + 1 + 1 + + + ND34 + New Data 34 + 2 + 1 + + + ND35 + New Data 35 + 3 + 1 + + + ND36 + New Data 36 + 4 + 1 + + + ND37 + New Data 37 + 5 + 1 + + + ND38 + New Data 38 + 6 + 1 + + + ND39 + New Data 39 + 7 + 1 + + + ND40 + New Data 40 + 8 + 1 + + + ND41 + New Data 41 + 9 + 1 + + + ND42 + New Data 42 + 10 + 1 + + + ND43 + New Data 43 + 11 + 1 + + + ND44 + New Data 44 + 12 + 1 + + + ND45 + New Data 45 + 13 + 1 + + + ND46 + New Data 46 + 14 + 1 + + + ND47 + New Data 47 + 15 + 1 + + + ND48 + New Data 48 + 16 + 1 + + + ND49 + New Data 49 + 17 + 1 + + + ND50 + New Data 50 + 18 + 1 + + + ND51 + New Data 51 + 19 + 1 + + + ND52 + New Data 52 + 20 + 1 + + + ND53 + New Data 53 + 21 + 1 + + + ND54 + New Data 54 + 22 + 1 + + + ND55 + New Data 55 + 23 + 1 + + + ND56 + New Data 56 + 24 + 1 + + + ND57 + New Data 57 + 25 + 1 + + + ND58 + New Data 58 + 26 + 1 + + + ND59 + New Data 59 + 27 + 1 + + + ND60 + New Data 60 + 28 + 1 + + + ND61 + New Data 61 + 29 + 1 + + + ND62 + New Data 62 + 30 + 1 + + + ND63 + New Data 63 + 31 + 1 + + + + + RXF0C + Rx FIFO 0 Configuration + 0xA0 + 32 + + + F0SA + Rx FIFO 0 Start Address + 0 + 16 + + + F0S + Rx FIFO 0 Size + 16 + 7 + + + F0WM + Rx FIFO 0 Watermark + 24 + 7 + + + F0OM + FIFO 0 Operation Mode + 31 + 1 + + + + + RXF0S + Rx FIFO 0 Status + 0xA4 + 32 + read-only + + + F0FL + Rx FIFO 0 Fill Level + 0 + 7 + read-only + + + F0GI + Rx FIFO 0 Get Index + 8 + 6 + read-only + + + F0PI + Rx FIFO 0 Put Index + 16 + 6 + read-only + + + F0F + Rx FIFO 0 Full + 24 + 1 + read-only + + + RF0L + Rx FIFO 0 Message Lost + 25 + 1 + read-only + + + + + RXF0A + Rx FIFO 0 Acknowledge + 0xA8 + 32 + + + F0AI + Rx FIFO 0 Acknowledge Index + 0 + 6 + + + + + RXBC + Rx Buffer Configuration + 0xAC + 32 + + + RBSA + Rx Buffer Start Address + 0 + 16 + + + + + RXF1C + Rx FIFO 1 Configuration + 0xB0 + 32 + + + F1SA + Rx FIFO 1 Start Address + 0 + 16 + + + F1S + Rx FIFO 1 Size + 16 + 7 + + + F1WM + Rx FIFO 1 Watermark + 24 + 7 + + + F1OM + FIFO 1 Operation Mode + 31 + 1 + + + + + RXF1S + Rx FIFO 1 Status + 0xB4 + 32 + read-only + + + F1FL + Rx FIFO 1 Fill Level + 0 + 7 + read-only + + + F1GI + Rx FIFO 1 Get Index + 8 + 6 + read-only + + + F1PI + Rx FIFO 1 Put Index + 16 + 6 + read-only + + + F1F + Rx FIFO 1 Full + 24 + 1 + read-only + + + RF1L + Rx FIFO 1 Message Lost + 25 + 1 + read-only + + + DMS + Debug Message Status + 30 + 2 + read-only + + DMSSelect + + IDLE + Idle state + 0x0 + + + DBGA + Debug message A received + 0x1 + + + DBGB + Debug message A/B received + 0x2 + + + DBGC + Debug message A/B/C received, DMA request set + 0x3 + + + + + + + RXF1A + Rx FIFO 1 Acknowledge + 0xB8 + 32 + + + F1AI + Rx FIFO 1 Acknowledge Index + 0 + 6 + + + + + RXESC + Rx Buffer / FIFO Element Size Configuration + 0xBC + 32 + + + F0DS + Rx FIFO 0 Data Field Size + 0 + 3 + + F0DSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + F1DS + Rx FIFO 1 Data Field Size + 4 + 3 + + F1DSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + RBDS + Rx Buffer Data Field Size + 8 + 3 + + RBDSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + + + TXBC + Tx Buffer Configuration + 0xC0 + 32 + + + TBSA + Tx Buffers Start Address + 0 + 16 + + + NDTB + Number of Dedicated Transmit Buffers + 16 + 6 + + + TFQS + Transmit FIFO/Queue Size + 24 + 6 + + + TFQM + Tx FIFO/Queue Mode + 30 + 1 + + + + + TXFQS + Tx FIFO / Queue Status + 0xC4 + 32 + read-only + + + TFFL + Tx FIFO Free Level + 0 + 6 + read-only + + + TFGI + Tx FIFO Get Index + 8 + 5 + read-only + + + TFQPI + Tx FIFO/Queue Put Index + 16 + 5 + read-only + + + TFQF + Tx FIFO/Queue Full + 21 + 1 + read-only + + + + + TXESC + Tx Buffer Element Size Configuration + 0xC8 + 32 + + + TBDS + Tx Buffer Data Field Size + 0 + 3 + + TBDSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + + + TXBRP + Tx Buffer Request Pending + 0xCC + 32 + read-only + + + TRP0 + Transmission Request Pending 0 + 0 + 1 + read-only + + + TRP1 + Transmission Request Pending 1 + 1 + 1 + read-only + + + TRP2 + Transmission Request Pending 2 + 2 + 1 + read-only + + + TRP3 + Transmission Request Pending 3 + 3 + 1 + read-only + + + TRP4 + Transmission Request Pending 4 + 4 + 1 + read-only + + + TRP5 + Transmission Request Pending 5 + 5 + 1 + read-only + + + TRP6 + Transmission Request Pending 6 + 6 + 1 + read-only + + + TRP7 + Transmission Request Pending 7 + 7 + 1 + read-only + + + TRP8 + Transmission Request Pending 8 + 8 + 1 + read-only + + + TRP9 + Transmission Request Pending 9 + 9 + 1 + read-only + + + TRP10 + Transmission Request Pending 10 + 10 + 1 + read-only + + + TRP11 + Transmission Request Pending 11 + 11 + 1 + read-only + + + TRP12 + Transmission Request Pending 12 + 12 + 1 + read-only + + + TRP13 + Transmission Request Pending 13 + 13 + 1 + read-only + + + TRP14 + Transmission Request Pending 14 + 14 + 1 + read-only + + + TRP15 + Transmission Request Pending 15 + 15 + 1 + read-only + + + TRP16 + Transmission Request Pending 16 + 16 + 1 + read-only + + + TRP17 + Transmission Request Pending 17 + 17 + 1 + read-only + + + TRP18 + Transmission Request Pending 18 + 18 + 1 + read-only + + + TRP19 + Transmission Request Pending 19 + 19 + 1 + read-only + + + TRP20 + Transmission Request Pending 20 + 20 + 1 + read-only + + + TRP21 + Transmission Request Pending 21 + 21 + 1 + read-only + + + TRP22 + Transmission Request Pending 22 + 22 + 1 + read-only + + + TRP23 + Transmission Request Pending 23 + 23 + 1 + read-only + + + TRP24 + Transmission Request Pending 24 + 24 + 1 + read-only + + + TRP25 + Transmission Request Pending 25 + 25 + 1 + read-only + + + TRP26 + Transmission Request Pending 26 + 26 + 1 + read-only + + + TRP27 + Transmission Request Pending 27 + 27 + 1 + read-only + + + TRP28 + Transmission Request Pending 28 + 28 + 1 + read-only + + + TRP29 + Transmission Request Pending 29 + 29 + 1 + read-only + + + TRP30 + Transmission Request Pending 30 + 30 + 1 + read-only + + + TRP31 + Transmission Request Pending 31 + 31 + 1 + read-only + + + + + TXBAR + Tx Buffer Add Request + 0xD0 + 32 + + + AR0 + Add Request 0 + 0 + 1 + + + AR1 + Add Request 1 + 1 + 1 + + + AR2 + Add Request 2 + 2 + 1 + + + AR3 + Add Request 3 + 3 + 1 + + + AR4 + Add Request 4 + 4 + 1 + + + AR5 + Add Request 5 + 5 + 1 + + + AR6 + Add Request 6 + 6 + 1 + + + AR7 + Add Request 7 + 7 + 1 + + + AR8 + Add Request 8 + 8 + 1 + + + AR9 + Add Request 9 + 9 + 1 + + + AR10 + Add Request 10 + 10 + 1 + + + AR11 + Add Request 11 + 11 + 1 + + + AR12 + Add Request 12 + 12 + 1 + + + AR13 + Add Request 13 + 13 + 1 + + + AR14 + Add Request 14 + 14 + 1 + + + AR15 + Add Request 15 + 15 + 1 + + + AR16 + Add Request 16 + 16 + 1 + + + AR17 + Add Request 17 + 17 + 1 + + + AR18 + Add Request 18 + 18 + 1 + + + AR19 + Add Request 19 + 19 + 1 + + + AR20 + Add Request 20 + 20 + 1 + + + AR21 + Add Request 21 + 21 + 1 + + + AR22 + Add Request 22 + 22 + 1 + + + AR23 + Add Request 23 + 23 + 1 + + + AR24 + Add Request 24 + 24 + 1 + + + AR25 + Add Request 25 + 25 + 1 + + + AR26 + Add Request 26 + 26 + 1 + + + AR27 + Add Request 27 + 27 + 1 + + + AR28 + Add Request 28 + 28 + 1 + + + AR29 + Add Request 29 + 29 + 1 + + + AR30 + Add Request 30 + 30 + 1 + + + AR31 + Add Request 31 + 31 + 1 + + + + + TXBCR + Tx Buffer Cancellation Request + 0xD4 + 32 + + + CR0 + Cancellation Request 0 + 0 + 1 + + + CR1 + Cancellation Request 1 + 1 + 1 + + + CR2 + Cancellation Request 2 + 2 + 1 + + + CR3 + Cancellation Request 3 + 3 + 1 + + + CR4 + Cancellation Request 4 + 4 + 1 + + + CR5 + Cancellation Request 5 + 5 + 1 + + + CR6 + Cancellation Request 6 + 6 + 1 + + + CR7 + Cancellation Request 7 + 7 + 1 + + + CR8 + Cancellation Request 8 + 8 + 1 + + + CR9 + Cancellation Request 9 + 9 + 1 + + + CR10 + Cancellation Request 10 + 10 + 1 + + + CR11 + Cancellation Request 11 + 11 + 1 + + + CR12 + Cancellation Request 12 + 12 + 1 + + + CR13 + Cancellation Request 13 + 13 + 1 + + + CR14 + Cancellation Request 14 + 14 + 1 + + + CR15 + Cancellation Request 15 + 15 + 1 + + + CR16 + Cancellation Request 16 + 16 + 1 + + + CR17 + Cancellation Request 17 + 17 + 1 + + + CR18 + Cancellation Request 18 + 18 + 1 + + + CR19 + Cancellation Request 19 + 19 + 1 + + + CR20 + Cancellation Request 20 + 20 + 1 + + + CR21 + Cancellation Request 21 + 21 + 1 + + + CR22 + Cancellation Request 22 + 22 + 1 + + + CR23 + Cancellation Request 23 + 23 + 1 + + + CR24 + Cancellation Request 24 + 24 + 1 + + + CR25 + Cancellation Request 25 + 25 + 1 + + + CR26 + Cancellation Request 26 + 26 + 1 + + + CR27 + Cancellation Request 27 + 27 + 1 + + + CR28 + Cancellation Request 28 + 28 + 1 + + + CR29 + Cancellation Request 29 + 29 + 1 + + + CR30 + Cancellation Request 30 + 30 + 1 + + + CR31 + Cancellation Request 31 + 31 + 1 + + + + + TXBTO + Tx Buffer Transmission Occurred + 0xD8 + 32 + read-only + + + TO0 + Transmission Occurred 0 + 0 + 1 + read-only + + + TO1 + Transmission Occurred 1 + 1 + 1 + read-only + + + TO2 + Transmission Occurred 2 + 2 + 1 + read-only + + + TO3 + Transmission Occurred 3 + 3 + 1 + read-only + + + TO4 + Transmission Occurred 4 + 4 + 1 + read-only + + + TO5 + Transmission Occurred 5 + 5 + 1 + read-only + + + TO6 + Transmission Occurred 6 + 6 + 1 + read-only + + + TO7 + Transmission Occurred 7 + 7 + 1 + read-only + + + TO8 + Transmission Occurred 8 + 8 + 1 + read-only + + + TO9 + Transmission Occurred 9 + 9 + 1 + read-only + + + TO10 + Transmission Occurred 10 + 10 + 1 + read-only + + + TO11 + Transmission Occurred 11 + 11 + 1 + read-only + + + TO12 + Transmission Occurred 12 + 12 + 1 + read-only + + + TO13 + Transmission Occurred 13 + 13 + 1 + read-only + + + TO14 + Transmission Occurred 14 + 14 + 1 + read-only + + + TO15 + Transmission Occurred 15 + 15 + 1 + read-only + + + TO16 + Transmission Occurred 16 + 16 + 1 + read-only + + + TO17 + Transmission Occurred 17 + 17 + 1 + read-only + + + TO18 + Transmission Occurred 18 + 18 + 1 + read-only + + + TO19 + Transmission Occurred 19 + 19 + 1 + read-only + + + TO20 + Transmission Occurred 20 + 20 + 1 + read-only + + + TO21 + Transmission Occurred 21 + 21 + 1 + read-only + + + TO22 + Transmission Occurred 22 + 22 + 1 + read-only + + + TO23 + Transmission Occurred 23 + 23 + 1 + read-only + + + TO24 + Transmission Occurred 24 + 24 + 1 + read-only + + + TO25 + Transmission Occurred 25 + 25 + 1 + read-only + + + TO26 + Transmission Occurred 26 + 26 + 1 + read-only + + + TO27 + Transmission Occurred 27 + 27 + 1 + read-only + + + TO28 + Transmission Occurred 28 + 28 + 1 + read-only + + + TO29 + Transmission Occurred 29 + 29 + 1 + read-only + + + TO30 + Transmission Occurred 30 + 30 + 1 + read-only + + + TO31 + Transmission Occurred 31 + 31 + 1 + read-only + + + + + TXBCF + Tx Buffer Cancellation Finished + 0xDC + 32 + read-only + + + CF0 + Tx Buffer Cancellation Finished 0 + 0 + 1 + read-only + + + CF1 + Tx Buffer Cancellation Finished 1 + 1 + 1 + read-only + + + CF2 + Tx Buffer Cancellation Finished 2 + 2 + 1 + read-only + + + CF3 + Tx Buffer Cancellation Finished 3 + 3 + 1 + read-only + + + CF4 + Tx Buffer Cancellation Finished 4 + 4 + 1 + read-only + + + CF5 + Tx Buffer Cancellation Finished 5 + 5 + 1 + read-only + + + CF6 + Tx Buffer Cancellation Finished 6 + 6 + 1 + read-only + + + CF7 + Tx Buffer Cancellation Finished 7 + 7 + 1 + read-only + + + CF8 + Tx Buffer Cancellation Finished 8 + 8 + 1 + read-only + + + CF9 + Tx Buffer Cancellation Finished 9 + 9 + 1 + read-only + + + CF10 + Tx Buffer Cancellation Finished 10 + 10 + 1 + read-only + + + CF11 + Tx Buffer Cancellation Finished 11 + 11 + 1 + read-only + + + CF12 + Tx Buffer Cancellation Finished 12 + 12 + 1 + read-only + + + CF13 + Tx Buffer Cancellation Finished 13 + 13 + 1 + read-only + + + CF14 + Tx Buffer Cancellation Finished 14 + 14 + 1 + read-only + + + CF15 + Tx Buffer Cancellation Finished 15 + 15 + 1 + read-only + + + CF16 + Tx Buffer Cancellation Finished 16 + 16 + 1 + read-only + + + CF17 + Tx Buffer Cancellation Finished 17 + 17 + 1 + read-only + + + CF18 + Tx Buffer Cancellation Finished 18 + 18 + 1 + read-only + + + CF19 + Tx Buffer Cancellation Finished 19 + 19 + 1 + read-only + + + CF20 + Tx Buffer Cancellation Finished 20 + 20 + 1 + read-only + + + CF21 + Tx Buffer Cancellation Finished 21 + 21 + 1 + read-only + + + CF22 + Tx Buffer Cancellation Finished 22 + 22 + 1 + read-only + + + CF23 + Tx Buffer Cancellation Finished 23 + 23 + 1 + read-only + + + CF24 + Tx Buffer Cancellation Finished 24 + 24 + 1 + read-only + + + CF25 + Tx Buffer Cancellation Finished 25 + 25 + 1 + read-only + + + CF26 + Tx Buffer Cancellation Finished 26 + 26 + 1 + read-only + + + CF27 + Tx Buffer Cancellation Finished 27 + 27 + 1 + read-only + + + CF28 + Tx Buffer Cancellation Finished 28 + 28 + 1 + read-only + + + CF29 + Tx Buffer Cancellation Finished 29 + 29 + 1 + read-only + + + CF30 + Tx Buffer Cancellation Finished 30 + 30 + 1 + read-only + + + CF31 + Tx Buffer Cancellation Finished 31 + 31 + 1 + read-only + + + + + TXBTIE + Tx Buffer Transmission Interrupt Enable + 0xE0 + 32 + + + TIE0 + Transmission Interrupt Enable 0 + 0 + 1 + + + TIE1 + Transmission Interrupt Enable 1 + 1 + 1 + + + TIE2 + Transmission Interrupt Enable 2 + 2 + 1 + + + TIE3 + Transmission Interrupt Enable 3 + 3 + 1 + + + TIE4 + Transmission Interrupt Enable 4 + 4 + 1 + + + TIE5 + Transmission Interrupt Enable 5 + 5 + 1 + + + TIE6 + Transmission Interrupt Enable 6 + 6 + 1 + + + TIE7 + Transmission Interrupt Enable 7 + 7 + 1 + + + TIE8 + Transmission Interrupt Enable 8 + 8 + 1 + + + TIE9 + Transmission Interrupt Enable 9 + 9 + 1 + + + TIE10 + Transmission Interrupt Enable 10 + 10 + 1 + + + TIE11 + Transmission Interrupt Enable 11 + 11 + 1 + + + TIE12 + Transmission Interrupt Enable 12 + 12 + 1 + + + TIE13 + Transmission Interrupt Enable 13 + 13 + 1 + + + TIE14 + Transmission Interrupt Enable 14 + 14 + 1 + + + TIE15 + Transmission Interrupt Enable 15 + 15 + 1 + + + TIE16 + Transmission Interrupt Enable 16 + 16 + 1 + + + TIE17 + Transmission Interrupt Enable 17 + 17 + 1 + + + TIE18 + Transmission Interrupt Enable 18 + 18 + 1 + + + TIE19 + Transmission Interrupt Enable 19 + 19 + 1 + + + TIE20 + Transmission Interrupt Enable 20 + 20 + 1 + + + TIE21 + Transmission Interrupt Enable 21 + 21 + 1 + + + TIE22 + Transmission Interrupt Enable 22 + 22 + 1 + + + TIE23 + Transmission Interrupt Enable 23 + 23 + 1 + + + TIE24 + Transmission Interrupt Enable 24 + 24 + 1 + + + TIE25 + Transmission Interrupt Enable 25 + 25 + 1 + + + TIE26 + Transmission Interrupt Enable 26 + 26 + 1 + + + TIE27 + Transmission Interrupt Enable 27 + 27 + 1 + + + TIE28 + Transmission Interrupt Enable 28 + 28 + 1 + + + TIE29 + Transmission Interrupt Enable 29 + 29 + 1 + + + TIE30 + Transmission Interrupt Enable 30 + 30 + 1 + + + TIE31 + Transmission Interrupt Enable 31 + 31 + 1 + + + + + TXBCIE + Tx Buffer Cancellation Finished Interrupt Enable + 0xE4 + 32 + + + CFIE0 + Cancellation Finished Interrupt Enable 0 + 0 + 1 + + + CFIE1 + Cancellation Finished Interrupt Enable 1 + 1 + 1 + + + CFIE2 + Cancellation Finished Interrupt Enable 2 + 2 + 1 + + + CFIE3 + Cancellation Finished Interrupt Enable 3 + 3 + 1 + + + CFIE4 + Cancellation Finished Interrupt Enable 4 + 4 + 1 + + + CFIE5 + Cancellation Finished Interrupt Enable 5 + 5 + 1 + + + CFIE6 + Cancellation Finished Interrupt Enable 6 + 6 + 1 + + + CFIE7 + Cancellation Finished Interrupt Enable 7 + 7 + 1 + + + CFIE8 + Cancellation Finished Interrupt Enable 8 + 8 + 1 + + + CFIE9 + Cancellation Finished Interrupt Enable 9 + 9 + 1 + + + CFIE10 + Cancellation Finished Interrupt Enable 10 + 10 + 1 + + + CFIE11 + Cancellation Finished Interrupt Enable 11 + 11 + 1 + + + CFIE12 + Cancellation Finished Interrupt Enable 12 + 12 + 1 + + + CFIE13 + Cancellation Finished Interrupt Enable 13 + 13 + 1 + + + CFIE14 + Cancellation Finished Interrupt Enable 14 + 14 + 1 + + + CFIE15 + Cancellation Finished Interrupt Enable 15 + 15 + 1 + + + CFIE16 + Cancellation Finished Interrupt Enable 16 + 16 + 1 + + + CFIE17 + Cancellation Finished Interrupt Enable 17 + 17 + 1 + + + CFIE18 + Cancellation Finished Interrupt Enable 18 + 18 + 1 + + + CFIE19 + Cancellation Finished Interrupt Enable 19 + 19 + 1 + + + CFIE20 + Cancellation Finished Interrupt Enable 20 + 20 + 1 + + + CFIE21 + Cancellation Finished Interrupt Enable 21 + 21 + 1 + + + CFIE22 + Cancellation Finished Interrupt Enable 22 + 22 + 1 + + + CFIE23 + Cancellation Finished Interrupt Enable 23 + 23 + 1 + + + CFIE24 + Cancellation Finished Interrupt Enable 24 + 24 + 1 + + + CFIE25 + Cancellation Finished Interrupt Enable 25 + 25 + 1 + + + CFIE26 + Cancellation Finished Interrupt Enable 26 + 26 + 1 + + + CFIE27 + Cancellation Finished Interrupt Enable 27 + 27 + 1 + + + CFIE28 + Cancellation Finished Interrupt Enable 28 + 28 + 1 + + + CFIE29 + Cancellation Finished Interrupt Enable 29 + 29 + 1 + + + CFIE30 + Cancellation Finished Interrupt Enable 30 + 30 + 1 + + + CFIE31 + Cancellation Finished Interrupt Enable 31 + 31 + 1 + + + + + TXEFC + Tx Event FIFO Configuration + 0xF0 + 32 + + + EFSA + Event FIFO Start Address + 0 + 16 + + + EFS + Event FIFO Size + 16 + 6 + + + EFWM + Event FIFO Watermark + 24 + 6 + + + + + TXEFS + Tx Event FIFO Status + 0xF4 + 32 + read-only + + + EFFL + Event FIFO Fill Level + 0 + 6 + read-only + + + EFGI + Event FIFO Get Index + 8 + 5 + read-only + + + EFPI + Event FIFO Put Index + 16 + 5 + read-only + + + EFF + Event FIFO Full + 24 + 1 + read-only + + + TEFL + Tx Event FIFO Element Lost + 25 + 1 + read-only + + + + + TXEFA + Tx Event FIFO Acknowledge + 0xF8 + 32 + + + EFAI + Event FIFO Acknowledge Index + 0 + 5 + + + + + + + CAN1 + Control Area Network 1 + 0x42000400 + + CAN1_INTREQ + 79 + + + + CCL + 1.1.0 + Configurable Custom Logic + CCL + CCL_ + 0x42003800 + + 0 + 0x40 + registers + + + + CTRL + Control + 0x0 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + + + 2 + 0x1 + SEQCTRL%s + SEQ Control x + 0x4 + 8 + + + SEQSEL + Sequential Selection + 0 + 4 + + SEQSELSelect + + DISABLE + Sequential logic is disabled + 0x0 + + + DFF + D flip flop + 0x1 + + + JK + JK flip flop + 0x2 + + + LATCH + D latch + 0x3 + + + RS + RS latch + 0x4 + + + + + + + 4 + 0x4 + LUTCTRL%s + LUT Control x + 0x8 + 32 + + + ENABLE + LUT Enable + 1 + 1 + + + FILTSEL + Filter Selection + 4 + 2 + + FILTSELSelect + + DISABLE + Filter disabled + 0x0 + + + SYNCH + Synchronizer enabled + 0x1 + + + FILTER + Filter enabled + 0x2 + + + + + EDGESEL + Edge Selection + 7 + 1 + + + INSEL0 + Input Selection 0 + 8 + 4 + + INSEL0Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INSEL1 + Input Selection 1 + 12 + 4 + + INSEL1Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INSEL2 + Input Selection 2 + 16 + 4 + + INSEL2Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INVEI + Inverted Event Input Enable + 20 + 1 + + + LUTEI + LUT Event Input Enable + 21 + 1 + + + LUTEO + LUT Event Output Enable + 22 + 1 + + + TRUTH + Truth Value + 24 + 8 + + + + + + + CMCC + 6.0.0 + Cortex M Cache Controller + CMCC + CMCC_ + 0x41006000 + + 0 + 0x40 + registers + + + + TYPE + Cache Type Register + 0x00 + 32 + read-only + 0x000012D2 + + + GCLK + dynamic Clock Gating supported + 1 + 1 + + + RRP + Round Robin Policy supported + 4 + 1 + + + WAYNUM + Number of Way + 5 + 2 + + WAYNUMSelect + + DMAPPED + Direct Mapped Cache + 0x0 + + + ARCH2WAY + 2-WAY set associative + 0x1 + + + ARCH4WAY + 4-WAY set associative + 0x2 + + + + + LCKDOWN + Lock Down supported + 7 + 1 + + + CSIZE + Cache Size + 8 + 3 + + CSIZESelect + + CSIZE_1KB + Cache Size is 1 KB + 0x0 + + + CSIZE_2KB + Cache Size is 2 KB + 0x1 + + + CSIZE_4KB + Cache Size is 4 KB + 0x2 + + + CSIZE_8KB + Cache Size is 8 KB + 0x3 + + + CSIZE_16KB + Cache Size is 16 KB + 0x4 + + + CSIZE_32KB + Cache Size is 32 KB + 0x5 + + + CSIZE_64KB + Cache Size is 64 KB + 0x6 + + + + + CLSIZE + Cache Line Size + 11 + 3 + + CLSIZESelect + + CLSIZE_4B + Cache Line Size is 4 bytes + 0x0 + + + CLSIZE_8B + Cache Line Size is 8 bytes + 0x1 + + + CLSIZE_16B + Cache Line Size is 16 bytes + 0x2 + + + CLSIZE_32B + Cache Line Size is 32 bytes + 0x3 + + + CLSIZE_64B + Cache Line Size is 64 bytes + 0x4 + + + CLSIZE_128B + Cache Line Size is 128 bytes + 0x5 + + + + + + + CFG + Cache Configuration Register + 0x04 + 32 + 0x00000020 + + + ICDIS + Instruction Cache Disable + 1 + 1 + + + DCDIS + Data Cache Disable + 2 + 1 + + + CSIZESW + Cache size configured by software + 4 + 3 + + CSIZESWSelect + + CONF_CSIZE_1KB + the Cache Size is configured to 1KB + 0x0 + + + CONF_CSIZE_2KB + the Cache Size is configured to 2KB + 0x1 + + + CONF_CSIZE_4KB + the Cache Size is configured to 4KB + 0x2 + + + CONF_CSIZE_8KB + the Cache Size is configured to 8KB + 0x3 + + + CONF_CSIZE_16KB + the Cache Size is configured to 16KB + 0x4 + + + CONF_CSIZE_32KB + the Cache Size is configured to 32KB + 0x5 + + + CONF_CSIZE_64KB + the Cache Size is configured to 64KB + 0x6 + + + + + + + CTRL + Cache Control Register + 0x08 + 32 + write-only + + + CEN + Cache Controller Enable + 0 + 1 + + + + + SR + Cache Status Register + 0x0C + 32 + read-only + + + CSTS + Cache Controller Status + 0 + 1 + + + + + LCKWAY + Cache Lock per Way Register + 0x10 + 32 + + + LCKWAY + Lockdown way Register + 0 + 4 + + + + + MAINT0 + Cache Maintenance Register 0 + 0x20 + 32 + write-only + + + INVALL + Cache Controller invalidate All + 0 + 1 + + + + + MAINT1 + Cache Maintenance Register 1 + 0x24 + 32 + write-only + + + INDEX + Invalidate Index + 4 + 8 + + + WAY + Invalidate Way + 28 + 4 + + WAYSelect + + WAY0 + Way 0 is selection for index invalidation + 0x0 + + + WAY1 + Way 1 is selection for index invalidation + 0x1 + + + WAY2 + Way 2 is selection for index invalidation + 0x2 + + + WAY3 + Way 3 is selection for index invalidation + 0x3 + + + + + + + MCFG + Cache Monitor Configuration Register + 0x28 + 32 + + + MODE + Cache Controller Monitor Counter Mode + 0 + 2 + + MODESelect + + CYCLE_COUNT + cycle counter + 0x0 + + + IHIT_COUNT + instruction hit counter + 0x1 + + + DHIT_COUNT + data hit counter + 0x2 + + + + + + + MEN + Cache Monitor Enable Register + 0x2C + 32 + + + MENABLE + Cache Controller Monitor Enable + 0 + 1 + + + + + MCTRL + Cache Monitor Control Register + 0x30 + 32 + write-only + + + SWRST + Cache Controller Software Reset + 0 + 1 + + + + + MSR + Cache Monitor Status Register + 0x34 + 32 + read-only + + + EVENT_CNT + Monitor Event Counter + 0 + 32 + + + + + + + DAC + 1.0.0 + Digital-to-Analog Converter + DAC + DAC_ + 0x43002400 + + 0 + 0x20 + registers + + + DAC_INTREQ_0 + 123 + + + DAC_INTREQ_1 + 124 + + + DAC_INTREQ_2 + 125 + + + DAC_INTREQ_3 + 126 + + + DAC_INTREQ_4 + 127 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable DAC Controller + 1 + 1 + + + + + CTRLB + Control B + 0x01 + 8 + 0x02 + + + DIFF + Differential mode enable + 0 + 1 + + + REFSEL + Reference Selection for DAC0/1 + 1 + 2 + + REFSELSelect + + VREFPU + External reference unbuffered + 0x0 + + + VDDANA + Analog supply + 0x1 + + + VREFPB + External reference buffered + 0x2 + + + INTREF + Internal bandgap reference + 0x3 + + + + + + + EVCTRL + Event Control + 0x02 + 8 + + + STARTEI0 + Start Conversion Event Input DAC 0 + 0 + 1 + + + STARTEI1 + Start Conversion Event Input DAC 1 + 1 + 1 + + + EMPTYEO0 + Data Buffer Empty Event Output DAC 0 + 2 + 1 + + + EMPTYEO1 + Data Buffer Empty Event Output DAC 1 + 3 + 1 + + + INVEI0 + Enable Invertion of DAC 0 input event + 4 + 1 + + + INVEI1 + Enable Invertion of DAC 1 input event + 5 + 1 + + + RESRDYEO0 + Result Ready Event Output 0 + 6 + 1 + + + RESRDYEO1 + Result Ready Event Output 1 + 7 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + UNDERRUN0 + Underrun 0 Interrupt Enable + 0 + 1 + + + UNDERRUN1 + Underrun 1 Interrupt Enable + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty Interrupt Enable + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty Interrupt Enable + 3 + 1 + + + RESRDY0 + Result 0 Ready Interrupt Enable + 4 + 1 + + + RESRDY1 + Result 1 Ready Interrupt Enable + 5 + 1 + + + OVERRUN0 + Overrun 0 Interrupt Enable + 6 + 1 + + + OVERRUN1 + Overrun 1 Interrupt Enable + 7 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + UNDERRUN0 + Underrun 0 Interrupt Enable + 0 + 1 + + + UNDERRUN1 + Underrun 1 Interrupt Enable + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty Interrupt Enable + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty Interrupt Enable + 3 + 1 + + + RESRDY0 + Result 0 Ready Interrupt Enable + 4 + 1 + + + RESRDY1 + Result 1 Ready Interrupt Enable + 5 + 1 + + + OVERRUN0 + Overrun 0 Interrupt Enable + 6 + 1 + + + OVERRUN1 + Overrun 1 Interrupt Enable + 7 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + UNDERRUN0 + Result 0 Underrun + 0 + 1 + + + UNDERRUN1 + Result 1 Underrun + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty + 3 + 1 + + + RESRDY0 + Result 0 Ready + 4 + 1 + + + RESRDY1 + Result 1 Ready + 5 + 1 + + + OVERRUN0 + Result 0 Overrun + 6 + 1 + + + OVERRUN1 + Result 1 Overrun + 7 + 1 + + + + + STATUS + Status + 0x07 + 8 + read-only + + + READY0 + DAC 0 Startup Ready + 0 + 1 + read-only + + + READY1 + DAC 1 Startup Ready + 1 + 1 + read-only + + + EOC0 + DAC 0 End of Conversion + 2 + 1 + read-only + + + EOC1 + DAC 1 End of Conversion + 3 + 1 + read-only + + + + + SYNCBUSY + Synchronization Busy + 0x08 + 32 + read-only + + + SWRST + Software Reset + 0 + 1 + read-only + + + ENABLE + DAC Enable Status + 1 + 1 + read-only + + + DATA0 + Data DAC 0 + 2 + 1 + read-only + + + DATA1 + Data DAC 1 + 3 + 1 + read-only + + + DATABUF0 + Data Buffer DAC 0 + 4 + 1 + read-only + + + DATABUF1 + Data Buffer DAC 1 + 5 + 1 + read-only + + + + + 2 + 0x2 + DACCTRL%s + DAC n Control + 0x0C + 16 + + + LEFTADJ + Left Adjusted Data + 0 + 1 + + + ENABLE + Enable DAC0 + 1 + 1 + + + CCTRL + Current Control + 2 + 2 + + CCTRLSelect + + CC100K + GCLK_DAC <= 1.2MHz (100kSPS) + 0x0 + + + CC1M + 1.2MHz < GCLK_DAC <= 6MHz (500kSPS) + 0x1 + + + CC12M + 6MHz < GCLK_DAC <= 12MHz (1MSPS) + 0x2 + + + + + FEXT + Standalone Filter + 5 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + DITHER + Dithering Mode + 7 + 1 + + + REFRESH + Refresh period + 8 + 4 + + + OSR + Sampling Rate + 13 + 3 + + + + + 2 + 0x2 + DATA%s + DAC n Data + 0x10 + 16 + write-only + + + DATA + DAC0 Data + 0 + 16 + write-only + + + + + 2 + 0x2 + DATABUF%s + DAC n Data Buffer + 0x14 + 16 + write-only + + + DATABUF + DAC0 Data Buffer + 0 + 16 + write-only + + + + + DBGCTRL + Debug Control + 0x18 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + 2 + 0x2 + RESULT%s + Filter Result + 0x1C + 16 + read-only + + + RESULT + Filter Result + 0 + 16 + read-only + + + + + + + DMAC + 1.0.0 + Direct Memory Access Controller + DMAC + DMAC_ + 0x4100A000 + + 0 + 0x400 + registers + + + DMAC_INTREQ_0 + 31 + + + DMAC_INTREQ_1 + 32 + + + DMAC_INTREQ_2 + 33 + + + DMAC_INTREQ_3 + 34 + + + DMAC_INTREQ_4 + 35 + + + + CTRL + Control + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + + + DMAENABLE + DMA Enable + 1 + 1 + + + LVLEN0 + Priority Level 0 Enable + 8 + 1 + + + LVLEN1 + Priority Level 1 Enable + 9 + 1 + + + LVLEN2 + Priority Level 2 Enable + 10 + 1 + + + LVLEN3 + Priority Level 3 Enable + 11 + 1 + + + + + CRCCTRL + CRC Control + 0x02 + 16 + + + CRCBEATSIZE + CRC Beat Size + 0 + 2 + + CRCBEATSIZESelect + + BYTE + 8-bit bus transfer + 0x0 + + + HWORD + 16-bit bus transfer + 0x1 + + + WORD + 32-bit bus transfer + 0x2 + + + + + CRCPOLY + CRC Polynomial Type + 2 + 2 + + CRCPOLYSelect + + CRC16 + CRC-16 (CRC-CCITT) + 0x0 + + + CRC32 + CRC32 (IEEE 802.3) + 0x1 + + + + + CRCSRC + CRC Input Source + 8 + 6 + + CRCSRCSelect + + DISABLE + CRC Disabled + 0x0 + + + IO + I/O interface + 0x1 + + + + + CRCMODE + CRC Operating Mode + 14 + 2 + + CRCMODESelect + + DEFAULT + Default operating mode + 0x0 + + + CRCMON + Memory CRC monitor operating mode + 0x2 + + + CRCGEN + Memory CRC generation operating mode + 0x3 + + + + + + + CRCDATAIN + CRC Data Input + 0x04 + 32 + + + CRCDATAIN + CRC Data Input + 0 + 32 + + + + + CRCCHKSUM + CRC Checksum + 0x08 + 32 + + + CRCCHKSUM + CRC Checksum + 0 + 32 + + + + + CRCSTATUS + CRC Status + 0x0C + 8 + + + CRCBUSY + CRC Module Busy + 0 + 1 + + + CRCZERO + CRC Zero + 1 + 1 + read-only + + + CRCERR + CRC Error + 2 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x0D + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + SWTRIGCTRL + Software Trigger Control + 0x10 + 32 + + + SWTRIG0 + Channel 0 Software Trigger + 0 + 1 + + + SWTRIG1 + Channel 1 Software Trigger + 1 + 1 + + + SWTRIG2 + Channel 2 Software Trigger + 2 + 1 + + + SWTRIG3 + Channel 3 Software Trigger + 3 + 1 + + + SWTRIG4 + Channel 4 Software Trigger + 4 + 1 + + + SWTRIG5 + Channel 5 Software Trigger + 5 + 1 + + + SWTRIG6 + Channel 6 Software Trigger + 6 + 1 + + + SWTRIG7 + Channel 7 Software Trigger + 7 + 1 + + + SWTRIG8 + Channel 8 Software Trigger + 8 + 1 + + + SWTRIG9 + Channel 9 Software Trigger + 9 + 1 + + + SWTRIG10 + Channel 10 Software Trigger + 10 + 1 + + + SWTRIG11 + Channel 11 Software Trigger + 11 + 1 + + + SWTRIG12 + Channel 12 Software Trigger + 12 + 1 + + + SWTRIG13 + Channel 13 Software Trigger + 13 + 1 + + + SWTRIG14 + Channel 14 Software Trigger + 14 + 1 + + + SWTRIG15 + Channel 15 Software Trigger + 15 + 1 + + + SWTRIG16 + Channel 16 Software Trigger + 16 + 1 + + + SWTRIG17 + Channel 17 Software Trigger + 17 + 1 + + + SWTRIG18 + Channel 18 Software Trigger + 18 + 1 + + + SWTRIG19 + Channel 19 Software Trigger + 19 + 1 + + + SWTRIG20 + Channel 20 Software Trigger + 20 + 1 + + + SWTRIG21 + Channel 21 Software Trigger + 21 + 1 + + + SWTRIG22 + Channel 22 Software Trigger + 22 + 1 + + + SWTRIG23 + Channel 23 Software Trigger + 23 + 1 + + + SWTRIG24 + Channel 24 Software Trigger + 24 + 1 + + + SWTRIG25 + Channel 25 Software Trigger + 25 + 1 + + + SWTRIG26 + Channel 26 Software Trigger + 26 + 1 + + + SWTRIG27 + Channel 27 Software Trigger + 27 + 1 + + + SWTRIG28 + Channel 28 Software Trigger + 28 + 1 + + + SWTRIG29 + Channel 29 Software Trigger + 29 + 1 + + + SWTRIG30 + Channel 30 Software Trigger + 30 + 1 + + + SWTRIG31 + Channel 31 Software Trigger + 31 + 1 + + + + + PRICTRL0 + Priority Control 0 + 0x14 + 32 + 0x40404040 + + + LVLPRI0 + Level 0 Channel Priority Number + 0 + 5 + + + QOS0 + Level 0 Quality of Service + 5 + 2 + + QOS0Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN0 + Level 0 Round-Robin Scheduling Enable + 7 + 1 + + + LVLPRI1 + Level 1 Channel Priority Number + 8 + 5 + + + QOS1 + Level 1 Quality of Service + 13 + 2 + + QOS1Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN1 + Level 1 Round-Robin Scheduling Enable + 15 + 1 + + + LVLPRI2 + Level 2 Channel Priority Number + 16 + 5 + + + QOS2 + Level 2 Quality of Service + 21 + 2 + + QOS2Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN2 + Level 2 Round-Robin Scheduling Enable + 23 + 1 + + + LVLPRI3 + Level 3 Channel Priority Number + 24 + 5 + + + QOS3 + Level 3 Quality of Service + 29 + 2 + + QOS3Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN3 + Level 3 Round-Robin Scheduling Enable + 31 + 1 + + + + + INTPEND + Interrupt Pending + 0x20 + 16 + + + ID + Channel ID + 0 + 5 + + + TERR + Transfer Error + 8 + 1 + + + TCMPL + Transfer Complete + 9 + 1 + + + SUSP + Channel Suspend + 10 + 1 + + + CRCERR + CRC Error + 12 + 1 + + + FERR + Fetch Error + 13 + 1 + read-only + + + BUSY + Busy + 14 + 1 + read-only + + + PEND + Pending + 15 + 1 + read-only + + + + + INTSTATUS + Interrupt Status + 0x24 + 32 + read-only + + + CHINT0 + Channel 0 Pending Interrupt + 0 + 1 + read-only + + + CHINT1 + Channel 1 Pending Interrupt + 1 + 1 + read-only + + + CHINT2 + Channel 2 Pending Interrupt + 2 + 1 + read-only + + + CHINT3 + Channel 3 Pending Interrupt + 3 + 1 + read-only + + + CHINT4 + Channel 4 Pending Interrupt + 4 + 1 + read-only + + + CHINT5 + Channel 5 Pending Interrupt + 5 + 1 + read-only + + + CHINT6 + Channel 6 Pending Interrupt + 6 + 1 + read-only + + + CHINT7 + Channel 7 Pending Interrupt + 7 + 1 + read-only + + + CHINT8 + Channel 8 Pending Interrupt + 8 + 1 + read-only + + + CHINT9 + Channel 9 Pending Interrupt + 9 + 1 + read-only + + + CHINT10 + Channel 10 Pending Interrupt + 10 + 1 + read-only + + + CHINT11 + Channel 11 Pending Interrupt + 11 + 1 + read-only + + + CHINT12 + Channel 12 Pending Interrupt + 12 + 1 + read-only + + + CHINT13 + Channel 13 Pending Interrupt + 13 + 1 + read-only + + + CHINT14 + Channel 14 Pending Interrupt + 14 + 1 + read-only + + + CHINT15 + Channel 15 Pending Interrupt + 15 + 1 + read-only + + + CHINT16 + Channel 16 Pending Interrupt + 16 + 1 + read-only + + + CHINT17 + Channel 17 Pending Interrupt + 17 + 1 + read-only + + + CHINT18 + Channel 18 Pending Interrupt + 18 + 1 + read-only + + + CHINT19 + Channel 19 Pending Interrupt + 19 + 1 + read-only + + + CHINT20 + Channel 20 Pending Interrupt + 20 + 1 + read-only + + + CHINT21 + Channel 21 Pending Interrupt + 21 + 1 + read-only + + + CHINT22 + Channel 22 Pending Interrupt + 22 + 1 + read-only + + + CHINT23 + Channel 23 Pending Interrupt + 23 + 1 + read-only + + + CHINT24 + Channel 24 Pending Interrupt + 24 + 1 + read-only + + + CHINT25 + Channel 25 Pending Interrupt + 25 + 1 + read-only + + + CHINT26 + Channel 26 Pending Interrupt + 26 + 1 + read-only + + + CHINT27 + Channel 27 Pending Interrupt + 27 + 1 + read-only + + + CHINT28 + Channel 28 Pending Interrupt + 28 + 1 + read-only + + + CHINT29 + Channel 29 Pending Interrupt + 29 + 1 + read-only + + + CHINT30 + Channel 30 Pending Interrupt + 30 + 1 + read-only + + + CHINT31 + Channel 31 Pending Interrupt + 31 + 1 + read-only + + + + + BUSYCH + Busy Channels + 0x28 + 32 + read-only + + + BUSYCH0 + Busy Channel 0 + 0 + 1 + read-only + + + BUSYCH1 + Busy Channel 1 + 1 + 1 + read-only + + + BUSYCH2 + Busy Channel 2 + 2 + 1 + read-only + + + BUSYCH3 + Busy Channel 3 + 3 + 1 + read-only + + + BUSYCH4 + Busy Channel 4 + 4 + 1 + read-only + + + BUSYCH5 + Busy Channel 5 + 5 + 1 + read-only + + + BUSYCH6 + Busy Channel 6 + 6 + 1 + read-only + + + BUSYCH7 + Busy Channel 7 + 7 + 1 + read-only + + + BUSYCH8 + Busy Channel 8 + 8 + 1 + read-only + + + BUSYCH9 + Busy Channel 9 + 9 + 1 + read-only + + + BUSYCH10 + Busy Channel 10 + 10 + 1 + read-only + + + BUSYCH11 + Busy Channel 11 + 11 + 1 + read-only + + + BUSYCH12 + Busy Channel 12 + 12 + 1 + read-only + + + BUSYCH13 + Busy Channel 13 + 13 + 1 + read-only + + + BUSYCH14 + Busy Channel 14 + 14 + 1 + read-only + + + BUSYCH15 + Busy Channel 15 + 15 + 1 + read-only + + + BUSYCH16 + Busy Channel 16 + 16 + 1 + read-only + + + BUSYCH17 + Busy Channel 17 + 17 + 1 + read-only + + + BUSYCH18 + Busy Channel 18 + 18 + 1 + read-only + + + BUSYCH19 + Busy Channel 19 + 19 + 1 + read-only + + + BUSYCH20 + Busy Channel 20 + 20 + 1 + read-only + + + BUSYCH21 + Busy Channel 21 + 21 + 1 + read-only + + + BUSYCH22 + Busy Channel 22 + 22 + 1 + read-only + + + BUSYCH23 + Busy Channel 23 + 23 + 1 + read-only + + + BUSYCH24 + Busy Channel 24 + 24 + 1 + read-only + + + BUSYCH25 + Busy Channel 25 + 25 + 1 + read-only + + + BUSYCH26 + Busy Channel 26 + 26 + 1 + read-only + + + BUSYCH27 + Busy Channel 27 + 27 + 1 + read-only + + + BUSYCH28 + Busy Channel 28 + 28 + 1 + read-only + + + BUSYCH29 + Busy Channel 29 + 29 + 1 + read-only + + + BUSYCH30 + Busy Channel 30 + 30 + 1 + read-only + + + BUSYCH31 + Busy Channel 31 + 31 + 1 + read-only + + + + + PENDCH + Pending Channels + 0x2C + 32 + read-only + + + PENDCH0 + Pending Channel 0 + 0 + 1 + read-only + + + PENDCH1 + Pending Channel 1 + 1 + 1 + read-only + + + PENDCH2 + Pending Channel 2 + 2 + 1 + read-only + + + PENDCH3 + Pending Channel 3 + 3 + 1 + read-only + + + PENDCH4 + Pending Channel 4 + 4 + 1 + read-only + + + PENDCH5 + Pending Channel 5 + 5 + 1 + read-only + + + PENDCH6 + Pending Channel 6 + 6 + 1 + read-only + + + PENDCH7 + Pending Channel 7 + 7 + 1 + read-only + + + PENDCH8 + Pending Channel 8 + 8 + 1 + read-only + + + PENDCH9 + Pending Channel 9 + 9 + 1 + read-only + + + PENDCH10 + Pending Channel 10 + 10 + 1 + read-only + + + PENDCH11 + Pending Channel 11 + 11 + 1 + read-only + + + PENDCH12 + Pending Channel 12 + 12 + 1 + read-only + + + PENDCH13 + Pending Channel 13 + 13 + 1 + read-only + + + PENDCH14 + Pending Channel 14 + 14 + 1 + read-only + + + PENDCH15 + Pending Channel 15 + 15 + 1 + read-only + + + PENDCH16 + Pending Channel 16 + 16 + 1 + read-only + + + PENDCH17 + Pending Channel 17 + 17 + 1 + read-only + + + PENDCH18 + Pending Channel 18 + 18 + 1 + read-only + + + PENDCH19 + Pending Channel 19 + 19 + 1 + read-only + + + PENDCH20 + Pending Channel 20 + 20 + 1 + read-only + + + PENDCH21 + Pending Channel 21 + 21 + 1 + read-only + + + PENDCH22 + Pending Channel 22 + 22 + 1 + read-only + + + PENDCH23 + Pending Channel 23 + 23 + 1 + read-only + + + PENDCH24 + Pending Channel 24 + 24 + 1 + read-only + + + PENDCH25 + Pending Channel 25 + 25 + 1 + read-only + + + PENDCH26 + Pending Channel 26 + 26 + 1 + read-only + + + PENDCH27 + Pending Channel 27 + 27 + 1 + read-only + + + PENDCH28 + Pending Channel 28 + 28 + 1 + read-only + + + PENDCH29 + Pending Channel 29 + 29 + 1 + read-only + + + PENDCH30 + Pending Channel 30 + 30 + 1 + read-only + + + PENDCH31 + Pending Channel 31 + 31 + 1 + read-only + + + + + ACTIVE + Active Channel and Levels + 0x30 + 32 + read-only + + + LVLEX0 + Level 0 Channel Trigger Request Executing + 0 + 1 + read-only + + + LVLEX1 + Level 1 Channel Trigger Request Executing + 1 + 1 + read-only + + + LVLEX2 + Level 2 Channel Trigger Request Executing + 2 + 1 + read-only + + + LVLEX3 + Level 3 Channel Trigger Request Executing + 3 + 1 + read-only + + + ID + Active Channel ID + 8 + 5 + read-only + + + ABUSY + Active Channel Busy + 15 + 1 + read-only + + + BTCNT + Active Channel Block Transfer Count + 16 + 16 + read-only + + + + + BASEADDR + Descriptor Memory Section Base Address + 0x34 + 32 + + + BASEADDR + Descriptor Memory Base Address + 0 + 32 + + + + + WRBADDR + Write-Back Memory Section Base Address + 0x38 + 32 + + + WRBADDR + Write-Back Memory Base Address + 0 + 32 + + + + + 32 + 0x10 + CHCTRLA%s + Channel n Control A + 0x40 + 32 + + + SWRST + Channel Software Reset + 0 + 1 + + + ENABLE + Channel Enable + 1 + 1 + + + RUNSTDBY + Channel Run in Standby + 6 + 1 + + + TRIGSRC + Trigger Source + 8 + 7 + + TRIGSRCSelect + + DISABLE + Only software/event triggers + 0x0 + + + + + TRIGACT + Trigger Action + 20 + 2 + + TRIGACTSelect + + BLOCK + One trigger required for each block transfer + 0x0 + + + BURST + One trigger required for each burst transfer + 0x2 + + + TRANSACTION + One trigger required for each transaction + 0x3 + + + + + BURSTLEN + Burst Length + 24 + 4 + + BURSTLENSelect + + SINGLE + Single-beat burst length + 0x0 + + + 2BEAT + 2-beats burst length + 0x1 + + + 3BEAT + 3-beats burst length + 0x2 + + + 4BEAT + 4-beats burst length + 0x3 + + + 5BEAT + 5-beats burst length + 0x4 + + + 6BEAT + 6-beats burst length + 0x5 + + + 7BEAT + 7-beats burst length + 0x6 + + + 8BEAT + 8-beats burst length + 0x7 + + + 9BEAT + 9-beats burst length + 0x8 + + + 10BEAT + 10-beats burst length + 0x9 + + + 11BEAT + 11-beats burst length + 0xa + + + 12BEAT + 12-beats burst length + 0xb + + + 13BEAT + 13-beats burst length + 0xc + + + 14BEAT + 14-beats burst length + 0xd + + + 15BEAT + 15-beats burst length + 0xe + + + 16BEAT + 16-beats burst length + 0xf + + + + + THRESHOLD + FIFO Threshold + 28 + 2 + + THRESHOLDSelect + + 1BEAT + Destination write starts after each beat source address read + 0x0 + + + 2BEATS + Destination write starts after 2-beats source address read + 0x1 + + + 4BEATS + Destination write starts after 4-beats source address read + 0x2 + + + 8BEATS + Destination write starts after 8-beats source address read + 0x3 + + + + + + + 32 + 0x10 + CHCTRLB%s + Channel n Control B + 0x44 + 8 + + + CMD + Software Command + 0 + 2 + + CMDSelect + + NOACT + No action + 0x0 + + + SUSPEND + Channel suspend operation + 0x1 + + + RESUME + Channel resume operation + 0x2 + + + + + + + 32 + 0x10 + CHPRILVL%s + Channel n Priority Level + 0x45 + 8 + + + PRILVL + Channel Priority Level + 0 + 2 + + PRILVLSelect + + LVL0 + Channel Priority Level 0 (Lowest Level) + 0x0 + + + LVL1 + Channel Priority Level 1 + 0x1 + + + LVL2 + Channel Priority Level 2 + 0x2 + + + LVL3 + Channel Priority Level 3 + 0x3 + + + LVL4 + Channel Priority Level 4 + 0x4 + + + LVL5 + Channel Priority Level 5 + 0x5 + + + LVL6 + Channel Priority Level 6 + 0x6 + + + LVL7 + Channel Priority Level 7 (Highest Level) + 0x7 + + + + + + + 32 + 0x10 + CHEVCTRL%s + Channel n Event Control + 0x46 + 8 + + + EVACT + Channel Event Input Action + 0 + 3 + + EVACTSelect + + NOACT + No action + 0x0 + + + TRIG + Transfer and periodic transfer trigger + 0x1 + + + CTRIG + Conditional transfer trigger + 0x2 + + + CBLOCK + Conditional block transfer + 0x3 + + + SUSPEND + Channel suspend operation + 0x4 + + + RESUME + Channel resume operation + 0x5 + + + SSKIP + Skip next block suspend action + 0x6 + + + INCPRI + Increase priority + 0x7 + + + + + EVOMODE + Channel Event Output Mode + 4 + 2 + + EVOMODESelect + + DEFAULT + Block event output selection. Refer to BTCTRL.EVOSEL for available selections. + 0x0 + + + TRIGACT + Ongoing trigger action + 0x1 + + + + + EVIE + Channel Event Input Enable + 6 + 1 + + + EVOE + Channel Event Output Enable + 7 + 1 + + + + + 32 + 0x10 + CHINTENCLR%s + Channel n Interrupt Enable Clear + 0x4C + 8 + + + TERR + Channel Transfer Error Interrupt Enable + 0 + 1 + + + TCMPL + Channel Transfer Complete Interrupt Enable + 1 + 1 + + + SUSP + Channel Suspend Interrupt Enable + 2 + 1 + + + + + 32 + 0x10 + CHINTENSET%s + Channel n Interrupt Enable Set + 0x4D + 8 + + + TERR + Channel Transfer Error Interrupt Enable + 0 + 1 + + + TCMPL + Channel Transfer Complete Interrupt Enable + 1 + 1 + + + SUSP + Channel Suspend Interrupt Enable + 2 + 1 + + + + + 32 + 0x10 + CHINTFLAG%s + Channel n Interrupt Flag Status and Clear + 0x4E + 8 + + + TERR + Channel Transfer Error + 0 + 1 + + + TCMPL + Channel Transfer Complete + 1 + 1 + + + SUSP + Channel Suspend + 2 + 1 + + + + + 32 + 0x10 + CHSTATUS%s + Channel n Status + 0x4F + 8 + + + PEND + Channel Pending + 0 + 1 + read-only + + + BUSY + Channel Busy + 1 + 1 + read-only + + + FERR + Channel Fetch Error + 2 + 1 + read-only + + + CRCERR + Channel CRC Error + 3 + 1 + + + + + + + DSU + 1.0.0 + Device Service Unit + DSU + DSU_ + 0x41002000 + + 0 + 0x2000 + registers + + + + CTRL + Control + 0x0000 + 8 + write-only + + + SWRST + Software Reset + 0 + 1 + write-only + + + CRC + 32-bit Cyclic Redundancy Code + 2 + 1 + write-only + + + MBIST + Memory built-in self-test + 3 + 1 + write-only + + + CE + Chip-Erase + 4 + 1 + write-only + + + ARR + Auxiliary Row Read + 6 + 1 + write-only + + + SMSA + Start Memory Stream Access + 7 + 1 + write-only + + + + + STATUSA + Status A + 0x0001 + 8 + + + DONE + Done + 0 + 1 + + + CRSTEXT + CPU Reset Phase Extension + 1 + 1 + + + BERR + Bus Error + 2 + 1 + + + FAIL + Failure + 3 + 1 + + + PERR + Protection Error + 4 + 1 + + + + + STATUSB + Status B + 0x0002 + 8 + read-only + + + PROT + Protected + 0 + 1 + read-only + + + DBGPRES + Debugger Present + 1 + 1 + read-only + + + DCCD0 + Debug Communication Channel 0 Dirty + 2 + 1 + read-only + + + DCCD1 + Debug Communication Channel 1 Dirty + 3 + 1 + read-only + + + HPE + Hot-Plugging Enable + 4 + 1 + read-only + + + CELCK + Chip Erase Locked + 5 + 1 + read-only + + + TDCCD0 + Test Debug Communication Channel 0 Dirty + 6 + 1 + read-only + + + TDCCD1 + Test Debug Communication Channel 1 Dirty + 7 + 1 + read-only + + + + + ADDR + Address + 0x0004 + 32 + + + AMOD + Access Mode + 0 + 2 + + + ADDR + Address + 2 + 30 + + + + + LENGTH + Length + 0x0008 + 32 + + + LENGTH + Length + 2 + 30 + + + + + DATA + Data + 0x000C + 32 + + + DATA + Data + 0 + 32 + + + + + 2 + 0x4 + DCC%s + Debug Communication Channel n + 0x0010 + 32 + + + DATA + Data + 0 + 32 + + + + + DID + Device Identification + 0x0018 + 32 + read-only + 0x61840002 + + + DEVSEL + Device Select + 0 + 8 + read-only + + + REVISION + Revision Number + 8 + 4 + read-only + + + DIE + Die Number + 12 + 4 + read-only + + + SERIES + Series + 16 + 6 + read-only + + SERIESSelect + + 0 + Cortex-M0+ processor, basic feature set + 0x0 + + + 1 + Cortex-M0+ processor, USB + 0x1 + + + + + FAMILY + Family + 23 + 5 + read-only + + FAMILYSelect + + 0 + General purpose microcontroller + 0x0 + + + 1 + PicoPower + 0x1 + + + + + PROCESSOR + Processor + 28 + 4 + read-only + + PROCESSORSelect + + CM0P + Cortex-M0+ + 0x1 + + + CM23 + Cortex-M23 + 0x2 + + + CM3 + Cortex-M3 + 0x3 + + + CM4 + Cortex-M4 + 0x5 + + + CM4F + Cortex-M4 with FPU + 0x6 + + + CM33 + Cortex-M33 + 0x7 + + + + + + + CFG + Configuration + 0x001C + 32 + 0x00000002 + + + LQOS + Latency Quality Of Service + 0 + 2 + + + DCCDMALEVEL + DMA Trigger Level + 2 + 2 + + DCCDMALEVELSelect + + EMPTY + Trigger rises when DCC is empty + 0x0 + + + FULL + Trigger rises when DCC is full + 0x1 + + + + + ETBRAMEN + Trace Control + 4 + 1 + + + + + MBCTRL + MBIST Control + 0x0040 + 32 + + + SWRST + MBIST Software Reset + 0 + 1 + + + ENABLE + MBIST Enable + 1 + 1 + + + + + MBCONFIG + MBIST Configuration + 0x0044 + 32 + + + ALGO + MBIST Algorithm + 0 + 5 + + ALGOSelect + + MEMCLEAR + Memory Clear (1n) + 0x0 + + + VERIFY + Memory Verify (1n) + 0x1 + + + CLEARVER + Memory Clear and Verify (2n) + 0x2 + + + ADDR_DEC + Address Decoder (2n) + 0x3 + + + MARCH_LR + March LR (14n) + 0x4 + + + MARCH_SR + March SR (14n) + 0x5 + + + MARCH_SS + March SS (22n) + 0x6 + + + CRC_UP + CRC increasing address (1n) + 0x8 + + + CRC_DOWN + CRC decreasing address (1n) + 0x9 + + + + + DEFRDMARGIN + Force Default Read Margin + 6 + 1 + + + DBG + Enable Debug Mode + 7 + 1 + + + + + MBWORD + MBIST Background Word + 0x0048 + 32 + + + DATA + MBIST Background Word + 0 + 32 + + + + + MBGSTAT + MBIST Global Status + 0x004C + 32 + + + ALLDONE + MBIST Completed + 0 + 1 + + + FAILED + MBIST Failed + 1 + 1 + + + ERRINFO + MBIST Error Info Present + 2 + 1 + + + CONFIGURED + MBIST Configuration Sent + 3 + 1 + + + + + MBDFAIL + MBIST Fail Data + 0x0050 + 32 + read-only + + + DATA + Error Data Read + 0 + 32 + + + + + MBDEXP + MBIST Expected Data + 0x0054 + 32 + read-only + + + DATA + Expected Data + 0 + 32 + + + + + MBAFAIL + MBIST Fail Address + 0x0058 + 32 + read-only + + + ADDR + Error Address + 0 + 14 + + + + + MBCONTEXT + MBIST Fail Context + 0x005C + 32 + read-only + + + SUBSTEP + Algorithm Sub-step + 0 + 5 + + SUBSTEPSelect + + R0_1 + 0x1 + + + R1_1 + 0x3 + + + R0_2 + 0x5 + + + R1_2 + 0x7 + + + R0_3 + 0x9 + + + R1_3 + 0xb + + + + + STEP + Algorithm Step + 5 + 5 + + STEPSelect + + DOWN_R0W1 + 0x2 + + + UP_R1W0R0W1 + 0x3 + + + UP_R1W0 + 0x4 + + + UP_R0W1R1W0 + 0x5 + + + UP_R0 + 0x6 + + + UP_R0R0W0R0W1 + 0x7 + + + UP_R1R1W1R1W0 + 0x8 + + + DOWN_R0R0W0R0W1 + 0x9 + + + DOWN_R1R1W1R1W0 + 0xa + + + UP_R0R0 + 0xc + + + DOWN_R1W0R0W1 + 0xe + + + DOWN_R1R1 + 0xf + + + + + PORT + DPRAM Port Index + 10 + 1 + + + + + MBENABLE0 + MBIST Memory Enable 0 + 0x0060 + 32 + + + ENABLE0 + Memory 0 MBIST Enable + 0 + 1 + + + ENABLE1 + Memory 1 MBIST Enable + 1 + 1 + + + ENABLE2 + Memory 2 MBIST Enable + 2 + 1 + + + ENABLE3 + Memory 3 MBIST Enable + 3 + 1 + + + ENABLE4 + Memory 4 MBIST Enable + 4 + 1 + + + ENABLE5 + Memory 5 MBIST Enable + 5 + 1 + + + ENABLE6 + Memory 6 MBIST Enable + 6 + 1 + + + ENABLE7 + Memory 7 MBIST Enable + 7 + 1 + + + ENABLE8 + Memory 8 MBIST Enable + 8 + 1 + + + ENABLE9 + Memory 9 MBIST Enable + 9 + 1 + + + ENABLE10 + Memory 10 MBIST Enable + 10 + 1 + + + ENABLE11 + Memory 11 MBIST Enable + 11 + 1 + + + ENABLE12 + Memory 12 MBIST Enable + 12 + 1 + + + ENABLE13 + Memory 13 MBIST Enable + 13 + 1 + + + ENABLE14 + Memory 14 MBIST Enable + 14 + 1 + + + ENABLE15 + Memory 15 MBIST Enable + 15 + 1 + + + ENABLE16 + Memory 16 MBIST Enable + 16 + 1 + + + ENABLE17 + Memory 17 MBIST Enable + 17 + 1 + + + ENABLE18 + Memory 18 MBIST Enable + 18 + 1 + + + ENABLE19 + Memory 19 MBIST Enable + 19 + 1 + + + ENABLE20 + Memory 20 MBIST Enable + 20 + 1 + + + ENABLE21 + Memory 21 MBIST Enable + 21 + 1 + + + ENABLE22 + Memory 22 MBIST Enable + 22 + 1 + + + ENABLE23 + Memory 23 MBIST Enable + 23 + 1 + + + ENABLE24 + Memory 24 MBIST Enable + 24 + 1 + + + ENABLE25 + Memory 25 MBIST Enable + 25 + 1 + + + ENABLE26 + Memory 26 MBIST Enable + 26 + 1 + + + ENABLE27 + Memory 27 MBIST Enable + 27 + 1 + + + ENABLE28 + Memory 28 MBIST Enable + 28 + 1 + + + + + MBBUSY0 + MBIST Memory Busy 0 + 0x0068 + 32 + read-only + + + BUSY0 + Memory 0 BIST Busy + 0 + 1 + + + BUSY1 + Memory 1 BIST Busy + 1 + 1 + + + BUSY2 + Memory 2 BIST Busy + 2 + 1 + + + BUSY3 + Memory 3 BIST Busy + 3 + 1 + + + BUSY4 + Memory 4 BIST Busy + 4 + 1 + + + BUSY5 + Memory 5 BIST Busy + 5 + 1 + + + BUSY6 + Memory 6 BIST Busy + 6 + 1 + + + BUSY7 + Memory 7 BIST Busy + 7 + 1 + + + BUSY8 + Memory 8 BIST Busy + 8 + 1 + + + BUSY9 + Memory 9 BIST Busy + 9 + 1 + + + BUSY10 + Memory 10 BIST Busy + 10 + 1 + + + BUSY11 + Memory 11 BIST Busy + 11 + 1 + + + BUSY12 + Memory 12 BIST Busy + 12 + 1 + + + BUSY13 + Memory 13 BIST Busy + 13 + 1 + + + BUSY14 + Memory 14 BIST Busy + 14 + 1 + + + BUSY15 + Memory 15 BIST Busy + 15 + 1 + + + BUSY16 + Memory 16 BIST Busy + 16 + 1 + + + BUSY17 + Memory 17 BIST Busy + 17 + 1 + + + BUSY18 + Memory 18 BIST Busy + 18 + 1 + + + BUSY19 + Memory 19 BIST Busy + 19 + 1 + + + BUSY20 + Memory 20 BIST Busy + 20 + 1 + + + BUSY21 + Memory 21 BIST Busy + 21 + 1 + + + BUSY22 + Memory 22 BIST Busy + 22 + 1 + + + BUSY23 + Memory 23 BIST Busy + 23 + 1 + + + BUSY24 + Memory 24 BIST Busy + 24 + 1 + + + BUSY25 + Memory 25 BIST Busy + 25 + 1 + + + BUSY26 + Memory 26 BIST Busy + 26 + 1 + + + BUSY27 + Memory 27 BIST Busy + 27 + 1 + + + BUSY28 + Memory 28 BIST Busy + 28 + 1 + + + + + MBSTATUS0 + MBIST Memory Status 0 + 0x0070 + 32 + + + STATUS0 + Memory 0 MBIST Status + 0 + 1 + + + STATUS1 + Memory 1 MBIST Status + 1 + 1 + + + STATUS2 + Memory 2 MBIST Status + 2 + 1 + + + STATUS3 + Memory 3 MBIST Status + 3 + 1 + + + STATUS4 + Memory 4 MBIST Status + 4 + 1 + + + STATUS5 + Memory 5 MBIST Status + 5 + 1 + + + STATUS6 + Memory 6 MBIST Status + 6 + 1 + + + STATUS7 + Memory 7 MBIST Status + 7 + 1 + + + STATUS8 + Memory 8 MBIST Status + 8 + 1 + + + STATUS9 + Memory 9 MBIST Status + 9 + 1 + + + STATUS10 + Memory 10 MBIST Status + 10 + 1 + + + STATUS11 + Memory 11 MBIST Status + 11 + 1 + + + STATUS12 + Memory 12 MBIST Status + 12 + 1 + + + STATUS13 + Memory 13 MBIST Status + 13 + 1 + + + STATUS14 + Memory 14 MBIST Status + 14 + 1 + + + STATUS15 + Memory 15 MBIST Status + 15 + 1 + + + STATUS16 + Memory 16 MBIST Status + 16 + 1 + + + STATUS17 + Memory 17 MBIST Status + 17 + 1 + + + STATUS18 + Memory 18 MBIST Status + 18 + 1 + + + STATUS19 + Memory 19 MBIST Status + 19 + 1 + + + STATUS20 + Memory 20 MBIST Status + 20 + 1 + + + STATUS21 + Memory 21 MBIST Status + 21 + 1 + + + STATUS22 + Memory 22 MBIST Status + 22 + 1 + + + STATUS23 + Memory 23 MBIST Status + 23 + 1 + + + STATUS24 + Memory 24 MBIST Status + 24 + 1 + + + STATUS25 + Memory 25 MBIST Status + 25 + 1 + + + STATUS26 + Memory 26 MBIST Status + 26 + 1 + + + STATUS27 + Memory 27 MBIST Status + 27 + 1 + + + STATUS28 + Memory 28 MBIST Status + 28 + 1 + + + + + 2 + 0x4 + DCFG%s + Device Configuration + 0x00F0 + 32 + + + DCFG + Device Configuration + 0 + 32 + + + + + ENTRY0 + CoreSight ROM Table Entry 0 + 0x1000 + 32 + read-only + 0x9F0FC002 + + + EPRES + Entry Present + 0 + 1 + + + FMT + Format + 1 + 1 + read-only + + + ADDOFF + Address Offset + 12 + 20 + read-only + + + + + ENTRY1 + CoreSight ROM Table Entry 1 + 0x1004 + 32 + read-only + + + END + CoreSight ROM Table End + 0x1008 + 32 + read-only + + + END + End Marker + 0 + 32 + + + + + MEMTYPE + CoreSight ROM Table Memory Type + 0x1FCC + 32 + read-only + + + SMEMP + System Memory Present + 0 + 1 + + + + + PID4 + Peripheral Identification 4 + 0x1FD0 + 32 + read-only + + + JEPCC + JEP-106 Continuation Code + 0 + 4 + + + FKBC + 4KB count + 4 + 4 + read-only + + + + + PID5 + Peripheral Identification 5 + 0x1FD4 + 32 + read-only + + + PID6 + Peripheral Identification 6 + 0x1FD8 + 32 + read-only + + + PID7 + Peripheral Identification 7 + 0x1FDC + 32 + read-only + + + PID0 + Peripheral Identification 0 + 0x1FE0 + 32 + read-only + 0x000000D0 + + + PARTNBL + Part Number Low + 0 + 8 + + + + + PID1 + Peripheral Identification 1 + 0x1FE4 + 32 + read-only + 0x000000FC + + + PARTNBH + Part Number High + 0 + 4 + + + JEPIDCL + Low part of the JEP-106 Identity Code + 4 + 4 + read-only + + + + + PID2 + Peripheral Identification 2 + 0x1FE8 + 32 + read-only + 0x00000009 + + + JEPIDCH + JEP-106 Identity Code High + 0 + 3 + + + JEPU + JEP-106 Identity Code is used + 3 + 1 + read-only + + + REVISION + Revision Number + 4 + 4 + read-only + + + + + PID3 + Peripheral Identification 3 + 0x1FEC + 32 + read-only + + + CUSMOD + ARM CUSMOD + 0 + 4 + + + REVAND + Revision Number + 4 + 4 + read-only + + + + + CID0 + Component Identification 0 + 0x1FF0 + 32 + read-only + 0x0000000D + + + PREAMBLEB0 + Preamble Byte 0 + 0 + 8 + read-only + + + + + CID1 + Component Identification 1 + 0x1FF4 + 32 + read-only + 0x00000010 + + + PREAMBLE + Preamble + 0 + 4 + read-only + + + CCLASS + Component Class + 4 + 4 + read-only + + + + + CID2 + Component Identification 2 + 0x1FF8 + 32 + read-only + 0x00000005 + + + PREAMBLEB2 + Preamble Byte 2 + 0 + 8 + read-only + + + + + CID3 + Component Identification 3 + 0x1FFC + 32 + read-only + 0x000000B1 + + + PREAMBLEB3 + Preamble Byte 3 + 0 + 8 + + + + + + + EIC + 3.0.0 + External Interrupt Controller + EIC + EIC_ + 0x40002800 + + 0 + 0x40 + registers + + + EIC_INTREQ_0 + 12 + + + EIC_INTREQ_1 + 13 + + + EIC_INTREQ_2 + 14 + + + EIC_INTREQ_3 + 15 + + + EIC_INTREQ_4 + 16 + + + EIC_INTREQ_5 + 17 + + + EIC_INTREQ_6 + 18 + + + EIC_INTREQ_7 + 19 + + + EIC_INTREQ_8 + 20 + + + EIC_INTREQ_9 + 21 + + + EIC_INTREQ_10 + 22 + + + EIC_INTREQ_11 + 23 + + + EIC_INTREQ_12 + 24 + + + EIC_INTREQ_13 + 25 + + + EIC_INTREQ_14 + 26 + + + EIC_INTREQ_15 + 27 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + CKSEL + Clock Selection + 4 + 1 + + + + + NMICTRL + Non-Maskable Interrupt Control + 0x01 + 8 + + + NMISENSE + Non-Maskable Interrupt Sense Configuration + 0 + 3 + + NMISENSESelect + + NONE + No detection + 0x0 + + + RISE + Rising-edge detection + 0x1 + + + FALL + Falling-edge detection + 0x2 + + + BOTH + Both-edges detection + 0x3 + + + HIGH + High-level detection + 0x4 + + + LOW + Low-level detection + 0x5 + + + + + NMIFILTEN + Non-Maskable Interrupt Filter Enable + 3 + 1 + + + NMIASYNCH + Asynchronous Edge Detection Mode + 4 + 1 + + + + + NMIFLAG + Non-Maskable Interrupt Flag Status and Clear + 0x02 + 16 + + + NMI + Non-Maskable Interrupt + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x04 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy Status + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy Status + 1 + 1 + read-only + + + + + EVCTRL + Event Control + 0x08 + 32 + + + EXTINTEO + External Interrupt Event Output Enable + 0 + 16 + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 32 + + + EXTINT + External Interrupt Enable + 0 + 16 + + + + + INTENSET + Interrupt Enable Set + 0x10 + 32 + + + EXTINT + External Interrupt Enable + 0 + 16 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x14 + 32 + + + EXTINT + External Interrupt + 0 + 16 + + + + + ASYNCH + External Interrupt Asynchronous Mode + 0x18 + 32 + + + ASYNCH + Asynchronous Edge Detection Mode + 0 + 16 + + + + + 2 + 0x4 + CONFIG%s + External Interrupt Sense Configuration + 0x1C + 32 + + + SENSE0 + Input Sense Configuration 0 + 0 + 3 + + SENSE0Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN0 + Filter Enable 0 + 3 + 1 + + + SENSE1 + Input Sense Configuration 1 + 4 + 3 + + SENSE1Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN1 + Filter Enable 1 + 7 + 1 + + + SENSE2 + Input Sense Configuration 2 + 8 + 3 + + SENSE2Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN2 + Filter Enable 2 + 11 + 1 + + + SENSE3 + Input Sense Configuration 3 + 12 + 3 + + SENSE3Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN3 + Filter Enable 3 + 15 + 1 + + + SENSE4 + Input Sense Configuration 4 + 16 + 3 + + SENSE4Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN4 + Filter Enable 4 + 19 + 1 + + + SENSE5 + Input Sense Configuration 5 + 20 + 3 + + SENSE5Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN5 + Filter Enable 5 + 23 + 1 + + + SENSE6 + Input Sense Configuration 6 + 24 + 3 + + SENSE6Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN6 + Filter Enable 6 + 27 + 1 + + + SENSE7 + Input Sense Configuration 7 + 28 + 3 + + SENSE7Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN7 + Filter Enable 7 + 31 + 1 + + + + + DEBOUNCEN + Debouncer Enable + 0x30 + 32 + + + DEBOUNCEN + Debouncer Enable + 0 + 16 + + + + + DPRESCALER + Debouncer Prescaler + 0x34 + 32 + + + PRESCALER0 + Debouncer Prescaler + 0 + 3 + + + PRESCALER1 + Debouncer Prescaler + 4 + 3 + + + STATES0 + Debouncer number of states + 3 + 1 + + + STATES1 + Debouncer number of states + 7 + 1 + + + TICKON + Pin Sampler frequency selection + 16 + 1 + + + + + PINSTATE + Pin State + 0x38 + 32 + read-only + + + PINSTATE + Pin State + 0 + 16 + read-only + + + + + + + EVSYS + 1.0.0 + Event System Interface + EVSYS + EVSYS_ + 0x4100E000 + + 0 + 0x400 + registers + + + EVSYS_INTREQ_0 + 36 + + + EVSYS_INTREQ_1 + 37 + + + EVSYS_INTREQ_2 + 38 + + + EVSYS_INTREQ_3 + 39 + + + EVSYS_INTREQ_4 + 40 + + + + CTRLA + Control + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + + + SWEVT + Software Event + 0x004 + 32 + write-only + + + CHANNEL0 + Channel 0 Software Selection + 0 + 1 + write-only + + + CHANNEL1 + Channel 1 Software Selection + 1 + 1 + write-only + + + CHANNEL2 + Channel 2 Software Selection + 2 + 1 + write-only + + + CHANNEL3 + Channel 3 Software Selection + 3 + 1 + write-only + + + CHANNEL4 + Channel 4 Software Selection + 4 + 1 + write-only + + + CHANNEL5 + Channel 5 Software Selection + 5 + 1 + write-only + + + CHANNEL6 + Channel 6 Software Selection + 6 + 1 + write-only + + + CHANNEL7 + Channel 7 Software Selection + 7 + 1 + write-only + + + CHANNEL8 + Channel 8 Software Selection + 8 + 1 + write-only + + + CHANNEL9 + Channel 9 Software Selection + 9 + 1 + write-only + + + CHANNEL10 + Channel 10 Software Selection + 10 + 1 + write-only + + + CHANNEL11 + Channel 11 Software Selection + 11 + 1 + write-only + + + CHANNEL12 + Channel 12 Software Selection + 12 + 1 + write-only + + + CHANNEL13 + Channel 13 Software Selection + 13 + 1 + write-only + + + CHANNEL14 + Channel 14 Software Selection + 14 + 1 + write-only + + + CHANNEL15 + Channel 15 Software Selection + 15 + 1 + write-only + + + CHANNEL16 + Channel 16 Software Selection + 16 + 1 + write-only + + + CHANNEL17 + Channel 17 Software Selection + 17 + 1 + write-only + + + CHANNEL18 + Channel 18 Software Selection + 18 + 1 + write-only + + + CHANNEL19 + Channel 19 Software Selection + 19 + 1 + write-only + + + CHANNEL20 + Channel 20 Software Selection + 20 + 1 + write-only + + + CHANNEL21 + Channel 21 Software Selection + 21 + 1 + write-only + + + CHANNEL22 + Channel 22 Software Selection + 22 + 1 + write-only + + + CHANNEL23 + Channel 23 Software Selection + 23 + 1 + write-only + + + CHANNEL24 + Channel 24 Software Selection + 24 + 1 + write-only + + + CHANNEL25 + Channel 25 Software Selection + 25 + 1 + write-only + + + CHANNEL26 + Channel 26 Software Selection + 26 + 1 + write-only + + + CHANNEL27 + Channel 27 Software Selection + 27 + 1 + write-only + + + CHANNEL28 + Channel 28 Software Selection + 28 + 1 + write-only + + + CHANNEL29 + Channel 29 Software Selection + 29 + 1 + write-only + + + CHANNEL30 + Channel 30 Software Selection + 30 + 1 + write-only + + + CHANNEL31 + Channel 31 Software Selection + 31 + 1 + write-only + + + + + PRICTRL + Priority Control + 0x008 + 8 + + + PRI + Channel Priority Number + 0 + 4 + + + RREN + Round-Robin Scheduling Enable + 7 + 1 + + + + + INTPEND + Channel Pending Interrupt + 0x010 + 16 + 0x4000 + + + ID + Channel ID + 0 + 4 + + + OVR + Channel Overrun + 8 + 1 + + + EVD + Channel Event Detected + 9 + 1 + + + READY + Ready + 14 + 1 + read-only + + + BUSY + Busy + 15 + 1 + read-only + + + + + INTSTATUS + Interrupt Status + 0x014 + 32 + read-only + + + CHINT0 + Channel 0 Pending Interrupt + 0 + 1 + read-only + + + CHINT1 + Channel 1 Pending Interrupt + 1 + 1 + read-only + + + CHINT2 + Channel 2 Pending Interrupt + 2 + 1 + read-only + + + CHINT3 + Channel 3 Pending Interrupt + 3 + 1 + read-only + + + CHINT4 + Channel 4 Pending Interrupt + 4 + 1 + read-only + + + CHINT5 + Channel 5 Pending Interrupt + 5 + 1 + read-only + + + CHINT6 + Channel 6 Pending Interrupt + 6 + 1 + read-only + + + CHINT7 + Channel 7 Pending Interrupt + 7 + 1 + read-only + + + CHINT8 + Channel 8 Pending Interrupt + 8 + 1 + read-only + + + CHINT9 + Channel 9 Pending Interrupt + 9 + 1 + read-only + + + CHINT10 + Channel 10 Pending Interrupt + 10 + 1 + read-only + + + CHINT11 + Channel 11 Pending Interrupt + 11 + 1 + read-only + + + + + BUSYCH + Busy Channels + 0x018 + 32 + read-only + + + BUSYCH0 + Busy Channel 0 + 0 + 1 + + + BUSYCH1 + Busy Channel 1 + 1 + 1 + + + BUSYCH2 + Busy Channel 2 + 2 + 1 + + + BUSYCH3 + Busy Channel 3 + 3 + 1 + + + BUSYCH4 + Busy Channel 4 + 4 + 1 + + + BUSYCH5 + Busy Channel 5 + 5 + 1 + + + BUSYCH6 + Busy Channel 6 + 6 + 1 + + + BUSYCH7 + Busy Channel 7 + 7 + 1 + + + BUSYCH8 + Busy Channel 8 + 8 + 1 + + + BUSYCH9 + Busy Channel 9 + 9 + 1 + + + BUSYCH10 + Busy Channel 10 + 10 + 1 + + + BUSYCH11 + Busy Channel 11 + 11 + 1 + + + + + READYUSR + Ready Users + 0x01C + 32 + read-only + 0xFFFFFFFF + + + READYUSR0 + Ready User for Channel 0 + 0 + 1 + read-only + + + READYUSR1 + Ready User for Channel 1 + 1 + 1 + read-only + + + READYUSR2 + Ready User for Channel 2 + 2 + 1 + read-only + + + READYUSR3 + Ready User for Channel 3 + 3 + 1 + read-only + + + READYUSR4 + Ready User for Channel 4 + 4 + 1 + read-only + + + READYUSR5 + Ready User for Channel 5 + 5 + 1 + read-only + + + READYUSR6 + Ready User for Channel 6 + 6 + 1 + read-only + + + READYUSR7 + Ready User for Channel 7 + 7 + 1 + read-only + + + READYUSR8 + Ready User for Channel 8 + 8 + 1 + read-only + + + READYUSR9 + Ready User for Channel 9 + 9 + 1 + read-only + + + READYUSR10 + Ready User for Channel 10 + 10 + 1 + read-only + + + READYUSR11 + Ready User for Channel 11 + 11 + 1 + read-only + + + + + 32 + 0x8 + CHANNEL%s + Channel n Control + 0x020 + 32 + 0x00008000 + + + EVGEN + Event Generator Selection + 0 + 7 + + + PATH + Path Selection + 8 + 2 + + PATHSelect + + SYNCHRONOUS + Synchronous path + 0x0 + + + RESYNCHRONIZED + Resynchronized path + 0x1 + + + ASYNCHRONOUS + Asynchronous path + 0x2 + + + + + EDGSEL + Edge Detection Selection + 10 + 2 + + EDGSELSelect + + NO_EVT_OUTPUT + No event output when using the resynchronized or synchronous path + 0x0 + + + RISING_EDGE + Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path + 0x1 + + + FALLING_EDGE + Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path + 0x2 + + + BOTH_EDGES + Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path + 0x3 + + + + + RUNSTDBY + Run in standby + 14 + 1 + + + ONDEMAND + Generic Clock On Demand + 15 + 1 + + + + + 32 + 0x8 + CHINTENCLR%s + Channel n Interrupt Enable Clear + 0x024 + 8 + + + OVR + Channel Overrun Interrupt Disable + 0 + 1 + + + EVD + Channel Event Detected Interrupt Disable + 1 + 1 + + + + + 32 + 0x8 + CHINTENSET%s + Channel n Interrupt Enable Set + 0x025 + 8 + + + OVR + Channel Overrun Interrupt Enable + 0 + 1 + + + EVD + Channel Event Detected Interrupt Enable + 1 + 1 + + + + + 32 + 0x8 + CHINTFLAG%s + Channel n Interrupt Flag Status and Clear + 0x026 + 8 + + + OVR + Channel Overrun + 0 + 1 + + + EVD + Channel Event Detected + 1 + 1 + + + + + 32 + 0x8 + CHSTATUS%s + Channel n Status + 0x027 + 8 + read-only + 0x01 + + + RDYUSR + Ready User + 0 + 1 + read-only + + + BUSYCH + Busy Channel + 1 + 1 + read-only + + + + + 67 + 0x4 + USER%s + User Multiplexer n + 0x120 + 32 + + + CHANNEL + Channel Event Selection + 0 + 6 + + + + + + + FREQM + 1.1.0 + Frequency Meter + FREQM + FREQM_ + 0x40002C00 + + 0 + 0x20 + registers + + + FREQM_INTREQ + 28 + + + + CTRLA + Control A Register + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + + + CTRLB + Control B Register + 0x01 + 8 + write-only + + + START + Start Measurement + 0 + 1 + write-only + + + + + CFGA + Config A register + 0x02 + 16 + + + REFNUM + Number of Reference Clock Cycles + 0 + 8 + + + + + INTENCLR + Interrupt Enable Clear Register + 0x08 + 8 + + + DONE + Measurement Done Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set Register + 0x09 + 8 + + + DONE + Measurement Done Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Register + 0x0A + 8 + + + DONE + Measurement Done + 0 + 1 + + + + + STATUS + Status Register + 0x0B + 8 + + + BUSY + FREQM Status + 0 + 1 + read-only + + + OVF + Sticky Count Value Overflow + 1 + 1 + + + + + SYNCBUSY + Synchronization Busy Register + 0x0C + 32 + read-only + + + SWRST + Software Reset + 0 + 1 + read-only + + + ENABLE + Enable + 1 + 1 + read-only + + + + + VALUE + Count Value Register + 0x10 + 32 + read-only + + + VALUE + Measurement Value + 0 + 24 + read-only + + + + + + + GCLK + 1.2.0 + Generic Clock Generator + GCLK + GCLK_ + 0x40001C00 + + 0 + 0x400 + registers + + + + CTRLA + Control + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x04 + 32 + read-only + + + SWRST + Software Reset Synchroniation Busy bit + 0 + 1 + read-only + + + GENCTRL0 + Generic Clock Generator Control 0 Synchronization Busy bits + 2 + 1 + read-only + + GENCTRL0Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL1 + Generic Clock Generator Control 1 Synchronization Busy bits + 3 + 1 + read-only + + GENCTRL1Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL2 + Generic Clock Generator Control 2 Synchronization Busy bits + 4 + 1 + read-only + + GENCTRL2Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL3 + Generic Clock Generator Control 3 Synchronization Busy bits + 5 + 1 + read-only + + GENCTRL3Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL4 + Generic Clock Generator Control 4 Synchronization Busy bits + 6 + 1 + read-only + + GENCTRL4Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL5 + Generic Clock Generator Control 5 Synchronization Busy bits + 7 + 1 + read-only + + GENCTRL5Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL6 + Generic Clock Generator Control 6 Synchronization Busy bits + 8 + 1 + read-only + + GENCTRL6Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL7 + Generic Clock Generator Control 7 Synchronization Busy bits + 9 + 1 + read-only + + GENCTRL7Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL8 + Generic Clock Generator Control 8 Synchronization Busy bits + 10 + 1 + read-only + + GENCTRL8Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL9 + Generic Clock Generator Control 9 Synchronization Busy bits + 11 + 1 + read-only + + GENCTRL9Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL10 + Generic Clock Generator Control 10 Synchronization Busy bits + 12 + 1 + read-only + + GENCTRL10Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL11 + Generic Clock Generator Control 11 Synchronization Busy bits + 13 + 1 + read-only + + GENCTRL11Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + + + 12 + 0x4 + GENCTRL%s + Generic Clock Generator Control + 0x20 + 32 + + + SRC + Source Select + 0 + 4 + + SRCSelect + + XOSC0 + XOSC0 oscillator output + 0x0 + + + XOSC1 + XOSC1 oscillator output + 0x1 + + + GCLKIN + Generator input pad + 0x2 + + + GCLKGEN1 + Generic clock generator 1 output + 0x3 + + + OSCULP32K + OSCULP32K oscillator output + 0x4 + + + XOSC32K + XOSC32K oscillator output + 0x5 + + + DFLL + DFLL output + 0x6 + + + DPLL0 + DPLL0 output + 0x7 + + + DPLL1 + DPLL1 output + 0x8 + + + + + GENEN + Generic Clock Generator Enable + 8 + 1 + + + IDC + Improve Duty Cycle + 9 + 1 + + + OOV + Output Off Value + 10 + 1 + + + OE + Output Enable + 11 + 1 + + + DIVSEL + Divide Selection + 12 + 1 + + + RUNSTDBY + Run in Standby + 13 + 1 + + + DIV + Division Factor + 16 + 16 + + + + + 48 + 0x4 + PCHCTRL%s + Peripheral Clock Control + 0x80 + 32 + + + GEN + Generic Clock Generator + 0 + 4 + + GENSelect + + GCLK0 + Generic clock generator 0 + 0x0 + + + GCLK1 + Generic clock generator 1 + 0x1 + + + GCLK2 + Generic clock generator 2 + 0x2 + + + GCLK3 + Generic clock generator 3 + 0x3 + + + GCLK4 + Generic clock generator 4 + 0x4 + + + GCLK5 + Generic clock generator 5 + 0x5 + + + GCLK6 + Generic clock generator 6 + 0x6 + + + GCLK7 + Generic clock generator 7 + 0x7 + + + GCLK8 + Generic clock generator 8 + 0x8 + + + GCLK9 + Generic clock generator 9 + 0x9 + + + GCLK10 + Generic clock generator 10 + 0xa + + + GCLK11 + Generic clock generator 11 + 0xb + + + + + CHEN + Channel Enable + 6 + 1 + + + WRTLOCK + Write Lock + 7 + 1 + + + + + + + GMAC + 1.0.0 + Ethernet MAC + GMAC + GMAC_ + 0x42000800 + + 0 + 0x280 + registers + + + GMAC_INTREQ + 84 + + + + NCR + Network Control Register + 0x000 + 32 + + + LBL + Loop Back Local + 1 + 1 + + + RXEN + Receive Enable + 2 + 1 + + + TXEN + Transmit Enable + 3 + 1 + + + MPE + Management Port Enable + 4 + 1 + + + CLRSTAT + Clear Statistics Registers + 5 + 1 + + + INCSTAT + Increment Statistics Registers + 6 + 1 + + + WESTAT + Write Enable for Statistics Registers + 7 + 1 + + + BP + Back pressure + 8 + 1 + + + TSTART + Start Transmission + 9 + 1 + + + THALT + Transmit Halt + 10 + 1 + + + TXPF + Transmit Pause Frame + 11 + 1 + + + TXZQPF + Transmit Zero Quantum Pause Frame + 12 + 1 + + + SRTSM + Store Receive Time Stamp to Memory + 15 + 1 + + + ENPBPR + Enable PFC Priority-based Pause Reception + 16 + 1 + + + TXPBPF + Transmit PFC Priority-based Pause Frame + 17 + 1 + + + FNP + Flush Next Packet + 18 + 1 + + + LPI + Low Power Idle Enable + 19 + 1 + + + + + NCFGR + Network Configuration Register + 0x004 + 32 + 0x00080000 + + + SPD + Speed + 0 + 1 + + + FD + Full Duplex + 1 + 1 + + + DNVLAN + Discard Non-VLAN FRAMES + 2 + 1 + + + JFRAME + Jumbo Frame Size + 3 + 1 + + + CAF + Copy All Frames + 4 + 1 + + + NBC + No Broadcast + 5 + 1 + + + MTIHEN + Multicast Hash Enable + 6 + 1 + + + UNIHEN + Unicast Hash Enable + 7 + 1 + + + MAXFS + 1536 Maximum Frame Size + 8 + 1 + + + RTY + Retry Test + 12 + 1 + + + PEN + Pause Enable + 13 + 1 + + + RXBUFO + Receive Buffer Offset + 14 + 2 + + + LFERD + Length Field Error Frame Discard + 16 + 1 + + + RFCS + Remove FCS + 17 + 1 + + + CLK + MDC CLock Division + 18 + 3 + + + DBW + Data Bus Width + 21 + 2 + + + DCPF + Disable Copy of Pause Frames + 23 + 1 + + + RXCOEN + Receive Checksum Offload Enable + 24 + 1 + + + EFRHD + Enable Frames Received in Half Duplex + 25 + 1 + + + IRXFCS + Ignore RX FCS + 26 + 1 + + + IPGSEN + IP Stretch Enable + 28 + 1 + + + RXBP + Receive Bad Preamble + 29 + 1 + + + IRXER + Ignore IPG GRXER + 30 + 1 + + + + + NSR + Network Status Register + 0x008 + 32 + read-only + 0x00000004 + + + MDIO + MDIO Input Status + 1 + 1 + + + IDLE + PHY Management Logic Idle + 2 + 1 + + + + + UR + User Register + 0x00C + 32 + + + MII + MII Mode + 0 + 1 + + + + + DCFGR + DMA Configuration Register + 0x010 + 32 + 0x00020704 + + + FBLDO + Fixed Burst Length for DMA Data Operations: + 0 + 5 + + + ESMA + Endian Swap Mode Enable for Management Descriptor Accesses + 6 + 1 + + + ESPA + Endian Swap Mode Enable for Packet Data Accesses + 7 + 1 + + + RXBMS + Receiver Packet Buffer Memory Size Select + 8 + 2 + + + TXPBMS + Transmitter Packet Buffer Memory Size Select + 10 + 1 + + + TXCOEN + Transmitter Checksum Generation Offload Enable + 11 + 1 + + + DRBS + DMA Receive Buffer Size + 16 + 8 + + + DDRP + DMA Discard Receive Packets + 24 + 1 + + + + + TSR + Transmit Status Register + 0x014 + 32 + + + UBR + Used Bit Read + 0 + 1 + + + COL + Collision Occurred + 1 + 1 + + + RLE + Retry Limit Exceeded + 2 + 1 + + + TXGO + Transmit Go + 3 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 4 + 1 + + + TXCOMP + Transmit Complete + 5 + 1 + + + UND + Transmit Underrun + 6 + 1 + + + HRESP + HRESP Not OK + 8 + 1 + + + + + RBQB + Receive Buffer Queue Base Address + 0x018 + 32 + + + ADDR + Receive Buffer Queue Base Address + 2 + 30 + + + + + TBQB + Transmit Buffer Queue Base Address + 0x01C + 32 + + + ADDR + Transmit Buffer Queue Base Address + 2 + 30 + + + + + RSR + Receive Status Register + 0x020 + 32 + + + BNA + Buffer Not Available + 0 + 1 + + + REC + Frame Received + 1 + 1 + + + RXOVR + Receive Overrun + 2 + 1 + + + HNO + HRESP Not OK + 3 + 1 + + + + + ISR + Interrupt Status Register + 0x024 + 32 + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IER + Interrupt Enable Register + 0x028 + 32 + write-only + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded or Late Collision + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IDR + Interrupt Disable Register + 0x02C + 32 + write-only + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded or Late Collision + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IMR + Interrupt Mask Register + 0x030 + 32 + read-only + 0x3FFFFFFF + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On Lan + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + MAN + PHY Maintenance Register + 0x034 + 32 + + + DATA + PHY Data + 0 + 16 + + + WTN + Write Ten + 16 + 2 + + + REGA + Register Address + 18 + 5 + + + PHYA + PHY Address + 23 + 5 + + + OP + Operation + 28 + 2 + + + CLTTO + Clause 22 Operation + 30 + 1 + + + WZO + Write ZERO + 31 + 1 + + + + + RPQ + Received Pause Quantum Register + 0x038 + 32 + read-only + + + RPQ + Received Pause Quantum + 0 + 16 + + + + + TPQ + Transmit Pause Quantum Register + 0x03C + 32 + 0x0000FFFF + + + TPQ + Transmit Pause Quantum + 0 + 16 + + + + + TPSF + TX partial store and forward Register + 0x040 + 32 + 0x000003FF + + + TPB1ADR + TX packet buffer address + 0 + 10 + + + ENTXP + Enable TX partial store and forward operation + 31 + 1 + + + + + RPSF + RX partial store and forward Register + 0x044 + 32 + 0x000003FF + + + RPB1ADR + RX packet buffer address + 0 + 10 + + + ENRXP + Enable RX partial store and forward operation + 31 + 1 + + + + + RJFML + RX Jumbo Frame Max Length Register + 0x048 + 32 + 0x00003FFF + + + FML + Frame Max Length + 0 + 14 + + + + + HRB + Hash Register Bottom [31:0] + 0x080 + 32 + + + ADDR + Hash Address + 0 + 32 + + + + + HRT + Hash Register Top [63:32] + 0x084 + 32 + + + ADDR + Hash Address + 0 + 32 + + + + + 4 + 0x8 + SAB%s + Specific Address Bottom [31:0] Register + 0x088 + 32 + + + ADDR + Specific Address 1 + 0 + 32 + + + + + 4 + 0x8 + SAT%s + Specific Address Top [47:32] Register + 0x08C + 32 + + + ADDR + Specific Address 1 + 0 + 16 + + + + + 4 + 0x4 + TIDM%s + Type ID Match Register + 0x0A8 + 32 + + + TID + Type ID Match 1 + 0 + 16 + + + + + WOL + Wake on LAN + 0x0B8 + 32 + + + IP + IP address + 0 + 16 + + + MAG + Event enable + 16 + 1 + + + ARP + LAN ARP req + 17 + 1 + + + SA1 + WOL specific address reg 1 + 18 + 1 + + + MTI + WOL LAN multicast + 19 + 1 + + + + + IPGS + IPG Stretch Register + 0x0BC + 32 + + + FL + Frame Length + 0 + 16 + + + + + SVLAN + Stacked VLAN Register + 0x0C0 + 32 + + + VLAN_TYPE + User Defined VLAN_TYPE Field + 0 + 16 + + + ESVLAN + Enable Stacked VLAN Processing Mode + 31 + 1 + + + + + TPFCP + Transmit PFC Pause Register + 0x0C4 + 32 + + + PEV + Priority Enable Vector + 0 + 8 + + + PQ + Pause Quantum + 8 + 8 + + + + + SAMB1 + Specific Address 1 Mask Bottom [31:0] Register + 0x0C8 + 32 + + + ADDR + Specific Address 1 Mask + 0 + 32 + + + + + SAMT1 + Specific Address 1 Mask Top [47:32] Register + 0x0CC + 32 + + + ADDR + Specific Address 1 Mask + 0 + 16 + + + + + NSC + Tsu timer comparison nanoseconds Register + 0x0DC + 32 + + + NANOSEC + 1588 Timer Nanosecond comparison value + 0 + 21 + + + + + SCL + Tsu timer second comparison Register + 0x0E0 + 32 + + + SEC + 1588 Timer Second comparison value + 0 + 32 + + + + + SCH + Tsu timer second comparison Register + 0x0E4 + 32 + + + SEC + 1588 Timer Second comparison value + 0 + 16 + + + + + EFTSH + PTP Event Frame Transmitted Seconds High Register + 0x0E8 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + EFRSH + PTP Event Frame Received Seconds High Register + 0x0EC + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + PEFTSH + PTP Peer Event Frame Transmitted Seconds High Register + 0x0F0 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + PEFRSH + PTP Peer Event Frame Received Seconds High Register + 0x0F4 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + OTLO + Octets Transmitted [31:0] Register + 0x100 + 32 + read-only + + + TXO + Transmitted Octets + 0 + 32 + + + + + OTHI + Octets Transmitted [47:32] Register + 0x104 + 32 + read-only + + + TXO + Transmitted Octets + 0 + 16 + + + + + FT + Frames Transmitted Register + 0x108 + 32 + read-only + + + FTX + Frames Transmitted without Error + 0 + 32 + + + + + BCFT + Broadcast Frames Transmitted Register + 0x10C + 32 + read-only + + + BFTX + Broadcast Frames Transmitted without Error + 0 + 32 + + + + + MFT + Multicast Frames Transmitted Register + 0x110 + 32 + read-only + + + MFTX + Multicast Frames Transmitted without Error + 0 + 32 + + + + + PFT + Pause Frames Transmitted Register + 0x114 + 32 + read-only + + + PFTX + Pause Frames Transmitted Register + 0 + 16 + + + + + BFT64 + 64 Byte Frames Transmitted Register + 0x118 + 32 + read-only + + + NFTX + 64 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT127 + 65 to 127 Byte Frames Transmitted Register + 0x11C + 32 + read-only + + + NFTX + 65 to 127 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT255 + 128 to 255 Byte Frames Transmitted Register + 0x120 + 32 + read-only + + + NFTX + 128 to 255 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT511 + 256 to 511 Byte Frames Transmitted Register + 0x124 + 32 + read-only + + + NFTX + 256 to 511 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT1023 + 512 to 1023 Byte Frames Transmitted Register + 0x128 + 32 + read-only + + + NFTX + 512 to 1023 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT1518 + 1024 to 1518 Byte Frames Transmitted Register + 0x12C + 32 + read-only + + + NFTX + 1024 to 1518 Byte Frames Transmitted without Error + 0 + 32 + + + + + GTBFT1518 + Greater Than 1518 Byte Frames Transmitted Register + 0x130 + 32 + read-only + + + NFTX + Greater than 1518 Byte Frames Transmitted without Error + 0 + 32 + + + + + TUR + Transmit Underruns Register + 0x134 + 32 + read-only + + + TXUNR + Transmit Underruns + 0 + 10 + + + + + SCF + Single Collision Frames Register + 0x138 + 32 + read-only + + + SCOL + Single Collision + 0 + 18 + + + + + MCF + Multiple Collision Frames Register + 0x13C + 32 + read-only + + + MCOL + Multiple Collision + 0 + 18 + + + + + EC + Excessive Collisions Register + 0x140 + 32 + read-only + + + XCOL + Excessive Collisions + 0 + 10 + + + + + LC + Late Collisions Register + 0x144 + 32 + read-only + + + LCOL + Late Collisions + 0 + 10 + + + + + DTF + Deferred Transmission Frames Register + 0x148 + 32 + read-only + + + DEFT + Deferred Transmission + 0 + 18 + + + + + CSE + Carrier Sense Errors Register + 0x14C + 32 + read-only + + + CSR + Carrier Sense Error + 0 + 10 + + + + + ORLO + Octets Received [31:0] Received + 0x150 + 32 + read-only + + + RXO + Received Octets + 0 + 32 + + + + + ORHI + Octets Received [47:32] Received + 0x154 + 32 + read-only + + + RXO + Received Octets + 0 + 16 + + + + + FR + Frames Received Register + 0x158 + 32 + read-only + + + FRX + Frames Received without Error + 0 + 32 + + + + + BCFR + Broadcast Frames Received Register + 0x15C + 32 + read-only + + + BFRX + Broadcast Frames Received without Error + 0 + 32 + + + + + MFR + Multicast Frames Received Register + 0x160 + 32 + read-only + + + MFRX + Multicast Frames Received without Error + 0 + 32 + + + + + PFR + Pause Frames Received Register + 0x164 + 32 + read-only + + + PFRX + Pause Frames Received Register + 0 + 16 + + + + + BFR64 + 64 Byte Frames Received Register + 0x168 + 32 + read-only + + + NFRX + 64 Byte Frames Received without Error + 0 + 32 + + + + + TBFR127 + 65 to 127 Byte Frames Received Register + 0x16C + 32 + read-only + + + NFRX + 65 to 127 Byte Frames Received without Error + 0 + 32 + + + + + TBFR255 + 128 to 255 Byte Frames Received Register + 0x170 + 32 + read-only + + + NFRX + 128 to 255 Byte Frames Received without Error + 0 + 32 + + + + + TBFR511 + 256 to 511Byte Frames Received Register + 0x174 + 32 + read-only + + + NFRX + 256 to 511 Byte Frames Received without Error + 0 + 32 + + + + + TBFR1023 + 512 to 1023 Byte Frames Received Register + 0x178 + 32 + read-only + + + NFRX + 512 to 1023 Byte Frames Received without Error + 0 + 32 + + + + + TBFR1518 + 1024 to 1518 Byte Frames Received Register + 0x17C + 32 + read-only + + + NFRX + 1024 to 1518 Byte Frames Received without Error + 0 + 32 + + + + + TMXBFR + 1519 to Maximum Byte Frames Received Register + 0x180 + 32 + read-only + + + NFRX + 1519 to Maximum Byte Frames Received without Error + 0 + 32 + + + + + UFR + Undersize Frames Received Register + 0x184 + 32 + read-only + + + UFRX + Undersize Frames Received + 0 + 10 + + + + + OFR + Oversize Frames Received Register + 0x188 + 32 + read-only + + + OFRX + Oversized Frames Received + 0 + 10 + + + + + JR + Jabbers Received Register + 0x18C + 32 + read-only + + + JRX + Jabbers Received + 0 + 10 + + + + + FCSE + Frame Check Sequence Errors Register + 0x190 + 32 + read-only + + + FCKR + Frame Check Sequence Errors + 0 + 10 + + + + + LFFE + Length Field Frame Errors Register + 0x194 + 32 + read-only + + + LFER + Length Field Frame Errors + 0 + 10 + + + + + RSE + Receive Symbol Errors Register + 0x198 + 32 + read-only + + + RXSE + Receive Symbol Errors + 0 + 10 + + + + + AE + Alignment Errors Register + 0x19C + 32 + read-only + + + AER + Alignment Errors + 0 + 10 + + + + + RRE + Receive Resource Errors Register + 0x1A0 + 32 + read-only + + + RXRER + Receive Resource Errors + 0 + 18 + + + + + ROE + Receive Overrun Register + 0x1A4 + 32 + read-only + + + RXOVR + Receive Overruns + 0 + 10 + + + + + IHCE + IP Header Checksum Errors Register + 0x1A8 + 32 + read-only + + + HCKER + IP Header Checksum Errors + 0 + 8 + + + + + TCE + TCP Checksum Errors Register + 0x1AC + 32 + read-only + + + TCKER + TCP Checksum Errors + 0 + 8 + + + + + UCE + UDP Checksum Errors Register + 0x1B0 + 32 + read-only + + + UCKER + UDP Checksum Errors + 0 + 8 + + + + + TISUBN + 1588 Timer Increment [15:0] Sub-Nanoseconds Register + 0x1BC + 32 + + + LSBTIR + Lower Significant Bits of Timer Increment + 0 + 16 + + + + + TSH + 1588 Timer Seconds High [15:0] Register + 0x1C0 + 32 + + + TCS + Timer Count in Seconds + 0 + 16 + + + + + TSSSL + 1588 Timer Sync Strobe Seconds [31:0] Register + 0x1C8 + 32 + + + VTS + Value of Timer Seconds Register Capture + 0 + 32 + + + + + TSSN + 1588 Timer Sync Strobe Nanoseconds Register + 0x1CC + 32 + + + VTN + Value Timer Nanoseconds Register Capture + 0 + 30 + + + + + TSL + 1588 Timer Seconds [31:0] Register + 0x1D0 + 32 + + + TCS + Timer Count in Seconds + 0 + 32 + + + + + TN + 1588 Timer Nanoseconds Register + 0x1D4 + 32 + + + TNS + Timer Count in Nanoseconds + 0 + 30 + + + + + TA + 1588 Timer Adjust Register + 0x1D8 + 32 + write-only + + + ITDT + Increment/Decrement + 0 + 30 + + + ADJ + Adjust 1588 Timer + 31 + 1 + + + + + TI + 1588 Timer Increment Register + 0x1DC + 32 + + + CNS + Count Nanoseconds + 0 + 8 + + + ACNS + Alternative Count Nanoseconds + 8 + 8 + + + NIT + Number of Increments + 16 + 8 + + + + + EFTSL + PTP Event Frame Transmitted Seconds Low Register + 0x1E0 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + EFTN + PTP Event Frame Transmitted Nanoseconds + 0x1E4 + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + EFRSL + PTP Event Frame Received Seconds Low Register + 0x1E8 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + EFRN + PTP Event Frame Received Nanoseconds + 0x1EC + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + PEFTSL + PTP Peer Event Frame Transmitted Seconds Low Register + 0x1F0 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + PEFTN + PTP Peer Event Frame Transmitted Nanoseconds + 0x1F4 + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + PEFRSL + PTP Peer Event Frame Received Seconds Low Register + 0x1F8 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + PEFRN + PTP Peer Event Frame Received Nanoseconds + 0x1FC + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + RLPITR + Receive LPI transition Register + 0x270 + 32 + read-only + + + RLPITR + Count number of times transition from rx normal idle to low power idle + 0 + 16 + + + + + RLPITI + Receive LPI Time Register + 0x274 + 32 + read-only + + + RLPITI + Increment once over 16 ahb clock when LPI indication bit 20 is set in rx mode + 0 + 24 + + + + + TLPITR + Receive LPI transition Register + 0x278 + 32 + read-only + + + TLPITR + Count number of times enable LPI tx bit 20 goes from low to high + 0 + 16 + + + + + TLPITI + Receive LPI Time Register + 0x27C + 32 + read-only + + + TLPITI + Increment once over 16 ahb clock when LPI indication bit 20 is set in tx mode + 0 + 24 + + + + + + + HMATRIX + 2.1.4 + HSB Matrix + HMATRIXB + HMATRIXB_ + 0x4100C000 + + 0 + 0x180 + registers + + + + 5 + 0x8 + PRAS%s + Priority A for Slave + 0x080 + 32 + + + 5 + 0x8 + PRBS%s + Priority B for Slave + 0x084 + 32 + + + + + ICM + 1.2.0 + Integrity Check Monitor + ICM + ICM_ + 0x42002C00 + + 0 + 0x80 + registers + + + ICM_INTREQ + 132 + + + + CFG + Configuration + 0x00 + 32 + + + WBDIS + Write Back Disable + 0 + 1 + + + EOMDIS + End of Monitoring Disable + 1 + 1 + + + SLBDIS + Secondary List Branching Disable + 2 + 1 + + + BBC + Bus Burden Control + 4 + 4 + + + ASCD + Automatic Switch To Compare Digest + 8 + 1 + + + DUALBUFF + Dual Input Buffer + 9 + 1 + + + UIHASH + User Initial Hash Value + 12 + 1 + + + UALGO + User SHA Algorithm + 13 + 3 + + UALGOSelect + + SHA1 + SHA1 Algorithm + 0x0 + + + SHA256 + SHA256 Algorithm + 0x1 + + + SHA224 + SHA224 Algorithm + 0x4 + + + + + HAPROT + Region Hash Area Protection + 16 + 6 + + + DAPROT + Region Descriptor Area Protection + 24 + 6 + + + + + CTRL + Control + 0x04 + 32 + write-only + + + ENABLE + ICM Enable + 0 + 1 + + + DISABLE + ICM Disable Register + 1 + 1 + + + SWRST + Software Reset + 2 + 1 + + + REHASH + Recompute Internal Hash + 4 + 4 + + + RMDIS + Region Monitoring Disable + 8 + 4 + + + RMEN + Region Monitoring Enable + 12 + 4 + + + + + SR + Status + 0x08 + 32 + read-only + + + ENABLE + ICM Controller Enable Register + 0 + 1 + + + RAWRMDIS + RAW Region Monitoring Disabled Status + 8 + 4 + + + RMDIS + Region Monitoring Disabled Status + 12 + 4 + + + + + IER + Interrupt Enable + 0x10 + 32 + write-only + + + RHC + Region Hash Completed Interrupt Enable + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Enable + 4 + 4 + + + RBE + Region Bus Error Interrupt Enable + 8 + 4 + + + RWC + Region Wrap Condition detected Interrupt Enable + 12 + 4 + + + REC + Region End bit Condition Detected Interrupt Enable + 16 + 4 + + + RSU + Region Status Updated Interrupt Disable + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Enable + 24 + 1 + + + + + IDR + Interrupt Disable + 0x14 + 32 + write-only + + + RHC + Region Hash Completed Interrupt Disable + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Disable + 4 + 4 + + + RBE + Region Bus Error Interrupt Disable + 8 + 4 + + + RWC + Region Wrap Condition Detected Interrupt Disable + 12 + 4 + + + REC + Region End bit Condition detected Interrupt Disable + 16 + 4 + + + RSU + Region Status Updated Interrupt Disable + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Disable + 24 + 1 + + + + + IMR + Interrupt Mask + 0x18 + 32 + read-only + + + RHC + Region Hash Completed Interrupt Mask + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Mask + 4 + 4 + + + RBE + Region Bus Error Interrupt Mask + 8 + 4 + + + RWC + Region Wrap Condition Detected Interrupt Mask + 12 + 4 + + + REC + Region End bit Condition Detected Interrupt Mask + 16 + 4 + + + RSU + Region Status Updated Interrupt Mask + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Mask + 24 + 1 + + + + + ISR + Interrupt Status + 0x1C + 32 + read-only + + + RHC + Region Hash Completed + 0 + 4 + + + RDM + Region Digest Mismatch + 4 + 4 + + + RBE + Region Bus Error + 8 + 4 + + + RWC + Region Wrap Condition Detected + 12 + 4 + + + REC + Region End bit Condition Detected + 16 + 4 + + + RSU + Region Status Updated Detected + 20 + 4 + + + URAD + Undefined Register Access Detection Status + 24 + 1 + + + + + UASR + Undefined Access Status + 0x20 + 32 + read-only + + + URAT + Undefined Register Access Trace + 0 + 3 + + URATSelect + + UNSPEC_STRUCT_MEMBER + Unspecified structure member set to one detected when the descriptor is loaded + 0x0 + + + CFG_MODIFIED + CFG modified during active monitoring + 0x1 + + + DSCR_MODIFIED + DSCR modified during active monitoring + 0x2 + + + HASH_MODIFIED + HASH modified during active monitoring + 0x3 + + + READ_ACCESS + Write-only register read access + 0x4 + + + + + + + DSCR + Region Descriptor Area Start Address + 0x30 + 32 + + + DASA + Descriptor Area Start Address + 6 + 26 + + + + + HASH + Region Hash Area Start Address + 0x34 + 32 + + + HASA + Hash Area Start Address + 7 + 25 + + + + + 8 + 0x4 + UIHVAL%s + User Initial Hash Value n + 0x38 + 32 + write-only + + + VAL + Initial Hash Value + 0 + 32 + + + + + + + I2S + 2.0.0 + Inter-IC Sound Interface + I2S + I2S_ + 0x43002800 + + 0 + 0x40 + registers + + + I2S_INTREQ + 128 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + CKEN0 + Clock Unit 0 Enable + 2 + 1 + + + CKEN1 + Clock Unit 1 Enable + 3 + 1 + + + TXEN + Tx Serializer Enable + 4 + 1 + + + RXEN + Rx Serializer Enable + 5 + 1 + + + + + 2 + 0x4 + CLKCTRL%s + Clock Unit n Control + 0x04 + 32 + + + SLOTSIZE + Slot Size + 0 + 2 + + SLOTSIZESelect + + 8 + 8-bit Slot for Clock Unit n + 0x0 + + + 16 + 16-bit Slot for Clock Unit n + 0x1 + + + 24 + 24-bit Slot for Clock Unit n + 0x2 + + + 32 + 32-bit Slot for Clock Unit n + 0x3 + + + + + NBSLOTS + Number of Slots in Frame + 2 + 3 + + + FSWIDTH + Frame Sync Width + 5 + 2 + + FSWIDTHSelect + + SLOT + Frame Sync Pulse is 1 Slot wide (default for I2S protocol) + 0x0 + + + HALF + Frame Sync Pulse is half a Frame wide + 0x1 + + + BIT + Frame Sync Pulse is 1 Bit wide + 0x2 + + + BURST + Clock Unit n operates in Burst mode, with a 1-bit wide Frame Sync pulse per Data sample, only when Data transfer is requested + 0x3 + + + + + BITDELAY + Data Delay from Frame Sync + 7 + 1 + + BITDELAYSelect + + LJ + Left Justified (0 Bit Delay) + 0x0 + + + I2S + I2S (1 Bit Delay) + 0x1 + + + + + FSSEL + Frame Sync Select + 8 + 1 + + FSSELSelect + + SCKDIV + Divided Serial Clock n is used as Frame Sync n source + 0x0 + + + FSPIN + FSn input pin is used as Frame Sync n source + 0x1 + + + + + FSINV + Frame Sync Invert + 9 + 1 + + + FSOUTINV + Frame Sync Output Invert + 10 + 1 + + + SCKSEL + Serial Clock Select + 11 + 1 + + SCKSELSelect + + MCKDIV + Divided Master Clock n is used as Serial Clock n source + 0x0 + + + SCKPIN + SCKn input pin is used as Serial Clock n source + 0x1 + + + + + SCKOUTINV + Serial Clock Output Invert + 12 + 1 + + + MCKSEL + Master Clock Select + 13 + 1 + + MCKSELSelect + + GCLK + GCLK_I2S_n is used as Master Clock n source + 0x0 + + + MCKPIN + MCKn input pin is used as Master Clock n source + 0x1 + + + + + MCKEN + Master Clock Enable + 14 + 1 + + + MCKOUTINV + Master Clock Output Invert + 15 + 1 + + + MCKDIV + Master Clock Division Factor + 16 + 6 + + + MCKOUTDIV + Master Clock Output Division Factor + 24 + 6 + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 16 + + + RXRDY0 + Receive Ready 0 Interrupt Enable + 0 + 1 + + + RXRDY1 + Receive Ready 1 Interrupt Enable + 1 + 1 + + + RXOR0 + Receive Overrun 0 Interrupt Enable + 4 + 1 + + + RXOR1 + Receive Overrun 1 Interrupt Enable + 5 + 1 + + + TXRDY0 + Transmit Ready 0 Interrupt Enable + 8 + 1 + + + TXRDY1 + Transmit Ready 1 Interrupt Enable + 9 + 1 + + + TXUR0 + Transmit Underrun 0 Interrupt Enable + 12 + 1 + + + TXUR1 + Transmit Underrun 1 Interrupt Enable + 13 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x10 + 16 + + + RXRDY0 + Receive Ready 0 Interrupt Enable + 0 + 1 + + + RXRDY1 + Receive Ready 1 Interrupt Enable + 1 + 1 + + + RXOR0 + Receive Overrun 0 Interrupt Enable + 4 + 1 + + + RXOR1 + Receive Overrun 1 Interrupt Enable + 5 + 1 + + + TXRDY0 + Transmit Ready 0 Interrupt Enable + 8 + 1 + + + TXRDY1 + Transmit Ready 1 Interrupt Enable + 9 + 1 + + + TXUR0 + Transmit Underrun 0 Interrupt Enable + 12 + 1 + + + TXUR1 + Transmit Underrun 1 Interrupt Enable + 13 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x14 + 16 + + + RXRDY0 + Receive Ready 0 + 0 + 1 + + + RXRDY1 + Receive Ready 1 + 1 + 1 + + + RXOR0 + Receive Overrun 0 + 4 + 1 + + + RXOR1 + Receive Overrun 1 + 5 + 1 + + + TXRDY0 + Transmit Ready 0 + 8 + 1 + + + TXRDY1 + Transmit Ready 1 + 9 + 1 + + + TXUR0 + Transmit Underrun 0 + 12 + 1 + + + TXUR1 + Transmit Underrun 1 + 13 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x18 + 16 + read-only + + + SWRST + Software Reset Synchronization Status + 0 + 1 + + + ENABLE + Enable Synchronization Status + 1 + 1 + + + CKEN0 + Clock Unit 0 Enable Synchronization Status + 2 + 1 + + + CKEN1 + Clock Unit 1 Enable Synchronization Status + 3 + 1 + + + TXEN + Tx Serializer Enable Synchronization Status + 4 + 1 + + + RXEN + Rx Serializer Enable Synchronization Status + 5 + 1 + + + TXDATA + Tx Data Synchronization Status + 8 + 1 + + + RXDATA + Rx Data Synchronization Status + 9 + 1 + + + + + TXCTRL + Tx Serializer Control + 0x20 + 32 + + + TXDEFAULT + Line Default Line when Slot Disabled + 2 + 2 + + TXDEFAULTSelect + + ZERO + Output Default Value is 0 + 0x0 + + + ONE + Output Default Value is 1 + 0x1 + + + HIZ + Output Default Value is high impedance + 0x3 + + + + + TXSAME + Transmit Data when Underrun + 4 + 1 + + TXSAMESelect + + ZERO + Zero data transmitted in case of underrun + 0x0 + + + SAME + Last data transmitted in case of underrun + 0x1 + + + + + SLOTADJ + Data Slot Formatting Adjust + 7 + 1 + + SLOTADJSelect + + RIGHT + Data is right adjusted in slot + 0x0 + + + LEFT + Data is left adjusted in slot + 0x1 + + + + + DATASIZE + Data Word Size + 8 + 3 + + DATASIZESelect + + 32 + 32 bits + 0x0 + + + 24 + 24 bits + 0x1 + + + 20 + 20 bits + 0x2 + + + 18 + 18 bits + 0x3 + + + 16 + 16 bits + 0x4 + + + 16C + 16 bits compact stereo + 0x5 + + + 8 + 8 bits + 0x6 + + + 8C + 8 bits compact stereo + 0x7 + + + + + WORDADJ + Data Word Formatting Adjust + 12 + 1 + + WORDADJSelect + + RIGHT + Data is right adjusted in word + 0x0 + + + LEFT + Data is left adjusted in word + 0x1 + + + + + EXTEND + Data Formatting Bit Extension + 13 + 2 + + EXTENDSelect + + ZERO + Extend with zeroes + 0x0 + + + ONE + Extend with ones + 0x1 + + + MSBIT + Extend with Most Significant Bit + 0x2 + + + LSBIT + Extend with Least Significant Bit + 0x3 + + + + + BITREV + Data Formatting Bit Reverse + 15 + 1 + + BITREVSelect + + MSBIT + Transfer Data Most Significant Bit (MSB) first (default for I2S protocol) + 0x0 + + + LSBIT + Transfer Data Least Significant Bit (LSB) first + 0x1 + + + + + SLOTDIS0 + Slot 0 Disabled for this Serializer + 16 + 1 + + + SLOTDIS1 + Slot 1 Disabled for this Serializer + 17 + 1 + + + SLOTDIS2 + Slot 2 Disabled for this Serializer + 18 + 1 + + + SLOTDIS3 + Slot 3 Disabled for this Serializer + 19 + 1 + + + SLOTDIS4 + Slot 4 Disabled for this Serializer + 20 + 1 + + + SLOTDIS5 + Slot 5 Disabled for this Serializer + 21 + 1 + + + SLOTDIS6 + Slot 6 Disabled for this Serializer + 22 + 1 + + + SLOTDIS7 + Slot 7 Disabled for this Serializer + 23 + 1 + + + MONO + Mono Mode + 24 + 1 + + MONOSelect + + STEREO + Normal mode + 0x0 + + + MONO + Left channel data is duplicated to right channel + 0x1 + + + + + DMA + Single or Multiple DMA Channels + 25 + 1 + + DMASelect + + SINGLE + Single DMA channel + 0x0 + + + MULTIPLE + One DMA channel per data channel + 0x1 + + + + + + + RXCTRL + Rx Serializer Control + 0x24 + 32 + + + SERMODE + Serializer Mode + 0 + 2 + + SERMODESelect + + RX + Receive + 0x0 + + + PDM2 + Receive one PDM data on each serial clock edge + 0x2 + + + + + CLKSEL + Clock Unit Selection + 5 + 1 + + CLKSELSelect + + CLK0 + Use Clock Unit 0 + 0x0 + + + CLK1 + Use Clock Unit 1 + 0x1 + + + + + SLOTADJ + Data Slot Formatting Adjust + 7 + 1 + + SLOTADJSelect + + RIGHT + Data is right adjusted in slot + 0x0 + + + LEFT + Data is left adjusted in slot + 0x1 + + + + + DATASIZE + Data Word Size + 8 + 3 + + DATASIZESelect + + 32 + 32 bits + 0x0 + + + 24 + 24 bits + 0x1 + + + 20 + 20 bits + 0x2 + + + 18 + 18 bits + 0x3 + + + 16 + 16 bits + 0x4 + + + 16C + 16 bits compact stereo + 0x5 + + + 8 + 8 bits + 0x6 + + + 8C + 8 bits compact stereo + 0x7 + + + + + WORDADJ + Data Word Formatting Adjust + 12 + 1 + + WORDADJSelect + + RIGHT + Data is right adjusted in word + 0x0 + + + LEFT + Data is left adjusted in word + 0x1 + + + + + EXTEND + Data Formatting Bit Extension + 13 + 2 + + EXTENDSelect + + ZERO + Extend with zeroes + 0x0 + + + ONE + Extend with ones + 0x1 + + + MSBIT + Extend with Most Significant Bit + 0x2 + + + LSBIT + Extend with Least Significant Bit + 0x3 + + + + + BITREV + Data Formatting Bit Reverse + 15 + 1 + + BITREVSelect + + MSBIT + Transfer Data Most Significant Bit (MSB) first (default for I2S protocol) + 0x0 + + + LSBIT + Transfer Data Least Significant Bit (LSB) first + 0x1 + + + + + SLOTDIS0 + Slot 0 Disabled for this Serializer + 16 + 1 + + + SLOTDIS1 + Slot 1 Disabled for this Serializer + 17 + 1 + + + SLOTDIS2 + Slot 2 Disabled for this Serializer + 18 + 1 + + + SLOTDIS3 + Slot 3 Disabled for this Serializer + 19 + 1 + + + SLOTDIS4 + Slot 4 Disabled for this Serializer + 20 + 1 + + + SLOTDIS5 + Slot 5 Disabled for this Serializer + 21 + 1 + + + SLOTDIS6 + Slot 6 Disabled for this Serializer + 22 + 1 + + + SLOTDIS7 + Slot 7 Disabled for this Serializer + 23 + 1 + + + MONO + Mono Mode + 24 + 1 + + MONOSelect + + STEREO + Normal mode + 0x0 + + + MONO + Left channel data is duplicated to right channel + 0x1 + + + + + DMA + Single or Multiple DMA Channels + 25 + 1 + + DMASelect + + SINGLE + Single DMA channel + 0x0 + + + MULTIPLE + One DMA channel per data channel + 0x1 + + + + + RXLOOP + Loop-back Test Mode + 26 + 1 + + + + + TXDATA + Tx Data + 0x30 + 32 + write-only + + + DATA + Sample Data + 0 + 32 + + + + + RXDATA + Rx Data + 0x34 + 32 + read-only + + + DATA + Sample Data + 0 + 32 + + + + + + + MCLK + 1.0.0 + Main Clock + MCLK + MCLK_ + 0x40000800 + + 0 + 0x80 + registers + + + MCLK_INTREQ + 1 + + + + INTENCLR + Interrupt Enable Clear + 0x01 + 8 + + + CKRDY + Clock Ready Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x02 + 8 + + + CKRDY + Clock Ready Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x03 + 8 + 0x01 + + + CKRDY + Clock Ready + 0 + 1 + + + + + HSDIV + HS Clock Division + 0x04 + 8 + read-only + 0x01 + + + DIV + CPU Clock Division Factor + 0 + 8 + + DIVSelect + + DIV1 + Divide by 1 + 0x1 + + + + + + + CPUDIV + CPU Clock Division + 0x05 + 8 + 0x01 + + + DIV + Low-Power Clock Division Factor + 0 + 8 + + DIVSelect + + DIV1 + Divide by 1 + 0x1 + + + DIV2 + Divide by 2 + 0x2 + + + DIV4 + Divide by 4 + 0x4 + + + DIV8 + Divide by 8 + 0x8 + + + DIV16 + Divide by 16 + 0x10 + + + DIV32 + Divide by 32 + 0x20 + + + DIV64 + Divide by 64 + 0x40 + + + DIV128 + Divide by 128 + 0x80 + + + + + + + AHBMASK + AHB Mask + 0x10 + 32 + 0x00FFFFFF + + + HPB0_ + HPB0 AHB Clock Mask + 0 + 1 + + + HPB1_ + HPB1 AHB Clock Mask + 1 + 1 + + + HPB2_ + HPB2 AHB Clock Mask + 2 + 1 + + + HPB3_ + HPB3 AHB Clock Mask + 3 + 1 + + + DSU_ + DSU AHB Clock Mask + 4 + 1 + + + HMATRIX_ + HMATRIX AHB Clock Mask + 5 + 1 + + + NVMCTRL_ + NVMCTRL AHB Clock Mask + 6 + 1 + + + HSRAM_ + HSRAM AHB Clock Mask + 7 + 1 + + + CMCC_ + CMCC AHB Clock Mask + 8 + 1 + + + DMAC_ + DMAC AHB Clock Mask + 9 + 1 + + + USB_ + USB AHB Clock Mask + 10 + 1 + + + BKUPRAM_ + BKUPRAM AHB Clock Mask + 11 + 1 + + + PAC_ + PAC AHB Clock Mask + 12 + 1 + + + QSPI_ + QSPI AHB Clock Mask + 13 + 1 + + + GMAC_ + GMAC AHB Clock Mask + 14 + 1 + + + SDHC0_ + SDHC0 AHB Clock Mask + 15 + 1 + + + SDHC1_ + SDHC1 AHB Clock Mask + 16 + 1 + + + CAN0_ + CAN0 AHB Clock Mask + 17 + 1 + + + CAN1_ + CAN1 AHB Clock Mask + 18 + 1 + + + ICM_ + ICM AHB Clock Mask + 19 + 1 + + + PUKCC_ + PUKCC AHB Clock Mask + 20 + 1 + + + QSPI_2X_ + QSPI_2X AHB Clock Mask + 21 + 1 + + + NVMCTRL_SMEEPROM_ + NVMCTRL_SMEEPROM AHB Clock Mask + 22 + 1 + + + NVMCTRL_CACHE_ + NVMCTRL_CACHE AHB Clock Mask + 23 + 1 + + + + + APBAMASK + APBA Mask + 0x14 + 32 + 0x000007FF + + + PAC_ + PAC APB Clock Enable + 0 + 1 + + + PM_ + PM APB Clock Enable + 1 + 1 + + + MCLK_ + MCLK APB Clock Enable + 2 + 1 + + + RSTC_ + RSTC APB Clock Enable + 3 + 1 + + + OSCCTRL_ + OSCCTRL APB Clock Enable + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL APB Clock Enable + 5 + 1 + + + SUPC_ + SUPC APB Clock Enable + 6 + 1 + + + GCLK_ + GCLK APB Clock Enable + 7 + 1 + + + WDT_ + WDT APB Clock Enable + 8 + 1 + + + RTC_ + RTC APB Clock Enable + 9 + 1 + + + EIC_ + EIC APB Clock Enable + 10 + 1 + + + FREQM_ + FREQM APB Clock Enable + 11 + 1 + + + SERCOM0_ + SERCOM0 APB Clock Enable + 12 + 1 + + + SERCOM1_ + SERCOM1 APB Clock Enable + 13 + 1 + + + TC0_ + TC0 APB Clock Enable + 14 + 1 + + + TC1_ + TC1 APB Clock Enable + 15 + 1 + + + + + APBBMASK + APBB Mask + 0x18 + 32 + 0x00018056 + + + USB_ + USB APB Clock Enable + 0 + 1 + + + DSU_ + DSU APB Clock Enable + 1 + 1 + + + NVMCTRL_ + NVMCTRL APB Clock Enable + 2 + 1 + + + PORT_ + PORT APB Clock Enable + 4 + 1 + + + HMATRIX_ + HMATRIX APB Clock Enable + 6 + 1 + + + EVSYS_ + EVSYS APB Clock Enable + 7 + 1 + + + SERCOM2_ + SERCOM2 APB Clock Enable + 9 + 1 + + + SERCOM3_ + SERCOM3 APB Clock Enable + 10 + 1 + + + TCC0_ + TCC0 APB Clock Enable + 11 + 1 + + + TCC1_ + TCC1 APB Clock Enable + 12 + 1 + + + TC2_ + TC2 APB Clock Enable + 13 + 1 + + + TC3_ + TC3 APB Clock Enable + 14 + 1 + + + TAL_ + TAL APB Clock Enable + 15 + 1 + + + RAMECC_ + RAMECC APB Clock Enable + 16 + 1 + + + + + APBCMASK + APBC Mask + 0x1C + 32 + 0x00002000 + + + GMAC_ + GMAC APB Clock Enable + 2 + 1 + + + TCC2_ + TCC2 APB Clock Enable + 3 + 1 + + + TCC3_ + TCC3 APB Clock Enable + 4 + 1 + + + TC4_ + TC4 APB Clock Enable + 5 + 1 + + + TC5_ + TC5 APB Clock Enable + 6 + 1 + + + PDEC_ + PDEC APB Clock Enable + 7 + 1 + + + AC_ + AC APB Clock Enable + 8 + 1 + + + AES_ + AES APB Clock Enable + 9 + 1 + + + TRNG_ + TRNG APB Clock Enable + 10 + 1 + + + ICM_ + ICM APB Clock Enable + 11 + 1 + + + QSPI_ + QSPI APB Clock Enable + 13 + 1 + + + CCL_ + CCL APB Clock Enable + 14 + 1 + + + + + APBDMASK + APBD Mask + 0x20 + 32 + + + SERCOM4_ + SERCOM4 APB Clock Enable + 0 + 1 + + + SERCOM5_ + SERCOM5 APB Clock Enable + 1 + 1 + + + SERCOM6_ + SERCOM6 APB Clock Enable + 2 + 1 + + + SERCOM7_ + SERCOM7 APB Clock Enable + 3 + 1 + + + TCC4_ + TCC4 APB Clock Enable + 4 + 1 + + + TC6_ + TC6 APB Clock Enable + 5 + 1 + + + TC7_ + TC7 APB Clock Enable + 6 + 1 + + + ADC0_ + ADC0 APB Clock Enable + 7 + 1 + + + ADC1_ + ADC1 APB Clock Enable + 8 + 1 + + + DAC_ + DAC APB Clock Enable + 9 + 1 + + + I2S_ + I2S APB Clock Enable + 10 + 1 + + + PCC_ + PCC APB Clock Enable + 11 + 1 + + + + + + + NVMCTRL + 1.0.0 + Non-Volatile Memory Controller + NVMCTRL + NVMCTRL_ + 0x41004000 + + 0 + 0x80 + registers + + + NVMCTRL_INTREQ_0 + 29 + + + NVMCTRL_INTREQ_1 + 30 + + + + CTRLA + Control A + 0x00 + 16 + 0x0004 + + + AUTOWS + Auto Wait State Enable + 2 + 1 + + + SUSPEN + Suspend Enable + 3 + 1 + + + WMODE + Write Mode + 4 + 2 + + WMODESelect + + MAN + Manual Write + 0x0 + + + ADW + Automatic Double Word Write + 0x1 + + + AQW + Automatic Quad Word + 0x2 + + + AP + Automatic Page Write + 0x3 + + + + + PRM + Power Reduction Mode during Sleep + 6 + 2 + + PRMSelect + + SEMIAUTO + NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access. + 0x0 + + + FULLAUTO + NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode when system is not in standby mode. + 0x1 + + + MANUAL + NVM block does not enter low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access. + 0x3 + + + + + RWS + NVM Read Wait States + 8 + 4 + + + AHBNS0 + Force AHB0 access to NONSEQ, burst transfers are continuously rearbitrated + 12 + 1 + + + AHBNS1 + Force AHB1 access to NONSEQ, burst transfers are continuously rearbitrated + 13 + 1 + + + CACHEDIS0 + AHB0 Cache Disable + 14 + 1 + + + CACHEDIS1 + AHB1 Cache Disable + 15 + 1 + + + + + CTRLB + Control B + 0x04 + 16 + write-only + + + CMD + Command + 0 + 7 + write-only + + CMDSelect + + EP + Erase Page - Only supported in the USER and AUX pages. + 0x0 + + + EB + Erase Block - Erases the block addressed by the ADDR register, not supported in the user page + 0x1 + + + WP + Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register, not supported in the user page + 0x3 + + + WQW + Write Quad Word - Writes a 128-bit word at the location addressed by the ADDR register. + 0x4 + + + SWRST + Software Reset - Power-Cycle the NVM memory and replay the device automatic calibration procedure and resets the module configuration registers + 0x10 + + + LR + Lock Region - Locks the region containing the address location in the ADDR register. + 0x11 + + + UR + Unlock Region - Unlocks the region containing the address location in the ADDR register. + 0x12 + + + SPRM + Sets the power reduction mode. + 0x13 + + + CPRM + Clears the power reduction mode. + 0x14 + + + PBC + Page Buffer Clear - Clears the page buffer. + 0x15 + + + SSB + Set Security Bit + 0x16 + + + BKSWRST + Bank swap and system reset, if SMEE is used also reallocate SMEE data into the opposite BANK + 0x17 + + + CELCK + Chip Erase Lock - DSU.CE command is not available + 0x18 + + + CEULCK + Chip Erase Unlock - DSU.CE command is available + 0x19 + + + SBPDIS + Sets STATUS.BPDIS, Boot loader protection is discarded until CBPDIS is issued or next start-up sequence + 0x1a + + + CBPDIS + Clears STATUS.BPDIS, Boot loader protection is not discarded + 0x1b + + + ASEES0 + Activate SmartEEPROM Sector 0, deactivate Sector 1 + 0x30 + + + ASEES1 + Activate SmartEEPROM Sector 1, deactivate Sector 0 + 0x31 + + + SEERALOC + Starts SmartEEPROM sector reallocation algorithm + 0x32 + + + SEEFLUSH + Flush SMEE data when in buffered mode + 0x33 + + + LSEE + Lock access to SmartEEPROM data from any mean + 0x34 + + + USEE + Unlock access to SmartEEPROM data + 0x35 + + + LSEER + Lock access to the SmartEEPROM Register Address Space (above 64KB) + 0x36 + + + USEER + Unlock access to the SmartEEPROM Register Address Space (above 64KB) + 0x37 + + + + + CMDEX + Command Execution + 8 + 8 + write-only + + CMDEXSelect + + KEY + Execution Key + 0xa5 + + + + + + + PARAM + NVM Parameter + 0x08 + 32 + read-only + 0x00060000 + + + NVMP + NVM Pages + 0 + 16 + read-only + + + PSZ + Page Size + 16 + 3 + read-only + + PSZSelect + + 8 + 8 bytes + 0x0 + + + 16 + 16 bytes + 0x1 + + + 32 + 32 bytes + 0x2 + + + 64 + 64 bytes + 0x3 + + + 128 + 128 bytes + 0x4 + + + 256 + 256 bytes + 0x5 + + + 512 + 512 bytes + 0x6 + + + 1024 + 1024 bytes + 0x7 + + + + + SEE + SmartEEPROM Supported + 31 + 1 + read-only + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 16 + + + DONE + Command Done Interrupt Clear + 0 + 1 + + + ADDRE + Address Error + 1 + 1 + + + PROGE + Programming Error Interrupt Clear + 2 + 1 + + + LOCKE + Lock Error Interrupt Clear + 3 + 1 + + + ECCSE + ECC Single Error Interrupt Clear + 4 + 1 + + + ECCDE + ECC Dual Error Interrupt Clear + 5 + 1 + + + NVME + NVM Error Interrupt Clear + 6 + 1 + + + SUSP + Suspended Write Or Erase Interrupt Clear + 7 + 1 + + + SEESFULL + Active SEES Full Interrupt Clear + 8 + 1 + + + SEESOVF + Active SEES Overflow Interrupt Clear + 9 + 1 + + + SEEWRC + SEE Write Completed Interrupt Clear + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x0E + 16 + + + DONE + Command Done Interrupt Enable + 0 + 1 + + + ADDRE + Address Error Interrupt Enable + 1 + 1 + + + PROGE + Programming Error Interrupt Enable + 2 + 1 + + + LOCKE + Lock Error Interrupt Enable + 3 + 1 + + + ECCSE + ECC Single Error Interrupt Enable + 4 + 1 + + + ECCDE + ECC Dual Error Interrupt Enable + 5 + 1 + + + NVME + NVM Error Interrupt Enable + 6 + 1 + + + SUSP + Suspended Write Or Erase Interrupt Enable + 7 + 1 + + + SEESFULL + Active SEES Full Interrupt Enable + 8 + 1 + + + SEESOVF + Active SEES Overflow Interrupt Enable + 9 + 1 + + + SEEWRC + SEE Write Completed Interrupt Enable + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x10 + 16 + + + DONE + Command Done + 0 + 1 + + + ADDRE + Address Error + 1 + 1 + + + PROGE + Programming Error + 2 + 1 + + + LOCKE + Lock Error + 3 + 1 + + + ECCSE + ECC Single Error + 4 + 1 + read-only + + + ECCDE + ECC Dual Error + 5 + 1 + read-only + + + NVME + NVM Error + 6 + 1 + + + SUSP + Suspended Write Or Erase Operation + 7 + 1 + + + SEESFULL + Active SEES Full + 8 + 1 + + + SEESOVF + Active SEES Overflow + 9 + 1 + + + SEEWRC + SEE Write Completed + 10 + 1 + + + + + STATUS + Status + 0x12 + 16 + read-only + + + READY + Ready to accept a command + 0 + 1 + read-only + + + PRM + Power Reduction Mode + 1 + 1 + read-only + + + LOAD + NVM Page Buffer Active Loading + 2 + 1 + read-only + + + SUSP + NVM Write Or Erase Operation Is Suspended + 3 + 1 + read-only + + + AFIRST + BANKA First + 4 + 1 + read-only + + + BPDIS + Boot Loader Protection Disable + 5 + 1 + read-only + + + BOOTPROT + Boot Loader Protection Size + 8 + 4 + read-only + + + + + ADDR + Address + 0x14 + 32 + + + ADDR + NVM Address + 0 + 24 + + + + + RUNLOCK + Lock Section + 0x18 + 32 + read-only + + + RUNLOCK + Region Un-Lock Bits + 0 + 32 + read-only + + + + + 2 + 0x4 + PBLDATA%s + Page Buffer Load Data x + 0x1C + 32 + read-only + 0xFFFFFFFF + + + DATA + Page Buffer Data + 0 + 32 + read-only + + + + + ECCERR + ECC Error Status Register + 0x24 + 32 + read-only + + + ADDR + Error Address + 0 + 24 + read-only + + + TYPEL + Low Double-Word Error Type + 28 + 2 + read-only + + TYPELSelect + + None + No Error Detected Since Last Read + 0x0 + + + Single + At Least One Single Error Detected Since last Read + 0x1 + + + Dual + At Least One Dual Error Detected Since Last Read + 0x2 + + + + + TYPEH + High Double-Word Error Type + 30 + 2 + read-only + + TYPEHSelect + + None + No Error Detected Since Last Read + 0x0 + + + Single + At Least One Single Error Detected Since last Read + 0x1 + + + Dual + At Least One Dual Error Detected Since Last Read + 0x2 + + + + + + + DBGCTRL + Debug Control + 0x28 + 8 + + + ECCDIS + Debugger ECC Read Disable + 0 + 1 + + + ECCELOG + Debugger ECC Error Tracking Mode + 1 + 1 + + + + + SEECFG + SmartEEPROM Configuration Register + 0x2A + 8 + + + WMODE + Write Mode + 0 + 1 + + WMODESelect + + UNBUFFERED + A NVM write command is issued after each write in the pagebuffer + 0x0 + + + BUFFERED + A NVM write command is issued when a write to a new page is requested + 0x1 + + + + + APRDIS + Automatic Page Reallocation Disable + 1 + 1 + + + + + SEESTAT + SmartEEPROM Status Register + 0x2C + 32 + read-only + + + ASEES + Active SmartEEPROM Sector + 0 + 1 + read-only + + + LOAD + Page Buffer Loaded + 1 + 1 + read-only + + + BUSY + Busy + 2 + 1 + read-only + + + LOCK + SmartEEPROM Write Access Is Locked + 3 + 1 + read-only + + + RLOCK + SmartEEPROM Write Access To Register Address Space Is Locked + 4 + 1 + read-only + + + SBLK + Blocks Number In a Sector + 8 + 4 + read-only + + + PSZ + SmartEEPROM Page Size + 16 + 3 + read-only + + + + + + + OSCCTRL + 1.0.0 + Oscillators Control + OSCCTRL + OSCCTRL_ + 0x40001000 + + 0 + 0x100 + registers + + + OSCCTRL_INTREQ_0 + 2 + + + OSCCTRL_INTREQ_1 + 3 + + + OSCCTRL_INTREQ_2 + 4 + + + OSCCTRL_INTREQ_3 + 5 + + + OSCCTRL_INTREQ_4 + 6 + + + + EVCTRL + Event Control + 0x00 + 8 + + + CFDEO0 + Clock 0 Failure Detector Event Output Enable + 0 + 1 + + + CFDEO1 + Clock 1 Failure Detector Event Output Enable + 1 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 32 + + + XOSCRDY0 + XOSC 0 Ready Interrupt Enable + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready Interrupt Enable + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector Interrupt Enable + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector Interrupt Enable + 3 + 1 + + + DFLLRDY + DFLL Ready Interrupt Enable + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds Interrupt Enable + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine Interrupt Enable + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse Interrupt Enable + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped Interrupt Enable + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise Interrupt Enable + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall Interrupt Enable + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout Interrupt Enable + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete Interrupt Enable + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise Interrupt Enable + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall Interrupt Enable + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout Interrupt Enable + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete Interrupt Enable + 27 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x08 + 32 + + + XOSCRDY0 + XOSC 0 Ready Interrupt Enable + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready Interrupt Enable + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector Interrupt Enable + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector Interrupt Enable + 3 + 1 + + + DFLLRDY + DFLL Ready Interrupt Enable + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds Interrupt Enable + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine Interrupt Enable + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse Interrupt Enable + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped Interrupt Enable + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise Interrupt Enable + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall Interrupt Enable + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout Interrupt Enable + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete Interrupt Enable + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise Interrupt Enable + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall Interrupt Enable + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout Interrupt Enable + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete Interrupt Enable + 27 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0C + 32 + + + XOSCRDY0 + XOSC 0 Ready + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector + 3 + 1 + + + DFLLRDY + DFLL Ready + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete + 27 + 1 + + + + + STATUS + Status + 0x10 + 32 + read-only + + + XOSCRDY0 + XOSC 0 Ready + 0 + 1 + read-only + + + XOSCRDY1 + XOSC 1 Ready + 1 + 1 + read-only + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector + 2 + 1 + read-only + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector + 3 + 1 + read-only + + + XOSCCKSW0 + XOSC 0 Clock Switch + 4 + 1 + read-only + + + XOSCCKSW1 + XOSC 1 Clock Switch + 5 + 1 + read-only + + + DFLLRDY + DFLL Ready + 8 + 1 + read-only + + + DFLLOOB + DFLL Out Of Bounds + 9 + 1 + read-only + + + DFLLLCKF + DFLL Lock Fine + 10 + 1 + read-only + + + DFLLLCKC + DFLL Lock Coarse + 11 + 1 + read-only + + + DFLLRCS + DFLL Reference Clock Stopped + 12 + 1 + read-only + + + DPLL0LCKR + DPLL0 Lock Rise + 16 + 1 + read-only + + + DPLL0LCKF + DPLL0 Lock Fall + 17 + 1 + read-only + + + DPLL0TO + DPLL0 Timeout + 18 + 1 + read-only + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete + 19 + 1 + read-only + + + DPLL1LCKR + DPLL1 Lock Rise + 24 + 1 + read-only + + + DPLL1LCKF + DPLL1 Lock Fall + 25 + 1 + read-only + + + DPLL1TO + DPLL1 Timeout + 26 + 1 + read-only + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete + 27 + 1 + read-only + + + + + 2 + 0x4 + XOSCCTRL%s + External Multipurpose Crystal Oscillator Control + 0x14 + 32 + 0x00000080 + + + ENABLE + Oscillator Enable + 1 + 1 + + + XTALEN + Crystal Oscillator Enable + 2 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + LOWBUFGAIN + Low Buffer Gain Enable + 8 + 1 + + + IPTAT + Oscillator Current Reference + 9 + 2 + + + IMULT + Oscillator Current Multiplier + 11 + 4 + + + ENALC + Automatic Loop Control Enable + 15 + 1 + + + CFDEN + Clock Failure Detector Enable + 16 + 1 + + + SWBEN + Xosc Clock Switch Enable + 17 + 1 + + + STARTUP + Start-Up Time + 20 + 4 + + + CFDPRESC + Clock Failure Detector Prescaler + 24 + 4 + + + + + DFLLCTRLA + DFLL48M Control A + 0x1C + 8 + 0x82 + + + ENABLE + DFLL Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + + + DFLLCTRLB + DFLL48M Control B + 0x20 + 8 + + + MODE + Operating Mode Selection + 0 + 1 + + + STABLE + Stable DFLL Frequency + 1 + 1 + + + LLAW + Lose Lock After Wake + 2 + 1 + + + USBCRM + USB Clock Recovery Mode + 3 + 1 + + + CCDIS + Chill Cycle Disable + 4 + 1 + + + QLDIS + Quick Lock Disable + 5 + 1 + + + BPLCKC + Bypass Coarse Lock + 6 + 1 + + + WAITLOCK + Wait Lock + 7 + 1 + + + + + DFLLVAL + DFLL48M Value + 0x24 + 32 + + + FINE + Fine Value + 0 + 8 + + + COARSE + Coarse Value + 10 + 6 + + + DIFF + Multiplication Ratio Difference + 16 + 16 + read-only + + + + + DFLLMUL + DFLL48M Multiplier + 0x28 + 32 + + + MUL + DFLL Multiply Factor + 0 + 16 + + + FSTEP + Fine Maximum Step + 16 + 8 + + + CSTEP + Coarse Maximum Step + 26 + 6 + + + + + DFLLSYNC + DFLL48M Synchronization + 0x2C + 8 + + + ENABLE + ENABLE Synchronization Busy + 1 + 1 + read-only + + + DFLLCTRLB + DFLLCTRLB Synchronization Busy + 2 + 1 + read-only + + + DFLLVAL + DFLLVAL Synchronization Busy + 3 + 1 + read-only + + + DFLLMUL + DFLLMUL Synchronization Busy + 4 + 1 + read-only + + + + + 2 + 0x14 + DPLLCTRLA%s + DPLL Control A + 0x30 + 8 + 0x80 + + + ENABLE + DPLL Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + + + 2 + 0x14 + DPLLRATIO%s + DPLL Ratio Control + 0x34 + 32 + + + LDR + Loop Divider Ratio + 0 + 13 + + + LDRFRAC + Loop Divider Ratio Fractional Part + 16 + 5 + + + + + 2 + 0x14 + DPLLCTRLB%s + DPLL Control B + 0x38 + 32 + 0x00000020 + + + FILTER + Proportional Integral Filter Selection + 0 + 4 + + + WUF + Wake Up Fast + 4 + 1 + + + REFCLK + Reference Clock Selection + 5 + 3 + + REFCLKSelect + + GCLK + Dedicated GCLK clock reference + 0x0 + + + XOSC32 + XOSC32K clock reference + 0x1 + + + XOSC0 + XOSC0 clock reference + 0x2 + + + XOSC1 + XOSC1 clock reference + 0x3 + + + + + LTIME + Lock Time + 8 + 3 + + LTIMESelect + + DEFAULT + No time-out. Automatic lock + 0x0 + + + 800US + Time-out if no lock within 800us + 0x4 + + + 900US + Time-out if no lock within 900us + 0x5 + + + 1MS + Time-out if no lock within 1ms + 0x6 + + + 1P1MS + Time-out if no lock within 1.1ms + 0x7 + + + + + LBYPASS + Lock Bypass + 11 + 1 + + + DCOFILTER + Sigma-Delta DCO Filter Selection + 12 + 3 + + + DCOEN + DCO Filter Enable + 15 + 1 + + + DIV + Clock Divider + 16 + 11 + + + + + 2 + 0x14 + DPLLSYNCBUSY%s + DPLL Synchronization Busy + 0x3C + 32 + read-only + + + ENABLE + DPLL Enable Synchronization Status + 1 + 1 + read-only + + + DPLLRATIO + DPLL Loop Divider Ratio Synchronization Status + 2 + 1 + read-only + + + + + 2 + 0x14 + DPLLSTATUS%s + DPLL Status + 0x40 + 32 + read-only + + + LOCK + DPLL Lock Status + 0 + 1 + read-only + + + CLKRDY + DPLL Clock Ready + 1 + 1 + read-only + + + + + + + OSC32KCTRL + 1.0.0 + 32kHz Oscillators Control + OSC32KCTRL + OSC32KCTRL_ + 0x40001400 + + 0 + 0x40 + registers + + + OSC32KCTRL_INTREQ + 7 + + + + INTENCLR + Interrupt Enable Clear + 0x00 + 32 + + + XOSC32KRDY + XOSC32K Ready Interrupt Enable + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector Interrupt Enable + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x04 + 32 + + + XOSC32KRDY + XOSC32K Ready Interrupt Enable + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector Interrupt Enable + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x08 + 32 + + + XOSC32KRDY + XOSC32K Ready + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector + 2 + 1 + + + + + STATUS + Power and Clocks Status + 0x0C + 32 + read-only + + + XOSC32KRDY + XOSC32K Ready + 0 + 1 + read-only + + + XOSC32KFAIL + XOSC32K Clock Failure Detector + 2 + 1 + read-only + + + XOSC32KSW + XOSC32K Clock switch + 3 + 1 + read-only + + + + + RTCCTRL + RTC Clock Selection + 0x10 + 8 + + + RTCSEL + RTC Clock Selection + 0 + 3 + + RTCSELSelect + + ULP1K + 1.024kHz from 32kHz internal ULP oscillator + 0x0 + + + ULP32K + 32.768kHz from 32kHz internal ULP oscillator + 0x1 + + + XOSC1K + 1.024kHz from 32.768kHz internal oscillator + 0x4 + + + XOSC32K + 32.768kHz from 32.768kHz external crystal oscillator + 0x5 + + + + + + + XOSC32K + 32kHz External Crystal Oscillator (XOSC32K) Control + 0x14 + 16 + 0x2080 + + + ENABLE + Oscillator Enable + 1 + 1 + + + XTALEN + Crystal Oscillator Enable + 2 + 1 + + + EN32K + 32kHz Output Enable + 3 + 1 + + + EN1K + 1kHz Output Enable + 4 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + STARTUP + Oscillator Start-Up Time + 8 + 3 + + + WRTLOCK + Write Lock + 12 + 1 + + + CGM + Control Gain Mode + 13 + 2 + + CGMSelect + + XT + Standard mode + 0x1 + + + HS + High Speed mode + 0x2 + + + + + + + CFDCTRL + Clock Failure Detector Control + 0x16 + 8 + + + CFDEN + Clock Failure Detector Enable + 0 + 1 + + + SWBACK + Clock Switch Back + 1 + 1 + + + CFDPRESC + Clock Failure Detector Prescaler + 2 + 1 + + + + + EVCTRL + Event Control + 0x17 + 8 + + + CFDEO + Clock Failure Detector Event Output Enable + 0 + 1 + + + + + OSCULP32K + 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control + 0x1C + 32 + + + EN32K + Enable Out 32k + 1 + 1 + + + EN1K + Enable Out 1k + 2 + 1 + + + CALIB + Oscillator Calibration + 8 + 6 + + + WRTLOCK + Write Lock + 15 + 1 + + + + + + + PAC + 1.2.0 + Peripheral Access Controller + PAC + PAC_ + 0x40000000 + + 0 + 0x80 + registers + + + PAC_INTREQ + 41 + + + + WRCTRL + Write control + 0x00 + 32 + + + PERID + Peripheral identifier + 0 + 16 + + + KEY + Peripheral access control key + 16 + 8 + + KEYSelect + + OFF + No action + 0x0 + + + CLR + Clear protection + 0x1 + + + SET + Set protection + 0x2 + + + SETLCK + Set and lock protection + 0x3 + + + + + + + EVCTRL + Event control + 0x04 + 8 + + + ERREO + Peripheral acess error event output + 0 + 1 + + + + + INTENCLR + Interrupt enable clear + 0x08 + 8 + + + ERR + Peripheral access error interrupt disable + 0 + 1 + + + + + INTENSET + Interrupt enable set + 0x09 + 8 + + + ERR + Peripheral access error interrupt enable + 0 + 1 + + + + + INTFLAGAHB + Bridge interrupt flag status + 0x10 + 32 + + + FLASH_ + FLASH + 0 + 1 + + + FLASH_ALT_ + FLASH_ALT + 1 + 1 + + + SEEPROM_ + SEEPROM + 2 + 1 + + + RAMCM4S_ + RAMCM4S + 3 + 1 + + + RAMPPPDSU_ + RAMPPPDSU + 4 + 1 + + + RAMDMAWR_ + RAMDMAWR + 5 + 1 + + + RAMDMACICM_ + RAMDMACICM + 6 + 1 + + + HPB0_ + HPB0 + 7 + 1 + + + HPB1_ + HPB1 + 8 + 1 + + + HPB2_ + HPB2 + 9 + 1 + + + HPB3_ + HPB3 + 10 + 1 + + + PUKCC_ + PUKCC + 11 + 1 + + + SDHC0_ + SDHC0 + 12 + 1 + + + SDHC1_ + SDHC1 + 13 + 1 + + + QSPI_ + QSPI + 14 + 1 + + + BKUPRAM_ + BKUPRAM + 15 + 1 + + + + + INTFLAGA + Peripheral interrupt flag status - Bridge A + 0x14 + 32 + + + PAC_ + PAC + 0 + 1 + + + PM_ + PM + 1 + 1 + + + MCLK_ + MCLK + 2 + 1 + + + RSTC_ + RSTC + 3 + 1 + + + OSCCTRL_ + OSCCTRL + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL + 5 + 1 + + + SUPC_ + SUPC + 6 + 1 + + + GCLK_ + GCLK + 7 + 1 + + + WDT_ + WDT + 8 + 1 + + + RTC_ + RTC + 9 + 1 + + + EIC_ + EIC + 10 + 1 + + + FREQM_ + FREQM + 11 + 1 + + + SERCOM0_ + SERCOM0 + 12 + 1 + + + SERCOM1_ + SERCOM1 + 13 + 1 + + + TC0_ + TC0 + 14 + 1 + + + TC1_ + TC1 + 15 + 1 + + + + + INTFLAGB + Peripheral interrupt flag status - Bridge B + 0x18 + 32 + + + USB_ + USB + 0 + 1 + + + DSU_ + DSU + 1 + 1 + + + NVMCTRL_ + NVMCTRL + 2 + 1 + + + CMCC_ + CMCC + 3 + 1 + + + PORT_ + PORT + 4 + 1 + + + DMAC_ + DMAC + 5 + 1 + + + HMATRIX_ + HMATRIX + 6 + 1 + + + EVSYS_ + EVSYS + 7 + 1 + + + SERCOM2_ + SERCOM2 + 9 + 1 + + + SERCOM3_ + SERCOM3 + 10 + 1 + + + TCC0_ + TCC0 + 11 + 1 + + + TCC1_ + TCC1 + 12 + 1 + + + TC2_ + TC2 + 13 + 1 + + + TC3_ + TC3 + 14 + 1 + + + TAL_ + TAL + 15 + 1 + + + RAMECC_ + RAMECC + 16 + 1 + + + + + INTFLAGC + Peripheral interrupt flag status - Bridge C + 0x1C + 32 + + + CAN0_ + CAN0 + 0 + 1 + + + CAN1_ + CAN1 + 1 + 1 + + + GMAC_ + GMAC + 2 + 1 + + + TCC2_ + TCC2 + 3 + 1 + + + TCC3_ + TCC3 + 4 + 1 + + + TC4_ + TC4 + 5 + 1 + + + TC5_ + TC5 + 6 + 1 + + + PDEC_ + PDEC + 7 + 1 + + + AC_ + AC + 8 + 1 + + + AES_ + AES + 9 + 1 + + + TRNG_ + TRNG + 10 + 1 + + + ICM_ + ICM + 11 + 1 + + + PUKCC_ + PUKCC + 12 + 1 + + + QSPI_ + QSPI + 13 + 1 + + + CCL_ + CCL + 14 + 1 + + + + + INTFLAGD + Peripheral interrupt flag status - Bridge D + 0x20 + 32 + + + SERCOM4_ + SERCOM4 + 0 + 1 + + + SERCOM5_ + SERCOM5 + 1 + 1 + + + SERCOM6_ + SERCOM6 + 2 + 1 + + + SERCOM7_ + SERCOM7 + 3 + 1 + + + TCC4_ + TCC4 + 4 + 1 + + + TC6_ + TC6 + 5 + 1 + + + TC7_ + TC7 + 6 + 1 + + + ADC0_ + ADC0 + 7 + 1 + + + ADC1_ + ADC1 + 8 + 1 + + + DAC_ + DAC + 9 + 1 + + + I2S_ + I2S + 10 + 1 + + + PCC_ + PCC + 11 + 1 + + + + + STATUSA + Peripheral write protection status - Bridge A + 0x34 + 32 + read-only + 0x00010000 + + + PAC_ + PAC APB Protect Enable + 0 + 1 + + + PM_ + PM APB Protect Enable + 1 + 1 + + + MCLK_ + MCLK APB Protect Enable + 2 + 1 + + + RSTC_ + RSTC APB Protect Enable + 3 + 1 + + + OSCCTRL_ + OSCCTRL APB Protect Enable + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL APB Protect Enable + 5 + 1 + + + SUPC_ + SUPC APB Protect Enable + 6 + 1 + + + GCLK_ + GCLK APB Protect Enable + 7 + 1 + + + WDT_ + WDT APB Protect Enable + 8 + 1 + + + RTC_ + RTC APB Protect Enable + 9 + 1 + + + EIC_ + EIC APB Protect Enable + 10 + 1 + + + FREQM_ + FREQM APB Protect Enable + 11 + 1 + + + SERCOM0_ + SERCOM0 APB Protect Enable + 12 + 1 + + + SERCOM1_ + SERCOM1 APB Protect Enable + 13 + 1 + + + TC0_ + TC0 APB Protect Enable + 14 + 1 + + + TC1_ + TC1 APB Protect Enable + 15 + 1 + + + + + STATUSB + Peripheral write protection status - Bridge B + 0x38 + 32 + read-only + 0x00000002 + + + USB_ + USB APB Protect Enable + 0 + 1 + + + DSU_ + DSU APB Protect Enable + 1 + 1 + + + NVMCTRL_ + NVMCTRL APB Protect Enable + 2 + 1 + + + CMCC_ + CMCC APB Protect Enable + 3 + 1 + + + PORT_ + PORT APB Protect Enable + 4 + 1 + + + DMAC_ + DMAC APB Protect Enable + 5 + 1 + + + HMATRIX_ + HMATRIX APB Protect Enable + 6 + 1 + + + EVSYS_ + EVSYS APB Protect Enable + 7 + 1 + + + SERCOM2_ + SERCOM2 APB Protect Enable + 9 + 1 + + + SERCOM3_ + SERCOM3 APB Protect Enable + 10 + 1 + + + TCC0_ + TCC0 APB Protect Enable + 11 + 1 + + + TCC1_ + TCC1 APB Protect Enable + 12 + 1 + + + TC2_ + TC2 APB Protect Enable + 13 + 1 + + + TC3_ + TC3 APB Protect Enable + 14 + 1 + + + TAL_ + TAL APB Protect Enable + 15 + 1 + + + RAMECC_ + RAMECC APB Protect Enable + 16 + 1 + + + + + STATUSC + Peripheral write protection status - Bridge C + 0x3C + 32 + read-only + + + CAN0_ + CAN0 APB Protect Enable + 0 + 1 + + + CAN1_ + CAN1 APB Protect Enable + 1 + 1 + + + GMAC_ + GMAC APB Protect Enable + 2 + 1 + + + TCC2_ + TCC2 APB Protect Enable + 3 + 1 + + + TCC3_ + TCC3 APB Protect Enable + 4 + 1 + + + TC4_ + TC4 APB Protect Enable + 5 + 1 + + + TC5_ + TC5 APB Protect Enable + 6 + 1 + + + PDEC_ + PDEC APB Protect Enable + 7 + 1 + + + AC_ + AC APB Protect Enable + 8 + 1 + + + AES_ + AES APB Protect Enable + 9 + 1 + + + TRNG_ + TRNG APB Protect Enable + 10 + 1 + + + ICM_ + ICM APB Protect Enable + 11 + 1 + + + PUKCC_ + PUKCC APB Protect Enable + 12 + 1 + + + QSPI_ + QSPI APB Protect Enable + 13 + 1 + + + CCL_ + CCL APB Protect Enable + 14 + 1 + + + + + STATUSD + Peripheral write protection status - Bridge D + 0x40 + 32 + read-only + + + SERCOM4_ + SERCOM4 APB Protect Enable + 0 + 1 + + + SERCOM5_ + SERCOM5 APB Protect Enable + 1 + 1 + + + SERCOM6_ + SERCOM6 APB Protect Enable + 2 + 1 + + + SERCOM7_ + SERCOM7 APB Protect Enable + 3 + 1 + + + TCC4_ + TCC4 APB Protect Enable + 4 + 1 + + + TC6_ + TC6 APB Protect Enable + 5 + 1 + + + TC7_ + TC7 APB Protect Enable + 6 + 1 + + + ADC0_ + ADC0 APB Protect Enable + 7 + 1 + + + ADC1_ + ADC1 APB Protect Enable + 8 + 1 + + + DAC_ + DAC APB Protect Enable + 9 + 1 + + + I2S_ + I2S APB Protect Enable + 10 + 1 + + + PCC_ + PCC APB Protect Enable + 11 + 1 + + + + + + + PCC + 1.1.0 + Parallel Capture Controller + PCC + PCC_ + 0x43002C00 + + 0 + 0x100 + registers + + + PCC_INTREQ + 129 + + + + MR + Mode Register + 0x00 + 32 + + + PCEN + Parallel Capture Enable + 0 + 1 + + + DSIZE + Data size + 4 + 2 + + + SCALE + Scale data + 8 + 1 + + + ALWYS + Always Sampling + 9 + 1 + + + HALFS + Half Sampling + 10 + 1 + + + FRSTS + First sample + 11 + 1 + + + ISIZE + Input Data Size + 16 + 3 + + + CID + Clear If Disabled + 30 + 2 + + + + + IER + Interrupt Enable Register + 0x04 + 32 + write-only + + + DRDY + Data Ready Interrupt Enable + 0 + 1 + + + OVRE + Overrun Error Interrupt Enable + 1 + 1 + + + + + IDR + Interrupt Disable Register + 0x08 + 32 + write-only + + + DRDY + Data Ready Interrupt Disable + 0 + 1 + + + OVRE + Overrun Error Interrupt Disable + 1 + 1 + + + + + IMR + Interrupt Mask Register + 0x0C + 32 + read-only + + + DRDY + Data Ready Interrupt Mask + 0 + 1 + + + OVRE + Overrun Error Interrupt Mask + 1 + 1 + + + + + ISR + Interrupt Status Register + 0x10 + 32 + read-only + + + DRDY + Data Ready Interrupt Status + 0 + 1 + + + OVRE + Overrun Error Interrupt Status + 1 + 1 + + + + + RHR + Reception Holding Register + 0x14 + 32 + read-only + + + RDATA + Reception Data + 0 + 32 + + + + + WPMR + Write Protection Mode Register + 0xE0 + 32 + + + WPEN + Write Protection Enable + 0 + 1 + + + WPKEY + Write Protection Key + 8 + 24 + + + + + WPSR + Write Protection Status Register + 0xE4 + 32 + read-only + + + WPVS + Write Protection Violation Source + 0 + 1 + + + WPVSRC + Write Protection Violation Status + 8 + 16 + + + + + + + PDEC + 1.0.0 + Quadrature Decodeur + PDEC + PDEC_ + 0x42001C00 + + 0 + 0x40 + registers + + + PDEC_INTREQ_0 + 115 + + + PDEC_INTREQ_1 + 116 + + + PDEC_INTREQ_2 + 117 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operation Mode + 2 + 2 + + MODESelect + + QDEC + QDEC operating mode + 0x0 + + + HALL + HALL operating mode + 0x1 + + + COUNTER + COUNTER operating mode + 0x2 + + + + + RUNSTDBY + Run in Standby + 6 + 1 + + + CONF + PDEC Configuration + 8 + 3 + + CONFSelect + + X4 + Quadrature decoder direction + 0x0 + + + X4S + Secure Quadrature decoder direction + 0x1 + + + X2 + Decoder direction + 0x2 + + + X2S + Secure decoder direction + 0x3 + + + AUTOC + Auto correction mode + 0x4 + + + + + ALOCK + Auto Lock + 11 + 1 + + + SWAP + PDEC Phase A and B Swap + 14 + 1 + + + PEREN + Period Enable + 15 + 1 + + + PINEN0 + PDEC Input From Pin 0 Enable + 16 + 1 + + + PINEN1 + PDEC Input From Pin 1 Enable + 17 + 1 + + + PINEN2 + PDEC Input From Pin 2 Enable + 18 + 1 + + + PINVEN0 + IO Pin 0 Invert Enable + 20 + 1 + + + PINVEN1 + IO Pin 1 Invert Enable + 21 + 1 + + + PINVEN2 + IO Pin 2 Invert Enable + 22 + 1 + + + ANGULAR + Angular Counter Length + 24 + 3 + + + MAXCMP + Maximum Consecutive Missing Pulses + 28 + 4 + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + LUPD + Lock Update + 1 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a counter restart or retrigger + 0x1 + + + UPDATE + Force update of double buffered registers + 0x2 + + + READSYNC + Force a read synchronization of COUNT + 0x3 + + + START + Start QDEC/HALL + 0x4 + + + STOP + Stop QDEC/HALL + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + LUPD + Lock Update + 1 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a counter restart or retrigger + 0x1 + + + UPDATE + Force update of double buffered registers + 0x2 + + + READSYNC + Force a read synchronization of COUNT + 0x3 + + + Start + Start QDEC/HALL + 0x4 + + + Stop + Stop QDEC/HALL + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 2 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger on event + 0x1 + + + COUNT + Count on event + 0x2 + + + + + EVINV + Inverted Event Input Enable + 2 + 3 + + + EVEI + Event Input Enable + 5 + 3 + + + OVFEO + Overflow/Underflow Output Event Enable + 8 + 1 + + + ERREO + Error Output Event Enable + 9 + 1 + + + DIREO + Direction Output Event Enable + 10 + 1 + + + VLCEO + Velocity Output Event Enable + 11 + 1 + + + MCEO0 + Match Channel 0 Event Output Enable + 12 + 1 + + + MCEO1 + Match Channel 1 Event Output Enable + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + Overflow/Underflow Interrupt Disable + 0 + 1 + + + ERR + Error Interrupt Disable + 1 + 1 + + + DIR + Direction Interrupt Disable + 2 + 1 + + + VLC + Velocity Interrupt Disable + 3 + 1 + + + MC0 + Channel 0 Compare Match Disable + 4 + 1 + + + MC1 + Channel 1 Compare Match Disable + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + Overflow/Underflow Interrupt Enable + 0 + 1 + + + ERR + Error Interrupt Enable + 1 + 1 + + + DIR + Direction Interrupt Enable + 2 + 1 + + + VLC + Velocity Interrupt Enable + 3 + 1 + + + MC0 + Channel 0 Compare Match Enable + 4 + 1 + + + MC1 + Channel 1 Compare Match Enable + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + Overflow/Underflow + 0 + 1 + + + ERR + Error + 1 + 1 + + + DIR + Direction Change + 2 + 1 + + + VLC + Velocity + 3 + 1 + + + MC0 + Channel 0 Compare Match + 4 + 1 + + + MC1 + Channel 1 Compare Match + 5 + 1 + + + + + STATUS + Status + 0x0C + 16 + 0x0040 + + + QERR + Quadrature Error Flag + 0 + 1 + + + IDXERR + Index Error Flag + 1 + 1 + + + MPERR + Missing Pulse Error flag + 2 + 1 + + + WINERR + Window Error Flag + 4 + 1 + + + HERR + Hall Error Flag + 5 + 1 + + + STOP + Stop + 6 + 1 + read-only + + + DIR + Direction Status Flag + 7 + 1 + read-only + + + PRESCBUFV + Prescaler Buffer Valid + 8 + 1 + read-only + + + FILTERBUFV + Filter Buffer Valid + 9 + 1 + read-only + + + CCBUFV0 + Compare Channel 0 Buffer Valid + 12 + 1 + read-only + + + CCBUFV1 + Compare Channel 1 Buffer Valid + 13 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Debug Run Mode + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + + + ENABLE + Enable Synchronization Busy + 1 + 1 + + + CTRLB + Control B Synchronization Busy + 2 + 1 + + + STATUS + Status Synchronization Busy + 3 + 1 + + + PRESC + Prescaler Synchronization Busy + 4 + 1 + + + FILTER + Filter Synchronization Busy + 5 + 1 + + + COUNT + Count Synchronization Busy + 6 + 1 + + + CC0 + Compare Channel 0 Synchronization Busy + 7 + 1 + + + CC1 + Compare Channel 1 Synchronization Busy + 8 + 1 + + + + + PRESC + Prescaler Value + 0x14 + 8 + + + PRESC + Prescaler Value + 0 + 4 + + PRESCSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV32 + Divide by 32 + 0x5 + + + DIV64 + Divide by 64 + 0x6 + + + DIV128 + Divide by 128 + 0x7 + + + DIV256 + Divide by 256 + 0x8 + + + DIV512 + Divide by 512 + 0x9 + + + DIV1024 + Divide by 1024 + 0xa + + + + + + + FILTER + Filter Value + 0x15 + 8 + + + FILTER + Filter Value + 0 + 8 + + + + + PRESCBUF + Prescaler Buffer Value + 0x18 + 8 + + + PRESCBUF + Prescaler Buffer Value + 0 + 4 + + PRESCBUFSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV32 + Divide by 32 + 0x5 + + + DIV64 + Divide by 64 + 0x6 + + + DIV128 + Divide by 128 + 0x7 + + + DIV256 + Divide by 256 + 0x8 + + + DIV512 + Divide by 512 + 0x9 + + + DIV1024 + Divide by 1024 + 0xa + + + + + + + FILTERBUF + Filter Buffer Value + 0x19 + 8 + + + FILTERBUF + Filter Buffer Value + 0 + 8 + + + + + COUNT + Counter Value + 0x1C + 32 + + + COUNT + Counter Value + 0 + 16 + + + + + 2 + 0x4 + CC%s + Channel n Compare Value + 0x20 + 32 + + + CC + Channel Compare Value + 0 + 16 + + + + + 2 + 0x4 + CCBUF%s + Channel Compare Buffer Value + 0x30 + 32 + + + CCBUF + Channel Compare Buffer Value + 0 + 16 + + + + + + + PM + 1.0.0 + Power Manager + PM + PM_ + 0x40000400 + + 0 + 0x40 + registers + + + PM_INTREQ + 0 + + + + CTRLA + Control A + 0x00 + 8 + + + IORET + I/O Retention + 2 + 1 + + + + + SLEEPCFG + Sleep Configuration + 0x01 + 8 + 0x02 + + + SLEEPMODE + Sleep Mode + 0 + 3 + + SLEEPMODESelect + + IDLE0 + CPU clock is OFF + 0x0 + + + IDLE1 + AHB clock is OFF + 0x1 + + + IDLE2 + APB clock are OFF + 0x2 + + + STANDBY + All Clocks are OFF + 0x4 + + + HIBERNATE + Backup domain is ON as well as some PDRAMs + 0x5 + + + BACKUP + Only Backup domain is powered ON + 0x6 + + + OFF + All power domains are powered OFF + 0x7 + + + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready Enable + 0 + 1 + write-only + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready + 0 + 1 + + + + + STDBYCFG + Standby Configuration + 0x08 + 8 + + + RAMCFG + Ram Configuration + 0 + 2 + + RAMCFGSelect + + RET + All the RAMs are retained + 0x0 + + + PARTIAL + Only the first 32K bytes are retained + 0x1 + + + OFF + All the RAMs are OFF + 0x2 + + + + + FASTWKUP + Fast Wakeup + 4 + 2 + + + + + HIBCFG + Hibernate Configuration + 0x09 + 8 + + + RAMCFG + Ram Configuration + 0 + 2 + + + BRAMCFG + Backup Ram Configuration + 2 + 2 + + + + + BKUPCFG + Backup Configuration + 0x0A + 8 + + + BRAMCFG + Ram Configuration + 0 + 2 + + + + + PWSAKDLY + Power Switch Acknowledge Delay + 0x12 + 8 + + + DLYVAL + Delay Value + 0 + 7 + + + IGNACK + Ignore Acknowledge + 7 + 1 + + + + + + + PORT + 2.2.0 + Port Module + PORT + PORT_ + 0x41008000 + + 0 + 0x200 + registers + + + + 3 + 0x80 + DIR%s + Data Direction + 0x00 + 32 + + + DIR + Port Data Direction + 0 + 32 + + + + + 3 + 0x80 + DIRCLR%s + Data Direction Clear + 0x04 + 32 + + + DIRCLR + Port Data Direction Clear + 0 + 32 + + + + + 3 + 0x80 + DIRSET%s + Data Direction Set + 0x08 + 32 + + + DIRSET + Port Data Direction Set + 0 + 32 + + + + + 3 + 0x80 + DIRTGL%s + Data Direction Toggle + 0x0C + 32 + + + DIRTGL + Port Data Direction Toggle + 0 + 32 + + + + + 3 + 0x80 + OUT%s + Data Output Value + 0x10 + 32 + + + OUT + PORT Data Output Value + 0 + 32 + + + + + 3 + 0x80 + OUTCLR%s + Data Output Value Clear + 0x14 + 32 + + + OUTCLR + PORT Data Output Value Clear + 0 + 32 + + + + + 3 + 0x80 + OUTSET%s + Data Output Value Set + 0x18 + 32 + + + OUTSET + PORT Data Output Value Set + 0 + 32 + + + + + 3 + 0x80 + OUTTGL%s + Data Output Value Toggle + 0x1C + 32 + + + OUTTGL + PORT Data Output Value Toggle + 0 + 32 + + + + + 3 + 0x80 + IN%s + Data Input Value + 0x20 + 32 + read-only + + + IN + PORT Data Input Value + 0 + 32 + read-only + + + + + 3 + 0x80 + CTRL%s + Control + 0x24 + 32 + + + SAMPLING + Input Sampling Mode + 0 + 32 + write-only + + + + + 3 + 0x80 + WRCONFIG%s + Write Configuration + 0x28 + 32 + write-only + + + PINMASK + Pin Mask for Multiple Pin Configuration + 0 + 16 + write-only + + + PMUXEN + Peripheral Multiplexer Enable + 16 + 1 + write-only + + + INEN + Input Enable + 17 + 1 + write-only + + + PULLEN + Pull Enable + 18 + 1 + write-only + + + DRVSTR + Output Driver Strength Selection + 22 + 1 + write-only + + + PMUX + Peripheral Multiplexing + 24 + 4 + write-only + + + WRPMUX + Write PMUX + 28 + 1 + write-only + + + WRPINCFG + Write PINCFG + 30 + 1 + write-only + + + HWSEL + Half-Word Select + 31 + 1 + write-only + + + + + 3 + 0x80 + EVCTRL%s + Event Input Control + 0x2C + 32 + + + PID0 + PORT Event Pin Identifier 0 + 0 + 5 + + + EVACT0 + PORT Event Action 0 + 5 + 2 + + EVACT0Select + + OUT + Event output to pin + 0x0 + + + SET + Set output register of pin on event + 0x1 + + + CLR + Clear output register of pin on event + 0x2 + + + TGL + Toggle output register of pin on event + 0x3 + + + + + PORTEI0 + PORT Event Input Enable 0 + 7 + 1 + + + PID1 + PORT Event Pin Identifier 1 + 8 + 5 + + + EVACT1 + PORT Event Action 1 + 13 + 2 + + + PORTEI1 + PORT Event Input Enable 1 + 15 + 1 + + + PID2 + PORT Event Pin Identifier 2 + 16 + 5 + + + EVACT2 + PORT Event Action 2 + 21 + 2 + + + PORTEI2 + PORT Event Input Enable 2 + 23 + 1 + + + PID3 + PORT Event Pin Identifier 3 + 24 + 5 + + + EVACT3 + PORT Event Action 3 + 29 + 2 + + + PORTEI3 + PORT Event Input Enable 3 + 31 + 1 + + + + + 16 + 0x1 + PMUX0_%s + Peripheral Multiplexing - Group 0 + 0x30 + 8 + + + PMUXE + Peripheral Multiplexing for Even-Numbered Pin + 0 + 4 + + + PMUXO + Peripheral Multiplexing for Odd-Numbered Pin + 4 + 4 + + + + + 16 + 0x1 + PMUX1_%s + Peripheral Multiplexing - Group 1 + 0xb0 + + + 16 + 0x1 + PMUX2_%s + Peripheral Multiplexing - Group 2 + 0x130 + + + 32 + 0x1 + PINCFG0_%s + Pin Configuration - Group 0 + 0x40 + 8 + + + PMUXEN + Peripheral Multiplexer Enable + 0 + 1 + + + INEN + Input Enable + 1 + 1 + + + PULLEN + Pull Enable + 2 + 1 + + + DRVSTR + Output Driver Strength Selection + 6 + 1 + + + + + 32 + 0x1 + PINCFG1_%s + Pin Configuration - Group 1 + 0xc0 + + + 32 + 0x1 + PINCFG2_%s + Pin Configuration - Group 2 + 0x140 + + + + + QSPI + 1.6.3 + Quad SPI interface + QSPI + QSPI_ + 0x42003400 + + 0 + 0x80 + registers + + + QSPI_INTREQ + 134 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + LASTXFER + Last Transfer + 24 + 1 + write-only + + + + + CTRLB + Control B + 0x04 + 32 + + + MODE + Serial Memory Mode + 0 + 1 + + MODESelect + + SPI + SPI operating mode + 0x0 + + + MEMORY + Serial Memory operating mode + 0x1 + + + + + LOOPEN + Local Loopback Enable + 1 + 1 + + + WDRBT + Wait Data Read Before Transfer + 2 + 1 + + + SMEMREG + Serial Memory reg + 3 + 1 + + + CSMODE + Chip Select Mode + 4 + 2 + + CSMODESelect + + NORELOAD + The chip select is deasserted if TD has not been reloaded before the end of the current transfer. + 0x0 + + + LASTXFER + The chip select is deasserted when the bit LASTXFER is written at 1 and the character written in TD has been transferred. + 0x1 + + + SYSTEMATICALLY + The chip select is deasserted systematically after each transfer. + 0x2 + + + + + DATALEN + Data Length + 8 + 4 + + DATALENSelect + + 8BITS + 8-bits transfer + 0x0 + + + 9BITS + 9 bits transfer + 0x1 + + + 10BITS + 10-bits transfer + 0x2 + + + 11BITS + 11-bits transfer + 0x3 + + + 12BITS + 12-bits transfer + 0x4 + + + 13BITS + 13-bits transfer + 0x5 + + + 14BITS + 14-bits transfer + 0x6 + + + 15BITS + 15-bits transfer + 0x7 + + + 16BITS + 16-bits transfer + 0x8 + + + + + DLYBCT + Delay Between Consecutive Transfers + 16 + 8 + + + DLYCS + Minimum Inactive CS Delay + 24 + 8 + + + + + BAUD + Baud Rate + 0x08 + 32 + + + CPOL + Clock Polarity + 0 + 1 + + + CPHA + Clock Phase + 1 + 1 + + + BAUD + Serial Clock Baud Rate + 8 + 8 + + + DLYBS + Delay Before SCK + 16 + 8 + + + + + RXDATA + Receive Data + 0x0C + 32 + read-only + + + DATA + Receive Data + 0 + 16 + read-only + + + + + TXDATA + Transmit Data + 0x10 + 32 + write-only + + + DATA + Transmit Data + 0 + 16 + write-only + + + + + INTENCLR + Interrupt Enable Clear + 0x14 + 32 + + + RXC + Receive Data Register Full Interrupt Disable + 0 + 1 + + + DRE + Transmit Data Register Empty Interrupt Disable + 1 + 1 + + + TXC + Transmission Complete Interrupt Disable + 2 + 1 + + + ERROR + Overrun Error Interrupt Disable + 3 + 1 + + + CSRISE + Chip Select Rise Interrupt Disable + 8 + 1 + + + INSTREND + Instruction End Interrupt Disable + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x18 + 32 + + + RXC + Receive Data Register Full Interrupt Enable + 0 + 1 + + + DRE + Transmit Data Register Empty Interrupt Enable + 1 + 1 + + + TXC + Transmission Complete Interrupt Enable + 2 + 1 + + + ERROR + Overrun Error Interrupt Enable + 3 + 1 + + + CSRISE + Chip Select Rise Interrupt Enable + 8 + 1 + + + INSTREND + Instruction End Interrupt Enable + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x1C + 32 + + + RXC + Receive Data Register Full + 0 + 1 + + + DRE + Transmit Data Register Empty + 1 + 1 + + + TXC + Transmission Complete + 2 + 1 + + + ERROR + Overrun Error + 3 + 1 + + + CSRISE + Chip Select Rise + 8 + 1 + + + INSTREND + Instruction End + 10 + 1 + + + + + STATUS + Status Register + 0x20 + 32 + read-only + 0x00000200 + + + ENABLE + Enable + 1 + 1 + read-only + + + CSSTATUS + Chip Select + 9 + 1 + read-only + + + + + INSTRADDR + Instruction Address + 0x30 + 32 + + + ADDR + Instruction Address + 0 + 32 + + + + + INSTRCTRL + Instruction Code + 0x34 + 32 + + + INSTR + Instruction Code + 0 + 8 + + + OPTCODE + Option Code + 16 + 8 + + + + + INSTRFRAME + Instruction Frame + 0x38 + 32 + + + WIDTH + Instruction Code, Address, Option Code and Data Width + 0 + 3 + + WIDTHSelect + + SINGLE_BIT_SPI + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Single-bit SPI + 0x0 + + + DUAL_OUTPUT + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Dual SPI + 0x1 + + + QUAD_OUTPUT + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Quad SPI + 0x2 + + + DUAL_IO + Instruction: Single-bit SPI / Address-Option: Dual SPI / Data: Dual SPI + 0x3 + + + QUAD_IO + Instruction: Single-bit SPI / Address-Option: Quad SPI / Data: Quad SPI + 0x4 + + + DUAL_CMD + Instruction: Dual SPI / Address-Option: Dual SPI / Data: Dual SPI + 0x5 + + + QUAD_CMD + Instruction: Quad SPI / Address-Option: Quad SPI / Data: Quad SPI + 0x6 + + + + + INSTREN + Instruction Enable + 4 + 1 + + + ADDREN + Address Enable + 5 + 1 + + + OPTCODEEN + Option Enable + 6 + 1 + + + DATAEN + Data Enable + 7 + 1 + + + OPTCODELEN + Option Code Length + 8 + 2 + + OPTCODELENSelect + + 1BIT + 1-bit length option code + 0x0 + + + 2BITS + 2-bits length option code + 0x1 + + + 4BITS + 4-bits length option code + 0x2 + + + 8BITS + 8-bits length option code + 0x3 + + + + + ADDRLEN + Address Length + 10 + 1 + + ADDRLENSelect + + 24BITS + 24-bits address length + 0x0 + + + 32BITS + 32-bits address length + 0x1 + + + + + TFRTYPE + Data Transfer Type + 12 + 2 + + TFRTYPESelect + + READ + Read transfer from the serial memory.Scrambling is not performed.Read at random location (fetch) in the serial flash memory is not possible. + 0x0 + + + READMEMORY + Read data transfer from the serial memory.If enabled, scrambling is performed.Read at random location (fetch) in the serial flash memory is possible. + 0x1 + + + WRITE + Write transfer into the serial memory.Scrambling is not performed. + 0x2 + + + WRITEMEMORY + Write data transfer into the serial memory.If enabled, scrambling is performed. + 0x3 + + + + + CRMODE + Continuous Read Mode + 14 + 1 + + + DDREN + Double Data Rate Enable + 15 + 1 + + + DUMMYLEN + Dummy Cycles Length + 16 + 5 + + + + + SCRAMBCTRL + Scrambling Mode + 0x40 + 32 + + + ENABLE + Scrambling/Unscrambling Enable + 0 + 1 + + + RANDOMDIS + Scrambling/Unscrambling Random Value Disable + 1 + 1 + + + + + SCRAMBKEY + Scrambling Key + 0x44 + 32 + write-only + + + KEY + Scrambling User Key + 0 + 32 + write-only + + + + + + + RAMECC + 1.0.0 + RAM ECC + RAMECC + RAMECC_ + 0x41020000 + + 0 + 0x10 + registers + + + RAMECC_INTREQ + 45 + + + + INTENCLR + Interrupt Enable Clear + 0x0 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt Enable Clear + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt Enable Clear + 1 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x1 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt Enable Set + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt Enable Set + 1 + 1 + + + + + INTFLAG + Interrupt Flag + 0x2 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt + 1 + 1 + + + + + STATUS + Status + 0x3 + 8 + read-only + + + ECCDIS + ECC Disable + 0 + 1 + read-only + + + + + ERRADDR + Error Address + 0x4 + 32 + read-only + + + ERRADDR + Error Address + 0 + 17 + read-only + + + + + DBGCTRL + Debug Control + 0xF + 8 + + + ECCDIS + ECC Disable + 0 + 1 + + + ECCELOG + ECC Error Log + 1 + 1 + + + + + + + RSTC + 4.0.0 + Reset Controller + RSTC + RSTC_ + 0x40000C00 + + 0 + 0x20 + registers + + + + RCAUSE + Reset Cause + 0x00 + 8 + read-only + + + POR + Power On Reset + 0 + 1 + + + BODCORE + Brown Out CORE Detector Reset + 1 + 1 + + + BODVDD + Brown Out VDD Detector Reset + 2 + 1 + + + NVM + NVM Reset + 3 + 1 + + + EXT + External Reset + 4 + 1 + + + WDT + Watchdog Reset + 5 + 1 + + + SYST + System Reset Request + 6 + 1 + + + BACKUP + Backup Reset + 7 + 1 + + + + + BKUPEXIT + Backup Exit Source + 0x02 + 8 + read-only + + + RTC + Real Timer Counter Interrupt + 1 + 1 + read-only + + + BBPS + Battery Backup Power Switch + 2 + 1 + read-only + + + HIB + Hibernate + 7 + 1 + read-only + + + + + + + RTC + 2.1.0 + Real-Time Counter + RTC + RTC_ + 0x40002400 + + 0 + 0x100 + registers + + + RTC_INTREQ + 11 + + + + MODE0 + 32-bit Counter with Single 32-bit Compare + RtcMode0 + 0x0 + + CTRLA + MODE0 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + MATCHCLR + Clear on Match + 7 + 1 + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + COUNTSYNC + Count Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE0 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE0 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + CMPEO0 + Compare 0 Event Output Enable + 8 + 1 + + + CMPEO1 + Compare 1 Event Output Enable + 9 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE0 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + write-only + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + write-only + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + write-only + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + write-only + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + write-only + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + write-only + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + write-only + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + write-only + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE0 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE0 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + CMP0 + Compare 0 + 8 + 1 + + + CMP1 + Compare 1 + 9 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE0 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + COUNT + COUNT Register Busy + 3 + 1 + read-only + + + COMP0 + COMP 0 Register Busy + 5 + 1 + read-only + + + COMP1 + COMP 1 Register Busy + 6 + 1 + read-only + + + COUNTSYNC + Count Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + COUNT + MODE0 Counter Value + 0x18 + 32 + + + COUNT + Counter Value + 0 + 32 + + + + + 2 + 0x4 + COMP%s + MODE0 Compare n Value + 0x20 + 32 + + + COMP + Compare Value + 0 + 32 + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE0 Timestamp + 0x64 + 32 + read-only + + + COUNT + Count Timestamp Value + 0 + 32 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + MODE1 + 16-bit Counter with Two 16-bit Compares + MODE0 + RtcMode1 + 0x0 + + CTRLA + MODE1 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + COUNTSYNC + Count Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE1 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE1 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + CMPEO0 + Compare 0 Event Output Enable + 8 + 1 + + + CMPEO1 + Compare 1 Event Output Enable + 9 + 1 + + + CMPEO2 + Compare 2 Event Output Enable + 10 + 1 + + + CMPEO3 + Compare 3 Event Output Enable + 11 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE1 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + CMP2 + Compare 2 Interrupt Enable + 10 + 1 + + + CMP3 + Compare 3 Interrupt Enable + 11 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE1 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + CMP2 + Compare 2 Interrupt Enable + 10 + 1 + + + CMP3 + Compare 3 Interrupt Enable + 11 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE1 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + CMP0 + Compare 0 + 8 + 1 + + + CMP1 + Compare 1 + 9 + 1 + + + CMP2 + Compare 2 + 10 + 1 + + + CMP3 + Compare 3 + 11 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE1 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Bit Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + COUNT + COUNT Register Busy + 3 + 1 + read-only + + + PER + PER Register Busy + 4 + 1 + read-only + + + COMP0 + COMP 0 Register Busy + 5 + 1 + read-only + + + COMP1 + COMP 1 Register Busy + 6 + 1 + read-only + + + COMP2 + COMP 2 Register Busy + 7 + 1 + read-only + + + COMP3 + COMP 3 Register Busy + 8 + 1 + read-only + + + COUNTSYNC + Count Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + COUNT + MODE1 Counter Value + 0x18 + 16 + + + COUNT + Counter Value + 0 + 16 + + + + + PER + MODE1 Counter Period + 0x1C + 16 + + + PER + Counter Period + 0 + 16 + + + + + 4 + 0x2 + COMP%s + MODE1 Compare n Value + 0x20 + 16 + + + COMP + Compare Value + 0 + 16 + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE1 Timestamp + 0x64 + 32 + read-only + + + COUNT + Count Timestamp Value + 0 + 16 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + MODE2 + Clock/Calendar with Alarm + MODE0 + RtcMode2 + 0x0 + + CTRLA + MODE2 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + CLKREP + Clock Representation + 6 + 1 + + + MATCHCLR + Clear on Match + 7 + 1 + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + CLOCKSYNC + Clock Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE2 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE2 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + ALARMEO0 + Alarm 0 Event Output Enable + 8 + 1 + + + ALARMEO1 + Alarm 1 Event Output Enable + 9 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE2 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + ALARM0 + Alarm 0 Interrupt Enable + 8 + 1 + + + ALARM1 + Alarm 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE2 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Enable + 7 + 1 + + + ALARM0 + Alarm 0 Interrupt Enable + 8 + 1 + + + ALARM1 + Alarm 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE2 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + ALARM0 + Alarm 0 + 8 + 1 + + + ALARM1 + Alarm 1 + 9 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE2 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Bit Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + CLOCK + CLOCK Register Busy + 3 + 1 + read-only + + + ALARM0 + ALARM 0 Register Busy + 5 + 1 + read-only + + + ALARM1 + ALARM 1 Register Busy + 6 + 1 + read-only + + + MASK0 + MASK 0 Register Busy + 11 + 1 + read-only + + + MASK1 + MASK 1 Register Busy + 12 + 1 + read-only + + + CLOCKSYNC + Clock Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + CLOCK + MODE2 Clock Value + 0x18 + 32 + + + SECOND + Second + 0 + 6 + + + MINUTE + Minute + 6 + 6 + + + HOUR + Hour + 12 + 5 + + HOURSelect + + AM + AM when CLKREP in 12-hour + 0x0 + + + PM + PM when CLKREP in 12-hour + 0x10 + + + + + DAY + Day + 17 + 5 + + + MONTH + Month + 22 + 4 + + + YEAR + Year + 26 + 6 + + + + + 2 + 0x8 + ALARM%s + MODE2 Alarm n Value + 0x20 + 32 + + + SECOND + Second + 0 + 6 + + + MINUTE + Minute + 6 + 6 + + + HOUR + Hour + 12 + 5 + + HOURSelect + + AM + Morning hour + 0x0 + + + PM + Afternoon hour + 0x10 + + + + + DAY + Day + 17 + 5 + + + MONTH + Month + 22 + 4 + + + YEAR + Year + 26 + 6 + + + + + 2 + 0x8 + MASK%s + MODE2 Alarm n Mask + 0x24 + 8 + + + SEL + Alarm Mask Selection + 0 + 3 + + SELSelect + + OFF + Alarm Disabled + 0x0 + + + SS + Match seconds only + 0x1 + + + MMSS + Match seconds and minutes only + 0x2 + + + HHMMSS + Match seconds, minutes, and hours only + 0x3 + + + DDHHMMSS + Match seconds, minutes, hours, and days only + 0x4 + + + MMDDHHMMSS + Match seconds, minutes, hours, days, and months only + 0x5 + + + YYMMDDHHMMSS + Match seconds, minutes, hours, days, months, and years + 0x6 + + + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE2 Timestamp + 0x64 + 32 + read-only + + + SECOND + Second Timestamp Value + 0 + 6 + read-only + + + MINUTE + Minute Timestamp Value + 6 + 6 + read-only + + + HOUR + Hour Timestamp Value + 12 + 5 + read-only + + HOURSelect + + AM + AM when CLKREP in 12-hour + 0x0 + + + PM + PM when CLKREP in 12-hour + 0x10 + + + + + DAY + Day Timestamp Value + 17 + 5 + read-only + + + MONTH + Month Timestamp Value + 22 + 4 + read-only + + + YEAR + Year Timestamp Value + 26 + 6 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + + + SDHC0 + 1.8.3 + SD/MMC Host Controller 0 + SDHC + SDHC_ + 0x45000000 + + 0 + 0x00000C00 + registers + + + SDHC0_INTREQ + 135 + + + + SSAR + SDMA System Address / Argument 2 + 0x000 + 32 + + + ADDR + SDMA System Address + 0 + 32 + + + + + SSAR_CMD23 + SDMA System Address / Argument 2 + SSAR + 0x000 + 32 + + + ARG2 + Argument 2 + 0 + 32 + + + + + BSR + Block Size + 0x004 + 16 + + + BLOCKSIZE + Transfer Block Size + 0 + 10 + + + BOUNDARY + SDMA Buffer Boundary + 12 + 3 + + BOUNDARYSelect + + 4K + 4k bytes + 0x0 + + + 8K + 8k bytes + 0x1 + + + 16K + 16k bytes + 0x2 + + + 32K + 32k bytes + 0x3 + + + 64K + 64k bytes + 0x4 + + + 128K + 128k bytes + 0x5 + + + 256K + 256k bytes + 0x6 + + + 512K + 512k bytes + 0x7 + + + + + + + BCR + Block Count + 0x006 + 16 + + + BCNT + Blocks Count for Current Transfer + 0 + 16 + + + + + ARG1R + Argument 1 + 0x008 + 32 + + + ARG + Argument 1 + 0 + 32 + + + + + TMR + Transfer Mode + 0x00C + 16 + + + DMAEN + DMA Enable + 0 + 1 + + DMAENSelect + + DISABLE + No data transfer or Non DMA data transfer + 0x0 + + + ENABLE + DMA data transfer + 0x1 + + + + + BCEN + Block Count Enable + 1 + 1 + + BCENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + ACMDEN + Auto Command Enable + 2 + 2 + + ACMDENSelect + + DISABLED + Auto Command Disabled + 0x0 + + + CMD12 + Auto CMD12 Enable + 0x1 + + + CMD23 + Auto CMD23 Enable + 0x2 + + + + + DTDSEL + Data Transfer Direction Selection + 4 + 1 + + DTDSELSelect + + WRITE + Write (Host to Card) + 0x0 + + + READ + Read (Card to Host) + 0x1 + + + + + MSBSEL + Multi/Single Block Selection + 5 + 1 + + MSBSELSelect + + SINGLE + Single Block + 0x0 + + + MULTIPLE + Multiple Block + 0x1 + + + + + + + CR + Command + 0x00E + 16 + + + RESPTYP + Response Type + 0 + 2 + + RESPTYPSelect + + NONE + No response + 0x0 + + + 136_BIT + 136-bit response + 0x1 + + + 48_BIT + 48-bit response + 0x2 + + + 48_BIT_BUSY + 48-bit response check busy after response + 0x3 + + + + + CMDCCEN + Command CRC Check Enable + 3 + 1 + + CMDCCENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + CMDICEN + Command Index Check Enable + 4 + 1 + + CMDICENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + DPSEL + Data Present Select + 5 + 1 + + DPSELSelect + + NO_DATA + No Data Present + 0x0 + + + DATA + Data Present + 0x1 + + + + + CMDTYP + Command Type + 6 + 2 + + CMDTYPSelect + + NORMAL + Other commands + 0x0 + + + SUSPEND + CMD52 for writing Bus Suspend in CCCR + 0x1 + + + RESUME + CMD52 for writing Function Select in CCCR + 0x2 + + + ABORT + CMD12, CMD52 for writing I/O Abort in CCCR + 0x3 + + + + + CMDIDX + Command Index + 8 + 6 + + + + + 4 + 0x4 + RR%s + Response + 0x010 + 32 + read-only + + + CMDRESP + Command Response + 0 + 32 + + + + + BDPR + Buffer Data Port + 0x020 + 32 + + + BUFDATA + Buffer Data + 0 + 32 + + + + + PSR + Present State + 0x024 + 32 + read-only + 0x00F80000 + + + CMDINHC + Command Inhibit (CMD) + 0 + 1 + + CMDINHCSelect + + CAN + Can issue command using only CMD line + 0x0 + + + CANNOT + Cannot issue command + 0x1 + + + + + CMDINHD + Command Inhibit (DAT) + 1 + 1 + + CMDINHDSelect + + CAN + Can issue command which uses the DAT line + 0x0 + + + CANNOT + Cannot issue command which uses the DAT line + 0x1 + + + + + DLACT + DAT Line Active + 2 + 1 + + DLACTSelect + + INACTIVE + DAT Line Inactive + 0x0 + + + ACTIVE + DAT Line Active + 0x1 + + + + + RTREQ + Re-Tuning Request + 3 + 1 + + RTREQSelect + + OK + Fixed or well-tuned sampling clock + 0x0 + + + REQUIRED + Sampling clock needs re-tuning + 0x1 + + + + + WTACT + Write Transfer Active + 8 + 1 + + WTACTSelect + + NO + No valid data + 0x0 + + + YES + Transferring data + 0x1 + + + + + RTACT + Read Transfer Active + 9 + 1 + + RTACTSelect + + NO + No valid data + 0x0 + + + YES + Transferring data + 0x1 + + + + + BUFWREN + Buffer Write Enable + 10 + 1 + + BUFWRENSelect + + DISABLE + Write disable + 0x0 + + + ENABLE + Write enable + 0x1 + + + + + BUFRDEN + Buffer Read Enable + 11 + 1 + + BUFRDENSelect + + DISABLE + Read disable + 0x0 + + + ENABLE + Read enable + 0x1 + + + + + CARDINS + Card Inserted + 16 + 1 + + CARDINSSelect + + NO + Reset or Debouncing or No Card + 0x0 + + + YES + Card inserted + 0x1 + + + + + CARDSS + Card State Stable + 17 + 1 + + CARDSSSelect + + NO + Reset or Debouncing + 0x0 + + + YES + No Card or Insered + 0x1 + + + + + CARDDPL + Card Detect Pin Level + 18 + 1 + + CARDDPLSelect + + NO + No card present (SDCD#=1) + 0x0 + + + YES + Card present (SDCD#=0) + 0x1 + + + + + WRPPL + Write Protect Pin Level + 19 + 1 + + WRPPLSelect + + PROTECTED + Write protected (SDWP#=0) + 0x0 + + + ENABLED + Write enabled (SDWP#=1) + 0x1 + + + + + DATLL + DAT[3:0] Line Level + 20 + 4 + + + CMDLL + CMD Line Level + 24 + 1 + + + + + HC1R + Host Control 1 + 0x028 + 8 + 0xE00 + + + LEDCTRL + LED Control + 0 + 1 + + LEDCTRLSelect + + OFF + LED off + 0x0 + + + ON + LED on + 0x1 + + + + + DW + Data Width + 1 + 1 + + DWSelect + + 1BIT + 1-bit mode + 0x0 + + + 4BIT + 4-bit mode + 0x1 + + + + + HSEN + High Speed Enable + 2 + 1 + + HSENSelect + + NORMAL + Normal Speed mode + 0x0 + + + HIGH + High Speed mode + 0x1 + + + + + DMASEL + DMA Select + 3 + 2 + + DMASELSelect + + SDMA + SDMA is selected + 0x0 + + + 32BIT + 32-bit Address ADMA2 is selected + 0x2 + + + + + CARDDTL + Card Detect Test Level + 6 + 1 + + CARDDTLSelect + + NO + No Card + 0x0 + + + YES + Card Inserted + 0x1 + + + + + CARDDSEL + Card Detect Signal Selection + 7 + 1 + + CARDDSELSelect + + NORMAL + SDCD# is selected (for normal use) + 0x0 + + + TEST + The Card Select Test Level is selected (for test purpose) + 0x1 + + + + + + + HC1R_EMMC + Host Control 1 + HC1R + 0x028 + 8 + 0xE00 + + + DW + Data Width + 1 + 1 + + DWSelect + + 1BIT + 1-bit mode + 0x0 + + + 4BIT + 4-bit mode + 0x1 + + + + + HSEN + High Speed Enable + 2 + 1 + + HSENSelect + + NORMAL + Normal Speed mode + 0x0 + + + HIGH + High Speed mode + 0x1 + + + + + DMASEL + DMA Select + 3 + 2 + + DMASELSelect + + SDMA + SDMA is selected + 0x0 + + + 32BIT + 32-bit Address ADMA2 is selected + 0x2 + + + + + + + PCR + Power Control + 0x029 + 8 + 0x0E + + + SDBPWR + SD Bus Power + 0 + 1 + + SDBPWRSelect + + OFF + Power off + 0x0 + + + ON + Power on + 0x1 + + + + + SDBVSEL + SD Bus Voltage Select + 1 + 3 + + SDBVSELSelect + + 1V8 + 1.8V (Typ.) + 0x5 + + + 3V0 + 3.0V (Typ.) + 0x6 + + + 3V3 + 3.3V (Typ.) + 0x7 + + + + + + + BGCR + Block Gap Control + 0x02A + 8 + + + STPBGR + Stop at Block Gap Request + 0 + 1 + + STPBGRSelect + + TRANSFER + Transfer + 0x0 + + + STOP + Stop + 0x1 + + + + + CONTR + Continue Request + 1 + 1 + + CONTRSelect + + GO_ON + Not affected + 0x0 + + + RESTART + Restart + 0x1 + + + + + RWCTRL + Read Wait Control + 2 + 1 + + RWCTRLSelect + + DISABLE + Disable Read Wait Control + 0x0 + + + ENABLE + Enable Read Wait Control + 0x1 + + + + + INTBG + Interrupt at Block Gap + 3 + 1 + + INTBGSelect + + DISABLED + Disabled + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + BGCR_EMMC + Block Gap Control + BGCR + 0x02A + 8 + + + STPBGR + Stop at Block Gap Request + 0 + 1 + + STPBGRSelect + + TRANSFER + Transfer + 0x0 + + + STOP + Stop + 0x1 + + + + + CONTR + Continue Request + 1 + 1 + + CONTRSelect + + GO_ON + Not affected + 0x0 + + + RESTART + Restart + 0x1 + + + + + + + WCR + Wakeup Control + 0x02B + 8 + + + WKENCINT + Wakeup Event Enable on Card Interrupt + 0 + 1 + + WKENCINTSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + WKENCINS + Wakeup Event Enable on Card Insertion + 1 + 1 + + WKENCINSSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + WKENCREM + Wakeup Event Enable on Card Removal + 2 + 1 + + WKENCREMSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + + + CCR + Clock Control + 0x02C + 16 + + + INTCLKEN + Internal Clock Enable + 0 + 1 + + INTCLKENSelect + + OFF + Stop + 0x0 + + + ON + Oscillate + 0x1 + + + + + INTCLKS + Internal Clock Stable + 1 + 1 + read-only + + INTCLKSSelect + + NOT_READY + Not Ready + 0x0 + + + READY + Ready + 0x1 + + + + + SDCLKEN + SD Clock Enable + 2 + 1 + + SDCLKENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + CLKGSEL + Clock Generator Select + 5 + 1 + + CLKGSELSelect + + DIV + Divided Clock Mode + 0x0 + + + PROG + Programmable Clock Mode + 0x1 + + + + + USDCLKFSEL + Upper Bits of SDCLK Frequency Select + 6 + 2 + + + SDCLKFSEL + SDCLK Frequency Select + 8 + 8 + + + + + TCR + Timeout Control + 0x02E + 8 + + + DTCVAL + Data Timeout Counter Value + 0 + 4 + + + + + SRR + Software Reset + 0x02F + 8 + + + SWRSTALL + Software Reset For All + 0 + 1 + + SWRSTALLSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + SWRSTCMD + Software Reset For CMD Line + 1 + 1 + + SWRSTCMDSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + SWRSTDAT + Software Reset For DAT Line + 2 + 1 + + SWRSTDATSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + + + NISTR + Normal Interrupt Status + 0x030 + 16 + + + CMDC + Command Complete + 0 + 1 + + CMDCSelect + + NO + No command complete + 0x0 + + + YES + Command complete + 0x1 + + + + + TRFC + Transfer Complete + 1 + 1 + + TRFCSelect + + NO + Not complete + 0x0 + + + YES + Command execution is completed + 0x1 + + + + + BLKGE + Block Gap Event + 2 + 1 + + BLKGESelect + + NO + No Block Gap Event + 0x0 + + + STOP + Transaction stopped at block gap + 0x1 + + + + + DMAINT + DMA Interrupt + 3 + 1 + + DMAINTSelect + + NO + No DMA Interrupt + 0x0 + + + YES + DMA Interrupt is generated + 0x1 + + + + + BWRRDY + Buffer Write Ready + 4 + 1 + + BWRRDYSelect + + NO + Not ready to write buffer + 0x0 + + + YES + Ready to write buffer + 0x1 + + + + + BRDRDY + Buffer Read Ready + 5 + 1 + + BRDRDYSelect + + NO + Not ready to read buffer + 0x0 + + + YES + Ready to read buffer + 0x1 + + + + + CINS + Card Insertion + 6 + 1 + + CINSSelect + + NO + Card state stable or Debouncing + 0x0 + + + YES + Card inserted + 0x1 + + + + + CREM + Card Removal + 7 + 1 + + CREMSelect + + NO + Card state stable or Debouncing + 0x0 + + + YES + Card Removed + 0x1 + + + + + CINT + Card Interrupt + 8 + 1 + read-only + + CINTSelect + + NO + No Card Interrupt + 0x0 + + + YES + Generate Card Interrupt + 0x1 + + + + + ERRINT + Error Interrupt + 15 + 1 + read-only + + ERRINTSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + NISTR_EMMC + Normal Interrupt Status + NISTR + 0x030 + 16 + + + CMDC + Command Complete + 0 + 1 + + CMDCSelect + + NO + No command complete + 0x0 + + + YES + Command complete + 0x1 + + + + + TRFC + Transfer Complete + 1 + 1 + + TRFCSelect + + NO + Not complete + 0x0 + + + YES + Command execution is completed + 0x1 + + + + + BLKGE + Block Gap Event + 2 + 1 + + BLKGESelect + + NO + No Block Gap Event + 0x0 + + + STOP + Transaction stopped at block gap + 0x1 + + + + + DMAINT + DMA Interrupt + 3 + 1 + + DMAINTSelect + + NO + No DMA Interrupt + 0x0 + + + YES + DMA Interrupt is generated + 0x1 + + + + + BWRRDY + Buffer Write Ready + 4 + 1 + + BWRRDYSelect + + NO + Not ready to write buffer + 0x0 + + + YES + Ready to write buffer + 0x1 + + + + + BRDRDY + Buffer Read Ready + 5 + 1 + + BRDRDYSelect + + NO + Not ready to read buffer + 0x0 + + + YES + Ready to read buffer + 0x1 + + + + + BOOTAR + Boot Acknowledge Received + 14 + 1 + + + ERRINT + Error Interrupt + 15 + 1 + read-only + + ERRINTSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + EISTR + Error Interrupt Status + 0x032 + 16 + + + CMDTEO + Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + CMDCRC + Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + CMDEND + Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + CMDIDX + Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATTEO + Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + DATCRC + Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATEND + Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + CURLIM + Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Error + 0x0 + + + YES + Power Fail + 0x1 + + + + + ACMD + Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + ADMA + ADMA Error + 9 + 1 + + ADMASelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + EISTR_EMMC + Error Interrupt Status + EISTR + 0x032 + 16 + + + CMDTEO + Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + CMDCRC + Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + CMDEND + Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + CMDIDX + Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATTEO + Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + DATCRC + Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATEND + Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + CURLIM + Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Error + 0x0 + + + YES + Power Fail + 0x1 + + + + + ACMD + Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + ADMA + ADMA Error + 9 + 1 + + ADMASelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + BOOTAE + Boot Acknowledge Error + 12 + 1 + + BOOTAESelect + + 0 + FIFO contains at least one byte + 0x0 + + + 1 + FIFO is empty + 0x1 + + + + + + + NISTER + Normal Interrupt Status Enable + 0x034 + 16 + + + CMDC + Command Complete Status Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Status Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Status Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Status Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Status Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Status Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINS + Card Insertion Status Enable + 6 + 1 + + CINSSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CREM + Card Removal Status Enable + 7 + 1 + + CREMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINT + Card Interrupt Status Enable + 8 + 1 + + CINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + NISTER_EMMC + Normal Interrupt Status Enable + NISTER + 0x034 + 16 + + + CMDC + Command Complete Status Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Status Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Status Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Status Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Status Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Status Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAR + Boot Acknowledge Received Status Enable + 14 + 1 + + + + + EISTER + Error Interrupt Status Enable + 0x036 + 16 + + + CMDTEO + Command Timeout Error Status Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Status Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Status Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Status Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Status Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Status Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Status Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Status Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Status Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Status Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + EISTER_EMMC + Error Interrupt Status Enable + EISTER + 0x036 + 16 + + + CMDTEO + Command Timeout Error Status Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Status Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Status Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Status Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Status Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Status Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Status Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Status Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Status Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Status Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAE + Boot Acknowledge Error Status Enable + 12 + 1 + + + + + NISIER + Normal Interrupt Signal Enable + 0x038 + 16 + + + CMDC + Command Complete Signal Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Signal Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Signal Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Signal Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Signal Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Signal Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINS + Card Insertion Signal Enable + 6 + 1 + + CINSSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CREM + Card Removal Signal Enable + 7 + 1 + + CREMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINT + Card Interrupt Signal Enable + 8 + 1 + + CINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + NISIER_EMMC + Normal Interrupt Signal Enable + NISIER + 0x038 + 16 + + + CMDC + Command Complete Signal Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Signal Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Signal Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Signal Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Signal Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Signal Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAR + Boot Acknowledge Received Signal Enable + 14 + 1 + + + + + EISIER + Error Interrupt Signal Enable + 0x03A + 16 + + + CMDTEO + Command Timeout Error Signal Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Signal Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Signal Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Signal Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Signal Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Signal Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Signal Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Signal Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Signal Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Signal Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + EISIER_EMMC + Error Interrupt Signal Enable + EISIER + 0x03A + 16 + + + CMDTEO + Command Timeout Error Signal Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Signal Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Signal Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Signal Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Signal Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Signal Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Signal Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Signal Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Signal Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Signal Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAE + Boot Acknowledge Error Signal Enable + 12 + 1 + + + + + ACESR + Auto CMD Error Status + 0x03C + 16 + read-only + + + ACMD12NE + Auto CMD12 Not Executed + 0 + 1 + read-only + + ACMD12NESelect + + EXEC + Executed + 0x0 + + + NOT_EXEC + Not executed + 0x1 + + + + + ACMDTEO + Auto CMD Timeout Error + 1 + 1 + read-only + + ACMDTEOSelect + + NO + No error + 0x0 + + + YES + Timeout + 0x1 + + + + + ACMDCRC + Auto CMD CRC Error + 2 + 1 + read-only + + ACMDCRCSelect + + NO + No error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + ACMDEND + Auto CMD End Bit Error + 3 + 1 + read-only + + ACMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + ACMDIDX + Auto CMD Index Error + 4 + 1 + read-only + + ACMDIDXSelect + + NO + No error + 0x0 + + + YES + Error + 0x1 + + + + + CMDNI + Command not Issued By Auto CMD12 Error + 7 + 1 + read-only + + CMDNISelect + + OK + No error + 0x0 + + + NOT_ISSUED + Not Issued + 0x1 + + + + + + + HC2R + Host Control 2 + 0x03E + 16 + + + UHSMS + UHS Mode Select + 0 + 3 + + UHSMSSelect + + SDR12 + SDR12 + 0x0 + + + SDR25 + SDR25 + 0x1 + + + SDR50 + SDR50 + 0x2 + + + SDR104 + SDR104 + 0x3 + + + DDR50 + DDR50 + 0x4 + + + + + VS18EN + 1.8V Signaling Enable + 3 + 1 + + VS18ENSelect + + S33V + 3.3V Signaling + 0x0 + + + S18V + 1.8V Signaling + 0x1 + + + + + DRVSEL + Driver Strength Select + 4 + 2 + + DRVSELSelect + + B + Driver Type B is Selected (Default) + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + EXTUN + Execute Tuning + 6 + 1 + + EXTUNSelect + + NO + Not Tuned or Tuning Completed + 0x0 + + + REQUESTED + Execute Tuning + 0x1 + + + + + SLCKSEL + Sampling Clock Select + 7 + 1 + + SLCKSELSelect + + FIXED + Fixed clock is used to sample data + 0x0 + + + TUNED + Tuned clock is used to sample data + 0x1 + + + + + ASINTEN + Asynchronous Interrupt Enable + 14 + 1 + + ASINTENSelect + + DISABLED + Disabled + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + PVALEN + Preset Value Enable + 15 + 1 + + PVALENSelect + + HOST + SDCLK and Driver Strength are controlled by Host Controller + 0x0 + + + AUTO + Automatic Selection by Preset Value is Enabled + 0x1 + + + + + + + HC2R_EMMC + Host Control 2 + HC2R + 0x03E + 16 + + + HS200EN + HS200 Mode Enable + 0 + 4 + + HS200ENSelect + + SDR12 + SDR12 + 0x0 + + + SDR25 + SDR25 + 0x1 + + + SDR50 + SDR50 + 0x2 + + + SDR104 + SDR104 + 0x3 + + + DDR50 + DDR50 + 0x4 + + + + + DRVSEL + Driver Strength Select + 4 + 2 + + DRVSELSelect + + B + Driver Type B is Selected (Default) + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + EXTUN + Execute Tuning + 6 + 1 + + EXTUNSelect + + NO + Not Tuned or Tuning Completed + 0x0 + + + REQUESTED + Execute Tuning + 0x1 + + + + + SLCKSEL + Sampling Clock Select + 7 + 1 + + SLCKSELSelect + + FIXED + Fixed clock is used to sample data + 0x0 + + + TUNED + Tuned clock is used to sample data + 0x1 + + + + + PVALEN + Preset Value Enable + 15 + 1 + + PVALENSelect + + HOST + SDCLK and Driver Strength are controlled by Host Controller + 0x0 + + + AUTO + Automatic Selection by Preset Value is Enabled + 0x1 + + + + + + + CA0R + Capabilities 0 + 0x040 + 32 + read-only + 0x27E80080 + + + TEOCLKF + Timeout Clock Frequency + 0 + 6 + + TEOCLKFSelect + + OTHER + Get information via another method + 0x0 + + + + + TEOCLKU + Timeout Clock Unit + 7 + 1 + + TEOCLKUSelect + + KHZ + kHz + 0x0 + + + MHZ + MHz + 0x1 + + + + + BASECLKF + Base Clock Frequency + 8 + 8 + + BASECLKFSelect + + OTHER + Get information via another method + 0x0 + + + + + MAXBLKL + Max Block Length + 16 + 2 + + MAXBLKLSelect + + 512 + 512 bytes + 0x0 + + + 1024 + 1024 bytes + 0x1 + + + 2048 + 2048 bytes + 0x2 + + + + + ED8SUP + 8-bit Support for Embedded Device + 18 + 1 + + ED8SUPSelect + + NO + 8-bit Bus Width not Supported + 0x0 + + + YES + 8-bit Bus Width Supported + 0x1 + + + + + ADMA2SUP + ADMA2 Support + 19 + 1 + + ADMA2SUPSelect + + NO + ADMA2 not Supported + 0x0 + + + YES + ADMA2 Supported + 0x1 + + + + + HSSUP + High Speed Support + 21 + 1 + + HSSUPSelect + + NO + High Speed not Supported + 0x0 + + + YES + High Speed Supported + 0x1 + + + + + SDMASUP + SDMA Support + 22 + 1 + + SDMASUPSelect + + NO + SDMA not Supported + 0x0 + + + YES + SDMA Supported + 0x1 + + + + + SRSUP + Suspend/Resume Support + 23 + 1 + + SRSUPSelect + + NO + Suspend/Resume not Supported + 0x0 + + + YES + Suspend/Resume Supported + 0x1 + + + + + V33VSUP + Voltage Support 3.3V + 24 + 1 + + V33VSUPSelect + + NO + 3.3V Not Supported + 0x0 + + + YES + 3.3V Supported + 0x1 + + + + + V30VSUP + Voltage Support 3.0V + 25 + 1 + + V30VSUPSelect + + NO + 3.0V Not Supported + 0x0 + + + YES + 3.0V Supported + 0x1 + + + + + V18VSUP + Voltage Support 1.8V + 26 + 1 + + V18VSUPSelect + + NO + 1.8V Not Supported + 0x0 + + + YES + 1.8V Supported + 0x1 + + + + + SB64SUP + 64-Bit System Bus Support + 28 + 1 + + SB64SUPSelect + + NO + 32-bit Address Descriptors and System Bus + 0x0 + + + YES + 64-bit Address Descriptors and System Bus + 0x1 + + + + + ASINTSUP + Asynchronous Interrupt Support + 29 + 1 + + ASINTSUPSelect + + NO + Asynchronous Interrupt not Supported + 0x0 + + + YES + Asynchronous Interrupt supported + 0x1 + + + + + SLTYPE + Slot Type + 30 + 2 + + SLTYPESelect + + REMOVABLE + Removable Card Slot + 0x0 + + + EMBEDDED + Embedded Slot for One Device + 0x1 + + + + + + + CA1R + Capabilities 1 + 0x044 + 32 + read-only + 0x00000070 + + + SDR50SUP + SDR50 Support + 0 + 1 + + SDR50SUPSelect + + NO + SDR50 is Not Supported + 0x0 + + + YES + SDR50 is Supported + 0x1 + + + + + SDR104SUP + SDR104 Support + 1 + 1 + + SDR104SUPSelect + + NO + SDR104 is Not Supported + 0x0 + + + YES + SDR104 is Supported + 0x1 + + + + + DDR50SUP + DDR50 Support + 2 + 1 + + DDR50SUPSelect + + NO + DDR50 is Not Supported + 0x0 + + + YES + DDR50 is Supported + 0x1 + + + + + DRVASUP + Driver Type A Support + 4 + 1 + + DRVASUPSelect + + NO + Driver Type A is Not Supported + 0x0 + + + YES + Driver Type A is Supported + 0x1 + + + + + DRVCSUP + Driver Type C Support + 5 + 1 + + DRVCSUPSelect + + NO + Driver Type C is Not Supported + 0x0 + + + YES + Driver Type C is Supported + 0x1 + + + + + DRVDSUP + Driver Type D Support + 6 + 1 + + DRVDSUPSelect + + NO + Driver Type D is Not Supported + 0x0 + + + YES + Driver Type D is Supported + 0x1 + + + + + TCNTRT + Timer Count for Re-Tuning + 8 + 4 + + TCNTRTSelect + + DISABLED + Re-Tuning Timer disabled + 0x0 + + + 1S + 1 second + 0x1 + + + 2S + 2 seconds + 0x2 + + + 4S + 4 seconds + 0x3 + + + 8S + 8 seconds + 0x4 + + + 16S + 16 seconds + 0x5 + + + 32S + 32 seconds + 0x6 + + + 64S + 64 seconds + 0x7 + + + 128S + 128 seconds + 0x8 + + + 256S + 256 seconds + 0x9 + + + 512S + 512 seconds + 0xa + + + 1024S + 1024 seconds + 0xb + + + OTHER + Get information from other source + 0xf + + + + + TSDR50 + Use Tuning for SDR50 + 13 + 1 + + TSDR50Select + + NO + SDR50 does not require tuning + 0x0 + + + YES + SDR50 requires tuning + 0x1 + + + + + CLKMULT + Clock Multiplier + 16 + 8 + + CLKMULTSelect + + NO + Clock Multiplier is Not Supported + 0x0 + + + + + + + MCCAR + Maximum Current Capabilities + 0x048 + 32 + read-only + + + MAXCUR33V + Maximum Current for 3.3V + 0 + 8 + + MAXCUR33VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + MAXCUR30V + Maximum Current for 3.0V + 8 + 8 + + MAXCUR30VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + MAXCUR18V + Maximum Current for 1.8V + 16 + 8 + + MAXCUR18VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + + + FERACES + Force Event for Auto CMD Error Status + 0x050 + 16 + write-only + + + ACMD12NE + Force Event for Auto CMD12 Not Executed + 0 + 1 + + ACMD12NESelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDTEO + Force Event for Auto CMD Timeout Error + 1 + 1 + + ACMDTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDCRC + Force Event for Auto CMD CRC Error + 2 + 1 + + ACMDCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDEND + Force Event for Auto CMD End Bit Error + 3 + 1 + + ACMDENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDIDX + Force Event for Auto CMD Index Error + 4 + 1 + + ACMDIDXSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDNI + Force Event for Command Not Issued By Auto CMD12 Error + 7 + 1 + + CMDNISelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + + + FEREIS + Force Event for Error Interrupt Status + 0x052 + 16 + write-only + + + CMDTEO + Force Event for Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDCRC + Force Event for Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDEND + Force Event for Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDIDX + Force Event for Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATTEO + Force Event for Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATCRC + Force Event for Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATEND + Force Event for Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CURLIM + Force Event for Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMD + Force Event for Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ADMA + Force Event for ADMA Error + 9 + 1 + + ADMASelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + BOOTAE + Force Event for Boot Acknowledge Error + 12 + 1 + + BOOTAESelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + + + AESR + ADMA Error Status + 0x054 + 8 + read-only + + + ERRST + ADMA Error State + 0 + 2 + + ERRSTSelect + + STOP + ST_STOP (Stop DMA) + 0x0 + + + FDS + ST_FDS (Fetch Descriptor) + 0x1 + + + TFR + ST_TFR (Transfer Data) + 0x3 + + + + + LMIS + ADMA Length Mismatch Error + 2 + 1 + + LMISSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + 1 + 0x4 + ASAR%s + ADMA System Address n + 0x058 + 32 + + + ADMASA + ADMA System Address + 0 + 32 + + + + + 8 + 0x2 + PVR%s + Preset Value n + 0x060 + 16 + + + SDCLKFSEL + SDCLK Frequency Select Value for Initialization + 0 + 10 + + + CLKGSEL + Clock Generator Select Value for Initialization + 10 + 1 + + CLKGSELSelect + + DIV + Host Controller Ver2.00 Compatible Clock Generator (Divider) + 0x0 + + + PROG + Programmable Clock Generator + 0x1 + + + + + DRVSEL + Driver Strength Select Value for Initialization + 14 + 2 + + DRVSELSelect + + B + Driver Type B is Selected + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + + + SISR + Slot Interrupt Status + 0x0FC + 16 + read-only + 0x20000 + + + INTSSL + Interrupt Signal for Each Slot + 0 + 1 + + + + + HCVR + Host Controller Version + 0x0FE + 16 + read-only + 0x1802 + + + SVER + Spec Version + 0 + 8 + + + VVER + Vendor Version + 8 + 8 + + + + + MC1R + MMC Control 1 + 0x204 + 8 + + + CMDTYP + e.MMC Command Type + 0 + 2 + + CMDTYPSelect + + NORMAL + Not a MMC specific command + 0x0 + + + WAITIRQ + Wait IRQ Command + 0x1 + + + STREAM + Stream Command + 0x2 + + + BOOT + Boot Command + 0x3 + + + + + DDR + e.MMC HSDDR Mode + 3 + 1 + + + OPD + e.MMC Open Drain Mode + 4 + 1 + + + BOOTA + e.MMC Boot Acknowledge Enable + 5 + 1 + + + RSTN + e.MMC Reset Signal + 6 + 1 + + + FCD + e.MMC Force Card Detect + 7 + 1 + + + + + MC2R + MMC Control 2 + 0x205 + 8 + write-only + + + SRESP + e.MMC Abort Wait IRQ + 0 + 1 + + + ABOOT + e.MMC Abort Boot + 1 + 1 + + + + + ACR + AHB Control + 0x208 + 32 + + + BMAX + AHB Maximum Burst + 0 + 2 + + BMAXSelect + + INCR16 + 0x0 + + + INCR8 + 0x1 + + + INCR4 + 0x2 + + + SINGLE + 0x3 + + + + + + + CC2R + Clock Control 2 + 0x20C + 32 + + + FSDCLKD + Force SDCK Disabled + 0 + 1 + + FSDCLKDSelect + + NOEFFECT + No effect + 0x0 + + + DISABLE + SDCLK can be stopped at any time after DATA transfer.SDCLK enable forcing for 8 SDCLK cycles is disabled + 0x1 + + + + + + + CACR + Capabilities Control + 0x230 + 32 + + + CAPWREN + Capabilities Registers Write Enable (Required to write the correct frequencies in the Capabilities Registers) + 0 + 1 + + + KEY + Key (0x46) + 8 + 8 + + + + + DBGR + Debug + 0x234 + 8 + + + NIDBG + Non-intrusive debug enable + 0 + 1 + + NIDBGSelect + + IDBG + Debugging is intrusive (reads of BDPR from debugger are considered and increment the internal buffer pointer) + 0x0 + + + NIDBG + Debugging is not intrusive (reads of BDPR from debugger are discarded and do not increment the internal buffer pointer) + 0x1 + + + + + + + + + SDHC1 + SD/MMC Host Controller 1 + 0x46000000 + + SDHC1_INTREQ + 136 + + + + SERCOM0 + 5.0.0 + Serial Communication Interface 0 + SERCOM + SERCOM_ + 0x40003000 + + 0 + 0x40 + registers + + + SERCOM0_INTREQ_0 + 46 + + + SERCOM0_INTREQ_1 + 47 + + + SERCOM0_INTREQ_2 + 48 + + + SERCOM0_INTREQ_3 + 49 + + + + I2CM + I2C Master Mode + SercomI2cm + 0x0 + + CTRLA + I2CM Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run in Standby + 7 + 1 + + + PINOUT + Pin Usage + 16 + 1 + + + SDAHOLD + SDA Hold Time + 20 + 2 + + + MEXTTOEN + Master SCL Low Extend Timeout + 22 + 1 + + + SEXTTOEN + Slave SCL Low Extend Timeout + 23 + 1 + + + SPEED + Transfer Speed + 24 + 2 + + + SCLSM + SCL Clock Stretch Mode + 27 + 1 + + + INACTOUT + Inactive Time-Out + 28 + 2 + + + LOWTOUTEN + SCL Low Timeout Enable + 30 + 1 + + + + + CTRLB + I2CM Control B + 0x04 + 32 + + + SMEN + Smart Mode Enable + 8 + 1 + + + QCEN + Quick Command Enable + 9 + 1 + + + CMD + Command + 16 + 2 + write-only + + + ACKACT + Acknowledge Action + 18 + 1 + + + + + CTRLC + I2CM Control C + 0x08 + 32 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + BAUD + I2CM Baud Rate + 0x0C + 32 + + + BAUD + Baud Rate Value + 0 + 8 + + + BAUDLOW + Baud Rate Value Low + 8 + 8 + + + HSBAUD + High Speed Baud Rate Value + 16 + 8 + + + HSBAUDLOW + High Speed Baud Rate Value Low + 24 + 8 + + + + + INTENCLR + I2CM Interrupt Enable Clear + 0x14 + 8 + + + MB + Master On Bus Interrupt Disable + 0 + 1 + + + SB + Slave On Bus Interrupt Disable + 1 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + I2CM Interrupt Enable Set + 0x16 + 8 + + + MB + Master On Bus Interrupt Enable + 0 + 1 + + + SB + Slave On Bus Interrupt Enable + 1 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + I2CM Interrupt Flag Status and Clear + 0x18 + 8 + + + MB + Master On Bus Interrupt + 0 + 1 + + + SB + Slave On Bus Interrupt + 1 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + I2CM Status + 0x1A + 16 + + + BUSERR + Bus Error + 0 + 1 + + + ARBLOST + Arbitration Lost + 1 + 1 + + + RXNACK + Received Not Acknowledge + 2 + 1 + read-only + + + BUSSTATE + Bus State + 4 + 2 + + + LOWTOUT + SCL Low Timeout + 6 + 1 + + + CLKHOLD + Clock Hold + 7 + 1 + read-only + + + MEXTTOUT + Master SCL Low Extend Timeout + 8 + 1 + + + SEXTTOUT + Slave SCL Low Extend Timeout + 9 + 1 + + + LENERR + Length Error + 10 + 1 + + + + + SYNCBUSY + I2CM Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + SYSOP + System Operation Synchronization Busy + 2 + 1 + read-only + + + LENGTH + Length Synchronization Busy + 4 + 1 + read-only + + + + + ADDR + I2CM Address + 0x24 + 32 + + + ADDR + Address Value + 0 + 11 + + + LENEN + Length Enable + 13 + 1 + + + HS + High Speed Mode + 14 + 1 + + + TENBITEN + Ten Bit Addressing Enable + 15 + 1 + + + LEN + Length + 16 + 8 + + + + + DATA + I2CM Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + I2CM Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + I2CS + I2C Slave Mode + I2CM + SercomI2cs + 0x0 + + CTRLA + I2CS Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + PINOUT + Pin Usage + 16 + 1 + + + SDAHOLD + SDA Hold Time + 20 + 2 + + + SEXTTOEN + Slave SCL Low Extend Timeout + 23 + 1 + + + SPEED + Transfer Speed + 24 + 2 + + + SCLSM + SCL Clock Stretch Mode + 27 + 1 + + + LOWTOUTEN + SCL Low Timeout Enable + 30 + 1 + + + + + CTRLB + I2CS Control B + 0x04 + 32 + + + SMEN + Smart Mode Enable + 8 + 1 + + + GCMD + PMBus Group Command + 9 + 1 + + + AACKEN + Automatic Address Acknowledge + 10 + 1 + + + AMODE + Address Mode + 14 + 2 + + + CMD + Command + 16 + 2 + write-only + + + ACKACT + Acknowledge Action + 18 + 1 + + + + + CTRLC + I2CS Control C + 0x08 + 32 + + + SDASETUP + SDA Setup Time + 0 + 4 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + INTENCLR + I2CS Interrupt Enable Clear + 0x14 + 8 + + + PREC + Stop Received Interrupt Disable + 0 + 1 + + + AMATCH + Address Match Interrupt Disable + 1 + 1 + + + DRDY + Data Interrupt Disable + 2 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + I2CS Interrupt Enable Set + 0x16 + 8 + + + PREC + Stop Received Interrupt Enable + 0 + 1 + + + AMATCH + Address Match Interrupt Enable + 1 + 1 + + + DRDY + Data Interrupt Enable + 2 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + I2CS Interrupt Flag Status and Clear + 0x18 + 8 + + + PREC + Stop Received Interrupt + 0 + 1 + + + AMATCH + Address Match Interrupt + 1 + 1 + + + DRDY + Data Interrupt + 2 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + I2CS Status + 0x1A + 16 + + + BUSERR + Bus Error + 0 + 1 + + + COLL + Transmit Collision + 1 + 1 + + + RXNACK + Received Not Acknowledge + 2 + 1 + read-only + + + DIR + Read/Write Direction + 3 + 1 + read-only + + + SR + Repeated Start + 4 + 1 + read-only + + + LOWTOUT + SCL Low Timeout + 6 + 1 + + + CLKHOLD + Clock Hold + 7 + 1 + read-only + + + SEXTTOUT + Slave SCL Low Extend Timeout + 9 + 1 + + + HS + High Speed + 10 + 1 + + + LENERR + Transaction Length Error + 11 + 1 + + + + + SYNCBUSY + I2CS Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + LENGTH + Length Synchronization Busy + 4 + 1 + read-only + + + + + LENGTH + I2CS Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 1 + + + + + ADDR + I2CS Address + 0x24 + 32 + + + GENCEN + General Call Address Enable + 0 + 1 + + + ADDR + Address Value + 1 + 10 + + + TENBITEN + Ten Bit Addressing Enable + 15 + 1 + + + ADDRMASK + Address Mask + 17 + 10 + + + + + DATA + I2CS Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + + SPI + SPI Mode + I2CM + SercomSpi + 0x0 + + CTRLA + SPI Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + IBON + Immediate Buffer Overflow Notification + 8 + 1 + + + DOPO + Data Out Pinout + 16 + 2 + + + DIPO + Data In Pinout + 20 + 2 + + + FORM + Frame Format + 24 + 4 + + + CPHA + Clock Phase + 28 + 1 + + + CPOL + Clock Polarity + 29 + 1 + + + DORD + Data Order + 30 + 1 + + + + + CTRLB + SPI Control B + 0x04 + 32 + + + CHSIZE + Character Size + 0 + 3 + + + PLOADEN + Data Preload Enable + 6 + 1 + + + SSDE + Slave Select Low Detect Enable + 9 + 1 + + + MSSEN + Master Slave Select Enable + 13 + 1 + + + AMODE + Address Mode + 14 + 2 + + + RXEN + Receiver Enable + 17 + 1 + + + + + CTRLC + SPI Control C + 0x08 + 32 + + + ICSPACE + Inter-Character Spacing + 0 + 6 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + BAUD + SPI Baud Rate + 0x0C + 8 + + + BAUD + Baud Rate Value + 0 + 8 + + + + + INTENCLR + SPI Interrupt Enable Clear + 0x14 + 8 + + + DRE + Data Register Empty Interrupt Disable + 0 + 1 + + + TXC + Transmit Complete Interrupt Disable + 1 + 1 + + + RXC + Receive Complete Interrupt Disable + 2 + 1 + + + SSL + Slave Select Low Interrupt Disable + 3 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + SPI Interrupt Enable Set + 0x16 + 8 + + + DRE + Data Register Empty Interrupt Enable + 0 + 1 + + + TXC + Transmit Complete Interrupt Enable + 1 + 1 + + + RXC + Receive Complete Interrupt Enable + 2 + 1 + + + SSL + Slave Select Low Interrupt Enable + 3 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + SPI Interrupt Flag Status and Clear + 0x18 + 8 + + + DRE + Data Register Empty Interrupt + 0 + 1 + read-only + + + TXC + Transmit Complete Interrupt + 1 + 1 + + + RXC + Receive Complete Interrupt + 2 + 1 + read-only + + + SSL + Slave Select Low Interrupt Flag + 3 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + SPI Status + 0x1A + 16 + + + BUFOVF + Buffer Overflow + 2 + 1 + + + LENERR + Transaction Length Error + 11 + 1 + + + + + SYNCBUSY + SPI Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + CTRLB + CTRLB Synchronization Busy + 2 + 1 + read-only + + + LENGTH + LENGTH Synchronization Busy + 4 + 1 + read-only + + + + + LENGTH + SPI Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 1 + + + + + ADDR + SPI Address + 0x24 + 32 + + + ADDR + Address Value + 0 + 8 + + + ADDRMASK + Address Mask + 16 + 8 + + + + + DATA + SPI Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + SPI Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + USART + USART Mode + I2CM + SercomUsart + 0x0 + + CTRLA + USART Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + IBON + Immediate Buffer Overflow Notification + 8 + 1 + + + TXINV + Transmit Data Invert + 9 + 1 + + + RXINV + Receive Data Invert + 10 + 1 + + + SAMPR + Sample + 13 + 3 + + + TXPO + Transmit Data Pinout + 16 + 2 + + + RXPO + Receive Data Pinout + 20 + 2 + + + SAMPA + Sample Adjustment + 22 + 2 + + + FORM + Frame Format + 24 + 4 + + + CMODE + Communication Mode + 28 + 1 + + + CPOL + Clock Polarity + 29 + 1 + + + DORD + Data Order + 30 + 1 + + + + + CTRLB + USART Control B + 0x04 + 32 + + + CHSIZE + Character Size + 0 + 3 + + + SBMODE + Stop Bit Mode + 6 + 1 + + + COLDEN + Collision Detection Enable + 8 + 1 + + + SFDE + Start of Frame Detection Enable + 9 + 1 + + + ENC + Encoding Format + 10 + 1 + + + PMODE + Parity Mode + 13 + 1 + + + TXEN + Transmitter Enable + 16 + 1 + + + RXEN + Receiver Enable + 17 + 1 + + + LINCMD + LIN Command + 24 + 2 + write-only + + + + + CTRLC + USART Control C + 0x08 + 32 + + + GTIME + Guard Time + 0 + 3 + + + BRKLEN + LIN Master Break Length + 8 + 2 + + + HDRDLY + LIN Master Header Delay + 10 + 2 + + + INACK + Inhibit Not Acknowledge + 16 + 1 + + + DSNACK + Disable Successive NACK + 17 + 1 + + + MAXITER + Maximum Iterations + 20 + 3 + + + DATA32B + Data 32 Bit + 24 + 2 + + + + + BAUD + USART Baud Rate + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 16 + + + + + BAUD_FRAC_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 13 + + + FP + Fractional Part + 13 + 3 + + + + + BAUD_FRACFP_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 13 + + + FP + Fractional Part + 13 + 3 + + + + + BAUD_USARTFP_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 16 + + + + + RXPL + USART Receive Pulse Length + 0x0E + 8 + + + RXPL + Receive Pulse Length + 0 + 8 + + + + + INTENCLR + USART Interrupt Enable Clear + 0x14 + 8 + + + DRE + Data Register Empty Interrupt Disable + 0 + 1 + + + TXC + Transmit Complete Interrupt Disable + 1 + 1 + + + RXC + Receive Complete Interrupt Disable + 2 + 1 + + + RXS + Receive Start Interrupt Disable + 3 + 1 + + + CTSIC + Clear To Send Input Change Interrupt Disable + 4 + 1 + + + RXBRK + Break Received Interrupt Disable + 5 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + USART Interrupt Enable Set + 0x16 + 8 + + + DRE + Data Register Empty Interrupt Enable + 0 + 1 + + + TXC + Transmit Complete Interrupt Enable + 1 + 1 + + + RXC + Receive Complete Interrupt Enable + 2 + 1 + + + RXS + Receive Start Interrupt Enable + 3 + 1 + + + CTSIC + Clear To Send Input Change Interrupt Enable + 4 + 1 + + + RXBRK + Break Received Interrupt Enable + 5 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + USART Interrupt Flag Status and Clear + 0x18 + 8 + + + DRE + Data Register Empty Interrupt + 0 + 1 + read-only + + + TXC + Transmit Complete Interrupt + 1 + 1 + + + RXC + Receive Complete Interrupt + 2 + 1 + read-only + + + RXS + Receive Start Interrupt + 3 + 1 + write-only + + + CTSIC + Clear To Send Input Change Interrupt + 4 + 1 + + + RXBRK + Break Received Interrupt + 5 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + USART Status + 0x1A + 16 + + + PERR + Parity Error + 0 + 1 + + + FERR + Frame Error + 1 + 1 + + + BUFOVF + Buffer Overflow + 2 + 1 + + + CTS + Clear To Send + 3 + 1 + read-only + + + ISF + Inconsistent Sync Field + 4 + 1 + + + COLL + Collision Detected + 5 + 1 + + + TXE + Transmitter Empty + 6 + 1 + read-only + + + ITER + Maximum Number of Repetitions Reached + 7 + 1 + + + + + SYNCBUSY + USART Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + CTRLB + CTRLB Synchronization Busy + 2 + 1 + read-only + + + RXERRCNT + RXERRCNT Synchronization Busy + 3 + 1 + read-only + + + LENGTH + LENGTH Synchronization Busy + 4 + 1 + read-only + + + + + RXERRCNT + USART Receive Error Count + 0x20 + 8 + read-only + + + LENGTH + USART Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 2 + + + + + DATA + USART Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + USART Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + + + SERCOM1 + Serial Communication Interface 1 + 0x40003400 + + SERCOM1_INTREQ_0 + 50 + + + SERCOM1_INTREQ_1 + 51 + + + SERCOM1_INTREQ_2 + 52 + + + SERCOM1_INTREQ_3 + 53 + + + + SERCOM2 + Serial Communication Interface 2 + 0x41012000 + + SERCOM2_INTREQ_0 + 54 + + + SERCOM2_INTREQ_1 + 55 + + + SERCOM2_INTREQ_2 + 56 + + + SERCOM2_INTREQ_3 + 57 + + + + SERCOM3 + Serial Communication Interface 3 + 0x41014000 + + SERCOM3_INTREQ_0 + 58 + + + SERCOM3_INTREQ_1 + 59 + + + SERCOM3_INTREQ_2 + 60 + + + SERCOM3_INTREQ_3 + 61 + + + + SERCOM4 + Serial Communication Interface 4 + 0x43000000 + + SERCOM4_INTREQ_0 + 62 + + + SERCOM4_INTREQ_1 + 63 + + + SERCOM4_INTREQ_2 + 64 + + + SERCOM4_INTREQ_3 + 65 + + + + SERCOM5 + Serial Communication Interface 5 + 0x43000400 + + SERCOM5_INTREQ_0 + 66 + + + SERCOM5_INTREQ_1 + 67 + + + SERCOM5_INTREQ_2 + 68 + + + SERCOM5_INTREQ_3 + 69 + + + + SERCOM6 + Serial Communication Interface 6 + 0x43000800 + + SERCOM6_INTREQ_0 + 70 + + + SERCOM6_INTREQ_1 + 71 + + + SERCOM6_INTREQ_2 + 72 + + + SERCOM6_INTREQ_3 + 73 + + + + SERCOM7 + Serial Communication Interface 7 + 0x43000C00 + + SERCOM7_INTREQ_0 + 74 + + + SERCOM7_INTREQ_1 + 75 + + + SERCOM7_INTREQ_2 + 76 + + + SERCOM7_INTREQ_3 + 77 + + + + SUPC + 1.0.0 + Supply Controller + SUPC + SUPC_ + 0x40001800 + + 0 + 0x80 + registers + + + SUPC_INTREQ_0 + 8 + + + SUPC_INTREQ_1 + 9 + + + + INTENCLR + Interrupt Enable Clear + 0x00 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x04 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x08 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + STATUS + Power and Clocks Status + 0x0C + 32 + read-only + + + BOD33RDY + BOD33 Ready + 0 + 1 + read-only + + + BOD33DET + BOD33 Detection + 1 + 1 + read-only + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + read-only + + + BOD12RDY + BOD12 Ready + 3 + 1 + read-only + + + BOD12DET + BOD12 Detection + 4 + 1 + read-only + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + read-only + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + read-only + + + VCORERDY + VDDCORE Ready + 10 + 1 + read-only + + + + + BOD33 + BOD33 Control + 0x10 + 32 + + + ENABLE + Enable + 1 + 1 + + + ACTION + Action when Threshold Crossed + 2 + 2 + + ACTIONSelect + + NONE + No action + 0x0 + + + RESET + The BOD33 generates a reset + 0x1 + + + INT + The BOD33 generates an interrupt + 0x2 + + + BKUP + The BOD33 puts the device in backup sleep mode + 0x3 + + + + + STDBYCFG + Configuration in Standby mode + 4 + 1 + + + RUNSTDBY + Run in Standby mode + 5 + 1 + + + RUNHIB + Run in Hibernate mode + 6 + 1 + + + RUNBKUP + Run in Backup mode + 7 + 1 + + + HYST + Hysteresis value + 8 + 4 + + + PSEL + Prescaler Select + 12 + 3 + + PSELSelect + + NODIV + Not divided + 0x0 + + + DIV4 + Divide clock by 4 + 0x1 + + + DIV8 + Divide clock by 8 + 0x2 + + + DIV16 + Divide clock by 16 + 0x3 + + + DIV32 + Divide clock by 32 + 0x4 + + + DIV64 + Divide clock by 64 + 0x5 + + + DIV128 + Divide clock by 128 + 0x6 + + + DIV256 + Divide clock by 256 + 0x7 + + + + + LEVEL + Threshold Level for VDD + 16 + 8 + + + VBATLEVEL + Threshold Level in battery backup sleep mode for VBAT + 24 + 8 + + + + + BOD12 + BOD12 Control + 0x14 + 32 + + + ENABLE + Enable + 1 + 1 + + + HYST + Hysteresis Enable + 2 + 1 + + + ACTION + Action when Threshold Crossed + 3 + 2 + + ACTIONSelect + + NONE + No action + 0x0 + + + RESET + The BOD12 generates a reset + 0x1 + + + INT + The BOD12 generates an interrupt + 0x2 + + + + + STDBYCFG + Configuration in Standby mode + 5 + 1 + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ACTCFG + Configuration in Active mode + 8 + 1 + + + PSEL + Prescaler Select + 12 + 4 + + PSELSelect + + DIV2 + Divide clock by 2 + 0x0 + + + DIV4 + Divide clock by 4 + 0x1 + + + DIV8 + Divide clock by 8 + 0x2 + + + DIV16 + Divide clock by 16 + 0x3 + + + DIV32 + Divide clock by 32 + 0x4 + + + DIV64 + Divide clock by 64 + 0x5 + + + DIV128 + Divide clock by 128 + 0x6 + + + DIV256 + Divide clock by 256 + 0x7 + + + DIV512 + Divide clock by 512 + 0x8 + + + DIV1024 + Divide clock by 1024 + 0x9 + + + DIV2048 + Divide clock by 2048 + 0xa + + + DIV4096 + Divide clock by 4096 + 0xb + + + DIV8192 + Divide clock by 8192 + 0xc + + + DIV16384 + Divide clock by 16384 + 0xd + + + DIV32768 + Divide clock by 32768 + 0xe + + + DIV65536 + Divide clock by 65536 + 0xf + + + + + LEVEL + Threshold Level + 16 + 6 + + + + + VREG + VREG Control + 0x18 + 32 + 0x00000002 + + + ENABLE + Enable + 1 + 1 + + + SEL + Voltage Regulator Selection + 2 + 1 + + SELSelect + + LDO + LDO selection + 0x0 + + + BUCK + Buck selection + 0x1 + + + + + RUNBKUP + Run in Backup mode + 7 + 1 + + + VSEN + Voltage Scaling Enable + 16 + 1 + + + VSPER + Voltage Scaling Period + 24 + 3 + + + + + VREF + VREF Control + 0x1C + 32 + + + TSEN + Temperature Sensor Output Enable + 1 + 1 + + + VREFOE + Voltage Reference Output Enable + 2 + 1 + + + TSSEL + Temperature Sensor Selection + 3 + 1 + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + On Demand Contrl + 7 + 1 + + + SEL + Voltage Reference Selection + 16 + 4 + + SELSelect + + 1V0 + 1.0V voltage reference typical value + 0x0 + + + 1V1 + 1.1V voltage reference typical value + 0x1 + + + 1V2 + 1.2V voltage reference typical value + 0x2 + + + 1V25 + 1.25V voltage reference typical value + 0x3 + + + 2V0 + 2.0V voltage reference typical value + 0x4 + + + 2V2 + 2.2V voltage reference typical value + 0x5 + + + 2V4 + 2.4V voltage reference typical value + 0x6 + + + 2V5 + 2.5V voltage reference typical value + 0x7 + + + + + + + BBPS + Battery Backup Power Switch + 0x20 + 32 + + + CONF + Battery Backup Configuration + 0 + 1 + + CONFSelect + + BOD33 + The power switch is handled by the BOD33 + 0x0 + + + FORCED + In Backup Domain, the backup domain is always supplied by battery backup power + 0x1 + + + + + WAKEEN + Wake Enable + 2 + 1 + + + + + BKOUT + Backup Output Control + 0x24 + 32 + + + EN + Enable Output + 0 + 2 + + + CLR + Clear Output + 8 + 2 + write-only + + + SET + Set Output + 16 + 2 + write-only + + + RTCTGL + RTC Toggle Output + 24 + 2 + + + + + BKIN + Backup Input Control + 0x28 + 32 + read-only + + + BKIN + Backup Input Value + 0 + 8 + read-only + + + + + + + TAL + 2.0.0 + Trigger Allocator + TAL + TAL_ + 0x4101E000 + + 0 + 0x400 + registers + + + TAL_INTREQ_0 + 42 + + + TAL_INTREQ_1 + 43 + + + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + + + EXTCTRL + External Break Control + 0x001 + 8 + + + ENABLE + Enable BRK Pin + 0 + 1 + + + INV + Invert BRK Pin + 1 + 1 + + + + + EVCTRL + Event Control + 0x004 + 16 + + + BRKEI + Break Input Event Enable + 0 + 1 + + + BRKEO + Break Output Event Enable + 1 + 1 + + + IRQMONEO0 + Interrupt Request Monitor 0 Output Event Enable + 2 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x008 + 8 + + + BRK + Break Interrupt Enable + 0 + 1 + + + IPS0 + Inter-Processor Signal Interrupt Enable for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal Interrupt Enable for CPU 1 + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x009 + 8 + + + BRK + Break Interrupt Enable + 0 + 1 + + + IPS0 + Inter-Processor Signal Interrupt Enable for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal Interrupt Enable for CPU 1 + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x00A + 8 + + + BRK + Break + 0 + 1 + + + IPS0 + Inter-Processor Signal for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal for CPU 1 + 2 + 1 + + + + + GLOBMASK + Global Break Requests Mask + 0x00B + 8 + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + HALT + Debug Halt Request + 0x00C + 8 + write-only + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + RESTART + Debug Restart Request + 0x00D + 8 + write-only + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + BRKSTATUS + Break Request Status + 0x00E + 16 + read-only + + + CPU0 + CPU 0 Break Request + 0 + 2 + + + CPU1 + CPU 1 Break Request + 2 + 2 + + + EVBRK + Event Break Request + 12 + 2 + + + EXTBRK + External Break Request + 14 + 2 + + + + + 4 + 0x2 + CTICTRLA%s + Cross-Trigger Interface n Control A + 0x010 + 8 + + + BRK + Action when global break issued + 0 + 2 + + BRKSelect + + BREAK + Break when requested + 0x0 + + + INTERRUPT + Trigger DBG interrupt instead of break + 0x1 + + + IGNORE + Ignore break request + 0x2 + + + + + RESTART + Action when global restart issued + 2 + 1 + + RESTARTSelect + + RESTART + Restart when requested + 0x0 + + + IGNORE + Ignore restart request + 0x1 + + + + + IPS + Action when inter-process resource freed + 3 + 1 + + IPSSelect + + EVENT + Generate CPU Event when awaited resource is freed. + 0x0 + + + INTERRUPT + Generate Interrupt when awaited resource is freed. + 0x1 + + + + + + + 4 + 0x2 + CTIMASK%s + Cross-Trigger Interface n Mask + 0x011 + 8 + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + 137 + 0x1 + INTSTATUS%s + Interrupt n Status + 0x020 + 8 + read-only + + + IRQ0 + Interrupt Status for Interrupt Request 0 within Interrupt n + 0 + 1 + + + IRQ1 + Interrupt Status for Interrupt Request 1 within Interrupt n + 1 + 1 + + + IRQ2 + Interrupt Status for Interrupt Request 2 within Interrupt n + 2 + 1 + + + IRQ3 + Interrupt Status for Interrupt Request 3 within Interrupt n + 3 + 1 + + + IRQ4 + Interrupt Status for Interrupt Request 4 within Interrupt n + 4 + 1 + + + IRQ5 + Interrupt Status for Interrupt Request 5 within Interrupt n + 5 + 1 + + + IRQ6 + Interrupt Status for Interrupt Request 6 within Interrupt n + 6 + 1 + + + IRQ7 + Interrupt Status for Interrupt Request 7 within Interrupt n + 7 + 1 + + + + + DMACPUSEL0 + DMA Channel Interrupts CPU Select 0 + 0x110 + 32 + + + CH0 + DMA Channel 0 Interrupt CPU Select + 0 + 1 + + + CH1 + DMA Channel 1 Interrupt CPU Select + 2 + 1 + + + CH2 + DMA Channel 2 Interrupt CPU Select + 4 + 1 + + + CH3 + DMA Channel 3 Interrupt CPU Select + 6 + 1 + + + CH4 + DMA Channel 4 Interrupt CPU Select + 8 + 1 + + + CH5 + DMA Channel 5 Interrupt CPU Select + 10 + 1 + + + CH6 + DMA Channel 6 Interrupt CPU Select + 12 + 1 + + + CH7 + DMA Channel 7 Interrupt CPU Select + 14 + 1 + + + CH8 + DMA Channel 8 Interrupt CPU Select + 16 + 1 + + + CH9 + DMA Channel 9 Interrupt CPU Select + 18 + 1 + + + CH10 + DMA Channel 10 Interrupt CPU Select + 20 + 1 + + + CH11 + DMA Channel 11 Interrupt CPU Select + 22 + 1 + + + CH12 + DMA Channel 12 Interrupt CPU Select + 24 + 1 + + + CH13 + DMA Channel 13 Interrupt CPU Select + 26 + 1 + + + CH14 + DMA Channel 14 Interrupt CPU Select + 28 + 1 + + + CH15 + DMA Channel 15 Interrupt CPU Select + 30 + 1 + + + + + DMACPUSEL1 + DMA Channel Interrupts CPU Select 1 + 0x114 + 32 + + + CH16 + DMA Channel 16 Interrupt CPU Select + 0 + 1 + + + CH17 + DMA Channel 17 Interrupt CPU Select + 2 + 1 + + + CH18 + DMA Channel 18 Interrupt CPU Select + 4 + 1 + + + CH19 + DMA Channel 19 Interrupt CPU Select + 6 + 1 + + + CH20 + DMA Channel 20 Interrupt CPU Select + 8 + 1 + + + CH21 + DMA Channel 21 Interrupt CPU Select + 10 + 1 + + + CH22 + DMA Channel 22 Interrupt CPU Select + 12 + 1 + + + CH23 + DMA Channel 23 Interrupt CPU Select + 14 + 1 + + + CH24 + DMA Channel 24 Interrupt CPU Select + 16 + 1 + + + CH25 + DMA Channel 25 Interrupt CPU Select + 18 + 1 + + + CH26 + DMA Channel 26 Interrupt CPU Select + 20 + 1 + + + CH27 + DMA Channel 27 Interrupt CPU Select + 22 + 1 + + + CH28 + DMA Channel 28 Interrupt CPU Select + 24 + 1 + + + CH29 + DMA Channel 29 Interrupt CPU Select + 26 + 1 + + + CH30 + DMA Channel 30 Interrupt CPU Select + 28 + 1 + + + CH31 + DMA Channel 31 Interrupt CPU Select + 30 + 1 + + + + + EVCPUSEL0 + EVSYS Channel Interrupts CPU Select 0 + 0x118 + 32 + + + CH0 + Event Channel 0 Interrupt CPU Select + 0 + 1 + + + CH1 + Event Channel 1 Interrupt CPU Select + 2 + 1 + + + CH2 + Event Channel 2 Interrupt CPU Select + 4 + 1 + + + CH3 + Event Channel 3 Interrupt CPU Select + 6 + 1 + + + CH4 + Event Channel 4 Interrupt CPU Select + 8 + 1 + + + CH5 + Event Channel 5 Interrupt CPU Select + 10 + 1 + + + CH6 + Event Channel 6 Interrupt CPU Select + 12 + 1 + + + CH7 + Event Channel 7 Interrupt CPU Select + 14 + 1 + + + CH8 + Event Channel 8 Interrupt CPU Select + 16 + 1 + + + CH9 + Event Channel 9 Interrupt CPU Select + 18 + 1 + + + CH10 + Event Channel 10 Interrupt CPU Select + 20 + 1 + + + CH11 + Event Channel 11 Interrupt CPU Select + 22 + 1 + + + + + EICCPUSEL0 + EIC External Interrupts CPU Select 0 + 0x120 + 32 + + + EXTINT0 + External Interrupt 0 CPU Select + 0 + 1 + + + EXTINT1 + External Interrupt 1 CPU Select + 2 + 1 + + + EXTINT2 + External Interrupt 2 CPU Select + 4 + 1 + + + EXTINT3 + External Interrupt 3 CPU Select + 6 + 1 + + + EXTINT4 + External Interrupt 4 CPU Select + 8 + 1 + + + EXTINT5 + External Interrupt 5 CPU Select + 10 + 1 + + + EXTINT6 + External Interrupt 6 CPU Select + 12 + 1 + + + EXTINT7 + External Interrupt 7 CPU Select + 14 + 1 + + + EXTINT8 + External Interrupt 8 CPU Select + 16 + 1 + + + EXTINT9 + External Interrupt 9 CPU Select + 18 + 1 + + + EXTINT10 + External Interrupt 10 CPU Select + 20 + 1 + + + EXTINT11 + External Interrupt 11 CPU Select + 22 + 1 + + + EXTINT12 + External Interrupt 12 CPU Select + 24 + 1 + + + EXTINT13 + External Interrupt 13 CPU Select + 26 + 1 + + + EXTINT14 + External Interrupt 14 CPU Select + 28 + 1 + + + EXTINT15 + External Interrupt 15 CPU Select + 30 + 1 + + + + + INTCPUSEL0 + Interrupts CPU Select 0 + 0x128 + 32 + + + PAC + PAC Interrupt CPU Select + 0 + 1 + + + PM + PM Interrupt CPU Select + 2 + 1 + + + MCLK + MCLK Interrupt CPU Select + 4 + 1 + + + OSCCTRL + OSCCTRL Interrupt CPU Select + 8 + 1 + + + OSC32KCTRL + OSC32KCTRL Interrupt CPU Select + 10 + 1 + + + SUPC + SUPC Interrupt CPU Select + 12 + 1 + + + WDT + WDT Interrupt CPU Select + 16 + 1 + + + RTC + RTC Interrupt CPU Select + 18 + 1 + + + EIC + EIC Interrupt CPU Select + 20 + 1 + + + FREQM + FREQM Interrupt CPU Select + 22 + 1 + + + SERCOM0 + SERCOM0 Interrupt CPU Select + 24 + 1 + + + SERCOM1 + SERCOM1 Interrupt CPU Select + 26 + 1 + + + TC0 + TC0 Interrupt CPU Select + 28 + 1 + + + TC1 + TC1 Interrupt CPU Select + 30 + 1 + + + + + INTCPUSEL1 + Interrupts CPU Select 1 + 0x12C + 32 + + + INTCPUSEL2 + Interrupts CPU Select 2 + 0x130 + 32 + + + USB + USB Interrupt CPU Select + 0 + 1 + + + NVMCTRL + NVMCTRL Interrupt CPU Select + 4 + 1 + + + DMAC + DMAC Interrupt CPU Select + 10 + 1 + + + EVSYS + EVSYS Interrupt CPU Select + 14 + 1 + + + PICOP + PICOP Interrupt CPU Select + 16 + 1 + + + SERCOM2 + SERCOM2 Interrupt CPU Select + 18 + 1 + + + SERCOM3 + SERCOM3 Interrupt CPU Select + 20 + 1 + + + TCC0 + TCC0 Interrupt CPU Select + 22 + 1 + + + TCC1 + TCC1 Interrupt CPU Select + 24 + 1 + + + TC2 + TC2 Interrupt CPU Select + 26 + 1 + + + TC3 + TC3 Interrupt CPU Select + 28 + 1 + + + TAL + TAL Interrupt CPU Select + 30 + 1 + + + + + INTCPUSEL3 + Interrupts CPU Select 3 + 0x134 + 32 + + + RAMECC + RAMECC Interrupt CPU Select + 0 + 1 + + + + + INTCPUSEL4 + Interrupts CPU Select 4 + 0x138 + 32 + + + CAN0 + CAN0 Interrupt CPU Select + 0 + 1 + + + CAN1 + CAN1 Interrupt CPU Select + 2 + 1 + + + GMAC + GMAC Interrupt CPU Select + 4 + 1 + + + TCC2 + TCC2 Interrupt CPU Select + 6 + 1 + + + TCC3 + TCC3 Interrupt CPU Select + 8 + 1 + + + TC4 + TC4 Interrupt CPU Select + 10 + 1 + + + TC5 + TC5 Interrupt CPU Select + 12 + 1 + + + PDEC + PDEC Interrupt CPU Select + 14 + 1 + + + AC + AC Interrupt CPU Select + 16 + 1 + + + AES + AES Interrupt CPU Select + 18 + 1 + + + TRNG + TRNG Interrupt CPU Select + 20 + 1 + + + ICM + ICM Interrupt CPU Select + 22 + 1 + + + PUKCC + PUKCC Interrupt CPU Select + 24 + 1 + + + QSPI + QSPI Interrupt CPU Select + 26 + 1 + + + + + INTCPUSEL5 + Interrupts CPU Select 5 + 0x13C + 32 + + + INTCPUSEL6 + Interrupts CPU Select 6 + 0x140 + 32 + + + SERCOM4 + SERCOM4 Interrupt CPU Select + 0 + 1 + + + SERCOM5 + SERCOM5 Interrupt CPU Select + 2 + 1 + + + SERCOM6 + SERCOM6 Interrupt CPU Select + 4 + 1 + + + SERCOM7 + SERCOM7 Interrupt CPU Select + 6 + 1 + + + TCC4 + TCC4 Interrupt CPU Select + 8 + 1 + + + TC6 + TC6 Interrupt CPU Select + 10 + 1 + + + TC7 + TC7 Interrupt CPU Select + 12 + 1 + + + ADC0 + ADC0 Interrupt CPU Select + 14 + 1 + + + ADC1 + ADC1 Interrupt CPU Select + 16 + 1 + + + DAC + DAC Interrupt CPU Select + 18 + 1 + + + I2S + I2S Interrupt CPU Select + 20 + 1 + + + PCC + PCC Interrupt CPU Select + 22 + 1 + + + + + INTCPUSEL7 + Interrupts CPU Select 7 + 0x144 + 32 + + + INTCPUSEL8 + Interrupts CPU Select 8 + 0x148 + 32 + + + SDHC0 + SDHC0 Interrupt CPU Select + 0 + 1 + + + SDHC1 + SDHC1 Interrupt CPU Select + 2 + 1 + + + + + IRQTRIG + Interrupt Trigger + 0x164 + 32 + + + ENABLE + Trigger Enable + 0 + 1 + + + IRQNUM + Interrupt Request Number + 8 + 8 + + + OVERRIDE + Interrupt Request Override Value + 16 + 8 + + + + + 1 + 0x2 + IRQMON%s + Interrupt Monitor Select + 0x168 + 16 + + + EXTEND + Extended Interrupt Request + 0 + 1 + + EXTENDSelect + + NO + Event is Interrupt Request signal + 0x0 + + + YES + Event is Interrupt Request signal extended until end of Interrupt Handler + 0x1 + + + + + DROP + Drop Shortened Events + 1 + 1 + + + CPUID + ID of CPU currently servicing this IRQ + 2 + 1 + + + IRQNUM + Interrupt Request Number + 8 + 8 + + + + + 5 + 0x4 + CPUIRQS0_%s + Interrupt Status m for CPU n - Group 0 + 0x180 + 32 + read-only + + + CPUIRQS + Interrupt Requests for CPU n + 0 + 32 + + + + + 5 + 0x4 + CPUIRQS1_%s + Interrupt Status m for CPU n - Group 1 + 0x1a0 + + + 2 + 0x4 + SMASK0_%s + Inter-Process Signal Mask m for CPU n - Group 0 + 0x200 + 32 + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SMASK1_%s + Inter-Process Signal Mask m for CPU n - Group 1 + 0x208 + + + 2 + 0x4 + SFLAGCLR%s + Inter-Process Signal Flag Clear + 0x220 + 32 + write-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SFLAGSET%s + Inter-Process Signal Flag Set + 0x228 + 32 + write-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SFLAG%s + Inter-Process Signal Flag + 0x230 + 32 + read-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 64 + 0x1 + SFLAGCLRR%s + Inter-Process Signal Flag Bit n + 0x300 + 8 + + + IPS + Inter-Process Signal n + 0 + 1 + + + + + + + TC0 + 3.0.0 + Basic Timer Counter 0 + TC + TC_ + 0x40003800 + + 0 + 0x40 + registers + + + TC0_INTREQ + 107 + + + + COUNT8 + 8-bit Counter Mode + TcCount8 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT8 Count + 0x14 + 8 + + + COUNT + Counter Value + 0 + 8 + + + + + PER + COUNT8 Period + 0x1B + 8 + 0xFF + + + PER + Period Value + 0 + 8 + + + + + 2 + 0x1 + CC%s + COUNT8 Compare and Capture + 0x1C + 8 + + + CC + Counter/Compare Value + 0 + 8 + + + + + PERBUF + COUNT8 Period Buffer + 0x2F + 8 + 0xFF + + + PERBUF + Period Buffer Value + 0 + 8 + + + + + 2 + 0x1 + CCBUF%s + COUNT8 Compare and Capture Buffer + 0x30 + 8 + + + CCBUF + Counter/Compare Buffer Value + 0 + 8 + + + + + + COUNT16 + 16-bit Counter Mode + COUNT8 + TcCount16 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT16 Count + 0x14 + 16 + + + COUNT + Counter Value + 0 + 16 + + + + + 2 + 0x2 + CC%s + COUNT16 Compare and Capture + 0x1C + 16 + + + CC + Counter/Compare Value + 0 + 16 + + + + + 2 + 0x2 + CCBUF%s + COUNT16 Compare and Capture Buffer + 0x30 + 16 + + + CCBUF + Counter/Compare Buffer Value + 0 + 16 + + + + + + COUNT32 + 32-bit Counter Mode + COUNT8 + TcCount32 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT32 Count + 0x14 + 32 + + + COUNT + Counter Value + 0 + 32 + + + + + 2 + 0x4 + CC%s + COUNT32 Compare and Capture + 0x1C + 32 + + + CC + Counter/Compare Value + 0 + 32 + + + + + 2 + 0x4 + CCBUF%s + COUNT32 Compare and Capture Buffer + 0x30 + 32 + + + CCBUF + Counter/Compare Buffer Value + 0 + 32 + + + + + + + + TC1 + Basic Timer Counter 1 + 0x40003C00 + + TC1_INTREQ + 108 + + + + TC2 + Basic Timer Counter 2 + 0x4101A000 + + TC2_INTREQ + 109 + + + + TC3 + Basic Timer Counter 3 + 0x4101C000 + + TC3_INTREQ + 110 + + + + TC4 + Basic Timer Counter 4 + 0x42001400 + + TC4_INTREQ + 111 + + + + TC5 + Basic Timer Counter 5 + 0x42001800 + + TC5_INTREQ + 112 + + + + TC6 + Basic Timer Counter 6 + 0x43001400 + + TC6_INTREQ + 113 + + + + TC7 + Basic Timer Counter 7 + 0x43001800 + + TC7_INTREQ + 114 + + + + TCC0 + 3.1.0 + Timer Counter Control 0 + TCC + TCC_ + 0x41016000 + + 0 + 0x090 + registers + + + TCC0_INTREQ_0 + 85 + + + TCC0_INTREQ_1 + 86 + + + TCC0_INTREQ_2 + 87 + + + TCC0_INTREQ_3 + 88 + + + TCC0_INTREQ_4 + 89 + + + TCC0_INTREQ_5 + 90 + + + TCC0_INTREQ_6 + 91 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RESOLUTION + Enhanced Resolution + 5 + 2 + + RESOLUTIONSelect + + NONE + Dithering is disabled + 0x0 + + + DITH4 + Dithering is done every 16 PWM frames + 0x1 + + + DITH5 + Dithering is done every 32 PWM frames + 0x2 + + + DITH6 + Dithering is done every 64 PWM frames + 0x3 + + + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV64 + Divide by 64 + 0x5 + + + DIV256 + Divide by 256 + 0x6 + + + DIV1024 + Divide by 1024 + 0x7 + + + + + RUNSTDBY + Run in Standby + 11 + 1 + + + PRESCSYNC + Prescaler and Counter Synchronization Selection + 12 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset counter on next GCLK + 0x0 + + + PRESC + Reload or reset counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset counter on next GCLK and reset prescaler counter + 0x2 + + + + + ALOCK + Auto Lock + 14 + 1 + + + MSYNC + Master Synchronization (only for TCC Slave Instance) + 15 + 1 + + + DMAOS + DMA One-shot Trigger Mode + 23 + 1 + + + CPTEN0 + Capture Channel 0 Enable + 24 + 1 + + + CPTEN1 + Capture Channel 1 Enable + 25 + 1 + + + CPTEN2 + Capture Channel 2 Enable + 26 + 1 + + + CPTEN3 + Capture Channel 3 Enable + 27 + 1 + + + CPTEN4 + Capture Channel 4 Enable + 28 + 1 + + + CPTEN5 + Capture Channel 5 Enable + 29 + 1 + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot + 2 + 1 + + + IDXCMD + Ramp Index Command + 3 + 2 + + IDXCMDSelect + + DISABLE + Command disabled: Index toggles between cycles A and B + 0x0 + + + SET + Set index: cycle B will be forced in the next cycle + 0x1 + + + CLEAR + Clear index: cycle A will be forced in the next cycle + 0x2 + + + HOLD + Hold index: the next cycle will be the same as the current cycle + 0x3 + + + + + CMD + TCC Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Clear start, restart or retrigger + 0x1 + + + STOP + Force stop + 0x2 + + + UPDATE + Force update or double buffered registers + 0x3 + + + READSYNC + Force COUNT read synchronization + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot + 2 + 1 + + + IDXCMD + Ramp Index Command + 3 + 2 + + IDXCMDSelect + + DISABLE + Command disabled: Index toggles between cycles A and B + 0x0 + + + SET + Set index: cycle B will be forced in the next cycle + 0x1 + + + CLEAR + Clear index: cycle A will be forced in the next cycle + 0x2 + + + HOLD + Hold index: the next cycle will be the same as the current cycle + 0x3 + + + + + CMD + TCC Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Clear start, restart or retrigger + 0x1 + + + STOP + Force stop + 0x2 + + + UPDATE + Force update or double buffered registers + 0x3 + + + READSYNC + Force COUNT read synchronization + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + SYNCBUSY + Synchronization Busy + 0x08 + 32 + read-only + + + SWRST + Swrst Busy + 0 + 1 + + + ENABLE + Enable Busy + 1 + 1 + + + CTRLB + Ctrlb Busy + 2 + 1 + + + STATUS + Status Busy + 3 + 1 + + + COUNT + Count Busy + 4 + 1 + + + PATT + Pattern Busy + 5 + 1 + + + WAVE + Wave Busy + 6 + 1 + + + PER + Period Busy + 7 + 1 + + + CC0 + Compare Channel 0 Busy + 8 + 1 + + + CC1 + Compare Channel 1 Busy + 9 + 1 + + + CC2 + Compare Channel 2 Busy + 10 + 1 + + + CC3 + Compare Channel 3 Busy + 11 + 1 + + + CC4 + Compare Channel 4 Busy + 12 + 1 + + + CC5 + Compare Channel 5 Busy + 13 + 1 + + + + + FCTRLA + Recoverable Fault A Configuration + 0x0C + 32 + + + SRC + Fault A Source + 0 + 2 + + SRCSelect + + DISABLE + Fault input disabled + 0x0 + + + ENABLE + MCEx (x=0,1) event input + 0x1 + + + INVERT + Inverted MCEx (x=0,1) event input + 0x2 + + + ALTFAULT + Alternate fault (A or B) state at the end of the previous period + 0x3 + + + + + KEEP + Fault A Keeper + 3 + 1 + + + QUAL + Fault A Qualification + 4 + 1 + + + BLANK + Fault A Blanking Mode + 5 + 2 + + BLANKSelect + + START + Blanking applied from start of the ramp + 0x0 + + + RISE + Blanking applied from rising edge of the output waveform + 0x1 + + + FALL + Blanking applied from falling edge of the output waveform + 0x2 + + + BOTH + Blanking applied from each toggle of the output waveform + 0x3 + + + + + RESTART + Fault A Restart + 7 + 1 + + + HALT + Fault A Halt Mode + 8 + 2 + + HALTSelect + + DISABLE + Halt action disabled + 0x0 + + + HW + Hardware halt action + 0x1 + + + SW + Software halt action + 0x2 + + + NR + Non-recoverable fault + 0x3 + + + + + CHSEL + Fault A Capture Channel + 10 + 2 + + CHSELSelect + + CC0 + Capture value stored in channel 0 + 0x0 + + + CC1 + Capture value stored in channel 1 + 0x1 + + + CC2 + Capture value stored in channel 2 + 0x2 + + + CC3 + Capture value stored in channel 3 + 0x3 + + + + + CAPTURE + Fault A Capture Action + 12 + 3 + + CAPTURESelect + + DISABLE + No capture + 0x0 + + + CAPT + Capture on fault + 0x1 + + + CAPTMIN + Minimum capture + 0x2 + + + CAPTMAX + Maximum capture + 0x3 + + + LOCMIN + Minimum local detection + 0x4 + + + LOCMAX + Maximum local detection + 0x5 + + + DERIV0 + Minimum and maximum local detection + 0x6 + + + CAPTMARK + Capture with ramp index as MSB value + 0x7 + + + + + BLANKPRESC + Fault A Blanking Prescaler + 15 + 1 + + + BLANKVAL + Fault A Blanking Time + 16 + 8 + + + FILTERVAL + Fault A Filter Value + 24 + 4 + + + + + FCTRLB + Recoverable Fault B Configuration + 0x10 + 32 + + + SRC + Fault B Source + 0 + 2 + + SRCSelect + + DISABLE + Fault input disabled + 0x0 + + + ENABLE + MCEx (x=0,1) event input + 0x1 + + + INVERT + Inverted MCEx (x=0,1) event input + 0x2 + + + ALTFAULT + Alternate fault (A or B) state at the end of the previous period + 0x3 + + + + + KEEP + Fault B Keeper + 3 + 1 + + + QUAL + Fault B Qualification + 4 + 1 + + + BLANK + Fault B Blanking Mode + 5 + 2 + + BLANKSelect + + START + Blanking applied from start of the ramp + 0x0 + + + RISE + Blanking applied from rising edge of the output waveform + 0x1 + + + FALL + Blanking applied from falling edge of the output waveform + 0x2 + + + BOTH + Blanking applied from each toggle of the output waveform + 0x3 + + + + + RESTART + Fault B Restart + 7 + 1 + + + HALT + Fault B Halt Mode + 8 + 2 + + HALTSelect + + DISABLE + Halt action disabled + 0x0 + + + HW + Hardware halt action + 0x1 + + + SW + Software halt action + 0x2 + + + NR + Non-recoverable fault + 0x3 + + + + + CHSEL + Fault B Capture Channel + 10 + 2 + + CHSELSelect + + CC0 + Capture value stored in channel 0 + 0x0 + + + CC1 + Capture value stored in channel 1 + 0x1 + + + CC2 + Capture value stored in channel 2 + 0x2 + + + CC3 + Capture value stored in channel 3 + 0x3 + + + + + CAPTURE + Fault B Capture Action + 12 + 3 + + CAPTURESelect + + DISABLE + No capture + 0x0 + + + CAPT + Capture on fault + 0x1 + + + CAPTMIN + Minimum capture + 0x2 + + + CAPTMAX + Maximum capture + 0x3 + + + LOCMIN + Minimum local detection + 0x4 + + + LOCMAX + Maximum local detection + 0x5 + + + DERIV0 + Minimum and maximum local detection + 0x6 + + + CAPTMARK + Capture with ramp index as MSB value + 0x7 + + + + + BLANKPRESC + Fault B Blanking Prescaler + 15 + 1 + + + BLANKVAL + Fault B Blanking Time + 16 + 8 + + + FILTERVAL + Fault B Filter Value + 24 + 4 + + + + + WEXCTRL + Waveform Extension Configuration + 0x14 + 32 + + + OTMX + Output Matrix + 0 + 2 + + + DTIEN0 + Dead-time Insertion Generator 0 Enable + 8 + 1 + + + DTIEN1 + Dead-time Insertion Generator 1 Enable + 9 + 1 + + + DTIEN2 + Dead-time Insertion Generator 2 Enable + 10 + 1 + + + DTIEN3 + Dead-time Insertion Generator 3 Enable + 11 + 1 + + + DTLS + Dead-time Low Side Outputs Value + 16 + 8 + + + DTHS + Dead-time High Side Outputs Value + 24 + 8 + + + + + DRVCTRL + Driver Control + 0x18 + 32 + + + NRE0 + Non-Recoverable State 0 Output Enable + 0 + 1 + + + NRE1 + Non-Recoverable State 1 Output Enable + 1 + 1 + + + NRE2 + Non-Recoverable State 2 Output Enable + 2 + 1 + + + NRE3 + Non-Recoverable State 3 Output Enable + 3 + 1 + + + NRE4 + Non-Recoverable State 4 Output Enable + 4 + 1 + + + NRE5 + Non-Recoverable State 5 Output Enable + 5 + 1 + + + NRE6 + Non-Recoverable State 6 Output Enable + 6 + 1 + + + NRE7 + Non-Recoverable State 7 Output Enable + 7 + 1 + + + NRV0 + Non-Recoverable State 0 Output Value + 8 + 1 + + + NRV1 + Non-Recoverable State 1 Output Value + 9 + 1 + + + NRV2 + Non-Recoverable State 2 Output Value + 10 + 1 + + + NRV3 + Non-Recoverable State 3 Output Value + 11 + 1 + + + NRV4 + Non-Recoverable State 4 Output Value + 12 + 1 + + + NRV5 + Non-Recoverable State 5 Output Value + 13 + 1 + + + NRV6 + Non-Recoverable State 6 Output Value + 14 + 1 + + + NRV7 + Non-Recoverable State 7 Output Value + 15 + 1 + + + INVEN0 + Output Waveform 0 Inversion + 16 + 1 + + + INVEN1 + Output Waveform 1 Inversion + 17 + 1 + + + INVEN2 + Output Waveform 2 Inversion + 18 + 1 + + + INVEN3 + Output Waveform 3 Inversion + 19 + 1 + + + INVEN4 + Output Waveform 4 Inversion + 20 + 1 + + + INVEN5 + Output Waveform 5 Inversion + 21 + 1 + + + INVEN6 + Output Waveform 6 Inversion + 22 + 1 + + + INVEN7 + Output Waveform 7 Inversion + 23 + 1 + + + FILTERVAL0 + Non-Recoverable Fault Input 0 Filter Value + 24 + 4 + + + FILTERVAL1 + Non-Recoverable Fault Input 1 Filter Value + 28 + 4 + + + + + DBGCTRL + Debug Control + 0x1E + 8 + + + DBGRUN + Debug Running Mode + 0 + 1 + + + FDDBD + Fault Detection on Debug Break Detection + 2 + 1 + + + + + EVCTRL + Event Control + 0x20 + 32 + + + EVACT0 + Timer/counter Input Event0 Action + 0 + 3 + + EVACT0Select + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or re-trigger counter on event + 0x1 + + + COUNTEV + Count on event + 0x2 + + + START + Start counter on event + 0x3 + + + INC + Increment counter on event + 0x4 + + + COUNT + Count on active state of asynchronous event + 0x5 + + + STAMP + Stamp capture + 0x6 + + + FAULT + Non-recoverable fault + 0x7 + + + + + EVACT1 + Timer/counter Input Event1 Action + 3 + 3 + + EVACT1Select + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Re-trigger counter on event + 0x1 + + + DIR + Direction control + 0x2 + + + STOP + Stop counter on event + 0x3 + + + DEC + Decrement counter on event + 0x4 + + + PPW + Period capture value in CC0 register, pulse width capture value in CC1 register + 0x5 + + + PWP + Period capture value in CC1 register, pulse width capture value in CC0 register + 0x6 + + + FAULT + Non-recoverable fault + 0x7 + + + + + CNTSEL + Timer/counter Output Event Mode + 6 + 2 + + CNTSELSelect + + START + An interrupt/event is generated when a new counter cycle starts + 0x0 + + + END + An interrupt/event is generated when a counter cycle ends + 0x1 + + + BETWEEN + An interrupt/event is generated when a counter cycle ends, except for the first and last cycles + 0x2 + + + BOUNDARY + An interrupt/event is generated when a new counter cycle starts or a counter cycle ends + 0x3 + + + + + OVFEO + Overflow/Underflow Output Event Enable + 8 + 1 + + + TRGEO + Retrigger Output Event Enable + 9 + 1 + + + CNTEO + Timer/counter Output Event Enable + 10 + 1 + + + TCINV0 + Inverted Event 0 Input Enable + 12 + 1 + + + TCINV1 + Inverted Event 1 Input Enable + 13 + 1 + + + TCEI0 + Timer/counter Event 0 Input Enable + 14 + 1 + + + TCEI1 + Timer/counter Event 1 Input Enable + 15 + 1 + + + MCEI0 + Match or Capture Channel 0 Event Input Enable + 16 + 1 + + + MCEI1 + Match or Capture Channel 1 Event Input Enable + 17 + 1 + + + MCEI2 + Match or Capture Channel 2 Event Input Enable + 18 + 1 + + + MCEI3 + Match or Capture Channel 3 Event Input Enable + 19 + 1 + + + MCEI4 + Match or Capture Channel 4 Event Input Enable + 20 + 1 + + + MCEI5 + Match or Capture Channel 5 Event Input Enable + 21 + 1 + + + MCEO0 + Match or Capture Channel 0 Event Output Enable + 24 + 1 + + + MCEO1 + Match or Capture Channel 1 Event Output Enable + 25 + 1 + + + MCEO2 + Match or Capture Channel 2 Event Output Enable + 26 + 1 + + + MCEO3 + Match or Capture Channel 3 Event Output Enable + 27 + 1 + + + MCEO4 + Match or Capture Channel 4 Event Output Enable + 28 + 1 + + + MCEO5 + Match or Capture Channel 5 Event Output Enable + 29 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x24 + 32 + + + OVF + Overflow Interrupt Enable + 0 + 1 + + + TRG + Retrigger Interrupt Enable + 1 + 1 + + + CNT + Counter Interrupt Enable + 2 + 1 + + + ERR + Error Interrupt Enable + 3 + 1 + + + UFS + Non-Recoverable Update Fault Interrupt Enable + 10 + 1 + + + DFS + Non-Recoverable Debug Fault Interrupt Enable + 11 + 1 + + + FAULTA + Recoverable Fault A Interrupt Enable + 12 + 1 + + + FAULTB + Recoverable Fault B Interrupt Enable + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 Interrupt Enable + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 Interrupt Enable + 15 + 1 + + + MC0 + Match or Capture Channel 0 Interrupt Enable + 16 + 1 + + + MC1 + Match or Capture Channel 1 Interrupt Enable + 17 + 1 + + + MC2 + Match or Capture Channel 2 Interrupt Enable + 18 + 1 + + + MC3 + Match or Capture Channel 3 Interrupt Enable + 19 + 1 + + + MC4 + Match or Capture Channel 4 Interrupt Enable + 20 + 1 + + + MC5 + Match or Capture Channel 5 Interrupt Enable + 21 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x28 + 32 + + + OVF + Overflow Interrupt Enable + 0 + 1 + + + TRG + Retrigger Interrupt Enable + 1 + 1 + + + CNT + Counter Interrupt Enable + 2 + 1 + + + ERR + Error Interrupt Enable + 3 + 1 + + + UFS + Non-Recoverable Update Fault Interrupt Enable + 10 + 1 + + + DFS + Non-Recoverable Debug Fault Interrupt Enable + 11 + 1 + + + FAULTA + Recoverable Fault A Interrupt Enable + 12 + 1 + + + FAULTB + Recoverable Fault B Interrupt Enable + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 Interrupt Enable + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 Interrupt Enable + 15 + 1 + + + MC0 + Match or Capture Channel 0 Interrupt Enable + 16 + 1 + + + MC1 + Match or Capture Channel 1 Interrupt Enable + 17 + 1 + + + MC2 + Match or Capture Channel 2 Interrupt Enable + 18 + 1 + + + MC3 + Match or Capture Channel 3 Interrupt Enable + 19 + 1 + + + MC4 + Match or Capture Channel 4 Interrupt Enable + 20 + 1 + + + MC5 + Match or Capture Channel 5 Interrupt Enable + 21 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x2C + 32 + + + OVF + Overflow + 0 + 1 + + + TRG + Retrigger + 1 + 1 + + + CNT + Counter + 2 + 1 + + + ERR + Error + 3 + 1 + + + UFS + Non-Recoverable Update Fault + 10 + 1 + + + DFS + Non-Recoverable Debug Fault + 11 + 1 + + + FAULTA + Recoverable Fault A + 12 + 1 + + + FAULTB + Recoverable Fault B + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 + 15 + 1 + + + MC0 + Match or Capture 0 + 16 + 1 + + + MC1 + Match or Capture 1 + 17 + 1 + + + MC2 + Match or Capture 2 + 18 + 1 + + + MC3 + Match or Capture 3 + 19 + 1 + + + MC4 + Match or Capture 4 + 20 + 1 + + + MC5 + Match or Capture 5 + 21 + 1 + + + + + STATUS + Status + 0x30 + 32 + 0x00000001 + + + STOP + Stop + 0 + 1 + read-only + + + IDX + Ramp + 1 + 1 + read-only + + + UFS + Non-recoverable Update Fault State + 2 + 1 + + + DFS + Non-Recoverable Debug Fault State + 3 + 1 + + + SLAVE + Slave + 4 + 1 + read-only + + + PATTBUFV + Pattern Buffer Valid + 5 + 1 + + + PERBUFV + Period Buffer Valid + 7 + 1 + + + FAULTAIN + Recoverable Fault A Input + 8 + 1 + read-only + + + FAULTBIN + Recoverable Fault B Input + 9 + 1 + read-only + + + FAULT0IN + Non-Recoverable Fault0 Input + 10 + 1 + read-only + + + FAULT1IN + Non-Recoverable Fault1 Input + 11 + 1 + read-only + + + FAULTA + Recoverable Fault A State + 12 + 1 + + + FAULTB + Recoverable Fault B State + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 State + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 State + 15 + 1 + + + CCBUFV0 + Compare Channel 0 Buffer Valid + 16 + 1 + + + CCBUFV1 + Compare Channel 1 Buffer Valid + 17 + 1 + + + CCBUFV2 + Compare Channel 2 Buffer Valid + 18 + 1 + + + CCBUFV3 + Compare Channel 3 Buffer Valid + 19 + 1 + + + CCBUFV4 + Compare Channel 4 Buffer Valid + 20 + 1 + + + CCBUFV5 + Compare Channel 5 Buffer Valid + 21 + 1 + + + CMP0 + Compare Channel 0 Value + 24 + 1 + read-only + + + CMP1 + Compare Channel 1 Value + 25 + 1 + read-only + + + CMP2 + Compare Channel 2 Value + 26 + 1 + read-only + + + CMP3 + Compare Channel 3 Value + 27 + 1 + read-only + + + CMP4 + Compare Channel 4 Value + 28 + 1 + read-only + + + CMP5 + Compare Channel 5 Value + 29 + 1 + read-only + + + + + COUNT + Count + 0x34 + 32 + + + COUNT + Counter Value + 0 + 24 + + + + + COUNT_DITH4 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 4 + 20 + + + + + COUNT_DITH5 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 5 + 19 + + + + + COUNT_DITH6 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 6 + 18 + + + + + PATT + Pattern + 0x38 + 16 + + + PGE0 + Pattern Generator 0 Output Enable + 0 + 1 + + + PGE1 + Pattern Generator 1 Output Enable + 1 + 1 + + + PGE2 + Pattern Generator 2 Output Enable + 2 + 1 + + + PGE3 + Pattern Generator 3 Output Enable + 3 + 1 + + + PGE4 + Pattern Generator 4 Output Enable + 4 + 1 + + + PGE5 + Pattern Generator 5 Output Enable + 5 + 1 + + + PGE6 + Pattern Generator 6 Output Enable + 6 + 1 + + + PGE7 + Pattern Generator 7 Output Enable + 7 + 1 + + + PGV0 + Pattern Generator 0 Output Value + 8 + 1 + + + PGV1 + Pattern Generator 1 Output Value + 9 + 1 + + + PGV2 + Pattern Generator 2 Output Value + 10 + 1 + + + PGV3 + Pattern Generator 3 Output Value + 11 + 1 + + + PGV4 + Pattern Generator 4 Output Value + 12 + 1 + + + PGV5 + Pattern Generator 5 Output Value + 13 + 1 + + + PGV6 + Pattern Generator 6 Output Value + 14 + 1 + + + PGV7 + Pattern Generator 7 Output Value + 15 + 1 + + + + + WAVE + Waveform Control + 0x3C + 32 + + + WAVEGEN + Waveform Generation + 0 + 3 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + DSCRITICAL + Dual-slope critical + 0x4 + + + DSBOTTOM + Dual-slope with interrupt/event condition when COUNT reaches ZERO + 0x5 + + + DSBOTH + Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP + 0x6 + + + DSTOP + Dual-slope with interrupt/event condition when COUNT reaches TOP + 0x7 + + + + + RAMP + Ramp Mode + 4 + 2 + + RAMPSelect + + RAMP1 + RAMP1 operation + 0x0 + + + RAMP2A + Alternative RAMP2 operation + 0x1 + + + RAMP2 + RAMP2 operation + 0x2 + + + RAMP2C + Critical RAMP2 operation + 0x3 + + + + + CIPEREN + Circular period Enable + 7 + 1 + + + CICCEN0 + Circular Channel 0 Enable + 8 + 1 + + + CICCEN1 + Circular Channel 1 Enable + 9 + 1 + + + CICCEN2 + Circular Channel 2 Enable + 10 + 1 + + + CICCEN3 + Circular Channel 3 Enable + 11 + 1 + + + POL0 + Channel 0 Polarity + 16 + 1 + + + POL1 + Channel 1 Polarity + 17 + 1 + + + POL2 + Channel 2 Polarity + 18 + 1 + + + POL3 + Channel 3 Polarity + 19 + 1 + + + POL4 + Channel 4 Polarity + 20 + 1 + + + POL5 + Channel 5 Polarity + 21 + 1 + + + SWAP0 + Swap DTI Output Pair 0 + 24 + 1 + + + SWAP1 + Swap DTI Output Pair 1 + 25 + 1 + + + SWAP2 + Swap DTI Output Pair 2 + 26 + 1 + + + SWAP3 + Swap DTI Output Pair 3 + 27 + 1 + + + + + PER + Period + 0x40 + 32 + 0xFFFFFFFF + + + PER + Period Value + 0 + 24 + + + + + PER_DITH4 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 4 + + + PER + Period Value + 4 + 20 + + + + + PER_DITH5 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 5 + + + PER + Period Value + 5 + 19 + + + + + PER_DITH6 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 6 + + + PER + Period Value + 6 + 18 + + + + + 6 + 0x4 + CC%s + Compare and Capture + 0x44 + 32 + + + CC + Channel Compare/Capture Value + 0 + 24 + + + + + 6 + 0x4 + CC%s_DITH4 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 4 + + + CC + Channel Compare/Capture Value + 4 + 20 + + + + + 6 + 0x4 + CC%s_DITH5 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 5 + + + CC + Channel Compare/Capture Value + 5 + 19 + + + + + 6 + 0x4 + CC%s_DITH6 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 6 + + + CC + Channel Compare/Capture Value + 6 + 18 + + + + + PATTBUF + Pattern Buffer + 0x64 + 16 + + + PGEB0 + Pattern Generator 0 Output Enable Buffer + 0 + 1 + + + PGEB1 + Pattern Generator 1 Output Enable Buffer + 1 + 1 + + + PGEB2 + Pattern Generator 2 Output Enable Buffer + 2 + 1 + + + PGEB3 + Pattern Generator 3 Output Enable Buffer + 3 + 1 + + + PGEB4 + Pattern Generator 4 Output Enable Buffer + 4 + 1 + + + PGEB5 + Pattern Generator 5 Output Enable Buffer + 5 + 1 + + + PGEB6 + Pattern Generator 6 Output Enable Buffer + 6 + 1 + + + PGEB7 + Pattern Generator 7 Output Enable Buffer + 7 + 1 + + + PGVB0 + Pattern Generator 0 Output Enable + 8 + 1 + + + PGVB1 + Pattern Generator 1 Output Enable + 9 + 1 + + + PGVB2 + Pattern Generator 2 Output Enable + 10 + 1 + + + PGVB3 + Pattern Generator 3 Output Enable + 11 + 1 + + + PGVB4 + Pattern Generator 4 Output Enable + 12 + 1 + + + PGVB5 + Pattern Generator 5 Output Enable + 13 + 1 + + + PGVB6 + Pattern Generator 6 Output Enable + 14 + 1 + + + PGVB7 + Pattern Generator 7 Output Enable + 15 + 1 + + + + + PERBUF + Period Buffer + 0x6C + 32 + 0xFFFFFFFF + + + PERBUF + Period Buffer Value + 0 + 24 + + + + + PERBUF_DITH4 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 4 + + + PERBUF + Period Buffer Value + 4 + 20 + + + + + PERBUF_DITH5 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 5 + + + PERBUF + Period Buffer Value + 5 + 19 + + + + + PERBUF_DITH6 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 6 + + + PERBUF + Period Buffer Value + 6 + 18 + + + + + 6 + 0x4 + CCBUF%s + Compare and Capture Buffer + 0x70 + 32 + + + CCBUF + Channel Compare/Capture Buffer Value + 0 + 24 + + + + + 6 + 0x4 + CCBUF%s_DITH4 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + CCBUF + Channel Compare/Capture Buffer Value + 0 + 4 + + + DITHERBUF + Dithering Buffer Cycle Number + 4 + 20 + + + + + 6 + 0x4 + CCBUF%s_DITH5 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 5 + + + CCBUF + Channel Compare/Capture Buffer Value + 5 + 19 + + + + + 6 + 0x4 + CCBUF%s_DITH6 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 6 + + + CCBUF + Channel Compare/Capture Buffer Value + 6 + 18 + + + + + + + TCC1 + Timer Counter Control 1 + 0x41018000 + + TCC1_INTREQ_0 + 92 + + + TCC1_INTREQ_1 + 93 + + + TCC1_INTREQ_2 + 94 + + + TCC1_INTREQ_3 + 95 + + + TCC1_INTREQ_4 + 96 + + + + TCC2 + Timer Counter Control 2 + 0x42000C00 + + TCC2_INTREQ_0 + 97 + + + TCC2_INTREQ_1 + 98 + + + TCC2_INTREQ_2 + 99 + + + TCC2_INTREQ_3 + 100 + + + + TCC3 + Timer Counter Control 3 + 0x42001000 + + TCC3_INTREQ_0 + 101 + + + TCC3_INTREQ_1 + 102 + + + TCC3_INTREQ_2 + 103 + + + + TCC4 + Timer Counter Control 4 + 0x43001000 + + TCC4_INTREQ_0 + 104 + + + TCC4_INTREQ_1 + 105 + + + TCC4_INTREQ_2 + 106 + + + + TRNG + 1.1.0 + True Random Generator + TRNG + TRNG_ + 0x42002800 + + 0 + 0x40 + registers + + + TRNG_INTREQ + 131 + + + + CTRLA + Control A + 0x00 + 8 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + + + EVCTRL + Event Control + 0x04 + 8 + + + DATARDYEO + Data Ready Event Output + 0 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + DATARDY + Data Ready Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + DATARDY + Data Ready Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + DATARDY + Data Ready Interrupt Flag + 0 + 1 + + + + + DATA + Output Data + 0x20 + 32 + read-only + + + DATA + Output Data + 0 + 32 + read-only + + + + + + + USB + 1.2.0 + Universal Serial Bus + USB + USB_ + 0x41000000 + + 0 + 0x400 + registers + + + USB_INTREQ_0 + 80 + + + USB_INTREQ_1 + 81 + + + USB_INTREQ_2 + 82 + + + USB_INTREQ_3 + 83 + + + + DEVICE + USB is Device + UsbDevice + 0x0 + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby Mode + 2 + 1 + + + MODE + Operating Mode + 7 + 1 + + MODESelect + + DEVICE + Device Mode + 0x0 + + + HOST + Host Mode + 0x1 + + + + + + + SYNCBUSY + Synchronization Busy + 0x002 + 8 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + + + QOSCTRL + USB Quality Of Service + 0x003 + 8 + 0x0F + + + CQOS + Configuration Quality of Service + 0 + 2 + + + DQOS + Data Quality of Service + 2 + 2 + + + + + CTRLB + DEVICE Control B + 0x008 + 16 + 0x0001 + + + DETACH + Detach + 0 + 1 + + + UPRSM + Upstream Resume + 1 + 1 + + + SPDCONF + Speed Configuration + 2 + 2 + + SPDCONFSelect + + FS + FS : Full Speed + 0x0 + + + LS + LS : Low Speed + 0x1 + + + HS + HS : High Speed capable + 0x2 + + + HSTM + HSTM: High Speed Test Mode (force high-speed mode for test mode) + 0x3 + + + + + NREPLY + No Reply + 4 + 1 + + + TSTJ + Test mode J + 5 + 1 + + + TSTK + Test mode K + 6 + 1 + + + TSTPCKT + Test packet mode + 7 + 1 + + + OPMODE2 + Specific Operational Mode + 8 + 1 + + + GNAK + Global NAK + 9 + 1 + + + LPMHDSK + Link Power Management Handshake + 10 + 2 + + LPMHDSKSelect + + NO + No handshake. LPM is not supported + 0x0 + + + ACK + ACK + 0x1 + + + NYET + NYET + 0x2 + + + STALL + STALL + 0x3 + + + + + + + DADD + DEVICE Device Address + 0x00A + 8 + + + DADD + Device Address + 0 + 7 + + + ADDEN + Device Address Enable + 7 + 1 + + + + + STATUS + DEVICE Status + 0x00C + 8 + read-only + 0x40 + + + SPEED + Speed Status + 2 + 2 + read-only + + SPEEDSelect + + FS + Full-speed mode + 0x0 + + + LS + Low-speed mode + 0x1 + + + HS + High-speed mode + 0x2 + + + + + LINESTATE + USB Line State Status + 6 + 2 + read-only + + LINESTATESelect + + 0 + SE0/RESET + 0x0 + + + 1 + FS-J or LS-K State + 0x1 + + + 2 + FS-K or LS-J State + 0x2 + + + + + + + FSMSTATUS + Finite State Machine Status + 0x00D + 8 + read-only + 0x01 + + + FSMSTATE + Fine State Machine Status + 0 + 7 + read-only + + FSMSTATESelect + + OFF + OFF (L3). It corresponds to the powered-off, disconnected, and disabled state + 0x1 + + + ON + ON (L0). It corresponds to the Idle and Active states + 0x2 + + + SUSPEND + SUSPEND (L2) + 0x4 + + + SLEEP + SLEEP (L1) + 0x8 + + + DNRESUME + DNRESUME. Down Stream Resume. + 0x10 + + + UPRESUME + UPRESUME. Up Stream Resume. + 0x20 + + + RESET + RESET. USB lines Reset. + 0x40 + + + + + + + FNUM + DEVICE Device Frame Number + 0x010 + 16 + read-only + + + MFNUM + Micro Frame Number + 0 + 3 + read-only + + + FNUM + Frame Number + 3 + 11 + read-only + + + FNCERR + Frame Number CRC Error + 15 + 1 + read-only + + + + + INTENCLR + DEVICE Device Interrupt Enable Clear + 0x014 + 16 + + + SUSPEND + Suspend Interrupt Enable + 0 + 1 + + + MSOF + Micro Start of Frame Interrupt Enable in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame Interrupt Enable + 2 + 1 + + + EORST + End of Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + EORSM + End Of Resume Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + LPMNYET + Link Power Management Not Yet Interrupt Enable + 8 + 1 + + + LPMSUSP + Link Power Management Suspend Interrupt Enable + 9 + 1 + + + + + INTENSET + DEVICE Device Interrupt Enable Set + 0x018 + 16 + + + SUSPEND + Suspend Interrupt Enable + 0 + 1 + + + MSOF + Micro Start of Frame Interrupt Enable in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame Interrupt Enable + 2 + 1 + + + EORST + End of Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + EORSM + End Of Resume Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + LPMNYET + Link Power Management Not Yet Interrupt Enable + 8 + 1 + + + LPMSUSP + Link Power Management Suspend Interrupt Enable + 9 + 1 + + + + + INTFLAG + DEVICE Device Interrupt Flag + 0x01C + 16 + + + SUSPEND + Suspend + 0 + 1 + + + MSOF + Micro Start of Frame in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame + 2 + 1 + + + EORST + End of Reset + 3 + 1 + + + WAKEUP + Wake Up + 4 + 1 + + + EORSM + End Of Resume + 5 + 1 + + + UPRSM + Upstream Resume + 6 + 1 + + + RAMACER + Ram Access + 7 + 1 + + + LPMNYET + Link Power Management Not Yet + 8 + 1 + + + LPMSUSP + Link Power Management Suspend + 9 + 1 + + + + + EPINTSMRY + DEVICE End Point Interrupt Summary + 0x020 + 16 + read-only + + + EPINT0 + End Point 0 Interrupt + 0 + 1 + read-only + + + EPINT1 + End Point 1 Interrupt + 1 + 1 + read-only + + + EPINT2 + End Point 2 Interrupt + 2 + 1 + read-only + + + EPINT3 + End Point 3 Interrupt + 3 + 1 + read-only + + + EPINT4 + End Point 4 Interrupt + 4 + 1 + read-only + + + EPINT5 + End Point 5 Interrupt + 5 + 1 + read-only + + + EPINT6 + End Point 6 Interrupt + 6 + 1 + read-only + + + EPINT7 + End Point 7 Interrupt + 7 + 1 + read-only + + + + + DESCADD + Descriptor Address + 0x024 + 32 + + + DESCADD + Descriptor Address Value + 0 + 32 + + + + + PADCAL + USB PAD Calibration + 0x028 + 16 + + + TRANSP + USB Pad Transp calibration + 0 + 5 + + + TRANSN + USB Pad Transn calibration + 6 + 5 + + + TRIM + USB Pad Trim calibration + 12 + 3 + + + + + 8 + 0x20 + EPCFG%s + DEVICE End Point Configuration + 0x100 + 8 + + + EPTYPE0 + End Point Type0 + 0 + 3 + + + EPTYPE1 + End Point Type1 + 4 + 3 + + + NYETDIS + NYET Token Disable + 7 + 1 + + + + + 8 + 0x20 + EPSTATUSCLR%s + DEVICE End Point Pipe Status Clear + 0x104 + 8 + write-only + + + DTGLOUT + Data Toggle OUT Clear + 0 + 1 + write-only + + + DTGLIN + Data Toggle IN Clear + 1 + 1 + write-only + + + CURBK + Current Bank Clear + 2 + 1 + write-only + + + STALLRQ0 + Stall 0 Request Clear + 4 + 1 + write-only + + + STALLRQ1 + Stall 1 Request Clear + 5 + 1 + write-only + + + BK0RDY + Bank 0 Ready Clear + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Clear + 7 + 1 + write-only + + + + + 8 + 0x20 + EPSTATUSSET%s + DEVICE End Point Pipe Status Set + 0x105 + 8 + write-only + + + DTGLOUT + Data Toggle OUT Set + 0 + 1 + write-only + + + DTGLIN + Data Toggle IN Set + 1 + 1 + write-only + + + CURBK + Current Bank Set + 2 + 1 + write-only + + + STALLRQ0 + Stall 0 Request Set + 4 + 1 + write-only + + + STALLRQ1 + Stall 1 Request Set + 5 + 1 + write-only + + + BK0RDY + Bank 0 Ready Set + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Set + 7 + 1 + write-only + + + + + 8 + 0x20 + EPSTATUS%s + DEVICE End Point Pipe Status + 0x106 + 8 + read-only + + + DTGLOUT + Data Toggle Out + 0 + 1 + read-only + + + DTGLIN + Data Toggle In + 1 + 1 + read-only + + + CURBK + Current Bank + 2 + 1 + read-only + + + STALLRQ0 + Stall 0 Request + 4 + 1 + read-only + + + STALLRQ1 + Stall 1 Request + 5 + 1 + read-only + + + BK0RDY + Bank 0 ready + 6 + 1 + read-only + + + BK1RDY + Bank 1 ready + 7 + 1 + read-only + + + + + 8 + 0x20 + EPINTFLAG%s + DEVICE End Point Interrupt Flag + 0x107 + 8 + + + TRCPT0 + Transfer Complete 0 + 0 + 1 + + + TRCPT1 + Transfer Complete 1 + 1 + 1 + + + TRFAIL0 + Error Flow 0 + 2 + 1 + + + TRFAIL1 + Error Flow 1 + 3 + 1 + + + RXSTP + Received Setup + 4 + 1 + + + STALL0 + Stall 0 In/out + 5 + 1 + + + STALL1 + Stall 1 In/out + 6 + 1 + + + + + 8 + 0x20 + EPINTENCLR%s + DEVICE End Point Interrupt Clear Flag + 0x108 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Disable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Disable + 1 + 1 + + + TRFAIL0 + Error Flow 0 Interrupt Disable + 2 + 1 + + + TRFAIL1 + Error Flow 1 Interrupt Disable + 3 + 1 + + + RXSTP + Received Setup Interrupt Disable + 4 + 1 + + + STALL0 + Stall 0 In/Out Interrupt Disable + 5 + 1 + + + STALL1 + Stall 1 In/Out Interrupt Disable + 6 + 1 + + + + + 8 + 0x20 + EPINTENSET%s + DEVICE End Point Interrupt Set Flag + 0x109 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Enable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Enable + 1 + 1 + + + TRFAIL0 + Error Flow 0 Interrupt Enable + 2 + 1 + + + TRFAIL1 + Error Flow 1 Interrupt Enable + 3 + 1 + + + RXSTP + Received Setup Interrupt Enable + 4 + 1 + + + STALL0 + Stall 0 In/out Interrupt enable + 5 + 1 + + + STALL1 + Stall 1 In/out Interrupt enable + 6 + 1 + + + + + + HOST + USB is Host + DEVICE + UsbHost + 0x0 + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby Mode + 2 + 1 + + + MODE + Operating Mode + 7 + 1 + + MODESelect + + DEVICE + Device Mode + 0x0 + + + HOST + Host Mode + 0x1 + + + + + + + SYNCBUSY + Synchronization Busy + 0x002 + 8 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + + + QOSCTRL + USB Quality Of Service + 0x003 + 8 + 0x0F + + + CQOS + Configuration Quality of Service + 0 + 2 + + + DQOS + Data Quality of Service + 2 + 2 + + + + + CTRLB + HOST Control B + 0x008 + 16 + + + RESUME + Send USB Resume + 1 + 1 + + + SPDCONF + Speed Configuration for Host + 2 + 2 + + SPDCONFSelect + + NORMAL + Normal mode: the host starts in full-speed mode and performs a high-speed reset to switch to the high speed mode if the downstream peripheral is high-speed capable. + 0x0 + + + FS + Full-speed: the host remains in full-speed mode whatever is the peripheral speed capability. Relevant in UTMI mode only. + 0x3 + + + + + AUTORESUME + Auto Resume Enable + 4 + 1 + + + TSTJ + Test mode J + 5 + 1 + + + TSTK + Test mode K + 6 + 1 + + + SOFE + Start of Frame Generation Enable + 8 + 1 + + + BUSRESET + Send USB Reset + 9 + 1 + + + VBUSOK + VBUS is OK + 10 + 1 + + + L1RESUME + Send L1 Resume + 11 + 1 + + + + + HSOFC + HOST Host Start Of Frame Control + 0x00A + 8 + + + FLENC + Frame Length Control + 0 + 4 + + + FLENCE + Frame Length Control Enable + 7 + 1 + + + + + STATUS + HOST Status + 0x00C + 8 + + + SPEED + Speed Status + 2 + 2 + + + LINESTATE + USB Line State Status + 6 + 2 + read-only + + + + + FSMSTATUS + Finite State Machine Status + 0x00D + 8 + read-only + 0x01 + + + FSMSTATE + Fine State Machine Status + 0 + 7 + read-only + + FSMSTATESelect + + OFF + OFF (L3). It corresponds to the powered-off, disconnected, and disabled state + 0x1 + + + ON + ON (L0). It corresponds to the Idle and Active states + 0x2 + + + SUSPEND + SUSPEND (L2) + 0x4 + + + SLEEP + SLEEP (L1) + 0x8 + + + DNRESUME + DNRESUME. Down Stream Resume. + 0x10 + + + UPRESUME + UPRESUME. Up Stream Resume. + 0x20 + + + RESET + RESET. USB lines Reset. + 0x40 + + + + + + + FNUM + HOST Host Frame Number + 0x010 + 16 + + + MFNUM + Micro Frame Number + 0 + 3 + + + FNUM + Frame Number + 3 + 11 + + + + + FLENHIGH + HOST Host Frame Length + 0x012 + 8 + read-only + + + FLENHIGH + Frame Length + 0 + 8 + read-only + + + + + INTENCLR + HOST Host Interrupt Enable Clear + 0x014 + 16 + + + HSOF + Host Start Of Frame Interrupt Disable + 2 + 1 + + + RST + BUS Reset Interrupt Disable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Disable + 4 + 1 + + + DNRSM + DownStream to Device Interrupt Disable + 5 + 1 + + + UPRSM + Upstream Resume from Device Interrupt Disable + 6 + 1 + + + RAMACER + Ram Access Interrupt Disable + 7 + 1 + + + DCONN + Device Connection Interrupt Disable + 8 + 1 + + + DDISC + Device Disconnection Interrupt Disable + 9 + 1 + + + + + INTENSET + HOST Host Interrupt Enable Set + 0x018 + 16 + + + HSOF + Host Start Of Frame Interrupt Enable + 2 + 1 + + + RST + Bus Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + DNRSM + DownStream to the Device Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume fromthe device Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + DCONN + Link Power Management Interrupt Enable + 8 + 1 + + + DDISC + Device Disconnection Interrupt Enable + 9 + 1 + + + + + INTFLAG + HOST Host Interrupt Flag + 0x01C + 16 + + + HSOF + Host Start Of Frame + 2 + 1 + + + RST + Bus Reset + 3 + 1 + + + WAKEUP + Wake Up + 4 + 1 + + + DNRSM + Downstream + 5 + 1 + + + UPRSM + Upstream Resume from the Device + 6 + 1 + + + RAMACER + Ram Access + 7 + 1 + + + DCONN + Device Connection + 8 + 1 + + + DDISC + Device Disconnection + 9 + 1 + + + + + PINTSMRY + HOST Pipe Interrupt Summary + 0x020 + 16 + read-only + + + EPINT0 + Pipe 0 Interrupt + 0 + 1 + read-only + + + EPINT1 + Pipe 1 Interrupt + 1 + 1 + read-only + + + EPINT2 + Pipe 2 Interrupt + 2 + 1 + read-only + + + EPINT3 + Pipe 3 Interrupt + 3 + 1 + read-only + + + EPINT4 + Pipe 4 Interrupt + 4 + 1 + read-only + + + EPINT5 + Pipe 5 Interrupt + 5 + 1 + read-only + + + EPINT6 + Pipe 6 Interrupt + 6 + 1 + read-only + + + EPINT7 + Pipe 7 Interrupt + 7 + 1 + read-only + + + + + DESCADD + Descriptor Address + 0x024 + 32 + + + DESCADD + Descriptor Address Value + 0 + 32 + + + + + PADCAL + USB PAD Calibration + 0x028 + 16 + + + TRANSP + USB Pad Transp calibration + 0 + 5 + + + TRANSN + USB Pad Transn calibration + 6 + 5 + + + TRIM + USB Pad Trim calibration + 12 + 3 + + + + + 8 + 0x20 + PCFG%s + HOST End Point Configuration + 0x100 + 8 + + + PTOKEN + Pipe Token + 0 + 2 + + + BK + Pipe Bank + 2 + 1 + + + PTYPE + Pipe Type + 3 + 3 + + + + + 8 + 0x20 + BINTERVAL%s + HOST Bus Access Period of Pipe + 0x103 + 8 + + + BITINTERVAL + Bit Interval + 0 + 8 + + + + + 8 + 0x20 + PSTATUSCLR%s + HOST End Point Pipe Status Clear + 0x104 + 8 + write-only + + + DTGL + Data Toggle clear + 0 + 1 + read-only + + + CURBK + Curren Bank clear + 2 + 1 + write-only + + + PFREEZE + Pipe Freeze Clear + 4 + 1 + write-only + + + BK0RDY + Bank 0 Ready Clear + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Clear + 7 + 1 + write-only + + + + + 8 + 0x20 + PSTATUSSET%s + HOST End Point Pipe Status Set + 0x105 + 8 + write-only + + + DTGL + Data Toggle Set + 0 + 1 + write-only + + + CURBK + Current Bank Set + 2 + 1 + write-only + + + PFREEZE + Pipe Freeze Set + 4 + 1 + write-only + + + BK0RDY + Bank 0 Ready Set + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Set + 7 + 1 + write-only + + + + + 8 + 0x20 + PSTATUS%s + HOST End Point Pipe Status + 0x106 + 8 + read-only + + + DTGL + Data Toggle + 0 + 1 + read-only + + + CURBK + Current Bank + 2 + 1 + read-only + + + PFREEZE + Pipe Freeze + 4 + 1 + read-only + + + BK0RDY + Bank 0 ready + 6 + 1 + read-only + + + BK1RDY + Bank 1 ready + 7 + 1 + read-only + + + + + 8 + 0x20 + PINTFLAG%s + HOST Pipe Interrupt Flag + 0x107 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Flag + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Flag + 1 + 1 + + + TRFAIL + Error Flow Interrupt Flag + 2 + 1 + + + PERR + Pipe Error Interrupt Flag + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Flag + 4 + 1 + + + STALL + Stall Interrupt Flag + 5 + 1 + + + + + 8 + 0x20 + PINTENCLR%s + HOST Pipe Interrupt Flag Clear + 0x108 + 8 + + + TRCPT0 + Transfer Complete 0 Disable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Disable + 1 + 1 + + + TRFAIL + Error Flow Interrupt Disable + 2 + 1 + + + PERR + Pipe Error Interrupt Disable + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Disable + 4 + 1 + + + STALL + Stall Inetrrupt Disable + 5 + 1 + + + + + 8 + 0x20 + PINTENSET%s + HOST Pipe Interrupt Flag Set + 0x109 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Enable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Enable + 1 + 1 + + + TRFAIL + Error Flow Interrupt Enable + 2 + 1 + + + PERR + Pipe Error Interrupt Enable + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Enable + 4 + 1 + + + STALL + Stall Interrupt Enable + 5 + 1 + + + + + + + + WDT + 1.1.0 + Watchdog Timer + WDT + WDT_ + 0x40002000 + + 0 + 0x10 + registers + + + WDT_INTREQ + 10 + + + + CTRLA + Control + 0x0 + 8 + + + ENABLE + Enable + 1 + 1 + + + WEN + Watchdog Timer Window Mode Enable + 2 + 1 + + + ALWAYSON + Always-On + 7 + 1 + + + + + CONFIG + Configuration + 0x1 + 8 + 0xBB + + + PER + Time-Out Period + 0 + 4 + + PERSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + WINDOW + Window Mode Time-Out Period + 4 + 4 + + WINDOWSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + + + EWCTRL + Early Warning Interrupt Control + 0x2 + 8 + 0x0B + + + EWOFFSET + Early Warning Interrupt Time Offset + 0 + 4 + + EWOFFSETSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + + + INTENCLR + Interrupt Enable Clear + 0x4 + 8 + + + EW + Early Warning Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x5 + 8 + + + EW + Early Warning Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x6 + 8 + + + EW + Early Warning + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x8 + 32 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + WEN + Window Enable Synchronization Busy + 2 + 1 + read-only + + + ALWAYSON + Always-On Synchronization Busy + 3 + 1 + read-only + + + CLEAR + Clear Synchronization Busy + 4 + 1 + read-only + + + + + CLEAR + Clear + 0xC + 8 + write-only + + + CLEAR + Watchdog Clear + 0 + 8 + write-only + + CLEARSelect + + KEY + Clear Key + 0xa5 + + + + + + + + + diff --git a/lib/same54/svd/ATSAME54P19A.svd b/lib/same54/svd/ATSAME54P19A.svd new file mode 100644 index 00000000..dd4908d5 --- /dev/null +++ b/lib/same54/svd/ATSAME54P19A.svd @@ -0,0 +1,45517 @@ + + + Atmel Corporation + ATMEL + ATSAME54P19A + SAME54 + A + Atmel ATSAME54P19A device: Cortex-M4 Microcontroller with 512KB Flash, 192KB SRAM, 128-pin package (refer to http://www.atmel.com/devices/SAME54P19A.aspx for more) + + ============================================================================\n + Atmel Microcontroller Software Support\n + ============================================================================\n + Copyright (c) 2017 Atmel Corporation,\n + a wholly owned subsidiary of Microchip Technology Inc.\n +\n + Licensed under the Apache License, Version 2.0 (the "License");\n + you may not use this file except in compliance with the License.\n + You may obtain a copy of the Licence at\n +\n + http://www.apache.org/licenses/LICENSE-2.0\n +\n + Unless required by applicable law or agreed to in writing, software\n + distributed under the License is distributed on an "AS IS" BASIS,\n + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n + See the License for the specific language governing permissions and\n + limitations under the License.\n + ============================================================================ + + + CM4 + r0p1 + little + true + true + 3 + false + + system_same54 + 8 + 32 + 32 + read-write + 0x00000000 + 0xFFFFFFFF + + + AC + 1.0.0 + Analog Comparators + AC + AC_ + 0x42002000 + + 0 + 0x40 + registers + + + AC_INTREQ + 122 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + + + CTRLB + Control B + 0x01 + 8 + write-only + + + START0 + Comparator 0 Start Comparison + 0 + 1 + + + START1 + Comparator 1 Start Comparison + 1 + 1 + + + + + EVCTRL + Event Control + 0x02 + 16 + + + COMPEO0 + Comparator 0 Event Output Enable + 0 + 1 + + + COMPEO1 + Comparator 1 Event Output Enable + 1 + 1 + + + WINEO0 + Window 0 Event Output Enable + 4 + 1 + + + COMPEI0 + Comparator 0 Event Input Enable + 8 + 1 + + + COMPEI1 + Comparator 1 Event Input Enable + 9 + 1 + + + INVEI0 + Comparator 0 Input Event Invert Enable + 12 + 1 + + + INVEI1 + Comparator 1 Input Event Invert Enable + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + COMP0 + Comparator 0 Interrupt Enable + 0 + 1 + + + COMP1 + Comparator 1 Interrupt Enable + 1 + 1 + + + WIN0 + Window 0 Interrupt Enable + 4 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + COMP0 + Comparator 0 Interrupt Enable + 0 + 1 + + + COMP1 + Comparator 1 Interrupt Enable + 1 + 1 + + + WIN0 + Window 0 Interrupt Enable + 4 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + COMP0 + Comparator 0 + 0 + 1 + + + COMP1 + Comparator 1 + 1 + 1 + + + WIN0 + Window 0 + 4 + 1 + + + + + STATUSA + Status A + 0x07 + 8 + read-only + + + STATE0 + Comparator 0 Current State + 0 + 1 + read-only + + + STATE1 + Comparator 1 Current State + 1 + 1 + read-only + + + WSTATE0 + Window 0 Current State + 4 + 2 + read-only + + WSTATE0Select + + ABOVE + Signal is above window + 0x0 + + + INSIDE + Signal is inside window + 0x1 + + + BELOW + Signal is below window + 0x2 + + + + + + + STATUSB + Status B + 0x08 + 8 + read-only + + + READY0 + Comparator 0 Ready + 0 + 1 + read-only + + + READY1 + Comparator 1 Ready + 1 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x09 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + WINCTRL + Window Control + 0x0A + 8 + + + WEN0 + Window 0 Mode Enable + 0 + 1 + + + WINTSEL0 + Window 0 Interrupt Selection + 1 + 2 + + WINTSEL0Select + + ABOVE + Interrupt on signal above window + 0x0 + + + INSIDE + Interrupt on signal inside window + 0x1 + + + BELOW + Interrupt on signal below window + 0x2 + + + OUTSIDE + Interrupt on signal outside window + 0x3 + + + + + + + 2 + 0x1 + SCALER%s + Scaler n + 0x0C + 8 + + + VALUE + Scaler Value + 0 + 6 + + + + + 2 + 0x4 + COMPCTRL%s + Comparator Control n + 0x10 + 32 + + + ENABLE + Enable + 1 + 1 + + + SINGLE + Single-Shot Mode + 2 + 1 + + + INTSEL + Interrupt Selection + 3 + 2 + + INTSELSelect + + TOGGLE + Interrupt on comparator output toggle + 0x0 + + + RISING + Interrupt on comparator output rising + 0x1 + + + FALLING + Interrupt on comparator output falling + 0x2 + + + EOC + Interrupt on end of comparison (single-shot mode only) + 0x3 + + + + + RUNSTDBY + Run in Standby + 6 + 1 + + + MUXNEG + Negative Input Mux Selection + 8 + 3 + + MUXNEGSelect + + PIN0 + I/O pin 0 + 0x0 + + + PIN1 + I/O pin 1 + 0x1 + + + PIN2 + I/O pin 2 + 0x2 + + + PIN3 + I/O pin 3 + 0x3 + + + GND + Ground + 0x4 + + + VSCALE + VDD scaler + 0x5 + + + BANDGAP + Internal bandgap voltage + 0x6 + + + DAC + DAC output + 0x7 + + + + + MUXPOS + Positive Input Mux Selection + 12 + 3 + + MUXPOSSelect + + PIN0 + I/O pin 0 + 0x0 + + + PIN1 + I/O pin 1 + 0x1 + + + PIN2 + I/O pin 2 + 0x2 + + + PIN3 + I/O pin 3 + 0x3 + + + VSCALE + VDD Scaler + 0x4 + + + + + SWAP + Swap Inputs and Invert + 15 + 1 + + + SPEED + Speed Selection + 16 + 2 + + SPEEDSelect + + HIGH + High speed + 0x3 + + + + + HYSTEN + Hysteresis Enable + 19 + 1 + + + HYST + Hysteresis Level + 20 + 2 + + HYSTSelect + + HYST50 + 50mV + 0x0 + + + HYST100 + 100mV + 0x1 + + + HYST150 + 150mV + 0x2 + + + + + FLEN + Filter Length + 24 + 3 + + FLENSelect + + OFF + No filtering + 0x0 + + + MAJ3 + 3-bit majority function (2 of 3) + 0x1 + + + MAJ5 + 5-bit majority function (3 of 5) + 0x2 + + + + + OUT + Output + 28 + 2 + + OUTSelect + + OFF + The output of COMPn is not routed to the COMPn I/O port + 0x0 + + + ASYNC + The asynchronous output of COMPn is routed to the COMPn I/O port + 0x1 + + + SYNC + The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port + 0x2 + + + + + + + SYNCBUSY + Synchronization Busy + 0x20 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + WINCTRL + WINCTRL Synchronization Busy + 2 + 1 + read-only + + + COMPCTRL0 + COMPCTRL 0 Synchronization Busy + 3 + 1 + read-only + + + COMPCTRL1 + COMPCTRL 1 Synchronization Busy + 4 + 1 + read-only + + + + + CALIB + Calibration + 0x24 + 16 + 0x0101 + + + BIAS0 + COMP0/1 Bias Scaling + 0 + 2 + + + + + + + ADC0 + 1.0.0 + Analog Digital Converter 0 + ADC + ADC_ + 0x43001C00 + + 0 + 0x80 + registers + + + ADC0_INTREQ_0 + 118 + + + ADC0_INTREQ_1 + 119 + + + + CTRLA + Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + DUALSEL + Dual Mode Trigger Selection + 3 + 2 + + DUALSELSelect + + BOTH + Start event or software trigger will start a conversion on both ADCs + 0x0 + + + INTERLEAVE + START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 + 0x1 + + + + + SLAVEEN + Slave Enable + 5 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + PRESCALER + Prescaler Configuration + 8 + 3 + + PRESCALERSelect + + DIV2 + Peripheral clock divided by 2 + 0x0 + + + DIV4 + Peripheral clock divided by 4 + 0x1 + + + DIV8 + Peripheral clock divided by 8 + 0x2 + + + DIV16 + Peripheral clock divided by 16 + 0x3 + + + DIV32 + Peripheral clock divided by 32 + 0x4 + + + DIV64 + Peripheral clock divided by 64 + 0x5 + + + DIV128 + Peripheral clock divided by 128 + 0x6 + + + DIV256 + Peripheral clock divided by 256 + 0x7 + + + + + R2R + Rail to Rail Operation Enable + 15 + 1 + + + + + EVCTRL + Event Control + 0x02 + 8 + + + FLUSHEI + Flush Event Input Enable + 0 + 1 + + + STARTEI + Start Conversion Event Input Enable + 1 + 1 + + + FLUSHINV + Flush Event Invert Enable + 2 + 1 + + + STARTINV + Start Conversion Event Invert Enable + 3 + 1 + + + RESRDYEO + Result Ready Event Out + 4 + 1 + + + WINMONEO + Window Monitor Event Out + 5 + 1 + + + + + DBGCTRL + Debug Control + 0x03 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + INPUTCTRL + Input Control + 0x04 + 16 + + + MUXPOS + Positive Mux Input Selection + 0 + 5 + + MUXPOSSelect + + AIN0 + ADC AIN0 Pin + 0x0 + + + AIN1 + ADC AIN1 Pin + 0x1 + + + AIN2 + ADC AIN2 Pin + 0x2 + + + AIN3 + ADC AIN3 Pin + 0x3 + + + AIN4 + ADC AIN4 Pin + 0x4 + + + AIN5 + ADC AIN5 Pin + 0x5 + + + AIN6 + ADC AIN6 Pin + 0x6 + + + AIN7 + ADC AIN7 Pin + 0x7 + + + AIN8 + ADC AIN8 Pin + 0x8 + + + AIN9 + ADC AIN9 Pin + 0x9 + + + AIN10 + ADC AIN10 Pin + 0xa + + + AIN11 + ADC AIN11 Pin + 0xb + + + AIN12 + ADC AIN12 Pin + 0xc + + + AIN13 + ADC AIN13 Pin + 0xd + + + AIN14 + ADC AIN14 Pin + 0xe + + + AIN15 + ADC AIN15 Pin + 0xf + + + AIN16 + ADC AIN16 Pin + 0x10 + + + AIN17 + ADC AIN17 Pin + 0x11 + + + AIN18 + ADC AIN18 Pin + 0x12 + + + AIN19 + ADC AIN19 Pin + 0x13 + + + AIN20 + ADC AIN20 Pin + 0x14 + + + AIN21 + ADC AIN21 Pin + 0x15 + + + AIN22 + ADC AIN22 Pin + 0x16 + + + AIN23 + ADC AIN23 Pin + 0x17 + + + SCALEDCOREVCC + 1/4 Scaled Core Supply + 0x18 + + + SCALEDVBAT + 1/4 Scaled VBAT Supply + 0x19 + + + SCALEDIOVCC + 1/4 Scaled I/O Supply + 0x1a + + + BANDGAP + Bandgap Voltage + 0x1b + + + PTAT + Temperature Sensor + 0x1c + + + CTAT + Temperature Sensor + 0x1d + + + DAC + DAC Output + 0x1e + + + PTC + PTC output (only on ADC0) + 0x1f + + + + + DIFFMODE + Differential Mode + 7 + 1 + + + MUXNEG + Negative Mux Input Selection + 8 + 5 + + MUXNEGSelect + + AIN0 + ADC AIN0 Pin + 0x0 + + + AIN1 + ADC AIN1 Pin + 0x1 + + + AIN2 + ADC AIN2 Pin + 0x2 + + + AIN3 + ADC AIN3 Pin + 0x3 + + + AIN4 + ADC AIN4 Pin + 0x4 + + + AIN5 + ADC AIN5 Pin + 0x5 + + + AIN6 + ADC AIN6 Pin + 0x6 + + + AIN7 + ADC AIN7 Pin + 0x7 + + + GND + Internal Ground + 0x18 + + + + + DSEQSTOP + Stop DMA Sequencing + 15 + 1 + + + + + CTRLB + Control B + 0x06 + 16 + + + LEFTADJ + Left-Adjusted Result + 0 + 1 + + + FREERUN + Free Running Mode + 1 + 1 + + + CORREN + Digital Correction Logic Enable + 2 + 1 + + + RESSEL + Conversion Result Resolution + 3 + 2 + + RESSELSelect + + 12BIT + 12-bit result + 0x0 + + + 16BIT + For averaging mode output + 0x1 + + + 10BIT + 10-bit result + 0x2 + + + 8BIT + 8-bit result + 0x3 + + + + + WINMODE + Window Monitor Mode + 8 + 3 + + WINMODESelect + + DISABLE + No window mode (default) + 0x0 + + + MODE1 + RESULT > WINLT + 0x1 + + + MODE2 + RESULT < WINUT + 0x2 + + + MODE3 + WINLT < RESULT < WINUT + 0x3 + + + MODE4 + !(WINLT < RESULT < WINUT) + 0x4 + + + + + WINSS + Window Single Sample + 11 + 1 + + + + + REFCTRL + Reference Control + 0x08 + 8 + + + REFSEL + Reference Selection + 0 + 4 + + REFSELSelect + + INTREF + Internal Bandgap Reference + 0x0 + + + INTVCC0 + 1/2 VDDANA + 0x2 + + + INTVCC1 + VDDANA + 0x3 + + + AREFA + External Reference + 0x4 + + + AREFB + External Reference + 0x5 + + + AREFC + External Reference (only on ADC1) + 0x6 + + + + + REFCOMP + Reference Buffer Offset Compensation Enable + 7 + 1 + + + + + AVGCTRL + Average Control + 0x0A + 8 + + + SAMPLENUM + Number of Samples to be Collected + 0 + 4 + + SAMPLENUMSelect + + 1 + 1 sample + 0x0 + + + 2 + 2 samples + 0x1 + + + 4 + 4 samples + 0x2 + + + 8 + 8 samples + 0x3 + + + 16 + 16 samples + 0x4 + + + 32 + 32 samples + 0x5 + + + 64 + 64 samples + 0x6 + + + 128 + 128 samples + 0x7 + + + 256 + 256 samples + 0x8 + + + 512 + 512 samples + 0x9 + + + 1024 + 1024 samples + 0xa + + + + + ADJRES + Adjusting Result / Division Coefficient + 4 + 3 + + + + + SAMPCTRL + Sample Time Control + 0x0B + 8 + + + SAMPLEN + Sampling Time Length + 0 + 6 + + + OFFCOMP + Comparator Offset Compensation Enable + 7 + 1 + + + + + WINLT + Window Monitor Lower Threshold + 0x0C + 16 + + + WINLT + Window Lower Threshold + 0 + 16 + + + + + WINUT + Window Monitor Upper Threshold + 0x0E + 16 + + + WINUT + Window Upper Threshold + 0 + 16 + + + + + GAINCORR + Gain Correction + 0x10 + 16 + + + GAINCORR + Gain Correction Value + 0 + 12 + + + + + OFFSETCORR + Offset Correction + 0x12 + 16 + + + OFFSETCORR + Offset Correction Value + 0 + 12 + + + + + SWTRIG + Software Trigger + 0x14 + 8 + + + FLUSH + ADC Conversion Flush + 0 + 1 + + + START + Start ADC Conversion + 1 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x2C + 8 + + + RESRDY + Result Ready Interrupt Disable + 0 + 1 + + + OVERRUN + Overrun Interrupt Disable + 1 + 1 + + + WINMON + Window Monitor Interrupt Disable + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x2D + 8 + + + RESRDY + Result Ready Interrupt Enable + 0 + 1 + + + OVERRUN + Overrun Interrupt Enable + 1 + 1 + + + WINMON + Window Monitor Interrupt Enable + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x2E + 8 + + + RESRDY + Result Ready Interrupt Flag + 0 + 1 + + + OVERRUN + Overrun Interrupt Flag + 1 + 1 + + + WINMON + Window Monitor Interrupt Flag + 2 + 1 + + + + + STATUS + Status + 0x2F + 8 + read-only + + + ADCBUSY + ADC Busy Status + 0 + 1 + read-only + + + WCC + Window Comparator Counter + 2 + 6 + read-only + + + + + SYNCBUSY + Synchronization Busy + 0x30 + 32 + read-only + + + SWRST + SWRST Synchronization Busy + 0 + 1 + read-only + + + ENABLE + ENABLE Synchronization Busy + 1 + 1 + read-only + + + INPUTCTRL + Input Control Synchronization Busy + 2 + 1 + read-only + + + CTRLB + Control B Synchronization Busy + 3 + 1 + read-only + + + REFCTRL + Reference Control Synchronization Busy + 4 + 1 + read-only + + + AVGCTRL + Average Control Synchronization Busy + 5 + 1 + read-only + + + SAMPCTRL + Sampling Time Control Synchronization Busy + 6 + 1 + read-only + + + WINLT + Window Monitor Lower Threshold Synchronization Busy + 7 + 1 + read-only + + + WINUT + Window Monitor Upper Threshold Synchronization Busy + 8 + 1 + read-only + + + GAINCORR + Gain Correction Synchronization Busy + 9 + 1 + read-only + + + OFFSETCORR + Offset Correction Synchronization Busy + 10 + 1 + read-only + + + SWTRIG + Software Trigger Synchronization Busy + 11 + 1 + read-only + + + + + DSEQDATA + DMA Sequencial Data + 0x34 + 32 + write-only + + + DATA + DMA Sequential Data + 0 + 32 + write-only + + + + + DSEQCTRL + DMA Sequential Control + 0x38 + 32 + + + INPUTCTRL + Input Control + 0 + 1 + + + CTRLB + Control B + 1 + 1 + + + REFCTRL + Reference Control + 2 + 1 + + + AVGCTRL + Average Control + 3 + 1 + + + SAMPCTRL + Sampling Time Control + 4 + 1 + + + WINLT + Window Monitor Lower Threshold + 5 + 1 + + + WINUT + Window Monitor Upper Threshold + 6 + 1 + + + GAINCORR + Gain Correction + 7 + 1 + + + OFFSETCORR + Offset Correction + 8 + 1 + + + AUTOSTART + ADC Auto-Start Conversion + 31 + 1 + + + + + DSEQSTAT + DMA Sequencial Status + 0x3C + 32 + read-only + + + INPUTCTRL + Input Control + 0 + 1 + read-only + + + CTRLB + Control B + 1 + 1 + read-only + + + REFCTRL + Reference Control + 2 + 1 + read-only + + + AVGCTRL + Average Control + 3 + 1 + read-only + + + SAMPCTRL + Sampling Time Control + 4 + 1 + read-only + + + WINLT + Window Monitor Lower Threshold + 5 + 1 + read-only + + + WINUT + Window Monitor Upper Threshold + 6 + 1 + read-only + + + GAINCORR + Gain Correction + 7 + 1 + read-only + + + OFFSETCORR + Offset Correction + 8 + 1 + read-only + + + BUSY + DMA Sequencing Busy + 31 + 1 + read-only + + + + + RESULT + Result Conversion Value + 0x40 + 16 + read-only + + + RESULT + Result Conversion Value + 0 + 16 + read-only + + + + + RESS + Last Sample Result + 0x44 + 16 + read-only + + + RESS + Last ADC conversion result + 0 + 16 + read-only + + + + + CALIB + Calibration + 0x48 + 16 + + + BIASCOMP + Bias Comparator Scaling + 0 + 3 + + + BIASR2R + Bias R2R Ampli scaling + 4 + 3 + + + BIASREFBUF + Bias Reference Buffer Scaling + 8 + 3 + + + + + + + ADC1 + Analog Digital Converter 1 + 0x43002000 + + ADC1_INTREQ_0 + 120 + + + ADC1_INTREQ_1 + 121 + + + + AES + 2.2.0 + Advanced Encryption Standard + AES + AES_ + 0x42002400 + + 0 + 0x100 + registers + + + AES_INTREQ + 130 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + AESMODE + AES Modes of operation + 2 + 3 + + AESMODESelect + + ECB + Electronic code book mode + 0x0 + + + CBC + Cipher block chaining mode + 0x1 + + + OFB + Output feedback mode + 0x2 + + + CFB + Cipher feedback mode + 0x3 + + + COUNTER + Counter mode + 0x4 + + + CCM + CCM mode + 0x5 + + + GCM + Galois counter mode + 0x6 + + + + + CFBS + Cipher Feedback Block Size + 5 + 3 + + CFBSSelect + + 128BIT + 128-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x0 + + + 64BIT + 64-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x1 + + + 32BIT + 32-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x2 + + + 16BIT + 16-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x3 + + + 8BIT + 8-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x4 + + + + + KEYSIZE + Encryption Key Size + 8 + 2 + + KEYSIZESelect + + 128BIT + 128-bit Key for Encryption / Decryption + 0x0 + + + 192BIT + 192-bit Key for Encryption / Decryption + 0x1 + + + 256BIT + 256-bit Key for Encryption / Decryption + 0x2 + + + + + CIPHER + Cipher Mode + 10 + 1 + + CIPHERSelect + + DEC + Decryption + 0x0 + + + ENC + Encryption + 0x1 + + + + + STARTMODE + Start Mode Select + 11 + 1 + + STARTMODESelect + + MANUAL + Start Encryption / Decryption in Manual mode + 0x0 + + + AUTO + Start Encryption / Decryption in Auto mode + 0x1 + + + + + LOD + Last Output Data Mode + 12 + 1 + + LODSelect + + NONE + No effect + 0x0 + + + LAST + Start encryption in Last Output Data mode + 0x1 + + + + + KEYGEN + Last Key Generation + 13 + 1 + + KEYGENSelect + + NONE + No effect + 0x0 + + + LAST + Start Computation of the last NK words of the expanded key + 0x1 + + + + + XORKEY + XOR Key Operation + 14 + 1 + + XORKEYSelect + + NONE + No effect + 0x0 + + + XOR + The user keyword gets XORed with the previous keyword register content. + 0x1 + + + + + CTYPE + Counter Measure Type + 16 + 4 + + + + + CTRLB + Control B + 0x04 + 8 + + + START + Start Encryption/Decryption + 0 + 1 + + + NEWMSG + New message + 1 + 1 + + + EOM + End of message + 2 + 1 + + + GFMUL + GF Multiplication + 3 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x05 + 8 + + + ENCCMP + Encryption Complete Interrupt Enable + 0 + 1 + + + GFMCMP + GF Multiplication Complete Interrupt Enable + 1 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x06 + 8 + + + ENCCMP + Encryption Complete Interrupt Enable + 0 + 1 + + + GFMCMP + GF Multiplication Complete Interrupt Enable + 1 + 1 + + + + + INTFLAG + Interrupt Flag Status + 0x07 + 8 + + + ENCCMP + Encryption Complete + 0 + 1 + + + GFMCMP + GF Multiplication Complete + 1 + 1 + + + + + DATABUFPTR + Data buffer pointer + 0x08 + 8 + + + INDATAPTR + Input Data Pointer + 0 + 2 + + + + + DBGCTRL + Debug control + 0x09 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + 8 + 0x4 + KEYWORD%s + Keyword n + 0x0C + 32 + write-only + + + INDATA + Indata + 0x38 + 32 + + + 4 + 0x4 + INTVECTV%s + Initialisation Vector n + 0x3C + 32 + write-only + + + 4 + 0x4 + HASHKEY%s + Hash key n + 0x5C + 32 + + + 4 + 0x4 + GHASH%s + Galois Hash n + 0x6C + 32 + + + CIPLEN + Cipher Length + 0x80 + 32 + + + RANDSEED + Random Seed + 0x84 + 32 + + + + + CAN0 + 3.2.1 + Control Area Network 0 + CAN + CAN_ + 0x42000000 + + 0 + 0x100 + registers + + + CAN0_INTREQ + 78 + + + + CREL + Core Release + 0x00 + 32 + read-only + 0x32100000 + + + SUBSTEP + Sub-step of Core Release + 20 + 4 + read-only + + + STEP + Step of Core Release + 24 + 4 + read-only + + + REL + Core Release + 28 + 4 + read-only + + + + + ENDN + Endian + 0x04 + 32 + read-only + 0x87654321 + + + ETV + Endianness Test Value + 0 + 32 + read-only + + + + + MRCFG + Message RAM Configuration + 0x08 + 32 + 0x00000002 + + + QOS + Quality of Service + 0 + 2 + + QOSSelect + + DISABLE + Background (no sensitive operation) + 0x0 + + + LOW + Sensitive Bandwidth + 0x1 + + + MEDIUM + Sensitive Latency + 0x2 + + + HIGH + Critical Latency + 0x3 + + + + + + + DBTP + Fast Bit Timing and Prescaler + 0x0C + 32 + 0x00000A33 + + + DSJW + Data (Re)Synchronization Jump Width + 0 + 4 + + + DTSEG2 + Data time segment after sample point + 4 + 4 + + + DTSEG1 + Data time segment before sample point + 8 + 5 + + + DBRP + Data Baud Rate Prescaler + 16 + 5 + + + TDC + Tranceiver Delay Compensation + 23 + 1 + + + + + TEST + Test + 0x10 + 32 + + + LBCK + Loop Back Mode + 4 + 1 + + + TX + Control of Transmit Pin + 5 + 2 + + TXSelect + + CORE + TX controlled by CAN core + 0x0 + + + SAMPLE + TX monitoring sample point + 0x1 + + + DOMINANT + Dominant (0) level at pin CAN_TX + 0x2 + + + RECESSIVE + Recessive (1) level at pin CAN_TX + 0x3 + + + + + RX + Receive Pin + 7 + 1 + read-only + + + + + RWD + RAM Watchdog + 0x14 + 32 + + + WDC + Watchdog Configuration + 0 + 8 + read-only + + + WDV + Watchdog Value + 8 + 8 + read-only + + + + + CCCR + CC Control + 0x18 + 32 + 0x00000001 + + + INIT + Initialization + 0 + 1 + + + CCE + Configuration Change Enable + 1 + 1 + + + ASM + ASM Restricted Operation Mode + 2 + 1 + + + CSA + Clock Stop Acknowledge + 3 + 1 + read-only + + + CSR + Clock Stop Request + 4 + 1 + + + MON + Bus Monitoring Mode + 5 + 1 + + + DAR + Disable Automatic Retransmission + 6 + 1 + + + TEST + Test Mode Enable + 7 + 1 + + + FDOE + FD Operation Enable + 8 + 1 + + + BRSE + Bit Rate Switch Enable + 9 + 1 + + + PXHD + Protocol Exception Handling Disable + 12 + 1 + + + EFBI + Edge Filtering during Bus Integration + 13 + 1 + + + TXP + Transmit Pause + 14 + 1 + + + NISO + Non ISO Operation + 15 + 1 + + + + + NBTP + Nominal Bit Timing and Prescaler + 0x1C + 32 + 0x06000A03 + + + NTSEG2 + Nominal Time segment after sample point + 0 + 7 + + + NTSEG1 + Nominal Time segment before sample point + 8 + 8 + + + NBRP + Nominal Baud Rate Prescaler + 16 + 9 + + + NSJW + Nominal (Re)Synchronization Jump Width + 25 + 7 + + + + + TSCC + Timestamp Counter Configuration + 0x20 + 32 + + + TSS + Timestamp Select + 0 + 2 + + TSSSelect + + ZERO + Timestamp counter value always 0x0000 + 0x0 + + + INC + Timestamp counter value incremented by TCP + 0x1 + + + EXT + External timestamp counter value used + 0x2 + + + + + TCP + Timestamp Counter Prescaler + 16 + 4 + + + + + TSCV + Timestamp Counter Value + 0x24 + 32 + read-only + + + TSC + Timestamp Counter + 0 + 16 + read-only + + + + + TOCC + Timeout Counter Configuration + 0x28 + 32 + 0xFFFF0000 + + + ETOC + Enable Timeout Counter + 0 + 1 + + + TOS + Timeout Select + 1 + 2 + + TOSSelect + + CONT + Continuout operation + 0x0 + + + TXEF + Timeout controlled by TX Event FIFO + 0x1 + + + RXF0 + Timeout controlled by Rx FIFO 0 + 0x2 + + + RXF1 + Timeout controlled by Rx FIFO 1 + 0x3 + + + + + TOP + Timeout Period + 16 + 16 + + + + + TOCV + Timeout Counter Value + 0x2C + 32 + 0x0000FFFF + + + TOC + Timeout Counter + 0 + 16 + + + + + ECR + Error Counter + 0x40 + 32 + read-only + + + TEC + Transmit Error Counter + 0 + 8 + read-only + + + REC + Receive Error Counter + 8 + 7 + read-only + + + RP + Receive Error Passive + 15 + 1 + read-only + + + CEL + CAN Error Logging + 16 + 8 + read-only + + + + + PSR + Protocol Status + 0x44 + 32 + read-only + 0x00000707 + + + LEC + Last Error Code + 0 + 3 + read-only + + LECSelect + + NONE + No Error + 0x0 + + + STUFF + Stuff Error + 0x1 + + + FORM + Form Error + 0x2 + + + ACK + Ack Error + 0x3 + + + BIT1 + Bit1 Error + 0x4 + + + BIT0 + Bit0 Error + 0x5 + + + CRC + CRC Error + 0x6 + + + NC + No Change + 0x7 + + + + + ACT + Activity + 3 + 2 + read-only + + ACTSelect + + SYNC + Node is synchronizing on CAN communication + 0x0 + + + IDLE + Node is neither receiver nor transmitter + 0x1 + + + RX + Node is operating as receiver + 0x2 + + + TX + Node is operating as transmitter + 0x3 + + + + + EP + Error Passive + 5 + 1 + read-only + + + EW + Warning Status + 6 + 1 + read-only + + + BO + Bus_Off Status + 7 + 1 + read-only + + + DLEC + Data Phase Last Error Code + 8 + 3 + read-only + + DLECSelect + + NONE + No Error + 0x0 + + + STUFF + Stuff Error + 0x1 + + + FORM + Form Error + 0x2 + + + ACK + Ack Error + 0x3 + + + BIT1 + Bit1 Error + 0x4 + + + BIT0 + Bit0 Error + 0x5 + + + CRC + CRC Error + 0x6 + + + NC + No Change + 0x7 + + + + + RESI + ESI flag of last received CAN FD Message + 11 + 1 + read-only + + + RBRS + BRS flag of last received CAN FD Message + 12 + 1 + read-only + + + RFDF + Received a CAN FD Message + 13 + 1 + read-only + + + PXE + Protocol Exception Event + 14 + 1 + read-only + + + TDCV + Transmitter Delay Compensation Value + 16 + 7 + read-only + + + + + TDCR + Extended ID Filter Configuration + 0x48 + 32 + + + TDCF + Transmitter Delay Compensation Filter Length + 0 + 7 + read-only + + + TDCO + Transmitter Delay Compensation Offset + 8 + 7 + + + + + IR + Interrupt + 0x50 + 32 + + + RF0N + Rx FIFO 0 New Message + 0 + 1 + + + RF0W + Rx FIFO 0 Watermark Reached + 1 + 1 + + + RF0F + Rx FIFO 0 Full + 2 + 1 + + + RF0L + Rx FIFO 0 Message Lost + 3 + 1 + + + RF1N + Rx FIFO 1 New Message + 4 + 1 + + + RF1W + Rx FIFO 1 Watermark Reached + 5 + 1 + + + RF1F + Rx FIFO 1 FIFO Full + 6 + 1 + + + RF1L + Rx FIFO 1 Message Lost + 7 + 1 + + + HPM + High Priority Message + 8 + 1 + + + TC + Timestamp Completed + 9 + 1 + + + TCF + Transmission Cancellation Finished + 10 + 1 + + + TFE + Tx FIFO Empty + 11 + 1 + + + TEFN + Tx Event FIFO New Entry + 12 + 1 + + + TEFW + Tx Event FIFO Watermark Reached + 13 + 1 + + + TEFF + Tx Event FIFO Full + 14 + 1 + + + TEFL + Tx Event FIFO Element Lost + 15 + 1 + + + TSW + Timestamp Wraparound + 16 + 1 + + + MRAF + Message RAM Access Failure + 17 + 1 + + + TOO + Timeout Occurred + 18 + 1 + + + DRX + Message stored to Dedicated Rx Buffer + 19 + 1 + + + BEC + Bit Error Corrected + 20 + 1 + + + BEU + Bit Error Uncorrected + 21 + 1 + + + ELO + Error Logging Overflow + 22 + 1 + + + EP + Error Passive + 23 + 1 + + + EW + Warning Status + 24 + 1 + + + BO + Bus_Off Status + 25 + 1 + + + WDI + Watchdog Interrupt + 26 + 1 + + + PEA + Protocol Error in Arbitration Phase + 27 + 1 + + + PED + Protocol Error in Data Phase + 28 + 1 + + + ARA + Access to Reserved Address + 29 + 1 + + + + + IE + Interrupt Enable + 0x54 + 32 + + + RF0NE + Rx FIFO 0 New Message Interrupt Enable + 0 + 1 + + + RF0WE + Rx FIFO 0 Watermark Reached Interrupt Enable + 1 + 1 + + + RF0FE + Rx FIFO 0 Full Interrupt Enable + 2 + 1 + + + RF0LE + Rx FIFO 0 Message Lost Interrupt Enable + 3 + 1 + + + RF1NE + Rx FIFO 1 New Message Interrupt Enable + 4 + 1 + + + RF1WE + Rx FIFO 1 Watermark Reached Interrupt Enable + 5 + 1 + + + RF1FE + Rx FIFO 1 FIFO Full Interrupt Enable + 6 + 1 + + + RF1LE + Rx FIFO 1 Message Lost Interrupt Enable + 7 + 1 + + + HPME + High Priority Message Interrupt Enable + 8 + 1 + + + TCE + Timestamp Completed Interrupt Enable + 9 + 1 + + + TCFE + Transmission Cancellation Finished Interrupt Enable + 10 + 1 + + + TFEE + Tx FIFO Empty Interrupt Enable + 11 + 1 + + + TEFNE + Tx Event FIFO New Entry Interrupt Enable + 12 + 1 + + + TEFWE + Tx Event FIFO Watermark Reached Interrupt Enable + 13 + 1 + + + TEFFE + Tx Event FIFO Full Interrupt Enable + 14 + 1 + + + TEFLE + Tx Event FIFO Element Lost Interrupt Enable + 15 + 1 + + + TSWE + Timestamp Wraparound Interrupt Enable + 16 + 1 + + + MRAFE + Message RAM Access Failure Interrupt Enable + 17 + 1 + + + TOOE + Timeout Occurred Interrupt Enable + 18 + 1 + + + DRXE + Message stored to Dedicated Rx Buffer Interrupt Enable + 19 + 1 + + + BECE + Bit Error Corrected Interrupt Enable + 20 + 1 + + + BEUE + Bit Error Uncorrected Interrupt Enable + 21 + 1 + + + ELOE + Error Logging Overflow Interrupt Enable + 22 + 1 + + + EPE + Error Passive Interrupt Enable + 23 + 1 + + + EWE + Warning Status Interrupt Enable + 24 + 1 + + + BOE + Bus_Off Status Interrupt Enable + 25 + 1 + + + WDIE + Watchdog Interrupt Interrupt Enable + 26 + 1 + + + PEAE + Protocol Error in Arbitration Phase Enable + 27 + 1 + + + PEDE + Protocol Error in Data Phase Enable + 28 + 1 + + + ARAE + Access to Reserved Address Enable + 29 + 1 + + + + + ILS + Interrupt Line Select + 0x58 + 32 + + + RF0NL + Rx FIFO 0 New Message Interrupt Line + 0 + 1 + + + RF0WL + Rx FIFO 0 Watermark Reached Interrupt Line + 1 + 1 + + + RF0FL + Rx FIFO 0 Full Interrupt Line + 2 + 1 + + + RF0LL + Rx FIFO 0 Message Lost Interrupt Line + 3 + 1 + + + RF1NL + Rx FIFO 1 New Message Interrupt Line + 4 + 1 + + + RF1WL + Rx FIFO 1 Watermark Reached Interrupt Line + 5 + 1 + + + RF1FL + Rx FIFO 1 FIFO Full Interrupt Line + 6 + 1 + + + RF1LL + Rx FIFO 1 Message Lost Interrupt Line + 7 + 1 + + + HPML + High Priority Message Interrupt Line + 8 + 1 + + + TCL + Timestamp Completed Interrupt Line + 9 + 1 + + + TCFL + Transmission Cancellation Finished Interrupt Line + 10 + 1 + + + TFEL + Tx FIFO Empty Interrupt Line + 11 + 1 + + + TEFNL + Tx Event FIFO New Entry Interrupt Line + 12 + 1 + + + TEFWL + Tx Event FIFO Watermark Reached Interrupt Line + 13 + 1 + + + TEFFL + Tx Event FIFO Full Interrupt Line + 14 + 1 + + + TEFLL + Tx Event FIFO Element Lost Interrupt Line + 15 + 1 + + + TSWL + Timestamp Wraparound Interrupt Line + 16 + 1 + + + MRAFL + Message RAM Access Failure Interrupt Line + 17 + 1 + + + TOOL + Timeout Occurred Interrupt Line + 18 + 1 + + + DRXL + Message stored to Dedicated Rx Buffer Interrupt Line + 19 + 1 + + + BECL + Bit Error Corrected Interrupt Line + 20 + 1 + + + BEUL + Bit Error Uncorrected Interrupt Line + 21 + 1 + + + ELOL + Error Logging Overflow Interrupt Line + 22 + 1 + + + EPL + Error Passive Interrupt Line + 23 + 1 + + + EWL + Warning Status Interrupt Line + 24 + 1 + + + BOL + Bus_Off Status Interrupt Line + 25 + 1 + + + WDIL + Watchdog Interrupt Interrupt Line + 26 + 1 + + + PEAL + Protocol Error in Arbitration Phase Line + 27 + 1 + + + PEDL + Protocol Error in Data Phase Line + 28 + 1 + + + ARAL + Access to Reserved Address Line + 29 + 1 + + + + + ILE + Interrupt Line Enable + 0x5C + 32 + + + EINT0 + Enable Interrupt Line 0 + 0 + 1 + + + EINT1 + Enable Interrupt Line 1 + 1 + 1 + + + + + GFC + Global Filter Configuration + 0x80 + 32 + + + RRFE + Reject Remote Frames Extended + 0 + 1 + + + RRFS + Reject Remote Frames Standard + 1 + 1 + + + ANFE + Accept Non-matching Frames Extended + 2 + 2 + + ANFESelect + + RXF0 + Accept in Rx FIFO 0 + 0x0 + + + RXF1 + Accept in Rx FIFO 1 + 0x1 + + + REJECT + Reject + 0x2 + + + + + ANFS + Accept Non-matching Frames Standard + 4 + 2 + + ANFSSelect + + RXF0 + Accept in Rx FIFO 0 + 0x0 + + + RXF1 + Accept in Rx FIFO 1 + 0x1 + + + REJECT + Reject + 0x2 + + + + + + + SIDFC + Standard ID Filter Configuration + 0x84 + 32 + + + FLSSA + Filter List Standard Start Address + 0 + 16 + + + LSS + List Size Standard + 16 + 8 + + + + + XIDFC + Extended ID Filter Configuration + 0x88 + 32 + + + FLESA + Filter List Extended Start Address + 0 + 16 + + + LSE + List Size Extended + 16 + 7 + + + + + XIDAM + Extended ID AND Mask + 0x90 + 32 + 0x1FFFFFFF + + + EIDM + Extended ID Mask + 0 + 29 + + + + + HPMS + High Priority Message Status + 0x94 + 32 + read-only + + + BIDX + Buffer Index + 0 + 6 + read-only + + + MSI + Message Storage Indicator + 6 + 2 + read-only + + MSISelect + + NONE + No FIFO selected + 0x0 + + + LOST + FIFO message lost + 0x1 + + + FIFO0 + Message stored in FIFO 0 + 0x2 + + + FIFO1 + Message stored in FIFO 1 + 0x3 + + + + + FIDX + Filter Index + 8 + 7 + read-only + + + FLST + Filter List + 15 + 1 + read-only + + + + + NDAT1 + New Data 1 + 0x98 + 32 + + + ND0 + New Data 0 + 0 + 1 + + + ND1 + New Data 1 + 1 + 1 + + + ND2 + New Data 2 + 2 + 1 + + + ND3 + New Data 3 + 3 + 1 + + + ND4 + New Data 4 + 4 + 1 + + + ND5 + New Data 5 + 5 + 1 + + + ND6 + New Data 6 + 6 + 1 + + + ND7 + New Data 7 + 7 + 1 + + + ND8 + New Data 8 + 8 + 1 + + + ND9 + New Data 9 + 9 + 1 + + + ND10 + New Data 10 + 10 + 1 + + + ND11 + New Data 11 + 11 + 1 + + + ND12 + New Data 12 + 12 + 1 + + + ND13 + New Data 13 + 13 + 1 + + + ND14 + New Data 14 + 14 + 1 + + + ND15 + New Data 15 + 15 + 1 + + + ND16 + New Data 16 + 16 + 1 + + + ND17 + New Data 17 + 17 + 1 + + + ND18 + New Data 18 + 18 + 1 + + + ND19 + New Data 19 + 19 + 1 + + + ND20 + New Data 20 + 20 + 1 + + + ND21 + New Data 21 + 21 + 1 + + + ND22 + New Data 22 + 22 + 1 + + + ND23 + New Data 23 + 23 + 1 + + + ND24 + New Data 24 + 24 + 1 + + + ND25 + New Data 25 + 25 + 1 + + + ND26 + New Data 26 + 26 + 1 + + + ND27 + New Data 27 + 27 + 1 + + + ND28 + New Data 28 + 28 + 1 + + + ND29 + New Data 29 + 29 + 1 + + + ND30 + New Data 30 + 30 + 1 + + + ND31 + New Data 31 + 31 + 1 + + + + + NDAT2 + New Data 2 + 0x9C + 32 + + + ND32 + New Data 32 + 0 + 1 + + + ND33 + New Data 33 + 1 + 1 + + + ND34 + New Data 34 + 2 + 1 + + + ND35 + New Data 35 + 3 + 1 + + + ND36 + New Data 36 + 4 + 1 + + + ND37 + New Data 37 + 5 + 1 + + + ND38 + New Data 38 + 6 + 1 + + + ND39 + New Data 39 + 7 + 1 + + + ND40 + New Data 40 + 8 + 1 + + + ND41 + New Data 41 + 9 + 1 + + + ND42 + New Data 42 + 10 + 1 + + + ND43 + New Data 43 + 11 + 1 + + + ND44 + New Data 44 + 12 + 1 + + + ND45 + New Data 45 + 13 + 1 + + + ND46 + New Data 46 + 14 + 1 + + + ND47 + New Data 47 + 15 + 1 + + + ND48 + New Data 48 + 16 + 1 + + + ND49 + New Data 49 + 17 + 1 + + + ND50 + New Data 50 + 18 + 1 + + + ND51 + New Data 51 + 19 + 1 + + + ND52 + New Data 52 + 20 + 1 + + + ND53 + New Data 53 + 21 + 1 + + + ND54 + New Data 54 + 22 + 1 + + + ND55 + New Data 55 + 23 + 1 + + + ND56 + New Data 56 + 24 + 1 + + + ND57 + New Data 57 + 25 + 1 + + + ND58 + New Data 58 + 26 + 1 + + + ND59 + New Data 59 + 27 + 1 + + + ND60 + New Data 60 + 28 + 1 + + + ND61 + New Data 61 + 29 + 1 + + + ND62 + New Data 62 + 30 + 1 + + + ND63 + New Data 63 + 31 + 1 + + + + + RXF0C + Rx FIFO 0 Configuration + 0xA0 + 32 + + + F0SA + Rx FIFO 0 Start Address + 0 + 16 + + + F0S + Rx FIFO 0 Size + 16 + 7 + + + F0WM + Rx FIFO 0 Watermark + 24 + 7 + + + F0OM + FIFO 0 Operation Mode + 31 + 1 + + + + + RXF0S + Rx FIFO 0 Status + 0xA4 + 32 + read-only + + + F0FL + Rx FIFO 0 Fill Level + 0 + 7 + read-only + + + F0GI + Rx FIFO 0 Get Index + 8 + 6 + read-only + + + F0PI + Rx FIFO 0 Put Index + 16 + 6 + read-only + + + F0F + Rx FIFO 0 Full + 24 + 1 + read-only + + + RF0L + Rx FIFO 0 Message Lost + 25 + 1 + read-only + + + + + RXF0A + Rx FIFO 0 Acknowledge + 0xA8 + 32 + + + F0AI + Rx FIFO 0 Acknowledge Index + 0 + 6 + + + + + RXBC + Rx Buffer Configuration + 0xAC + 32 + + + RBSA + Rx Buffer Start Address + 0 + 16 + + + + + RXF1C + Rx FIFO 1 Configuration + 0xB0 + 32 + + + F1SA + Rx FIFO 1 Start Address + 0 + 16 + + + F1S + Rx FIFO 1 Size + 16 + 7 + + + F1WM + Rx FIFO 1 Watermark + 24 + 7 + + + F1OM + FIFO 1 Operation Mode + 31 + 1 + + + + + RXF1S + Rx FIFO 1 Status + 0xB4 + 32 + read-only + + + F1FL + Rx FIFO 1 Fill Level + 0 + 7 + read-only + + + F1GI + Rx FIFO 1 Get Index + 8 + 6 + read-only + + + F1PI + Rx FIFO 1 Put Index + 16 + 6 + read-only + + + F1F + Rx FIFO 1 Full + 24 + 1 + read-only + + + RF1L + Rx FIFO 1 Message Lost + 25 + 1 + read-only + + + DMS + Debug Message Status + 30 + 2 + read-only + + DMSSelect + + IDLE + Idle state + 0x0 + + + DBGA + Debug message A received + 0x1 + + + DBGB + Debug message A/B received + 0x2 + + + DBGC + Debug message A/B/C received, DMA request set + 0x3 + + + + + + + RXF1A + Rx FIFO 1 Acknowledge + 0xB8 + 32 + + + F1AI + Rx FIFO 1 Acknowledge Index + 0 + 6 + + + + + RXESC + Rx Buffer / FIFO Element Size Configuration + 0xBC + 32 + + + F0DS + Rx FIFO 0 Data Field Size + 0 + 3 + + F0DSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + F1DS + Rx FIFO 1 Data Field Size + 4 + 3 + + F1DSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + RBDS + Rx Buffer Data Field Size + 8 + 3 + + RBDSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + + + TXBC + Tx Buffer Configuration + 0xC0 + 32 + + + TBSA + Tx Buffers Start Address + 0 + 16 + + + NDTB + Number of Dedicated Transmit Buffers + 16 + 6 + + + TFQS + Transmit FIFO/Queue Size + 24 + 6 + + + TFQM + Tx FIFO/Queue Mode + 30 + 1 + + + + + TXFQS + Tx FIFO / Queue Status + 0xC4 + 32 + read-only + + + TFFL + Tx FIFO Free Level + 0 + 6 + read-only + + + TFGI + Tx FIFO Get Index + 8 + 5 + read-only + + + TFQPI + Tx FIFO/Queue Put Index + 16 + 5 + read-only + + + TFQF + Tx FIFO/Queue Full + 21 + 1 + read-only + + + + + TXESC + Tx Buffer Element Size Configuration + 0xC8 + 32 + + + TBDS + Tx Buffer Data Field Size + 0 + 3 + + TBDSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + + + TXBRP + Tx Buffer Request Pending + 0xCC + 32 + read-only + + + TRP0 + Transmission Request Pending 0 + 0 + 1 + read-only + + + TRP1 + Transmission Request Pending 1 + 1 + 1 + read-only + + + TRP2 + Transmission Request Pending 2 + 2 + 1 + read-only + + + TRP3 + Transmission Request Pending 3 + 3 + 1 + read-only + + + TRP4 + Transmission Request Pending 4 + 4 + 1 + read-only + + + TRP5 + Transmission Request Pending 5 + 5 + 1 + read-only + + + TRP6 + Transmission Request Pending 6 + 6 + 1 + read-only + + + TRP7 + Transmission Request Pending 7 + 7 + 1 + read-only + + + TRP8 + Transmission Request Pending 8 + 8 + 1 + read-only + + + TRP9 + Transmission Request Pending 9 + 9 + 1 + read-only + + + TRP10 + Transmission Request Pending 10 + 10 + 1 + read-only + + + TRP11 + Transmission Request Pending 11 + 11 + 1 + read-only + + + TRP12 + Transmission Request Pending 12 + 12 + 1 + read-only + + + TRP13 + Transmission Request Pending 13 + 13 + 1 + read-only + + + TRP14 + Transmission Request Pending 14 + 14 + 1 + read-only + + + TRP15 + Transmission Request Pending 15 + 15 + 1 + read-only + + + TRP16 + Transmission Request Pending 16 + 16 + 1 + read-only + + + TRP17 + Transmission Request Pending 17 + 17 + 1 + read-only + + + TRP18 + Transmission Request Pending 18 + 18 + 1 + read-only + + + TRP19 + Transmission Request Pending 19 + 19 + 1 + read-only + + + TRP20 + Transmission Request Pending 20 + 20 + 1 + read-only + + + TRP21 + Transmission Request Pending 21 + 21 + 1 + read-only + + + TRP22 + Transmission Request Pending 22 + 22 + 1 + read-only + + + TRP23 + Transmission Request Pending 23 + 23 + 1 + read-only + + + TRP24 + Transmission Request Pending 24 + 24 + 1 + read-only + + + TRP25 + Transmission Request Pending 25 + 25 + 1 + read-only + + + TRP26 + Transmission Request Pending 26 + 26 + 1 + read-only + + + TRP27 + Transmission Request Pending 27 + 27 + 1 + read-only + + + TRP28 + Transmission Request Pending 28 + 28 + 1 + read-only + + + TRP29 + Transmission Request Pending 29 + 29 + 1 + read-only + + + TRP30 + Transmission Request Pending 30 + 30 + 1 + read-only + + + TRP31 + Transmission Request Pending 31 + 31 + 1 + read-only + + + + + TXBAR + Tx Buffer Add Request + 0xD0 + 32 + + + AR0 + Add Request 0 + 0 + 1 + + + AR1 + Add Request 1 + 1 + 1 + + + AR2 + Add Request 2 + 2 + 1 + + + AR3 + Add Request 3 + 3 + 1 + + + AR4 + Add Request 4 + 4 + 1 + + + AR5 + Add Request 5 + 5 + 1 + + + AR6 + Add Request 6 + 6 + 1 + + + AR7 + Add Request 7 + 7 + 1 + + + AR8 + Add Request 8 + 8 + 1 + + + AR9 + Add Request 9 + 9 + 1 + + + AR10 + Add Request 10 + 10 + 1 + + + AR11 + Add Request 11 + 11 + 1 + + + AR12 + Add Request 12 + 12 + 1 + + + AR13 + Add Request 13 + 13 + 1 + + + AR14 + Add Request 14 + 14 + 1 + + + AR15 + Add Request 15 + 15 + 1 + + + AR16 + Add Request 16 + 16 + 1 + + + AR17 + Add Request 17 + 17 + 1 + + + AR18 + Add Request 18 + 18 + 1 + + + AR19 + Add Request 19 + 19 + 1 + + + AR20 + Add Request 20 + 20 + 1 + + + AR21 + Add Request 21 + 21 + 1 + + + AR22 + Add Request 22 + 22 + 1 + + + AR23 + Add Request 23 + 23 + 1 + + + AR24 + Add Request 24 + 24 + 1 + + + AR25 + Add Request 25 + 25 + 1 + + + AR26 + Add Request 26 + 26 + 1 + + + AR27 + Add Request 27 + 27 + 1 + + + AR28 + Add Request 28 + 28 + 1 + + + AR29 + Add Request 29 + 29 + 1 + + + AR30 + Add Request 30 + 30 + 1 + + + AR31 + Add Request 31 + 31 + 1 + + + + + TXBCR + Tx Buffer Cancellation Request + 0xD4 + 32 + + + CR0 + Cancellation Request 0 + 0 + 1 + + + CR1 + Cancellation Request 1 + 1 + 1 + + + CR2 + Cancellation Request 2 + 2 + 1 + + + CR3 + Cancellation Request 3 + 3 + 1 + + + CR4 + Cancellation Request 4 + 4 + 1 + + + CR5 + Cancellation Request 5 + 5 + 1 + + + CR6 + Cancellation Request 6 + 6 + 1 + + + CR7 + Cancellation Request 7 + 7 + 1 + + + CR8 + Cancellation Request 8 + 8 + 1 + + + CR9 + Cancellation Request 9 + 9 + 1 + + + CR10 + Cancellation Request 10 + 10 + 1 + + + CR11 + Cancellation Request 11 + 11 + 1 + + + CR12 + Cancellation Request 12 + 12 + 1 + + + CR13 + Cancellation Request 13 + 13 + 1 + + + CR14 + Cancellation Request 14 + 14 + 1 + + + CR15 + Cancellation Request 15 + 15 + 1 + + + CR16 + Cancellation Request 16 + 16 + 1 + + + CR17 + Cancellation Request 17 + 17 + 1 + + + CR18 + Cancellation Request 18 + 18 + 1 + + + CR19 + Cancellation Request 19 + 19 + 1 + + + CR20 + Cancellation Request 20 + 20 + 1 + + + CR21 + Cancellation Request 21 + 21 + 1 + + + CR22 + Cancellation Request 22 + 22 + 1 + + + CR23 + Cancellation Request 23 + 23 + 1 + + + CR24 + Cancellation Request 24 + 24 + 1 + + + CR25 + Cancellation Request 25 + 25 + 1 + + + CR26 + Cancellation Request 26 + 26 + 1 + + + CR27 + Cancellation Request 27 + 27 + 1 + + + CR28 + Cancellation Request 28 + 28 + 1 + + + CR29 + Cancellation Request 29 + 29 + 1 + + + CR30 + Cancellation Request 30 + 30 + 1 + + + CR31 + Cancellation Request 31 + 31 + 1 + + + + + TXBTO + Tx Buffer Transmission Occurred + 0xD8 + 32 + read-only + + + TO0 + Transmission Occurred 0 + 0 + 1 + read-only + + + TO1 + Transmission Occurred 1 + 1 + 1 + read-only + + + TO2 + Transmission Occurred 2 + 2 + 1 + read-only + + + TO3 + Transmission Occurred 3 + 3 + 1 + read-only + + + TO4 + Transmission Occurred 4 + 4 + 1 + read-only + + + TO5 + Transmission Occurred 5 + 5 + 1 + read-only + + + TO6 + Transmission Occurred 6 + 6 + 1 + read-only + + + TO7 + Transmission Occurred 7 + 7 + 1 + read-only + + + TO8 + Transmission Occurred 8 + 8 + 1 + read-only + + + TO9 + Transmission Occurred 9 + 9 + 1 + read-only + + + TO10 + Transmission Occurred 10 + 10 + 1 + read-only + + + TO11 + Transmission Occurred 11 + 11 + 1 + read-only + + + TO12 + Transmission Occurred 12 + 12 + 1 + read-only + + + TO13 + Transmission Occurred 13 + 13 + 1 + read-only + + + TO14 + Transmission Occurred 14 + 14 + 1 + read-only + + + TO15 + Transmission Occurred 15 + 15 + 1 + read-only + + + TO16 + Transmission Occurred 16 + 16 + 1 + read-only + + + TO17 + Transmission Occurred 17 + 17 + 1 + read-only + + + TO18 + Transmission Occurred 18 + 18 + 1 + read-only + + + TO19 + Transmission Occurred 19 + 19 + 1 + read-only + + + TO20 + Transmission Occurred 20 + 20 + 1 + read-only + + + TO21 + Transmission Occurred 21 + 21 + 1 + read-only + + + TO22 + Transmission Occurred 22 + 22 + 1 + read-only + + + TO23 + Transmission Occurred 23 + 23 + 1 + read-only + + + TO24 + Transmission Occurred 24 + 24 + 1 + read-only + + + TO25 + Transmission Occurred 25 + 25 + 1 + read-only + + + TO26 + Transmission Occurred 26 + 26 + 1 + read-only + + + TO27 + Transmission Occurred 27 + 27 + 1 + read-only + + + TO28 + Transmission Occurred 28 + 28 + 1 + read-only + + + TO29 + Transmission Occurred 29 + 29 + 1 + read-only + + + TO30 + Transmission Occurred 30 + 30 + 1 + read-only + + + TO31 + Transmission Occurred 31 + 31 + 1 + read-only + + + + + TXBCF + Tx Buffer Cancellation Finished + 0xDC + 32 + read-only + + + CF0 + Tx Buffer Cancellation Finished 0 + 0 + 1 + read-only + + + CF1 + Tx Buffer Cancellation Finished 1 + 1 + 1 + read-only + + + CF2 + Tx Buffer Cancellation Finished 2 + 2 + 1 + read-only + + + CF3 + Tx Buffer Cancellation Finished 3 + 3 + 1 + read-only + + + CF4 + Tx Buffer Cancellation Finished 4 + 4 + 1 + read-only + + + CF5 + Tx Buffer Cancellation Finished 5 + 5 + 1 + read-only + + + CF6 + Tx Buffer Cancellation Finished 6 + 6 + 1 + read-only + + + CF7 + Tx Buffer Cancellation Finished 7 + 7 + 1 + read-only + + + CF8 + Tx Buffer Cancellation Finished 8 + 8 + 1 + read-only + + + CF9 + Tx Buffer Cancellation Finished 9 + 9 + 1 + read-only + + + CF10 + Tx Buffer Cancellation Finished 10 + 10 + 1 + read-only + + + CF11 + Tx Buffer Cancellation Finished 11 + 11 + 1 + read-only + + + CF12 + Tx Buffer Cancellation Finished 12 + 12 + 1 + read-only + + + CF13 + Tx Buffer Cancellation Finished 13 + 13 + 1 + read-only + + + CF14 + Tx Buffer Cancellation Finished 14 + 14 + 1 + read-only + + + CF15 + Tx Buffer Cancellation Finished 15 + 15 + 1 + read-only + + + CF16 + Tx Buffer Cancellation Finished 16 + 16 + 1 + read-only + + + CF17 + Tx Buffer Cancellation Finished 17 + 17 + 1 + read-only + + + CF18 + Tx Buffer Cancellation Finished 18 + 18 + 1 + read-only + + + CF19 + Tx Buffer Cancellation Finished 19 + 19 + 1 + read-only + + + CF20 + Tx Buffer Cancellation Finished 20 + 20 + 1 + read-only + + + CF21 + Tx Buffer Cancellation Finished 21 + 21 + 1 + read-only + + + CF22 + Tx Buffer Cancellation Finished 22 + 22 + 1 + read-only + + + CF23 + Tx Buffer Cancellation Finished 23 + 23 + 1 + read-only + + + CF24 + Tx Buffer Cancellation Finished 24 + 24 + 1 + read-only + + + CF25 + Tx Buffer Cancellation Finished 25 + 25 + 1 + read-only + + + CF26 + Tx Buffer Cancellation Finished 26 + 26 + 1 + read-only + + + CF27 + Tx Buffer Cancellation Finished 27 + 27 + 1 + read-only + + + CF28 + Tx Buffer Cancellation Finished 28 + 28 + 1 + read-only + + + CF29 + Tx Buffer Cancellation Finished 29 + 29 + 1 + read-only + + + CF30 + Tx Buffer Cancellation Finished 30 + 30 + 1 + read-only + + + CF31 + Tx Buffer Cancellation Finished 31 + 31 + 1 + read-only + + + + + TXBTIE + Tx Buffer Transmission Interrupt Enable + 0xE0 + 32 + + + TIE0 + Transmission Interrupt Enable 0 + 0 + 1 + + + TIE1 + Transmission Interrupt Enable 1 + 1 + 1 + + + TIE2 + Transmission Interrupt Enable 2 + 2 + 1 + + + TIE3 + Transmission Interrupt Enable 3 + 3 + 1 + + + TIE4 + Transmission Interrupt Enable 4 + 4 + 1 + + + TIE5 + Transmission Interrupt Enable 5 + 5 + 1 + + + TIE6 + Transmission Interrupt Enable 6 + 6 + 1 + + + TIE7 + Transmission Interrupt Enable 7 + 7 + 1 + + + TIE8 + Transmission Interrupt Enable 8 + 8 + 1 + + + TIE9 + Transmission Interrupt Enable 9 + 9 + 1 + + + TIE10 + Transmission Interrupt Enable 10 + 10 + 1 + + + TIE11 + Transmission Interrupt Enable 11 + 11 + 1 + + + TIE12 + Transmission Interrupt Enable 12 + 12 + 1 + + + TIE13 + Transmission Interrupt Enable 13 + 13 + 1 + + + TIE14 + Transmission Interrupt Enable 14 + 14 + 1 + + + TIE15 + Transmission Interrupt Enable 15 + 15 + 1 + + + TIE16 + Transmission Interrupt Enable 16 + 16 + 1 + + + TIE17 + Transmission Interrupt Enable 17 + 17 + 1 + + + TIE18 + Transmission Interrupt Enable 18 + 18 + 1 + + + TIE19 + Transmission Interrupt Enable 19 + 19 + 1 + + + TIE20 + Transmission Interrupt Enable 20 + 20 + 1 + + + TIE21 + Transmission Interrupt Enable 21 + 21 + 1 + + + TIE22 + Transmission Interrupt Enable 22 + 22 + 1 + + + TIE23 + Transmission Interrupt Enable 23 + 23 + 1 + + + TIE24 + Transmission Interrupt Enable 24 + 24 + 1 + + + TIE25 + Transmission Interrupt Enable 25 + 25 + 1 + + + TIE26 + Transmission Interrupt Enable 26 + 26 + 1 + + + TIE27 + Transmission Interrupt Enable 27 + 27 + 1 + + + TIE28 + Transmission Interrupt Enable 28 + 28 + 1 + + + TIE29 + Transmission Interrupt Enable 29 + 29 + 1 + + + TIE30 + Transmission Interrupt Enable 30 + 30 + 1 + + + TIE31 + Transmission Interrupt Enable 31 + 31 + 1 + + + + + TXBCIE + Tx Buffer Cancellation Finished Interrupt Enable + 0xE4 + 32 + + + CFIE0 + Cancellation Finished Interrupt Enable 0 + 0 + 1 + + + CFIE1 + Cancellation Finished Interrupt Enable 1 + 1 + 1 + + + CFIE2 + Cancellation Finished Interrupt Enable 2 + 2 + 1 + + + CFIE3 + Cancellation Finished Interrupt Enable 3 + 3 + 1 + + + CFIE4 + Cancellation Finished Interrupt Enable 4 + 4 + 1 + + + CFIE5 + Cancellation Finished Interrupt Enable 5 + 5 + 1 + + + CFIE6 + Cancellation Finished Interrupt Enable 6 + 6 + 1 + + + CFIE7 + Cancellation Finished Interrupt Enable 7 + 7 + 1 + + + CFIE8 + Cancellation Finished Interrupt Enable 8 + 8 + 1 + + + CFIE9 + Cancellation Finished Interrupt Enable 9 + 9 + 1 + + + CFIE10 + Cancellation Finished Interrupt Enable 10 + 10 + 1 + + + CFIE11 + Cancellation Finished Interrupt Enable 11 + 11 + 1 + + + CFIE12 + Cancellation Finished Interrupt Enable 12 + 12 + 1 + + + CFIE13 + Cancellation Finished Interrupt Enable 13 + 13 + 1 + + + CFIE14 + Cancellation Finished Interrupt Enable 14 + 14 + 1 + + + CFIE15 + Cancellation Finished Interrupt Enable 15 + 15 + 1 + + + CFIE16 + Cancellation Finished Interrupt Enable 16 + 16 + 1 + + + CFIE17 + Cancellation Finished Interrupt Enable 17 + 17 + 1 + + + CFIE18 + Cancellation Finished Interrupt Enable 18 + 18 + 1 + + + CFIE19 + Cancellation Finished Interrupt Enable 19 + 19 + 1 + + + CFIE20 + Cancellation Finished Interrupt Enable 20 + 20 + 1 + + + CFIE21 + Cancellation Finished Interrupt Enable 21 + 21 + 1 + + + CFIE22 + Cancellation Finished Interrupt Enable 22 + 22 + 1 + + + CFIE23 + Cancellation Finished Interrupt Enable 23 + 23 + 1 + + + CFIE24 + Cancellation Finished Interrupt Enable 24 + 24 + 1 + + + CFIE25 + Cancellation Finished Interrupt Enable 25 + 25 + 1 + + + CFIE26 + Cancellation Finished Interrupt Enable 26 + 26 + 1 + + + CFIE27 + Cancellation Finished Interrupt Enable 27 + 27 + 1 + + + CFIE28 + Cancellation Finished Interrupt Enable 28 + 28 + 1 + + + CFIE29 + Cancellation Finished Interrupt Enable 29 + 29 + 1 + + + CFIE30 + Cancellation Finished Interrupt Enable 30 + 30 + 1 + + + CFIE31 + Cancellation Finished Interrupt Enable 31 + 31 + 1 + + + + + TXEFC + Tx Event FIFO Configuration + 0xF0 + 32 + + + EFSA + Event FIFO Start Address + 0 + 16 + + + EFS + Event FIFO Size + 16 + 6 + + + EFWM + Event FIFO Watermark + 24 + 6 + + + + + TXEFS + Tx Event FIFO Status + 0xF4 + 32 + read-only + + + EFFL + Event FIFO Fill Level + 0 + 6 + read-only + + + EFGI + Event FIFO Get Index + 8 + 5 + read-only + + + EFPI + Event FIFO Put Index + 16 + 5 + read-only + + + EFF + Event FIFO Full + 24 + 1 + read-only + + + TEFL + Tx Event FIFO Element Lost + 25 + 1 + read-only + + + + + TXEFA + Tx Event FIFO Acknowledge + 0xF8 + 32 + + + EFAI + Event FIFO Acknowledge Index + 0 + 5 + + + + + + + CAN1 + Control Area Network 1 + 0x42000400 + + CAN1_INTREQ + 79 + + + + CCL + 1.1.0 + Configurable Custom Logic + CCL + CCL_ + 0x42003800 + + 0 + 0x40 + registers + + + + CTRL + Control + 0x0 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + + + 2 + 0x1 + SEQCTRL%s + SEQ Control x + 0x4 + 8 + + + SEQSEL + Sequential Selection + 0 + 4 + + SEQSELSelect + + DISABLE + Sequential logic is disabled + 0x0 + + + DFF + D flip flop + 0x1 + + + JK + JK flip flop + 0x2 + + + LATCH + D latch + 0x3 + + + RS + RS latch + 0x4 + + + + + + + 4 + 0x4 + LUTCTRL%s + LUT Control x + 0x8 + 32 + + + ENABLE + LUT Enable + 1 + 1 + + + FILTSEL + Filter Selection + 4 + 2 + + FILTSELSelect + + DISABLE + Filter disabled + 0x0 + + + SYNCH + Synchronizer enabled + 0x1 + + + FILTER + Filter enabled + 0x2 + + + + + EDGESEL + Edge Selection + 7 + 1 + + + INSEL0 + Input Selection 0 + 8 + 4 + + INSEL0Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INSEL1 + Input Selection 1 + 12 + 4 + + INSEL1Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INSEL2 + Input Selection 2 + 16 + 4 + + INSEL2Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INVEI + Inverted Event Input Enable + 20 + 1 + + + LUTEI + LUT Event Input Enable + 21 + 1 + + + LUTEO + LUT Event Output Enable + 22 + 1 + + + TRUTH + Truth Value + 24 + 8 + + + + + + + CMCC + 6.0.0 + Cortex M Cache Controller + CMCC + CMCC_ + 0x41006000 + + 0 + 0x40 + registers + + + + TYPE + Cache Type Register + 0x00 + 32 + read-only + 0x000012D2 + + + GCLK + dynamic Clock Gating supported + 1 + 1 + + + RRP + Round Robin Policy supported + 4 + 1 + + + WAYNUM + Number of Way + 5 + 2 + + WAYNUMSelect + + DMAPPED + Direct Mapped Cache + 0x0 + + + ARCH2WAY + 2-WAY set associative + 0x1 + + + ARCH4WAY + 4-WAY set associative + 0x2 + + + + + LCKDOWN + Lock Down supported + 7 + 1 + + + CSIZE + Cache Size + 8 + 3 + + CSIZESelect + + CSIZE_1KB + Cache Size is 1 KB + 0x0 + + + CSIZE_2KB + Cache Size is 2 KB + 0x1 + + + CSIZE_4KB + Cache Size is 4 KB + 0x2 + + + CSIZE_8KB + Cache Size is 8 KB + 0x3 + + + CSIZE_16KB + Cache Size is 16 KB + 0x4 + + + CSIZE_32KB + Cache Size is 32 KB + 0x5 + + + CSIZE_64KB + Cache Size is 64 KB + 0x6 + + + + + CLSIZE + Cache Line Size + 11 + 3 + + CLSIZESelect + + CLSIZE_4B + Cache Line Size is 4 bytes + 0x0 + + + CLSIZE_8B + Cache Line Size is 8 bytes + 0x1 + + + CLSIZE_16B + Cache Line Size is 16 bytes + 0x2 + + + CLSIZE_32B + Cache Line Size is 32 bytes + 0x3 + + + CLSIZE_64B + Cache Line Size is 64 bytes + 0x4 + + + CLSIZE_128B + Cache Line Size is 128 bytes + 0x5 + + + + + + + CFG + Cache Configuration Register + 0x04 + 32 + 0x00000020 + + + ICDIS + Instruction Cache Disable + 1 + 1 + + + DCDIS + Data Cache Disable + 2 + 1 + + + CSIZESW + Cache size configured by software + 4 + 3 + + CSIZESWSelect + + CONF_CSIZE_1KB + the Cache Size is configured to 1KB + 0x0 + + + CONF_CSIZE_2KB + the Cache Size is configured to 2KB + 0x1 + + + CONF_CSIZE_4KB + the Cache Size is configured to 4KB + 0x2 + + + CONF_CSIZE_8KB + the Cache Size is configured to 8KB + 0x3 + + + CONF_CSIZE_16KB + the Cache Size is configured to 16KB + 0x4 + + + CONF_CSIZE_32KB + the Cache Size is configured to 32KB + 0x5 + + + CONF_CSIZE_64KB + the Cache Size is configured to 64KB + 0x6 + + + + + + + CTRL + Cache Control Register + 0x08 + 32 + write-only + + + CEN + Cache Controller Enable + 0 + 1 + + + + + SR + Cache Status Register + 0x0C + 32 + read-only + + + CSTS + Cache Controller Status + 0 + 1 + + + + + LCKWAY + Cache Lock per Way Register + 0x10 + 32 + + + LCKWAY + Lockdown way Register + 0 + 4 + + + + + MAINT0 + Cache Maintenance Register 0 + 0x20 + 32 + write-only + + + INVALL + Cache Controller invalidate All + 0 + 1 + + + + + MAINT1 + Cache Maintenance Register 1 + 0x24 + 32 + write-only + + + INDEX + Invalidate Index + 4 + 8 + + + WAY + Invalidate Way + 28 + 4 + + WAYSelect + + WAY0 + Way 0 is selection for index invalidation + 0x0 + + + WAY1 + Way 1 is selection for index invalidation + 0x1 + + + WAY2 + Way 2 is selection for index invalidation + 0x2 + + + WAY3 + Way 3 is selection for index invalidation + 0x3 + + + + + + + MCFG + Cache Monitor Configuration Register + 0x28 + 32 + + + MODE + Cache Controller Monitor Counter Mode + 0 + 2 + + MODESelect + + CYCLE_COUNT + cycle counter + 0x0 + + + IHIT_COUNT + instruction hit counter + 0x1 + + + DHIT_COUNT + data hit counter + 0x2 + + + + + + + MEN + Cache Monitor Enable Register + 0x2C + 32 + + + MENABLE + Cache Controller Monitor Enable + 0 + 1 + + + + + MCTRL + Cache Monitor Control Register + 0x30 + 32 + write-only + + + SWRST + Cache Controller Software Reset + 0 + 1 + + + + + MSR + Cache Monitor Status Register + 0x34 + 32 + read-only + + + EVENT_CNT + Monitor Event Counter + 0 + 32 + + + + + + + DAC + 1.0.0 + Digital-to-Analog Converter + DAC + DAC_ + 0x43002400 + + 0 + 0x20 + registers + + + DAC_INTREQ_0 + 123 + + + DAC_INTREQ_1 + 124 + + + DAC_INTREQ_2 + 125 + + + DAC_INTREQ_3 + 126 + + + DAC_INTREQ_4 + 127 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable DAC Controller + 1 + 1 + + + + + CTRLB + Control B + 0x01 + 8 + 0x02 + + + DIFF + Differential mode enable + 0 + 1 + + + REFSEL + Reference Selection for DAC0/1 + 1 + 2 + + REFSELSelect + + VREFPU + External reference unbuffered + 0x0 + + + VDDANA + Analog supply + 0x1 + + + VREFPB + External reference buffered + 0x2 + + + INTREF + Internal bandgap reference + 0x3 + + + + + + + EVCTRL + Event Control + 0x02 + 8 + + + STARTEI0 + Start Conversion Event Input DAC 0 + 0 + 1 + + + STARTEI1 + Start Conversion Event Input DAC 1 + 1 + 1 + + + EMPTYEO0 + Data Buffer Empty Event Output DAC 0 + 2 + 1 + + + EMPTYEO1 + Data Buffer Empty Event Output DAC 1 + 3 + 1 + + + INVEI0 + Enable Invertion of DAC 0 input event + 4 + 1 + + + INVEI1 + Enable Invertion of DAC 1 input event + 5 + 1 + + + RESRDYEO0 + Result Ready Event Output 0 + 6 + 1 + + + RESRDYEO1 + Result Ready Event Output 1 + 7 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + UNDERRUN0 + Underrun 0 Interrupt Enable + 0 + 1 + + + UNDERRUN1 + Underrun 1 Interrupt Enable + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty Interrupt Enable + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty Interrupt Enable + 3 + 1 + + + RESRDY0 + Result 0 Ready Interrupt Enable + 4 + 1 + + + RESRDY1 + Result 1 Ready Interrupt Enable + 5 + 1 + + + OVERRUN0 + Overrun 0 Interrupt Enable + 6 + 1 + + + OVERRUN1 + Overrun 1 Interrupt Enable + 7 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + UNDERRUN0 + Underrun 0 Interrupt Enable + 0 + 1 + + + UNDERRUN1 + Underrun 1 Interrupt Enable + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty Interrupt Enable + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty Interrupt Enable + 3 + 1 + + + RESRDY0 + Result 0 Ready Interrupt Enable + 4 + 1 + + + RESRDY1 + Result 1 Ready Interrupt Enable + 5 + 1 + + + OVERRUN0 + Overrun 0 Interrupt Enable + 6 + 1 + + + OVERRUN1 + Overrun 1 Interrupt Enable + 7 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + UNDERRUN0 + Result 0 Underrun + 0 + 1 + + + UNDERRUN1 + Result 1 Underrun + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty + 3 + 1 + + + RESRDY0 + Result 0 Ready + 4 + 1 + + + RESRDY1 + Result 1 Ready + 5 + 1 + + + OVERRUN0 + Result 0 Overrun + 6 + 1 + + + OVERRUN1 + Result 1 Overrun + 7 + 1 + + + + + STATUS + Status + 0x07 + 8 + read-only + + + READY0 + DAC 0 Startup Ready + 0 + 1 + read-only + + + READY1 + DAC 1 Startup Ready + 1 + 1 + read-only + + + EOC0 + DAC 0 End of Conversion + 2 + 1 + read-only + + + EOC1 + DAC 1 End of Conversion + 3 + 1 + read-only + + + + + SYNCBUSY + Synchronization Busy + 0x08 + 32 + read-only + + + SWRST + Software Reset + 0 + 1 + read-only + + + ENABLE + DAC Enable Status + 1 + 1 + read-only + + + DATA0 + Data DAC 0 + 2 + 1 + read-only + + + DATA1 + Data DAC 1 + 3 + 1 + read-only + + + DATABUF0 + Data Buffer DAC 0 + 4 + 1 + read-only + + + DATABUF1 + Data Buffer DAC 1 + 5 + 1 + read-only + + + + + 2 + 0x2 + DACCTRL%s + DAC n Control + 0x0C + 16 + + + LEFTADJ + Left Adjusted Data + 0 + 1 + + + ENABLE + Enable DAC0 + 1 + 1 + + + CCTRL + Current Control + 2 + 2 + + CCTRLSelect + + CC100K + GCLK_DAC <= 1.2MHz (100kSPS) + 0x0 + + + CC1M + 1.2MHz < GCLK_DAC <= 6MHz (500kSPS) + 0x1 + + + CC12M + 6MHz < GCLK_DAC <= 12MHz (1MSPS) + 0x2 + + + + + FEXT + Standalone Filter + 5 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + DITHER + Dithering Mode + 7 + 1 + + + REFRESH + Refresh period + 8 + 4 + + + OSR + Sampling Rate + 13 + 3 + + + + + 2 + 0x2 + DATA%s + DAC n Data + 0x10 + 16 + write-only + + + DATA + DAC0 Data + 0 + 16 + write-only + + + + + 2 + 0x2 + DATABUF%s + DAC n Data Buffer + 0x14 + 16 + write-only + + + DATABUF + DAC0 Data Buffer + 0 + 16 + write-only + + + + + DBGCTRL + Debug Control + 0x18 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + 2 + 0x2 + RESULT%s + Filter Result + 0x1C + 16 + read-only + + + RESULT + Filter Result + 0 + 16 + read-only + + + + + + + DMAC + 1.0.0 + Direct Memory Access Controller + DMAC + DMAC_ + 0x4100A000 + + 0 + 0x400 + registers + + + DMAC_INTREQ_0 + 31 + + + DMAC_INTREQ_1 + 32 + + + DMAC_INTREQ_2 + 33 + + + DMAC_INTREQ_3 + 34 + + + DMAC_INTREQ_4 + 35 + + + + CTRL + Control + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + + + DMAENABLE + DMA Enable + 1 + 1 + + + LVLEN0 + Priority Level 0 Enable + 8 + 1 + + + LVLEN1 + Priority Level 1 Enable + 9 + 1 + + + LVLEN2 + Priority Level 2 Enable + 10 + 1 + + + LVLEN3 + Priority Level 3 Enable + 11 + 1 + + + + + CRCCTRL + CRC Control + 0x02 + 16 + + + CRCBEATSIZE + CRC Beat Size + 0 + 2 + + CRCBEATSIZESelect + + BYTE + 8-bit bus transfer + 0x0 + + + HWORD + 16-bit bus transfer + 0x1 + + + WORD + 32-bit bus transfer + 0x2 + + + + + CRCPOLY + CRC Polynomial Type + 2 + 2 + + CRCPOLYSelect + + CRC16 + CRC-16 (CRC-CCITT) + 0x0 + + + CRC32 + CRC32 (IEEE 802.3) + 0x1 + + + + + CRCSRC + CRC Input Source + 8 + 6 + + CRCSRCSelect + + DISABLE + CRC Disabled + 0x0 + + + IO + I/O interface + 0x1 + + + + + CRCMODE + CRC Operating Mode + 14 + 2 + + CRCMODESelect + + DEFAULT + Default operating mode + 0x0 + + + CRCMON + Memory CRC monitor operating mode + 0x2 + + + CRCGEN + Memory CRC generation operating mode + 0x3 + + + + + + + CRCDATAIN + CRC Data Input + 0x04 + 32 + + + CRCDATAIN + CRC Data Input + 0 + 32 + + + + + CRCCHKSUM + CRC Checksum + 0x08 + 32 + + + CRCCHKSUM + CRC Checksum + 0 + 32 + + + + + CRCSTATUS + CRC Status + 0x0C + 8 + + + CRCBUSY + CRC Module Busy + 0 + 1 + + + CRCZERO + CRC Zero + 1 + 1 + read-only + + + CRCERR + CRC Error + 2 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x0D + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + SWTRIGCTRL + Software Trigger Control + 0x10 + 32 + + + SWTRIG0 + Channel 0 Software Trigger + 0 + 1 + + + SWTRIG1 + Channel 1 Software Trigger + 1 + 1 + + + SWTRIG2 + Channel 2 Software Trigger + 2 + 1 + + + SWTRIG3 + Channel 3 Software Trigger + 3 + 1 + + + SWTRIG4 + Channel 4 Software Trigger + 4 + 1 + + + SWTRIG5 + Channel 5 Software Trigger + 5 + 1 + + + SWTRIG6 + Channel 6 Software Trigger + 6 + 1 + + + SWTRIG7 + Channel 7 Software Trigger + 7 + 1 + + + SWTRIG8 + Channel 8 Software Trigger + 8 + 1 + + + SWTRIG9 + Channel 9 Software Trigger + 9 + 1 + + + SWTRIG10 + Channel 10 Software Trigger + 10 + 1 + + + SWTRIG11 + Channel 11 Software Trigger + 11 + 1 + + + SWTRIG12 + Channel 12 Software Trigger + 12 + 1 + + + SWTRIG13 + Channel 13 Software Trigger + 13 + 1 + + + SWTRIG14 + Channel 14 Software Trigger + 14 + 1 + + + SWTRIG15 + Channel 15 Software Trigger + 15 + 1 + + + SWTRIG16 + Channel 16 Software Trigger + 16 + 1 + + + SWTRIG17 + Channel 17 Software Trigger + 17 + 1 + + + SWTRIG18 + Channel 18 Software Trigger + 18 + 1 + + + SWTRIG19 + Channel 19 Software Trigger + 19 + 1 + + + SWTRIG20 + Channel 20 Software Trigger + 20 + 1 + + + SWTRIG21 + Channel 21 Software Trigger + 21 + 1 + + + SWTRIG22 + Channel 22 Software Trigger + 22 + 1 + + + SWTRIG23 + Channel 23 Software Trigger + 23 + 1 + + + SWTRIG24 + Channel 24 Software Trigger + 24 + 1 + + + SWTRIG25 + Channel 25 Software Trigger + 25 + 1 + + + SWTRIG26 + Channel 26 Software Trigger + 26 + 1 + + + SWTRIG27 + Channel 27 Software Trigger + 27 + 1 + + + SWTRIG28 + Channel 28 Software Trigger + 28 + 1 + + + SWTRIG29 + Channel 29 Software Trigger + 29 + 1 + + + SWTRIG30 + Channel 30 Software Trigger + 30 + 1 + + + SWTRIG31 + Channel 31 Software Trigger + 31 + 1 + + + + + PRICTRL0 + Priority Control 0 + 0x14 + 32 + 0x40404040 + + + LVLPRI0 + Level 0 Channel Priority Number + 0 + 5 + + + QOS0 + Level 0 Quality of Service + 5 + 2 + + QOS0Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN0 + Level 0 Round-Robin Scheduling Enable + 7 + 1 + + + LVLPRI1 + Level 1 Channel Priority Number + 8 + 5 + + + QOS1 + Level 1 Quality of Service + 13 + 2 + + QOS1Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN1 + Level 1 Round-Robin Scheduling Enable + 15 + 1 + + + LVLPRI2 + Level 2 Channel Priority Number + 16 + 5 + + + QOS2 + Level 2 Quality of Service + 21 + 2 + + QOS2Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN2 + Level 2 Round-Robin Scheduling Enable + 23 + 1 + + + LVLPRI3 + Level 3 Channel Priority Number + 24 + 5 + + + QOS3 + Level 3 Quality of Service + 29 + 2 + + QOS3Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN3 + Level 3 Round-Robin Scheduling Enable + 31 + 1 + + + + + INTPEND + Interrupt Pending + 0x20 + 16 + + + ID + Channel ID + 0 + 5 + + + TERR + Transfer Error + 8 + 1 + + + TCMPL + Transfer Complete + 9 + 1 + + + SUSP + Channel Suspend + 10 + 1 + + + CRCERR + CRC Error + 12 + 1 + + + FERR + Fetch Error + 13 + 1 + read-only + + + BUSY + Busy + 14 + 1 + read-only + + + PEND + Pending + 15 + 1 + read-only + + + + + INTSTATUS + Interrupt Status + 0x24 + 32 + read-only + + + CHINT0 + Channel 0 Pending Interrupt + 0 + 1 + read-only + + + CHINT1 + Channel 1 Pending Interrupt + 1 + 1 + read-only + + + CHINT2 + Channel 2 Pending Interrupt + 2 + 1 + read-only + + + CHINT3 + Channel 3 Pending Interrupt + 3 + 1 + read-only + + + CHINT4 + Channel 4 Pending Interrupt + 4 + 1 + read-only + + + CHINT5 + Channel 5 Pending Interrupt + 5 + 1 + read-only + + + CHINT6 + Channel 6 Pending Interrupt + 6 + 1 + read-only + + + CHINT7 + Channel 7 Pending Interrupt + 7 + 1 + read-only + + + CHINT8 + Channel 8 Pending Interrupt + 8 + 1 + read-only + + + CHINT9 + Channel 9 Pending Interrupt + 9 + 1 + read-only + + + CHINT10 + Channel 10 Pending Interrupt + 10 + 1 + read-only + + + CHINT11 + Channel 11 Pending Interrupt + 11 + 1 + read-only + + + CHINT12 + Channel 12 Pending Interrupt + 12 + 1 + read-only + + + CHINT13 + Channel 13 Pending Interrupt + 13 + 1 + read-only + + + CHINT14 + Channel 14 Pending Interrupt + 14 + 1 + read-only + + + CHINT15 + Channel 15 Pending Interrupt + 15 + 1 + read-only + + + CHINT16 + Channel 16 Pending Interrupt + 16 + 1 + read-only + + + CHINT17 + Channel 17 Pending Interrupt + 17 + 1 + read-only + + + CHINT18 + Channel 18 Pending Interrupt + 18 + 1 + read-only + + + CHINT19 + Channel 19 Pending Interrupt + 19 + 1 + read-only + + + CHINT20 + Channel 20 Pending Interrupt + 20 + 1 + read-only + + + CHINT21 + Channel 21 Pending Interrupt + 21 + 1 + read-only + + + CHINT22 + Channel 22 Pending Interrupt + 22 + 1 + read-only + + + CHINT23 + Channel 23 Pending Interrupt + 23 + 1 + read-only + + + CHINT24 + Channel 24 Pending Interrupt + 24 + 1 + read-only + + + CHINT25 + Channel 25 Pending Interrupt + 25 + 1 + read-only + + + CHINT26 + Channel 26 Pending Interrupt + 26 + 1 + read-only + + + CHINT27 + Channel 27 Pending Interrupt + 27 + 1 + read-only + + + CHINT28 + Channel 28 Pending Interrupt + 28 + 1 + read-only + + + CHINT29 + Channel 29 Pending Interrupt + 29 + 1 + read-only + + + CHINT30 + Channel 30 Pending Interrupt + 30 + 1 + read-only + + + CHINT31 + Channel 31 Pending Interrupt + 31 + 1 + read-only + + + + + BUSYCH + Busy Channels + 0x28 + 32 + read-only + + + BUSYCH0 + Busy Channel 0 + 0 + 1 + read-only + + + BUSYCH1 + Busy Channel 1 + 1 + 1 + read-only + + + BUSYCH2 + Busy Channel 2 + 2 + 1 + read-only + + + BUSYCH3 + Busy Channel 3 + 3 + 1 + read-only + + + BUSYCH4 + Busy Channel 4 + 4 + 1 + read-only + + + BUSYCH5 + Busy Channel 5 + 5 + 1 + read-only + + + BUSYCH6 + Busy Channel 6 + 6 + 1 + read-only + + + BUSYCH7 + Busy Channel 7 + 7 + 1 + read-only + + + BUSYCH8 + Busy Channel 8 + 8 + 1 + read-only + + + BUSYCH9 + Busy Channel 9 + 9 + 1 + read-only + + + BUSYCH10 + Busy Channel 10 + 10 + 1 + read-only + + + BUSYCH11 + Busy Channel 11 + 11 + 1 + read-only + + + BUSYCH12 + Busy Channel 12 + 12 + 1 + read-only + + + BUSYCH13 + Busy Channel 13 + 13 + 1 + read-only + + + BUSYCH14 + Busy Channel 14 + 14 + 1 + read-only + + + BUSYCH15 + Busy Channel 15 + 15 + 1 + read-only + + + BUSYCH16 + Busy Channel 16 + 16 + 1 + read-only + + + BUSYCH17 + Busy Channel 17 + 17 + 1 + read-only + + + BUSYCH18 + Busy Channel 18 + 18 + 1 + read-only + + + BUSYCH19 + Busy Channel 19 + 19 + 1 + read-only + + + BUSYCH20 + Busy Channel 20 + 20 + 1 + read-only + + + BUSYCH21 + Busy Channel 21 + 21 + 1 + read-only + + + BUSYCH22 + Busy Channel 22 + 22 + 1 + read-only + + + BUSYCH23 + Busy Channel 23 + 23 + 1 + read-only + + + BUSYCH24 + Busy Channel 24 + 24 + 1 + read-only + + + BUSYCH25 + Busy Channel 25 + 25 + 1 + read-only + + + BUSYCH26 + Busy Channel 26 + 26 + 1 + read-only + + + BUSYCH27 + Busy Channel 27 + 27 + 1 + read-only + + + BUSYCH28 + Busy Channel 28 + 28 + 1 + read-only + + + BUSYCH29 + Busy Channel 29 + 29 + 1 + read-only + + + BUSYCH30 + Busy Channel 30 + 30 + 1 + read-only + + + BUSYCH31 + Busy Channel 31 + 31 + 1 + read-only + + + + + PENDCH + Pending Channels + 0x2C + 32 + read-only + + + PENDCH0 + Pending Channel 0 + 0 + 1 + read-only + + + PENDCH1 + Pending Channel 1 + 1 + 1 + read-only + + + PENDCH2 + Pending Channel 2 + 2 + 1 + read-only + + + PENDCH3 + Pending Channel 3 + 3 + 1 + read-only + + + PENDCH4 + Pending Channel 4 + 4 + 1 + read-only + + + PENDCH5 + Pending Channel 5 + 5 + 1 + read-only + + + PENDCH6 + Pending Channel 6 + 6 + 1 + read-only + + + PENDCH7 + Pending Channel 7 + 7 + 1 + read-only + + + PENDCH8 + Pending Channel 8 + 8 + 1 + read-only + + + PENDCH9 + Pending Channel 9 + 9 + 1 + read-only + + + PENDCH10 + Pending Channel 10 + 10 + 1 + read-only + + + PENDCH11 + Pending Channel 11 + 11 + 1 + read-only + + + PENDCH12 + Pending Channel 12 + 12 + 1 + read-only + + + PENDCH13 + Pending Channel 13 + 13 + 1 + read-only + + + PENDCH14 + Pending Channel 14 + 14 + 1 + read-only + + + PENDCH15 + Pending Channel 15 + 15 + 1 + read-only + + + PENDCH16 + Pending Channel 16 + 16 + 1 + read-only + + + PENDCH17 + Pending Channel 17 + 17 + 1 + read-only + + + PENDCH18 + Pending Channel 18 + 18 + 1 + read-only + + + PENDCH19 + Pending Channel 19 + 19 + 1 + read-only + + + PENDCH20 + Pending Channel 20 + 20 + 1 + read-only + + + PENDCH21 + Pending Channel 21 + 21 + 1 + read-only + + + PENDCH22 + Pending Channel 22 + 22 + 1 + read-only + + + PENDCH23 + Pending Channel 23 + 23 + 1 + read-only + + + PENDCH24 + Pending Channel 24 + 24 + 1 + read-only + + + PENDCH25 + Pending Channel 25 + 25 + 1 + read-only + + + PENDCH26 + Pending Channel 26 + 26 + 1 + read-only + + + PENDCH27 + Pending Channel 27 + 27 + 1 + read-only + + + PENDCH28 + Pending Channel 28 + 28 + 1 + read-only + + + PENDCH29 + Pending Channel 29 + 29 + 1 + read-only + + + PENDCH30 + Pending Channel 30 + 30 + 1 + read-only + + + PENDCH31 + Pending Channel 31 + 31 + 1 + read-only + + + + + ACTIVE + Active Channel and Levels + 0x30 + 32 + read-only + + + LVLEX0 + Level 0 Channel Trigger Request Executing + 0 + 1 + read-only + + + LVLEX1 + Level 1 Channel Trigger Request Executing + 1 + 1 + read-only + + + LVLEX2 + Level 2 Channel Trigger Request Executing + 2 + 1 + read-only + + + LVLEX3 + Level 3 Channel Trigger Request Executing + 3 + 1 + read-only + + + ID + Active Channel ID + 8 + 5 + read-only + + + ABUSY + Active Channel Busy + 15 + 1 + read-only + + + BTCNT + Active Channel Block Transfer Count + 16 + 16 + read-only + + + + + BASEADDR + Descriptor Memory Section Base Address + 0x34 + 32 + + + BASEADDR + Descriptor Memory Base Address + 0 + 32 + + + + + WRBADDR + Write-Back Memory Section Base Address + 0x38 + 32 + + + WRBADDR + Write-Back Memory Base Address + 0 + 32 + + + + + 32 + 0x10 + CHCTRLA%s + Channel n Control A + 0x40 + 32 + + + SWRST + Channel Software Reset + 0 + 1 + + + ENABLE + Channel Enable + 1 + 1 + + + RUNSTDBY + Channel Run in Standby + 6 + 1 + + + TRIGSRC + Trigger Source + 8 + 7 + + TRIGSRCSelect + + DISABLE + Only software/event triggers + 0x0 + + + + + TRIGACT + Trigger Action + 20 + 2 + + TRIGACTSelect + + BLOCK + One trigger required for each block transfer + 0x0 + + + BURST + One trigger required for each burst transfer + 0x2 + + + TRANSACTION + One trigger required for each transaction + 0x3 + + + + + BURSTLEN + Burst Length + 24 + 4 + + BURSTLENSelect + + SINGLE + Single-beat burst length + 0x0 + + + 2BEAT + 2-beats burst length + 0x1 + + + 3BEAT + 3-beats burst length + 0x2 + + + 4BEAT + 4-beats burst length + 0x3 + + + 5BEAT + 5-beats burst length + 0x4 + + + 6BEAT + 6-beats burst length + 0x5 + + + 7BEAT + 7-beats burst length + 0x6 + + + 8BEAT + 8-beats burst length + 0x7 + + + 9BEAT + 9-beats burst length + 0x8 + + + 10BEAT + 10-beats burst length + 0x9 + + + 11BEAT + 11-beats burst length + 0xa + + + 12BEAT + 12-beats burst length + 0xb + + + 13BEAT + 13-beats burst length + 0xc + + + 14BEAT + 14-beats burst length + 0xd + + + 15BEAT + 15-beats burst length + 0xe + + + 16BEAT + 16-beats burst length + 0xf + + + + + THRESHOLD + FIFO Threshold + 28 + 2 + + THRESHOLDSelect + + 1BEAT + Destination write starts after each beat source address read + 0x0 + + + 2BEATS + Destination write starts after 2-beats source address read + 0x1 + + + 4BEATS + Destination write starts after 4-beats source address read + 0x2 + + + 8BEATS + Destination write starts after 8-beats source address read + 0x3 + + + + + + + 32 + 0x10 + CHCTRLB%s + Channel n Control B + 0x44 + 8 + + + CMD + Software Command + 0 + 2 + + CMDSelect + + NOACT + No action + 0x0 + + + SUSPEND + Channel suspend operation + 0x1 + + + RESUME + Channel resume operation + 0x2 + + + + + + + 32 + 0x10 + CHPRILVL%s + Channel n Priority Level + 0x45 + 8 + + + PRILVL + Channel Priority Level + 0 + 2 + + PRILVLSelect + + LVL0 + Channel Priority Level 0 (Lowest Level) + 0x0 + + + LVL1 + Channel Priority Level 1 + 0x1 + + + LVL2 + Channel Priority Level 2 + 0x2 + + + LVL3 + Channel Priority Level 3 + 0x3 + + + LVL4 + Channel Priority Level 4 + 0x4 + + + LVL5 + Channel Priority Level 5 + 0x5 + + + LVL6 + Channel Priority Level 6 + 0x6 + + + LVL7 + Channel Priority Level 7 (Highest Level) + 0x7 + + + + + + + 32 + 0x10 + CHEVCTRL%s + Channel n Event Control + 0x46 + 8 + + + EVACT + Channel Event Input Action + 0 + 3 + + EVACTSelect + + NOACT + No action + 0x0 + + + TRIG + Transfer and periodic transfer trigger + 0x1 + + + CTRIG + Conditional transfer trigger + 0x2 + + + CBLOCK + Conditional block transfer + 0x3 + + + SUSPEND + Channel suspend operation + 0x4 + + + RESUME + Channel resume operation + 0x5 + + + SSKIP + Skip next block suspend action + 0x6 + + + INCPRI + Increase priority + 0x7 + + + + + EVOMODE + Channel Event Output Mode + 4 + 2 + + EVOMODESelect + + DEFAULT + Block event output selection. Refer to BTCTRL.EVOSEL for available selections. + 0x0 + + + TRIGACT + Ongoing trigger action + 0x1 + + + + + EVIE + Channel Event Input Enable + 6 + 1 + + + EVOE + Channel Event Output Enable + 7 + 1 + + + + + 32 + 0x10 + CHINTENCLR%s + Channel n Interrupt Enable Clear + 0x4C + 8 + + + TERR + Channel Transfer Error Interrupt Enable + 0 + 1 + + + TCMPL + Channel Transfer Complete Interrupt Enable + 1 + 1 + + + SUSP + Channel Suspend Interrupt Enable + 2 + 1 + + + + + 32 + 0x10 + CHINTENSET%s + Channel n Interrupt Enable Set + 0x4D + 8 + + + TERR + Channel Transfer Error Interrupt Enable + 0 + 1 + + + TCMPL + Channel Transfer Complete Interrupt Enable + 1 + 1 + + + SUSP + Channel Suspend Interrupt Enable + 2 + 1 + + + + + 32 + 0x10 + CHINTFLAG%s + Channel n Interrupt Flag Status and Clear + 0x4E + 8 + + + TERR + Channel Transfer Error + 0 + 1 + + + TCMPL + Channel Transfer Complete + 1 + 1 + + + SUSP + Channel Suspend + 2 + 1 + + + + + 32 + 0x10 + CHSTATUS%s + Channel n Status + 0x4F + 8 + + + PEND + Channel Pending + 0 + 1 + read-only + + + BUSY + Channel Busy + 1 + 1 + read-only + + + FERR + Channel Fetch Error + 2 + 1 + read-only + + + CRCERR + Channel CRC Error + 3 + 1 + + + + + + + DSU + 1.0.0 + Device Service Unit + DSU + DSU_ + 0x41002000 + + 0 + 0x2000 + registers + + + + CTRL + Control + 0x0000 + 8 + write-only + + + SWRST + Software Reset + 0 + 1 + write-only + + + CRC + 32-bit Cyclic Redundancy Code + 2 + 1 + write-only + + + MBIST + Memory built-in self-test + 3 + 1 + write-only + + + CE + Chip-Erase + 4 + 1 + write-only + + + ARR + Auxiliary Row Read + 6 + 1 + write-only + + + SMSA + Start Memory Stream Access + 7 + 1 + write-only + + + + + STATUSA + Status A + 0x0001 + 8 + + + DONE + Done + 0 + 1 + + + CRSTEXT + CPU Reset Phase Extension + 1 + 1 + + + BERR + Bus Error + 2 + 1 + + + FAIL + Failure + 3 + 1 + + + PERR + Protection Error + 4 + 1 + + + + + STATUSB + Status B + 0x0002 + 8 + read-only + + + PROT + Protected + 0 + 1 + read-only + + + DBGPRES + Debugger Present + 1 + 1 + read-only + + + DCCD0 + Debug Communication Channel 0 Dirty + 2 + 1 + read-only + + + DCCD1 + Debug Communication Channel 1 Dirty + 3 + 1 + read-only + + + HPE + Hot-Plugging Enable + 4 + 1 + read-only + + + CELCK + Chip Erase Locked + 5 + 1 + read-only + + + TDCCD0 + Test Debug Communication Channel 0 Dirty + 6 + 1 + read-only + + + TDCCD1 + Test Debug Communication Channel 1 Dirty + 7 + 1 + read-only + + + + + ADDR + Address + 0x0004 + 32 + + + AMOD + Access Mode + 0 + 2 + + + ADDR + Address + 2 + 30 + + + + + LENGTH + Length + 0x0008 + 32 + + + LENGTH + Length + 2 + 30 + + + + + DATA + Data + 0x000C + 32 + + + DATA + Data + 0 + 32 + + + + + 2 + 0x4 + DCC%s + Debug Communication Channel n + 0x0010 + 32 + + + DATA + Data + 0 + 32 + + + + + DID + Device Identification + 0x0018 + 32 + read-only + 0x61840001 + + + DEVSEL + Device Select + 0 + 8 + read-only + + + REVISION + Revision Number + 8 + 4 + read-only + + + DIE + Die Number + 12 + 4 + read-only + + + SERIES + Series + 16 + 6 + read-only + + SERIESSelect + + 0 + Cortex-M0+ processor, basic feature set + 0x0 + + + 1 + Cortex-M0+ processor, USB + 0x1 + + + + + FAMILY + Family + 23 + 5 + read-only + + FAMILYSelect + + 0 + General purpose microcontroller + 0x0 + + + 1 + PicoPower + 0x1 + + + + + PROCESSOR + Processor + 28 + 4 + read-only + + PROCESSORSelect + + CM0P + Cortex-M0+ + 0x1 + + + CM23 + Cortex-M23 + 0x2 + + + CM3 + Cortex-M3 + 0x3 + + + CM4 + Cortex-M4 + 0x5 + + + CM4F + Cortex-M4 with FPU + 0x6 + + + CM33 + Cortex-M33 + 0x7 + + + + + + + CFG + Configuration + 0x001C + 32 + 0x00000002 + + + LQOS + Latency Quality Of Service + 0 + 2 + + + DCCDMALEVEL + DMA Trigger Level + 2 + 2 + + DCCDMALEVELSelect + + EMPTY + Trigger rises when DCC is empty + 0x0 + + + FULL + Trigger rises when DCC is full + 0x1 + + + + + ETBRAMEN + Trace Control + 4 + 1 + + + + + MBCTRL + MBIST Control + 0x0040 + 32 + + + SWRST + MBIST Software Reset + 0 + 1 + + + ENABLE + MBIST Enable + 1 + 1 + + + + + MBCONFIG + MBIST Configuration + 0x0044 + 32 + + + ALGO + MBIST Algorithm + 0 + 5 + + ALGOSelect + + MEMCLEAR + Memory Clear (1n) + 0x0 + + + VERIFY + Memory Verify (1n) + 0x1 + + + CLEARVER + Memory Clear and Verify (2n) + 0x2 + + + ADDR_DEC + Address Decoder (2n) + 0x3 + + + MARCH_LR + March LR (14n) + 0x4 + + + MARCH_SR + March SR (14n) + 0x5 + + + MARCH_SS + March SS (22n) + 0x6 + + + CRC_UP + CRC increasing address (1n) + 0x8 + + + CRC_DOWN + CRC decreasing address (1n) + 0x9 + + + + + DEFRDMARGIN + Force Default Read Margin + 6 + 1 + + + DBG + Enable Debug Mode + 7 + 1 + + + + + MBWORD + MBIST Background Word + 0x0048 + 32 + + + DATA + MBIST Background Word + 0 + 32 + + + + + MBGSTAT + MBIST Global Status + 0x004C + 32 + + + ALLDONE + MBIST Completed + 0 + 1 + + + FAILED + MBIST Failed + 1 + 1 + + + ERRINFO + MBIST Error Info Present + 2 + 1 + + + CONFIGURED + MBIST Configuration Sent + 3 + 1 + + + + + MBDFAIL + MBIST Fail Data + 0x0050 + 32 + read-only + + + DATA + Error Data Read + 0 + 32 + + + + + MBDEXP + MBIST Expected Data + 0x0054 + 32 + read-only + + + DATA + Expected Data + 0 + 32 + + + + + MBAFAIL + MBIST Fail Address + 0x0058 + 32 + read-only + + + ADDR + Error Address + 0 + 14 + + + + + MBCONTEXT + MBIST Fail Context + 0x005C + 32 + read-only + + + SUBSTEP + Algorithm Sub-step + 0 + 5 + + SUBSTEPSelect + + R0_1 + 0x1 + + + R1_1 + 0x3 + + + R0_2 + 0x5 + + + R1_2 + 0x7 + + + R0_3 + 0x9 + + + R1_3 + 0xb + + + + + STEP + Algorithm Step + 5 + 5 + + STEPSelect + + DOWN_R0W1 + 0x2 + + + UP_R1W0R0W1 + 0x3 + + + UP_R1W0 + 0x4 + + + UP_R0W1R1W0 + 0x5 + + + UP_R0 + 0x6 + + + UP_R0R0W0R0W1 + 0x7 + + + UP_R1R1W1R1W0 + 0x8 + + + DOWN_R0R0W0R0W1 + 0x9 + + + DOWN_R1R1W1R1W0 + 0xa + + + UP_R0R0 + 0xc + + + DOWN_R1W0R0W1 + 0xe + + + DOWN_R1R1 + 0xf + + + + + PORT + DPRAM Port Index + 10 + 1 + + + + + MBENABLE0 + MBIST Memory Enable 0 + 0x0060 + 32 + + + ENABLE0 + Memory 0 MBIST Enable + 0 + 1 + + + ENABLE1 + Memory 1 MBIST Enable + 1 + 1 + + + ENABLE2 + Memory 2 MBIST Enable + 2 + 1 + + + ENABLE3 + Memory 3 MBIST Enable + 3 + 1 + + + ENABLE4 + Memory 4 MBIST Enable + 4 + 1 + + + ENABLE5 + Memory 5 MBIST Enable + 5 + 1 + + + ENABLE6 + Memory 6 MBIST Enable + 6 + 1 + + + ENABLE7 + Memory 7 MBIST Enable + 7 + 1 + + + ENABLE8 + Memory 8 MBIST Enable + 8 + 1 + + + ENABLE9 + Memory 9 MBIST Enable + 9 + 1 + + + ENABLE10 + Memory 10 MBIST Enable + 10 + 1 + + + ENABLE11 + Memory 11 MBIST Enable + 11 + 1 + + + ENABLE12 + Memory 12 MBIST Enable + 12 + 1 + + + ENABLE13 + Memory 13 MBIST Enable + 13 + 1 + + + ENABLE14 + Memory 14 MBIST Enable + 14 + 1 + + + ENABLE15 + Memory 15 MBIST Enable + 15 + 1 + + + ENABLE16 + Memory 16 MBIST Enable + 16 + 1 + + + ENABLE17 + Memory 17 MBIST Enable + 17 + 1 + + + ENABLE18 + Memory 18 MBIST Enable + 18 + 1 + + + ENABLE19 + Memory 19 MBIST Enable + 19 + 1 + + + ENABLE20 + Memory 20 MBIST Enable + 20 + 1 + + + ENABLE21 + Memory 21 MBIST Enable + 21 + 1 + + + ENABLE22 + Memory 22 MBIST Enable + 22 + 1 + + + ENABLE23 + Memory 23 MBIST Enable + 23 + 1 + + + ENABLE24 + Memory 24 MBIST Enable + 24 + 1 + + + ENABLE25 + Memory 25 MBIST Enable + 25 + 1 + + + ENABLE26 + Memory 26 MBIST Enable + 26 + 1 + + + ENABLE27 + Memory 27 MBIST Enable + 27 + 1 + + + ENABLE28 + Memory 28 MBIST Enable + 28 + 1 + + + + + MBBUSY0 + MBIST Memory Busy 0 + 0x0068 + 32 + read-only + + + BUSY0 + Memory 0 BIST Busy + 0 + 1 + + + BUSY1 + Memory 1 BIST Busy + 1 + 1 + + + BUSY2 + Memory 2 BIST Busy + 2 + 1 + + + BUSY3 + Memory 3 BIST Busy + 3 + 1 + + + BUSY4 + Memory 4 BIST Busy + 4 + 1 + + + BUSY5 + Memory 5 BIST Busy + 5 + 1 + + + BUSY6 + Memory 6 BIST Busy + 6 + 1 + + + BUSY7 + Memory 7 BIST Busy + 7 + 1 + + + BUSY8 + Memory 8 BIST Busy + 8 + 1 + + + BUSY9 + Memory 9 BIST Busy + 9 + 1 + + + BUSY10 + Memory 10 BIST Busy + 10 + 1 + + + BUSY11 + Memory 11 BIST Busy + 11 + 1 + + + BUSY12 + Memory 12 BIST Busy + 12 + 1 + + + BUSY13 + Memory 13 BIST Busy + 13 + 1 + + + BUSY14 + Memory 14 BIST Busy + 14 + 1 + + + BUSY15 + Memory 15 BIST Busy + 15 + 1 + + + BUSY16 + Memory 16 BIST Busy + 16 + 1 + + + BUSY17 + Memory 17 BIST Busy + 17 + 1 + + + BUSY18 + Memory 18 BIST Busy + 18 + 1 + + + BUSY19 + Memory 19 BIST Busy + 19 + 1 + + + BUSY20 + Memory 20 BIST Busy + 20 + 1 + + + BUSY21 + Memory 21 BIST Busy + 21 + 1 + + + BUSY22 + Memory 22 BIST Busy + 22 + 1 + + + BUSY23 + Memory 23 BIST Busy + 23 + 1 + + + BUSY24 + Memory 24 BIST Busy + 24 + 1 + + + BUSY25 + Memory 25 BIST Busy + 25 + 1 + + + BUSY26 + Memory 26 BIST Busy + 26 + 1 + + + BUSY27 + Memory 27 BIST Busy + 27 + 1 + + + BUSY28 + Memory 28 BIST Busy + 28 + 1 + + + + + MBSTATUS0 + MBIST Memory Status 0 + 0x0070 + 32 + + + STATUS0 + Memory 0 MBIST Status + 0 + 1 + + + STATUS1 + Memory 1 MBIST Status + 1 + 1 + + + STATUS2 + Memory 2 MBIST Status + 2 + 1 + + + STATUS3 + Memory 3 MBIST Status + 3 + 1 + + + STATUS4 + Memory 4 MBIST Status + 4 + 1 + + + STATUS5 + Memory 5 MBIST Status + 5 + 1 + + + STATUS6 + Memory 6 MBIST Status + 6 + 1 + + + STATUS7 + Memory 7 MBIST Status + 7 + 1 + + + STATUS8 + Memory 8 MBIST Status + 8 + 1 + + + STATUS9 + Memory 9 MBIST Status + 9 + 1 + + + STATUS10 + Memory 10 MBIST Status + 10 + 1 + + + STATUS11 + Memory 11 MBIST Status + 11 + 1 + + + STATUS12 + Memory 12 MBIST Status + 12 + 1 + + + STATUS13 + Memory 13 MBIST Status + 13 + 1 + + + STATUS14 + Memory 14 MBIST Status + 14 + 1 + + + STATUS15 + Memory 15 MBIST Status + 15 + 1 + + + STATUS16 + Memory 16 MBIST Status + 16 + 1 + + + STATUS17 + Memory 17 MBIST Status + 17 + 1 + + + STATUS18 + Memory 18 MBIST Status + 18 + 1 + + + STATUS19 + Memory 19 MBIST Status + 19 + 1 + + + STATUS20 + Memory 20 MBIST Status + 20 + 1 + + + STATUS21 + Memory 21 MBIST Status + 21 + 1 + + + STATUS22 + Memory 22 MBIST Status + 22 + 1 + + + STATUS23 + Memory 23 MBIST Status + 23 + 1 + + + STATUS24 + Memory 24 MBIST Status + 24 + 1 + + + STATUS25 + Memory 25 MBIST Status + 25 + 1 + + + STATUS26 + Memory 26 MBIST Status + 26 + 1 + + + STATUS27 + Memory 27 MBIST Status + 27 + 1 + + + STATUS28 + Memory 28 MBIST Status + 28 + 1 + + + + + 2 + 0x4 + DCFG%s + Device Configuration + 0x00F0 + 32 + + + DCFG + Device Configuration + 0 + 32 + + + + + ENTRY0 + CoreSight ROM Table Entry 0 + 0x1000 + 32 + read-only + 0x9F0FC002 + + + EPRES + Entry Present + 0 + 1 + + + FMT + Format + 1 + 1 + read-only + + + ADDOFF + Address Offset + 12 + 20 + read-only + + + + + ENTRY1 + CoreSight ROM Table Entry 1 + 0x1004 + 32 + read-only + + + END + CoreSight ROM Table End + 0x1008 + 32 + read-only + + + END + End Marker + 0 + 32 + + + + + MEMTYPE + CoreSight ROM Table Memory Type + 0x1FCC + 32 + read-only + + + SMEMP + System Memory Present + 0 + 1 + + + + + PID4 + Peripheral Identification 4 + 0x1FD0 + 32 + read-only + + + JEPCC + JEP-106 Continuation Code + 0 + 4 + + + FKBC + 4KB count + 4 + 4 + read-only + + + + + PID5 + Peripheral Identification 5 + 0x1FD4 + 32 + read-only + + + PID6 + Peripheral Identification 6 + 0x1FD8 + 32 + read-only + + + PID7 + Peripheral Identification 7 + 0x1FDC + 32 + read-only + + + PID0 + Peripheral Identification 0 + 0x1FE0 + 32 + read-only + 0x000000D0 + + + PARTNBL + Part Number Low + 0 + 8 + + + + + PID1 + Peripheral Identification 1 + 0x1FE4 + 32 + read-only + 0x000000FC + + + PARTNBH + Part Number High + 0 + 4 + + + JEPIDCL + Low part of the JEP-106 Identity Code + 4 + 4 + read-only + + + + + PID2 + Peripheral Identification 2 + 0x1FE8 + 32 + read-only + 0x00000009 + + + JEPIDCH + JEP-106 Identity Code High + 0 + 3 + + + JEPU + JEP-106 Identity Code is used + 3 + 1 + read-only + + + REVISION + Revision Number + 4 + 4 + read-only + + + + + PID3 + Peripheral Identification 3 + 0x1FEC + 32 + read-only + + + CUSMOD + ARM CUSMOD + 0 + 4 + + + REVAND + Revision Number + 4 + 4 + read-only + + + + + CID0 + Component Identification 0 + 0x1FF0 + 32 + read-only + 0x0000000D + + + PREAMBLEB0 + Preamble Byte 0 + 0 + 8 + read-only + + + + + CID1 + Component Identification 1 + 0x1FF4 + 32 + read-only + 0x00000010 + + + PREAMBLE + Preamble + 0 + 4 + read-only + + + CCLASS + Component Class + 4 + 4 + read-only + + + + + CID2 + Component Identification 2 + 0x1FF8 + 32 + read-only + 0x00000005 + + + PREAMBLEB2 + Preamble Byte 2 + 0 + 8 + read-only + + + + + CID3 + Component Identification 3 + 0x1FFC + 32 + read-only + 0x000000B1 + + + PREAMBLEB3 + Preamble Byte 3 + 0 + 8 + + + + + + + EIC + 3.0.0 + External Interrupt Controller + EIC + EIC_ + 0x40002800 + + 0 + 0x40 + registers + + + EIC_INTREQ_0 + 12 + + + EIC_INTREQ_1 + 13 + + + EIC_INTREQ_2 + 14 + + + EIC_INTREQ_3 + 15 + + + EIC_INTREQ_4 + 16 + + + EIC_INTREQ_5 + 17 + + + EIC_INTREQ_6 + 18 + + + EIC_INTREQ_7 + 19 + + + EIC_INTREQ_8 + 20 + + + EIC_INTREQ_9 + 21 + + + EIC_INTREQ_10 + 22 + + + EIC_INTREQ_11 + 23 + + + EIC_INTREQ_12 + 24 + + + EIC_INTREQ_13 + 25 + + + EIC_INTREQ_14 + 26 + + + EIC_INTREQ_15 + 27 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + CKSEL + Clock Selection + 4 + 1 + + + + + NMICTRL + Non-Maskable Interrupt Control + 0x01 + 8 + + + NMISENSE + Non-Maskable Interrupt Sense Configuration + 0 + 3 + + NMISENSESelect + + NONE + No detection + 0x0 + + + RISE + Rising-edge detection + 0x1 + + + FALL + Falling-edge detection + 0x2 + + + BOTH + Both-edges detection + 0x3 + + + HIGH + High-level detection + 0x4 + + + LOW + Low-level detection + 0x5 + + + + + NMIFILTEN + Non-Maskable Interrupt Filter Enable + 3 + 1 + + + NMIASYNCH + Asynchronous Edge Detection Mode + 4 + 1 + + + + + NMIFLAG + Non-Maskable Interrupt Flag Status and Clear + 0x02 + 16 + + + NMI + Non-Maskable Interrupt + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x04 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy Status + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy Status + 1 + 1 + read-only + + + + + EVCTRL + Event Control + 0x08 + 32 + + + EXTINTEO + External Interrupt Event Output Enable + 0 + 16 + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 32 + + + EXTINT + External Interrupt Enable + 0 + 16 + + + + + INTENSET + Interrupt Enable Set + 0x10 + 32 + + + EXTINT + External Interrupt Enable + 0 + 16 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x14 + 32 + + + EXTINT + External Interrupt + 0 + 16 + + + + + ASYNCH + External Interrupt Asynchronous Mode + 0x18 + 32 + + + ASYNCH + Asynchronous Edge Detection Mode + 0 + 16 + + + + + 2 + 0x4 + CONFIG%s + External Interrupt Sense Configuration + 0x1C + 32 + + + SENSE0 + Input Sense Configuration 0 + 0 + 3 + + SENSE0Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN0 + Filter Enable 0 + 3 + 1 + + + SENSE1 + Input Sense Configuration 1 + 4 + 3 + + SENSE1Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN1 + Filter Enable 1 + 7 + 1 + + + SENSE2 + Input Sense Configuration 2 + 8 + 3 + + SENSE2Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN2 + Filter Enable 2 + 11 + 1 + + + SENSE3 + Input Sense Configuration 3 + 12 + 3 + + SENSE3Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN3 + Filter Enable 3 + 15 + 1 + + + SENSE4 + Input Sense Configuration 4 + 16 + 3 + + SENSE4Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN4 + Filter Enable 4 + 19 + 1 + + + SENSE5 + Input Sense Configuration 5 + 20 + 3 + + SENSE5Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN5 + Filter Enable 5 + 23 + 1 + + + SENSE6 + Input Sense Configuration 6 + 24 + 3 + + SENSE6Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN6 + Filter Enable 6 + 27 + 1 + + + SENSE7 + Input Sense Configuration 7 + 28 + 3 + + SENSE7Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN7 + Filter Enable 7 + 31 + 1 + + + + + DEBOUNCEN + Debouncer Enable + 0x30 + 32 + + + DEBOUNCEN + Debouncer Enable + 0 + 16 + + + + + DPRESCALER + Debouncer Prescaler + 0x34 + 32 + + + PRESCALER0 + Debouncer Prescaler + 0 + 3 + + + PRESCALER1 + Debouncer Prescaler + 4 + 3 + + + STATES0 + Debouncer number of states + 3 + 1 + + + STATES1 + Debouncer number of states + 7 + 1 + + + TICKON + Pin Sampler frequency selection + 16 + 1 + + + + + PINSTATE + Pin State + 0x38 + 32 + read-only + + + PINSTATE + Pin State + 0 + 16 + read-only + + + + + + + EVSYS + 1.0.0 + Event System Interface + EVSYS + EVSYS_ + 0x4100E000 + + 0 + 0x400 + registers + + + EVSYS_INTREQ_0 + 36 + + + EVSYS_INTREQ_1 + 37 + + + EVSYS_INTREQ_2 + 38 + + + EVSYS_INTREQ_3 + 39 + + + EVSYS_INTREQ_4 + 40 + + + + CTRLA + Control + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + + + SWEVT + Software Event + 0x004 + 32 + write-only + + + CHANNEL0 + Channel 0 Software Selection + 0 + 1 + write-only + + + CHANNEL1 + Channel 1 Software Selection + 1 + 1 + write-only + + + CHANNEL2 + Channel 2 Software Selection + 2 + 1 + write-only + + + CHANNEL3 + Channel 3 Software Selection + 3 + 1 + write-only + + + CHANNEL4 + Channel 4 Software Selection + 4 + 1 + write-only + + + CHANNEL5 + Channel 5 Software Selection + 5 + 1 + write-only + + + CHANNEL6 + Channel 6 Software Selection + 6 + 1 + write-only + + + CHANNEL7 + Channel 7 Software Selection + 7 + 1 + write-only + + + CHANNEL8 + Channel 8 Software Selection + 8 + 1 + write-only + + + CHANNEL9 + Channel 9 Software Selection + 9 + 1 + write-only + + + CHANNEL10 + Channel 10 Software Selection + 10 + 1 + write-only + + + CHANNEL11 + Channel 11 Software Selection + 11 + 1 + write-only + + + CHANNEL12 + Channel 12 Software Selection + 12 + 1 + write-only + + + CHANNEL13 + Channel 13 Software Selection + 13 + 1 + write-only + + + CHANNEL14 + Channel 14 Software Selection + 14 + 1 + write-only + + + CHANNEL15 + Channel 15 Software Selection + 15 + 1 + write-only + + + CHANNEL16 + Channel 16 Software Selection + 16 + 1 + write-only + + + CHANNEL17 + Channel 17 Software Selection + 17 + 1 + write-only + + + CHANNEL18 + Channel 18 Software Selection + 18 + 1 + write-only + + + CHANNEL19 + Channel 19 Software Selection + 19 + 1 + write-only + + + CHANNEL20 + Channel 20 Software Selection + 20 + 1 + write-only + + + CHANNEL21 + Channel 21 Software Selection + 21 + 1 + write-only + + + CHANNEL22 + Channel 22 Software Selection + 22 + 1 + write-only + + + CHANNEL23 + Channel 23 Software Selection + 23 + 1 + write-only + + + CHANNEL24 + Channel 24 Software Selection + 24 + 1 + write-only + + + CHANNEL25 + Channel 25 Software Selection + 25 + 1 + write-only + + + CHANNEL26 + Channel 26 Software Selection + 26 + 1 + write-only + + + CHANNEL27 + Channel 27 Software Selection + 27 + 1 + write-only + + + CHANNEL28 + Channel 28 Software Selection + 28 + 1 + write-only + + + CHANNEL29 + Channel 29 Software Selection + 29 + 1 + write-only + + + CHANNEL30 + Channel 30 Software Selection + 30 + 1 + write-only + + + CHANNEL31 + Channel 31 Software Selection + 31 + 1 + write-only + + + + + PRICTRL + Priority Control + 0x008 + 8 + + + PRI + Channel Priority Number + 0 + 4 + + + RREN + Round-Robin Scheduling Enable + 7 + 1 + + + + + INTPEND + Channel Pending Interrupt + 0x010 + 16 + 0x4000 + + + ID + Channel ID + 0 + 4 + + + OVR + Channel Overrun + 8 + 1 + + + EVD + Channel Event Detected + 9 + 1 + + + READY + Ready + 14 + 1 + read-only + + + BUSY + Busy + 15 + 1 + read-only + + + + + INTSTATUS + Interrupt Status + 0x014 + 32 + read-only + + + CHINT0 + Channel 0 Pending Interrupt + 0 + 1 + read-only + + + CHINT1 + Channel 1 Pending Interrupt + 1 + 1 + read-only + + + CHINT2 + Channel 2 Pending Interrupt + 2 + 1 + read-only + + + CHINT3 + Channel 3 Pending Interrupt + 3 + 1 + read-only + + + CHINT4 + Channel 4 Pending Interrupt + 4 + 1 + read-only + + + CHINT5 + Channel 5 Pending Interrupt + 5 + 1 + read-only + + + CHINT6 + Channel 6 Pending Interrupt + 6 + 1 + read-only + + + CHINT7 + Channel 7 Pending Interrupt + 7 + 1 + read-only + + + CHINT8 + Channel 8 Pending Interrupt + 8 + 1 + read-only + + + CHINT9 + Channel 9 Pending Interrupt + 9 + 1 + read-only + + + CHINT10 + Channel 10 Pending Interrupt + 10 + 1 + read-only + + + CHINT11 + Channel 11 Pending Interrupt + 11 + 1 + read-only + + + + + BUSYCH + Busy Channels + 0x018 + 32 + read-only + + + BUSYCH0 + Busy Channel 0 + 0 + 1 + + + BUSYCH1 + Busy Channel 1 + 1 + 1 + + + BUSYCH2 + Busy Channel 2 + 2 + 1 + + + BUSYCH3 + Busy Channel 3 + 3 + 1 + + + BUSYCH4 + Busy Channel 4 + 4 + 1 + + + BUSYCH5 + Busy Channel 5 + 5 + 1 + + + BUSYCH6 + Busy Channel 6 + 6 + 1 + + + BUSYCH7 + Busy Channel 7 + 7 + 1 + + + BUSYCH8 + Busy Channel 8 + 8 + 1 + + + BUSYCH9 + Busy Channel 9 + 9 + 1 + + + BUSYCH10 + Busy Channel 10 + 10 + 1 + + + BUSYCH11 + Busy Channel 11 + 11 + 1 + + + + + READYUSR + Ready Users + 0x01C + 32 + read-only + 0xFFFFFFFF + + + READYUSR0 + Ready User for Channel 0 + 0 + 1 + read-only + + + READYUSR1 + Ready User for Channel 1 + 1 + 1 + read-only + + + READYUSR2 + Ready User for Channel 2 + 2 + 1 + read-only + + + READYUSR3 + Ready User for Channel 3 + 3 + 1 + read-only + + + READYUSR4 + Ready User for Channel 4 + 4 + 1 + read-only + + + READYUSR5 + Ready User for Channel 5 + 5 + 1 + read-only + + + READYUSR6 + Ready User for Channel 6 + 6 + 1 + read-only + + + READYUSR7 + Ready User for Channel 7 + 7 + 1 + read-only + + + READYUSR8 + Ready User for Channel 8 + 8 + 1 + read-only + + + READYUSR9 + Ready User for Channel 9 + 9 + 1 + read-only + + + READYUSR10 + Ready User for Channel 10 + 10 + 1 + read-only + + + READYUSR11 + Ready User for Channel 11 + 11 + 1 + read-only + + + + + 32 + 0x8 + CHANNEL%s + Channel n Control + 0x020 + 32 + 0x00008000 + + + EVGEN + Event Generator Selection + 0 + 7 + + + PATH + Path Selection + 8 + 2 + + PATHSelect + + SYNCHRONOUS + Synchronous path + 0x0 + + + RESYNCHRONIZED + Resynchronized path + 0x1 + + + ASYNCHRONOUS + Asynchronous path + 0x2 + + + + + EDGSEL + Edge Detection Selection + 10 + 2 + + EDGSELSelect + + NO_EVT_OUTPUT + No event output when using the resynchronized or synchronous path + 0x0 + + + RISING_EDGE + Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path + 0x1 + + + FALLING_EDGE + Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path + 0x2 + + + BOTH_EDGES + Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path + 0x3 + + + + + RUNSTDBY + Run in standby + 14 + 1 + + + ONDEMAND + Generic Clock On Demand + 15 + 1 + + + + + 32 + 0x8 + CHINTENCLR%s + Channel n Interrupt Enable Clear + 0x024 + 8 + + + OVR + Channel Overrun Interrupt Disable + 0 + 1 + + + EVD + Channel Event Detected Interrupt Disable + 1 + 1 + + + + + 32 + 0x8 + CHINTENSET%s + Channel n Interrupt Enable Set + 0x025 + 8 + + + OVR + Channel Overrun Interrupt Enable + 0 + 1 + + + EVD + Channel Event Detected Interrupt Enable + 1 + 1 + + + + + 32 + 0x8 + CHINTFLAG%s + Channel n Interrupt Flag Status and Clear + 0x026 + 8 + + + OVR + Channel Overrun + 0 + 1 + + + EVD + Channel Event Detected + 1 + 1 + + + + + 32 + 0x8 + CHSTATUS%s + Channel n Status + 0x027 + 8 + read-only + 0x01 + + + RDYUSR + Ready User + 0 + 1 + read-only + + + BUSYCH + Busy Channel + 1 + 1 + read-only + + + + + 67 + 0x4 + USER%s + User Multiplexer n + 0x120 + 32 + + + CHANNEL + Channel Event Selection + 0 + 6 + + + + + + + FREQM + 1.1.0 + Frequency Meter + FREQM + FREQM_ + 0x40002C00 + + 0 + 0x20 + registers + + + FREQM_INTREQ + 28 + + + + CTRLA + Control A Register + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + + + CTRLB + Control B Register + 0x01 + 8 + write-only + + + START + Start Measurement + 0 + 1 + write-only + + + + + CFGA + Config A register + 0x02 + 16 + + + REFNUM + Number of Reference Clock Cycles + 0 + 8 + + + + + INTENCLR + Interrupt Enable Clear Register + 0x08 + 8 + + + DONE + Measurement Done Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set Register + 0x09 + 8 + + + DONE + Measurement Done Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Register + 0x0A + 8 + + + DONE + Measurement Done + 0 + 1 + + + + + STATUS + Status Register + 0x0B + 8 + + + BUSY + FREQM Status + 0 + 1 + read-only + + + OVF + Sticky Count Value Overflow + 1 + 1 + + + + + SYNCBUSY + Synchronization Busy Register + 0x0C + 32 + read-only + + + SWRST + Software Reset + 0 + 1 + read-only + + + ENABLE + Enable + 1 + 1 + read-only + + + + + VALUE + Count Value Register + 0x10 + 32 + read-only + + + VALUE + Measurement Value + 0 + 24 + read-only + + + + + + + GCLK + 1.2.0 + Generic Clock Generator + GCLK + GCLK_ + 0x40001C00 + + 0 + 0x400 + registers + + + + CTRLA + Control + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x04 + 32 + read-only + + + SWRST + Software Reset Synchroniation Busy bit + 0 + 1 + read-only + + + GENCTRL0 + Generic Clock Generator Control 0 Synchronization Busy bits + 2 + 1 + read-only + + GENCTRL0Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL1 + Generic Clock Generator Control 1 Synchronization Busy bits + 3 + 1 + read-only + + GENCTRL1Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL2 + Generic Clock Generator Control 2 Synchronization Busy bits + 4 + 1 + read-only + + GENCTRL2Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL3 + Generic Clock Generator Control 3 Synchronization Busy bits + 5 + 1 + read-only + + GENCTRL3Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL4 + Generic Clock Generator Control 4 Synchronization Busy bits + 6 + 1 + read-only + + GENCTRL4Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL5 + Generic Clock Generator Control 5 Synchronization Busy bits + 7 + 1 + read-only + + GENCTRL5Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL6 + Generic Clock Generator Control 6 Synchronization Busy bits + 8 + 1 + read-only + + GENCTRL6Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL7 + Generic Clock Generator Control 7 Synchronization Busy bits + 9 + 1 + read-only + + GENCTRL7Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL8 + Generic Clock Generator Control 8 Synchronization Busy bits + 10 + 1 + read-only + + GENCTRL8Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL9 + Generic Clock Generator Control 9 Synchronization Busy bits + 11 + 1 + read-only + + GENCTRL9Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL10 + Generic Clock Generator Control 10 Synchronization Busy bits + 12 + 1 + read-only + + GENCTRL10Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL11 + Generic Clock Generator Control 11 Synchronization Busy bits + 13 + 1 + read-only + + GENCTRL11Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + + + 12 + 0x4 + GENCTRL%s + Generic Clock Generator Control + 0x20 + 32 + + + SRC + Source Select + 0 + 4 + + SRCSelect + + XOSC0 + XOSC0 oscillator output + 0x0 + + + XOSC1 + XOSC1 oscillator output + 0x1 + + + GCLKIN + Generator input pad + 0x2 + + + GCLKGEN1 + Generic clock generator 1 output + 0x3 + + + OSCULP32K + OSCULP32K oscillator output + 0x4 + + + XOSC32K + XOSC32K oscillator output + 0x5 + + + DFLL + DFLL output + 0x6 + + + DPLL0 + DPLL0 output + 0x7 + + + DPLL1 + DPLL1 output + 0x8 + + + + + GENEN + Generic Clock Generator Enable + 8 + 1 + + + IDC + Improve Duty Cycle + 9 + 1 + + + OOV + Output Off Value + 10 + 1 + + + OE + Output Enable + 11 + 1 + + + DIVSEL + Divide Selection + 12 + 1 + + + RUNSTDBY + Run in Standby + 13 + 1 + + + DIV + Division Factor + 16 + 16 + + + + + 48 + 0x4 + PCHCTRL%s + Peripheral Clock Control + 0x80 + 32 + + + GEN + Generic Clock Generator + 0 + 4 + + GENSelect + + GCLK0 + Generic clock generator 0 + 0x0 + + + GCLK1 + Generic clock generator 1 + 0x1 + + + GCLK2 + Generic clock generator 2 + 0x2 + + + GCLK3 + Generic clock generator 3 + 0x3 + + + GCLK4 + Generic clock generator 4 + 0x4 + + + GCLK5 + Generic clock generator 5 + 0x5 + + + GCLK6 + Generic clock generator 6 + 0x6 + + + GCLK7 + Generic clock generator 7 + 0x7 + + + GCLK8 + Generic clock generator 8 + 0x8 + + + GCLK9 + Generic clock generator 9 + 0x9 + + + GCLK10 + Generic clock generator 10 + 0xa + + + GCLK11 + Generic clock generator 11 + 0xb + + + + + CHEN + Channel Enable + 6 + 1 + + + WRTLOCK + Write Lock + 7 + 1 + + + + + + + GMAC + 1.0.0 + Ethernet MAC + GMAC + GMAC_ + 0x42000800 + + 0 + 0x280 + registers + + + GMAC_INTREQ + 84 + + + + NCR + Network Control Register + 0x000 + 32 + + + LBL + Loop Back Local + 1 + 1 + + + RXEN + Receive Enable + 2 + 1 + + + TXEN + Transmit Enable + 3 + 1 + + + MPE + Management Port Enable + 4 + 1 + + + CLRSTAT + Clear Statistics Registers + 5 + 1 + + + INCSTAT + Increment Statistics Registers + 6 + 1 + + + WESTAT + Write Enable for Statistics Registers + 7 + 1 + + + BP + Back pressure + 8 + 1 + + + TSTART + Start Transmission + 9 + 1 + + + THALT + Transmit Halt + 10 + 1 + + + TXPF + Transmit Pause Frame + 11 + 1 + + + TXZQPF + Transmit Zero Quantum Pause Frame + 12 + 1 + + + SRTSM + Store Receive Time Stamp to Memory + 15 + 1 + + + ENPBPR + Enable PFC Priority-based Pause Reception + 16 + 1 + + + TXPBPF + Transmit PFC Priority-based Pause Frame + 17 + 1 + + + FNP + Flush Next Packet + 18 + 1 + + + LPI + Low Power Idle Enable + 19 + 1 + + + + + NCFGR + Network Configuration Register + 0x004 + 32 + 0x00080000 + + + SPD + Speed + 0 + 1 + + + FD + Full Duplex + 1 + 1 + + + DNVLAN + Discard Non-VLAN FRAMES + 2 + 1 + + + JFRAME + Jumbo Frame Size + 3 + 1 + + + CAF + Copy All Frames + 4 + 1 + + + NBC + No Broadcast + 5 + 1 + + + MTIHEN + Multicast Hash Enable + 6 + 1 + + + UNIHEN + Unicast Hash Enable + 7 + 1 + + + MAXFS + 1536 Maximum Frame Size + 8 + 1 + + + RTY + Retry Test + 12 + 1 + + + PEN + Pause Enable + 13 + 1 + + + RXBUFO + Receive Buffer Offset + 14 + 2 + + + LFERD + Length Field Error Frame Discard + 16 + 1 + + + RFCS + Remove FCS + 17 + 1 + + + CLK + MDC CLock Division + 18 + 3 + + + DBW + Data Bus Width + 21 + 2 + + + DCPF + Disable Copy of Pause Frames + 23 + 1 + + + RXCOEN + Receive Checksum Offload Enable + 24 + 1 + + + EFRHD + Enable Frames Received in Half Duplex + 25 + 1 + + + IRXFCS + Ignore RX FCS + 26 + 1 + + + IPGSEN + IP Stretch Enable + 28 + 1 + + + RXBP + Receive Bad Preamble + 29 + 1 + + + IRXER + Ignore IPG GRXER + 30 + 1 + + + + + NSR + Network Status Register + 0x008 + 32 + read-only + 0x00000004 + + + MDIO + MDIO Input Status + 1 + 1 + + + IDLE + PHY Management Logic Idle + 2 + 1 + + + + + UR + User Register + 0x00C + 32 + + + MII + MII Mode + 0 + 1 + + + + + DCFGR + DMA Configuration Register + 0x010 + 32 + 0x00020704 + + + FBLDO + Fixed Burst Length for DMA Data Operations: + 0 + 5 + + + ESMA + Endian Swap Mode Enable for Management Descriptor Accesses + 6 + 1 + + + ESPA + Endian Swap Mode Enable for Packet Data Accesses + 7 + 1 + + + RXBMS + Receiver Packet Buffer Memory Size Select + 8 + 2 + + + TXPBMS + Transmitter Packet Buffer Memory Size Select + 10 + 1 + + + TXCOEN + Transmitter Checksum Generation Offload Enable + 11 + 1 + + + DRBS + DMA Receive Buffer Size + 16 + 8 + + + DDRP + DMA Discard Receive Packets + 24 + 1 + + + + + TSR + Transmit Status Register + 0x014 + 32 + + + UBR + Used Bit Read + 0 + 1 + + + COL + Collision Occurred + 1 + 1 + + + RLE + Retry Limit Exceeded + 2 + 1 + + + TXGO + Transmit Go + 3 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 4 + 1 + + + TXCOMP + Transmit Complete + 5 + 1 + + + UND + Transmit Underrun + 6 + 1 + + + HRESP + HRESP Not OK + 8 + 1 + + + + + RBQB + Receive Buffer Queue Base Address + 0x018 + 32 + + + ADDR + Receive Buffer Queue Base Address + 2 + 30 + + + + + TBQB + Transmit Buffer Queue Base Address + 0x01C + 32 + + + ADDR + Transmit Buffer Queue Base Address + 2 + 30 + + + + + RSR + Receive Status Register + 0x020 + 32 + + + BNA + Buffer Not Available + 0 + 1 + + + REC + Frame Received + 1 + 1 + + + RXOVR + Receive Overrun + 2 + 1 + + + HNO + HRESP Not OK + 3 + 1 + + + + + ISR + Interrupt Status Register + 0x024 + 32 + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IER + Interrupt Enable Register + 0x028 + 32 + write-only + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded or Late Collision + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IDR + Interrupt Disable Register + 0x02C + 32 + write-only + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded or Late Collision + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IMR + Interrupt Mask Register + 0x030 + 32 + read-only + 0x3FFFFFFF + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On Lan + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + MAN + PHY Maintenance Register + 0x034 + 32 + + + DATA + PHY Data + 0 + 16 + + + WTN + Write Ten + 16 + 2 + + + REGA + Register Address + 18 + 5 + + + PHYA + PHY Address + 23 + 5 + + + OP + Operation + 28 + 2 + + + CLTTO + Clause 22 Operation + 30 + 1 + + + WZO + Write ZERO + 31 + 1 + + + + + RPQ + Received Pause Quantum Register + 0x038 + 32 + read-only + + + RPQ + Received Pause Quantum + 0 + 16 + + + + + TPQ + Transmit Pause Quantum Register + 0x03C + 32 + 0x0000FFFF + + + TPQ + Transmit Pause Quantum + 0 + 16 + + + + + TPSF + TX partial store and forward Register + 0x040 + 32 + 0x000003FF + + + TPB1ADR + TX packet buffer address + 0 + 10 + + + ENTXP + Enable TX partial store and forward operation + 31 + 1 + + + + + RPSF + RX partial store and forward Register + 0x044 + 32 + 0x000003FF + + + RPB1ADR + RX packet buffer address + 0 + 10 + + + ENRXP + Enable RX partial store and forward operation + 31 + 1 + + + + + RJFML + RX Jumbo Frame Max Length Register + 0x048 + 32 + 0x00003FFF + + + FML + Frame Max Length + 0 + 14 + + + + + HRB + Hash Register Bottom [31:0] + 0x080 + 32 + + + ADDR + Hash Address + 0 + 32 + + + + + HRT + Hash Register Top [63:32] + 0x084 + 32 + + + ADDR + Hash Address + 0 + 32 + + + + + 4 + 0x8 + SAB%s + Specific Address Bottom [31:0] Register + 0x088 + 32 + + + ADDR + Specific Address 1 + 0 + 32 + + + + + 4 + 0x8 + SAT%s + Specific Address Top [47:32] Register + 0x08C + 32 + + + ADDR + Specific Address 1 + 0 + 16 + + + + + 4 + 0x4 + TIDM%s + Type ID Match Register + 0x0A8 + 32 + + + TID + Type ID Match 1 + 0 + 16 + + + + + WOL + Wake on LAN + 0x0B8 + 32 + + + IP + IP address + 0 + 16 + + + MAG + Event enable + 16 + 1 + + + ARP + LAN ARP req + 17 + 1 + + + SA1 + WOL specific address reg 1 + 18 + 1 + + + MTI + WOL LAN multicast + 19 + 1 + + + + + IPGS + IPG Stretch Register + 0x0BC + 32 + + + FL + Frame Length + 0 + 16 + + + + + SVLAN + Stacked VLAN Register + 0x0C0 + 32 + + + VLAN_TYPE + User Defined VLAN_TYPE Field + 0 + 16 + + + ESVLAN + Enable Stacked VLAN Processing Mode + 31 + 1 + + + + + TPFCP + Transmit PFC Pause Register + 0x0C4 + 32 + + + PEV + Priority Enable Vector + 0 + 8 + + + PQ + Pause Quantum + 8 + 8 + + + + + SAMB1 + Specific Address 1 Mask Bottom [31:0] Register + 0x0C8 + 32 + + + ADDR + Specific Address 1 Mask + 0 + 32 + + + + + SAMT1 + Specific Address 1 Mask Top [47:32] Register + 0x0CC + 32 + + + ADDR + Specific Address 1 Mask + 0 + 16 + + + + + NSC + Tsu timer comparison nanoseconds Register + 0x0DC + 32 + + + NANOSEC + 1588 Timer Nanosecond comparison value + 0 + 21 + + + + + SCL + Tsu timer second comparison Register + 0x0E0 + 32 + + + SEC + 1588 Timer Second comparison value + 0 + 32 + + + + + SCH + Tsu timer second comparison Register + 0x0E4 + 32 + + + SEC + 1588 Timer Second comparison value + 0 + 16 + + + + + EFTSH + PTP Event Frame Transmitted Seconds High Register + 0x0E8 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + EFRSH + PTP Event Frame Received Seconds High Register + 0x0EC + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + PEFTSH + PTP Peer Event Frame Transmitted Seconds High Register + 0x0F0 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + PEFRSH + PTP Peer Event Frame Received Seconds High Register + 0x0F4 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + OTLO + Octets Transmitted [31:0] Register + 0x100 + 32 + read-only + + + TXO + Transmitted Octets + 0 + 32 + + + + + OTHI + Octets Transmitted [47:32] Register + 0x104 + 32 + read-only + + + TXO + Transmitted Octets + 0 + 16 + + + + + FT + Frames Transmitted Register + 0x108 + 32 + read-only + + + FTX + Frames Transmitted without Error + 0 + 32 + + + + + BCFT + Broadcast Frames Transmitted Register + 0x10C + 32 + read-only + + + BFTX + Broadcast Frames Transmitted without Error + 0 + 32 + + + + + MFT + Multicast Frames Transmitted Register + 0x110 + 32 + read-only + + + MFTX + Multicast Frames Transmitted without Error + 0 + 32 + + + + + PFT + Pause Frames Transmitted Register + 0x114 + 32 + read-only + + + PFTX + Pause Frames Transmitted Register + 0 + 16 + + + + + BFT64 + 64 Byte Frames Transmitted Register + 0x118 + 32 + read-only + + + NFTX + 64 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT127 + 65 to 127 Byte Frames Transmitted Register + 0x11C + 32 + read-only + + + NFTX + 65 to 127 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT255 + 128 to 255 Byte Frames Transmitted Register + 0x120 + 32 + read-only + + + NFTX + 128 to 255 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT511 + 256 to 511 Byte Frames Transmitted Register + 0x124 + 32 + read-only + + + NFTX + 256 to 511 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT1023 + 512 to 1023 Byte Frames Transmitted Register + 0x128 + 32 + read-only + + + NFTX + 512 to 1023 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT1518 + 1024 to 1518 Byte Frames Transmitted Register + 0x12C + 32 + read-only + + + NFTX + 1024 to 1518 Byte Frames Transmitted without Error + 0 + 32 + + + + + GTBFT1518 + Greater Than 1518 Byte Frames Transmitted Register + 0x130 + 32 + read-only + + + NFTX + Greater than 1518 Byte Frames Transmitted without Error + 0 + 32 + + + + + TUR + Transmit Underruns Register + 0x134 + 32 + read-only + + + TXUNR + Transmit Underruns + 0 + 10 + + + + + SCF + Single Collision Frames Register + 0x138 + 32 + read-only + + + SCOL + Single Collision + 0 + 18 + + + + + MCF + Multiple Collision Frames Register + 0x13C + 32 + read-only + + + MCOL + Multiple Collision + 0 + 18 + + + + + EC + Excessive Collisions Register + 0x140 + 32 + read-only + + + XCOL + Excessive Collisions + 0 + 10 + + + + + LC + Late Collisions Register + 0x144 + 32 + read-only + + + LCOL + Late Collisions + 0 + 10 + + + + + DTF + Deferred Transmission Frames Register + 0x148 + 32 + read-only + + + DEFT + Deferred Transmission + 0 + 18 + + + + + CSE + Carrier Sense Errors Register + 0x14C + 32 + read-only + + + CSR + Carrier Sense Error + 0 + 10 + + + + + ORLO + Octets Received [31:0] Received + 0x150 + 32 + read-only + + + RXO + Received Octets + 0 + 32 + + + + + ORHI + Octets Received [47:32] Received + 0x154 + 32 + read-only + + + RXO + Received Octets + 0 + 16 + + + + + FR + Frames Received Register + 0x158 + 32 + read-only + + + FRX + Frames Received without Error + 0 + 32 + + + + + BCFR + Broadcast Frames Received Register + 0x15C + 32 + read-only + + + BFRX + Broadcast Frames Received without Error + 0 + 32 + + + + + MFR + Multicast Frames Received Register + 0x160 + 32 + read-only + + + MFRX + Multicast Frames Received without Error + 0 + 32 + + + + + PFR + Pause Frames Received Register + 0x164 + 32 + read-only + + + PFRX + Pause Frames Received Register + 0 + 16 + + + + + BFR64 + 64 Byte Frames Received Register + 0x168 + 32 + read-only + + + NFRX + 64 Byte Frames Received without Error + 0 + 32 + + + + + TBFR127 + 65 to 127 Byte Frames Received Register + 0x16C + 32 + read-only + + + NFRX + 65 to 127 Byte Frames Received without Error + 0 + 32 + + + + + TBFR255 + 128 to 255 Byte Frames Received Register + 0x170 + 32 + read-only + + + NFRX + 128 to 255 Byte Frames Received without Error + 0 + 32 + + + + + TBFR511 + 256 to 511Byte Frames Received Register + 0x174 + 32 + read-only + + + NFRX + 256 to 511 Byte Frames Received without Error + 0 + 32 + + + + + TBFR1023 + 512 to 1023 Byte Frames Received Register + 0x178 + 32 + read-only + + + NFRX + 512 to 1023 Byte Frames Received without Error + 0 + 32 + + + + + TBFR1518 + 1024 to 1518 Byte Frames Received Register + 0x17C + 32 + read-only + + + NFRX + 1024 to 1518 Byte Frames Received without Error + 0 + 32 + + + + + TMXBFR + 1519 to Maximum Byte Frames Received Register + 0x180 + 32 + read-only + + + NFRX + 1519 to Maximum Byte Frames Received without Error + 0 + 32 + + + + + UFR + Undersize Frames Received Register + 0x184 + 32 + read-only + + + UFRX + Undersize Frames Received + 0 + 10 + + + + + OFR + Oversize Frames Received Register + 0x188 + 32 + read-only + + + OFRX + Oversized Frames Received + 0 + 10 + + + + + JR + Jabbers Received Register + 0x18C + 32 + read-only + + + JRX + Jabbers Received + 0 + 10 + + + + + FCSE + Frame Check Sequence Errors Register + 0x190 + 32 + read-only + + + FCKR + Frame Check Sequence Errors + 0 + 10 + + + + + LFFE + Length Field Frame Errors Register + 0x194 + 32 + read-only + + + LFER + Length Field Frame Errors + 0 + 10 + + + + + RSE + Receive Symbol Errors Register + 0x198 + 32 + read-only + + + RXSE + Receive Symbol Errors + 0 + 10 + + + + + AE + Alignment Errors Register + 0x19C + 32 + read-only + + + AER + Alignment Errors + 0 + 10 + + + + + RRE + Receive Resource Errors Register + 0x1A0 + 32 + read-only + + + RXRER + Receive Resource Errors + 0 + 18 + + + + + ROE + Receive Overrun Register + 0x1A4 + 32 + read-only + + + RXOVR + Receive Overruns + 0 + 10 + + + + + IHCE + IP Header Checksum Errors Register + 0x1A8 + 32 + read-only + + + HCKER + IP Header Checksum Errors + 0 + 8 + + + + + TCE + TCP Checksum Errors Register + 0x1AC + 32 + read-only + + + TCKER + TCP Checksum Errors + 0 + 8 + + + + + UCE + UDP Checksum Errors Register + 0x1B0 + 32 + read-only + + + UCKER + UDP Checksum Errors + 0 + 8 + + + + + TISUBN + 1588 Timer Increment [15:0] Sub-Nanoseconds Register + 0x1BC + 32 + + + LSBTIR + Lower Significant Bits of Timer Increment + 0 + 16 + + + + + TSH + 1588 Timer Seconds High [15:0] Register + 0x1C0 + 32 + + + TCS + Timer Count in Seconds + 0 + 16 + + + + + TSSSL + 1588 Timer Sync Strobe Seconds [31:0] Register + 0x1C8 + 32 + + + VTS + Value of Timer Seconds Register Capture + 0 + 32 + + + + + TSSN + 1588 Timer Sync Strobe Nanoseconds Register + 0x1CC + 32 + + + VTN + Value Timer Nanoseconds Register Capture + 0 + 30 + + + + + TSL + 1588 Timer Seconds [31:0] Register + 0x1D0 + 32 + + + TCS + Timer Count in Seconds + 0 + 32 + + + + + TN + 1588 Timer Nanoseconds Register + 0x1D4 + 32 + + + TNS + Timer Count in Nanoseconds + 0 + 30 + + + + + TA + 1588 Timer Adjust Register + 0x1D8 + 32 + write-only + + + ITDT + Increment/Decrement + 0 + 30 + + + ADJ + Adjust 1588 Timer + 31 + 1 + + + + + TI + 1588 Timer Increment Register + 0x1DC + 32 + + + CNS + Count Nanoseconds + 0 + 8 + + + ACNS + Alternative Count Nanoseconds + 8 + 8 + + + NIT + Number of Increments + 16 + 8 + + + + + EFTSL + PTP Event Frame Transmitted Seconds Low Register + 0x1E0 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + EFTN + PTP Event Frame Transmitted Nanoseconds + 0x1E4 + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + EFRSL + PTP Event Frame Received Seconds Low Register + 0x1E8 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + EFRN + PTP Event Frame Received Nanoseconds + 0x1EC + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + PEFTSL + PTP Peer Event Frame Transmitted Seconds Low Register + 0x1F0 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + PEFTN + PTP Peer Event Frame Transmitted Nanoseconds + 0x1F4 + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + PEFRSL + PTP Peer Event Frame Received Seconds Low Register + 0x1F8 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + PEFRN + PTP Peer Event Frame Received Nanoseconds + 0x1FC + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + RLPITR + Receive LPI transition Register + 0x270 + 32 + read-only + + + RLPITR + Count number of times transition from rx normal idle to low power idle + 0 + 16 + + + + + RLPITI + Receive LPI Time Register + 0x274 + 32 + read-only + + + RLPITI + Increment once over 16 ahb clock when LPI indication bit 20 is set in rx mode + 0 + 24 + + + + + TLPITR + Receive LPI transition Register + 0x278 + 32 + read-only + + + TLPITR + Count number of times enable LPI tx bit 20 goes from low to high + 0 + 16 + + + + + TLPITI + Receive LPI Time Register + 0x27C + 32 + read-only + + + TLPITI + Increment once over 16 ahb clock when LPI indication bit 20 is set in tx mode + 0 + 24 + + + + + + + HMATRIX + 2.1.4 + HSB Matrix + HMATRIXB + HMATRIXB_ + 0x4100C000 + + 0 + 0x180 + registers + + + + 5 + 0x8 + PRAS%s + Priority A for Slave + 0x080 + 32 + + + 5 + 0x8 + PRBS%s + Priority B for Slave + 0x084 + 32 + + + + + ICM + 1.2.0 + Integrity Check Monitor + ICM + ICM_ + 0x42002C00 + + 0 + 0x80 + registers + + + ICM_INTREQ + 132 + + + + CFG + Configuration + 0x00 + 32 + + + WBDIS + Write Back Disable + 0 + 1 + + + EOMDIS + End of Monitoring Disable + 1 + 1 + + + SLBDIS + Secondary List Branching Disable + 2 + 1 + + + BBC + Bus Burden Control + 4 + 4 + + + ASCD + Automatic Switch To Compare Digest + 8 + 1 + + + DUALBUFF + Dual Input Buffer + 9 + 1 + + + UIHASH + User Initial Hash Value + 12 + 1 + + + UALGO + User SHA Algorithm + 13 + 3 + + UALGOSelect + + SHA1 + SHA1 Algorithm + 0x0 + + + SHA256 + SHA256 Algorithm + 0x1 + + + SHA224 + SHA224 Algorithm + 0x4 + + + + + HAPROT + Region Hash Area Protection + 16 + 6 + + + DAPROT + Region Descriptor Area Protection + 24 + 6 + + + + + CTRL + Control + 0x04 + 32 + write-only + + + ENABLE + ICM Enable + 0 + 1 + + + DISABLE + ICM Disable Register + 1 + 1 + + + SWRST + Software Reset + 2 + 1 + + + REHASH + Recompute Internal Hash + 4 + 4 + + + RMDIS + Region Monitoring Disable + 8 + 4 + + + RMEN + Region Monitoring Enable + 12 + 4 + + + + + SR + Status + 0x08 + 32 + read-only + + + ENABLE + ICM Controller Enable Register + 0 + 1 + + + RAWRMDIS + RAW Region Monitoring Disabled Status + 8 + 4 + + + RMDIS + Region Monitoring Disabled Status + 12 + 4 + + + + + IER + Interrupt Enable + 0x10 + 32 + write-only + + + RHC + Region Hash Completed Interrupt Enable + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Enable + 4 + 4 + + + RBE + Region Bus Error Interrupt Enable + 8 + 4 + + + RWC + Region Wrap Condition detected Interrupt Enable + 12 + 4 + + + REC + Region End bit Condition Detected Interrupt Enable + 16 + 4 + + + RSU + Region Status Updated Interrupt Disable + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Enable + 24 + 1 + + + + + IDR + Interrupt Disable + 0x14 + 32 + write-only + + + RHC + Region Hash Completed Interrupt Disable + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Disable + 4 + 4 + + + RBE + Region Bus Error Interrupt Disable + 8 + 4 + + + RWC + Region Wrap Condition Detected Interrupt Disable + 12 + 4 + + + REC + Region End bit Condition detected Interrupt Disable + 16 + 4 + + + RSU + Region Status Updated Interrupt Disable + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Disable + 24 + 1 + + + + + IMR + Interrupt Mask + 0x18 + 32 + read-only + + + RHC + Region Hash Completed Interrupt Mask + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Mask + 4 + 4 + + + RBE + Region Bus Error Interrupt Mask + 8 + 4 + + + RWC + Region Wrap Condition Detected Interrupt Mask + 12 + 4 + + + REC + Region End bit Condition Detected Interrupt Mask + 16 + 4 + + + RSU + Region Status Updated Interrupt Mask + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Mask + 24 + 1 + + + + + ISR + Interrupt Status + 0x1C + 32 + read-only + + + RHC + Region Hash Completed + 0 + 4 + + + RDM + Region Digest Mismatch + 4 + 4 + + + RBE + Region Bus Error + 8 + 4 + + + RWC + Region Wrap Condition Detected + 12 + 4 + + + REC + Region End bit Condition Detected + 16 + 4 + + + RSU + Region Status Updated Detected + 20 + 4 + + + URAD + Undefined Register Access Detection Status + 24 + 1 + + + + + UASR + Undefined Access Status + 0x20 + 32 + read-only + + + URAT + Undefined Register Access Trace + 0 + 3 + + URATSelect + + UNSPEC_STRUCT_MEMBER + Unspecified structure member set to one detected when the descriptor is loaded + 0x0 + + + CFG_MODIFIED + CFG modified during active monitoring + 0x1 + + + DSCR_MODIFIED + DSCR modified during active monitoring + 0x2 + + + HASH_MODIFIED + HASH modified during active monitoring + 0x3 + + + READ_ACCESS + Write-only register read access + 0x4 + + + + + + + DSCR + Region Descriptor Area Start Address + 0x30 + 32 + + + DASA + Descriptor Area Start Address + 6 + 26 + + + + + HASH + Region Hash Area Start Address + 0x34 + 32 + + + HASA + Hash Area Start Address + 7 + 25 + + + + + 8 + 0x4 + UIHVAL%s + User Initial Hash Value n + 0x38 + 32 + write-only + + + VAL + Initial Hash Value + 0 + 32 + + + + + + + I2S + 2.0.0 + Inter-IC Sound Interface + I2S + I2S_ + 0x43002800 + + 0 + 0x40 + registers + + + I2S_INTREQ + 128 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + CKEN0 + Clock Unit 0 Enable + 2 + 1 + + + CKEN1 + Clock Unit 1 Enable + 3 + 1 + + + TXEN + Tx Serializer Enable + 4 + 1 + + + RXEN + Rx Serializer Enable + 5 + 1 + + + + + 2 + 0x4 + CLKCTRL%s + Clock Unit n Control + 0x04 + 32 + + + SLOTSIZE + Slot Size + 0 + 2 + + SLOTSIZESelect + + 8 + 8-bit Slot for Clock Unit n + 0x0 + + + 16 + 16-bit Slot for Clock Unit n + 0x1 + + + 24 + 24-bit Slot for Clock Unit n + 0x2 + + + 32 + 32-bit Slot for Clock Unit n + 0x3 + + + + + NBSLOTS + Number of Slots in Frame + 2 + 3 + + + FSWIDTH + Frame Sync Width + 5 + 2 + + FSWIDTHSelect + + SLOT + Frame Sync Pulse is 1 Slot wide (default for I2S protocol) + 0x0 + + + HALF + Frame Sync Pulse is half a Frame wide + 0x1 + + + BIT + Frame Sync Pulse is 1 Bit wide + 0x2 + + + BURST + Clock Unit n operates in Burst mode, with a 1-bit wide Frame Sync pulse per Data sample, only when Data transfer is requested + 0x3 + + + + + BITDELAY + Data Delay from Frame Sync + 7 + 1 + + BITDELAYSelect + + LJ + Left Justified (0 Bit Delay) + 0x0 + + + I2S + I2S (1 Bit Delay) + 0x1 + + + + + FSSEL + Frame Sync Select + 8 + 1 + + FSSELSelect + + SCKDIV + Divided Serial Clock n is used as Frame Sync n source + 0x0 + + + FSPIN + FSn input pin is used as Frame Sync n source + 0x1 + + + + + FSINV + Frame Sync Invert + 9 + 1 + + + FSOUTINV + Frame Sync Output Invert + 10 + 1 + + + SCKSEL + Serial Clock Select + 11 + 1 + + SCKSELSelect + + MCKDIV + Divided Master Clock n is used as Serial Clock n source + 0x0 + + + SCKPIN + SCKn input pin is used as Serial Clock n source + 0x1 + + + + + SCKOUTINV + Serial Clock Output Invert + 12 + 1 + + + MCKSEL + Master Clock Select + 13 + 1 + + MCKSELSelect + + GCLK + GCLK_I2S_n is used as Master Clock n source + 0x0 + + + MCKPIN + MCKn input pin is used as Master Clock n source + 0x1 + + + + + MCKEN + Master Clock Enable + 14 + 1 + + + MCKOUTINV + Master Clock Output Invert + 15 + 1 + + + MCKDIV + Master Clock Division Factor + 16 + 6 + + + MCKOUTDIV + Master Clock Output Division Factor + 24 + 6 + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 16 + + + RXRDY0 + Receive Ready 0 Interrupt Enable + 0 + 1 + + + RXRDY1 + Receive Ready 1 Interrupt Enable + 1 + 1 + + + RXOR0 + Receive Overrun 0 Interrupt Enable + 4 + 1 + + + RXOR1 + Receive Overrun 1 Interrupt Enable + 5 + 1 + + + TXRDY0 + Transmit Ready 0 Interrupt Enable + 8 + 1 + + + TXRDY1 + Transmit Ready 1 Interrupt Enable + 9 + 1 + + + TXUR0 + Transmit Underrun 0 Interrupt Enable + 12 + 1 + + + TXUR1 + Transmit Underrun 1 Interrupt Enable + 13 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x10 + 16 + + + RXRDY0 + Receive Ready 0 Interrupt Enable + 0 + 1 + + + RXRDY1 + Receive Ready 1 Interrupt Enable + 1 + 1 + + + RXOR0 + Receive Overrun 0 Interrupt Enable + 4 + 1 + + + RXOR1 + Receive Overrun 1 Interrupt Enable + 5 + 1 + + + TXRDY0 + Transmit Ready 0 Interrupt Enable + 8 + 1 + + + TXRDY1 + Transmit Ready 1 Interrupt Enable + 9 + 1 + + + TXUR0 + Transmit Underrun 0 Interrupt Enable + 12 + 1 + + + TXUR1 + Transmit Underrun 1 Interrupt Enable + 13 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x14 + 16 + + + RXRDY0 + Receive Ready 0 + 0 + 1 + + + RXRDY1 + Receive Ready 1 + 1 + 1 + + + RXOR0 + Receive Overrun 0 + 4 + 1 + + + RXOR1 + Receive Overrun 1 + 5 + 1 + + + TXRDY0 + Transmit Ready 0 + 8 + 1 + + + TXRDY1 + Transmit Ready 1 + 9 + 1 + + + TXUR0 + Transmit Underrun 0 + 12 + 1 + + + TXUR1 + Transmit Underrun 1 + 13 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x18 + 16 + read-only + + + SWRST + Software Reset Synchronization Status + 0 + 1 + + + ENABLE + Enable Synchronization Status + 1 + 1 + + + CKEN0 + Clock Unit 0 Enable Synchronization Status + 2 + 1 + + + CKEN1 + Clock Unit 1 Enable Synchronization Status + 3 + 1 + + + TXEN + Tx Serializer Enable Synchronization Status + 4 + 1 + + + RXEN + Rx Serializer Enable Synchronization Status + 5 + 1 + + + TXDATA + Tx Data Synchronization Status + 8 + 1 + + + RXDATA + Rx Data Synchronization Status + 9 + 1 + + + + + TXCTRL + Tx Serializer Control + 0x20 + 32 + + + TXDEFAULT + Line Default Line when Slot Disabled + 2 + 2 + + TXDEFAULTSelect + + ZERO + Output Default Value is 0 + 0x0 + + + ONE + Output Default Value is 1 + 0x1 + + + HIZ + Output Default Value is high impedance + 0x3 + + + + + TXSAME + Transmit Data when Underrun + 4 + 1 + + TXSAMESelect + + ZERO + Zero data transmitted in case of underrun + 0x0 + + + SAME + Last data transmitted in case of underrun + 0x1 + + + + + SLOTADJ + Data Slot Formatting Adjust + 7 + 1 + + SLOTADJSelect + + RIGHT + Data is right adjusted in slot + 0x0 + + + LEFT + Data is left adjusted in slot + 0x1 + + + + + DATASIZE + Data Word Size + 8 + 3 + + DATASIZESelect + + 32 + 32 bits + 0x0 + + + 24 + 24 bits + 0x1 + + + 20 + 20 bits + 0x2 + + + 18 + 18 bits + 0x3 + + + 16 + 16 bits + 0x4 + + + 16C + 16 bits compact stereo + 0x5 + + + 8 + 8 bits + 0x6 + + + 8C + 8 bits compact stereo + 0x7 + + + + + WORDADJ + Data Word Formatting Adjust + 12 + 1 + + WORDADJSelect + + RIGHT + Data is right adjusted in word + 0x0 + + + LEFT + Data is left adjusted in word + 0x1 + + + + + EXTEND + Data Formatting Bit Extension + 13 + 2 + + EXTENDSelect + + ZERO + Extend with zeroes + 0x0 + + + ONE + Extend with ones + 0x1 + + + MSBIT + Extend with Most Significant Bit + 0x2 + + + LSBIT + Extend with Least Significant Bit + 0x3 + + + + + BITREV + Data Formatting Bit Reverse + 15 + 1 + + BITREVSelect + + MSBIT + Transfer Data Most Significant Bit (MSB) first (default for I2S protocol) + 0x0 + + + LSBIT + Transfer Data Least Significant Bit (LSB) first + 0x1 + + + + + SLOTDIS0 + Slot 0 Disabled for this Serializer + 16 + 1 + + + SLOTDIS1 + Slot 1 Disabled for this Serializer + 17 + 1 + + + SLOTDIS2 + Slot 2 Disabled for this Serializer + 18 + 1 + + + SLOTDIS3 + Slot 3 Disabled for this Serializer + 19 + 1 + + + SLOTDIS4 + Slot 4 Disabled for this Serializer + 20 + 1 + + + SLOTDIS5 + Slot 5 Disabled for this Serializer + 21 + 1 + + + SLOTDIS6 + Slot 6 Disabled for this Serializer + 22 + 1 + + + SLOTDIS7 + Slot 7 Disabled for this Serializer + 23 + 1 + + + MONO + Mono Mode + 24 + 1 + + MONOSelect + + STEREO + Normal mode + 0x0 + + + MONO + Left channel data is duplicated to right channel + 0x1 + + + + + DMA + Single or Multiple DMA Channels + 25 + 1 + + DMASelect + + SINGLE + Single DMA channel + 0x0 + + + MULTIPLE + One DMA channel per data channel + 0x1 + + + + + + + RXCTRL + Rx Serializer Control + 0x24 + 32 + + + SERMODE + Serializer Mode + 0 + 2 + + SERMODESelect + + RX + Receive + 0x0 + + + PDM2 + Receive one PDM data on each serial clock edge + 0x2 + + + + + CLKSEL + Clock Unit Selection + 5 + 1 + + CLKSELSelect + + CLK0 + Use Clock Unit 0 + 0x0 + + + CLK1 + Use Clock Unit 1 + 0x1 + + + + + SLOTADJ + Data Slot Formatting Adjust + 7 + 1 + + SLOTADJSelect + + RIGHT + Data is right adjusted in slot + 0x0 + + + LEFT + Data is left adjusted in slot + 0x1 + + + + + DATASIZE + Data Word Size + 8 + 3 + + DATASIZESelect + + 32 + 32 bits + 0x0 + + + 24 + 24 bits + 0x1 + + + 20 + 20 bits + 0x2 + + + 18 + 18 bits + 0x3 + + + 16 + 16 bits + 0x4 + + + 16C + 16 bits compact stereo + 0x5 + + + 8 + 8 bits + 0x6 + + + 8C + 8 bits compact stereo + 0x7 + + + + + WORDADJ + Data Word Formatting Adjust + 12 + 1 + + WORDADJSelect + + RIGHT + Data is right adjusted in word + 0x0 + + + LEFT + Data is left adjusted in word + 0x1 + + + + + EXTEND + Data Formatting Bit Extension + 13 + 2 + + EXTENDSelect + + ZERO + Extend with zeroes + 0x0 + + + ONE + Extend with ones + 0x1 + + + MSBIT + Extend with Most Significant Bit + 0x2 + + + LSBIT + Extend with Least Significant Bit + 0x3 + + + + + BITREV + Data Formatting Bit Reverse + 15 + 1 + + BITREVSelect + + MSBIT + Transfer Data Most Significant Bit (MSB) first (default for I2S protocol) + 0x0 + + + LSBIT + Transfer Data Least Significant Bit (LSB) first + 0x1 + + + + + SLOTDIS0 + Slot 0 Disabled for this Serializer + 16 + 1 + + + SLOTDIS1 + Slot 1 Disabled for this Serializer + 17 + 1 + + + SLOTDIS2 + Slot 2 Disabled for this Serializer + 18 + 1 + + + SLOTDIS3 + Slot 3 Disabled for this Serializer + 19 + 1 + + + SLOTDIS4 + Slot 4 Disabled for this Serializer + 20 + 1 + + + SLOTDIS5 + Slot 5 Disabled for this Serializer + 21 + 1 + + + SLOTDIS6 + Slot 6 Disabled for this Serializer + 22 + 1 + + + SLOTDIS7 + Slot 7 Disabled for this Serializer + 23 + 1 + + + MONO + Mono Mode + 24 + 1 + + MONOSelect + + STEREO + Normal mode + 0x0 + + + MONO + Left channel data is duplicated to right channel + 0x1 + + + + + DMA + Single or Multiple DMA Channels + 25 + 1 + + DMASelect + + SINGLE + Single DMA channel + 0x0 + + + MULTIPLE + One DMA channel per data channel + 0x1 + + + + + RXLOOP + Loop-back Test Mode + 26 + 1 + + + + + TXDATA + Tx Data + 0x30 + 32 + write-only + + + DATA + Sample Data + 0 + 32 + + + + + RXDATA + Rx Data + 0x34 + 32 + read-only + + + DATA + Sample Data + 0 + 32 + + + + + + + MCLK + 1.0.0 + Main Clock + MCLK + MCLK_ + 0x40000800 + + 0 + 0x80 + registers + + + MCLK_INTREQ + 1 + + + + INTENCLR + Interrupt Enable Clear + 0x01 + 8 + + + CKRDY + Clock Ready Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x02 + 8 + + + CKRDY + Clock Ready Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x03 + 8 + 0x01 + + + CKRDY + Clock Ready + 0 + 1 + + + + + HSDIV + HS Clock Division + 0x04 + 8 + read-only + 0x01 + + + DIV + CPU Clock Division Factor + 0 + 8 + + DIVSelect + + DIV1 + Divide by 1 + 0x1 + + + + + + + CPUDIV + CPU Clock Division + 0x05 + 8 + 0x01 + + + DIV + Low-Power Clock Division Factor + 0 + 8 + + DIVSelect + + DIV1 + Divide by 1 + 0x1 + + + DIV2 + Divide by 2 + 0x2 + + + DIV4 + Divide by 4 + 0x4 + + + DIV8 + Divide by 8 + 0x8 + + + DIV16 + Divide by 16 + 0x10 + + + DIV32 + Divide by 32 + 0x20 + + + DIV64 + Divide by 64 + 0x40 + + + DIV128 + Divide by 128 + 0x80 + + + + + + + AHBMASK + AHB Mask + 0x10 + 32 + 0x00FFFFFF + + + HPB0_ + HPB0 AHB Clock Mask + 0 + 1 + + + HPB1_ + HPB1 AHB Clock Mask + 1 + 1 + + + HPB2_ + HPB2 AHB Clock Mask + 2 + 1 + + + HPB3_ + HPB3 AHB Clock Mask + 3 + 1 + + + DSU_ + DSU AHB Clock Mask + 4 + 1 + + + HMATRIX_ + HMATRIX AHB Clock Mask + 5 + 1 + + + NVMCTRL_ + NVMCTRL AHB Clock Mask + 6 + 1 + + + HSRAM_ + HSRAM AHB Clock Mask + 7 + 1 + + + CMCC_ + CMCC AHB Clock Mask + 8 + 1 + + + DMAC_ + DMAC AHB Clock Mask + 9 + 1 + + + USB_ + USB AHB Clock Mask + 10 + 1 + + + BKUPRAM_ + BKUPRAM AHB Clock Mask + 11 + 1 + + + PAC_ + PAC AHB Clock Mask + 12 + 1 + + + QSPI_ + QSPI AHB Clock Mask + 13 + 1 + + + GMAC_ + GMAC AHB Clock Mask + 14 + 1 + + + SDHC0_ + SDHC0 AHB Clock Mask + 15 + 1 + + + SDHC1_ + SDHC1 AHB Clock Mask + 16 + 1 + + + CAN0_ + CAN0 AHB Clock Mask + 17 + 1 + + + CAN1_ + CAN1 AHB Clock Mask + 18 + 1 + + + ICM_ + ICM AHB Clock Mask + 19 + 1 + + + PUKCC_ + PUKCC AHB Clock Mask + 20 + 1 + + + QSPI_2X_ + QSPI_2X AHB Clock Mask + 21 + 1 + + + NVMCTRL_SMEEPROM_ + NVMCTRL_SMEEPROM AHB Clock Mask + 22 + 1 + + + NVMCTRL_CACHE_ + NVMCTRL_CACHE AHB Clock Mask + 23 + 1 + + + + + APBAMASK + APBA Mask + 0x14 + 32 + 0x000007FF + + + PAC_ + PAC APB Clock Enable + 0 + 1 + + + PM_ + PM APB Clock Enable + 1 + 1 + + + MCLK_ + MCLK APB Clock Enable + 2 + 1 + + + RSTC_ + RSTC APB Clock Enable + 3 + 1 + + + OSCCTRL_ + OSCCTRL APB Clock Enable + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL APB Clock Enable + 5 + 1 + + + SUPC_ + SUPC APB Clock Enable + 6 + 1 + + + GCLK_ + GCLK APB Clock Enable + 7 + 1 + + + WDT_ + WDT APB Clock Enable + 8 + 1 + + + RTC_ + RTC APB Clock Enable + 9 + 1 + + + EIC_ + EIC APB Clock Enable + 10 + 1 + + + FREQM_ + FREQM APB Clock Enable + 11 + 1 + + + SERCOM0_ + SERCOM0 APB Clock Enable + 12 + 1 + + + SERCOM1_ + SERCOM1 APB Clock Enable + 13 + 1 + + + TC0_ + TC0 APB Clock Enable + 14 + 1 + + + TC1_ + TC1 APB Clock Enable + 15 + 1 + + + + + APBBMASK + APBB Mask + 0x18 + 32 + 0x00018056 + + + USB_ + USB APB Clock Enable + 0 + 1 + + + DSU_ + DSU APB Clock Enable + 1 + 1 + + + NVMCTRL_ + NVMCTRL APB Clock Enable + 2 + 1 + + + PORT_ + PORT APB Clock Enable + 4 + 1 + + + HMATRIX_ + HMATRIX APB Clock Enable + 6 + 1 + + + EVSYS_ + EVSYS APB Clock Enable + 7 + 1 + + + SERCOM2_ + SERCOM2 APB Clock Enable + 9 + 1 + + + SERCOM3_ + SERCOM3 APB Clock Enable + 10 + 1 + + + TCC0_ + TCC0 APB Clock Enable + 11 + 1 + + + TCC1_ + TCC1 APB Clock Enable + 12 + 1 + + + TC2_ + TC2 APB Clock Enable + 13 + 1 + + + TC3_ + TC3 APB Clock Enable + 14 + 1 + + + TAL_ + TAL APB Clock Enable + 15 + 1 + + + RAMECC_ + RAMECC APB Clock Enable + 16 + 1 + + + + + APBCMASK + APBC Mask + 0x1C + 32 + 0x00002000 + + + GMAC_ + GMAC APB Clock Enable + 2 + 1 + + + TCC2_ + TCC2 APB Clock Enable + 3 + 1 + + + TCC3_ + TCC3 APB Clock Enable + 4 + 1 + + + TC4_ + TC4 APB Clock Enable + 5 + 1 + + + TC5_ + TC5 APB Clock Enable + 6 + 1 + + + PDEC_ + PDEC APB Clock Enable + 7 + 1 + + + AC_ + AC APB Clock Enable + 8 + 1 + + + AES_ + AES APB Clock Enable + 9 + 1 + + + TRNG_ + TRNG APB Clock Enable + 10 + 1 + + + ICM_ + ICM APB Clock Enable + 11 + 1 + + + QSPI_ + QSPI APB Clock Enable + 13 + 1 + + + CCL_ + CCL APB Clock Enable + 14 + 1 + + + + + APBDMASK + APBD Mask + 0x20 + 32 + + + SERCOM4_ + SERCOM4 APB Clock Enable + 0 + 1 + + + SERCOM5_ + SERCOM5 APB Clock Enable + 1 + 1 + + + SERCOM6_ + SERCOM6 APB Clock Enable + 2 + 1 + + + SERCOM7_ + SERCOM7 APB Clock Enable + 3 + 1 + + + TCC4_ + TCC4 APB Clock Enable + 4 + 1 + + + TC6_ + TC6 APB Clock Enable + 5 + 1 + + + TC7_ + TC7 APB Clock Enable + 6 + 1 + + + ADC0_ + ADC0 APB Clock Enable + 7 + 1 + + + ADC1_ + ADC1 APB Clock Enable + 8 + 1 + + + DAC_ + DAC APB Clock Enable + 9 + 1 + + + I2S_ + I2S APB Clock Enable + 10 + 1 + + + PCC_ + PCC APB Clock Enable + 11 + 1 + + + + + + + NVMCTRL + 1.0.0 + Non-Volatile Memory Controller + NVMCTRL + NVMCTRL_ + 0x41004000 + + 0 + 0x80 + registers + + + NVMCTRL_INTREQ_0 + 29 + + + NVMCTRL_INTREQ_1 + 30 + + + + CTRLA + Control A + 0x00 + 16 + 0x0004 + + + AUTOWS + Auto Wait State Enable + 2 + 1 + + + SUSPEN + Suspend Enable + 3 + 1 + + + WMODE + Write Mode + 4 + 2 + + WMODESelect + + MAN + Manual Write + 0x0 + + + ADW + Automatic Double Word Write + 0x1 + + + AQW + Automatic Quad Word + 0x2 + + + AP + Automatic Page Write + 0x3 + + + + + PRM + Power Reduction Mode during Sleep + 6 + 2 + + PRMSelect + + SEMIAUTO + NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access. + 0x0 + + + FULLAUTO + NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode when system is not in standby mode. + 0x1 + + + MANUAL + NVM block does not enter low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access. + 0x3 + + + + + RWS + NVM Read Wait States + 8 + 4 + + + AHBNS0 + Force AHB0 access to NONSEQ, burst transfers are continuously rearbitrated + 12 + 1 + + + AHBNS1 + Force AHB1 access to NONSEQ, burst transfers are continuously rearbitrated + 13 + 1 + + + CACHEDIS0 + AHB0 Cache Disable + 14 + 1 + + + CACHEDIS1 + AHB1 Cache Disable + 15 + 1 + + + + + CTRLB + Control B + 0x04 + 16 + write-only + + + CMD + Command + 0 + 7 + write-only + + CMDSelect + + EP + Erase Page - Only supported in the USER and AUX pages. + 0x0 + + + EB + Erase Block - Erases the block addressed by the ADDR register, not supported in the user page + 0x1 + + + WP + Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register, not supported in the user page + 0x3 + + + WQW + Write Quad Word - Writes a 128-bit word at the location addressed by the ADDR register. + 0x4 + + + SWRST + Software Reset - Power-Cycle the NVM memory and replay the device automatic calibration procedure and resets the module configuration registers + 0x10 + + + LR + Lock Region - Locks the region containing the address location in the ADDR register. + 0x11 + + + UR + Unlock Region - Unlocks the region containing the address location in the ADDR register. + 0x12 + + + SPRM + Sets the power reduction mode. + 0x13 + + + CPRM + Clears the power reduction mode. + 0x14 + + + PBC + Page Buffer Clear - Clears the page buffer. + 0x15 + + + SSB + Set Security Bit + 0x16 + + + BKSWRST + Bank swap and system reset, if SMEE is used also reallocate SMEE data into the opposite BANK + 0x17 + + + CELCK + Chip Erase Lock - DSU.CE command is not available + 0x18 + + + CEULCK + Chip Erase Unlock - DSU.CE command is available + 0x19 + + + SBPDIS + Sets STATUS.BPDIS, Boot loader protection is discarded until CBPDIS is issued or next start-up sequence + 0x1a + + + CBPDIS + Clears STATUS.BPDIS, Boot loader protection is not discarded + 0x1b + + + ASEES0 + Activate SmartEEPROM Sector 0, deactivate Sector 1 + 0x30 + + + ASEES1 + Activate SmartEEPROM Sector 1, deactivate Sector 0 + 0x31 + + + SEERALOC + Starts SmartEEPROM sector reallocation algorithm + 0x32 + + + SEEFLUSH + Flush SMEE data when in buffered mode + 0x33 + + + LSEE + Lock access to SmartEEPROM data from any mean + 0x34 + + + USEE + Unlock access to SmartEEPROM data + 0x35 + + + LSEER + Lock access to the SmartEEPROM Register Address Space (above 64KB) + 0x36 + + + USEER + Unlock access to the SmartEEPROM Register Address Space (above 64KB) + 0x37 + + + + + CMDEX + Command Execution + 8 + 8 + write-only + + CMDEXSelect + + KEY + Execution Key + 0xa5 + + + + + + + PARAM + NVM Parameter + 0x08 + 32 + read-only + 0x00060000 + + + NVMP + NVM Pages + 0 + 16 + read-only + + + PSZ + Page Size + 16 + 3 + read-only + + PSZSelect + + 8 + 8 bytes + 0x0 + + + 16 + 16 bytes + 0x1 + + + 32 + 32 bytes + 0x2 + + + 64 + 64 bytes + 0x3 + + + 128 + 128 bytes + 0x4 + + + 256 + 256 bytes + 0x5 + + + 512 + 512 bytes + 0x6 + + + 1024 + 1024 bytes + 0x7 + + + + + SEE + SmartEEPROM Supported + 31 + 1 + read-only + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 16 + + + DONE + Command Done Interrupt Clear + 0 + 1 + + + ADDRE + Address Error + 1 + 1 + + + PROGE + Programming Error Interrupt Clear + 2 + 1 + + + LOCKE + Lock Error Interrupt Clear + 3 + 1 + + + ECCSE + ECC Single Error Interrupt Clear + 4 + 1 + + + ECCDE + ECC Dual Error Interrupt Clear + 5 + 1 + + + NVME + NVM Error Interrupt Clear + 6 + 1 + + + SUSP + Suspended Write Or Erase Interrupt Clear + 7 + 1 + + + SEESFULL + Active SEES Full Interrupt Clear + 8 + 1 + + + SEESOVF + Active SEES Overflow Interrupt Clear + 9 + 1 + + + SEEWRC + SEE Write Completed Interrupt Clear + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x0E + 16 + + + DONE + Command Done Interrupt Enable + 0 + 1 + + + ADDRE + Address Error Interrupt Enable + 1 + 1 + + + PROGE + Programming Error Interrupt Enable + 2 + 1 + + + LOCKE + Lock Error Interrupt Enable + 3 + 1 + + + ECCSE + ECC Single Error Interrupt Enable + 4 + 1 + + + ECCDE + ECC Dual Error Interrupt Enable + 5 + 1 + + + NVME + NVM Error Interrupt Enable + 6 + 1 + + + SUSP + Suspended Write Or Erase Interrupt Enable + 7 + 1 + + + SEESFULL + Active SEES Full Interrupt Enable + 8 + 1 + + + SEESOVF + Active SEES Overflow Interrupt Enable + 9 + 1 + + + SEEWRC + SEE Write Completed Interrupt Enable + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x10 + 16 + + + DONE + Command Done + 0 + 1 + + + ADDRE + Address Error + 1 + 1 + + + PROGE + Programming Error + 2 + 1 + + + LOCKE + Lock Error + 3 + 1 + + + ECCSE + ECC Single Error + 4 + 1 + read-only + + + ECCDE + ECC Dual Error + 5 + 1 + read-only + + + NVME + NVM Error + 6 + 1 + + + SUSP + Suspended Write Or Erase Operation + 7 + 1 + + + SEESFULL + Active SEES Full + 8 + 1 + + + SEESOVF + Active SEES Overflow + 9 + 1 + + + SEEWRC + SEE Write Completed + 10 + 1 + + + + + STATUS + Status + 0x12 + 16 + read-only + + + READY + Ready to accept a command + 0 + 1 + read-only + + + PRM + Power Reduction Mode + 1 + 1 + read-only + + + LOAD + NVM Page Buffer Active Loading + 2 + 1 + read-only + + + SUSP + NVM Write Or Erase Operation Is Suspended + 3 + 1 + read-only + + + AFIRST + BANKA First + 4 + 1 + read-only + + + BPDIS + Boot Loader Protection Disable + 5 + 1 + read-only + + + BOOTPROT + Boot Loader Protection Size + 8 + 4 + read-only + + + + + ADDR + Address + 0x14 + 32 + + + ADDR + NVM Address + 0 + 24 + + + + + RUNLOCK + Lock Section + 0x18 + 32 + read-only + + + RUNLOCK + Region Un-Lock Bits + 0 + 32 + read-only + + + + + 2 + 0x4 + PBLDATA%s + Page Buffer Load Data x + 0x1C + 32 + read-only + 0xFFFFFFFF + + + DATA + Page Buffer Data + 0 + 32 + read-only + + + + + ECCERR + ECC Error Status Register + 0x24 + 32 + read-only + + + ADDR + Error Address + 0 + 24 + read-only + + + TYPEL + Low Double-Word Error Type + 28 + 2 + read-only + + TYPELSelect + + None + No Error Detected Since Last Read + 0x0 + + + Single + At Least One Single Error Detected Since last Read + 0x1 + + + Dual + At Least One Dual Error Detected Since Last Read + 0x2 + + + + + TYPEH + High Double-Word Error Type + 30 + 2 + read-only + + TYPEHSelect + + None + No Error Detected Since Last Read + 0x0 + + + Single + At Least One Single Error Detected Since last Read + 0x1 + + + Dual + At Least One Dual Error Detected Since Last Read + 0x2 + + + + + + + DBGCTRL + Debug Control + 0x28 + 8 + + + ECCDIS + Debugger ECC Read Disable + 0 + 1 + + + ECCELOG + Debugger ECC Error Tracking Mode + 1 + 1 + + + + + SEECFG + SmartEEPROM Configuration Register + 0x2A + 8 + + + WMODE + Write Mode + 0 + 1 + + WMODESelect + + UNBUFFERED + A NVM write command is issued after each write in the pagebuffer + 0x0 + + + BUFFERED + A NVM write command is issued when a write to a new page is requested + 0x1 + + + + + APRDIS + Automatic Page Reallocation Disable + 1 + 1 + + + + + SEESTAT + SmartEEPROM Status Register + 0x2C + 32 + read-only + + + ASEES + Active SmartEEPROM Sector + 0 + 1 + read-only + + + LOAD + Page Buffer Loaded + 1 + 1 + read-only + + + BUSY + Busy + 2 + 1 + read-only + + + LOCK + SmartEEPROM Write Access Is Locked + 3 + 1 + read-only + + + RLOCK + SmartEEPROM Write Access To Register Address Space Is Locked + 4 + 1 + read-only + + + SBLK + Blocks Number In a Sector + 8 + 4 + read-only + + + PSZ + SmartEEPROM Page Size + 16 + 3 + read-only + + + + + + + OSCCTRL + 1.0.0 + Oscillators Control + OSCCTRL + OSCCTRL_ + 0x40001000 + + 0 + 0x100 + registers + + + OSCCTRL_INTREQ_0 + 2 + + + OSCCTRL_INTREQ_1 + 3 + + + OSCCTRL_INTREQ_2 + 4 + + + OSCCTRL_INTREQ_3 + 5 + + + OSCCTRL_INTREQ_4 + 6 + + + + EVCTRL + Event Control + 0x00 + 8 + + + CFDEO0 + Clock 0 Failure Detector Event Output Enable + 0 + 1 + + + CFDEO1 + Clock 1 Failure Detector Event Output Enable + 1 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 32 + + + XOSCRDY0 + XOSC 0 Ready Interrupt Enable + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready Interrupt Enable + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector Interrupt Enable + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector Interrupt Enable + 3 + 1 + + + DFLLRDY + DFLL Ready Interrupt Enable + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds Interrupt Enable + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine Interrupt Enable + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse Interrupt Enable + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped Interrupt Enable + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise Interrupt Enable + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall Interrupt Enable + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout Interrupt Enable + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete Interrupt Enable + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise Interrupt Enable + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall Interrupt Enable + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout Interrupt Enable + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete Interrupt Enable + 27 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x08 + 32 + + + XOSCRDY0 + XOSC 0 Ready Interrupt Enable + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready Interrupt Enable + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector Interrupt Enable + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector Interrupt Enable + 3 + 1 + + + DFLLRDY + DFLL Ready Interrupt Enable + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds Interrupt Enable + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine Interrupt Enable + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse Interrupt Enable + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped Interrupt Enable + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise Interrupt Enable + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall Interrupt Enable + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout Interrupt Enable + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete Interrupt Enable + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise Interrupt Enable + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall Interrupt Enable + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout Interrupt Enable + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete Interrupt Enable + 27 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0C + 32 + + + XOSCRDY0 + XOSC 0 Ready + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector + 3 + 1 + + + DFLLRDY + DFLL Ready + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete + 27 + 1 + + + + + STATUS + Status + 0x10 + 32 + read-only + + + XOSCRDY0 + XOSC 0 Ready + 0 + 1 + read-only + + + XOSCRDY1 + XOSC 1 Ready + 1 + 1 + read-only + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector + 2 + 1 + read-only + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector + 3 + 1 + read-only + + + XOSCCKSW0 + XOSC 0 Clock Switch + 4 + 1 + read-only + + + XOSCCKSW1 + XOSC 1 Clock Switch + 5 + 1 + read-only + + + DFLLRDY + DFLL Ready + 8 + 1 + read-only + + + DFLLOOB + DFLL Out Of Bounds + 9 + 1 + read-only + + + DFLLLCKF + DFLL Lock Fine + 10 + 1 + read-only + + + DFLLLCKC + DFLL Lock Coarse + 11 + 1 + read-only + + + DFLLRCS + DFLL Reference Clock Stopped + 12 + 1 + read-only + + + DPLL0LCKR + DPLL0 Lock Rise + 16 + 1 + read-only + + + DPLL0LCKF + DPLL0 Lock Fall + 17 + 1 + read-only + + + DPLL0TO + DPLL0 Timeout + 18 + 1 + read-only + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete + 19 + 1 + read-only + + + DPLL1LCKR + DPLL1 Lock Rise + 24 + 1 + read-only + + + DPLL1LCKF + DPLL1 Lock Fall + 25 + 1 + read-only + + + DPLL1TO + DPLL1 Timeout + 26 + 1 + read-only + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete + 27 + 1 + read-only + + + + + 2 + 0x4 + XOSCCTRL%s + External Multipurpose Crystal Oscillator Control + 0x14 + 32 + 0x00000080 + + + ENABLE + Oscillator Enable + 1 + 1 + + + XTALEN + Crystal Oscillator Enable + 2 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + LOWBUFGAIN + Low Buffer Gain Enable + 8 + 1 + + + IPTAT + Oscillator Current Reference + 9 + 2 + + + IMULT + Oscillator Current Multiplier + 11 + 4 + + + ENALC + Automatic Loop Control Enable + 15 + 1 + + + CFDEN + Clock Failure Detector Enable + 16 + 1 + + + SWBEN + Xosc Clock Switch Enable + 17 + 1 + + + STARTUP + Start-Up Time + 20 + 4 + + + CFDPRESC + Clock Failure Detector Prescaler + 24 + 4 + + + + + DFLLCTRLA + DFLL48M Control A + 0x1C + 8 + 0x82 + + + ENABLE + DFLL Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + + + DFLLCTRLB + DFLL48M Control B + 0x20 + 8 + + + MODE + Operating Mode Selection + 0 + 1 + + + STABLE + Stable DFLL Frequency + 1 + 1 + + + LLAW + Lose Lock After Wake + 2 + 1 + + + USBCRM + USB Clock Recovery Mode + 3 + 1 + + + CCDIS + Chill Cycle Disable + 4 + 1 + + + QLDIS + Quick Lock Disable + 5 + 1 + + + BPLCKC + Bypass Coarse Lock + 6 + 1 + + + WAITLOCK + Wait Lock + 7 + 1 + + + + + DFLLVAL + DFLL48M Value + 0x24 + 32 + + + FINE + Fine Value + 0 + 8 + + + COARSE + Coarse Value + 10 + 6 + + + DIFF + Multiplication Ratio Difference + 16 + 16 + read-only + + + + + DFLLMUL + DFLL48M Multiplier + 0x28 + 32 + + + MUL + DFLL Multiply Factor + 0 + 16 + + + FSTEP + Fine Maximum Step + 16 + 8 + + + CSTEP + Coarse Maximum Step + 26 + 6 + + + + + DFLLSYNC + DFLL48M Synchronization + 0x2C + 8 + + + ENABLE + ENABLE Synchronization Busy + 1 + 1 + read-only + + + DFLLCTRLB + DFLLCTRLB Synchronization Busy + 2 + 1 + read-only + + + DFLLVAL + DFLLVAL Synchronization Busy + 3 + 1 + read-only + + + DFLLMUL + DFLLMUL Synchronization Busy + 4 + 1 + read-only + + + + + 2 + 0x14 + DPLLCTRLA%s + DPLL Control A + 0x30 + 8 + 0x80 + + + ENABLE + DPLL Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + + + 2 + 0x14 + DPLLRATIO%s + DPLL Ratio Control + 0x34 + 32 + + + LDR + Loop Divider Ratio + 0 + 13 + + + LDRFRAC + Loop Divider Ratio Fractional Part + 16 + 5 + + + + + 2 + 0x14 + DPLLCTRLB%s + DPLL Control B + 0x38 + 32 + 0x00000020 + + + FILTER + Proportional Integral Filter Selection + 0 + 4 + + + WUF + Wake Up Fast + 4 + 1 + + + REFCLK + Reference Clock Selection + 5 + 3 + + REFCLKSelect + + GCLK + Dedicated GCLK clock reference + 0x0 + + + XOSC32 + XOSC32K clock reference + 0x1 + + + XOSC0 + XOSC0 clock reference + 0x2 + + + XOSC1 + XOSC1 clock reference + 0x3 + + + + + LTIME + Lock Time + 8 + 3 + + LTIMESelect + + DEFAULT + No time-out. Automatic lock + 0x0 + + + 800US + Time-out if no lock within 800us + 0x4 + + + 900US + Time-out if no lock within 900us + 0x5 + + + 1MS + Time-out if no lock within 1ms + 0x6 + + + 1P1MS + Time-out if no lock within 1.1ms + 0x7 + + + + + LBYPASS + Lock Bypass + 11 + 1 + + + DCOFILTER + Sigma-Delta DCO Filter Selection + 12 + 3 + + + DCOEN + DCO Filter Enable + 15 + 1 + + + DIV + Clock Divider + 16 + 11 + + + + + 2 + 0x14 + DPLLSYNCBUSY%s + DPLL Synchronization Busy + 0x3C + 32 + read-only + + + ENABLE + DPLL Enable Synchronization Status + 1 + 1 + read-only + + + DPLLRATIO + DPLL Loop Divider Ratio Synchronization Status + 2 + 1 + read-only + + + + + 2 + 0x14 + DPLLSTATUS%s + DPLL Status + 0x40 + 32 + read-only + + + LOCK + DPLL Lock Status + 0 + 1 + read-only + + + CLKRDY + DPLL Clock Ready + 1 + 1 + read-only + + + + + + + OSC32KCTRL + 1.0.0 + 32kHz Oscillators Control + OSC32KCTRL + OSC32KCTRL_ + 0x40001400 + + 0 + 0x40 + registers + + + OSC32KCTRL_INTREQ + 7 + + + + INTENCLR + Interrupt Enable Clear + 0x00 + 32 + + + XOSC32KRDY + XOSC32K Ready Interrupt Enable + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector Interrupt Enable + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x04 + 32 + + + XOSC32KRDY + XOSC32K Ready Interrupt Enable + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector Interrupt Enable + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x08 + 32 + + + XOSC32KRDY + XOSC32K Ready + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector + 2 + 1 + + + + + STATUS + Power and Clocks Status + 0x0C + 32 + read-only + + + XOSC32KRDY + XOSC32K Ready + 0 + 1 + read-only + + + XOSC32KFAIL + XOSC32K Clock Failure Detector + 2 + 1 + read-only + + + XOSC32KSW + XOSC32K Clock switch + 3 + 1 + read-only + + + + + RTCCTRL + RTC Clock Selection + 0x10 + 8 + + + RTCSEL + RTC Clock Selection + 0 + 3 + + RTCSELSelect + + ULP1K + 1.024kHz from 32kHz internal ULP oscillator + 0x0 + + + ULP32K + 32.768kHz from 32kHz internal ULP oscillator + 0x1 + + + XOSC1K + 1.024kHz from 32.768kHz internal oscillator + 0x4 + + + XOSC32K + 32.768kHz from 32.768kHz external crystal oscillator + 0x5 + + + + + + + XOSC32K + 32kHz External Crystal Oscillator (XOSC32K) Control + 0x14 + 16 + 0x2080 + + + ENABLE + Oscillator Enable + 1 + 1 + + + XTALEN + Crystal Oscillator Enable + 2 + 1 + + + EN32K + 32kHz Output Enable + 3 + 1 + + + EN1K + 1kHz Output Enable + 4 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + STARTUP + Oscillator Start-Up Time + 8 + 3 + + + WRTLOCK + Write Lock + 12 + 1 + + + CGM + Control Gain Mode + 13 + 2 + + CGMSelect + + XT + Standard mode + 0x1 + + + HS + High Speed mode + 0x2 + + + + + + + CFDCTRL + Clock Failure Detector Control + 0x16 + 8 + + + CFDEN + Clock Failure Detector Enable + 0 + 1 + + + SWBACK + Clock Switch Back + 1 + 1 + + + CFDPRESC + Clock Failure Detector Prescaler + 2 + 1 + + + + + EVCTRL + Event Control + 0x17 + 8 + + + CFDEO + Clock Failure Detector Event Output Enable + 0 + 1 + + + + + OSCULP32K + 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control + 0x1C + 32 + + + EN32K + Enable Out 32k + 1 + 1 + + + EN1K + Enable Out 1k + 2 + 1 + + + CALIB + Oscillator Calibration + 8 + 6 + + + WRTLOCK + Write Lock + 15 + 1 + + + + + + + PAC + 1.2.0 + Peripheral Access Controller + PAC + PAC_ + 0x40000000 + + 0 + 0x80 + registers + + + PAC_INTREQ + 41 + + + + WRCTRL + Write control + 0x00 + 32 + + + PERID + Peripheral identifier + 0 + 16 + + + KEY + Peripheral access control key + 16 + 8 + + KEYSelect + + OFF + No action + 0x0 + + + CLR + Clear protection + 0x1 + + + SET + Set protection + 0x2 + + + SETLCK + Set and lock protection + 0x3 + + + + + + + EVCTRL + Event control + 0x04 + 8 + + + ERREO + Peripheral acess error event output + 0 + 1 + + + + + INTENCLR + Interrupt enable clear + 0x08 + 8 + + + ERR + Peripheral access error interrupt disable + 0 + 1 + + + + + INTENSET + Interrupt enable set + 0x09 + 8 + + + ERR + Peripheral access error interrupt enable + 0 + 1 + + + + + INTFLAGAHB + Bridge interrupt flag status + 0x10 + 32 + + + FLASH_ + FLASH + 0 + 1 + + + FLASH_ALT_ + FLASH_ALT + 1 + 1 + + + SEEPROM_ + SEEPROM + 2 + 1 + + + RAMCM4S_ + RAMCM4S + 3 + 1 + + + RAMPPPDSU_ + RAMPPPDSU + 4 + 1 + + + RAMDMAWR_ + RAMDMAWR + 5 + 1 + + + RAMDMACICM_ + RAMDMACICM + 6 + 1 + + + HPB0_ + HPB0 + 7 + 1 + + + HPB1_ + HPB1 + 8 + 1 + + + HPB2_ + HPB2 + 9 + 1 + + + HPB3_ + HPB3 + 10 + 1 + + + PUKCC_ + PUKCC + 11 + 1 + + + SDHC0_ + SDHC0 + 12 + 1 + + + SDHC1_ + SDHC1 + 13 + 1 + + + QSPI_ + QSPI + 14 + 1 + + + BKUPRAM_ + BKUPRAM + 15 + 1 + + + + + INTFLAGA + Peripheral interrupt flag status - Bridge A + 0x14 + 32 + + + PAC_ + PAC + 0 + 1 + + + PM_ + PM + 1 + 1 + + + MCLK_ + MCLK + 2 + 1 + + + RSTC_ + RSTC + 3 + 1 + + + OSCCTRL_ + OSCCTRL + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL + 5 + 1 + + + SUPC_ + SUPC + 6 + 1 + + + GCLK_ + GCLK + 7 + 1 + + + WDT_ + WDT + 8 + 1 + + + RTC_ + RTC + 9 + 1 + + + EIC_ + EIC + 10 + 1 + + + FREQM_ + FREQM + 11 + 1 + + + SERCOM0_ + SERCOM0 + 12 + 1 + + + SERCOM1_ + SERCOM1 + 13 + 1 + + + TC0_ + TC0 + 14 + 1 + + + TC1_ + TC1 + 15 + 1 + + + + + INTFLAGB + Peripheral interrupt flag status - Bridge B + 0x18 + 32 + + + USB_ + USB + 0 + 1 + + + DSU_ + DSU + 1 + 1 + + + NVMCTRL_ + NVMCTRL + 2 + 1 + + + CMCC_ + CMCC + 3 + 1 + + + PORT_ + PORT + 4 + 1 + + + DMAC_ + DMAC + 5 + 1 + + + HMATRIX_ + HMATRIX + 6 + 1 + + + EVSYS_ + EVSYS + 7 + 1 + + + SERCOM2_ + SERCOM2 + 9 + 1 + + + SERCOM3_ + SERCOM3 + 10 + 1 + + + TCC0_ + TCC0 + 11 + 1 + + + TCC1_ + TCC1 + 12 + 1 + + + TC2_ + TC2 + 13 + 1 + + + TC3_ + TC3 + 14 + 1 + + + TAL_ + TAL + 15 + 1 + + + RAMECC_ + RAMECC + 16 + 1 + + + + + INTFLAGC + Peripheral interrupt flag status - Bridge C + 0x1C + 32 + + + CAN0_ + CAN0 + 0 + 1 + + + CAN1_ + CAN1 + 1 + 1 + + + GMAC_ + GMAC + 2 + 1 + + + TCC2_ + TCC2 + 3 + 1 + + + TCC3_ + TCC3 + 4 + 1 + + + TC4_ + TC4 + 5 + 1 + + + TC5_ + TC5 + 6 + 1 + + + PDEC_ + PDEC + 7 + 1 + + + AC_ + AC + 8 + 1 + + + AES_ + AES + 9 + 1 + + + TRNG_ + TRNG + 10 + 1 + + + ICM_ + ICM + 11 + 1 + + + PUKCC_ + PUKCC + 12 + 1 + + + QSPI_ + QSPI + 13 + 1 + + + CCL_ + CCL + 14 + 1 + + + + + INTFLAGD + Peripheral interrupt flag status - Bridge D + 0x20 + 32 + + + SERCOM4_ + SERCOM4 + 0 + 1 + + + SERCOM5_ + SERCOM5 + 1 + 1 + + + SERCOM6_ + SERCOM6 + 2 + 1 + + + SERCOM7_ + SERCOM7 + 3 + 1 + + + TCC4_ + TCC4 + 4 + 1 + + + TC6_ + TC6 + 5 + 1 + + + TC7_ + TC7 + 6 + 1 + + + ADC0_ + ADC0 + 7 + 1 + + + ADC1_ + ADC1 + 8 + 1 + + + DAC_ + DAC + 9 + 1 + + + I2S_ + I2S + 10 + 1 + + + PCC_ + PCC + 11 + 1 + + + + + STATUSA + Peripheral write protection status - Bridge A + 0x34 + 32 + read-only + 0x00010000 + + + PAC_ + PAC APB Protect Enable + 0 + 1 + + + PM_ + PM APB Protect Enable + 1 + 1 + + + MCLK_ + MCLK APB Protect Enable + 2 + 1 + + + RSTC_ + RSTC APB Protect Enable + 3 + 1 + + + OSCCTRL_ + OSCCTRL APB Protect Enable + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL APB Protect Enable + 5 + 1 + + + SUPC_ + SUPC APB Protect Enable + 6 + 1 + + + GCLK_ + GCLK APB Protect Enable + 7 + 1 + + + WDT_ + WDT APB Protect Enable + 8 + 1 + + + RTC_ + RTC APB Protect Enable + 9 + 1 + + + EIC_ + EIC APB Protect Enable + 10 + 1 + + + FREQM_ + FREQM APB Protect Enable + 11 + 1 + + + SERCOM0_ + SERCOM0 APB Protect Enable + 12 + 1 + + + SERCOM1_ + SERCOM1 APB Protect Enable + 13 + 1 + + + TC0_ + TC0 APB Protect Enable + 14 + 1 + + + TC1_ + TC1 APB Protect Enable + 15 + 1 + + + + + STATUSB + Peripheral write protection status - Bridge B + 0x38 + 32 + read-only + 0x00000002 + + + USB_ + USB APB Protect Enable + 0 + 1 + + + DSU_ + DSU APB Protect Enable + 1 + 1 + + + NVMCTRL_ + NVMCTRL APB Protect Enable + 2 + 1 + + + CMCC_ + CMCC APB Protect Enable + 3 + 1 + + + PORT_ + PORT APB Protect Enable + 4 + 1 + + + DMAC_ + DMAC APB Protect Enable + 5 + 1 + + + HMATRIX_ + HMATRIX APB Protect Enable + 6 + 1 + + + EVSYS_ + EVSYS APB Protect Enable + 7 + 1 + + + SERCOM2_ + SERCOM2 APB Protect Enable + 9 + 1 + + + SERCOM3_ + SERCOM3 APB Protect Enable + 10 + 1 + + + TCC0_ + TCC0 APB Protect Enable + 11 + 1 + + + TCC1_ + TCC1 APB Protect Enable + 12 + 1 + + + TC2_ + TC2 APB Protect Enable + 13 + 1 + + + TC3_ + TC3 APB Protect Enable + 14 + 1 + + + TAL_ + TAL APB Protect Enable + 15 + 1 + + + RAMECC_ + RAMECC APB Protect Enable + 16 + 1 + + + + + STATUSC + Peripheral write protection status - Bridge C + 0x3C + 32 + read-only + + + CAN0_ + CAN0 APB Protect Enable + 0 + 1 + + + CAN1_ + CAN1 APB Protect Enable + 1 + 1 + + + GMAC_ + GMAC APB Protect Enable + 2 + 1 + + + TCC2_ + TCC2 APB Protect Enable + 3 + 1 + + + TCC3_ + TCC3 APB Protect Enable + 4 + 1 + + + TC4_ + TC4 APB Protect Enable + 5 + 1 + + + TC5_ + TC5 APB Protect Enable + 6 + 1 + + + PDEC_ + PDEC APB Protect Enable + 7 + 1 + + + AC_ + AC APB Protect Enable + 8 + 1 + + + AES_ + AES APB Protect Enable + 9 + 1 + + + TRNG_ + TRNG APB Protect Enable + 10 + 1 + + + ICM_ + ICM APB Protect Enable + 11 + 1 + + + PUKCC_ + PUKCC APB Protect Enable + 12 + 1 + + + QSPI_ + QSPI APB Protect Enable + 13 + 1 + + + CCL_ + CCL APB Protect Enable + 14 + 1 + + + + + STATUSD + Peripheral write protection status - Bridge D + 0x40 + 32 + read-only + + + SERCOM4_ + SERCOM4 APB Protect Enable + 0 + 1 + + + SERCOM5_ + SERCOM5 APB Protect Enable + 1 + 1 + + + SERCOM6_ + SERCOM6 APB Protect Enable + 2 + 1 + + + SERCOM7_ + SERCOM7 APB Protect Enable + 3 + 1 + + + TCC4_ + TCC4 APB Protect Enable + 4 + 1 + + + TC6_ + TC6 APB Protect Enable + 5 + 1 + + + TC7_ + TC7 APB Protect Enable + 6 + 1 + + + ADC0_ + ADC0 APB Protect Enable + 7 + 1 + + + ADC1_ + ADC1 APB Protect Enable + 8 + 1 + + + DAC_ + DAC APB Protect Enable + 9 + 1 + + + I2S_ + I2S APB Protect Enable + 10 + 1 + + + PCC_ + PCC APB Protect Enable + 11 + 1 + + + + + + + PCC + 1.1.0 + Parallel Capture Controller + PCC + PCC_ + 0x43002C00 + + 0 + 0x100 + registers + + + PCC_INTREQ + 129 + + + + MR + Mode Register + 0x00 + 32 + + + PCEN + Parallel Capture Enable + 0 + 1 + + + DSIZE + Data size + 4 + 2 + + + SCALE + Scale data + 8 + 1 + + + ALWYS + Always Sampling + 9 + 1 + + + HALFS + Half Sampling + 10 + 1 + + + FRSTS + First sample + 11 + 1 + + + ISIZE + Input Data Size + 16 + 3 + + + CID + Clear If Disabled + 30 + 2 + + + + + IER + Interrupt Enable Register + 0x04 + 32 + write-only + + + DRDY + Data Ready Interrupt Enable + 0 + 1 + + + OVRE + Overrun Error Interrupt Enable + 1 + 1 + + + + + IDR + Interrupt Disable Register + 0x08 + 32 + write-only + + + DRDY + Data Ready Interrupt Disable + 0 + 1 + + + OVRE + Overrun Error Interrupt Disable + 1 + 1 + + + + + IMR + Interrupt Mask Register + 0x0C + 32 + read-only + + + DRDY + Data Ready Interrupt Mask + 0 + 1 + + + OVRE + Overrun Error Interrupt Mask + 1 + 1 + + + + + ISR + Interrupt Status Register + 0x10 + 32 + read-only + + + DRDY + Data Ready Interrupt Status + 0 + 1 + + + OVRE + Overrun Error Interrupt Status + 1 + 1 + + + + + RHR + Reception Holding Register + 0x14 + 32 + read-only + + + RDATA + Reception Data + 0 + 32 + + + + + WPMR + Write Protection Mode Register + 0xE0 + 32 + + + WPEN + Write Protection Enable + 0 + 1 + + + WPKEY + Write Protection Key + 8 + 24 + + + + + WPSR + Write Protection Status Register + 0xE4 + 32 + read-only + + + WPVS + Write Protection Violation Source + 0 + 1 + + + WPVSRC + Write Protection Violation Status + 8 + 16 + + + + + + + PDEC + 1.0.0 + Quadrature Decodeur + PDEC + PDEC_ + 0x42001C00 + + 0 + 0x40 + registers + + + PDEC_INTREQ_0 + 115 + + + PDEC_INTREQ_1 + 116 + + + PDEC_INTREQ_2 + 117 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operation Mode + 2 + 2 + + MODESelect + + QDEC + QDEC operating mode + 0x0 + + + HALL + HALL operating mode + 0x1 + + + COUNTER + COUNTER operating mode + 0x2 + + + + + RUNSTDBY + Run in Standby + 6 + 1 + + + CONF + PDEC Configuration + 8 + 3 + + CONFSelect + + X4 + Quadrature decoder direction + 0x0 + + + X4S + Secure Quadrature decoder direction + 0x1 + + + X2 + Decoder direction + 0x2 + + + X2S + Secure decoder direction + 0x3 + + + AUTOC + Auto correction mode + 0x4 + + + + + ALOCK + Auto Lock + 11 + 1 + + + SWAP + PDEC Phase A and B Swap + 14 + 1 + + + PEREN + Period Enable + 15 + 1 + + + PINEN0 + PDEC Input From Pin 0 Enable + 16 + 1 + + + PINEN1 + PDEC Input From Pin 1 Enable + 17 + 1 + + + PINEN2 + PDEC Input From Pin 2 Enable + 18 + 1 + + + PINVEN0 + IO Pin 0 Invert Enable + 20 + 1 + + + PINVEN1 + IO Pin 1 Invert Enable + 21 + 1 + + + PINVEN2 + IO Pin 2 Invert Enable + 22 + 1 + + + ANGULAR + Angular Counter Length + 24 + 3 + + + MAXCMP + Maximum Consecutive Missing Pulses + 28 + 4 + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + LUPD + Lock Update + 1 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a counter restart or retrigger + 0x1 + + + UPDATE + Force update of double buffered registers + 0x2 + + + READSYNC + Force a read synchronization of COUNT + 0x3 + + + START + Start QDEC/HALL + 0x4 + + + STOP + Stop QDEC/HALL + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + LUPD + Lock Update + 1 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a counter restart or retrigger + 0x1 + + + UPDATE + Force update of double buffered registers + 0x2 + + + READSYNC + Force a read synchronization of COUNT + 0x3 + + + Start + Start QDEC/HALL + 0x4 + + + Stop + Stop QDEC/HALL + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 2 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger on event + 0x1 + + + COUNT + Count on event + 0x2 + + + + + EVINV + Inverted Event Input Enable + 2 + 3 + + + EVEI + Event Input Enable + 5 + 3 + + + OVFEO + Overflow/Underflow Output Event Enable + 8 + 1 + + + ERREO + Error Output Event Enable + 9 + 1 + + + DIREO + Direction Output Event Enable + 10 + 1 + + + VLCEO + Velocity Output Event Enable + 11 + 1 + + + MCEO0 + Match Channel 0 Event Output Enable + 12 + 1 + + + MCEO1 + Match Channel 1 Event Output Enable + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + Overflow/Underflow Interrupt Disable + 0 + 1 + + + ERR + Error Interrupt Disable + 1 + 1 + + + DIR + Direction Interrupt Disable + 2 + 1 + + + VLC + Velocity Interrupt Disable + 3 + 1 + + + MC0 + Channel 0 Compare Match Disable + 4 + 1 + + + MC1 + Channel 1 Compare Match Disable + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + Overflow/Underflow Interrupt Enable + 0 + 1 + + + ERR + Error Interrupt Enable + 1 + 1 + + + DIR + Direction Interrupt Enable + 2 + 1 + + + VLC + Velocity Interrupt Enable + 3 + 1 + + + MC0 + Channel 0 Compare Match Enable + 4 + 1 + + + MC1 + Channel 1 Compare Match Enable + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + Overflow/Underflow + 0 + 1 + + + ERR + Error + 1 + 1 + + + DIR + Direction Change + 2 + 1 + + + VLC + Velocity + 3 + 1 + + + MC0 + Channel 0 Compare Match + 4 + 1 + + + MC1 + Channel 1 Compare Match + 5 + 1 + + + + + STATUS + Status + 0x0C + 16 + 0x0040 + + + QERR + Quadrature Error Flag + 0 + 1 + + + IDXERR + Index Error Flag + 1 + 1 + + + MPERR + Missing Pulse Error flag + 2 + 1 + + + WINERR + Window Error Flag + 4 + 1 + + + HERR + Hall Error Flag + 5 + 1 + + + STOP + Stop + 6 + 1 + read-only + + + DIR + Direction Status Flag + 7 + 1 + read-only + + + PRESCBUFV + Prescaler Buffer Valid + 8 + 1 + read-only + + + FILTERBUFV + Filter Buffer Valid + 9 + 1 + read-only + + + CCBUFV0 + Compare Channel 0 Buffer Valid + 12 + 1 + read-only + + + CCBUFV1 + Compare Channel 1 Buffer Valid + 13 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Debug Run Mode + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + + + ENABLE + Enable Synchronization Busy + 1 + 1 + + + CTRLB + Control B Synchronization Busy + 2 + 1 + + + STATUS + Status Synchronization Busy + 3 + 1 + + + PRESC + Prescaler Synchronization Busy + 4 + 1 + + + FILTER + Filter Synchronization Busy + 5 + 1 + + + COUNT + Count Synchronization Busy + 6 + 1 + + + CC0 + Compare Channel 0 Synchronization Busy + 7 + 1 + + + CC1 + Compare Channel 1 Synchronization Busy + 8 + 1 + + + + + PRESC + Prescaler Value + 0x14 + 8 + + + PRESC + Prescaler Value + 0 + 4 + + PRESCSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV32 + Divide by 32 + 0x5 + + + DIV64 + Divide by 64 + 0x6 + + + DIV128 + Divide by 128 + 0x7 + + + DIV256 + Divide by 256 + 0x8 + + + DIV512 + Divide by 512 + 0x9 + + + DIV1024 + Divide by 1024 + 0xa + + + + + + + FILTER + Filter Value + 0x15 + 8 + + + FILTER + Filter Value + 0 + 8 + + + + + PRESCBUF + Prescaler Buffer Value + 0x18 + 8 + + + PRESCBUF + Prescaler Buffer Value + 0 + 4 + + PRESCBUFSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV32 + Divide by 32 + 0x5 + + + DIV64 + Divide by 64 + 0x6 + + + DIV128 + Divide by 128 + 0x7 + + + DIV256 + Divide by 256 + 0x8 + + + DIV512 + Divide by 512 + 0x9 + + + DIV1024 + Divide by 1024 + 0xa + + + + + + + FILTERBUF + Filter Buffer Value + 0x19 + 8 + + + FILTERBUF + Filter Buffer Value + 0 + 8 + + + + + COUNT + Counter Value + 0x1C + 32 + + + COUNT + Counter Value + 0 + 16 + + + + + 2 + 0x4 + CC%s + Channel n Compare Value + 0x20 + 32 + + + CC + Channel Compare Value + 0 + 16 + + + + + 2 + 0x4 + CCBUF%s + Channel Compare Buffer Value + 0x30 + 32 + + + CCBUF + Channel Compare Buffer Value + 0 + 16 + + + + + + + PM + 1.0.0 + Power Manager + PM + PM_ + 0x40000400 + + 0 + 0x40 + registers + + + PM_INTREQ + 0 + + + + CTRLA + Control A + 0x00 + 8 + + + IORET + I/O Retention + 2 + 1 + + + + + SLEEPCFG + Sleep Configuration + 0x01 + 8 + 0x02 + + + SLEEPMODE + Sleep Mode + 0 + 3 + + SLEEPMODESelect + + IDLE0 + CPU clock is OFF + 0x0 + + + IDLE1 + AHB clock is OFF + 0x1 + + + IDLE2 + APB clock are OFF + 0x2 + + + STANDBY + All Clocks are OFF + 0x4 + + + HIBERNATE + Backup domain is ON as well as some PDRAMs + 0x5 + + + BACKUP + Only Backup domain is powered ON + 0x6 + + + OFF + All power domains are powered OFF + 0x7 + + + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready Enable + 0 + 1 + write-only + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready + 0 + 1 + + + + + STDBYCFG + Standby Configuration + 0x08 + 8 + + + RAMCFG + Ram Configuration + 0 + 2 + + RAMCFGSelect + + RET + All the RAMs are retained + 0x0 + + + PARTIAL + Only the first 32K bytes are retained + 0x1 + + + OFF + All the RAMs are OFF + 0x2 + + + + + FASTWKUP + Fast Wakeup + 4 + 2 + + + + + HIBCFG + Hibernate Configuration + 0x09 + 8 + + + RAMCFG + Ram Configuration + 0 + 2 + + + BRAMCFG + Backup Ram Configuration + 2 + 2 + + + + + BKUPCFG + Backup Configuration + 0x0A + 8 + + + BRAMCFG + Ram Configuration + 0 + 2 + + + + + PWSAKDLY + Power Switch Acknowledge Delay + 0x12 + 8 + + + DLYVAL + Delay Value + 0 + 7 + + + IGNACK + Ignore Acknowledge + 7 + 1 + + + + + + + PORT + 2.2.0 + Port Module + PORT + PORT_ + 0x41008000 + + 0 + 0x200 + registers + + + + 4 + 0x80 + DIR%s + Data Direction + 0x00 + 32 + + + DIR + Port Data Direction + 0 + 32 + + + + + 4 + 0x80 + DIRCLR%s + Data Direction Clear + 0x04 + 32 + + + DIRCLR + Port Data Direction Clear + 0 + 32 + + + + + 4 + 0x80 + DIRSET%s + Data Direction Set + 0x08 + 32 + + + DIRSET + Port Data Direction Set + 0 + 32 + + + + + 4 + 0x80 + DIRTGL%s + Data Direction Toggle + 0x0C + 32 + + + DIRTGL + Port Data Direction Toggle + 0 + 32 + + + + + 4 + 0x80 + OUT%s + Data Output Value + 0x10 + 32 + + + OUT + PORT Data Output Value + 0 + 32 + + + + + 4 + 0x80 + OUTCLR%s + Data Output Value Clear + 0x14 + 32 + + + OUTCLR + PORT Data Output Value Clear + 0 + 32 + + + + + 4 + 0x80 + OUTSET%s + Data Output Value Set + 0x18 + 32 + + + OUTSET + PORT Data Output Value Set + 0 + 32 + + + + + 4 + 0x80 + OUTTGL%s + Data Output Value Toggle + 0x1C + 32 + + + OUTTGL + PORT Data Output Value Toggle + 0 + 32 + + + + + 4 + 0x80 + IN%s + Data Input Value + 0x20 + 32 + read-only + + + IN + PORT Data Input Value + 0 + 32 + read-only + + + + + 4 + 0x80 + CTRL%s + Control + 0x24 + 32 + + + SAMPLING + Input Sampling Mode + 0 + 32 + write-only + + + + + 4 + 0x80 + WRCONFIG%s + Write Configuration + 0x28 + 32 + write-only + + + PINMASK + Pin Mask for Multiple Pin Configuration + 0 + 16 + write-only + + + PMUXEN + Peripheral Multiplexer Enable + 16 + 1 + write-only + + + INEN + Input Enable + 17 + 1 + write-only + + + PULLEN + Pull Enable + 18 + 1 + write-only + + + DRVSTR + Output Driver Strength Selection + 22 + 1 + write-only + + + PMUX + Peripheral Multiplexing + 24 + 4 + write-only + + + WRPMUX + Write PMUX + 28 + 1 + write-only + + + WRPINCFG + Write PINCFG + 30 + 1 + write-only + + + HWSEL + Half-Word Select + 31 + 1 + write-only + + + + + 4 + 0x80 + EVCTRL%s + Event Input Control + 0x2C + 32 + + + PID0 + PORT Event Pin Identifier 0 + 0 + 5 + + + EVACT0 + PORT Event Action 0 + 5 + 2 + + EVACT0Select + + OUT + Event output to pin + 0x0 + + + SET + Set output register of pin on event + 0x1 + + + CLR + Clear output register of pin on event + 0x2 + + + TGL + Toggle output register of pin on event + 0x3 + + + + + PORTEI0 + PORT Event Input Enable 0 + 7 + 1 + + + PID1 + PORT Event Pin Identifier 1 + 8 + 5 + + + EVACT1 + PORT Event Action 1 + 13 + 2 + + + PORTEI1 + PORT Event Input Enable 1 + 15 + 1 + + + PID2 + PORT Event Pin Identifier 2 + 16 + 5 + + + EVACT2 + PORT Event Action 2 + 21 + 2 + + + PORTEI2 + PORT Event Input Enable 2 + 23 + 1 + + + PID3 + PORT Event Pin Identifier 3 + 24 + 5 + + + EVACT3 + PORT Event Action 3 + 29 + 2 + + + PORTEI3 + PORT Event Input Enable 3 + 31 + 1 + + + + + 16 + 0x1 + PMUX0_%s + Peripheral Multiplexing - Group 0 + 0x30 + 8 + + + PMUXE + Peripheral Multiplexing for Even-Numbered Pin + 0 + 4 + + + PMUXO + Peripheral Multiplexing for Odd-Numbered Pin + 4 + 4 + + + + + 16 + 0x1 + PMUX1_%s + Peripheral Multiplexing - Group 1 + 0xb0 + + + 16 + 0x1 + PMUX2_%s + Peripheral Multiplexing - Group 2 + 0x130 + + + 16 + 0x1 + PMUX3_%s + Peripheral Multiplexing - Group 3 + 0x1b0 + + + 32 + 0x1 + PINCFG0_%s + Pin Configuration - Group 0 + 0x40 + 8 + + + PMUXEN + Peripheral Multiplexer Enable + 0 + 1 + + + INEN + Input Enable + 1 + 1 + + + PULLEN + Pull Enable + 2 + 1 + + + DRVSTR + Output Driver Strength Selection + 6 + 1 + + + + + 32 + 0x1 + PINCFG1_%s + Pin Configuration - Group 1 + 0xc0 + + + 32 + 0x1 + PINCFG2_%s + Pin Configuration - Group 2 + 0x140 + + + 32 + 0x1 + PINCFG3_%s + Pin Configuration - Group 3 + 0x1c0 + + + + + QSPI + 1.6.3 + Quad SPI interface + QSPI + QSPI_ + 0x42003400 + + 0 + 0x80 + registers + + + QSPI_INTREQ + 134 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + LASTXFER + Last Transfer + 24 + 1 + write-only + + + + + CTRLB + Control B + 0x04 + 32 + + + MODE + Serial Memory Mode + 0 + 1 + + MODESelect + + SPI + SPI operating mode + 0x0 + + + MEMORY + Serial Memory operating mode + 0x1 + + + + + LOOPEN + Local Loopback Enable + 1 + 1 + + + WDRBT + Wait Data Read Before Transfer + 2 + 1 + + + SMEMREG + Serial Memory reg + 3 + 1 + + + CSMODE + Chip Select Mode + 4 + 2 + + CSMODESelect + + NORELOAD + The chip select is deasserted if TD has not been reloaded before the end of the current transfer. + 0x0 + + + LASTXFER + The chip select is deasserted when the bit LASTXFER is written at 1 and the character written in TD has been transferred. + 0x1 + + + SYSTEMATICALLY + The chip select is deasserted systematically after each transfer. + 0x2 + + + + + DATALEN + Data Length + 8 + 4 + + DATALENSelect + + 8BITS + 8-bits transfer + 0x0 + + + 9BITS + 9 bits transfer + 0x1 + + + 10BITS + 10-bits transfer + 0x2 + + + 11BITS + 11-bits transfer + 0x3 + + + 12BITS + 12-bits transfer + 0x4 + + + 13BITS + 13-bits transfer + 0x5 + + + 14BITS + 14-bits transfer + 0x6 + + + 15BITS + 15-bits transfer + 0x7 + + + 16BITS + 16-bits transfer + 0x8 + + + + + DLYBCT + Delay Between Consecutive Transfers + 16 + 8 + + + DLYCS + Minimum Inactive CS Delay + 24 + 8 + + + + + BAUD + Baud Rate + 0x08 + 32 + + + CPOL + Clock Polarity + 0 + 1 + + + CPHA + Clock Phase + 1 + 1 + + + BAUD + Serial Clock Baud Rate + 8 + 8 + + + DLYBS + Delay Before SCK + 16 + 8 + + + + + RXDATA + Receive Data + 0x0C + 32 + read-only + + + DATA + Receive Data + 0 + 16 + read-only + + + + + TXDATA + Transmit Data + 0x10 + 32 + write-only + + + DATA + Transmit Data + 0 + 16 + write-only + + + + + INTENCLR + Interrupt Enable Clear + 0x14 + 32 + + + RXC + Receive Data Register Full Interrupt Disable + 0 + 1 + + + DRE + Transmit Data Register Empty Interrupt Disable + 1 + 1 + + + TXC + Transmission Complete Interrupt Disable + 2 + 1 + + + ERROR + Overrun Error Interrupt Disable + 3 + 1 + + + CSRISE + Chip Select Rise Interrupt Disable + 8 + 1 + + + INSTREND + Instruction End Interrupt Disable + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x18 + 32 + + + RXC + Receive Data Register Full Interrupt Enable + 0 + 1 + + + DRE + Transmit Data Register Empty Interrupt Enable + 1 + 1 + + + TXC + Transmission Complete Interrupt Enable + 2 + 1 + + + ERROR + Overrun Error Interrupt Enable + 3 + 1 + + + CSRISE + Chip Select Rise Interrupt Enable + 8 + 1 + + + INSTREND + Instruction End Interrupt Enable + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x1C + 32 + + + RXC + Receive Data Register Full + 0 + 1 + + + DRE + Transmit Data Register Empty + 1 + 1 + + + TXC + Transmission Complete + 2 + 1 + + + ERROR + Overrun Error + 3 + 1 + + + CSRISE + Chip Select Rise + 8 + 1 + + + INSTREND + Instruction End + 10 + 1 + + + + + STATUS + Status Register + 0x20 + 32 + read-only + 0x00000200 + + + ENABLE + Enable + 1 + 1 + read-only + + + CSSTATUS + Chip Select + 9 + 1 + read-only + + + + + INSTRADDR + Instruction Address + 0x30 + 32 + + + ADDR + Instruction Address + 0 + 32 + + + + + INSTRCTRL + Instruction Code + 0x34 + 32 + + + INSTR + Instruction Code + 0 + 8 + + + OPTCODE + Option Code + 16 + 8 + + + + + INSTRFRAME + Instruction Frame + 0x38 + 32 + + + WIDTH + Instruction Code, Address, Option Code and Data Width + 0 + 3 + + WIDTHSelect + + SINGLE_BIT_SPI + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Single-bit SPI + 0x0 + + + DUAL_OUTPUT + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Dual SPI + 0x1 + + + QUAD_OUTPUT + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Quad SPI + 0x2 + + + DUAL_IO + Instruction: Single-bit SPI / Address-Option: Dual SPI / Data: Dual SPI + 0x3 + + + QUAD_IO + Instruction: Single-bit SPI / Address-Option: Quad SPI / Data: Quad SPI + 0x4 + + + DUAL_CMD + Instruction: Dual SPI / Address-Option: Dual SPI / Data: Dual SPI + 0x5 + + + QUAD_CMD + Instruction: Quad SPI / Address-Option: Quad SPI / Data: Quad SPI + 0x6 + + + + + INSTREN + Instruction Enable + 4 + 1 + + + ADDREN + Address Enable + 5 + 1 + + + OPTCODEEN + Option Enable + 6 + 1 + + + DATAEN + Data Enable + 7 + 1 + + + OPTCODELEN + Option Code Length + 8 + 2 + + OPTCODELENSelect + + 1BIT + 1-bit length option code + 0x0 + + + 2BITS + 2-bits length option code + 0x1 + + + 4BITS + 4-bits length option code + 0x2 + + + 8BITS + 8-bits length option code + 0x3 + + + + + ADDRLEN + Address Length + 10 + 1 + + ADDRLENSelect + + 24BITS + 24-bits address length + 0x0 + + + 32BITS + 32-bits address length + 0x1 + + + + + TFRTYPE + Data Transfer Type + 12 + 2 + + TFRTYPESelect + + READ + Read transfer from the serial memory.Scrambling is not performed.Read at random location (fetch) in the serial flash memory is not possible. + 0x0 + + + READMEMORY + Read data transfer from the serial memory.If enabled, scrambling is performed.Read at random location (fetch) in the serial flash memory is possible. + 0x1 + + + WRITE + Write transfer into the serial memory.Scrambling is not performed. + 0x2 + + + WRITEMEMORY + Write data transfer into the serial memory.If enabled, scrambling is performed. + 0x3 + + + + + CRMODE + Continuous Read Mode + 14 + 1 + + + DDREN + Double Data Rate Enable + 15 + 1 + + + DUMMYLEN + Dummy Cycles Length + 16 + 5 + + + + + SCRAMBCTRL + Scrambling Mode + 0x40 + 32 + + + ENABLE + Scrambling/Unscrambling Enable + 0 + 1 + + + RANDOMDIS + Scrambling/Unscrambling Random Value Disable + 1 + 1 + + + + + SCRAMBKEY + Scrambling Key + 0x44 + 32 + write-only + + + KEY + Scrambling User Key + 0 + 32 + write-only + + + + + + + RAMECC + 1.0.0 + RAM ECC + RAMECC + RAMECC_ + 0x41020000 + + 0 + 0x10 + registers + + + RAMECC_INTREQ + 45 + + + + INTENCLR + Interrupt Enable Clear + 0x0 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt Enable Clear + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt Enable Clear + 1 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x1 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt Enable Set + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt Enable Set + 1 + 1 + + + + + INTFLAG + Interrupt Flag + 0x2 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt + 1 + 1 + + + + + STATUS + Status + 0x3 + 8 + read-only + + + ECCDIS + ECC Disable + 0 + 1 + read-only + + + + + ERRADDR + Error Address + 0x4 + 32 + read-only + + + ERRADDR + Error Address + 0 + 17 + read-only + + + + + DBGCTRL + Debug Control + 0xF + 8 + + + ECCDIS + ECC Disable + 0 + 1 + + + ECCELOG + ECC Error Log + 1 + 1 + + + + + + + RSTC + 4.0.0 + Reset Controller + RSTC + RSTC_ + 0x40000C00 + + 0 + 0x20 + registers + + + + RCAUSE + Reset Cause + 0x00 + 8 + read-only + + + POR + Power On Reset + 0 + 1 + + + BODCORE + Brown Out CORE Detector Reset + 1 + 1 + + + BODVDD + Brown Out VDD Detector Reset + 2 + 1 + + + NVM + NVM Reset + 3 + 1 + + + EXT + External Reset + 4 + 1 + + + WDT + Watchdog Reset + 5 + 1 + + + SYST + System Reset Request + 6 + 1 + + + BACKUP + Backup Reset + 7 + 1 + + + + + BKUPEXIT + Backup Exit Source + 0x02 + 8 + read-only + + + RTC + Real Timer Counter Interrupt + 1 + 1 + read-only + + + BBPS + Battery Backup Power Switch + 2 + 1 + read-only + + + HIB + Hibernate + 7 + 1 + read-only + + + + + + + RTC + 2.1.0 + Real-Time Counter + RTC + RTC_ + 0x40002400 + + 0 + 0x100 + registers + + + RTC_INTREQ + 11 + + + + MODE0 + 32-bit Counter with Single 32-bit Compare + RtcMode0 + 0x0 + + CTRLA + MODE0 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + MATCHCLR + Clear on Match + 7 + 1 + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + COUNTSYNC + Count Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE0 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE0 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + CMPEO0 + Compare 0 Event Output Enable + 8 + 1 + + + CMPEO1 + Compare 1 Event Output Enable + 9 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE0 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + write-only + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + write-only + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + write-only + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + write-only + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + write-only + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + write-only + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + write-only + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + write-only + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE0 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE0 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + CMP0 + Compare 0 + 8 + 1 + + + CMP1 + Compare 1 + 9 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE0 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + COUNT + COUNT Register Busy + 3 + 1 + read-only + + + COMP0 + COMP 0 Register Busy + 5 + 1 + read-only + + + COMP1 + COMP 1 Register Busy + 6 + 1 + read-only + + + COUNTSYNC + Count Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + COUNT + MODE0 Counter Value + 0x18 + 32 + + + COUNT + Counter Value + 0 + 32 + + + + + 2 + 0x4 + COMP%s + MODE0 Compare n Value + 0x20 + 32 + + + COMP + Compare Value + 0 + 32 + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE0 Timestamp + 0x64 + 32 + read-only + + + COUNT + Count Timestamp Value + 0 + 32 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + MODE1 + 16-bit Counter with Two 16-bit Compares + MODE0 + RtcMode1 + 0x0 + + CTRLA + MODE1 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + COUNTSYNC + Count Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE1 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE1 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + CMPEO0 + Compare 0 Event Output Enable + 8 + 1 + + + CMPEO1 + Compare 1 Event Output Enable + 9 + 1 + + + CMPEO2 + Compare 2 Event Output Enable + 10 + 1 + + + CMPEO3 + Compare 3 Event Output Enable + 11 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE1 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + CMP2 + Compare 2 Interrupt Enable + 10 + 1 + + + CMP3 + Compare 3 Interrupt Enable + 11 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE1 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + CMP2 + Compare 2 Interrupt Enable + 10 + 1 + + + CMP3 + Compare 3 Interrupt Enable + 11 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE1 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + CMP0 + Compare 0 + 8 + 1 + + + CMP1 + Compare 1 + 9 + 1 + + + CMP2 + Compare 2 + 10 + 1 + + + CMP3 + Compare 3 + 11 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE1 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Bit Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + COUNT + COUNT Register Busy + 3 + 1 + read-only + + + PER + PER Register Busy + 4 + 1 + read-only + + + COMP0 + COMP 0 Register Busy + 5 + 1 + read-only + + + COMP1 + COMP 1 Register Busy + 6 + 1 + read-only + + + COMP2 + COMP 2 Register Busy + 7 + 1 + read-only + + + COMP3 + COMP 3 Register Busy + 8 + 1 + read-only + + + COUNTSYNC + Count Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + COUNT + MODE1 Counter Value + 0x18 + 16 + + + COUNT + Counter Value + 0 + 16 + + + + + PER + MODE1 Counter Period + 0x1C + 16 + + + PER + Counter Period + 0 + 16 + + + + + 4 + 0x2 + COMP%s + MODE1 Compare n Value + 0x20 + 16 + + + COMP + Compare Value + 0 + 16 + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE1 Timestamp + 0x64 + 32 + read-only + + + COUNT + Count Timestamp Value + 0 + 16 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + MODE2 + Clock/Calendar with Alarm + MODE0 + RtcMode2 + 0x0 + + CTRLA + MODE2 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + CLKREP + Clock Representation + 6 + 1 + + + MATCHCLR + Clear on Match + 7 + 1 + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + CLOCKSYNC + Clock Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE2 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE2 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + ALARMEO0 + Alarm 0 Event Output Enable + 8 + 1 + + + ALARMEO1 + Alarm 1 Event Output Enable + 9 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE2 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + ALARM0 + Alarm 0 Interrupt Enable + 8 + 1 + + + ALARM1 + Alarm 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE2 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Enable + 7 + 1 + + + ALARM0 + Alarm 0 Interrupt Enable + 8 + 1 + + + ALARM1 + Alarm 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE2 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + ALARM0 + Alarm 0 + 8 + 1 + + + ALARM1 + Alarm 1 + 9 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE2 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Bit Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + CLOCK + CLOCK Register Busy + 3 + 1 + read-only + + + ALARM0 + ALARM 0 Register Busy + 5 + 1 + read-only + + + ALARM1 + ALARM 1 Register Busy + 6 + 1 + read-only + + + MASK0 + MASK 0 Register Busy + 11 + 1 + read-only + + + MASK1 + MASK 1 Register Busy + 12 + 1 + read-only + + + CLOCKSYNC + Clock Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + CLOCK + MODE2 Clock Value + 0x18 + 32 + + + SECOND + Second + 0 + 6 + + + MINUTE + Minute + 6 + 6 + + + HOUR + Hour + 12 + 5 + + HOURSelect + + AM + AM when CLKREP in 12-hour + 0x0 + + + PM + PM when CLKREP in 12-hour + 0x10 + + + + + DAY + Day + 17 + 5 + + + MONTH + Month + 22 + 4 + + + YEAR + Year + 26 + 6 + + + + + 2 + 0x8 + ALARM%s + MODE2 Alarm n Value + 0x20 + 32 + + + SECOND + Second + 0 + 6 + + + MINUTE + Minute + 6 + 6 + + + HOUR + Hour + 12 + 5 + + HOURSelect + + AM + Morning hour + 0x0 + + + PM + Afternoon hour + 0x10 + + + + + DAY + Day + 17 + 5 + + + MONTH + Month + 22 + 4 + + + YEAR + Year + 26 + 6 + + + + + 2 + 0x8 + MASK%s + MODE2 Alarm n Mask + 0x24 + 8 + + + SEL + Alarm Mask Selection + 0 + 3 + + SELSelect + + OFF + Alarm Disabled + 0x0 + + + SS + Match seconds only + 0x1 + + + MMSS + Match seconds and minutes only + 0x2 + + + HHMMSS + Match seconds, minutes, and hours only + 0x3 + + + DDHHMMSS + Match seconds, minutes, hours, and days only + 0x4 + + + MMDDHHMMSS + Match seconds, minutes, hours, days, and months only + 0x5 + + + YYMMDDHHMMSS + Match seconds, minutes, hours, days, months, and years + 0x6 + + + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE2 Timestamp + 0x64 + 32 + read-only + + + SECOND + Second Timestamp Value + 0 + 6 + read-only + + + MINUTE + Minute Timestamp Value + 6 + 6 + read-only + + + HOUR + Hour Timestamp Value + 12 + 5 + read-only + + HOURSelect + + AM + AM when CLKREP in 12-hour + 0x0 + + + PM + PM when CLKREP in 12-hour + 0x10 + + + + + DAY + Day Timestamp Value + 17 + 5 + read-only + + + MONTH + Month Timestamp Value + 22 + 4 + read-only + + + YEAR + Year Timestamp Value + 26 + 6 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + + + SDHC0 + 1.8.3 + SD/MMC Host Controller 0 + SDHC + SDHC_ + 0x45000000 + + 0 + 0x00000C00 + registers + + + SDHC0_INTREQ + 135 + + + + SSAR + SDMA System Address / Argument 2 + 0x000 + 32 + + + ADDR + SDMA System Address + 0 + 32 + + + + + SSAR_CMD23 + SDMA System Address / Argument 2 + SSAR + 0x000 + 32 + + + ARG2 + Argument 2 + 0 + 32 + + + + + BSR + Block Size + 0x004 + 16 + + + BLOCKSIZE + Transfer Block Size + 0 + 10 + + + BOUNDARY + SDMA Buffer Boundary + 12 + 3 + + BOUNDARYSelect + + 4K + 4k bytes + 0x0 + + + 8K + 8k bytes + 0x1 + + + 16K + 16k bytes + 0x2 + + + 32K + 32k bytes + 0x3 + + + 64K + 64k bytes + 0x4 + + + 128K + 128k bytes + 0x5 + + + 256K + 256k bytes + 0x6 + + + 512K + 512k bytes + 0x7 + + + + + + + BCR + Block Count + 0x006 + 16 + + + BCNT + Blocks Count for Current Transfer + 0 + 16 + + + + + ARG1R + Argument 1 + 0x008 + 32 + + + ARG + Argument 1 + 0 + 32 + + + + + TMR + Transfer Mode + 0x00C + 16 + + + DMAEN + DMA Enable + 0 + 1 + + DMAENSelect + + DISABLE + No data transfer or Non DMA data transfer + 0x0 + + + ENABLE + DMA data transfer + 0x1 + + + + + BCEN + Block Count Enable + 1 + 1 + + BCENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + ACMDEN + Auto Command Enable + 2 + 2 + + ACMDENSelect + + DISABLED + Auto Command Disabled + 0x0 + + + CMD12 + Auto CMD12 Enable + 0x1 + + + CMD23 + Auto CMD23 Enable + 0x2 + + + + + DTDSEL + Data Transfer Direction Selection + 4 + 1 + + DTDSELSelect + + WRITE + Write (Host to Card) + 0x0 + + + READ + Read (Card to Host) + 0x1 + + + + + MSBSEL + Multi/Single Block Selection + 5 + 1 + + MSBSELSelect + + SINGLE + Single Block + 0x0 + + + MULTIPLE + Multiple Block + 0x1 + + + + + + + CR + Command + 0x00E + 16 + + + RESPTYP + Response Type + 0 + 2 + + RESPTYPSelect + + NONE + No response + 0x0 + + + 136_BIT + 136-bit response + 0x1 + + + 48_BIT + 48-bit response + 0x2 + + + 48_BIT_BUSY + 48-bit response check busy after response + 0x3 + + + + + CMDCCEN + Command CRC Check Enable + 3 + 1 + + CMDCCENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + CMDICEN + Command Index Check Enable + 4 + 1 + + CMDICENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + DPSEL + Data Present Select + 5 + 1 + + DPSELSelect + + NO_DATA + No Data Present + 0x0 + + + DATA + Data Present + 0x1 + + + + + CMDTYP + Command Type + 6 + 2 + + CMDTYPSelect + + NORMAL + Other commands + 0x0 + + + SUSPEND + CMD52 for writing Bus Suspend in CCCR + 0x1 + + + RESUME + CMD52 for writing Function Select in CCCR + 0x2 + + + ABORT + CMD12, CMD52 for writing I/O Abort in CCCR + 0x3 + + + + + CMDIDX + Command Index + 8 + 6 + + + + + 4 + 0x4 + RR%s + Response + 0x010 + 32 + read-only + + + CMDRESP + Command Response + 0 + 32 + + + + + BDPR + Buffer Data Port + 0x020 + 32 + + + BUFDATA + Buffer Data + 0 + 32 + + + + + PSR + Present State + 0x024 + 32 + read-only + 0x00F80000 + + + CMDINHC + Command Inhibit (CMD) + 0 + 1 + + CMDINHCSelect + + CAN + Can issue command using only CMD line + 0x0 + + + CANNOT + Cannot issue command + 0x1 + + + + + CMDINHD + Command Inhibit (DAT) + 1 + 1 + + CMDINHDSelect + + CAN + Can issue command which uses the DAT line + 0x0 + + + CANNOT + Cannot issue command which uses the DAT line + 0x1 + + + + + DLACT + DAT Line Active + 2 + 1 + + DLACTSelect + + INACTIVE + DAT Line Inactive + 0x0 + + + ACTIVE + DAT Line Active + 0x1 + + + + + RTREQ + Re-Tuning Request + 3 + 1 + + RTREQSelect + + OK + Fixed or well-tuned sampling clock + 0x0 + + + REQUIRED + Sampling clock needs re-tuning + 0x1 + + + + + WTACT + Write Transfer Active + 8 + 1 + + WTACTSelect + + NO + No valid data + 0x0 + + + YES + Transferring data + 0x1 + + + + + RTACT + Read Transfer Active + 9 + 1 + + RTACTSelect + + NO + No valid data + 0x0 + + + YES + Transferring data + 0x1 + + + + + BUFWREN + Buffer Write Enable + 10 + 1 + + BUFWRENSelect + + DISABLE + Write disable + 0x0 + + + ENABLE + Write enable + 0x1 + + + + + BUFRDEN + Buffer Read Enable + 11 + 1 + + BUFRDENSelect + + DISABLE + Read disable + 0x0 + + + ENABLE + Read enable + 0x1 + + + + + CARDINS + Card Inserted + 16 + 1 + + CARDINSSelect + + NO + Reset or Debouncing or No Card + 0x0 + + + YES + Card inserted + 0x1 + + + + + CARDSS + Card State Stable + 17 + 1 + + CARDSSSelect + + NO + Reset or Debouncing + 0x0 + + + YES + No Card or Insered + 0x1 + + + + + CARDDPL + Card Detect Pin Level + 18 + 1 + + CARDDPLSelect + + NO + No card present (SDCD#=1) + 0x0 + + + YES + Card present (SDCD#=0) + 0x1 + + + + + WRPPL + Write Protect Pin Level + 19 + 1 + + WRPPLSelect + + PROTECTED + Write protected (SDWP#=0) + 0x0 + + + ENABLED + Write enabled (SDWP#=1) + 0x1 + + + + + DATLL + DAT[3:0] Line Level + 20 + 4 + + + CMDLL + CMD Line Level + 24 + 1 + + + + + HC1R + Host Control 1 + 0x028 + 8 + 0xE00 + + + LEDCTRL + LED Control + 0 + 1 + + LEDCTRLSelect + + OFF + LED off + 0x0 + + + ON + LED on + 0x1 + + + + + DW + Data Width + 1 + 1 + + DWSelect + + 1BIT + 1-bit mode + 0x0 + + + 4BIT + 4-bit mode + 0x1 + + + + + HSEN + High Speed Enable + 2 + 1 + + HSENSelect + + NORMAL + Normal Speed mode + 0x0 + + + HIGH + High Speed mode + 0x1 + + + + + DMASEL + DMA Select + 3 + 2 + + DMASELSelect + + SDMA + SDMA is selected + 0x0 + + + 32BIT + 32-bit Address ADMA2 is selected + 0x2 + + + + + CARDDTL + Card Detect Test Level + 6 + 1 + + CARDDTLSelect + + NO + No Card + 0x0 + + + YES + Card Inserted + 0x1 + + + + + CARDDSEL + Card Detect Signal Selection + 7 + 1 + + CARDDSELSelect + + NORMAL + SDCD# is selected (for normal use) + 0x0 + + + TEST + The Card Select Test Level is selected (for test purpose) + 0x1 + + + + + + + HC1R_EMMC + Host Control 1 + HC1R + 0x028 + 8 + 0xE00 + + + DW + Data Width + 1 + 1 + + DWSelect + + 1BIT + 1-bit mode + 0x0 + + + 4BIT + 4-bit mode + 0x1 + + + + + HSEN + High Speed Enable + 2 + 1 + + HSENSelect + + NORMAL + Normal Speed mode + 0x0 + + + HIGH + High Speed mode + 0x1 + + + + + DMASEL + DMA Select + 3 + 2 + + DMASELSelect + + SDMA + SDMA is selected + 0x0 + + + 32BIT + 32-bit Address ADMA2 is selected + 0x2 + + + + + + + PCR + Power Control + 0x029 + 8 + 0x0E + + + SDBPWR + SD Bus Power + 0 + 1 + + SDBPWRSelect + + OFF + Power off + 0x0 + + + ON + Power on + 0x1 + + + + + SDBVSEL + SD Bus Voltage Select + 1 + 3 + + SDBVSELSelect + + 1V8 + 1.8V (Typ.) + 0x5 + + + 3V0 + 3.0V (Typ.) + 0x6 + + + 3V3 + 3.3V (Typ.) + 0x7 + + + + + + + BGCR + Block Gap Control + 0x02A + 8 + + + STPBGR + Stop at Block Gap Request + 0 + 1 + + STPBGRSelect + + TRANSFER + Transfer + 0x0 + + + STOP + Stop + 0x1 + + + + + CONTR + Continue Request + 1 + 1 + + CONTRSelect + + GO_ON + Not affected + 0x0 + + + RESTART + Restart + 0x1 + + + + + RWCTRL + Read Wait Control + 2 + 1 + + RWCTRLSelect + + DISABLE + Disable Read Wait Control + 0x0 + + + ENABLE + Enable Read Wait Control + 0x1 + + + + + INTBG + Interrupt at Block Gap + 3 + 1 + + INTBGSelect + + DISABLED + Disabled + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + BGCR_EMMC + Block Gap Control + BGCR + 0x02A + 8 + + + STPBGR + Stop at Block Gap Request + 0 + 1 + + STPBGRSelect + + TRANSFER + Transfer + 0x0 + + + STOP + Stop + 0x1 + + + + + CONTR + Continue Request + 1 + 1 + + CONTRSelect + + GO_ON + Not affected + 0x0 + + + RESTART + Restart + 0x1 + + + + + + + WCR + Wakeup Control + 0x02B + 8 + + + WKENCINT + Wakeup Event Enable on Card Interrupt + 0 + 1 + + WKENCINTSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + WKENCINS + Wakeup Event Enable on Card Insertion + 1 + 1 + + WKENCINSSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + WKENCREM + Wakeup Event Enable on Card Removal + 2 + 1 + + WKENCREMSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + + + CCR + Clock Control + 0x02C + 16 + + + INTCLKEN + Internal Clock Enable + 0 + 1 + + INTCLKENSelect + + OFF + Stop + 0x0 + + + ON + Oscillate + 0x1 + + + + + INTCLKS + Internal Clock Stable + 1 + 1 + read-only + + INTCLKSSelect + + NOT_READY + Not Ready + 0x0 + + + READY + Ready + 0x1 + + + + + SDCLKEN + SD Clock Enable + 2 + 1 + + SDCLKENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + CLKGSEL + Clock Generator Select + 5 + 1 + + CLKGSELSelect + + DIV + Divided Clock Mode + 0x0 + + + PROG + Programmable Clock Mode + 0x1 + + + + + USDCLKFSEL + Upper Bits of SDCLK Frequency Select + 6 + 2 + + + SDCLKFSEL + SDCLK Frequency Select + 8 + 8 + + + + + TCR + Timeout Control + 0x02E + 8 + + + DTCVAL + Data Timeout Counter Value + 0 + 4 + + + + + SRR + Software Reset + 0x02F + 8 + + + SWRSTALL + Software Reset For All + 0 + 1 + + SWRSTALLSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + SWRSTCMD + Software Reset For CMD Line + 1 + 1 + + SWRSTCMDSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + SWRSTDAT + Software Reset For DAT Line + 2 + 1 + + SWRSTDATSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + + + NISTR + Normal Interrupt Status + 0x030 + 16 + + + CMDC + Command Complete + 0 + 1 + + CMDCSelect + + NO + No command complete + 0x0 + + + YES + Command complete + 0x1 + + + + + TRFC + Transfer Complete + 1 + 1 + + TRFCSelect + + NO + Not complete + 0x0 + + + YES + Command execution is completed + 0x1 + + + + + BLKGE + Block Gap Event + 2 + 1 + + BLKGESelect + + NO + No Block Gap Event + 0x0 + + + STOP + Transaction stopped at block gap + 0x1 + + + + + DMAINT + DMA Interrupt + 3 + 1 + + DMAINTSelect + + NO + No DMA Interrupt + 0x0 + + + YES + DMA Interrupt is generated + 0x1 + + + + + BWRRDY + Buffer Write Ready + 4 + 1 + + BWRRDYSelect + + NO + Not ready to write buffer + 0x0 + + + YES + Ready to write buffer + 0x1 + + + + + BRDRDY + Buffer Read Ready + 5 + 1 + + BRDRDYSelect + + NO + Not ready to read buffer + 0x0 + + + YES + Ready to read buffer + 0x1 + + + + + CINS + Card Insertion + 6 + 1 + + CINSSelect + + NO + Card state stable or Debouncing + 0x0 + + + YES + Card inserted + 0x1 + + + + + CREM + Card Removal + 7 + 1 + + CREMSelect + + NO + Card state stable or Debouncing + 0x0 + + + YES + Card Removed + 0x1 + + + + + CINT + Card Interrupt + 8 + 1 + read-only + + CINTSelect + + NO + No Card Interrupt + 0x0 + + + YES + Generate Card Interrupt + 0x1 + + + + + ERRINT + Error Interrupt + 15 + 1 + read-only + + ERRINTSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + NISTR_EMMC + Normal Interrupt Status + NISTR + 0x030 + 16 + + + CMDC + Command Complete + 0 + 1 + + CMDCSelect + + NO + No command complete + 0x0 + + + YES + Command complete + 0x1 + + + + + TRFC + Transfer Complete + 1 + 1 + + TRFCSelect + + NO + Not complete + 0x0 + + + YES + Command execution is completed + 0x1 + + + + + BLKGE + Block Gap Event + 2 + 1 + + BLKGESelect + + NO + No Block Gap Event + 0x0 + + + STOP + Transaction stopped at block gap + 0x1 + + + + + DMAINT + DMA Interrupt + 3 + 1 + + DMAINTSelect + + NO + No DMA Interrupt + 0x0 + + + YES + DMA Interrupt is generated + 0x1 + + + + + BWRRDY + Buffer Write Ready + 4 + 1 + + BWRRDYSelect + + NO + Not ready to write buffer + 0x0 + + + YES + Ready to write buffer + 0x1 + + + + + BRDRDY + Buffer Read Ready + 5 + 1 + + BRDRDYSelect + + NO + Not ready to read buffer + 0x0 + + + YES + Ready to read buffer + 0x1 + + + + + BOOTAR + Boot Acknowledge Received + 14 + 1 + + + ERRINT + Error Interrupt + 15 + 1 + read-only + + ERRINTSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + EISTR + Error Interrupt Status + 0x032 + 16 + + + CMDTEO + Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + CMDCRC + Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + CMDEND + Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + CMDIDX + Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATTEO + Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + DATCRC + Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATEND + Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + CURLIM + Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Error + 0x0 + + + YES + Power Fail + 0x1 + + + + + ACMD + Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + ADMA + ADMA Error + 9 + 1 + + ADMASelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + EISTR_EMMC + Error Interrupt Status + EISTR + 0x032 + 16 + + + CMDTEO + Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + CMDCRC + Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + CMDEND + Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + CMDIDX + Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATTEO + Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + DATCRC + Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATEND + Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + CURLIM + Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Error + 0x0 + + + YES + Power Fail + 0x1 + + + + + ACMD + Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + ADMA + ADMA Error + 9 + 1 + + ADMASelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + BOOTAE + Boot Acknowledge Error + 12 + 1 + + BOOTAESelect + + 0 + FIFO contains at least one byte + 0x0 + + + 1 + FIFO is empty + 0x1 + + + + + + + NISTER + Normal Interrupt Status Enable + 0x034 + 16 + + + CMDC + Command Complete Status Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Status Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Status Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Status Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Status Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Status Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINS + Card Insertion Status Enable + 6 + 1 + + CINSSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CREM + Card Removal Status Enable + 7 + 1 + + CREMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINT + Card Interrupt Status Enable + 8 + 1 + + CINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + NISTER_EMMC + Normal Interrupt Status Enable + NISTER + 0x034 + 16 + + + CMDC + Command Complete Status Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Status Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Status Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Status Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Status Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Status Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAR + Boot Acknowledge Received Status Enable + 14 + 1 + + + + + EISTER + Error Interrupt Status Enable + 0x036 + 16 + + + CMDTEO + Command Timeout Error Status Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Status Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Status Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Status Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Status Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Status Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Status Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Status Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Status Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Status Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + EISTER_EMMC + Error Interrupt Status Enable + EISTER + 0x036 + 16 + + + CMDTEO + Command Timeout Error Status Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Status Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Status Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Status Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Status Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Status Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Status Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Status Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Status Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Status Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAE + Boot Acknowledge Error Status Enable + 12 + 1 + + + + + NISIER + Normal Interrupt Signal Enable + 0x038 + 16 + + + CMDC + Command Complete Signal Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Signal Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Signal Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Signal Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Signal Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Signal Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINS + Card Insertion Signal Enable + 6 + 1 + + CINSSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CREM + Card Removal Signal Enable + 7 + 1 + + CREMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINT + Card Interrupt Signal Enable + 8 + 1 + + CINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + NISIER_EMMC + Normal Interrupt Signal Enable + NISIER + 0x038 + 16 + + + CMDC + Command Complete Signal Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Signal Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Signal Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Signal Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Signal Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Signal Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAR + Boot Acknowledge Received Signal Enable + 14 + 1 + + + + + EISIER + Error Interrupt Signal Enable + 0x03A + 16 + + + CMDTEO + Command Timeout Error Signal Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Signal Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Signal Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Signal Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Signal Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Signal Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Signal Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Signal Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Signal Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Signal Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + EISIER_EMMC + Error Interrupt Signal Enable + EISIER + 0x03A + 16 + + + CMDTEO + Command Timeout Error Signal Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Signal Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Signal Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Signal Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Signal Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Signal Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Signal Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Signal Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Signal Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Signal Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAE + Boot Acknowledge Error Signal Enable + 12 + 1 + + + + + ACESR + Auto CMD Error Status + 0x03C + 16 + read-only + + + ACMD12NE + Auto CMD12 Not Executed + 0 + 1 + read-only + + ACMD12NESelect + + EXEC + Executed + 0x0 + + + NOT_EXEC + Not executed + 0x1 + + + + + ACMDTEO + Auto CMD Timeout Error + 1 + 1 + read-only + + ACMDTEOSelect + + NO + No error + 0x0 + + + YES + Timeout + 0x1 + + + + + ACMDCRC + Auto CMD CRC Error + 2 + 1 + read-only + + ACMDCRCSelect + + NO + No error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + ACMDEND + Auto CMD End Bit Error + 3 + 1 + read-only + + ACMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + ACMDIDX + Auto CMD Index Error + 4 + 1 + read-only + + ACMDIDXSelect + + NO + No error + 0x0 + + + YES + Error + 0x1 + + + + + CMDNI + Command not Issued By Auto CMD12 Error + 7 + 1 + read-only + + CMDNISelect + + OK + No error + 0x0 + + + NOT_ISSUED + Not Issued + 0x1 + + + + + + + HC2R + Host Control 2 + 0x03E + 16 + + + UHSMS + UHS Mode Select + 0 + 3 + + UHSMSSelect + + SDR12 + SDR12 + 0x0 + + + SDR25 + SDR25 + 0x1 + + + SDR50 + SDR50 + 0x2 + + + SDR104 + SDR104 + 0x3 + + + DDR50 + DDR50 + 0x4 + + + + + VS18EN + 1.8V Signaling Enable + 3 + 1 + + VS18ENSelect + + S33V + 3.3V Signaling + 0x0 + + + S18V + 1.8V Signaling + 0x1 + + + + + DRVSEL + Driver Strength Select + 4 + 2 + + DRVSELSelect + + B + Driver Type B is Selected (Default) + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + EXTUN + Execute Tuning + 6 + 1 + + EXTUNSelect + + NO + Not Tuned or Tuning Completed + 0x0 + + + REQUESTED + Execute Tuning + 0x1 + + + + + SLCKSEL + Sampling Clock Select + 7 + 1 + + SLCKSELSelect + + FIXED + Fixed clock is used to sample data + 0x0 + + + TUNED + Tuned clock is used to sample data + 0x1 + + + + + ASINTEN + Asynchronous Interrupt Enable + 14 + 1 + + ASINTENSelect + + DISABLED + Disabled + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + PVALEN + Preset Value Enable + 15 + 1 + + PVALENSelect + + HOST + SDCLK and Driver Strength are controlled by Host Controller + 0x0 + + + AUTO + Automatic Selection by Preset Value is Enabled + 0x1 + + + + + + + HC2R_EMMC + Host Control 2 + HC2R + 0x03E + 16 + + + HS200EN + HS200 Mode Enable + 0 + 4 + + HS200ENSelect + + SDR12 + SDR12 + 0x0 + + + SDR25 + SDR25 + 0x1 + + + SDR50 + SDR50 + 0x2 + + + SDR104 + SDR104 + 0x3 + + + DDR50 + DDR50 + 0x4 + + + + + DRVSEL + Driver Strength Select + 4 + 2 + + DRVSELSelect + + B + Driver Type B is Selected (Default) + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + EXTUN + Execute Tuning + 6 + 1 + + EXTUNSelect + + NO + Not Tuned or Tuning Completed + 0x0 + + + REQUESTED + Execute Tuning + 0x1 + + + + + SLCKSEL + Sampling Clock Select + 7 + 1 + + SLCKSELSelect + + FIXED + Fixed clock is used to sample data + 0x0 + + + TUNED + Tuned clock is used to sample data + 0x1 + + + + + PVALEN + Preset Value Enable + 15 + 1 + + PVALENSelect + + HOST + SDCLK and Driver Strength are controlled by Host Controller + 0x0 + + + AUTO + Automatic Selection by Preset Value is Enabled + 0x1 + + + + + + + CA0R + Capabilities 0 + 0x040 + 32 + read-only + 0x27E80080 + + + TEOCLKF + Timeout Clock Frequency + 0 + 6 + + TEOCLKFSelect + + OTHER + Get information via another method + 0x0 + + + + + TEOCLKU + Timeout Clock Unit + 7 + 1 + + TEOCLKUSelect + + KHZ + kHz + 0x0 + + + MHZ + MHz + 0x1 + + + + + BASECLKF + Base Clock Frequency + 8 + 8 + + BASECLKFSelect + + OTHER + Get information via another method + 0x0 + + + + + MAXBLKL + Max Block Length + 16 + 2 + + MAXBLKLSelect + + 512 + 512 bytes + 0x0 + + + 1024 + 1024 bytes + 0x1 + + + 2048 + 2048 bytes + 0x2 + + + + + ED8SUP + 8-bit Support for Embedded Device + 18 + 1 + + ED8SUPSelect + + NO + 8-bit Bus Width not Supported + 0x0 + + + YES + 8-bit Bus Width Supported + 0x1 + + + + + ADMA2SUP + ADMA2 Support + 19 + 1 + + ADMA2SUPSelect + + NO + ADMA2 not Supported + 0x0 + + + YES + ADMA2 Supported + 0x1 + + + + + HSSUP + High Speed Support + 21 + 1 + + HSSUPSelect + + NO + High Speed not Supported + 0x0 + + + YES + High Speed Supported + 0x1 + + + + + SDMASUP + SDMA Support + 22 + 1 + + SDMASUPSelect + + NO + SDMA not Supported + 0x0 + + + YES + SDMA Supported + 0x1 + + + + + SRSUP + Suspend/Resume Support + 23 + 1 + + SRSUPSelect + + NO + Suspend/Resume not Supported + 0x0 + + + YES + Suspend/Resume Supported + 0x1 + + + + + V33VSUP + Voltage Support 3.3V + 24 + 1 + + V33VSUPSelect + + NO + 3.3V Not Supported + 0x0 + + + YES + 3.3V Supported + 0x1 + + + + + V30VSUP + Voltage Support 3.0V + 25 + 1 + + V30VSUPSelect + + NO + 3.0V Not Supported + 0x0 + + + YES + 3.0V Supported + 0x1 + + + + + V18VSUP + Voltage Support 1.8V + 26 + 1 + + V18VSUPSelect + + NO + 1.8V Not Supported + 0x0 + + + YES + 1.8V Supported + 0x1 + + + + + SB64SUP + 64-Bit System Bus Support + 28 + 1 + + SB64SUPSelect + + NO + 32-bit Address Descriptors and System Bus + 0x0 + + + YES + 64-bit Address Descriptors and System Bus + 0x1 + + + + + ASINTSUP + Asynchronous Interrupt Support + 29 + 1 + + ASINTSUPSelect + + NO + Asynchronous Interrupt not Supported + 0x0 + + + YES + Asynchronous Interrupt supported + 0x1 + + + + + SLTYPE + Slot Type + 30 + 2 + + SLTYPESelect + + REMOVABLE + Removable Card Slot + 0x0 + + + EMBEDDED + Embedded Slot for One Device + 0x1 + + + + + + + CA1R + Capabilities 1 + 0x044 + 32 + read-only + 0x00000070 + + + SDR50SUP + SDR50 Support + 0 + 1 + + SDR50SUPSelect + + NO + SDR50 is Not Supported + 0x0 + + + YES + SDR50 is Supported + 0x1 + + + + + SDR104SUP + SDR104 Support + 1 + 1 + + SDR104SUPSelect + + NO + SDR104 is Not Supported + 0x0 + + + YES + SDR104 is Supported + 0x1 + + + + + DDR50SUP + DDR50 Support + 2 + 1 + + DDR50SUPSelect + + NO + DDR50 is Not Supported + 0x0 + + + YES + DDR50 is Supported + 0x1 + + + + + DRVASUP + Driver Type A Support + 4 + 1 + + DRVASUPSelect + + NO + Driver Type A is Not Supported + 0x0 + + + YES + Driver Type A is Supported + 0x1 + + + + + DRVCSUP + Driver Type C Support + 5 + 1 + + DRVCSUPSelect + + NO + Driver Type C is Not Supported + 0x0 + + + YES + Driver Type C is Supported + 0x1 + + + + + DRVDSUP + Driver Type D Support + 6 + 1 + + DRVDSUPSelect + + NO + Driver Type D is Not Supported + 0x0 + + + YES + Driver Type D is Supported + 0x1 + + + + + TCNTRT + Timer Count for Re-Tuning + 8 + 4 + + TCNTRTSelect + + DISABLED + Re-Tuning Timer disabled + 0x0 + + + 1S + 1 second + 0x1 + + + 2S + 2 seconds + 0x2 + + + 4S + 4 seconds + 0x3 + + + 8S + 8 seconds + 0x4 + + + 16S + 16 seconds + 0x5 + + + 32S + 32 seconds + 0x6 + + + 64S + 64 seconds + 0x7 + + + 128S + 128 seconds + 0x8 + + + 256S + 256 seconds + 0x9 + + + 512S + 512 seconds + 0xa + + + 1024S + 1024 seconds + 0xb + + + OTHER + Get information from other source + 0xf + + + + + TSDR50 + Use Tuning for SDR50 + 13 + 1 + + TSDR50Select + + NO + SDR50 does not require tuning + 0x0 + + + YES + SDR50 requires tuning + 0x1 + + + + + CLKMULT + Clock Multiplier + 16 + 8 + + CLKMULTSelect + + NO + Clock Multiplier is Not Supported + 0x0 + + + + + + + MCCAR + Maximum Current Capabilities + 0x048 + 32 + read-only + + + MAXCUR33V + Maximum Current for 3.3V + 0 + 8 + + MAXCUR33VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + MAXCUR30V + Maximum Current for 3.0V + 8 + 8 + + MAXCUR30VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + MAXCUR18V + Maximum Current for 1.8V + 16 + 8 + + MAXCUR18VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + + + FERACES + Force Event for Auto CMD Error Status + 0x050 + 16 + write-only + + + ACMD12NE + Force Event for Auto CMD12 Not Executed + 0 + 1 + + ACMD12NESelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDTEO + Force Event for Auto CMD Timeout Error + 1 + 1 + + ACMDTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDCRC + Force Event for Auto CMD CRC Error + 2 + 1 + + ACMDCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDEND + Force Event for Auto CMD End Bit Error + 3 + 1 + + ACMDENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDIDX + Force Event for Auto CMD Index Error + 4 + 1 + + ACMDIDXSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDNI + Force Event for Command Not Issued By Auto CMD12 Error + 7 + 1 + + CMDNISelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + + + FEREIS + Force Event for Error Interrupt Status + 0x052 + 16 + write-only + + + CMDTEO + Force Event for Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDCRC + Force Event for Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDEND + Force Event for Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDIDX + Force Event for Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATTEO + Force Event for Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATCRC + Force Event for Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATEND + Force Event for Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CURLIM + Force Event for Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMD + Force Event for Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ADMA + Force Event for ADMA Error + 9 + 1 + + ADMASelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + BOOTAE + Force Event for Boot Acknowledge Error + 12 + 1 + + BOOTAESelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + + + AESR + ADMA Error Status + 0x054 + 8 + read-only + + + ERRST + ADMA Error State + 0 + 2 + + ERRSTSelect + + STOP + ST_STOP (Stop DMA) + 0x0 + + + FDS + ST_FDS (Fetch Descriptor) + 0x1 + + + TFR + ST_TFR (Transfer Data) + 0x3 + + + + + LMIS + ADMA Length Mismatch Error + 2 + 1 + + LMISSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + 1 + 0x4 + ASAR%s + ADMA System Address n + 0x058 + 32 + + + ADMASA + ADMA System Address + 0 + 32 + + + + + 8 + 0x2 + PVR%s + Preset Value n + 0x060 + 16 + + + SDCLKFSEL + SDCLK Frequency Select Value for Initialization + 0 + 10 + + + CLKGSEL + Clock Generator Select Value for Initialization + 10 + 1 + + CLKGSELSelect + + DIV + Host Controller Ver2.00 Compatible Clock Generator (Divider) + 0x0 + + + PROG + Programmable Clock Generator + 0x1 + + + + + DRVSEL + Driver Strength Select Value for Initialization + 14 + 2 + + DRVSELSelect + + B + Driver Type B is Selected + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + + + SISR + Slot Interrupt Status + 0x0FC + 16 + read-only + 0x20000 + + + INTSSL + Interrupt Signal for Each Slot + 0 + 1 + + + + + HCVR + Host Controller Version + 0x0FE + 16 + read-only + 0x1802 + + + SVER + Spec Version + 0 + 8 + + + VVER + Vendor Version + 8 + 8 + + + + + MC1R + MMC Control 1 + 0x204 + 8 + + + CMDTYP + e.MMC Command Type + 0 + 2 + + CMDTYPSelect + + NORMAL + Not a MMC specific command + 0x0 + + + WAITIRQ + Wait IRQ Command + 0x1 + + + STREAM + Stream Command + 0x2 + + + BOOT + Boot Command + 0x3 + + + + + DDR + e.MMC HSDDR Mode + 3 + 1 + + + OPD + e.MMC Open Drain Mode + 4 + 1 + + + BOOTA + e.MMC Boot Acknowledge Enable + 5 + 1 + + + RSTN + e.MMC Reset Signal + 6 + 1 + + + FCD + e.MMC Force Card Detect + 7 + 1 + + + + + MC2R + MMC Control 2 + 0x205 + 8 + write-only + + + SRESP + e.MMC Abort Wait IRQ + 0 + 1 + + + ABOOT + e.MMC Abort Boot + 1 + 1 + + + + + ACR + AHB Control + 0x208 + 32 + + + BMAX + AHB Maximum Burst + 0 + 2 + + BMAXSelect + + INCR16 + 0x0 + + + INCR8 + 0x1 + + + INCR4 + 0x2 + + + SINGLE + 0x3 + + + + + + + CC2R + Clock Control 2 + 0x20C + 32 + + + FSDCLKD + Force SDCK Disabled + 0 + 1 + + FSDCLKDSelect + + NOEFFECT + No effect + 0x0 + + + DISABLE + SDCLK can be stopped at any time after DATA transfer.SDCLK enable forcing for 8 SDCLK cycles is disabled + 0x1 + + + + + + + CACR + Capabilities Control + 0x230 + 32 + + + CAPWREN + Capabilities Registers Write Enable (Required to write the correct frequencies in the Capabilities Registers) + 0 + 1 + + + KEY + Key (0x46) + 8 + 8 + + + + + DBGR + Debug + 0x234 + 8 + + + NIDBG + Non-intrusive debug enable + 0 + 1 + + NIDBGSelect + + IDBG + Debugging is intrusive (reads of BDPR from debugger are considered and increment the internal buffer pointer) + 0x0 + + + NIDBG + Debugging is not intrusive (reads of BDPR from debugger are discarded and do not increment the internal buffer pointer) + 0x1 + + + + + + + + + SDHC1 + SD/MMC Host Controller 1 + 0x46000000 + + SDHC1_INTREQ + 136 + + + + SERCOM0 + 5.0.0 + Serial Communication Interface 0 + SERCOM + SERCOM_ + 0x40003000 + + 0 + 0x40 + registers + + + SERCOM0_INTREQ_0 + 46 + + + SERCOM0_INTREQ_1 + 47 + + + SERCOM0_INTREQ_2 + 48 + + + SERCOM0_INTREQ_3 + 49 + + + + I2CM + I2C Master Mode + SercomI2cm + 0x0 + + CTRLA + I2CM Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run in Standby + 7 + 1 + + + PINOUT + Pin Usage + 16 + 1 + + + SDAHOLD + SDA Hold Time + 20 + 2 + + + MEXTTOEN + Master SCL Low Extend Timeout + 22 + 1 + + + SEXTTOEN + Slave SCL Low Extend Timeout + 23 + 1 + + + SPEED + Transfer Speed + 24 + 2 + + + SCLSM + SCL Clock Stretch Mode + 27 + 1 + + + INACTOUT + Inactive Time-Out + 28 + 2 + + + LOWTOUTEN + SCL Low Timeout Enable + 30 + 1 + + + + + CTRLB + I2CM Control B + 0x04 + 32 + + + SMEN + Smart Mode Enable + 8 + 1 + + + QCEN + Quick Command Enable + 9 + 1 + + + CMD + Command + 16 + 2 + write-only + + + ACKACT + Acknowledge Action + 18 + 1 + + + + + CTRLC + I2CM Control C + 0x08 + 32 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + BAUD + I2CM Baud Rate + 0x0C + 32 + + + BAUD + Baud Rate Value + 0 + 8 + + + BAUDLOW + Baud Rate Value Low + 8 + 8 + + + HSBAUD + High Speed Baud Rate Value + 16 + 8 + + + HSBAUDLOW + High Speed Baud Rate Value Low + 24 + 8 + + + + + INTENCLR + I2CM Interrupt Enable Clear + 0x14 + 8 + + + MB + Master On Bus Interrupt Disable + 0 + 1 + + + SB + Slave On Bus Interrupt Disable + 1 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + I2CM Interrupt Enable Set + 0x16 + 8 + + + MB + Master On Bus Interrupt Enable + 0 + 1 + + + SB + Slave On Bus Interrupt Enable + 1 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + I2CM Interrupt Flag Status and Clear + 0x18 + 8 + + + MB + Master On Bus Interrupt + 0 + 1 + + + SB + Slave On Bus Interrupt + 1 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + I2CM Status + 0x1A + 16 + + + BUSERR + Bus Error + 0 + 1 + + + ARBLOST + Arbitration Lost + 1 + 1 + + + RXNACK + Received Not Acknowledge + 2 + 1 + read-only + + + BUSSTATE + Bus State + 4 + 2 + + + LOWTOUT + SCL Low Timeout + 6 + 1 + + + CLKHOLD + Clock Hold + 7 + 1 + read-only + + + MEXTTOUT + Master SCL Low Extend Timeout + 8 + 1 + + + SEXTTOUT + Slave SCL Low Extend Timeout + 9 + 1 + + + LENERR + Length Error + 10 + 1 + + + + + SYNCBUSY + I2CM Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + SYSOP + System Operation Synchronization Busy + 2 + 1 + read-only + + + LENGTH + Length Synchronization Busy + 4 + 1 + read-only + + + + + ADDR + I2CM Address + 0x24 + 32 + + + ADDR + Address Value + 0 + 11 + + + LENEN + Length Enable + 13 + 1 + + + HS + High Speed Mode + 14 + 1 + + + TENBITEN + Ten Bit Addressing Enable + 15 + 1 + + + LEN + Length + 16 + 8 + + + + + DATA + I2CM Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + I2CM Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + I2CS + I2C Slave Mode + I2CM + SercomI2cs + 0x0 + + CTRLA + I2CS Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + PINOUT + Pin Usage + 16 + 1 + + + SDAHOLD + SDA Hold Time + 20 + 2 + + + SEXTTOEN + Slave SCL Low Extend Timeout + 23 + 1 + + + SPEED + Transfer Speed + 24 + 2 + + + SCLSM + SCL Clock Stretch Mode + 27 + 1 + + + LOWTOUTEN + SCL Low Timeout Enable + 30 + 1 + + + + + CTRLB + I2CS Control B + 0x04 + 32 + + + SMEN + Smart Mode Enable + 8 + 1 + + + GCMD + PMBus Group Command + 9 + 1 + + + AACKEN + Automatic Address Acknowledge + 10 + 1 + + + AMODE + Address Mode + 14 + 2 + + + CMD + Command + 16 + 2 + write-only + + + ACKACT + Acknowledge Action + 18 + 1 + + + + + CTRLC + I2CS Control C + 0x08 + 32 + + + SDASETUP + SDA Setup Time + 0 + 4 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + INTENCLR + I2CS Interrupt Enable Clear + 0x14 + 8 + + + PREC + Stop Received Interrupt Disable + 0 + 1 + + + AMATCH + Address Match Interrupt Disable + 1 + 1 + + + DRDY + Data Interrupt Disable + 2 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + I2CS Interrupt Enable Set + 0x16 + 8 + + + PREC + Stop Received Interrupt Enable + 0 + 1 + + + AMATCH + Address Match Interrupt Enable + 1 + 1 + + + DRDY + Data Interrupt Enable + 2 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + I2CS Interrupt Flag Status and Clear + 0x18 + 8 + + + PREC + Stop Received Interrupt + 0 + 1 + + + AMATCH + Address Match Interrupt + 1 + 1 + + + DRDY + Data Interrupt + 2 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + I2CS Status + 0x1A + 16 + + + BUSERR + Bus Error + 0 + 1 + + + COLL + Transmit Collision + 1 + 1 + + + RXNACK + Received Not Acknowledge + 2 + 1 + read-only + + + DIR + Read/Write Direction + 3 + 1 + read-only + + + SR + Repeated Start + 4 + 1 + read-only + + + LOWTOUT + SCL Low Timeout + 6 + 1 + + + CLKHOLD + Clock Hold + 7 + 1 + read-only + + + SEXTTOUT + Slave SCL Low Extend Timeout + 9 + 1 + + + HS + High Speed + 10 + 1 + + + LENERR + Transaction Length Error + 11 + 1 + + + + + SYNCBUSY + I2CS Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + LENGTH + Length Synchronization Busy + 4 + 1 + read-only + + + + + LENGTH + I2CS Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 1 + + + + + ADDR + I2CS Address + 0x24 + 32 + + + GENCEN + General Call Address Enable + 0 + 1 + + + ADDR + Address Value + 1 + 10 + + + TENBITEN + Ten Bit Addressing Enable + 15 + 1 + + + ADDRMASK + Address Mask + 17 + 10 + + + + + DATA + I2CS Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + + SPI + SPI Mode + I2CM + SercomSpi + 0x0 + + CTRLA + SPI Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + IBON + Immediate Buffer Overflow Notification + 8 + 1 + + + DOPO + Data Out Pinout + 16 + 2 + + + DIPO + Data In Pinout + 20 + 2 + + + FORM + Frame Format + 24 + 4 + + + CPHA + Clock Phase + 28 + 1 + + + CPOL + Clock Polarity + 29 + 1 + + + DORD + Data Order + 30 + 1 + + + + + CTRLB + SPI Control B + 0x04 + 32 + + + CHSIZE + Character Size + 0 + 3 + + + PLOADEN + Data Preload Enable + 6 + 1 + + + SSDE + Slave Select Low Detect Enable + 9 + 1 + + + MSSEN + Master Slave Select Enable + 13 + 1 + + + AMODE + Address Mode + 14 + 2 + + + RXEN + Receiver Enable + 17 + 1 + + + + + CTRLC + SPI Control C + 0x08 + 32 + + + ICSPACE + Inter-Character Spacing + 0 + 6 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + BAUD + SPI Baud Rate + 0x0C + 8 + + + BAUD + Baud Rate Value + 0 + 8 + + + + + INTENCLR + SPI Interrupt Enable Clear + 0x14 + 8 + + + DRE + Data Register Empty Interrupt Disable + 0 + 1 + + + TXC + Transmit Complete Interrupt Disable + 1 + 1 + + + RXC + Receive Complete Interrupt Disable + 2 + 1 + + + SSL + Slave Select Low Interrupt Disable + 3 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + SPI Interrupt Enable Set + 0x16 + 8 + + + DRE + Data Register Empty Interrupt Enable + 0 + 1 + + + TXC + Transmit Complete Interrupt Enable + 1 + 1 + + + RXC + Receive Complete Interrupt Enable + 2 + 1 + + + SSL + Slave Select Low Interrupt Enable + 3 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + SPI Interrupt Flag Status and Clear + 0x18 + 8 + + + DRE + Data Register Empty Interrupt + 0 + 1 + read-only + + + TXC + Transmit Complete Interrupt + 1 + 1 + + + RXC + Receive Complete Interrupt + 2 + 1 + read-only + + + SSL + Slave Select Low Interrupt Flag + 3 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + SPI Status + 0x1A + 16 + + + BUFOVF + Buffer Overflow + 2 + 1 + + + LENERR + Transaction Length Error + 11 + 1 + + + + + SYNCBUSY + SPI Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + CTRLB + CTRLB Synchronization Busy + 2 + 1 + read-only + + + LENGTH + LENGTH Synchronization Busy + 4 + 1 + read-only + + + + + LENGTH + SPI Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 1 + + + + + ADDR + SPI Address + 0x24 + 32 + + + ADDR + Address Value + 0 + 8 + + + ADDRMASK + Address Mask + 16 + 8 + + + + + DATA + SPI Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + SPI Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + USART + USART Mode + I2CM + SercomUsart + 0x0 + + CTRLA + USART Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + IBON + Immediate Buffer Overflow Notification + 8 + 1 + + + TXINV + Transmit Data Invert + 9 + 1 + + + RXINV + Receive Data Invert + 10 + 1 + + + SAMPR + Sample + 13 + 3 + + + TXPO + Transmit Data Pinout + 16 + 2 + + + RXPO + Receive Data Pinout + 20 + 2 + + + SAMPA + Sample Adjustment + 22 + 2 + + + FORM + Frame Format + 24 + 4 + + + CMODE + Communication Mode + 28 + 1 + + + CPOL + Clock Polarity + 29 + 1 + + + DORD + Data Order + 30 + 1 + + + + + CTRLB + USART Control B + 0x04 + 32 + + + CHSIZE + Character Size + 0 + 3 + + + SBMODE + Stop Bit Mode + 6 + 1 + + + COLDEN + Collision Detection Enable + 8 + 1 + + + SFDE + Start of Frame Detection Enable + 9 + 1 + + + ENC + Encoding Format + 10 + 1 + + + PMODE + Parity Mode + 13 + 1 + + + TXEN + Transmitter Enable + 16 + 1 + + + RXEN + Receiver Enable + 17 + 1 + + + LINCMD + LIN Command + 24 + 2 + write-only + + + + + CTRLC + USART Control C + 0x08 + 32 + + + GTIME + Guard Time + 0 + 3 + + + BRKLEN + LIN Master Break Length + 8 + 2 + + + HDRDLY + LIN Master Header Delay + 10 + 2 + + + INACK + Inhibit Not Acknowledge + 16 + 1 + + + DSNACK + Disable Successive NACK + 17 + 1 + + + MAXITER + Maximum Iterations + 20 + 3 + + + DATA32B + Data 32 Bit + 24 + 2 + + + + + BAUD + USART Baud Rate + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 16 + + + + + BAUD_FRAC_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 13 + + + FP + Fractional Part + 13 + 3 + + + + + BAUD_FRACFP_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 13 + + + FP + Fractional Part + 13 + 3 + + + + + BAUD_USARTFP_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 16 + + + + + RXPL + USART Receive Pulse Length + 0x0E + 8 + + + RXPL + Receive Pulse Length + 0 + 8 + + + + + INTENCLR + USART Interrupt Enable Clear + 0x14 + 8 + + + DRE + Data Register Empty Interrupt Disable + 0 + 1 + + + TXC + Transmit Complete Interrupt Disable + 1 + 1 + + + RXC + Receive Complete Interrupt Disable + 2 + 1 + + + RXS + Receive Start Interrupt Disable + 3 + 1 + + + CTSIC + Clear To Send Input Change Interrupt Disable + 4 + 1 + + + RXBRK + Break Received Interrupt Disable + 5 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + USART Interrupt Enable Set + 0x16 + 8 + + + DRE + Data Register Empty Interrupt Enable + 0 + 1 + + + TXC + Transmit Complete Interrupt Enable + 1 + 1 + + + RXC + Receive Complete Interrupt Enable + 2 + 1 + + + RXS + Receive Start Interrupt Enable + 3 + 1 + + + CTSIC + Clear To Send Input Change Interrupt Enable + 4 + 1 + + + RXBRK + Break Received Interrupt Enable + 5 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + USART Interrupt Flag Status and Clear + 0x18 + 8 + + + DRE + Data Register Empty Interrupt + 0 + 1 + read-only + + + TXC + Transmit Complete Interrupt + 1 + 1 + + + RXC + Receive Complete Interrupt + 2 + 1 + read-only + + + RXS + Receive Start Interrupt + 3 + 1 + write-only + + + CTSIC + Clear To Send Input Change Interrupt + 4 + 1 + + + RXBRK + Break Received Interrupt + 5 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + USART Status + 0x1A + 16 + + + PERR + Parity Error + 0 + 1 + + + FERR + Frame Error + 1 + 1 + + + BUFOVF + Buffer Overflow + 2 + 1 + + + CTS + Clear To Send + 3 + 1 + read-only + + + ISF + Inconsistent Sync Field + 4 + 1 + + + COLL + Collision Detected + 5 + 1 + + + TXE + Transmitter Empty + 6 + 1 + read-only + + + ITER + Maximum Number of Repetitions Reached + 7 + 1 + + + + + SYNCBUSY + USART Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + CTRLB + CTRLB Synchronization Busy + 2 + 1 + read-only + + + RXERRCNT + RXERRCNT Synchronization Busy + 3 + 1 + read-only + + + LENGTH + LENGTH Synchronization Busy + 4 + 1 + read-only + + + + + RXERRCNT + USART Receive Error Count + 0x20 + 8 + read-only + + + LENGTH + USART Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 2 + + + + + DATA + USART Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + USART Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + + + SERCOM1 + Serial Communication Interface 1 + 0x40003400 + + SERCOM1_INTREQ_0 + 50 + + + SERCOM1_INTREQ_1 + 51 + + + SERCOM1_INTREQ_2 + 52 + + + SERCOM1_INTREQ_3 + 53 + + + + SERCOM2 + Serial Communication Interface 2 + 0x41012000 + + SERCOM2_INTREQ_0 + 54 + + + SERCOM2_INTREQ_1 + 55 + + + SERCOM2_INTREQ_2 + 56 + + + SERCOM2_INTREQ_3 + 57 + + + + SERCOM3 + Serial Communication Interface 3 + 0x41014000 + + SERCOM3_INTREQ_0 + 58 + + + SERCOM3_INTREQ_1 + 59 + + + SERCOM3_INTREQ_2 + 60 + + + SERCOM3_INTREQ_3 + 61 + + + + SERCOM4 + Serial Communication Interface 4 + 0x43000000 + + SERCOM4_INTREQ_0 + 62 + + + SERCOM4_INTREQ_1 + 63 + + + SERCOM4_INTREQ_2 + 64 + + + SERCOM4_INTREQ_3 + 65 + + + + SERCOM5 + Serial Communication Interface 5 + 0x43000400 + + SERCOM5_INTREQ_0 + 66 + + + SERCOM5_INTREQ_1 + 67 + + + SERCOM5_INTREQ_2 + 68 + + + SERCOM5_INTREQ_3 + 69 + + + + SERCOM6 + Serial Communication Interface 6 + 0x43000800 + + SERCOM6_INTREQ_0 + 70 + + + SERCOM6_INTREQ_1 + 71 + + + SERCOM6_INTREQ_2 + 72 + + + SERCOM6_INTREQ_3 + 73 + + + + SERCOM7 + Serial Communication Interface 7 + 0x43000C00 + + SERCOM7_INTREQ_0 + 74 + + + SERCOM7_INTREQ_1 + 75 + + + SERCOM7_INTREQ_2 + 76 + + + SERCOM7_INTREQ_3 + 77 + + + + SUPC + 1.0.0 + Supply Controller + SUPC + SUPC_ + 0x40001800 + + 0 + 0x80 + registers + + + SUPC_INTREQ_0 + 8 + + + SUPC_INTREQ_1 + 9 + + + + INTENCLR + Interrupt Enable Clear + 0x00 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x04 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x08 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + STATUS + Power and Clocks Status + 0x0C + 32 + read-only + + + BOD33RDY + BOD33 Ready + 0 + 1 + read-only + + + BOD33DET + BOD33 Detection + 1 + 1 + read-only + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + read-only + + + BOD12RDY + BOD12 Ready + 3 + 1 + read-only + + + BOD12DET + BOD12 Detection + 4 + 1 + read-only + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + read-only + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + read-only + + + VCORERDY + VDDCORE Ready + 10 + 1 + read-only + + + + + BOD33 + BOD33 Control + 0x10 + 32 + + + ENABLE + Enable + 1 + 1 + + + ACTION + Action when Threshold Crossed + 2 + 2 + + ACTIONSelect + + NONE + No action + 0x0 + + + RESET + The BOD33 generates a reset + 0x1 + + + INT + The BOD33 generates an interrupt + 0x2 + + + BKUP + The BOD33 puts the device in backup sleep mode + 0x3 + + + + + STDBYCFG + Configuration in Standby mode + 4 + 1 + + + RUNSTDBY + Run in Standby mode + 5 + 1 + + + RUNHIB + Run in Hibernate mode + 6 + 1 + + + RUNBKUP + Run in Backup mode + 7 + 1 + + + HYST + Hysteresis value + 8 + 4 + + + PSEL + Prescaler Select + 12 + 3 + + PSELSelect + + NODIV + Not divided + 0x0 + + + DIV4 + Divide clock by 4 + 0x1 + + + DIV8 + Divide clock by 8 + 0x2 + + + DIV16 + Divide clock by 16 + 0x3 + + + DIV32 + Divide clock by 32 + 0x4 + + + DIV64 + Divide clock by 64 + 0x5 + + + DIV128 + Divide clock by 128 + 0x6 + + + DIV256 + Divide clock by 256 + 0x7 + + + + + LEVEL + Threshold Level for VDD + 16 + 8 + + + VBATLEVEL + Threshold Level in battery backup sleep mode for VBAT + 24 + 8 + + + + + BOD12 + BOD12 Control + 0x14 + 32 + + + ENABLE + Enable + 1 + 1 + + + HYST + Hysteresis Enable + 2 + 1 + + + ACTION + Action when Threshold Crossed + 3 + 2 + + ACTIONSelect + + NONE + No action + 0x0 + + + RESET + The BOD12 generates a reset + 0x1 + + + INT + The BOD12 generates an interrupt + 0x2 + + + + + STDBYCFG + Configuration in Standby mode + 5 + 1 + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ACTCFG + Configuration in Active mode + 8 + 1 + + + PSEL + Prescaler Select + 12 + 4 + + PSELSelect + + DIV2 + Divide clock by 2 + 0x0 + + + DIV4 + Divide clock by 4 + 0x1 + + + DIV8 + Divide clock by 8 + 0x2 + + + DIV16 + Divide clock by 16 + 0x3 + + + DIV32 + Divide clock by 32 + 0x4 + + + DIV64 + Divide clock by 64 + 0x5 + + + DIV128 + Divide clock by 128 + 0x6 + + + DIV256 + Divide clock by 256 + 0x7 + + + DIV512 + Divide clock by 512 + 0x8 + + + DIV1024 + Divide clock by 1024 + 0x9 + + + DIV2048 + Divide clock by 2048 + 0xa + + + DIV4096 + Divide clock by 4096 + 0xb + + + DIV8192 + Divide clock by 8192 + 0xc + + + DIV16384 + Divide clock by 16384 + 0xd + + + DIV32768 + Divide clock by 32768 + 0xe + + + DIV65536 + Divide clock by 65536 + 0xf + + + + + LEVEL + Threshold Level + 16 + 6 + + + + + VREG + VREG Control + 0x18 + 32 + 0x00000002 + + + ENABLE + Enable + 1 + 1 + + + SEL + Voltage Regulator Selection + 2 + 1 + + SELSelect + + LDO + LDO selection + 0x0 + + + BUCK + Buck selection + 0x1 + + + + + RUNBKUP + Run in Backup mode + 7 + 1 + + + VSEN + Voltage Scaling Enable + 16 + 1 + + + VSPER + Voltage Scaling Period + 24 + 3 + + + + + VREF + VREF Control + 0x1C + 32 + + + TSEN + Temperature Sensor Output Enable + 1 + 1 + + + VREFOE + Voltage Reference Output Enable + 2 + 1 + + + TSSEL + Temperature Sensor Selection + 3 + 1 + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + On Demand Contrl + 7 + 1 + + + SEL + Voltage Reference Selection + 16 + 4 + + SELSelect + + 1V0 + 1.0V voltage reference typical value + 0x0 + + + 1V1 + 1.1V voltage reference typical value + 0x1 + + + 1V2 + 1.2V voltage reference typical value + 0x2 + + + 1V25 + 1.25V voltage reference typical value + 0x3 + + + 2V0 + 2.0V voltage reference typical value + 0x4 + + + 2V2 + 2.2V voltage reference typical value + 0x5 + + + 2V4 + 2.4V voltage reference typical value + 0x6 + + + 2V5 + 2.5V voltage reference typical value + 0x7 + + + + + + + BBPS + Battery Backup Power Switch + 0x20 + 32 + + + CONF + Battery Backup Configuration + 0 + 1 + + CONFSelect + + BOD33 + The power switch is handled by the BOD33 + 0x0 + + + FORCED + In Backup Domain, the backup domain is always supplied by battery backup power + 0x1 + + + + + WAKEEN + Wake Enable + 2 + 1 + + + + + BKOUT + Backup Output Control + 0x24 + 32 + + + EN + Enable Output + 0 + 2 + + + CLR + Clear Output + 8 + 2 + write-only + + + SET + Set Output + 16 + 2 + write-only + + + RTCTGL + RTC Toggle Output + 24 + 2 + + + + + BKIN + Backup Input Control + 0x28 + 32 + read-only + + + BKIN + Backup Input Value + 0 + 8 + read-only + + + + + + + TAL + 2.0.0 + Trigger Allocator + TAL + TAL_ + 0x4101E000 + + 0 + 0x400 + registers + + + TAL_INTREQ_0 + 42 + + + TAL_INTREQ_1 + 43 + + + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + + + EXTCTRL + External Break Control + 0x001 + 8 + + + ENABLE + Enable BRK Pin + 0 + 1 + + + INV + Invert BRK Pin + 1 + 1 + + + + + EVCTRL + Event Control + 0x004 + 16 + + + BRKEI + Break Input Event Enable + 0 + 1 + + + BRKEO + Break Output Event Enable + 1 + 1 + + + IRQMONEO0 + Interrupt Request Monitor 0 Output Event Enable + 2 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x008 + 8 + + + BRK + Break Interrupt Enable + 0 + 1 + + + IPS0 + Inter-Processor Signal Interrupt Enable for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal Interrupt Enable for CPU 1 + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x009 + 8 + + + BRK + Break Interrupt Enable + 0 + 1 + + + IPS0 + Inter-Processor Signal Interrupt Enable for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal Interrupt Enable for CPU 1 + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x00A + 8 + + + BRK + Break + 0 + 1 + + + IPS0 + Inter-Processor Signal for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal for CPU 1 + 2 + 1 + + + + + GLOBMASK + Global Break Requests Mask + 0x00B + 8 + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + HALT + Debug Halt Request + 0x00C + 8 + write-only + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + RESTART + Debug Restart Request + 0x00D + 8 + write-only + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + BRKSTATUS + Break Request Status + 0x00E + 16 + read-only + + + CPU0 + CPU 0 Break Request + 0 + 2 + + + CPU1 + CPU 1 Break Request + 2 + 2 + + + EVBRK + Event Break Request + 12 + 2 + + + EXTBRK + External Break Request + 14 + 2 + + + + + 4 + 0x2 + CTICTRLA%s + Cross-Trigger Interface n Control A + 0x010 + 8 + + + BRK + Action when global break issued + 0 + 2 + + BRKSelect + + BREAK + Break when requested + 0x0 + + + INTERRUPT + Trigger DBG interrupt instead of break + 0x1 + + + IGNORE + Ignore break request + 0x2 + + + + + RESTART + Action when global restart issued + 2 + 1 + + RESTARTSelect + + RESTART + Restart when requested + 0x0 + + + IGNORE + Ignore restart request + 0x1 + + + + + IPS + Action when inter-process resource freed + 3 + 1 + + IPSSelect + + EVENT + Generate CPU Event when awaited resource is freed. + 0x0 + + + INTERRUPT + Generate Interrupt when awaited resource is freed. + 0x1 + + + + + + + 4 + 0x2 + CTIMASK%s + Cross-Trigger Interface n Mask + 0x011 + 8 + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + 137 + 0x1 + INTSTATUS%s + Interrupt n Status + 0x020 + 8 + read-only + + + IRQ0 + Interrupt Status for Interrupt Request 0 within Interrupt n + 0 + 1 + + + IRQ1 + Interrupt Status for Interrupt Request 1 within Interrupt n + 1 + 1 + + + IRQ2 + Interrupt Status for Interrupt Request 2 within Interrupt n + 2 + 1 + + + IRQ3 + Interrupt Status for Interrupt Request 3 within Interrupt n + 3 + 1 + + + IRQ4 + Interrupt Status for Interrupt Request 4 within Interrupt n + 4 + 1 + + + IRQ5 + Interrupt Status for Interrupt Request 5 within Interrupt n + 5 + 1 + + + IRQ6 + Interrupt Status for Interrupt Request 6 within Interrupt n + 6 + 1 + + + IRQ7 + Interrupt Status for Interrupt Request 7 within Interrupt n + 7 + 1 + + + + + DMACPUSEL0 + DMA Channel Interrupts CPU Select 0 + 0x110 + 32 + + + CH0 + DMA Channel 0 Interrupt CPU Select + 0 + 1 + + + CH1 + DMA Channel 1 Interrupt CPU Select + 2 + 1 + + + CH2 + DMA Channel 2 Interrupt CPU Select + 4 + 1 + + + CH3 + DMA Channel 3 Interrupt CPU Select + 6 + 1 + + + CH4 + DMA Channel 4 Interrupt CPU Select + 8 + 1 + + + CH5 + DMA Channel 5 Interrupt CPU Select + 10 + 1 + + + CH6 + DMA Channel 6 Interrupt CPU Select + 12 + 1 + + + CH7 + DMA Channel 7 Interrupt CPU Select + 14 + 1 + + + CH8 + DMA Channel 8 Interrupt CPU Select + 16 + 1 + + + CH9 + DMA Channel 9 Interrupt CPU Select + 18 + 1 + + + CH10 + DMA Channel 10 Interrupt CPU Select + 20 + 1 + + + CH11 + DMA Channel 11 Interrupt CPU Select + 22 + 1 + + + CH12 + DMA Channel 12 Interrupt CPU Select + 24 + 1 + + + CH13 + DMA Channel 13 Interrupt CPU Select + 26 + 1 + + + CH14 + DMA Channel 14 Interrupt CPU Select + 28 + 1 + + + CH15 + DMA Channel 15 Interrupt CPU Select + 30 + 1 + + + + + DMACPUSEL1 + DMA Channel Interrupts CPU Select 1 + 0x114 + 32 + + + CH16 + DMA Channel 16 Interrupt CPU Select + 0 + 1 + + + CH17 + DMA Channel 17 Interrupt CPU Select + 2 + 1 + + + CH18 + DMA Channel 18 Interrupt CPU Select + 4 + 1 + + + CH19 + DMA Channel 19 Interrupt CPU Select + 6 + 1 + + + CH20 + DMA Channel 20 Interrupt CPU Select + 8 + 1 + + + CH21 + DMA Channel 21 Interrupt CPU Select + 10 + 1 + + + CH22 + DMA Channel 22 Interrupt CPU Select + 12 + 1 + + + CH23 + DMA Channel 23 Interrupt CPU Select + 14 + 1 + + + CH24 + DMA Channel 24 Interrupt CPU Select + 16 + 1 + + + CH25 + DMA Channel 25 Interrupt CPU Select + 18 + 1 + + + CH26 + DMA Channel 26 Interrupt CPU Select + 20 + 1 + + + CH27 + DMA Channel 27 Interrupt CPU Select + 22 + 1 + + + CH28 + DMA Channel 28 Interrupt CPU Select + 24 + 1 + + + CH29 + DMA Channel 29 Interrupt CPU Select + 26 + 1 + + + CH30 + DMA Channel 30 Interrupt CPU Select + 28 + 1 + + + CH31 + DMA Channel 31 Interrupt CPU Select + 30 + 1 + + + + + EVCPUSEL0 + EVSYS Channel Interrupts CPU Select 0 + 0x118 + 32 + + + CH0 + Event Channel 0 Interrupt CPU Select + 0 + 1 + + + CH1 + Event Channel 1 Interrupt CPU Select + 2 + 1 + + + CH2 + Event Channel 2 Interrupt CPU Select + 4 + 1 + + + CH3 + Event Channel 3 Interrupt CPU Select + 6 + 1 + + + CH4 + Event Channel 4 Interrupt CPU Select + 8 + 1 + + + CH5 + Event Channel 5 Interrupt CPU Select + 10 + 1 + + + CH6 + Event Channel 6 Interrupt CPU Select + 12 + 1 + + + CH7 + Event Channel 7 Interrupt CPU Select + 14 + 1 + + + CH8 + Event Channel 8 Interrupt CPU Select + 16 + 1 + + + CH9 + Event Channel 9 Interrupt CPU Select + 18 + 1 + + + CH10 + Event Channel 10 Interrupt CPU Select + 20 + 1 + + + CH11 + Event Channel 11 Interrupt CPU Select + 22 + 1 + + + + + EICCPUSEL0 + EIC External Interrupts CPU Select 0 + 0x120 + 32 + + + EXTINT0 + External Interrupt 0 CPU Select + 0 + 1 + + + EXTINT1 + External Interrupt 1 CPU Select + 2 + 1 + + + EXTINT2 + External Interrupt 2 CPU Select + 4 + 1 + + + EXTINT3 + External Interrupt 3 CPU Select + 6 + 1 + + + EXTINT4 + External Interrupt 4 CPU Select + 8 + 1 + + + EXTINT5 + External Interrupt 5 CPU Select + 10 + 1 + + + EXTINT6 + External Interrupt 6 CPU Select + 12 + 1 + + + EXTINT7 + External Interrupt 7 CPU Select + 14 + 1 + + + EXTINT8 + External Interrupt 8 CPU Select + 16 + 1 + + + EXTINT9 + External Interrupt 9 CPU Select + 18 + 1 + + + EXTINT10 + External Interrupt 10 CPU Select + 20 + 1 + + + EXTINT11 + External Interrupt 11 CPU Select + 22 + 1 + + + EXTINT12 + External Interrupt 12 CPU Select + 24 + 1 + + + EXTINT13 + External Interrupt 13 CPU Select + 26 + 1 + + + EXTINT14 + External Interrupt 14 CPU Select + 28 + 1 + + + EXTINT15 + External Interrupt 15 CPU Select + 30 + 1 + + + + + INTCPUSEL0 + Interrupts CPU Select 0 + 0x128 + 32 + + + PAC + PAC Interrupt CPU Select + 0 + 1 + + + PM + PM Interrupt CPU Select + 2 + 1 + + + MCLK + MCLK Interrupt CPU Select + 4 + 1 + + + OSCCTRL + OSCCTRL Interrupt CPU Select + 8 + 1 + + + OSC32KCTRL + OSC32KCTRL Interrupt CPU Select + 10 + 1 + + + SUPC + SUPC Interrupt CPU Select + 12 + 1 + + + WDT + WDT Interrupt CPU Select + 16 + 1 + + + RTC + RTC Interrupt CPU Select + 18 + 1 + + + EIC + EIC Interrupt CPU Select + 20 + 1 + + + FREQM + FREQM Interrupt CPU Select + 22 + 1 + + + SERCOM0 + SERCOM0 Interrupt CPU Select + 24 + 1 + + + SERCOM1 + SERCOM1 Interrupt CPU Select + 26 + 1 + + + TC0 + TC0 Interrupt CPU Select + 28 + 1 + + + TC1 + TC1 Interrupt CPU Select + 30 + 1 + + + + + INTCPUSEL1 + Interrupts CPU Select 1 + 0x12C + 32 + + + INTCPUSEL2 + Interrupts CPU Select 2 + 0x130 + 32 + + + USB + USB Interrupt CPU Select + 0 + 1 + + + NVMCTRL + NVMCTRL Interrupt CPU Select + 4 + 1 + + + DMAC + DMAC Interrupt CPU Select + 10 + 1 + + + EVSYS + EVSYS Interrupt CPU Select + 14 + 1 + + + PICOP + PICOP Interrupt CPU Select + 16 + 1 + + + SERCOM2 + SERCOM2 Interrupt CPU Select + 18 + 1 + + + SERCOM3 + SERCOM3 Interrupt CPU Select + 20 + 1 + + + TCC0 + TCC0 Interrupt CPU Select + 22 + 1 + + + TCC1 + TCC1 Interrupt CPU Select + 24 + 1 + + + TC2 + TC2 Interrupt CPU Select + 26 + 1 + + + TC3 + TC3 Interrupt CPU Select + 28 + 1 + + + TAL + TAL Interrupt CPU Select + 30 + 1 + + + + + INTCPUSEL3 + Interrupts CPU Select 3 + 0x134 + 32 + + + RAMECC + RAMECC Interrupt CPU Select + 0 + 1 + + + + + INTCPUSEL4 + Interrupts CPU Select 4 + 0x138 + 32 + + + CAN0 + CAN0 Interrupt CPU Select + 0 + 1 + + + CAN1 + CAN1 Interrupt CPU Select + 2 + 1 + + + GMAC + GMAC Interrupt CPU Select + 4 + 1 + + + TCC2 + TCC2 Interrupt CPU Select + 6 + 1 + + + TCC3 + TCC3 Interrupt CPU Select + 8 + 1 + + + TC4 + TC4 Interrupt CPU Select + 10 + 1 + + + TC5 + TC5 Interrupt CPU Select + 12 + 1 + + + PDEC + PDEC Interrupt CPU Select + 14 + 1 + + + AC + AC Interrupt CPU Select + 16 + 1 + + + AES + AES Interrupt CPU Select + 18 + 1 + + + TRNG + TRNG Interrupt CPU Select + 20 + 1 + + + ICM + ICM Interrupt CPU Select + 22 + 1 + + + PUKCC + PUKCC Interrupt CPU Select + 24 + 1 + + + QSPI + QSPI Interrupt CPU Select + 26 + 1 + + + + + INTCPUSEL5 + Interrupts CPU Select 5 + 0x13C + 32 + + + INTCPUSEL6 + Interrupts CPU Select 6 + 0x140 + 32 + + + SERCOM4 + SERCOM4 Interrupt CPU Select + 0 + 1 + + + SERCOM5 + SERCOM5 Interrupt CPU Select + 2 + 1 + + + SERCOM6 + SERCOM6 Interrupt CPU Select + 4 + 1 + + + SERCOM7 + SERCOM7 Interrupt CPU Select + 6 + 1 + + + TCC4 + TCC4 Interrupt CPU Select + 8 + 1 + + + TC6 + TC6 Interrupt CPU Select + 10 + 1 + + + TC7 + TC7 Interrupt CPU Select + 12 + 1 + + + ADC0 + ADC0 Interrupt CPU Select + 14 + 1 + + + ADC1 + ADC1 Interrupt CPU Select + 16 + 1 + + + DAC + DAC Interrupt CPU Select + 18 + 1 + + + I2S + I2S Interrupt CPU Select + 20 + 1 + + + PCC + PCC Interrupt CPU Select + 22 + 1 + + + + + INTCPUSEL7 + Interrupts CPU Select 7 + 0x144 + 32 + + + INTCPUSEL8 + Interrupts CPU Select 8 + 0x148 + 32 + + + SDHC0 + SDHC0 Interrupt CPU Select + 0 + 1 + + + SDHC1 + SDHC1 Interrupt CPU Select + 2 + 1 + + + + + IRQTRIG + Interrupt Trigger + 0x164 + 32 + + + ENABLE + Trigger Enable + 0 + 1 + + + IRQNUM + Interrupt Request Number + 8 + 8 + + + OVERRIDE + Interrupt Request Override Value + 16 + 8 + + + + + 1 + 0x2 + IRQMON%s + Interrupt Monitor Select + 0x168 + 16 + + + EXTEND + Extended Interrupt Request + 0 + 1 + + EXTENDSelect + + NO + Event is Interrupt Request signal + 0x0 + + + YES + Event is Interrupt Request signal extended until end of Interrupt Handler + 0x1 + + + + + DROP + Drop Shortened Events + 1 + 1 + + + CPUID + ID of CPU currently servicing this IRQ + 2 + 1 + + + IRQNUM + Interrupt Request Number + 8 + 8 + + + + + 5 + 0x4 + CPUIRQS0_%s + Interrupt Status m for CPU n - Group 0 + 0x180 + 32 + read-only + + + CPUIRQS + Interrupt Requests for CPU n + 0 + 32 + + + + + 5 + 0x4 + CPUIRQS1_%s + Interrupt Status m for CPU n - Group 1 + 0x1a0 + + + 2 + 0x4 + SMASK0_%s + Inter-Process Signal Mask m for CPU n - Group 0 + 0x200 + 32 + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SMASK1_%s + Inter-Process Signal Mask m for CPU n - Group 1 + 0x208 + + + 2 + 0x4 + SFLAGCLR%s + Inter-Process Signal Flag Clear + 0x220 + 32 + write-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SFLAGSET%s + Inter-Process Signal Flag Set + 0x228 + 32 + write-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SFLAG%s + Inter-Process Signal Flag + 0x230 + 32 + read-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 64 + 0x1 + SFLAGCLRR%s + Inter-Process Signal Flag Bit n + 0x300 + 8 + + + IPS + Inter-Process Signal n + 0 + 1 + + + + + + + TC0 + 3.0.0 + Basic Timer Counter 0 + TC + TC_ + 0x40003800 + + 0 + 0x40 + registers + + + TC0_INTREQ + 107 + + + + COUNT8 + 8-bit Counter Mode + TcCount8 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT8 Count + 0x14 + 8 + + + COUNT + Counter Value + 0 + 8 + + + + + PER + COUNT8 Period + 0x1B + 8 + 0xFF + + + PER + Period Value + 0 + 8 + + + + + 2 + 0x1 + CC%s + COUNT8 Compare and Capture + 0x1C + 8 + + + CC + Counter/Compare Value + 0 + 8 + + + + + PERBUF + COUNT8 Period Buffer + 0x2F + 8 + 0xFF + + + PERBUF + Period Buffer Value + 0 + 8 + + + + + 2 + 0x1 + CCBUF%s + COUNT8 Compare and Capture Buffer + 0x30 + 8 + + + CCBUF + Counter/Compare Buffer Value + 0 + 8 + + + + + + COUNT16 + 16-bit Counter Mode + COUNT8 + TcCount16 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT16 Count + 0x14 + 16 + + + COUNT + Counter Value + 0 + 16 + + + + + 2 + 0x2 + CC%s + COUNT16 Compare and Capture + 0x1C + 16 + + + CC + Counter/Compare Value + 0 + 16 + + + + + 2 + 0x2 + CCBUF%s + COUNT16 Compare and Capture Buffer + 0x30 + 16 + + + CCBUF + Counter/Compare Buffer Value + 0 + 16 + + + + + + COUNT32 + 32-bit Counter Mode + COUNT8 + TcCount32 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT32 Count + 0x14 + 32 + + + COUNT + Counter Value + 0 + 32 + + + + + 2 + 0x4 + CC%s + COUNT32 Compare and Capture + 0x1C + 32 + + + CC + Counter/Compare Value + 0 + 32 + + + + + 2 + 0x4 + CCBUF%s + COUNT32 Compare and Capture Buffer + 0x30 + 32 + + + CCBUF + Counter/Compare Buffer Value + 0 + 32 + + + + + + + + TC1 + Basic Timer Counter 1 + 0x40003C00 + + TC1_INTREQ + 108 + + + + TC2 + Basic Timer Counter 2 + 0x4101A000 + + TC2_INTREQ + 109 + + + + TC3 + Basic Timer Counter 3 + 0x4101C000 + + TC3_INTREQ + 110 + + + + TC4 + Basic Timer Counter 4 + 0x42001400 + + TC4_INTREQ + 111 + + + + TC5 + Basic Timer Counter 5 + 0x42001800 + + TC5_INTREQ + 112 + + + + TC6 + Basic Timer Counter 6 + 0x43001400 + + TC6_INTREQ + 113 + + + + TC7 + Basic Timer Counter 7 + 0x43001800 + + TC7_INTREQ + 114 + + + + TCC0 + 3.1.0 + Timer Counter Control 0 + TCC + TCC_ + 0x41016000 + + 0 + 0x090 + registers + + + TCC0_INTREQ_0 + 85 + + + TCC0_INTREQ_1 + 86 + + + TCC0_INTREQ_2 + 87 + + + TCC0_INTREQ_3 + 88 + + + TCC0_INTREQ_4 + 89 + + + TCC0_INTREQ_5 + 90 + + + TCC0_INTREQ_6 + 91 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RESOLUTION + Enhanced Resolution + 5 + 2 + + RESOLUTIONSelect + + NONE + Dithering is disabled + 0x0 + + + DITH4 + Dithering is done every 16 PWM frames + 0x1 + + + DITH5 + Dithering is done every 32 PWM frames + 0x2 + + + DITH6 + Dithering is done every 64 PWM frames + 0x3 + + + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV64 + Divide by 64 + 0x5 + + + DIV256 + Divide by 256 + 0x6 + + + DIV1024 + Divide by 1024 + 0x7 + + + + + RUNSTDBY + Run in Standby + 11 + 1 + + + PRESCSYNC + Prescaler and Counter Synchronization Selection + 12 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset counter on next GCLK + 0x0 + + + PRESC + Reload or reset counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset counter on next GCLK and reset prescaler counter + 0x2 + + + + + ALOCK + Auto Lock + 14 + 1 + + + MSYNC + Master Synchronization (only for TCC Slave Instance) + 15 + 1 + + + DMAOS + DMA One-shot Trigger Mode + 23 + 1 + + + CPTEN0 + Capture Channel 0 Enable + 24 + 1 + + + CPTEN1 + Capture Channel 1 Enable + 25 + 1 + + + CPTEN2 + Capture Channel 2 Enable + 26 + 1 + + + CPTEN3 + Capture Channel 3 Enable + 27 + 1 + + + CPTEN4 + Capture Channel 4 Enable + 28 + 1 + + + CPTEN5 + Capture Channel 5 Enable + 29 + 1 + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot + 2 + 1 + + + IDXCMD + Ramp Index Command + 3 + 2 + + IDXCMDSelect + + DISABLE + Command disabled: Index toggles between cycles A and B + 0x0 + + + SET + Set index: cycle B will be forced in the next cycle + 0x1 + + + CLEAR + Clear index: cycle A will be forced in the next cycle + 0x2 + + + HOLD + Hold index: the next cycle will be the same as the current cycle + 0x3 + + + + + CMD + TCC Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Clear start, restart or retrigger + 0x1 + + + STOP + Force stop + 0x2 + + + UPDATE + Force update or double buffered registers + 0x3 + + + READSYNC + Force COUNT read synchronization + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot + 2 + 1 + + + IDXCMD + Ramp Index Command + 3 + 2 + + IDXCMDSelect + + DISABLE + Command disabled: Index toggles between cycles A and B + 0x0 + + + SET + Set index: cycle B will be forced in the next cycle + 0x1 + + + CLEAR + Clear index: cycle A will be forced in the next cycle + 0x2 + + + HOLD + Hold index: the next cycle will be the same as the current cycle + 0x3 + + + + + CMD + TCC Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Clear start, restart or retrigger + 0x1 + + + STOP + Force stop + 0x2 + + + UPDATE + Force update or double buffered registers + 0x3 + + + READSYNC + Force COUNT read synchronization + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + SYNCBUSY + Synchronization Busy + 0x08 + 32 + read-only + + + SWRST + Swrst Busy + 0 + 1 + + + ENABLE + Enable Busy + 1 + 1 + + + CTRLB + Ctrlb Busy + 2 + 1 + + + STATUS + Status Busy + 3 + 1 + + + COUNT + Count Busy + 4 + 1 + + + PATT + Pattern Busy + 5 + 1 + + + WAVE + Wave Busy + 6 + 1 + + + PER + Period Busy + 7 + 1 + + + CC0 + Compare Channel 0 Busy + 8 + 1 + + + CC1 + Compare Channel 1 Busy + 9 + 1 + + + CC2 + Compare Channel 2 Busy + 10 + 1 + + + CC3 + Compare Channel 3 Busy + 11 + 1 + + + CC4 + Compare Channel 4 Busy + 12 + 1 + + + CC5 + Compare Channel 5 Busy + 13 + 1 + + + + + FCTRLA + Recoverable Fault A Configuration + 0x0C + 32 + + + SRC + Fault A Source + 0 + 2 + + SRCSelect + + DISABLE + Fault input disabled + 0x0 + + + ENABLE + MCEx (x=0,1) event input + 0x1 + + + INVERT + Inverted MCEx (x=0,1) event input + 0x2 + + + ALTFAULT + Alternate fault (A or B) state at the end of the previous period + 0x3 + + + + + KEEP + Fault A Keeper + 3 + 1 + + + QUAL + Fault A Qualification + 4 + 1 + + + BLANK + Fault A Blanking Mode + 5 + 2 + + BLANKSelect + + START + Blanking applied from start of the ramp + 0x0 + + + RISE + Blanking applied from rising edge of the output waveform + 0x1 + + + FALL + Blanking applied from falling edge of the output waveform + 0x2 + + + BOTH + Blanking applied from each toggle of the output waveform + 0x3 + + + + + RESTART + Fault A Restart + 7 + 1 + + + HALT + Fault A Halt Mode + 8 + 2 + + HALTSelect + + DISABLE + Halt action disabled + 0x0 + + + HW + Hardware halt action + 0x1 + + + SW + Software halt action + 0x2 + + + NR + Non-recoverable fault + 0x3 + + + + + CHSEL + Fault A Capture Channel + 10 + 2 + + CHSELSelect + + CC0 + Capture value stored in channel 0 + 0x0 + + + CC1 + Capture value stored in channel 1 + 0x1 + + + CC2 + Capture value stored in channel 2 + 0x2 + + + CC3 + Capture value stored in channel 3 + 0x3 + + + + + CAPTURE + Fault A Capture Action + 12 + 3 + + CAPTURESelect + + DISABLE + No capture + 0x0 + + + CAPT + Capture on fault + 0x1 + + + CAPTMIN + Minimum capture + 0x2 + + + CAPTMAX + Maximum capture + 0x3 + + + LOCMIN + Minimum local detection + 0x4 + + + LOCMAX + Maximum local detection + 0x5 + + + DERIV0 + Minimum and maximum local detection + 0x6 + + + CAPTMARK + Capture with ramp index as MSB value + 0x7 + + + + + BLANKPRESC + Fault A Blanking Prescaler + 15 + 1 + + + BLANKVAL + Fault A Blanking Time + 16 + 8 + + + FILTERVAL + Fault A Filter Value + 24 + 4 + + + + + FCTRLB + Recoverable Fault B Configuration + 0x10 + 32 + + + SRC + Fault B Source + 0 + 2 + + SRCSelect + + DISABLE + Fault input disabled + 0x0 + + + ENABLE + MCEx (x=0,1) event input + 0x1 + + + INVERT + Inverted MCEx (x=0,1) event input + 0x2 + + + ALTFAULT + Alternate fault (A or B) state at the end of the previous period + 0x3 + + + + + KEEP + Fault B Keeper + 3 + 1 + + + QUAL + Fault B Qualification + 4 + 1 + + + BLANK + Fault B Blanking Mode + 5 + 2 + + BLANKSelect + + START + Blanking applied from start of the ramp + 0x0 + + + RISE + Blanking applied from rising edge of the output waveform + 0x1 + + + FALL + Blanking applied from falling edge of the output waveform + 0x2 + + + BOTH + Blanking applied from each toggle of the output waveform + 0x3 + + + + + RESTART + Fault B Restart + 7 + 1 + + + HALT + Fault B Halt Mode + 8 + 2 + + HALTSelect + + DISABLE + Halt action disabled + 0x0 + + + HW + Hardware halt action + 0x1 + + + SW + Software halt action + 0x2 + + + NR + Non-recoverable fault + 0x3 + + + + + CHSEL + Fault B Capture Channel + 10 + 2 + + CHSELSelect + + CC0 + Capture value stored in channel 0 + 0x0 + + + CC1 + Capture value stored in channel 1 + 0x1 + + + CC2 + Capture value stored in channel 2 + 0x2 + + + CC3 + Capture value stored in channel 3 + 0x3 + + + + + CAPTURE + Fault B Capture Action + 12 + 3 + + CAPTURESelect + + DISABLE + No capture + 0x0 + + + CAPT + Capture on fault + 0x1 + + + CAPTMIN + Minimum capture + 0x2 + + + CAPTMAX + Maximum capture + 0x3 + + + LOCMIN + Minimum local detection + 0x4 + + + LOCMAX + Maximum local detection + 0x5 + + + DERIV0 + Minimum and maximum local detection + 0x6 + + + CAPTMARK + Capture with ramp index as MSB value + 0x7 + + + + + BLANKPRESC + Fault B Blanking Prescaler + 15 + 1 + + + BLANKVAL + Fault B Blanking Time + 16 + 8 + + + FILTERVAL + Fault B Filter Value + 24 + 4 + + + + + WEXCTRL + Waveform Extension Configuration + 0x14 + 32 + + + OTMX + Output Matrix + 0 + 2 + + + DTIEN0 + Dead-time Insertion Generator 0 Enable + 8 + 1 + + + DTIEN1 + Dead-time Insertion Generator 1 Enable + 9 + 1 + + + DTIEN2 + Dead-time Insertion Generator 2 Enable + 10 + 1 + + + DTIEN3 + Dead-time Insertion Generator 3 Enable + 11 + 1 + + + DTLS + Dead-time Low Side Outputs Value + 16 + 8 + + + DTHS + Dead-time High Side Outputs Value + 24 + 8 + + + + + DRVCTRL + Driver Control + 0x18 + 32 + + + NRE0 + Non-Recoverable State 0 Output Enable + 0 + 1 + + + NRE1 + Non-Recoverable State 1 Output Enable + 1 + 1 + + + NRE2 + Non-Recoverable State 2 Output Enable + 2 + 1 + + + NRE3 + Non-Recoverable State 3 Output Enable + 3 + 1 + + + NRE4 + Non-Recoverable State 4 Output Enable + 4 + 1 + + + NRE5 + Non-Recoverable State 5 Output Enable + 5 + 1 + + + NRE6 + Non-Recoverable State 6 Output Enable + 6 + 1 + + + NRE7 + Non-Recoverable State 7 Output Enable + 7 + 1 + + + NRV0 + Non-Recoverable State 0 Output Value + 8 + 1 + + + NRV1 + Non-Recoverable State 1 Output Value + 9 + 1 + + + NRV2 + Non-Recoverable State 2 Output Value + 10 + 1 + + + NRV3 + Non-Recoverable State 3 Output Value + 11 + 1 + + + NRV4 + Non-Recoverable State 4 Output Value + 12 + 1 + + + NRV5 + Non-Recoverable State 5 Output Value + 13 + 1 + + + NRV6 + Non-Recoverable State 6 Output Value + 14 + 1 + + + NRV7 + Non-Recoverable State 7 Output Value + 15 + 1 + + + INVEN0 + Output Waveform 0 Inversion + 16 + 1 + + + INVEN1 + Output Waveform 1 Inversion + 17 + 1 + + + INVEN2 + Output Waveform 2 Inversion + 18 + 1 + + + INVEN3 + Output Waveform 3 Inversion + 19 + 1 + + + INVEN4 + Output Waveform 4 Inversion + 20 + 1 + + + INVEN5 + Output Waveform 5 Inversion + 21 + 1 + + + INVEN6 + Output Waveform 6 Inversion + 22 + 1 + + + INVEN7 + Output Waveform 7 Inversion + 23 + 1 + + + FILTERVAL0 + Non-Recoverable Fault Input 0 Filter Value + 24 + 4 + + + FILTERVAL1 + Non-Recoverable Fault Input 1 Filter Value + 28 + 4 + + + + + DBGCTRL + Debug Control + 0x1E + 8 + + + DBGRUN + Debug Running Mode + 0 + 1 + + + FDDBD + Fault Detection on Debug Break Detection + 2 + 1 + + + + + EVCTRL + Event Control + 0x20 + 32 + + + EVACT0 + Timer/counter Input Event0 Action + 0 + 3 + + EVACT0Select + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or re-trigger counter on event + 0x1 + + + COUNTEV + Count on event + 0x2 + + + START + Start counter on event + 0x3 + + + INC + Increment counter on event + 0x4 + + + COUNT + Count on active state of asynchronous event + 0x5 + + + STAMP + Stamp capture + 0x6 + + + FAULT + Non-recoverable fault + 0x7 + + + + + EVACT1 + Timer/counter Input Event1 Action + 3 + 3 + + EVACT1Select + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Re-trigger counter on event + 0x1 + + + DIR + Direction control + 0x2 + + + STOP + Stop counter on event + 0x3 + + + DEC + Decrement counter on event + 0x4 + + + PPW + Period capture value in CC0 register, pulse width capture value in CC1 register + 0x5 + + + PWP + Period capture value in CC1 register, pulse width capture value in CC0 register + 0x6 + + + FAULT + Non-recoverable fault + 0x7 + + + + + CNTSEL + Timer/counter Output Event Mode + 6 + 2 + + CNTSELSelect + + START + An interrupt/event is generated when a new counter cycle starts + 0x0 + + + END + An interrupt/event is generated when a counter cycle ends + 0x1 + + + BETWEEN + An interrupt/event is generated when a counter cycle ends, except for the first and last cycles + 0x2 + + + BOUNDARY + An interrupt/event is generated when a new counter cycle starts or a counter cycle ends + 0x3 + + + + + OVFEO + Overflow/Underflow Output Event Enable + 8 + 1 + + + TRGEO + Retrigger Output Event Enable + 9 + 1 + + + CNTEO + Timer/counter Output Event Enable + 10 + 1 + + + TCINV0 + Inverted Event 0 Input Enable + 12 + 1 + + + TCINV1 + Inverted Event 1 Input Enable + 13 + 1 + + + TCEI0 + Timer/counter Event 0 Input Enable + 14 + 1 + + + TCEI1 + Timer/counter Event 1 Input Enable + 15 + 1 + + + MCEI0 + Match or Capture Channel 0 Event Input Enable + 16 + 1 + + + MCEI1 + Match or Capture Channel 1 Event Input Enable + 17 + 1 + + + MCEI2 + Match or Capture Channel 2 Event Input Enable + 18 + 1 + + + MCEI3 + Match or Capture Channel 3 Event Input Enable + 19 + 1 + + + MCEI4 + Match or Capture Channel 4 Event Input Enable + 20 + 1 + + + MCEI5 + Match or Capture Channel 5 Event Input Enable + 21 + 1 + + + MCEO0 + Match or Capture Channel 0 Event Output Enable + 24 + 1 + + + MCEO1 + Match or Capture Channel 1 Event Output Enable + 25 + 1 + + + MCEO2 + Match or Capture Channel 2 Event Output Enable + 26 + 1 + + + MCEO3 + Match or Capture Channel 3 Event Output Enable + 27 + 1 + + + MCEO4 + Match or Capture Channel 4 Event Output Enable + 28 + 1 + + + MCEO5 + Match or Capture Channel 5 Event Output Enable + 29 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x24 + 32 + + + OVF + Overflow Interrupt Enable + 0 + 1 + + + TRG + Retrigger Interrupt Enable + 1 + 1 + + + CNT + Counter Interrupt Enable + 2 + 1 + + + ERR + Error Interrupt Enable + 3 + 1 + + + UFS + Non-Recoverable Update Fault Interrupt Enable + 10 + 1 + + + DFS + Non-Recoverable Debug Fault Interrupt Enable + 11 + 1 + + + FAULTA + Recoverable Fault A Interrupt Enable + 12 + 1 + + + FAULTB + Recoverable Fault B Interrupt Enable + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 Interrupt Enable + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 Interrupt Enable + 15 + 1 + + + MC0 + Match or Capture Channel 0 Interrupt Enable + 16 + 1 + + + MC1 + Match or Capture Channel 1 Interrupt Enable + 17 + 1 + + + MC2 + Match or Capture Channel 2 Interrupt Enable + 18 + 1 + + + MC3 + Match or Capture Channel 3 Interrupt Enable + 19 + 1 + + + MC4 + Match or Capture Channel 4 Interrupt Enable + 20 + 1 + + + MC5 + Match or Capture Channel 5 Interrupt Enable + 21 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x28 + 32 + + + OVF + Overflow Interrupt Enable + 0 + 1 + + + TRG + Retrigger Interrupt Enable + 1 + 1 + + + CNT + Counter Interrupt Enable + 2 + 1 + + + ERR + Error Interrupt Enable + 3 + 1 + + + UFS + Non-Recoverable Update Fault Interrupt Enable + 10 + 1 + + + DFS + Non-Recoverable Debug Fault Interrupt Enable + 11 + 1 + + + FAULTA + Recoverable Fault A Interrupt Enable + 12 + 1 + + + FAULTB + Recoverable Fault B Interrupt Enable + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 Interrupt Enable + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 Interrupt Enable + 15 + 1 + + + MC0 + Match or Capture Channel 0 Interrupt Enable + 16 + 1 + + + MC1 + Match or Capture Channel 1 Interrupt Enable + 17 + 1 + + + MC2 + Match or Capture Channel 2 Interrupt Enable + 18 + 1 + + + MC3 + Match or Capture Channel 3 Interrupt Enable + 19 + 1 + + + MC4 + Match or Capture Channel 4 Interrupt Enable + 20 + 1 + + + MC5 + Match or Capture Channel 5 Interrupt Enable + 21 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x2C + 32 + + + OVF + Overflow + 0 + 1 + + + TRG + Retrigger + 1 + 1 + + + CNT + Counter + 2 + 1 + + + ERR + Error + 3 + 1 + + + UFS + Non-Recoverable Update Fault + 10 + 1 + + + DFS + Non-Recoverable Debug Fault + 11 + 1 + + + FAULTA + Recoverable Fault A + 12 + 1 + + + FAULTB + Recoverable Fault B + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 + 15 + 1 + + + MC0 + Match or Capture 0 + 16 + 1 + + + MC1 + Match or Capture 1 + 17 + 1 + + + MC2 + Match or Capture 2 + 18 + 1 + + + MC3 + Match or Capture 3 + 19 + 1 + + + MC4 + Match or Capture 4 + 20 + 1 + + + MC5 + Match or Capture 5 + 21 + 1 + + + + + STATUS + Status + 0x30 + 32 + 0x00000001 + + + STOP + Stop + 0 + 1 + read-only + + + IDX + Ramp + 1 + 1 + read-only + + + UFS + Non-recoverable Update Fault State + 2 + 1 + + + DFS + Non-Recoverable Debug Fault State + 3 + 1 + + + SLAVE + Slave + 4 + 1 + read-only + + + PATTBUFV + Pattern Buffer Valid + 5 + 1 + + + PERBUFV + Period Buffer Valid + 7 + 1 + + + FAULTAIN + Recoverable Fault A Input + 8 + 1 + read-only + + + FAULTBIN + Recoverable Fault B Input + 9 + 1 + read-only + + + FAULT0IN + Non-Recoverable Fault0 Input + 10 + 1 + read-only + + + FAULT1IN + Non-Recoverable Fault1 Input + 11 + 1 + read-only + + + FAULTA + Recoverable Fault A State + 12 + 1 + + + FAULTB + Recoverable Fault B State + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 State + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 State + 15 + 1 + + + CCBUFV0 + Compare Channel 0 Buffer Valid + 16 + 1 + + + CCBUFV1 + Compare Channel 1 Buffer Valid + 17 + 1 + + + CCBUFV2 + Compare Channel 2 Buffer Valid + 18 + 1 + + + CCBUFV3 + Compare Channel 3 Buffer Valid + 19 + 1 + + + CCBUFV4 + Compare Channel 4 Buffer Valid + 20 + 1 + + + CCBUFV5 + Compare Channel 5 Buffer Valid + 21 + 1 + + + CMP0 + Compare Channel 0 Value + 24 + 1 + read-only + + + CMP1 + Compare Channel 1 Value + 25 + 1 + read-only + + + CMP2 + Compare Channel 2 Value + 26 + 1 + read-only + + + CMP3 + Compare Channel 3 Value + 27 + 1 + read-only + + + CMP4 + Compare Channel 4 Value + 28 + 1 + read-only + + + CMP5 + Compare Channel 5 Value + 29 + 1 + read-only + + + + + COUNT + Count + 0x34 + 32 + + + COUNT + Counter Value + 0 + 24 + + + + + COUNT_DITH4 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 4 + 20 + + + + + COUNT_DITH5 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 5 + 19 + + + + + COUNT_DITH6 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 6 + 18 + + + + + PATT + Pattern + 0x38 + 16 + + + PGE0 + Pattern Generator 0 Output Enable + 0 + 1 + + + PGE1 + Pattern Generator 1 Output Enable + 1 + 1 + + + PGE2 + Pattern Generator 2 Output Enable + 2 + 1 + + + PGE3 + Pattern Generator 3 Output Enable + 3 + 1 + + + PGE4 + Pattern Generator 4 Output Enable + 4 + 1 + + + PGE5 + Pattern Generator 5 Output Enable + 5 + 1 + + + PGE6 + Pattern Generator 6 Output Enable + 6 + 1 + + + PGE7 + Pattern Generator 7 Output Enable + 7 + 1 + + + PGV0 + Pattern Generator 0 Output Value + 8 + 1 + + + PGV1 + Pattern Generator 1 Output Value + 9 + 1 + + + PGV2 + Pattern Generator 2 Output Value + 10 + 1 + + + PGV3 + Pattern Generator 3 Output Value + 11 + 1 + + + PGV4 + Pattern Generator 4 Output Value + 12 + 1 + + + PGV5 + Pattern Generator 5 Output Value + 13 + 1 + + + PGV6 + Pattern Generator 6 Output Value + 14 + 1 + + + PGV7 + Pattern Generator 7 Output Value + 15 + 1 + + + + + WAVE + Waveform Control + 0x3C + 32 + + + WAVEGEN + Waveform Generation + 0 + 3 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + DSCRITICAL + Dual-slope critical + 0x4 + + + DSBOTTOM + Dual-slope with interrupt/event condition when COUNT reaches ZERO + 0x5 + + + DSBOTH + Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP + 0x6 + + + DSTOP + Dual-slope with interrupt/event condition when COUNT reaches TOP + 0x7 + + + + + RAMP + Ramp Mode + 4 + 2 + + RAMPSelect + + RAMP1 + RAMP1 operation + 0x0 + + + RAMP2A + Alternative RAMP2 operation + 0x1 + + + RAMP2 + RAMP2 operation + 0x2 + + + RAMP2C + Critical RAMP2 operation + 0x3 + + + + + CIPEREN + Circular period Enable + 7 + 1 + + + CICCEN0 + Circular Channel 0 Enable + 8 + 1 + + + CICCEN1 + Circular Channel 1 Enable + 9 + 1 + + + CICCEN2 + Circular Channel 2 Enable + 10 + 1 + + + CICCEN3 + Circular Channel 3 Enable + 11 + 1 + + + POL0 + Channel 0 Polarity + 16 + 1 + + + POL1 + Channel 1 Polarity + 17 + 1 + + + POL2 + Channel 2 Polarity + 18 + 1 + + + POL3 + Channel 3 Polarity + 19 + 1 + + + POL4 + Channel 4 Polarity + 20 + 1 + + + POL5 + Channel 5 Polarity + 21 + 1 + + + SWAP0 + Swap DTI Output Pair 0 + 24 + 1 + + + SWAP1 + Swap DTI Output Pair 1 + 25 + 1 + + + SWAP2 + Swap DTI Output Pair 2 + 26 + 1 + + + SWAP3 + Swap DTI Output Pair 3 + 27 + 1 + + + + + PER + Period + 0x40 + 32 + 0xFFFFFFFF + + + PER + Period Value + 0 + 24 + + + + + PER_DITH4 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 4 + + + PER + Period Value + 4 + 20 + + + + + PER_DITH5 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 5 + + + PER + Period Value + 5 + 19 + + + + + PER_DITH6 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 6 + + + PER + Period Value + 6 + 18 + + + + + 6 + 0x4 + CC%s + Compare and Capture + 0x44 + 32 + + + CC + Channel Compare/Capture Value + 0 + 24 + + + + + 6 + 0x4 + CC%s_DITH4 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 4 + + + CC + Channel Compare/Capture Value + 4 + 20 + + + + + 6 + 0x4 + CC%s_DITH5 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 5 + + + CC + Channel Compare/Capture Value + 5 + 19 + + + + + 6 + 0x4 + CC%s_DITH6 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 6 + + + CC + Channel Compare/Capture Value + 6 + 18 + + + + + PATTBUF + Pattern Buffer + 0x64 + 16 + + + PGEB0 + Pattern Generator 0 Output Enable Buffer + 0 + 1 + + + PGEB1 + Pattern Generator 1 Output Enable Buffer + 1 + 1 + + + PGEB2 + Pattern Generator 2 Output Enable Buffer + 2 + 1 + + + PGEB3 + Pattern Generator 3 Output Enable Buffer + 3 + 1 + + + PGEB4 + Pattern Generator 4 Output Enable Buffer + 4 + 1 + + + PGEB5 + Pattern Generator 5 Output Enable Buffer + 5 + 1 + + + PGEB6 + Pattern Generator 6 Output Enable Buffer + 6 + 1 + + + PGEB7 + Pattern Generator 7 Output Enable Buffer + 7 + 1 + + + PGVB0 + Pattern Generator 0 Output Enable + 8 + 1 + + + PGVB1 + Pattern Generator 1 Output Enable + 9 + 1 + + + PGVB2 + Pattern Generator 2 Output Enable + 10 + 1 + + + PGVB3 + Pattern Generator 3 Output Enable + 11 + 1 + + + PGVB4 + Pattern Generator 4 Output Enable + 12 + 1 + + + PGVB5 + Pattern Generator 5 Output Enable + 13 + 1 + + + PGVB6 + Pattern Generator 6 Output Enable + 14 + 1 + + + PGVB7 + Pattern Generator 7 Output Enable + 15 + 1 + + + + + PERBUF + Period Buffer + 0x6C + 32 + 0xFFFFFFFF + + + PERBUF + Period Buffer Value + 0 + 24 + + + + + PERBUF_DITH4 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 4 + + + PERBUF + Period Buffer Value + 4 + 20 + + + + + PERBUF_DITH5 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 5 + + + PERBUF + Period Buffer Value + 5 + 19 + + + + + PERBUF_DITH6 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 6 + + + PERBUF + Period Buffer Value + 6 + 18 + + + + + 6 + 0x4 + CCBUF%s + Compare and Capture Buffer + 0x70 + 32 + + + CCBUF + Channel Compare/Capture Buffer Value + 0 + 24 + + + + + 6 + 0x4 + CCBUF%s_DITH4 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + CCBUF + Channel Compare/Capture Buffer Value + 0 + 4 + + + DITHERBUF + Dithering Buffer Cycle Number + 4 + 20 + + + + + 6 + 0x4 + CCBUF%s_DITH5 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 5 + + + CCBUF + Channel Compare/Capture Buffer Value + 5 + 19 + + + + + 6 + 0x4 + CCBUF%s_DITH6 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 6 + + + CCBUF + Channel Compare/Capture Buffer Value + 6 + 18 + + + + + + + TCC1 + Timer Counter Control 1 + 0x41018000 + + TCC1_INTREQ_0 + 92 + + + TCC1_INTREQ_1 + 93 + + + TCC1_INTREQ_2 + 94 + + + TCC1_INTREQ_3 + 95 + + + TCC1_INTREQ_4 + 96 + + + + TCC2 + Timer Counter Control 2 + 0x42000C00 + + TCC2_INTREQ_0 + 97 + + + TCC2_INTREQ_1 + 98 + + + TCC2_INTREQ_2 + 99 + + + TCC2_INTREQ_3 + 100 + + + + TCC3 + Timer Counter Control 3 + 0x42001000 + + TCC3_INTREQ_0 + 101 + + + TCC3_INTREQ_1 + 102 + + + TCC3_INTREQ_2 + 103 + + + + TCC4 + Timer Counter Control 4 + 0x43001000 + + TCC4_INTREQ_0 + 104 + + + TCC4_INTREQ_1 + 105 + + + TCC4_INTREQ_2 + 106 + + + + TRNG + 1.1.0 + True Random Generator + TRNG + TRNG_ + 0x42002800 + + 0 + 0x40 + registers + + + TRNG_INTREQ + 131 + + + + CTRLA + Control A + 0x00 + 8 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + + + EVCTRL + Event Control + 0x04 + 8 + + + DATARDYEO + Data Ready Event Output + 0 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + DATARDY + Data Ready Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + DATARDY + Data Ready Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + DATARDY + Data Ready Interrupt Flag + 0 + 1 + + + + + DATA + Output Data + 0x20 + 32 + read-only + + + DATA + Output Data + 0 + 32 + read-only + + + + + + + USB + 1.2.0 + Universal Serial Bus + USB + USB_ + 0x41000000 + + 0 + 0x400 + registers + + + USB_INTREQ_0 + 80 + + + USB_INTREQ_1 + 81 + + + USB_INTREQ_2 + 82 + + + USB_INTREQ_3 + 83 + + + + DEVICE + USB is Device + UsbDevice + 0x0 + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby Mode + 2 + 1 + + + MODE + Operating Mode + 7 + 1 + + MODESelect + + DEVICE + Device Mode + 0x0 + + + HOST + Host Mode + 0x1 + + + + + + + SYNCBUSY + Synchronization Busy + 0x002 + 8 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + + + QOSCTRL + USB Quality Of Service + 0x003 + 8 + 0x0F + + + CQOS + Configuration Quality of Service + 0 + 2 + + + DQOS + Data Quality of Service + 2 + 2 + + + + + CTRLB + DEVICE Control B + 0x008 + 16 + 0x0001 + + + DETACH + Detach + 0 + 1 + + + UPRSM + Upstream Resume + 1 + 1 + + + SPDCONF + Speed Configuration + 2 + 2 + + SPDCONFSelect + + FS + FS : Full Speed + 0x0 + + + LS + LS : Low Speed + 0x1 + + + HS + HS : High Speed capable + 0x2 + + + HSTM + HSTM: High Speed Test Mode (force high-speed mode for test mode) + 0x3 + + + + + NREPLY + No Reply + 4 + 1 + + + TSTJ + Test mode J + 5 + 1 + + + TSTK + Test mode K + 6 + 1 + + + TSTPCKT + Test packet mode + 7 + 1 + + + OPMODE2 + Specific Operational Mode + 8 + 1 + + + GNAK + Global NAK + 9 + 1 + + + LPMHDSK + Link Power Management Handshake + 10 + 2 + + LPMHDSKSelect + + NO + No handshake. LPM is not supported + 0x0 + + + ACK + ACK + 0x1 + + + NYET + NYET + 0x2 + + + STALL + STALL + 0x3 + + + + + + + DADD + DEVICE Device Address + 0x00A + 8 + + + DADD + Device Address + 0 + 7 + + + ADDEN + Device Address Enable + 7 + 1 + + + + + STATUS + DEVICE Status + 0x00C + 8 + read-only + 0x40 + + + SPEED + Speed Status + 2 + 2 + read-only + + SPEEDSelect + + FS + Full-speed mode + 0x0 + + + LS + Low-speed mode + 0x1 + + + HS + High-speed mode + 0x2 + + + + + LINESTATE + USB Line State Status + 6 + 2 + read-only + + LINESTATESelect + + 0 + SE0/RESET + 0x0 + + + 1 + FS-J or LS-K State + 0x1 + + + 2 + FS-K or LS-J State + 0x2 + + + + + + + FSMSTATUS + Finite State Machine Status + 0x00D + 8 + read-only + 0x01 + + + FSMSTATE + Fine State Machine Status + 0 + 7 + read-only + + FSMSTATESelect + + OFF + OFF (L3). It corresponds to the powered-off, disconnected, and disabled state + 0x1 + + + ON + ON (L0). It corresponds to the Idle and Active states + 0x2 + + + SUSPEND + SUSPEND (L2) + 0x4 + + + SLEEP + SLEEP (L1) + 0x8 + + + DNRESUME + DNRESUME. Down Stream Resume. + 0x10 + + + UPRESUME + UPRESUME. Up Stream Resume. + 0x20 + + + RESET + RESET. USB lines Reset. + 0x40 + + + + + + + FNUM + DEVICE Device Frame Number + 0x010 + 16 + read-only + + + MFNUM + Micro Frame Number + 0 + 3 + read-only + + + FNUM + Frame Number + 3 + 11 + read-only + + + FNCERR + Frame Number CRC Error + 15 + 1 + read-only + + + + + INTENCLR + DEVICE Device Interrupt Enable Clear + 0x014 + 16 + + + SUSPEND + Suspend Interrupt Enable + 0 + 1 + + + MSOF + Micro Start of Frame Interrupt Enable in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame Interrupt Enable + 2 + 1 + + + EORST + End of Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + EORSM + End Of Resume Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + LPMNYET + Link Power Management Not Yet Interrupt Enable + 8 + 1 + + + LPMSUSP + Link Power Management Suspend Interrupt Enable + 9 + 1 + + + + + INTENSET + DEVICE Device Interrupt Enable Set + 0x018 + 16 + + + SUSPEND + Suspend Interrupt Enable + 0 + 1 + + + MSOF + Micro Start of Frame Interrupt Enable in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame Interrupt Enable + 2 + 1 + + + EORST + End of Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + EORSM + End Of Resume Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + LPMNYET + Link Power Management Not Yet Interrupt Enable + 8 + 1 + + + LPMSUSP + Link Power Management Suspend Interrupt Enable + 9 + 1 + + + + + INTFLAG + DEVICE Device Interrupt Flag + 0x01C + 16 + + + SUSPEND + Suspend + 0 + 1 + + + MSOF + Micro Start of Frame in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame + 2 + 1 + + + EORST + End of Reset + 3 + 1 + + + WAKEUP + Wake Up + 4 + 1 + + + EORSM + End Of Resume + 5 + 1 + + + UPRSM + Upstream Resume + 6 + 1 + + + RAMACER + Ram Access + 7 + 1 + + + LPMNYET + Link Power Management Not Yet + 8 + 1 + + + LPMSUSP + Link Power Management Suspend + 9 + 1 + + + + + EPINTSMRY + DEVICE End Point Interrupt Summary + 0x020 + 16 + read-only + + + EPINT0 + End Point 0 Interrupt + 0 + 1 + read-only + + + EPINT1 + End Point 1 Interrupt + 1 + 1 + read-only + + + EPINT2 + End Point 2 Interrupt + 2 + 1 + read-only + + + EPINT3 + End Point 3 Interrupt + 3 + 1 + read-only + + + EPINT4 + End Point 4 Interrupt + 4 + 1 + read-only + + + EPINT5 + End Point 5 Interrupt + 5 + 1 + read-only + + + EPINT6 + End Point 6 Interrupt + 6 + 1 + read-only + + + EPINT7 + End Point 7 Interrupt + 7 + 1 + read-only + + + + + DESCADD + Descriptor Address + 0x024 + 32 + + + DESCADD + Descriptor Address Value + 0 + 32 + + + + + PADCAL + USB PAD Calibration + 0x028 + 16 + + + TRANSP + USB Pad Transp calibration + 0 + 5 + + + TRANSN + USB Pad Transn calibration + 6 + 5 + + + TRIM + USB Pad Trim calibration + 12 + 3 + + + + + 8 + 0x20 + EPCFG%s + DEVICE End Point Configuration + 0x100 + 8 + + + EPTYPE0 + End Point Type0 + 0 + 3 + + + EPTYPE1 + End Point Type1 + 4 + 3 + + + NYETDIS + NYET Token Disable + 7 + 1 + + + + + 8 + 0x20 + EPSTATUSCLR%s + DEVICE End Point Pipe Status Clear + 0x104 + 8 + write-only + + + DTGLOUT + Data Toggle OUT Clear + 0 + 1 + write-only + + + DTGLIN + Data Toggle IN Clear + 1 + 1 + write-only + + + CURBK + Current Bank Clear + 2 + 1 + write-only + + + STALLRQ0 + Stall 0 Request Clear + 4 + 1 + write-only + + + STALLRQ1 + Stall 1 Request Clear + 5 + 1 + write-only + + + BK0RDY + Bank 0 Ready Clear + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Clear + 7 + 1 + write-only + + + + + 8 + 0x20 + EPSTATUSSET%s + DEVICE End Point Pipe Status Set + 0x105 + 8 + write-only + + + DTGLOUT + Data Toggle OUT Set + 0 + 1 + write-only + + + DTGLIN + Data Toggle IN Set + 1 + 1 + write-only + + + CURBK + Current Bank Set + 2 + 1 + write-only + + + STALLRQ0 + Stall 0 Request Set + 4 + 1 + write-only + + + STALLRQ1 + Stall 1 Request Set + 5 + 1 + write-only + + + BK0RDY + Bank 0 Ready Set + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Set + 7 + 1 + write-only + + + + + 8 + 0x20 + EPSTATUS%s + DEVICE End Point Pipe Status + 0x106 + 8 + read-only + + + DTGLOUT + Data Toggle Out + 0 + 1 + read-only + + + DTGLIN + Data Toggle In + 1 + 1 + read-only + + + CURBK + Current Bank + 2 + 1 + read-only + + + STALLRQ0 + Stall 0 Request + 4 + 1 + read-only + + + STALLRQ1 + Stall 1 Request + 5 + 1 + read-only + + + BK0RDY + Bank 0 ready + 6 + 1 + read-only + + + BK1RDY + Bank 1 ready + 7 + 1 + read-only + + + + + 8 + 0x20 + EPINTFLAG%s + DEVICE End Point Interrupt Flag + 0x107 + 8 + + + TRCPT0 + Transfer Complete 0 + 0 + 1 + + + TRCPT1 + Transfer Complete 1 + 1 + 1 + + + TRFAIL0 + Error Flow 0 + 2 + 1 + + + TRFAIL1 + Error Flow 1 + 3 + 1 + + + RXSTP + Received Setup + 4 + 1 + + + STALL0 + Stall 0 In/out + 5 + 1 + + + STALL1 + Stall 1 In/out + 6 + 1 + + + + + 8 + 0x20 + EPINTENCLR%s + DEVICE End Point Interrupt Clear Flag + 0x108 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Disable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Disable + 1 + 1 + + + TRFAIL0 + Error Flow 0 Interrupt Disable + 2 + 1 + + + TRFAIL1 + Error Flow 1 Interrupt Disable + 3 + 1 + + + RXSTP + Received Setup Interrupt Disable + 4 + 1 + + + STALL0 + Stall 0 In/Out Interrupt Disable + 5 + 1 + + + STALL1 + Stall 1 In/Out Interrupt Disable + 6 + 1 + + + + + 8 + 0x20 + EPINTENSET%s + DEVICE End Point Interrupt Set Flag + 0x109 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Enable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Enable + 1 + 1 + + + TRFAIL0 + Error Flow 0 Interrupt Enable + 2 + 1 + + + TRFAIL1 + Error Flow 1 Interrupt Enable + 3 + 1 + + + RXSTP + Received Setup Interrupt Enable + 4 + 1 + + + STALL0 + Stall 0 In/out Interrupt enable + 5 + 1 + + + STALL1 + Stall 1 In/out Interrupt enable + 6 + 1 + + + + + + HOST + USB is Host + DEVICE + UsbHost + 0x0 + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby Mode + 2 + 1 + + + MODE + Operating Mode + 7 + 1 + + MODESelect + + DEVICE + Device Mode + 0x0 + + + HOST + Host Mode + 0x1 + + + + + + + SYNCBUSY + Synchronization Busy + 0x002 + 8 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + + + QOSCTRL + USB Quality Of Service + 0x003 + 8 + 0x0F + + + CQOS + Configuration Quality of Service + 0 + 2 + + + DQOS + Data Quality of Service + 2 + 2 + + + + + CTRLB + HOST Control B + 0x008 + 16 + + + RESUME + Send USB Resume + 1 + 1 + + + SPDCONF + Speed Configuration for Host + 2 + 2 + + SPDCONFSelect + + NORMAL + Normal mode: the host starts in full-speed mode and performs a high-speed reset to switch to the high speed mode if the downstream peripheral is high-speed capable. + 0x0 + + + FS + Full-speed: the host remains in full-speed mode whatever is the peripheral speed capability. Relevant in UTMI mode only. + 0x3 + + + + + AUTORESUME + Auto Resume Enable + 4 + 1 + + + TSTJ + Test mode J + 5 + 1 + + + TSTK + Test mode K + 6 + 1 + + + SOFE + Start of Frame Generation Enable + 8 + 1 + + + BUSRESET + Send USB Reset + 9 + 1 + + + VBUSOK + VBUS is OK + 10 + 1 + + + L1RESUME + Send L1 Resume + 11 + 1 + + + + + HSOFC + HOST Host Start Of Frame Control + 0x00A + 8 + + + FLENC + Frame Length Control + 0 + 4 + + + FLENCE + Frame Length Control Enable + 7 + 1 + + + + + STATUS + HOST Status + 0x00C + 8 + + + SPEED + Speed Status + 2 + 2 + + + LINESTATE + USB Line State Status + 6 + 2 + read-only + + + + + FSMSTATUS + Finite State Machine Status + 0x00D + 8 + read-only + 0x01 + + + FSMSTATE + Fine State Machine Status + 0 + 7 + read-only + + FSMSTATESelect + + OFF + OFF (L3). It corresponds to the powered-off, disconnected, and disabled state + 0x1 + + + ON + ON (L0). It corresponds to the Idle and Active states + 0x2 + + + SUSPEND + SUSPEND (L2) + 0x4 + + + SLEEP + SLEEP (L1) + 0x8 + + + DNRESUME + DNRESUME. Down Stream Resume. + 0x10 + + + UPRESUME + UPRESUME. Up Stream Resume. + 0x20 + + + RESET + RESET. USB lines Reset. + 0x40 + + + + + + + FNUM + HOST Host Frame Number + 0x010 + 16 + + + MFNUM + Micro Frame Number + 0 + 3 + + + FNUM + Frame Number + 3 + 11 + + + + + FLENHIGH + HOST Host Frame Length + 0x012 + 8 + read-only + + + FLENHIGH + Frame Length + 0 + 8 + read-only + + + + + INTENCLR + HOST Host Interrupt Enable Clear + 0x014 + 16 + + + HSOF + Host Start Of Frame Interrupt Disable + 2 + 1 + + + RST + BUS Reset Interrupt Disable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Disable + 4 + 1 + + + DNRSM + DownStream to Device Interrupt Disable + 5 + 1 + + + UPRSM + Upstream Resume from Device Interrupt Disable + 6 + 1 + + + RAMACER + Ram Access Interrupt Disable + 7 + 1 + + + DCONN + Device Connection Interrupt Disable + 8 + 1 + + + DDISC + Device Disconnection Interrupt Disable + 9 + 1 + + + + + INTENSET + HOST Host Interrupt Enable Set + 0x018 + 16 + + + HSOF + Host Start Of Frame Interrupt Enable + 2 + 1 + + + RST + Bus Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + DNRSM + DownStream to the Device Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume fromthe device Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + DCONN + Link Power Management Interrupt Enable + 8 + 1 + + + DDISC + Device Disconnection Interrupt Enable + 9 + 1 + + + + + INTFLAG + HOST Host Interrupt Flag + 0x01C + 16 + + + HSOF + Host Start Of Frame + 2 + 1 + + + RST + Bus Reset + 3 + 1 + + + WAKEUP + Wake Up + 4 + 1 + + + DNRSM + Downstream + 5 + 1 + + + UPRSM + Upstream Resume from the Device + 6 + 1 + + + RAMACER + Ram Access + 7 + 1 + + + DCONN + Device Connection + 8 + 1 + + + DDISC + Device Disconnection + 9 + 1 + + + + + PINTSMRY + HOST Pipe Interrupt Summary + 0x020 + 16 + read-only + + + EPINT0 + Pipe 0 Interrupt + 0 + 1 + read-only + + + EPINT1 + Pipe 1 Interrupt + 1 + 1 + read-only + + + EPINT2 + Pipe 2 Interrupt + 2 + 1 + read-only + + + EPINT3 + Pipe 3 Interrupt + 3 + 1 + read-only + + + EPINT4 + Pipe 4 Interrupt + 4 + 1 + read-only + + + EPINT5 + Pipe 5 Interrupt + 5 + 1 + read-only + + + EPINT6 + Pipe 6 Interrupt + 6 + 1 + read-only + + + EPINT7 + Pipe 7 Interrupt + 7 + 1 + read-only + + + + + DESCADD + Descriptor Address + 0x024 + 32 + + + DESCADD + Descriptor Address Value + 0 + 32 + + + + + PADCAL + USB PAD Calibration + 0x028 + 16 + + + TRANSP + USB Pad Transp calibration + 0 + 5 + + + TRANSN + USB Pad Transn calibration + 6 + 5 + + + TRIM + USB Pad Trim calibration + 12 + 3 + + + + + 8 + 0x20 + PCFG%s + HOST End Point Configuration + 0x100 + 8 + + + PTOKEN + Pipe Token + 0 + 2 + + + BK + Pipe Bank + 2 + 1 + + + PTYPE + Pipe Type + 3 + 3 + + + + + 8 + 0x20 + BINTERVAL%s + HOST Bus Access Period of Pipe + 0x103 + 8 + + + BITINTERVAL + Bit Interval + 0 + 8 + + + + + 8 + 0x20 + PSTATUSCLR%s + HOST End Point Pipe Status Clear + 0x104 + 8 + write-only + + + DTGL + Data Toggle clear + 0 + 1 + read-only + + + CURBK + Curren Bank clear + 2 + 1 + write-only + + + PFREEZE + Pipe Freeze Clear + 4 + 1 + write-only + + + BK0RDY + Bank 0 Ready Clear + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Clear + 7 + 1 + write-only + + + + + 8 + 0x20 + PSTATUSSET%s + HOST End Point Pipe Status Set + 0x105 + 8 + write-only + + + DTGL + Data Toggle Set + 0 + 1 + write-only + + + CURBK + Current Bank Set + 2 + 1 + write-only + + + PFREEZE + Pipe Freeze Set + 4 + 1 + write-only + + + BK0RDY + Bank 0 Ready Set + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Set + 7 + 1 + write-only + + + + + 8 + 0x20 + PSTATUS%s + HOST End Point Pipe Status + 0x106 + 8 + read-only + + + DTGL + Data Toggle + 0 + 1 + read-only + + + CURBK + Current Bank + 2 + 1 + read-only + + + PFREEZE + Pipe Freeze + 4 + 1 + read-only + + + BK0RDY + Bank 0 ready + 6 + 1 + read-only + + + BK1RDY + Bank 1 ready + 7 + 1 + read-only + + + + + 8 + 0x20 + PINTFLAG%s + HOST Pipe Interrupt Flag + 0x107 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Flag + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Flag + 1 + 1 + + + TRFAIL + Error Flow Interrupt Flag + 2 + 1 + + + PERR + Pipe Error Interrupt Flag + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Flag + 4 + 1 + + + STALL + Stall Interrupt Flag + 5 + 1 + + + + + 8 + 0x20 + PINTENCLR%s + HOST Pipe Interrupt Flag Clear + 0x108 + 8 + + + TRCPT0 + Transfer Complete 0 Disable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Disable + 1 + 1 + + + TRFAIL + Error Flow Interrupt Disable + 2 + 1 + + + PERR + Pipe Error Interrupt Disable + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Disable + 4 + 1 + + + STALL + Stall Inetrrupt Disable + 5 + 1 + + + + + 8 + 0x20 + PINTENSET%s + HOST Pipe Interrupt Flag Set + 0x109 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Enable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Enable + 1 + 1 + + + TRFAIL + Error Flow Interrupt Enable + 2 + 1 + + + PERR + Pipe Error Interrupt Enable + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Enable + 4 + 1 + + + STALL + Stall Interrupt Enable + 5 + 1 + + + + + + + + WDT + 1.1.0 + Watchdog Timer + WDT + WDT_ + 0x40002000 + + 0 + 0x10 + registers + + + WDT_INTREQ + 10 + + + + CTRLA + Control + 0x0 + 8 + + + ENABLE + Enable + 1 + 1 + + + WEN + Watchdog Timer Window Mode Enable + 2 + 1 + + + ALWAYSON + Always-On + 7 + 1 + + + + + CONFIG + Configuration + 0x1 + 8 + 0xBB + + + PER + Time-Out Period + 0 + 4 + + PERSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + WINDOW + Window Mode Time-Out Period + 4 + 4 + + WINDOWSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + + + EWCTRL + Early Warning Interrupt Control + 0x2 + 8 + 0x0B + + + EWOFFSET + Early Warning Interrupt Time Offset + 0 + 4 + + EWOFFSETSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + + + INTENCLR + Interrupt Enable Clear + 0x4 + 8 + + + EW + Early Warning Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x5 + 8 + + + EW + Early Warning Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x6 + 8 + + + EW + Early Warning + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x8 + 32 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + WEN + Window Enable Synchronization Busy + 2 + 1 + read-only + + + ALWAYSON + Always-On Synchronization Busy + 3 + 1 + read-only + + + CLEAR + Clear Synchronization Busy + 4 + 1 + read-only + + + + + CLEAR + Clear + 0xC + 8 + write-only + + + CLEAR + Watchdog Clear + 0 + 8 + write-only + + CLEARSelect + + KEY + Clear Key + 0xa5 + + + + + + + + + diff --git a/lib/same54/svd/ATSAME54P20A.svd b/lib/same54/svd/ATSAME54P20A.svd new file mode 100644 index 00000000..353460e1 --- /dev/null +++ b/lib/same54/svd/ATSAME54P20A.svd @@ -0,0 +1,45517 @@ + + + Atmel Corporation + ATMEL + ATSAME54P20A + SAME54 + A + Atmel ATSAME54P20A device: Cortex-M4 Microcontroller with 1MB Flash, 256KB SRAM, 128-pin package (refer to http://www.atmel.com/devices/SAME54P20A.aspx for more) + + ============================================================================\n + Atmel Microcontroller Software Support\n + ============================================================================\n + Copyright (c) 2017 Atmel Corporation,\n + a wholly owned subsidiary of Microchip Technology Inc.\n +\n + Licensed under the Apache License, Version 2.0 (the "License");\n + you may not use this file except in compliance with the License.\n + You may obtain a copy of the Licence at\n +\n + http://www.apache.org/licenses/LICENSE-2.0\n +\n + Unless required by applicable law or agreed to in writing, software\n + distributed under the License is distributed on an "AS IS" BASIS,\n + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n + See the License for the specific language governing permissions and\n + limitations under the License.\n + ============================================================================ + + + CM4 + r0p1 + little + true + true + 3 + false + + system_same54 + 8 + 32 + 32 + read-write + 0x00000000 + 0xFFFFFFFF + + + AC + 1.0.0 + Analog Comparators + AC + AC_ + 0x42002000 + + 0 + 0x40 + registers + + + AC_INTREQ + 122 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + + + CTRLB + Control B + 0x01 + 8 + write-only + + + START0 + Comparator 0 Start Comparison + 0 + 1 + + + START1 + Comparator 1 Start Comparison + 1 + 1 + + + + + EVCTRL + Event Control + 0x02 + 16 + + + COMPEO0 + Comparator 0 Event Output Enable + 0 + 1 + + + COMPEO1 + Comparator 1 Event Output Enable + 1 + 1 + + + WINEO0 + Window 0 Event Output Enable + 4 + 1 + + + COMPEI0 + Comparator 0 Event Input Enable + 8 + 1 + + + COMPEI1 + Comparator 1 Event Input Enable + 9 + 1 + + + INVEI0 + Comparator 0 Input Event Invert Enable + 12 + 1 + + + INVEI1 + Comparator 1 Input Event Invert Enable + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + COMP0 + Comparator 0 Interrupt Enable + 0 + 1 + + + COMP1 + Comparator 1 Interrupt Enable + 1 + 1 + + + WIN0 + Window 0 Interrupt Enable + 4 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + COMP0 + Comparator 0 Interrupt Enable + 0 + 1 + + + COMP1 + Comparator 1 Interrupt Enable + 1 + 1 + + + WIN0 + Window 0 Interrupt Enable + 4 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + COMP0 + Comparator 0 + 0 + 1 + + + COMP1 + Comparator 1 + 1 + 1 + + + WIN0 + Window 0 + 4 + 1 + + + + + STATUSA + Status A + 0x07 + 8 + read-only + + + STATE0 + Comparator 0 Current State + 0 + 1 + read-only + + + STATE1 + Comparator 1 Current State + 1 + 1 + read-only + + + WSTATE0 + Window 0 Current State + 4 + 2 + read-only + + WSTATE0Select + + ABOVE + Signal is above window + 0x0 + + + INSIDE + Signal is inside window + 0x1 + + + BELOW + Signal is below window + 0x2 + + + + + + + STATUSB + Status B + 0x08 + 8 + read-only + + + READY0 + Comparator 0 Ready + 0 + 1 + read-only + + + READY1 + Comparator 1 Ready + 1 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x09 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + WINCTRL + Window Control + 0x0A + 8 + + + WEN0 + Window 0 Mode Enable + 0 + 1 + + + WINTSEL0 + Window 0 Interrupt Selection + 1 + 2 + + WINTSEL0Select + + ABOVE + Interrupt on signal above window + 0x0 + + + INSIDE + Interrupt on signal inside window + 0x1 + + + BELOW + Interrupt on signal below window + 0x2 + + + OUTSIDE + Interrupt on signal outside window + 0x3 + + + + + + + 2 + 0x1 + SCALER%s + Scaler n + 0x0C + 8 + + + VALUE + Scaler Value + 0 + 6 + + + + + 2 + 0x4 + COMPCTRL%s + Comparator Control n + 0x10 + 32 + + + ENABLE + Enable + 1 + 1 + + + SINGLE + Single-Shot Mode + 2 + 1 + + + INTSEL + Interrupt Selection + 3 + 2 + + INTSELSelect + + TOGGLE + Interrupt on comparator output toggle + 0x0 + + + RISING + Interrupt on comparator output rising + 0x1 + + + FALLING + Interrupt on comparator output falling + 0x2 + + + EOC + Interrupt on end of comparison (single-shot mode only) + 0x3 + + + + + RUNSTDBY + Run in Standby + 6 + 1 + + + MUXNEG + Negative Input Mux Selection + 8 + 3 + + MUXNEGSelect + + PIN0 + I/O pin 0 + 0x0 + + + PIN1 + I/O pin 1 + 0x1 + + + PIN2 + I/O pin 2 + 0x2 + + + PIN3 + I/O pin 3 + 0x3 + + + GND + Ground + 0x4 + + + VSCALE + VDD scaler + 0x5 + + + BANDGAP + Internal bandgap voltage + 0x6 + + + DAC + DAC output + 0x7 + + + + + MUXPOS + Positive Input Mux Selection + 12 + 3 + + MUXPOSSelect + + PIN0 + I/O pin 0 + 0x0 + + + PIN1 + I/O pin 1 + 0x1 + + + PIN2 + I/O pin 2 + 0x2 + + + PIN3 + I/O pin 3 + 0x3 + + + VSCALE + VDD Scaler + 0x4 + + + + + SWAP + Swap Inputs and Invert + 15 + 1 + + + SPEED + Speed Selection + 16 + 2 + + SPEEDSelect + + HIGH + High speed + 0x3 + + + + + HYSTEN + Hysteresis Enable + 19 + 1 + + + HYST + Hysteresis Level + 20 + 2 + + HYSTSelect + + HYST50 + 50mV + 0x0 + + + HYST100 + 100mV + 0x1 + + + HYST150 + 150mV + 0x2 + + + + + FLEN + Filter Length + 24 + 3 + + FLENSelect + + OFF + No filtering + 0x0 + + + MAJ3 + 3-bit majority function (2 of 3) + 0x1 + + + MAJ5 + 5-bit majority function (3 of 5) + 0x2 + + + + + OUT + Output + 28 + 2 + + OUTSelect + + OFF + The output of COMPn is not routed to the COMPn I/O port + 0x0 + + + ASYNC + The asynchronous output of COMPn is routed to the COMPn I/O port + 0x1 + + + SYNC + The synchronous output (including filtering) of COMPn is routed to the COMPn I/O port + 0x2 + + + + + + + SYNCBUSY + Synchronization Busy + 0x20 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + WINCTRL + WINCTRL Synchronization Busy + 2 + 1 + read-only + + + COMPCTRL0 + COMPCTRL 0 Synchronization Busy + 3 + 1 + read-only + + + COMPCTRL1 + COMPCTRL 1 Synchronization Busy + 4 + 1 + read-only + + + + + CALIB + Calibration + 0x24 + 16 + 0x0101 + + + BIAS0 + COMP0/1 Bias Scaling + 0 + 2 + + + + + + + ADC0 + 1.0.0 + Analog Digital Converter 0 + ADC + ADC_ + 0x43001C00 + + 0 + 0x80 + registers + + + ADC0_INTREQ_0 + 118 + + + ADC0_INTREQ_1 + 119 + + + + CTRLA + Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + DUALSEL + Dual Mode Trigger Selection + 3 + 2 + + DUALSELSelect + + BOTH + Start event or software trigger will start a conversion on both ADCs + 0x0 + + + INTERLEAVE + START event or software trigger will alternatingly start a conversion on ADC0 and ADC1 + 0x1 + + + + + SLAVEEN + Slave Enable + 5 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + PRESCALER + Prescaler Configuration + 8 + 3 + + PRESCALERSelect + + DIV2 + Peripheral clock divided by 2 + 0x0 + + + DIV4 + Peripheral clock divided by 4 + 0x1 + + + DIV8 + Peripheral clock divided by 8 + 0x2 + + + DIV16 + Peripheral clock divided by 16 + 0x3 + + + DIV32 + Peripheral clock divided by 32 + 0x4 + + + DIV64 + Peripheral clock divided by 64 + 0x5 + + + DIV128 + Peripheral clock divided by 128 + 0x6 + + + DIV256 + Peripheral clock divided by 256 + 0x7 + + + + + R2R + Rail to Rail Operation Enable + 15 + 1 + + + + + EVCTRL + Event Control + 0x02 + 8 + + + FLUSHEI + Flush Event Input Enable + 0 + 1 + + + STARTEI + Start Conversion Event Input Enable + 1 + 1 + + + FLUSHINV + Flush Event Invert Enable + 2 + 1 + + + STARTINV + Start Conversion Event Invert Enable + 3 + 1 + + + RESRDYEO + Result Ready Event Out + 4 + 1 + + + WINMONEO + Window Monitor Event Out + 5 + 1 + + + + + DBGCTRL + Debug Control + 0x03 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + INPUTCTRL + Input Control + 0x04 + 16 + + + MUXPOS + Positive Mux Input Selection + 0 + 5 + + MUXPOSSelect + + AIN0 + ADC AIN0 Pin + 0x0 + + + AIN1 + ADC AIN1 Pin + 0x1 + + + AIN2 + ADC AIN2 Pin + 0x2 + + + AIN3 + ADC AIN3 Pin + 0x3 + + + AIN4 + ADC AIN4 Pin + 0x4 + + + AIN5 + ADC AIN5 Pin + 0x5 + + + AIN6 + ADC AIN6 Pin + 0x6 + + + AIN7 + ADC AIN7 Pin + 0x7 + + + AIN8 + ADC AIN8 Pin + 0x8 + + + AIN9 + ADC AIN9 Pin + 0x9 + + + AIN10 + ADC AIN10 Pin + 0xa + + + AIN11 + ADC AIN11 Pin + 0xb + + + AIN12 + ADC AIN12 Pin + 0xc + + + AIN13 + ADC AIN13 Pin + 0xd + + + AIN14 + ADC AIN14 Pin + 0xe + + + AIN15 + ADC AIN15 Pin + 0xf + + + AIN16 + ADC AIN16 Pin + 0x10 + + + AIN17 + ADC AIN17 Pin + 0x11 + + + AIN18 + ADC AIN18 Pin + 0x12 + + + AIN19 + ADC AIN19 Pin + 0x13 + + + AIN20 + ADC AIN20 Pin + 0x14 + + + AIN21 + ADC AIN21 Pin + 0x15 + + + AIN22 + ADC AIN22 Pin + 0x16 + + + AIN23 + ADC AIN23 Pin + 0x17 + + + SCALEDCOREVCC + 1/4 Scaled Core Supply + 0x18 + + + SCALEDVBAT + 1/4 Scaled VBAT Supply + 0x19 + + + SCALEDIOVCC + 1/4 Scaled I/O Supply + 0x1a + + + BANDGAP + Bandgap Voltage + 0x1b + + + PTAT + Temperature Sensor + 0x1c + + + CTAT + Temperature Sensor + 0x1d + + + DAC + DAC Output + 0x1e + + + PTC + PTC output (only on ADC0) + 0x1f + + + + + DIFFMODE + Differential Mode + 7 + 1 + + + MUXNEG + Negative Mux Input Selection + 8 + 5 + + MUXNEGSelect + + AIN0 + ADC AIN0 Pin + 0x0 + + + AIN1 + ADC AIN1 Pin + 0x1 + + + AIN2 + ADC AIN2 Pin + 0x2 + + + AIN3 + ADC AIN3 Pin + 0x3 + + + AIN4 + ADC AIN4 Pin + 0x4 + + + AIN5 + ADC AIN5 Pin + 0x5 + + + AIN6 + ADC AIN6 Pin + 0x6 + + + AIN7 + ADC AIN7 Pin + 0x7 + + + GND + Internal Ground + 0x18 + + + + + DSEQSTOP + Stop DMA Sequencing + 15 + 1 + + + + + CTRLB + Control B + 0x06 + 16 + + + LEFTADJ + Left-Adjusted Result + 0 + 1 + + + FREERUN + Free Running Mode + 1 + 1 + + + CORREN + Digital Correction Logic Enable + 2 + 1 + + + RESSEL + Conversion Result Resolution + 3 + 2 + + RESSELSelect + + 12BIT + 12-bit result + 0x0 + + + 16BIT + For averaging mode output + 0x1 + + + 10BIT + 10-bit result + 0x2 + + + 8BIT + 8-bit result + 0x3 + + + + + WINMODE + Window Monitor Mode + 8 + 3 + + WINMODESelect + + DISABLE + No window mode (default) + 0x0 + + + MODE1 + RESULT > WINLT + 0x1 + + + MODE2 + RESULT < WINUT + 0x2 + + + MODE3 + WINLT < RESULT < WINUT + 0x3 + + + MODE4 + !(WINLT < RESULT < WINUT) + 0x4 + + + + + WINSS + Window Single Sample + 11 + 1 + + + + + REFCTRL + Reference Control + 0x08 + 8 + + + REFSEL + Reference Selection + 0 + 4 + + REFSELSelect + + INTREF + Internal Bandgap Reference + 0x0 + + + INTVCC0 + 1/2 VDDANA + 0x2 + + + INTVCC1 + VDDANA + 0x3 + + + AREFA + External Reference + 0x4 + + + AREFB + External Reference + 0x5 + + + AREFC + External Reference (only on ADC1) + 0x6 + + + + + REFCOMP + Reference Buffer Offset Compensation Enable + 7 + 1 + + + + + AVGCTRL + Average Control + 0x0A + 8 + + + SAMPLENUM + Number of Samples to be Collected + 0 + 4 + + SAMPLENUMSelect + + 1 + 1 sample + 0x0 + + + 2 + 2 samples + 0x1 + + + 4 + 4 samples + 0x2 + + + 8 + 8 samples + 0x3 + + + 16 + 16 samples + 0x4 + + + 32 + 32 samples + 0x5 + + + 64 + 64 samples + 0x6 + + + 128 + 128 samples + 0x7 + + + 256 + 256 samples + 0x8 + + + 512 + 512 samples + 0x9 + + + 1024 + 1024 samples + 0xa + + + + + ADJRES + Adjusting Result / Division Coefficient + 4 + 3 + + + + + SAMPCTRL + Sample Time Control + 0x0B + 8 + + + SAMPLEN + Sampling Time Length + 0 + 6 + + + OFFCOMP + Comparator Offset Compensation Enable + 7 + 1 + + + + + WINLT + Window Monitor Lower Threshold + 0x0C + 16 + + + WINLT + Window Lower Threshold + 0 + 16 + + + + + WINUT + Window Monitor Upper Threshold + 0x0E + 16 + + + WINUT + Window Upper Threshold + 0 + 16 + + + + + GAINCORR + Gain Correction + 0x10 + 16 + + + GAINCORR + Gain Correction Value + 0 + 12 + + + + + OFFSETCORR + Offset Correction + 0x12 + 16 + + + OFFSETCORR + Offset Correction Value + 0 + 12 + + + + + SWTRIG + Software Trigger + 0x14 + 8 + + + FLUSH + ADC Conversion Flush + 0 + 1 + + + START + Start ADC Conversion + 1 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x2C + 8 + + + RESRDY + Result Ready Interrupt Disable + 0 + 1 + + + OVERRUN + Overrun Interrupt Disable + 1 + 1 + + + WINMON + Window Monitor Interrupt Disable + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x2D + 8 + + + RESRDY + Result Ready Interrupt Enable + 0 + 1 + + + OVERRUN + Overrun Interrupt Enable + 1 + 1 + + + WINMON + Window Monitor Interrupt Enable + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x2E + 8 + + + RESRDY + Result Ready Interrupt Flag + 0 + 1 + + + OVERRUN + Overrun Interrupt Flag + 1 + 1 + + + WINMON + Window Monitor Interrupt Flag + 2 + 1 + + + + + STATUS + Status + 0x2F + 8 + read-only + + + ADCBUSY + ADC Busy Status + 0 + 1 + read-only + + + WCC + Window Comparator Counter + 2 + 6 + read-only + + + + + SYNCBUSY + Synchronization Busy + 0x30 + 32 + read-only + + + SWRST + SWRST Synchronization Busy + 0 + 1 + read-only + + + ENABLE + ENABLE Synchronization Busy + 1 + 1 + read-only + + + INPUTCTRL + Input Control Synchronization Busy + 2 + 1 + read-only + + + CTRLB + Control B Synchronization Busy + 3 + 1 + read-only + + + REFCTRL + Reference Control Synchronization Busy + 4 + 1 + read-only + + + AVGCTRL + Average Control Synchronization Busy + 5 + 1 + read-only + + + SAMPCTRL + Sampling Time Control Synchronization Busy + 6 + 1 + read-only + + + WINLT + Window Monitor Lower Threshold Synchronization Busy + 7 + 1 + read-only + + + WINUT + Window Monitor Upper Threshold Synchronization Busy + 8 + 1 + read-only + + + GAINCORR + Gain Correction Synchronization Busy + 9 + 1 + read-only + + + OFFSETCORR + Offset Correction Synchronization Busy + 10 + 1 + read-only + + + SWTRIG + Software Trigger Synchronization Busy + 11 + 1 + read-only + + + + + DSEQDATA + DMA Sequencial Data + 0x34 + 32 + write-only + + + DATA + DMA Sequential Data + 0 + 32 + write-only + + + + + DSEQCTRL + DMA Sequential Control + 0x38 + 32 + + + INPUTCTRL + Input Control + 0 + 1 + + + CTRLB + Control B + 1 + 1 + + + REFCTRL + Reference Control + 2 + 1 + + + AVGCTRL + Average Control + 3 + 1 + + + SAMPCTRL + Sampling Time Control + 4 + 1 + + + WINLT + Window Monitor Lower Threshold + 5 + 1 + + + WINUT + Window Monitor Upper Threshold + 6 + 1 + + + GAINCORR + Gain Correction + 7 + 1 + + + OFFSETCORR + Offset Correction + 8 + 1 + + + AUTOSTART + ADC Auto-Start Conversion + 31 + 1 + + + + + DSEQSTAT + DMA Sequencial Status + 0x3C + 32 + read-only + + + INPUTCTRL + Input Control + 0 + 1 + read-only + + + CTRLB + Control B + 1 + 1 + read-only + + + REFCTRL + Reference Control + 2 + 1 + read-only + + + AVGCTRL + Average Control + 3 + 1 + read-only + + + SAMPCTRL + Sampling Time Control + 4 + 1 + read-only + + + WINLT + Window Monitor Lower Threshold + 5 + 1 + read-only + + + WINUT + Window Monitor Upper Threshold + 6 + 1 + read-only + + + GAINCORR + Gain Correction + 7 + 1 + read-only + + + OFFSETCORR + Offset Correction + 8 + 1 + read-only + + + BUSY + DMA Sequencing Busy + 31 + 1 + read-only + + + + + RESULT + Result Conversion Value + 0x40 + 16 + read-only + + + RESULT + Result Conversion Value + 0 + 16 + read-only + + + + + RESS + Last Sample Result + 0x44 + 16 + read-only + + + RESS + Last ADC conversion result + 0 + 16 + read-only + + + + + CALIB + Calibration + 0x48 + 16 + + + BIASCOMP + Bias Comparator Scaling + 0 + 3 + + + BIASR2R + Bias R2R Ampli scaling + 4 + 3 + + + BIASREFBUF + Bias Reference Buffer Scaling + 8 + 3 + + + + + + + ADC1 + Analog Digital Converter 1 + 0x43002000 + + ADC1_INTREQ_0 + 120 + + + ADC1_INTREQ_1 + 121 + + + + AES + 2.2.0 + Advanced Encryption Standard + AES + AES_ + 0x42002400 + + 0 + 0x100 + registers + + + AES_INTREQ + 130 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + AESMODE + AES Modes of operation + 2 + 3 + + AESMODESelect + + ECB + Electronic code book mode + 0x0 + + + CBC + Cipher block chaining mode + 0x1 + + + OFB + Output feedback mode + 0x2 + + + CFB + Cipher feedback mode + 0x3 + + + COUNTER + Counter mode + 0x4 + + + CCM + CCM mode + 0x5 + + + GCM + Galois counter mode + 0x6 + + + + + CFBS + Cipher Feedback Block Size + 5 + 3 + + CFBSSelect + + 128BIT + 128-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x0 + + + 64BIT + 64-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x1 + + + 32BIT + 32-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x2 + + + 16BIT + 16-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x3 + + + 8BIT + 8-bit Input data block for Encryption/Decryption in Cipher Feedback mode + 0x4 + + + + + KEYSIZE + Encryption Key Size + 8 + 2 + + KEYSIZESelect + + 128BIT + 128-bit Key for Encryption / Decryption + 0x0 + + + 192BIT + 192-bit Key for Encryption / Decryption + 0x1 + + + 256BIT + 256-bit Key for Encryption / Decryption + 0x2 + + + + + CIPHER + Cipher Mode + 10 + 1 + + CIPHERSelect + + DEC + Decryption + 0x0 + + + ENC + Encryption + 0x1 + + + + + STARTMODE + Start Mode Select + 11 + 1 + + STARTMODESelect + + MANUAL + Start Encryption / Decryption in Manual mode + 0x0 + + + AUTO + Start Encryption / Decryption in Auto mode + 0x1 + + + + + LOD + Last Output Data Mode + 12 + 1 + + LODSelect + + NONE + No effect + 0x0 + + + LAST + Start encryption in Last Output Data mode + 0x1 + + + + + KEYGEN + Last Key Generation + 13 + 1 + + KEYGENSelect + + NONE + No effect + 0x0 + + + LAST + Start Computation of the last NK words of the expanded key + 0x1 + + + + + XORKEY + XOR Key Operation + 14 + 1 + + XORKEYSelect + + NONE + No effect + 0x0 + + + XOR + The user keyword gets XORed with the previous keyword register content. + 0x1 + + + + + CTYPE + Counter Measure Type + 16 + 4 + + + + + CTRLB + Control B + 0x04 + 8 + + + START + Start Encryption/Decryption + 0 + 1 + + + NEWMSG + New message + 1 + 1 + + + EOM + End of message + 2 + 1 + + + GFMUL + GF Multiplication + 3 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x05 + 8 + + + ENCCMP + Encryption Complete Interrupt Enable + 0 + 1 + + + GFMCMP + GF Multiplication Complete Interrupt Enable + 1 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x06 + 8 + + + ENCCMP + Encryption Complete Interrupt Enable + 0 + 1 + + + GFMCMP + GF Multiplication Complete Interrupt Enable + 1 + 1 + + + + + INTFLAG + Interrupt Flag Status + 0x07 + 8 + + + ENCCMP + Encryption Complete + 0 + 1 + + + GFMCMP + GF Multiplication Complete + 1 + 1 + + + + + DATABUFPTR + Data buffer pointer + 0x08 + 8 + + + INDATAPTR + Input Data Pointer + 0 + 2 + + + + + DBGCTRL + Debug control + 0x09 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + 8 + 0x4 + KEYWORD%s + Keyword n + 0x0C + 32 + write-only + + + INDATA + Indata + 0x38 + 32 + + + 4 + 0x4 + INTVECTV%s + Initialisation Vector n + 0x3C + 32 + write-only + + + 4 + 0x4 + HASHKEY%s + Hash key n + 0x5C + 32 + + + 4 + 0x4 + GHASH%s + Galois Hash n + 0x6C + 32 + + + CIPLEN + Cipher Length + 0x80 + 32 + + + RANDSEED + Random Seed + 0x84 + 32 + + + + + CAN0 + 3.2.1 + Control Area Network 0 + CAN + CAN_ + 0x42000000 + + 0 + 0x100 + registers + + + CAN0_INTREQ + 78 + + + + CREL + Core Release + 0x00 + 32 + read-only + 0x32100000 + + + SUBSTEP + Sub-step of Core Release + 20 + 4 + read-only + + + STEP + Step of Core Release + 24 + 4 + read-only + + + REL + Core Release + 28 + 4 + read-only + + + + + ENDN + Endian + 0x04 + 32 + read-only + 0x87654321 + + + ETV + Endianness Test Value + 0 + 32 + read-only + + + + + MRCFG + Message RAM Configuration + 0x08 + 32 + 0x00000002 + + + QOS + Quality of Service + 0 + 2 + + QOSSelect + + DISABLE + Background (no sensitive operation) + 0x0 + + + LOW + Sensitive Bandwidth + 0x1 + + + MEDIUM + Sensitive Latency + 0x2 + + + HIGH + Critical Latency + 0x3 + + + + + + + DBTP + Fast Bit Timing and Prescaler + 0x0C + 32 + 0x00000A33 + + + DSJW + Data (Re)Synchronization Jump Width + 0 + 4 + + + DTSEG2 + Data time segment after sample point + 4 + 4 + + + DTSEG1 + Data time segment before sample point + 8 + 5 + + + DBRP + Data Baud Rate Prescaler + 16 + 5 + + + TDC + Tranceiver Delay Compensation + 23 + 1 + + + + + TEST + Test + 0x10 + 32 + + + LBCK + Loop Back Mode + 4 + 1 + + + TX + Control of Transmit Pin + 5 + 2 + + TXSelect + + CORE + TX controlled by CAN core + 0x0 + + + SAMPLE + TX monitoring sample point + 0x1 + + + DOMINANT + Dominant (0) level at pin CAN_TX + 0x2 + + + RECESSIVE + Recessive (1) level at pin CAN_TX + 0x3 + + + + + RX + Receive Pin + 7 + 1 + read-only + + + + + RWD + RAM Watchdog + 0x14 + 32 + + + WDC + Watchdog Configuration + 0 + 8 + read-only + + + WDV + Watchdog Value + 8 + 8 + read-only + + + + + CCCR + CC Control + 0x18 + 32 + 0x00000001 + + + INIT + Initialization + 0 + 1 + + + CCE + Configuration Change Enable + 1 + 1 + + + ASM + ASM Restricted Operation Mode + 2 + 1 + + + CSA + Clock Stop Acknowledge + 3 + 1 + read-only + + + CSR + Clock Stop Request + 4 + 1 + + + MON + Bus Monitoring Mode + 5 + 1 + + + DAR + Disable Automatic Retransmission + 6 + 1 + + + TEST + Test Mode Enable + 7 + 1 + + + FDOE + FD Operation Enable + 8 + 1 + + + BRSE + Bit Rate Switch Enable + 9 + 1 + + + PXHD + Protocol Exception Handling Disable + 12 + 1 + + + EFBI + Edge Filtering during Bus Integration + 13 + 1 + + + TXP + Transmit Pause + 14 + 1 + + + NISO + Non ISO Operation + 15 + 1 + + + + + NBTP + Nominal Bit Timing and Prescaler + 0x1C + 32 + 0x06000A03 + + + NTSEG2 + Nominal Time segment after sample point + 0 + 7 + + + NTSEG1 + Nominal Time segment before sample point + 8 + 8 + + + NBRP + Nominal Baud Rate Prescaler + 16 + 9 + + + NSJW + Nominal (Re)Synchronization Jump Width + 25 + 7 + + + + + TSCC + Timestamp Counter Configuration + 0x20 + 32 + + + TSS + Timestamp Select + 0 + 2 + + TSSSelect + + ZERO + Timestamp counter value always 0x0000 + 0x0 + + + INC + Timestamp counter value incremented by TCP + 0x1 + + + EXT + External timestamp counter value used + 0x2 + + + + + TCP + Timestamp Counter Prescaler + 16 + 4 + + + + + TSCV + Timestamp Counter Value + 0x24 + 32 + read-only + + + TSC + Timestamp Counter + 0 + 16 + read-only + + + + + TOCC + Timeout Counter Configuration + 0x28 + 32 + 0xFFFF0000 + + + ETOC + Enable Timeout Counter + 0 + 1 + + + TOS + Timeout Select + 1 + 2 + + TOSSelect + + CONT + Continuout operation + 0x0 + + + TXEF + Timeout controlled by TX Event FIFO + 0x1 + + + RXF0 + Timeout controlled by Rx FIFO 0 + 0x2 + + + RXF1 + Timeout controlled by Rx FIFO 1 + 0x3 + + + + + TOP + Timeout Period + 16 + 16 + + + + + TOCV + Timeout Counter Value + 0x2C + 32 + 0x0000FFFF + + + TOC + Timeout Counter + 0 + 16 + + + + + ECR + Error Counter + 0x40 + 32 + read-only + + + TEC + Transmit Error Counter + 0 + 8 + read-only + + + REC + Receive Error Counter + 8 + 7 + read-only + + + RP + Receive Error Passive + 15 + 1 + read-only + + + CEL + CAN Error Logging + 16 + 8 + read-only + + + + + PSR + Protocol Status + 0x44 + 32 + read-only + 0x00000707 + + + LEC + Last Error Code + 0 + 3 + read-only + + LECSelect + + NONE + No Error + 0x0 + + + STUFF + Stuff Error + 0x1 + + + FORM + Form Error + 0x2 + + + ACK + Ack Error + 0x3 + + + BIT1 + Bit1 Error + 0x4 + + + BIT0 + Bit0 Error + 0x5 + + + CRC + CRC Error + 0x6 + + + NC + No Change + 0x7 + + + + + ACT + Activity + 3 + 2 + read-only + + ACTSelect + + SYNC + Node is synchronizing on CAN communication + 0x0 + + + IDLE + Node is neither receiver nor transmitter + 0x1 + + + RX + Node is operating as receiver + 0x2 + + + TX + Node is operating as transmitter + 0x3 + + + + + EP + Error Passive + 5 + 1 + read-only + + + EW + Warning Status + 6 + 1 + read-only + + + BO + Bus_Off Status + 7 + 1 + read-only + + + DLEC + Data Phase Last Error Code + 8 + 3 + read-only + + DLECSelect + + NONE + No Error + 0x0 + + + STUFF + Stuff Error + 0x1 + + + FORM + Form Error + 0x2 + + + ACK + Ack Error + 0x3 + + + BIT1 + Bit1 Error + 0x4 + + + BIT0 + Bit0 Error + 0x5 + + + CRC + CRC Error + 0x6 + + + NC + No Change + 0x7 + + + + + RESI + ESI flag of last received CAN FD Message + 11 + 1 + read-only + + + RBRS + BRS flag of last received CAN FD Message + 12 + 1 + read-only + + + RFDF + Received a CAN FD Message + 13 + 1 + read-only + + + PXE + Protocol Exception Event + 14 + 1 + read-only + + + TDCV + Transmitter Delay Compensation Value + 16 + 7 + read-only + + + + + TDCR + Extended ID Filter Configuration + 0x48 + 32 + + + TDCF + Transmitter Delay Compensation Filter Length + 0 + 7 + read-only + + + TDCO + Transmitter Delay Compensation Offset + 8 + 7 + + + + + IR + Interrupt + 0x50 + 32 + + + RF0N + Rx FIFO 0 New Message + 0 + 1 + + + RF0W + Rx FIFO 0 Watermark Reached + 1 + 1 + + + RF0F + Rx FIFO 0 Full + 2 + 1 + + + RF0L + Rx FIFO 0 Message Lost + 3 + 1 + + + RF1N + Rx FIFO 1 New Message + 4 + 1 + + + RF1W + Rx FIFO 1 Watermark Reached + 5 + 1 + + + RF1F + Rx FIFO 1 FIFO Full + 6 + 1 + + + RF1L + Rx FIFO 1 Message Lost + 7 + 1 + + + HPM + High Priority Message + 8 + 1 + + + TC + Timestamp Completed + 9 + 1 + + + TCF + Transmission Cancellation Finished + 10 + 1 + + + TFE + Tx FIFO Empty + 11 + 1 + + + TEFN + Tx Event FIFO New Entry + 12 + 1 + + + TEFW + Tx Event FIFO Watermark Reached + 13 + 1 + + + TEFF + Tx Event FIFO Full + 14 + 1 + + + TEFL + Tx Event FIFO Element Lost + 15 + 1 + + + TSW + Timestamp Wraparound + 16 + 1 + + + MRAF + Message RAM Access Failure + 17 + 1 + + + TOO + Timeout Occurred + 18 + 1 + + + DRX + Message stored to Dedicated Rx Buffer + 19 + 1 + + + BEC + Bit Error Corrected + 20 + 1 + + + BEU + Bit Error Uncorrected + 21 + 1 + + + ELO + Error Logging Overflow + 22 + 1 + + + EP + Error Passive + 23 + 1 + + + EW + Warning Status + 24 + 1 + + + BO + Bus_Off Status + 25 + 1 + + + WDI + Watchdog Interrupt + 26 + 1 + + + PEA + Protocol Error in Arbitration Phase + 27 + 1 + + + PED + Protocol Error in Data Phase + 28 + 1 + + + ARA + Access to Reserved Address + 29 + 1 + + + + + IE + Interrupt Enable + 0x54 + 32 + + + RF0NE + Rx FIFO 0 New Message Interrupt Enable + 0 + 1 + + + RF0WE + Rx FIFO 0 Watermark Reached Interrupt Enable + 1 + 1 + + + RF0FE + Rx FIFO 0 Full Interrupt Enable + 2 + 1 + + + RF0LE + Rx FIFO 0 Message Lost Interrupt Enable + 3 + 1 + + + RF1NE + Rx FIFO 1 New Message Interrupt Enable + 4 + 1 + + + RF1WE + Rx FIFO 1 Watermark Reached Interrupt Enable + 5 + 1 + + + RF1FE + Rx FIFO 1 FIFO Full Interrupt Enable + 6 + 1 + + + RF1LE + Rx FIFO 1 Message Lost Interrupt Enable + 7 + 1 + + + HPME + High Priority Message Interrupt Enable + 8 + 1 + + + TCE + Timestamp Completed Interrupt Enable + 9 + 1 + + + TCFE + Transmission Cancellation Finished Interrupt Enable + 10 + 1 + + + TFEE + Tx FIFO Empty Interrupt Enable + 11 + 1 + + + TEFNE + Tx Event FIFO New Entry Interrupt Enable + 12 + 1 + + + TEFWE + Tx Event FIFO Watermark Reached Interrupt Enable + 13 + 1 + + + TEFFE + Tx Event FIFO Full Interrupt Enable + 14 + 1 + + + TEFLE + Tx Event FIFO Element Lost Interrupt Enable + 15 + 1 + + + TSWE + Timestamp Wraparound Interrupt Enable + 16 + 1 + + + MRAFE + Message RAM Access Failure Interrupt Enable + 17 + 1 + + + TOOE + Timeout Occurred Interrupt Enable + 18 + 1 + + + DRXE + Message stored to Dedicated Rx Buffer Interrupt Enable + 19 + 1 + + + BECE + Bit Error Corrected Interrupt Enable + 20 + 1 + + + BEUE + Bit Error Uncorrected Interrupt Enable + 21 + 1 + + + ELOE + Error Logging Overflow Interrupt Enable + 22 + 1 + + + EPE + Error Passive Interrupt Enable + 23 + 1 + + + EWE + Warning Status Interrupt Enable + 24 + 1 + + + BOE + Bus_Off Status Interrupt Enable + 25 + 1 + + + WDIE + Watchdog Interrupt Interrupt Enable + 26 + 1 + + + PEAE + Protocol Error in Arbitration Phase Enable + 27 + 1 + + + PEDE + Protocol Error in Data Phase Enable + 28 + 1 + + + ARAE + Access to Reserved Address Enable + 29 + 1 + + + + + ILS + Interrupt Line Select + 0x58 + 32 + + + RF0NL + Rx FIFO 0 New Message Interrupt Line + 0 + 1 + + + RF0WL + Rx FIFO 0 Watermark Reached Interrupt Line + 1 + 1 + + + RF0FL + Rx FIFO 0 Full Interrupt Line + 2 + 1 + + + RF0LL + Rx FIFO 0 Message Lost Interrupt Line + 3 + 1 + + + RF1NL + Rx FIFO 1 New Message Interrupt Line + 4 + 1 + + + RF1WL + Rx FIFO 1 Watermark Reached Interrupt Line + 5 + 1 + + + RF1FL + Rx FIFO 1 FIFO Full Interrupt Line + 6 + 1 + + + RF1LL + Rx FIFO 1 Message Lost Interrupt Line + 7 + 1 + + + HPML + High Priority Message Interrupt Line + 8 + 1 + + + TCL + Timestamp Completed Interrupt Line + 9 + 1 + + + TCFL + Transmission Cancellation Finished Interrupt Line + 10 + 1 + + + TFEL + Tx FIFO Empty Interrupt Line + 11 + 1 + + + TEFNL + Tx Event FIFO New Entry Interrupt Line + 12 + 1 + + + TEFWL + Tx Event FIFO Watermark Reached Interrupt Line + 13 + 1 + + + TEFFL + Tx Event FIFO Full Interrupt Line + 14 + 1 + + + TEFLL + Tx Event FIFO Element Lost Interrupt Line + 15 + 1 + + + TSWL + Timestamp Wraparound Interrupt Line + 16 + 1 + + + MRAFL + Message RAM Access Failure Interrupt Line + 17 + 1 + + + TOOL + Timeout Occurred Interrupt Line + 18 + 1 + + + DRXL + Message stored to Dedicated Rx Buffer Interrupt Line + 19 + 1 + + + BECL + Bit Error Corrected Interrupt Line + 20 + 1 + + + BEUL + Bit Error Uncorrected Interrupt Line + 21 + 1 + + + ELOL + Error Logging Overflow Interrupt Line + 22 + 1 + + + EPL + Error Passive Interrupt Line + 23 + 1 + + + EWL + Warning Status Interrupt Line + 24 + 1 + + + BOL + Bus_Off Status Interrupt Line + 25 + 1 + + + WDIL + Watchdog Interrupt Interrupt Line + 26 + 1 + + + PEAL + Protocol Error in Arbitration Phase Line + 27 + 1 + + + PEDL + Protocol Error in Data Phase Line + 28 + 1 + + + ARAL + Access to Reserved Address Line + 29 + 1 + + + + + ILE + Interrupt Line Enable + 0x5C + 32 + + + EINT0 + Enable Interrupt Line 0 + 0 + 1 + + + EINT1 + Enable Interrupt Line 1 + 1 + 1 + + + + + GFC + Global Filter Configuration + 0x80 + 32 + + + RRFE + Reject Remote Frames Extended + 0 + 1 + + + RRFS + Reject Remote Frames Standard + 1 + 1 + + + ANFE + Accept Non-matching Frames Extended + 2 + 2 + + ANFESelect + + RXF0 + Accept in Rx FIFO 0 + 0x0 + + + RXF1 + Accept in Rx FIFO 1 + 0x1 + + + REJECT + Reject + 0x2 + + + + + ANFS + Accept Non-matching Frames Standard + 4 + 2 + + ANFSSelect + + RXF0 + Accept in Rx FIFO 0 + 0x0 + + + RXF1 + Accept in Rx FIFO 1 + 0x1 + + + REJECT + Reject + 0x2 + + + + + + + SIDFC + Standard ID Filter Configuration + 0x84 + 32 + + + FLSSA + Filter List Standard Start Address + 0 + 16 + + + LSS + List Size Standard + 16 + 8 + + + + + XIDFC + Extended ID Filter Configuration + 0x88 + 32 + + + FLESA + Filter List Extended Start Address + 0 + 16 + + + LSE + List Size Extended + 16 + 7 + + + + + XIDAM + Extended ID AND Mask + 0x90 + 32 + 0x1FFFFFFF + + + EIDM + Extended ID Mask + 0 + 29 + + + + + HPMS + High Priority Message Status + 0x94 + 32 + read-only + + + BIDX + Buffer Index + 0 + 6 + read-only + + + MSI + Message Storage Indicator + 6 + 2 + read-only + + MSISelect + + NONE + No FIFO selected + 0x0 + + + LOST + FIFO message lost + 0x1 + + + FIFO0 + Message stored in FIFO 0 + 0x2 + + + FIFO1 + Message stored in FIFO 1 + 0x3 + + + + + FIDX + Filter Index + 8 + 7 + read-only + + + FLST + Filter List + 15 + 1 + read-only + + + + + NDAT1 + New Data 1 + 0x98 + 32 + + + ND0 + New Data 0 + 0 + 1 + + + ND1 + New Data 1 + 1 + 1 + + + ND2 + New Data 2 + 2 + 1 + + + ND3 + New Data 3 + 3 + 1 + + + ND4 + New Data 4 + 4 + 1 + + + ND5 + New Data 5 + 5 + 1 + + + ND6 + New Data 6 + 6 + 1 + + + ND7 + New Data 7 + 7 + 1 + + + ND8 + New Data 8 + 8 + 1 + + + ND9 + New Data 9 + 9 + 1 + + + ND10 + New Data 10 + 10 + 1 + + + ND11 + New Data 11 + 11 + 1 + + + ND12 + New Data 12 + 12 + 1 + + + ND13 + New Data 13 + 13 + 1 + + + ND14 + New Data 14 + 14 + 1 + + + ND15 + New Data 15 + 15 + 1 + + + ND16 + New Data 16 + 16 + 1 + + + ND17 + New Data 17 + 17 + 1 + + + ND18 + New Data 18 + 18 + 1 + + + ND19 + New Data 19 + 19 + 1 + + + ND20 + New Data 20 + 20 + 1 + + + ND21 + New Data 21 + 21 + 1 + + + ND22 + New Data 22 + 22 + 1 + + + ND23 + New Data 23 + 23 + 1 + + + ND24 + New Data 24 + 24 + 1 + + + ND25 + New Data 25 + 25 + 1 + + + ND26 + New Data 26 + 26 + 1 + + + ND27 + New Data 27 + 27 + 1 + + + ND28 + New Data 28 + 28 + 1 + + + ND29 + New Data 29 + 29 + 1 + + + ND30 + New Data 30 + 30 + 1 + + + ND31 + New Data 31 + 31 + 1 + + + + + NDAT2 + New Data 2 + 0x9C + 32 + + + ND32 + New Data 32 + 0 + 1 + + + ND33 + New Data 33 + 1 + 1 + + + ND34 + New Data 34 + 2 + 1 + + + ND35 + New Data 35 + 3 + 1 + + + ND36 + New Data 36 + 4 + 1 + + + ND37 + New Data 37 + 5 + 1 + + + ND38 + New Data 38 + 6 + 1 + + + ND39 + New Data 39 + 7 + 1 + + + ND40 + New Data 40 + 8 + 1 + + + ND41 + New Data 41 + 9 + 1 + + + ND42 + New Data 42 + 10 + 1 + + + ND43 + New Data 43 + 11 + 1 + + + ND44 + New Data 44 + 12 + 1 + + + ND45 + New Data 45 + 13 + 1 + + + ND46 + New Data 46 + 14 + 1 + + + ND47 + New Data 47 + 15 + 1 + + + ND48 + New Data 48 + 16 + 1 + + + ND49 + New Data 49 + 17 + 1 + + + ND50 + New Data 50 + 18 + 1 + + + ND51 + New Data 51 + 19 + 1 + + + ND52 + New Data 52 + 20 + 1 + + + ND53 + New Data 53 + 21 + 1 + + + ND54 + New Data 54 + 22 + 1 + + + ND55 + New Data 55 + 23 + 1 + + + ND56 + New Data 56 + 24 + 1 + + + ND57 + New Data 57 + 25 + 1 + + + ND58 + New Data 58 + 26 + 1 + + + ND59 + New Data 59 + 27 + 1 + + + ND60 + New Data 60 + 28 + 1 + + + ND61 + New Data 61 + 29 + 1 + + + ND62 + New Data 62 + 30 + 1 + + + ND63 + New Data 63 + 31 + 1 + + + + + RXF0C + Rx FIFO 0 Configuration + 0xA0 + 32 + + + F0SA + Rx FIFO 0 Start Address + 0 + 16 + + + F0S + Rx FIFO 0 Size + 16 + 7 + + + F0WM + Rx FIFO 0 Watermark + 24 + 7 + + + F0OM + FIFO 0 Operation Mode + 31 + 1 + + + + + RXF0S + Rx FIFO 0 Status + 0xA4 + 32 + read-only + + + F0FL + Rx FIFO 0 Fill Level + 0 + 7 + read-only + + + F0GI + Rx FIFO 0 Get Index + 8 + 6 + read-only + + + F0PI + Rx FIFO 0 Put Index + 16 + 6 + read-only + + + F0F + Rx FIFO 0 Full + 24 + 1 + read-only + + + RF0L + Rx FIFO 0 Message Lost + 25 + 1 + read-only + + + + + RXF0A + Rx FIFO 0 Acknowledge + 0xA8 + 32 + + + F0AI + Rx FIFO 0 Acknowledge Index + 0 + 6 + + + + + RXBC + Rx Buffer Configuration + 0xAC + 32 + + + RBSA + Rx Buffer Start Address + 0 + 16 + + + + + RXF1C + Rx FIFO 1 Configuration + 0xB0 + 32 + + + F1SA + Rx FIFO 1 Start Address + 0 + 16 + + + F1S + Rx FIFO 1 Size + 16 + 7 + + + F1WM + Rx FIFO 1 Watermark + 24 + 7 + + + F1OM + FIFO 1 Operation Mode + 31 + 1 + + + + + RXF1S + Rx FIFO 1 Status + 0xB4 + 32 + read-only + + + F1FL + Rx FIFO 1 Fill Level + 0 + 7 + read-only + + + F1GI + Rx FIFO 1 Get Index + 8 + 6 + read-only + + + F1PI + Rx FIFO 1 Put Index + 16 + 6 + read-only + + + F1F + Rx FIFO 1 Full + 24 + 1 + read-only + + + RF1L + Rx FIFO 1 Message Lost + 25 + 1 + read-only + + + DMS + Debug Message Status + 30 + 2 + read-only + + DMSSelect + + IDLE + Idle state + 0x0 + + + DBGA + Debug message A received + 0x1 + + + DBGB + Debug message A/B received + 0x2 + + + DBGC + Debug message A/B/C received, DMA request set + 0x3 + + + + + + + RXF1A + Rx FIFO 1 Acknowledge + 0xB8 + 32 + + + F1AI + Rx FIFO 1 Acknowledge Index + 0 + 6 + + + + + RXESC + Rx Buffer / FIFO Element Size Configuration + 0xBC + 32 + + + F0DS + Rx FIFO 0 Data Field Size + 0 + 3 + + F0DSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + F1DS + Rx FIFO 1 Data Field Size + 4 + 3 + + F1DSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + RBDS + Rx Buffer Data Field Size + 8 + 3 + + RBDSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + + + TXBC + Tx Buffer Configuration + 0xC0 + 32 + + + TBSA + Tx Buffers Start Address + 0 + 16 + + + NDTB + Number of Dedicated Transmit Buffers + 16 + 6 + + + TFQS + Transmit FIFO/Queue Size + 24 + 6 + + + TFQM + Tx FIFO/Queue Mode + 30 + 1 + + + + + TXFQS + Tx FIFO / Queue Status + 0xC4 + 32 + read-only + + + TFFL + Tx FIFO Free Level + 0 + 6 + read-only + + + TFGI + Tx FIFO Get Index + 8 + 5 + read-only + + + TFQPI + Tx FIFO/Queue Put Index + 16 + 5 + read-only + + + TFQF + Tx FIFO/Queue Full + 21 + 1 + read-only + + + + + TXESC + Tx Buffer Element Size Configuration + 0xC8 + 32 + + + TBDS + Tx Buffer Data Field Size + 0 + 3 + + TBDSSelect + + DATA8 + 8 byte data field + 0x0 + + + DATA12 + 12 byte data field + 0x1 + + + DATA16 + 16 byte data field + 0x2 + + + DATA20 + 20 byte data field + 0x3 + + + DATA24 + 24 byte data field + 0x4 + + + DATA32 + 32 byte data field + 0x5 + + + DATA48 + 48 byte data field + 0x6 + + + DATA64 + 64 byte data field + 0x7 + + + + + + + TXBRP + Tx Buffer Request Pending + 0xCC + 32 + read-only + + + TRP0 + Transmission Request Pending 0 + 0 + 1 + read-only + + + TRP1 + Transmission Request Pending 1 + 1 + 1 + read-only + + + TRP2 + Transmission Request Pending 2 + 2 + 1 + read-only + + + TRP3 + Transmission Request Pending 3 + 3 + 1 + read-only + + + TRP4 + Transmission Request Pending 4 + 4 + 1 + read-only + + + TRP5 + Transmission Request Pending 5 + 5 + 1 + read-only + + + TRP6 + Transmission Request Pending 6 + 6 + 1 + read-only + + + TRP7 + Transmission Request Pending 7 + 7 + 1 + read-only + + + TRP8 + Transmission Request Pending 8 + 8 + 1 + read-only + + + TRP9 + Transmission Request Pending 9 + 9 + 1 + read-only + + + TRP10 + Transmission Request Pending 10 + 10 + 1 + read-only + + + TRP11 + Transmission Request Pending 11 + 11 + 1 + read-only + + + TRP12 + Transmission Request Pending 12 + 12 + 1 + read-only + + + TRP13 + Transmission Request Pending 13 + 13 + 1 + read-only + + + TRP14 + Transmission Request Pending 14 + 14 + 1 + read-only + + + TRP15 + Transmission Request Pending 15 + 15 + 1 + read-only + + + TRP16 + Transmission Request Pending 16 + 16 + 1 + read-only + + + TRP17 + Transmission Request Pending 17 + 17 + 1 + read-only + + + TRP18 + Transmission Request Pending 18 + 18 + 1 + read-only + + + TRP19 + Transmission Request Pending 19 + 19 + 1 + read-only + + + TRP20 + Transmission Request Pending 20 + 20 + 1 + read-only + + + TRP21 + Transmission Request Pending 21 + 21 + 1 + read-only + + + TRP22 + Transmission Request Pending 22 + 22 + 1 + read-only + + + TRP23 + Transmission Request Pending 23 + 23 + 1 + read-only + + + TRP24 + Transmission Request Pending 24 + 24 + 1 + read-only + + + TRP25 + Transmission Request Pending 25 + 25 + 1 + read-only + + + TRP26 + Transmission Request Pending 26 + 26 + 1 + read-only + + + TRP27 + Transmission Request Pending 27 + 27 + 1 + read-only + + + TRP28 + Transmission Request Pending 28 + 28 + 1 + read-only + + + TRP29 + Transmission Request Pending 29 + 29 + 1 + read-only + + + TRP30 + Transmission Request Pending 30 + 30 + 1 + read-only + + + TRP31 + Transmission Request Pending 31 + 31 + 1 + read-only + + + + + TXBAR + Tx Buffer Add Request + 0xD0 + 32 + + + AR0 + Add Request 0 + 0 + 1 + + + AR1 + Add Request 1 + 1 + 1 + + + AR2 + Add Request 2 + 2 + 1 + + + AR3 + Add Request 3 + 3 + 1 + + + AR4 + Add Request 4 + 4 + 1 + + + AR5 + Add Request 5 + 5 + 1 + + + AR6 + Add Request 6 + 6 + 1 + + + AR7 + Add Request 7 + 7 + 1 + + + AR8 + Add Request 8 + 8 + 1 + + + AR9 + Add Request 9 + 9 + 1 + + + AR10 + Add Request 10 + 10 + 1 + + + AR11 + Add Request 11 + 11 + 1 + + + AR12 + Add Request 12 + 12 + 1 + + + AR13 + Add Request 13 + 13 + 1 + + + AR14 + Add Request 14 + 14 + 1 + + + AR15 + Add Request 15 + 15 + 1 + + + AR16 + Add Request 16 + 16 + 1 + + + AR17 + Add Request 17 + 17 + 1 + + + AR18 + Add Request 18 + 18 + 1 + + + AR19 + Add Request 19 + 19 + 1 + + + AR20 + Add Request 20 + 20 + 1 + + + AR21 + Add Request 21 + 21 + 1 + + + AR22 + Add Request 22 + 22 + 1 + + + AR23 + Add Request 23 + 23 + 1 + + + AR24 + Add Request 24 + 24 + 1 + + + AR25 + Add Request 25 + 25 + 1 + + + AR26 + Add Request 26 + 26 + 1 + + + AR27 + Add Request 27 + 27 + 1 + + + AR28 + Add Request 28 + 28 + 1 + + + AR29 + Add Request 29 + 29 + 1 + + + AR30 + Add Request 30 + 30 + 1 + + + AR31 + Add Request 31 + 31 + 1 + + + + + TXBCR + Tx Buffer Cancellation Request + 0xD4 + 32 + + + CR0 + Cancellation Request 0 + 0 + 1 + + + CR1 + Cancellation Request 1 + 1 + 1 + + + CR2 + Cancellation Request 2 + 2 + 1 + + + CR3 + Cancellation Request 3 + 3 + 1 + + + CR4 + Cancellation Request 4 + 4 + 1 + + + CR5 + Cancellation Request 5 + 5 + 1 + + + CR6 + Cancellation Request 6 + 6 + 1 + + + CR7 + Cancellation Request 7 + 7 + 1 + + + CR8 + Cancellation Request 8 + 8 + 1 + + + CR9 + Cancellation Request 9 + 9 + 1 + + + CR10 + Cancellation Request 10 + 10 + 1 + + + CR11 + Cancellation Request 11 + 11 + 1 + + + CR12 + Cancellation Request 12 + 12 + 1 + + + CR13 + Cancellation Request 13 + 13 + 1 + + + CR14 + Cancellation Request 14 + 14 + 1 + + + CR15 + Cancellation Request 15 + 15 + 1 + + + CR16 + Cancellation Request 16 + 16 + 1 + + + CR17 + Cancellation Request 17 + 17 + 1 + + + CR18 + Cancellation Request 18 + 18 + 1 + + + CR19 + Cancellation Request 19 + 19 + 1 + + + CR20 + Cancellation Request 20 + 20 + 1 + + + CR21 + Cancellation Request 21 + 21 + 1 + + + CR22 + Cancellation Request 22 + 22 + 1 + + + CR23 + Cancellation Request 23 + 23 + 1 + + + CR24 + Cancellation Request 24 + 24 + 1 + + + CR25 + Cancellation Request 25 + 25 + 1 + + + CR26 + Cancellation Request 26 + 26 + 1 + + + CR27 + Cancellation Request 27 + 27 + 1 + + + CR28 + Cancellation Request 28 + 28 + 1 + + + CR29 + Cancellation Request 29 + 29 + 1 + + + CR30 + Cancellation Request 30 + 30 + 1 + + + CR31 + Cancellation Request 31 + 31 + 1 + + + + + TXBTO + Tx Buffer Transmission Occurred + 0xD8 + 32 + read-only + + + TO0 + Transmission Occurred 0 + 0 + 1 + read-only + + + TO1 + Transmission Occurred 1 + 1 + 1 + read-only + + + TO2 + Transmission Occurred 2 + 2 + 1 + read-only + + + TO3 + Transmission Occurred 3 + 3 + 1 + read-only + + + TO4 + Transmission Occurred 4 + 4 + 1 + read-only + + + TO5 + Transmission Occurred 5 + 5 + 1 + read-only + + + TO6 + Transmission Occurred 6 + 6 + 1 + read-only + + + TO7 + Transmission Occurred 7 + 7 + 1 + read-only + + + TO8 + Transmission Occurred 8 + 8 + 1 + read-only + + + TO9 + Transmission Occurred 9 + 9 + 1 + read-only + + + TO10 + Transmission Occurred 10 + 10 + 1 + read-only + + + TO11 + Transmission Occurred 11 + 11 + 1 + read-only + + + TO12 + Transmission Occurred 12 + 12 + 1 + read-only + + + TO13 + Transmission Occurred 13 + 13 + 1 + read-only + + + TO14 + Transmission Occurred 14 + 14 + 1 + read-only + + + TO15 + Transmission Occurred 15 + 15 + 1 + read-only + + + TO16 + Transmission Occurred 16 + 16 + 1 + read-only + + + TO17 + Transmission Occurred 17 + 17 + 1 + read-only + + + TO18 + Transmission Occurred 18 + 18 + 1 + read-only + + + TO19 + Transmission Occurred 19 + 19 + 1 + read-only + + + TO20 + Transmission Occurred 20 + 20 + 1 + read-only + + + TO21 + Transmission Occurred 21 + 21 + 1 + read-only + + + TO22 + Transmission Occurred 22 + 22 + 1 + read-only + + + TO23 + Transmission Occurred 23 + 23 + 1 + read-only + + + TO24 + Transmission Occurred 24 + 24 + 1 + read-only + + + TO25 + Transmission Occurred 25 + 25 + 1 + read-only + + + TO26 + Transmission Occurred 26 + 26 + 1 + read-only + + + TO27 + Transmission Occurred 27 + 27 + 1 + read-only + + + TO28 + Transmission Occurred 28 + 28 + 1 + read-only + + + TO29 + Transmission Occurred 29 + 29 + 1 + read-only + + + TO30 + Transmission Occurred 30 + 30 + 1 + read-only + + + TO31 + Transmission Occurred 31 + 31 + 1 + read-only + + + + + TXBCF + Tx Buffer Cancellation Finished + 0xDC + 32 + read-only + + + CF0 + Tx Buffer Cancellation Finished 0 + 0 + 1 + read-only + + + CF1 + Tx Buffer Cancellation Finished 1 + 1 + 1 + read-only + + + CF2 + Tx Buffer Cancellation Finished 2 + 2 + 1 + read-only + + + CF3 + Tx Buffer Cancellation Finished 3 + 3 + 1 + read-only + + + CF4 + Tx Buffer Cancellation Finished 4 + 4 + 1 + read-only + + + CF5 + Tx Buffer Cancellation Finished 5 + 5 + 1 + read-only + + + CF6 + Tx Buffer Cancellation Finished 6 + 6 + 1 + read-only + + + CF7 + Tx Buffer Cancellation Finished 7 + 7 + 1 + read-only + + + CF8 + Tx Buffer Cancellation Finished 8 + 8 + 1 + read-only + + + CF9 + Tx Buffer Cancellation Finished 9 + 9 + 1 + read-only + + + CF10 + Tx Buffer Cancellation Finished 10 + 10 + 1 + read-only + + + CF11 + Tx Buffer Cancellation Finished 11 + 11 + 1 + read-only + + + CF12 + Tx Buffer Cancellation Finished 12 + 12 + 1 + read-only + + + CF13 + Tx Buffer Cancellation Finished 13 + 13 + 1 + read-only + + + CF14 + Tx Buffer Cancellation Finished 14 + 14 + 1 + read-only + + + CF15 + Tx Buffer Cancellation Finished 15 + 15 + 1 + read-only + + + CF16 + Tx Buffer Cancellation Finished 16 + 16 + 1 + read-only + + + CF17 + Tx Buffer Cancellation Finished 17 + 17 + 1 + read-only + + + CF18 + Tx Buffer Cancellation Finished 18 + 18 + 1 + read-only + + + CF19 + Tx Buffer Cancellation Finished 19 + 19 + 1 + read-only + + + CF20 + Tx Buffer Cancellation Finished 20 + 20 + 1 + read-only + + + CF21 + Tx Buffer Cancellation Finished 21 + 21 + 1 + read-only + + + CF22 + Tx Buffer Cancellation Finished 22 + 22 + 1 + read-only + + + CF23 + Tx Buffer Cancellation Finished 23 + 23 + 1 + read-only + + + CF24 + Tx Buffer Cancellation Finished 24 + 24 + 1 + read-only + + + CF25 + Tx Buffer Cancellation Finished 25 + 25 + 1 + read-only + + + CF26 + Tx Buffer Cancellation Finished 26 + 26 + 1 + read-only + + + CF27 + Tx Buffer Cancellation Finished 27 + 27 + 1 + read-only + + + CF28 + Tx Buffer Cancellation Finished 28 + 28 + 1 + read-only + + + CF29 + Tx Buffer Cancellation Finished 29 + 29 + 1 + read-only + + + CF30 + Tx Buffer Cancellation Finished 30 + 30 + 1 + read-only + + + CF31 + Tx Buffer Cancellation Finished 31 + 31 + 1 + read-only + + + + + TXBTIE + Tx Buffer Transmission Interrupt Enable + 0xE0 + 32 + + + TIE0 + Transmission Interrupt Enable 0 + 0 + 1 + + + TIE1 + Transmission Interrupt Enable 1 + 1 + 1 + + + TIE2 + Transmission Interrupt Enable 2 + 2 + 1 + + + TIE3 + Transmission Interrupt Enable 3 + 3 + 1 + + + TIE4 + Transmission Interrupt Enable 4 + 4 + 1 + + + TIE5 + Transmission Interrupt Enable 5 + 5 + 1 + + + TIE6 + Transmission Interrupt Enable 6 + 6 + 1 + + + TIE7 + Transmission Interrupt Enable 7 + 7 + 1 + + + TIE8 + Transmission Interrupt Enable 8 + 8 + 1 + + + TIE9 + Transmission Interrupt Enable 9 + 9 + 1 + + + TIE10 + Transmission Interrupt Enable 10 + 10 + 1 + + + TIE11 + Transmission Interrupt Enable 11 + 11 + 1 + + + TIE12 + Transmission Interrupt Enable 12 + 12 + 1 + + + TIE13 + Transmission Interrupt Enable 13 + 13 + 1 + + + TIE14 + Transmission Interrupt Enable 14 + 14 + 1 + + + TIE15 + Transmission Interrupt Enable 15 + 15 + 1 + + + TIE16 + Transmission Interrupt Enable 16 + 16 + 1 + + + TIE17 + Transmission Interrupt Enable 17 + 17 + 1 + + + TIE18 + Transmission Interrupt Enable 18 + 18 + 1 + + + TIE19 + Transmission Interrupt Enable 19 + 19 + 1 + + + TIE20 + Transmission Interrupt Enable 20 + 20 + 1 + + + TIE21 + Transmission Interrupt Enable 21 + 21 + 1 + + + TIE22 + Transmission Interrupt Enable 22 + 22 + 1 + + + TIE23 + Transmission Interrupt Enable 23 + 23 + 1 + + + TIE24 + Transmission Interrupt Enable 24 + 24 + 1 + + + TIE25 + Transmission Interrupt Enable 25 + 25 + 1 + + + TIE26 + Transmission Interrupt Enable 26 + 26 + 1 + + + TIE27 + Transmission Interrupt Enable 27 + 27 + 1 + + + TIE28 + Transmission Interrupt Enable 28 + 28 + 1 + + + TIE29 + Transmission Interrupt Enable 29 + 29 + 1 + + + TIE30 + Transmission Interrupt Enable 30 + 30 + 1 + + + TIE31 + Transmission Interrupt Enable 31 + 31 + 1 + + + + + TXBCIE + Tx Buffer Cancellation Finished Interrupt Enable + 0xE4 + 32 + + + CFIE0 + Cancellation Finished Interrupt Enable 0 + 0 + 1 + + + CFIE1 + Cancellation Finished Interrupt Enable 1 + 1 + 1 + + + CFIE2 + Cancellation Finished Interrupt Enable 2 + 2 + 1 + + + CFIE3 + Cancellation Finished Interrupt Enable 3 + 3 + 1 + + + CFIE4 + Cancellation Finished Interrupt Enable 4 + 4 + 1 + + + CFIE5 + Cancellation Finished Interrupt Enable 5 + 5 + 1 + + + CFIE6 + Cancellation Finished Interrupt Enable 6 + 6 + 1 + + + CFIE7 + Cancellation Finished Interrupt Enable 7 + 7 + 1 + + + CFIE8 + Cancellation Finished Interrupt Enable 8 + 8 + 1 + + + CFIE9 + Cancellation Finished Interrupt Enable 9 + 9 + 1 + + + CFIE10 + Cancellation Finished Interrupt Enable 10 + 10 + 1 + + + CFIE11 + Cancellation Finished Interrupt Enable 11 + 11 + 1 + + + CFIE12 + Cancellation Finished Interrupt Enable 12 + 12 + 1 + + + CFIE13 + Cancellation Finished Interrupt Enable 13 + 13 + 1 + + + CFIE14 + Cancellation Finished Interrupt Enable 14 + 14 + 1 + + + CFIE15 + Cancellation Finished Interrupt Enable 15 + 15 + 1 + + + CFIE16 + Cancellation Finished Interrupt Enable 16 + 16 + 1 + + + CFIE17 + Cancellation Finished Interrupt Enable 17 + 17 + 1 + + + CFIE18 + Cancellation Finished Interrupt Enable 18 + 18 + 1 + + + CFIE19 + Cancellation Finished Interrupt Enable 19 + 19 + 1 + + + CFIE20 + Cancellation Finished Interrupt Enable 20 + 20 + 1 + + + CFIE21 + Cancellation Finished Interrupt Enable 21 + 21 + 1 + + + CFIE22 + Cancellation Finished Interrupt Enable 22 + 22 + 1 + + + CFIE23 + Cancellation Finished Interrupt Enable 23 + 23 + 1 + + + CFIE24 + Cancellation Finished Interrupt Enable 24 + 24 + 1 + + + CFIE25 + Cancellation Finished Interrupt Enable 25 + 25 + 1 + + + CFIE26 + Cancellation Finished Interrupt Enable 26 + 26 + 1 + + + CFIE27 + Cancellation Finished Interrupt Enable 27 + 27 + 1 + + + CFIE28 + Cancellation Finished Interrupt Enable 28 + 28 + 1 + + + CFIE29 + Cancellation Finished Interrupt Enable 29 + 29 + 1 + + + CFIE30 + Cancellation Finished Interrupt Enable 30 + 30 + 1 + + + CFIE31 + Cancellation Finished Interrupt Enable 31 + 31 + 1 + + + + + TXEFC + Tx Event FIFO Configuration + 0xF0 + 32 + + + EFSA + Event FIFO Start Address + 0 + 16 + + + EFS + Event FIFO Size + 16 + 6 + + + EFWM + Event FIFO Watermark + 24 + 6 + + + + + TXEFS + Tx Event FIFO Status + 0xF4 + 32 + read-only + + + EFFL + Event FIFO Fill Level + 0 + 6 + read-only + + + EFGI + Event FIFO Get Index + 8 + 5 + read-only + + + EFPI + Event FIFO Put Index + 16 + 5 + read-only + + + EFF + Event FIFO Full + 24 + 1 + read-only + + + TEFL + Tx Event FIFO Element Lost + 25 + 1 + read-only + + + + + TXEFA + Tx Event FIFO Acknowledge + 0xF8 + 32 + + + EFAI + Event FIFO Acknowledge Index + 0 + 5 + + + + + + + CAN1 + Control Area Network 1 + 0x42000400 + + CAN1_INTREQ + 79 + + + + CCL + 1.1.0 + Configurable Custom Logic + CCL + CCL_ + 0x42003800 + + 0 + 0x40 + registers + + + + CTRL + Control + 0x0 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + + + 2 + 0x1 + SEQCTRL%s + SEQ Control x + 0x4 + 8 + + + SEQSEL + Sequential Selection + 0 + 4 + + SEQSELSelect + + DISABLE + Sequential logic is disabled + 0x0 + + + DFF + D flip flop + 0x1 + + + JK + JK flip flop + 0x2 + + + LATCH + D latch + 0x3 + + + RS + RS latch + 0x4 + + + + + + + 4 + 0x4 + LUTCTRL%s + LUT Control x + 0x8 + 32 + + + ENABLE + LUT Enable + 1 + 1 + + + FILTSEL + Filter Selection + 4 + 2 + + FILTSELSelect + + DISABLE + Filter disabled + 0x0 + + + SYNCH + Synchronizer enabled + 0x1 + + + FILTER + Filter enabled + 0x2 + + + + + EDGESEL + Edge Selection + 7 + 1 + + + INSEL0 + Input Selection 0 + 8 + 4 + + INSEL0Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INSEL1 + Input Selection 1 + 12 + 4 + + INSEL1Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INSEL2 + Input Selection 2 + 16 + 4 + + INSEL2Select + + MASK + Masked input + 0x0 + + + FEEDBACK + Feedback input source + 0x1 + + + LINK + Linked LUT input source + 0x2 + + + EVENT + Event input source + 0x3 + + + IO + I/O pin input source + 0x4 + + + AC + AC input source + 0x5 + + + TC + TC input source + 0x6 + + + ALTTC + Alternate TC input source + 0x7 + + + TCC + TCC input source + 0x8 + + + SERCOM + SERCOM input source + 0x9 + + + + + INVEI + Inverted Event Input Enable + 20 + 1 + + + LUTEI + LUT Event Input Enable + 21 + 1 + + + LUTEO + LUT Event Output Enable + 22 + 1 + + + TRUTH + Truth Value + 24 + 8 + + + + + + + CMCC + 6.0.0 + Cortex M Cache Controller + CMCC + CMCC_ + 0x41006000 + + 0 + 0x40 + registers + + + + TYPE + Cache Type Register + 0x00 + 32 + read-only + 0x000012D2 + + + GCLK + dynamic Clock Gating supported + 1 + 1 + + + RRP + Round Robin Policy supported + 4 + 1 + + + WAYNUM + Number of Way + 5 + 2 + + WAYNUMSelect + + DMAPPED + Direct Mapped Cache + 0x0 + + + ARCH2WAY + 2-WAY set associative + 0x1 + + + ARCH4WAY + 4-WAY set associative + 0x2 + + + + + LCKDOWN + Lock Down supported + 7 + 1 + + + CSIZE + Cache Size + 8 + 3 + + CSIZESelect + + CSIZE_1KB + Cache Size is 1 KB + 0x0 + + + CSIZE_2KB + Cache Size is 2 KB + 0x1 + + + CSIZE_4KB + Cache Size is 4 KB + 0x2 + + + CSIZE_8KB + Cache Size is 8 KB + 0x3 + + + CSIZE_16KB + Cache Size is 16 KB + 0x4 + + + CSIZE_32KB + Cache Size is 32 KB + 0x5 + + + CSIZE_64KB + Cache Size is 64 KB + 0x6 + + + + + CLSIZE + Cache Line Size + 11 + 3 + + CLSIZESelect + + CLSIZE_4B + Cache Line Size is 4 bytes + 0x0 + + + CLSIZE_8B + Cache Line Size is 8 bytes + 0x1 + + + CLSIZE_16B + Cache Line Size is 16 bytes + 0x2 + + + CLSIZE_32B + Cache Line Size is 32 bytes + 0x3 + + + CLSIZE_64B + Cache Line Size is 64 bytes + 0x4 + + + CLSIZE_128B + Cache Line Size is 128 bytes + 0x5 + + + + + + + CFG + Cache Configuration Register + 0x04 + 32 + 0x00000020 + + + ICDIS + Instruction Cache Disable + 1 + 1 + + + DCDIS + Data Cache Disable + 2 + 1 + + + CSIZESW + Cache size configured by software + 4 + 3 + + CSIZESWSelect + + CONF_CSIZE_1KB + the Cache Size is configured to 1KB + 0x0 + + + CONF_CSIZE_2KB + the Cache Size is configured to 2KB + 0x1 + + + CONF_CSIZE_4KB + the Cache Size is configured to 4KB + 0x2 + + + CONF_CSIZE_8KB + the Cache Size is configured to 8KB + 0x3 + + + CONF_CSIZE_16KB + the Cache Size is configured to 16KB + 0x4 + + + CONF_CSIZE_32KB + the Cache Size is configured to 32KB + 0x5 + + + CONF_CSIZE_64KB + the Cache Size is configured to 64KB + 0x6 + + + + + + + CTRL + Cache Control Register + 0x08 + 32 + write-only + + + CEN + Cache Controller Enable + 0 + 1 + + + + + SR + Cache Status Register + 0x0C + 32 + read-only + + + CSTS + Cache Controller Status + 0 + 1 + + + + + LCKWAY + Cache Lock per Way Register + 0x10 + 32 + + + LCKWAY + Lockdown way Register + 0 + 4 + + + + + MAINT0 + Cache Maintenance Register 0 + 0x20 + 32 + write-only + + + INVALL + Cache Controller invalidate All + 0 + 1 + + + + + MAINT1 + Cache Maintenance Register 1 + 0x24 + 32 + write-only + + + INDEX + Invalidate Index + 4 + 8 + + + WAY + Invalidate Way + 28 + 4 + + WAYSelect + + WAY0 + Way 0 is selection for index invalidation + 0x0 + + + WAY1 + Way 1 is selection for index invalidation + 0x1 + + + WAY2 + Way 2 is selection for index invalidation + 0x2 + + + WAY3 + Way 3 is selection for index invalidation + 0x3 + + + + + + + MCFG + Cache Monitor Configuration Register + 0x28 + 32 + + + MODE + Cache Controller Monitor Counter Mode + 0 + 2 + + MODESelect + + CYCLE_COUNT + cycle counter + 0x0 + + + IHIT_COUNT + instruction hit counter + 0x1 + + + DHIT_COUNT + data hit counter + 0x2 + + + + + + + MEN + Cache Monitor Enable Register + 0x2C + 32 + + + MENABLE + Cache Controller Monitor Enable + 0 + 1 + + + + + MCTRL + Cache Monitor Control Register + 0x30 + 32 + write-only + + + SWRST + Cache Controller Software Reset + 0 + 1 + + + + + MSR + Cache Monitor Status Register + 0x34 + 32 + read-only + + + EVENT_CNT + Monitor Event Counter + 0 + 32 + + + + + + + DAC + 1.0.0 + Digital-to-Analog Converter + DAC + DAC_ + 0x43002400 + + 0 + 0x20 + registers + + + DAC_INTREQ_0 + 123 + + + DAC_INTREQ_1 + 124 + + + DAC_INTREQ_2 + 125 + + + DAC_INTREQ_3 + 126 + + + DAC_INTREQ_4 + 127 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable DAC Controller + 1 + 1 + + + + + CTRLB + Control B + 0x01 + 8 + 0x02 + + + DIFF + Differential mode enable + 0 + 1 + + + REFSEL + Reference Selection for DAC0/1 + 1 + 2 + + REFSELSelect + + VREFPU + External reference unbuffered + 0x0 + + + VDDANA + Analog supply + 0x1 + + + VREFPB + External reference buffered + 0x2 + + + INTREF + Internal bandgap reference + 0x3 + + + + + + + EVCTRL + Event Control + 0x02 + 8 + + + STARTEI0 + Start Conversion Event Input DAC 0 + 0 + 1 + + + STARTEI1 + Start Conversion Event Input DAC 1 + 1 + 1 + + + EMPTYEO0 + Data Buffer Empty Event Output DAC 0 + 2 + 1 + + + EMPTYEO1 + Data Buffer Empty Event Output DAC 1 + 3 + 1 + + + INVEI0 + Enable Invertion of DAC 0 input event + 4 + 1 + + + INVEI1 + Enable Invertion of DAC 1 input event + 5 + 1 + + + RESRDYEO0 + Result Ready Event Output 0 + 6 + 1 + + + RESRDYEO1 + Result Ready Event Output 1 + 7 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + UNDERRUN0 + Underrun 0 Interrupt Enable + 0 + 1 + + + UNDERRUN1 + Underrun 1 Interrupt Enable + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty Interrupt Enable + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty Interrupt Enable + 3 + 1 + + + RESRDY0 + Result 0 Ready Interrupt Enable + 4 + 1 + + + RESRDY1 + Result 1 Ready Interrupt Enable + 5 + 1 + + + OVERRUN0 + Overrun 0 Interrupt Enable + 6 + 1 + + + OVERRUN1 + Overrun 1 Interrupt Enable + 7 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + UNDERRUN0 + Underrun 0 Interrupt Enable + 0 + 1 + + + UNDERRUN1 + Underrun 1 Interrupt Enable + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty Interrupt Enable + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty Interrupt Enable + 3 + 1 + + + RESRDY0 + Result 0 Ready Interrupt Enable + 4 + 1 + + + RESRDY1 + Result 1 Ready Interrupt Enable + 5 + 1 + + + OVERRUN0 + Overrun 0 Interrupt Enable + 6 + 1 + + + OVERRUN1 + Overrun 1 Interrupt Enable + 7 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + UNDERRUN0 + Result 0 Underrun + 0 + 1 + + + UNDERRUN1 + Result 1 Underrun + 1 + 1 + + + EMPTY0 + Data Buffer 0 Empty + 2 + 1 + + + EMPTY1 + Data Buffer 1 Empty + 3 + 1 + + + RESRDY0 + Result 0 Ready + 4 + 1 + + + RESRDY1 + Result 1 Ready + 5 + 1 + + + OVERRUN0 + Result 0 Overrun + 6 + 1 + + + OVERRUN1 + Result 1 Overrun + 7 + 1 + + + + + STATUS + Status + 0x07 + 8 + read-only + + + READY0 + DAC 0 Startup Ready + 0 + 1 + read-only + + + READY1 + DAC 1 Startup Ready + 1 + 1 + read-only + + + EOC0 + DAC 0 End of Conversion + 2 + 1 + read-only + + + EOC1 + DAC 1 End of Conversion + 3 + 1 + read-only + + + + + SYNCBUSY + Synchronization Busy + 0x08 + 32 + read-only + + + SWRST + Software Reset + 0 + 1 + read-only + + + ENABLE + DAC Enable Status + 1 + 1 + read-only + + + DATA0 + Data DAC 0 + 2 + 1 + read-only + + + DATA1 + Data DAC 1 + 3 + 1 + read-only + + + DATABUF0 + Data Buffer DAC 0 + 4 + 1 + read-only + + + DATABUF1 + Data Buffer DAC 1 + 5 + 1 + read-only + + + + + 2 + 0x2 + DACCTRL%s + DAC n Control + 0x0C + 16 + + + LEFTADJ + Left Adjusted Data + 0 + 1 + + + ENABLE + Enable DAC0 + 1 + 1 + + + CCTRL + Current Control + 2 + 2 + + CCTRLSelect + + CC100K + GCLK_DAC <= 1.2MHz (100kSPS) + 0x0 + + + CC1M + 1.2MHz < GCLK_DAC <= 6MHz (500kSPS) + 0x1 + + + CC12M + 6MHz < GCLK_DAC <= 12MHz (1MSPS) + 0x2 + + + + + FEXT + Standalone Filter + 5 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + DITHER + Dithering Mode + 7 + 1 + + + REFRESH + Refresh period + 8 + 4 + + + OSR + Sampling Rate + 13 + 3 + + + + + 2 + 0x2 + DATA%s + DAC n Data + 0x10 + 16 + write-only + + + DATA + DAC0 Data + 0 + 16 + write-only + + + + + 2 + 0x2 + DATABUF%s + DAC n Data Buffer + 0x14 + 16 + write-only + + + DATABUF + DAC0 Data Buffer + 0 + 16 + write-only + + + + + DBGCTRL + Debug Control + 0x18 + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + 2 + 0x2 + RESULT%s + Filter Result + 0x1C + 16 + read-only + + + RESULT + Filter Result + 0 + 16 + read-only + + + + + + + DMAC + 1.0.0 + Direct Memory Access Controller + DMAC + DMAC_ + 0x4100A000 + + 0 + 0x400 + registers + + + DMAC_INTREQ_0 + 31 + + + DMAC_INTREQ_1 + 32 + + + DMAC_INTREQ_2 + 33 + + + DMAC_INTREQ_3 + 34 + + + DMAC_INTREQ_4 + 35 + + + + CTRL + Control + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + + + DMAENABLE + DMA Enable + 1 + 1 + + + LVLEN0 + Priority Level 0 Enable + 8 + 1 + + + LVLEN1 + Priority Level 1 Enable + 9 + 1 + + + LVLEN2 + Priority Level 2 Enable + 10 + 1 + + + LVLEN3 + Priority Level 3 Enable + 11 + 1 + + + + + CRCCTRL + CRC Control + 0x02 + 16 + + + CRCBEATSIZE + CRC Beat Size + 0 + 2 + + CRCBEATSIZESelect + + BYTE + 8-bit bus transfer + 0x0 + + + HWORD + 16-bit bus transfer + 0x1 + + + WORD + 32-bit bus transfer + 0x2 + + + + + CRCPOLY + CRC Polynomial Type + 2 + 2 + + CRCPOLYSelect + + CRC16 + CRC-16 (CRC-CCITT) + 0x0 + + + CRC32 + CRC32 (IEEE 802.3) + 0x1 + + + + + CRCSRC + CRC Input Source + 8 + 6 + + CRCSRCSelect + + DISABLE + CRC Disabled + 0x0 + + + IO + I/O interface + 0x1 + + + + + CRCMODE + CRC Operating Mode + 14 + 2 + + CRCMODESelect + + DEFAULT + Default operating mode + 0x0 + + + CRCMON + Memory CRC monitor operating mode + 0x2 + + + CRCGEN + Memory CRC generation operating mode + 0x3 + + + + + + + CRCDATAIN + CRC Data Input + 0x04 + 32 + + + CRCDATAIN + CRC Data Input + 0 + 32 + + + + + CRCCHKSUM + CRC Checksum + 0x08 + 32 + + + CRCCHKSUM + CRC Checksum + 0 + 32 + + + + + CRCSTATUS + CRC Status + 0x0C + 8 + + + CRCBUSY + CRC Module Busy + 0 + 1 + + + CRCZERO + CRC Zero + 1 + 1 + read-only + + + CRCERR + CRC Error + 2 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x0D + 8 + + + DBGRUN + Debug Run + 0 + 1 + + + + + SWTRIGCTRL + Software Trigger Control + 0x10 + 32 + + + SWTRIG0 + Channel 0 Software Trigger + 0 + 1 + + + SWTRIG1 + Channel 1 Software Trigger + 1 + 1 + + + SWTRIG2 + Channel 2 Software Trigger + 2 + 1 + + + SWTRIG3 + Channel 3 Software Trigger + 3 + 1 + + + SWTRIG4 + Channel 4 Software Trigger + 4 + 1 + + + SWTRIG5 + Channel 5 Software Trigger + 5 + 1 + + + SWTRIG6 + Channel 6 Software Trigger + 6 + 1 + + + SWTRIG7 + Channel 7 Software Trigger + 7 + 1 + + + SWTRIG8 + Channel 8 Software Trigger + 8 + 1 + + + SWTRIG9 + Channel 9 Software Trigger + 9 + 1 + + + SWTRIG10 + Channel 10 Software Trigger + 10 + 1 + + + SWTRIG11 + Channel 11 Software Trigger + 11 + 1 + + + SWTRIG12 + Channel 12 Software Trigger + 12 + 1 + + + SWTRIG13 + Channel 13 Software Trigger + 13 + 1 + + + SWTRIG14 + Channel 14 Software Trigger + 14 + 1 + + + SWTRIG15 + Channel 15 Software Trigger + 15 + 1 + + + SWTRIG16 + Channel 16 Software Trigger + 16 + 1 + + + SWTRIG17 + Channel 17 Software Trigger + 17 + 1 + + + SWTRIG18 + Channel 18 Software Trigger + 18 + 1 + + + SWTRIG19 + Channel 19 Software Trigger + 19 + 1 + + + SWTRIG20 + Channel 20 Software Trigger + 20 + 1 + + + SWTRIG21 + Channel 21 Software Trigger + 21 + 1 + + + SWTRIG22 + Channel 22 Software Trigger + 22 + 1 + + + SWTRIG23 + Channel 23 Software Trigger + 23 + 1 + + + SWTRIG24 + Channel 24 Software Trigger + 24 + 1 + + + SWTRIG25 + Channel 25 Software Trigger + 25 + 1 + + + SWTRIG26 + Channel 26 Software Trigger + 26 + 1 + + + SWTRIG27 + Channel 27 Software Trigger + 27 + 1 + + + SWTRIG28 + Channel 28 Software Trigger + 28 + 1 + + + SWTRIG29 + Channel 29 Software Trigger + 29 + 1 + + + SWTRIG30 + Channel 30 Software Trigger + 30 + 1 + + + SWTRIG31 + Channel 31 Software Trigger + 31 + 1 + + + + + PRICTRL0 + Priority Control 0 + 0x14 + 32 + 0x40404040 + + + LVLPRI0 + Level 0 Channel Priority Number + 0 + 5 + + + QOS0 + Level 0 Quality of Service + 5 + 2 + + QOS0Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN0 + Level 0 Round-Robin Scheduling Enable + 7 + 1 + + + LVLPRI1 + Level 1 Channel Priority Number + 8 + 5 + + + QOS1 + Level 1 Quality of Service + 13 + 2 + + QOS1Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN1 + Level 1 Round-Robin Scheduling Enable + 15 + 1 + + + LVLPRI2 + Level 2 Channel Priority Number + 16 + 5 + + + QOS2 + Level 2 Quality of Service + 21 + 2 + + QOS2Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN2 + Level 2 Round-Robin Scheduling Enable + 23 + 1 + + + LVLPRI3 + Level 3 Channel Priority Number + 24 + 5 + + + QOS3 + Level 3 Quality of Service + 29 + 2 + + QOS3Select + + REGULAR + Regular delivery + 0x0 + + + SHORTAGE + Bandwidth shortage + 0x1 + + + SENSITIVE + Latency sensitive + 0x2 + + + CRITICAL + Latency critical + 0x3 + + + + + RRLVLEN3 + Level 3 Round-Robin Scheduling Enable + 31 + 1 + + + + + INTPEND + Interrupt Pending + 0x20 + 16 + + + ID + Channel ID + 0 + 5 + + + TERR + Transfer Error + 8 + 1 + + + TCMPL + Transfer Complete + 9 + 1 + + + SUSP + Channel Suspend + 10 + 1 + + + CRCERR + CRC Error + 12 + 1 + + + FERR + Fetch Error + 13 + 1 + read-only + + + BUSY + Busy + 14 + 1 + read-only + + + PEND + Pending + 15 + 1 + read-only + + + + + INTSTATUS + Interrupt Status + 0x24 + 32 + read-only + + + CHINT0 + Channel 0 Pending Interrupt + 0 + 1 + read-only + + + CHINT1 + Channel 1 Pending Interrupt + 1 + 1 + read-only + + + CHINT2 + Channel 2 Pending Interrupt + 2 + 1 + read-only + + + CHINT3 + Channel 3 Pending Interrupt + 3 + 1 + read-only + + + CHINT4 + Channel 4 Pending Interrupt + 4 + 1 + read-only + + + CHINT5 + Channel 5 Pending Interrupt + 5 + 1 + read-only + + + CHINT6 + Channel 6 Pending Interrupt + 6 + 1 + read-only + + + CHINT7 + Channel 7 Pending Interrupt + 7 + 1 + read-only + + + CHINT8 + Channel 8 Pending Interrupt + 8 + 1 + read-only + + + CHINT9 + Channel 9 Pending Interrupt + 9 + 1 + read-only + + + CHINT10 + Channel 10 Pending Interrupt + 10 + 1 + read-only + + + CHINT11 + Channel 11 Pending Interrupt + 11 + 1 + read-only + + + CHINT12 + Channel 12 Pending Interrupt + 12 + 1 + read-only + + + CHINT13 + Channel 13 Pending Interrupt + 13 + 1 + read-only + + + CHINT14 + Channel 14 Pending Interrupt + 14 + 1 + read-only + + + CHINT15 + Channel 15 Pending Interrupt + 15 + 1 + read-only + + + CHINT16 + Channel 16 Pending Interrupt + 16 + 1 + read-only + + + CHINT17 + Channel 17 Pending Interrupt + 17 + 1 + read-only + + + CHINT18 + Channel 18 Pending Interrupt + 18 + 1 + read-only + + + CHINT19 + Channel 19 Pending Interrupt + 19 + 1 + read-only + + + CHINT20 + Channel 20 Pending Interrupt + 20 + 1 + read-only + + + CHINT21 + Channel 21 Pending Interrupt + 21 + 1 + read-only + + + CHINT22 + Channel 22 Pending Interrupt + 22 + 1 + read-only + + + CHINT23 + Channel 23 Pending Interrupt + 23 + 1 + read-only + + + CHINT24 + Channel 24 Pending Interrupt + 24 + 1 + read-only + + + CHINT25 + Channel 25 Pending Interrupt + 25 + 1 + read-only + + + CHINT26 + Channel 26 Pending Interrupt + 26 + 1 + read-only + + + CHINT27 + Channel 27 Pending Interrupt + 27 + 1 + read-only + + + CHINT28 + Channel 28 Pending Interrupt + 28 + 1 + read-only + + + CHINT29 + Channel 29 Pending Interrupt + 29 + 1 + read-only + + + CHINT30 + Channel 30 Pending Interrupt + 30 + 1 + read-only + + + CHINT31 + Channel 31 Pending Interrupt + 31 + 1 + read-only + + + + + BUSYCH + Busy Channels + 0x28 + 32 + read-only + + + BUSYCH0 + Busy Channel 0 + 0 + 1 + read-only + + + BUSYCH1 + Busy Channel 1 + 1 + 1 + read-only + + + BUSYCH2 + Busy Channel 2 + 2 + 1 + read-only + + + BUSYCH3 + Busy Channel 3 + 3 + 1 + read-only + + + BUSYCH4 + Busy Channel 4 + 4 + 1 + read-only + + + BUSYCH5 + Busy Channel 5 + 5 + 1 + read-only + + + BUSYCH6 + Busy Channel 6 + 6 + 1 + read-only + + + BUSYCH7 + Busy Channel 7 + 7 + 1 + read-only + + + BUSYCH8 + Busy Channel 8 + 8 + 1 + read-only + + + BUSYCH9 + Busy Channel 9 + 9 + 1 + read-only + + + BUSYCH10 + Busy Channel 10 + 10 + 1 + read-only + + + BUSYCH11 + Busy Channel 11 + 11 + 1 + read-only + + + BUSYCH12 + Busy Channel 12 + 12 + 1 + read-only + + + BUSYCH13 + Busy Channel 13 + 13 + 1 + read-only + + + BUSYCH14 + Busy Channel 14 + 14 + 1 + read-only + + + BUSYCH15 + Busy Channel 15 + 15 + 1 + read-only + + + BUSYCH16 + Busy Channel 16 + 16 + 1 + read-only + + + BUSYCH17 + Busy Channel 17 + 17 + 1 + read-only + + + BUSYCH18 + Busy Channel 18 + 18 + 1 + read-only + + + BUSYCH19 + Busy Channel 19 + 19 + 1 + read-only + + + BUSYCH20 + Busy Channel 20 + 20 + 1 + read-only + + + BUSYCH21 + Busy Channel 21 + 21 + 1 + read-only + + + BUSYCH22 + Busy Channel 22 + 22 + 1 + read-only + + + BUSYCH23 + Busy Channel 23 + 23 + 1 + read-only + + + BUSYCH24 + Busy Channel 24 + 24 + 1 + read-only + + + BUSYCH25 + Busy Channel 25 + 25 + 1 + read-only + + + BUSYCH26 + Busy Channel 26 + 26 + 1 + read-only + + + BUSYCH27 + Busy Channel 27 + 27 + 1 + read-only + + + BUSYCH28 + Busy Channel 28 + 28 + 1 + read-only + + + BUSYCH29 + Busy Channel 29 + 29 + 1 + read-only + + + BUSYCH30 + Busy Channel 30 + 30 + 1 + read-only + + + BUSYCH31 + Busy Channel 31 + 31 + 1 + read-only + + + + + PENDCH + Pending Channels + 0x2C + 32 + read-only + + + PENDCH0 + Pending Channel 0 + 0 + 1 + read-only + + + PENDCH1 + Pending Channel 1 + 1 + 1 + read-only + + + PENDCH2 + Pending Channel 2 + 2 + 1 + read-only + + + PENDCH3 + Pending Channel 3 + 3 + 1 + read-only + + + PENDCH4 + Pending Channel 4 + 4 + 1 + read-only + + + PENDCH5 + Pending Channel 5 + 5 + 1 + read-only + + + PENDCH6 + Pending Channel 6 + 6 + 1 + read-only + + + PENDCH7 + Pending Channel 7 + 7 + 1 + read-only + + + PENDCH8 + Pending Channel 8 + 8 + 1 + read-only + + + PENDCH9 + Pending Channel 9 + 9 + 1 + read-only + + + PENDCH10 + Pending Channel 10 + 10 + 1 + read-only + + + PENDCH11 + Pending Channel 11 + 11 + 1 + read-only + + + PENDCH12 + Pending Channel 12 + 12 + 1 + read-only + + + PENDCH13 + Pending Channel 13 + 13 + 1 + read-only + + + PENDCH14 + Pending Channel 14 + 14 + 1 + read-only + + + PENDCH15 + Pending Channel 15 + 15 + 1 + read-only + + + PENDCH16 + Pending Channel 16 + 16 + 1 + read-only + + + PENDCH17 + Pending Channel 17 + 17 + 1 + read-only + + + PENDCH18 + Pending Channel 18 + 18 + 1 + read-only + + + PENDCH19 + Pending Channel 19 + 19 + 1 + read-only + + + PENDCH20 + Pending Channel 20 + 20 + 1 + read-only + + + PENDCH21 + Pending Channel 21 + 21 + 1 + read-only + + + PENDCH22 + Pending Channel 22 + 22 + 1 + read-only + + + PENDCH23 + Pending Channel 23 + 23 + 1 + read-only + + + PENDCH24 + Pending Channel 24 + 24 + 1 + read-only + + + PENDCH25 + Pending Channel 25 + 25 + 1 + read-only + + + PENDCH26 + Pending Channel 26 + 26 + 1 + read-only + + + PENDCH27 + Pending Channel 27 + 27 + 1 + read-only + + + PENDCH28 + Pending Channel 28 + 28 + 1 + read-only + + + PENDCH29 + Pending Channel 29 + 29 + 1 + read-only + + + PENDCH30 + Pending Channel 30 + 30 + 1 + read-only + + + PENDCH31 + Pending Channel 31 + 31 + 1 + read-only + + + + + ACTIVE + Active Channel and Levels + 0x30 + 32 + read-only + + + LVLEX0 + Level 0 Channel Trigger Request Executing + 0 + 1 + read-only + + + LVLEX1 + Level 1 Channel Trigger Request Executing + 1 + 1 + read-only + + + LVLEX2 + Level 2 Channel Trigger Request Executing + 2 + 1 + read-only + + + LVLEX3 + Level 3 Channel Trigger Request Executing + 3 + 1 + read-only + + + ID + Active Channel ID + 8 + 5 + read-only + + + ABUSY + Active Channel Busy + 15 + 1 + read-only + + + BTCNT + Active Channel Block Transfer Count + 16 + 16 + read-only + + + + + BASEADDR + Descriptor Memory Section Base Address + 0x34 + 32 + + + BASEADDR + Descriptor Memory Base Address + 0 + 32 + + + + + WRBADDR + Write-Back Memory Section Base Address + 0x38 + 32 + + + WRBADDR + Write-Back Memory Base Address + 0 + 32 + + + + + 32 + 0x10 + CHCTRLA%s + Channel n Control A + 0x40 + 32 + + + SWRST + Channel Software Reset + 0 + 1 + + + ENABLE + Channel Enable + 1 + 1 + + + RUNSTDBY + Channel Run in Standby + 6 + 1 + + + TRIGSRC + Trigger Source + 8 + 7 + + TRIGSRCSelect + + DISABLE + Only software/event triggers + 0x0 + + + + + TRIGACT + Trigger Action + 20 + 2 + + TRIGACTSelect + + BLOCK + One trigger required for each block transfer + 0x0 + + + BURST + One trigger required for each burst transfer + 0x2 + + + TRANSACTION + One trigger required for each transaction + 0x3 + + + + + BURSTLEN + Burst Length + 24 + 4 + + BURSTLENSelect + + SINGLE + Single-beat burst length + 0x0 + + + 2BEAT + 2-beats burst length + 0x1 + + + 3BEAT + 3-beats burst length + 0x2 + + + 4BEAT + 4-beats burst length + 0x3 + + + 5BEAT + 5-beats burst length + 0x4 + + + 6BEAT + 6-beats burst length + 0x5 + + + 7BEAT + 7-beats burst length + 0x6 + + + 8BEAT + 8-beats burst length + 0x7 + + + 9BEAT + 9-beats burst length + 0x8 + + + 10BEAT + 10-beats burst length + 0x9 + + + 11BEAT + 11-beats burst length + 0xa + + + 12BEAT + 12-beats burst length + 0xb + + + 13BEAT + 13-beats burst length + 0xc + + + 14BEAT + 14-beats burst length + 0xd + + + 15BEAT + 15-beats burst length + 0xe + + + 16BEAT + 16-beats burst length + 0xf + + + + + THRESHOLD + FIFO Threshold + 28 + 2 + + THRESHOLDSelect + + 1BEAT + Destination write starts after each beat source address read + 0x0 + + + 2BEATS + Destination write starts after 2-beats source address read + 0x1 + + + 4BEATS + Destination write starts after 4-beats source address read + 0x2 + + + 8BEATS + Destination write starts after 8-beats source address read + 0x3 + + + + + + + 32 + 0x10 + CHCTRLB%s + Channel n Control B + 0x44 + 8 + + + CMD + Software Command + 0 + 2 + + CMDSelect + + NOACT + No action + 0x0 + + + SUSPEND + Channel suspend operation + 0x1 + + + RESUME + Channel resume operation + 0x2 + + + + + + + 32 + 0x10 + CHPRILVL%s + Channel n Priority Level + 0x45 + 8 + + + PRILVL + Channel Priority Level + 0 + 2 + + PRILVLSelect + + LVL0 + Channel Priority Level 0 (Lowest Level) + 0x0 + + + LVL1 + Channel Priority Level 1 + 0x1 + + + LVL2 + Channel Priority Level 2 + 0x2 + + + LVL3 + Channel Priority Level 3 + 0x3 + + + LVL4 + Channel Priority Level 4 + 0x4 + + + LVL5 + Channel Priority Level 5 + 0x5 + + + LVL6 + Channel Priority Level 6 + 0x6 + + + LVL7 + Channel Priority Level 7 (Highest Level) + 0x7 + + + + + + + 32 + 0x10 + CHEVCTRL%s + Channel n Event Control + 0x46 + 8 + + + EVACT + Channel Event Input Action + 0 + 3 + + EVACTSelect + + NOACT + No action + 0x0 + + + TRIG + Transfer and periodic transfer trigger + 0x1 + + + CTRIG + Conditional transfer trigger + 0x2 + + + CBLOCK + Conditional block transfer + 0x3 + + + SUSPEND + Channel suspend operation + 0x4 + + + RESUME + Channel resume operation + 0x5 + + + SSKIP + Skip next block suspend action + 0x6 + + + INCPRI + Increase priority + 0x7 + + + + + EVOMODE + Channel Event Output Mode + 4 + 2 + + EVOMODESelect + + DEFAULT + Block event output selection. Refer to BTCTRL.EVOSEL for available selections. + 0x0 + + + TRIGACT + Ongoing trigger action + 0x1 + + + + + EVIE + Channel Event Input Enable + 6 + 1 + + + EVOE + Channel Event Output Enable + 7 + 1 + + + + + 32 + 0x10 + CHINTENCLR%s + Channel n Interrupt Enable Clear + 0x4C + 8 + + + TERR + Channel Transfer Error Interrupt Enable + 0 + 1 + + + TCMPL + Channel Transfer Complete Interrupt Enable + 1 + 1 + + + SUSP + Channel Suspend Interrupt Enable + 2 + 1 + + + + + 32 + 0x10 + CHINTENSET%s + Channel n Interrupt Enable Set + 0x4D + 8 + + + TERR + Channel Transfer Error Interrupt Enable + 0 + 1 + + + TCMPL + Channel Transfer Complete Interrupt Enable + 1 + 1 + + + SUSP + Channel Suspend Interrupt Enable + 2 + 1 + + + + + 32 + 0x10 + CHINTFLAG%s + Channel n Interrupt Flag Status and Clear + 0x4E + 8 + + + TERR + Channel Transfer Error + 0 + 1 + + + TCMPL + Channel Transfer Complete + 1 + 1 + + + SUSP + Channel Suspend + 2 + 1 + + + + + 32 + 0x10 + CHSTATUS%s + Channel n Status + 0x4F + 8 + + + PEND + Channel Pending + 0 + 1 + read-only + + + BUSY + Channel Busy + 1 + 1 + read-only + + + FERR + Channel Fetch Error + 2 + 1 + read-only + + + CRCERR + Channel CRC Error + 3 + 1 + + + + + + + DSU + 1.0.0 + Device Service Unit + DSU + DSU_ + 0x41002000 + + 0 + 0x2000 + registers + + + + CTRL + Control + 0x0000 + 8 + write-only + + + SWRST + Software Reset + 0 + 1 + write-only + + + CRC + 32-bit Cyclic Redundancy Code + 2 + 1 + write-only + + + MBIST + Memory built-in self-test + 3 + 1 + write-only + + + CE + Chip-Erase + 4 + 1 + write-only + + + ARR + Auxiliary Row Read + 6 + 1 + write-only + + + SMSA + Start Memory Stream Access + 7 + 1 + write-only + + + + + STATUSA + Status A + 0x0001 + 8 + + + DONE + Done + 0 + 1 + + + CRSTEXT + CPU Reset Phase Extension + 1 + 1 + + + BERR + Bus Error + 2 + 1 + + + FAIL + Failure + 3 + 1 + + + PERR + Protection Error + 4 + 1 + + + + + STATUSB + Status B + 0x0002 + 8 + read-only + + + PROT + Protected + 0 + 1 + read-only + + + DBGPRES + Debugger Present + 1 + 1 + read-only + + + DCCD0 + Debug Communication Channel 0 Dirty + 2 + 1 + read-only + + + DCCD1 + Debug Communication Channel 1 Dirty + 3 + 1 + read-only + + + HPE + Hot-Plugging Enable + 4 + 1 + read-only + + + CELCK + Chip Erase Locked + 5 + 1 + read-only + + + TDCCD0 + Test Debug Communication Channel 0 Dirty + 6 + 1 + read-only + + + TDCCD1 + Test Debug Communication Channel 1 Dirty + 7 + 1 + read-only + + + + + ADDR + Address + 0x0004 + 32 + + + AMOD + Access Mode + 0 + 2 + + + ADDR + Address + 2 + 30 + + + + + LENGTH + Length + 0x0008 + 32 + + + LENGTH + Length + 2 + 30 + + + + + DATA + Data + 0x000C + 32 + + + DATA + Data + 0 + 32 + + + + + 2 + 0x4 + DCC%s + Debug Communication Channel n + 0x0010 + 32 + + + DATA + Data + 0 + 32 + + + + + DID + Device Identification + 0x0018 + 32 + read-only + 0x61840000 + + + DEVSEL + Device Select + 0 + 8 + read-only + + + REVISION + Revision Number + 8 + 4 + read-only + + + DIE + Die Number + 12 + 4 + read-only + + + SERIES + Series + 16 + 6 + read-only + + SERIESSelect + + 0 + Cortex-M0+ processor, basic feature set + 0x0 + + + 1 + Cortex-M0+ processor, USB + 0x1 + + + + + FAMILY + Family + 23 + 5 + read-only + + FAMILYSelect + + 0 + General purpose microcontroller + 0x0 + + + 1 + PicoPower + 0x1 + + + + + PROCESSOR + Processor + 28 + 4 + read-only + + PROCESSORSelect + + CM0P + Cortex-M0+ + 0x1 + + + CM23 + Cortex-M23 + 0x2 + + + CM3 + Cortex-M3 + 0x3 + + + CM4 + Cortex-M4 + 0x5 + + + CM4F + Cortex-M4 with FPU + 0x6 + + + CM33 + Cortex-M33 + 0x7 + + + + + + + CFG + Configuration + 0x001C + 32 + 0x00000002 + + + LQOS + Latency Quality Of Service + 0 + 2 + + + DCCDMALEVEL + DMA Trigger Level + 2 + 2 + + DCCDMALEVELSelect + + EMPTY + Trigger rises when DCC is empty + 0x0 + + + FULL + Trigger rises when DCC is full + 0x1 + + + + + ETBRAMEN + Trace Control + 4 + 1 + + + + + MBCTRL + MBIST Control + 0x0040 + 32 + + + SWRST + MBIST Software Reset + 0 + 1 + + + ENABLE + MBIST Enable + 1 + 1 + + + + + MBCONFIG + MBIST Configuration + 0x0044 + 32 + + + ALGO + MBIST Algorithm + 0 + 5 + + ALGOSelect + + MEMCLEAR + Memory Clear (1n) + 0x0 + + + VERIFY + Memory Verify (1n) + 0x1 + + + CLEARVER + Memory Clear and Verify (2n) + 0x2 + + + ADDR_DEC + Address Decoder (2n) + 0x3 + + + MARCH_LR + March LR (14n) + 0x4 + + + MARCH_SR + March SR (14n) + 0x5 + + + MARCH_SS + March SS (22n) + 0x6 + + + CRC_UP + CRC increasing address (1n) + 0x8 + + + CRC_DOWN + CRC decreasing address (1n) + 0x9 + + + + + DEFRDMARGIN + Force Default Read Margin + 6 + 1 + + + DBG + Enable Debug Mode + 7 + 1 + + + + + MBWORD + MBIST Background Word + 0x0048 + 32 + + + DATA + MBIST Background Word + 0 + 32 + + + + + MBGSTAT + MBIST Global Status + 0x004C + 32 + + + ALLDONE + MBIST Completed + 0 + 1 + + + FAILED + MBIST Failed + 1 + 1 + + + ERRINFO + MBIST Error Info Present + 2 + 1 + + + CONFIGURED + MBIST Configuration Sent + 3 + 1 + + + + + MBDFAIL + MBIST Fail Data + 0x0050 + 32 + read-only + + + DATA + Error Data Read + 0 + 32 + + + + + MBDEXP + MBIST Expected Data + 0x0054 + 32 + read-only + + + DATA + Expected Data + 0 + 32 + + + + + MBAFAIL + MBIST Fail Address + 0x0058 + 32 + read-only + + + ADDR + Error Address + 0 + 14 + + + + + MBCONTEXT + MBIST Fail Context + 0x005C + 32 + read-only + + + SUBSTEP + Algorithm Sub-step + 0 + 5 + + SUBSTEPSelect + + R0_1 + 0x1 + + + R1_1 + 0x3 + + + R0_2 + 0x5 + + + R1_2 + 0x7 + + + R0_3 + 0x9 + + + R1_3 + 0xb + + + + + STEP + Algorithm Step + 5 + 5 + + STEPSelect + + DOWN_R0W1 + 0x2 + + + UP_R1W0R0W1 + 0x3 + + + UP_R1W0 + 0x4 + + + UP_R0W1R1W0 + 0x5 + + + UP_R0 + 0x6 + + + UP_R0R0W0R0W1 + 0x7 + + + UP_R1R1W1R1W0 + 0x8 + + + DOWN_R0R0W0R0W1 + 0x9 + + + DOWN_R1R1W1R1W0 + 0xa + + + UP_R0R0 + 0xc + + + DOWN_R1W0R0W1 + 0xe + + + DOWN_R1R1 + 0xf + + + + + PORT + DPRAM Port Index + 10 + 1 + + + + + MBENABLE0 + MBIST Memory Enable 0 + 0x0060 + 32 + + + ENABLE0 + Memory 0 MBIST Enable + 0 + 1 + + + ENABLE1 + Memory 1 MBIST Enable + 1 + 1 + + + ENABLE2 + Memory 2 MBIST Enable + 2 + 1 + + + ENABLE3 + Memory 3 MBIST Enable + 3 + 1 + + + ENABLE4 + Memory 4 MBIST Enable + 4 + 1 + + + ENABLE5 + Memory 5 MBIST Enable + 5 + 1 + + + ENABLE6 + Memory 6 MBIST Enable + 6 + 1 + + + ENABLE7 + Memory 7 MBIST Enable + 7 + 1 + + + ENABLE8 + Memory 8 MBIST Enable + 8 + 1 + + + ENABLE9 + Memory 9 MBIST Enable + 9 + 1 + + + ENABLE10 + Memory 10 MBIST Enable + 10 + 1 + + + ENABLE11 + Memory 11 MBIST Enable + 11 + 1 + + + ENABLE12 + Memory 12 MBIST Enable + 12 + 1 + + + ENABLE13 + Memory 13 MBIST Enable + 13 + 1 + + + ENABLE14 + Memory 14 MBIST Enable + 14 + 1 + + + ENABLE15 + Memory 15 MBIST Enable + 15 + 1 + + + ENABLE16 + Memory 16 MBIST Enable + 16 + 1 + + + ENABLE17 + Memory 17 MBIST Enable + 17 + 1 + + + ENABLE18 + Memory 18 MBIST Enable + 18 + 1 + + + ENABLE19 + Memory 19 MBIST Enable + 19 + 1 + + + ENABLE20 + Memory 20 MBIST Enable + 20 + 1 + + + ENABLE21 + Memory 21 MBIST Enable + 21 + 1 + + + ENABLE22 + Memory 22 MBIST Enable + 22 + 1 + + + ENABLE23 + Memory 23 MBIST Enable + 23 + 1 + + + ENABLE24 + Memory 24 MBIST Enable + 24 + 1 + + + ENABLE25 + Memory 25 MBIST Enable + 25 + 1 + + + ENABLE26 + Memory 26 MBIST Enable + 26 + 1 + + + ENABLE27 + Memory 27 MBIST Enable + 27 + 1 + + + ENABLE28 + Memory 28 MBIST Enable + 28 + 1 + + + + + MBBUSY0 + MBIST Memory Busy 0 + 0x0068 + 32 + read-only + + + BUSY0 + Memory 0 BIST Busy + 0 + 1 + + + BUSY1 + Memory 1 BIST Busy + 1 + 1 + + + BUSY2 + Memory 2 BIST Busy + 2 + 1 + + + BUSY3 + Memory 3 BIST Busy + 3 + 1 + + + BUSY4 + Memory 4 BIST Busy + 4 + 1 + + + BUSY5 + Memory 5 BIST Busy + 5 + 1 + + + BUSY6 + Memory 6 BIST Busy + 6 + 1 + + + BUSY7 + Memory 7 BIST Busy + 7 + 1 + + + BUSY8 + Memory 8 BIST Busy + 8 + 1 + + + BUSY9 + Memory 9 BIST Busy + 9 + 1 + + + BUSY10 + Memory 10 BIST Busy + 10 + 1 + + + BUSY11 + Memory 11 BIST Busy + 11 + 1 + + + BUSY12 + Memory 12 BIST Busy + 12 + 1 + + + BUSY13 + Memory 13 BIST Busy + 13 + 1 + + + BUSY14 + Memory 14 BIST Busy + 14 + 1 + + + BUSY15 + Memory 15 BIST Busy + 15 + 1 + + + BUSY16 + Memory 16 BIST Busy + 16 + 1 + + + BUSY17 + Memory 17 BIST Busy + 17 + 1 + + + BUSY18 + Memory 18 BIST Busy + 18 + 1 + + + BUSY19 + Memory 19 BIST Busy + 19 + 1 + + + BUSY20 + Memory 20 BIST Busy + 20 + 1 + + + BUSY21 + Memory 21 BIST Busy + 21 + 1 + + + BUSY22 + Memory 22 BIST Busy + 22 + 1 + + + BUSY23 + Memory 23 BIST Busy + 23 + 1 + + + BUSY24 + Memory 24 BIST Busy + 24 + 1 + + + BUSY25 + Memory 25 BIST Busy + 25 + 1 + + + BUSY26 + Memory 26 BIST Busy + 26 + 1 + + + BUSY27 + Memory 27 BIST Busy + 27 + 1 + + + BUSY28 + Memory 28 BIST Busy + 28 + 1 + + + + + MBSTATUS0 + MBIST Memory Status 0 + 0x0070 + 32 + + + STATUS0 + Memory 0 MBIST Status + 0 + 1 + + + STATUS1 + Memory 1 MBIST Status + 1 + 1 + + + STATUS2 + Memory 2 MBIST Status + 2 + 1 + + + STATUS3 + Memory 3 MBIST Status + 3 + 1 + + + STATUS4 + Memory 4 MBIST Status + 4 + 1 + + + STATUS5 + Memory 5 MBIST Status + 5 + 1 + + + STATUS6 + Memory 6 MBIST Status + 6 + 1 + + + STATUS7 + Memory 7 MBIST Status + 7 + 1 + + + STATUS8 + Memory 8 MBIST Status + 8 + 1 + + + STATUS9 + Memory 9 MBIST Status + 9 + 1 + + + STATUS10 + Memory 10 MBIST Status + 10 + 1 + + + STATUS11 + Memory 11 MBIST Status + 11 + 1 + + + STATUS12 + Memory 12 MBIST Status + 12 + 1 + + + STATUS13 + Memory 13 MBIST Status + 13 + 1 + + + STATUS14 + Memory 14 MBIST Status + 14 + 1 + + + STATUS15 + Memory 15 MBIST Status + 15 + 1 + + + STATUS16 + Memory 16 MBIST Status + 16 + 1 + + + STATUS17 + Memory 17 MBIST Status + 17 + 1 + + + STATUS18 + Memory 18 MBIST Status + 18 + 1 + + + STATUS19 + Memory 19 MBIST Status + 19 + 1 + + + STATUS20 + Memory 20 MBIST Status + 20 + 1 + + + STATUS21 + Memory 21 MBIST Status + 21 + 1 + + + STATUS22 + Memory 22 MBIST Status + 22 + 1 + + + STATUS23 + Memory 23 MBIST Status + 23 + 1 + + + STATUS24 + Memory 24 MBIST Status + 24 + 1 + + + STATUS25 + Memory 25 MBIST Status + 25 + 1 + + + STATUS26 + Memory 26 MBIST Status + 26 + 1 + + + STATUS27 + Memory 27 MBIST Status + 27 + 1 + + + STATUS28 + Memory 28 MBIST Status + 28 + 1 + + + + + 2 + 0x4 + DCFG%s + Device Configuration + 0x00F0 + 32 + + + DCFG + Device Configuration + 0 + 32 + + + + + ENTRY0 + CoreSight ROM Table Entry 0 + 0x1000 + 32 + read-only + 0x9F0FC002 + + + EPRES + Entry Present + 0 + 1 + + + FMT + Format + 1 + 1 + read-only + + + ADDOFF + Address Offset + 12 + 20 + read-only + + + + + ENTRY1 + CoreSight ROM Table Entry 1 + 0x1004 + 32 + read-only + + + END + CoreSight ROM Table End + 0x1008 + 32 + read-only + + + END + End Marker + 0 + 32 + + + + + MEMTYPE + CoreSight ROM Table Memory Type + 0x1FCC + 32 + read-only + + + SMEMP + System Memory Present + 0 + 1 + + + + + PID4 + Peripheral Identification 4 + 0x1FD0 + 32 + read-only + + + JEPCC + JEP-106 Continuation Code + 0 + 4 + + + FKBC + 4KB count + 4 + 4 + read-only + + + + + PID5 + Peripheral Identification 5 + 0x1FD4 + 32 + read-only + + + PID6 + Peripheral Identification 6 + 0x1FD8 + 32 + read-only + + + PID7 + Peripheral Identification 7 + 0x1FDC + 32 + read-only + + + PID0 + Peripheral Identification 0 + 0x1FE0 + 32 + read-only + 0x000000D0 + + + PARTNBL + Part Number Low + 0 + 8 + + + + + PID1 + Peripheral Identification 1 + 0x1FE4 + 32 + read-only + 0x000000FC + + + PARTNBH + Part Number High + 0 + 4 + + + JEPIDCL + Low part of the JEP-106 Identity Code + 4 + 4 + read-only + + + + + PID2 + Peripheral Identification 2 + 0x1FE8 + 32 + read-only + 0x00000009 + + + JEPIDCH + JEP-106 Identity Code High + 0 + 3 + + + JEPU + JEP-106 Identity Code is used + 3 + 1 + read-only + + + REVISION + Revision Number + 4 + 4 + read-only + + + + + PID3 + Peripheral Identification 3 + 0x1FEC + 32 + read-only + + + CUSMOD + ARM CUSMOD + 0 + 4 + + + REVAND + Revision Number + 4 + 4 + read-only + + + + + CID0 + Component Identification 0 + 0x1FF0 + 32 + read-only + 0x0000000D + + + PREAMBLEB0 + Preamble Byte 0 + 0 + 8 + read-only + + + + + CID1 + Component Identification 1 + 0x1FF4 + 32 + read-only + 0x00000010 + + + PREAMBLE + Preamble + 0 + 4 + read-only + + + CCLASS + Component Class + 4 + 4 + read-only + + + + + CID2 + Component Identification 2 + 0x1FF8 + 32 + read-only + 0x00000005 + + + PREAMBLEB2 + Preamble Byte 2 + 0 + 8 + read-only + + + + + CID3 + Component Identification 3 + 0x1FFC + 32 + read-only + 0x000000B1 + + + PREAMBLEB3 + Preamble Byte 3 + 0 + 8 + + + + + + + EIC + 3.0.0 + External Interrupt Controller + EIC + EIC_ + 0x40002800 + + 0 + 0x40 + registers + + + EIC_INTREQ_0 + 12 + + + EIC_INTREQ_1 + 13 + + + EIC_INTREQ_2 + 14 + + + EIC_INTREQ_3 + 15 + + + EIC_INTREQ_4 + 16 + + + EIC_INTREQ_5 + 17 + + + EIC_INTREQ_6 + 18 + + + EIC_INTREQ_7 + 19 + + + EIC_INTREQ_8 + 20 + + + EIC_INTREQ_9 + 21 + + + EIC_INTREQ_10 + 22 + + + EIC_INTREQ_11 + 23 + + + EIC_INTREQ_12 + 24 + + + EIC_INTREQ_13 + 25 + + + EIC_INTREQ_14 + 26 + + + EIC_INTREQ_15 + 27 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + CKSEL + Clock Selection + 4 + 1 + + + + + NMICTRL + Non-Maskable Interrupt Control + 0x01 + 8 + + + NMISENSE + Non-Maskable Interrupt Sense Configuration + 0 + 3 + + NMISENSESelect + + NONE + No detection + 0x0 + + + RISE + Rising-edge detection + 0x1 + + + FALL + Falling-edge detection + 0x2 + + + BOTH + Both-edges detection + 0x3 + + + HIGH + High-level detection + 0x4 + + + LOW + Low-level detection + 0x5 + + + + + NMIFILTEN + Non-Maskable Interrupt Filter Enable + 3 + 1 + + + NMIASYNCH + Asynchronous Edge Detection Mode + 4 + 1 + + + + + NMIFLAG + Non-Maskable Interrupt Flag Status and Clear + 0x02 + 16 + + + NMI + Non-Maskable Interrupt + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x04 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy Status + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy Status + 1 + 1 + read-only + + + + + EVCTRL + Event Control + 0x08 + 32 + + + EXTINTEO + External Interrupt Event Output Enable + 0 + 16 + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 32 + + + EXTINT + External Interrupt Enable + 0 + 16 + + + + + INTENSET + Interrupt Enable Set + 0x10 + 32 + + + EXTINT + External Interrupt Enable + 0 + 16 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x14 + 32 + + + EXTINT + External Interrupt + 0 + 16 + + + + + ASYNCH + External Interrupt Asynchronous Mode + 0x18 + 32 + + + ASYNCH + Asynchronous Edge Detection Mode + 0 + 16 + + + + + 2 + 0x4 + CONFIG%s + External Interrupt Sense Configuration + 0x1C + 32 + + + SENSE0 + Input Sense Configuration 0 + 0 + 3 + + SENSE0Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN0 + Filter Enable 0 + 3 + 1 + + + SENSE1 + Input Sense Configuration 1 + 4 + 3 + + SENSE1Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN1 + Filter Enable 1 + 7 + 1 + + + SENSE2 + Input Sense Configuration 2 + 8 + 3 + + SENSE2Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN2 + Filter Enable 2 + 11 + 1 + + + SENSE3 + Input Sense Configuration 3 + 12 + 3 + + SENSE3Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN3 + Filter Enable 3 + 15 + 1 + + + SENSE4 + Input Sense Configuration 4 + 16 + 3 + + SENSE4Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN4 + Filter Enable 4 + 19 + 1 + + + SENSE5 + Input Sense Configuration 5 + 20 + 3 + + SENSE5Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN5 + Filter Enable 5 + 23 + 1 + + + SENSE6 + Input Sense Configuration 6 + 24 + 3 + + SENSE6Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN6 + Filter Enable 6 + 27 + 1 + + + SENSE7 + Input Sense Configuration 7 + 28 + 3 + + SENSE7Select + + NONE + No detection + 0x0 + + + RISE + Rising edge detection + 0x1 + + + FALL + Falling edge detection + 0x2 + + + BOTH + Both edges detection + 0x3 + + + HIGH + High level detection + 0x4 + + + LOW + Low level detection + 0x5 + + + + + FILTEN7 + Filter Enable 7 + 31 + 1 + + + + + DEBOUNCEN + Debouncer Enable + 0x30 + 32 + + + DEBOUNCEN + Debouncer Enable + 0 + 16 + + + + + DPRESCALER + Debouncer Prescaler + 0x34 + 32 + + + PRESCALER0 + Debouncer Prescaler + 0 + 3 + + + PRESCALER1 + Debouncer Prescaler + 4 + 3 + + + STATES0 + Debouncer number of states + 3 + 1 + + + STATES1 + Debouncer number of states + 7 + 1 + + + TICKON + Pin Sampler frequency selection + 16 + 1 + + + + + PINSTATE + Pin State + 0x38 + 32 + read-only + + + PINSTATE + Pin State + 0 + 16 + read-only + + + + + + + EVSYS + 1.0.0 + Event System Interface + EVSYS + EVSYS_ + 0x4100E000 + + 0 + 0x400 + registers + + + EVSYS_INTREQ_0 + 36 + + + EVSYS_INTREQ_1 + 37 + + + EVSYS_INTREQ_2 + 38 + + + EVSYS_INTREQ_3 + 39 + + + EVSYS_INTREQ_4 + 40 + + + + CTRLA + Control + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + write-only + + + + + SWEVT + Software Event + 0x004 + 32 + write-only + + + CHANNEL0 + Channel 0 Software Selection + 0 + 1 + write-only + + + CHANNEL1 + Channel 1 Software Selection + 1 + 1 + write-only + + + CHANNEL2 + Channel 2 Software Selection + 2 + 1 + write-only + + + CHANNEL3 + Channel 3 Software Selection + 3 + 1 + write-only + + + CHANNEL4 + Channel 4 Software Selection + 4 + 1 + write-only + + + CHANNEL5 + Channel 5 Software Selection + 5 + 1 + write-only + + + CHANNEL6 + Channel 6 Software Selection + 6 + 1 + write-only + + + CHANNEL7 + Channel 7 Software Selection + 7 + 1 + write-only + + + CHANNEL8 + Channel 8 Software Selection + 8 + 1 + write-only + + + CHANNEL9 + Channel 9 Software Selection + 9 + 1 + write-only + + + CHANNEL10 + Channel 10 Software Selection + 10 + 1 + write-only + + + CHANNEL11 + Channel 11 Software Selection + 11 + 1 + write-only + + + CHANNEL12 + Channel 12 Software Selection + 12 + 1 + write-only + + + CHANNEL13 + Channel 13 Software Selection + 13 + 1 + write-only + + + CHANNEL14 + Channel 14 Software Selection + 14 + 1 + write-only + + + CHANNEL15 + Channel 15 Software Selection + 15 + 1 + write-only + + + CHANNEL16 + Channel 16 Software Selection + 16 + 1 + write-only + + + CHANNEL17 + Channel 17 Software Selection + 17 + 1 + write-only + + + CHANNEL18 + Channel 18 Software Selection + 18 + 1 + write-only + + + CHANNEL19 + Channel 19 Software Selection + 19 + 1 + write-only + + + CHANNEL20 + Channel 20 Software Selection + 20 + 1 + write-only + + + CHANNEL21 + Channel 21 Software Selection + 21 + 1 + write-only + + + CHANNEL22 + Channel 22 Software Selection + 22 + 1 + write-only + + + CHANNEL23 + Channel 23 Software Selection + 23 + 1 + write-only + + + CHANNEL24 + Channel 24 Software Selection + 24 + 1 + write-only + + + CHANNEL25 + Channel 25 Software Selection + 25 + 1 + write-only + + + CHANNEL26 + Channel 26 Software Selection + 26 + 1 + write-only + + + CHANNEL27 + Channel 27 Software Selection + 27 + 1 + write-only + + + CHANNEL28 + Channel 28 Software Selection + 28 + 1 + write-only + + + CHANNEL29 + Channel 29 Software Selection + 29 + 1 + write-only + + + CHANNEL30 + Channel 30 Software Selection + 30 + 1 + write-only + + + CHANNEL31 + Channel 31 Software Selection + 31 + 1 + write-only + + + + + PRICTRL + Priority Control + 0x008 + 8 + + + PRI + Channel Priority Number + 0 + 4 + + + RREN + Round-Robin Scheduling Enable + 7 + 1 + + + + + INTPEND + Channel Pending Interrupt + 0x010 + 16 + 0x4000 + + + ID + Channel ID + 0 + 4 + + + OVR + Channel Overrun + 8 + 1 + + + EVD + Channel Event Detected + 9 + 1 + + + READY + Ready + 14 + 1 + read-only + + + BUSY + Busy + 15 + 1 + read-only + + + + + INTSTATUS + Interrupt Status + 0x014 + 32 + read-only + + + CHINT0 + Channel 0 Pending Interrupt + 0 + 1 + read-only + + + CHINT1 + Channel 1 Pending Interrupt + 1 + 1 + read-only + + + CHINT2 + Channel 2 Pending Interrupt + 2 + 1 + read-only + + + CHINT3 + Channel 3 Pending Interrupt + 3 + 1 + read-only + + + CHINT4 + Channel 4 Pending Interrupt + 4 + 1 + read-only + + + CHINT5 + Channel 5 Pending Interrupt + 5 + 1 + read-only + + + CHINT6 + Channel 6 Pending Interrupt + 6 + 1 + read-only + + + CHINT7 + Channel 7 Pending Interrupt + 7 + 1 + read-only + + + CHINT8 + Channel 8 Pending Interrupt + 8 + 1 + read-only + + + CHINT9 + Channel 9 Pending Interrupt + 9 + 1 + read-only + + + CHINT10 + Channel 10 Pending Interrupt + 10 + 1 + read-only + + + CHINT11 + Channel 11 Pending Interrupt + 11 + 1 + read-only + + + + + BUSYCH + Busy Channels + 0x018 + 32 + read-only + + + BUSYCH0 + Busy Channel 0 + 0 + 1 + + + BUSYCH1 + Busy Channel 1 + 1 + 1 + + + BUSYCH2 + Busy Channel 2 + 2 + 1 + + + BUSYCH3 + Busy Channel 3 + 3 + 1 + + + BUSYCH4 + Busy Channel 4 + 4 + 1 + + + BUSYCH5 + Busy Channel 5 + 5 + 1 + + + BUSYCH6 + Busy Channel 6 + 6 + 1 + + + BUSYCH7 + Busy Channel 7 + 7 + 1 + + + BUSYCH8 + Busy Channel 8 + 8 + 1 + + + BUSYCH9 + Busy Channel 9 + 9 + 1 + + + BUSYCH10 + Busy Channel 10 + 10 + 1 + + + BUSYCH11 + Busy Channel 11 + 11 + 1 + + + + + READYUSR + Ready Users + 0x01C + 32 + read-only + 0xFFFFFFFF + + + READYUSR0 + Ready User for Channel 0 + 0 + 1 + read-only + + + READYUSR1 + Ready User for Channel 1 + 1 + 1 + read-only + + + READYUSR2 + Ready User for Channel 2 + 2 + 1 + read-only + + + READYUSR3 + Ready User for Channel 3 + 3 + 1 + read-only + + + READYUSR4 + Ready User for Channel 4 + 4 + 1 + read-only + + + READYUSR5 + Ready User for Channel 5 + 5 + 1 + read-only + + + READYUSR6 + Ready User for Channel 6 + 6 + 1 + read-only + + + READYUSR7 + Ready User for Channel 7 + 7 + 1 + read-only + + + READYUSR8 + Ready User for Channel 8 + 8 + 1 + read-only + + + READYUSR9 + Ready User for Channel 9 + 9 + 1 + read-only + + + READYUSR10 + Ready User for Channel 10 + 10 + 1 + read-only + + + READYUSR11 + Ready User for Channel 11 + 11 + 1 + read-only + + + + + 32 + 0x8 + CHANNEL%s + Channel n Control + 0x020 + 32 + 0x00008000 + + + EVGEN + Event Generator Selection + 0 + 7 + + + PATH + Path Selection + 8 + 2 + + PATHSelect + + SYNCHRONOUS + Synchronous path + 0x0 + + + RESYNCHRONIZED + Resynchronized path + 0x1 + + + ASYNCHRONOUS + Asynchronous path + 0x2 + + + + + EDGSEL + Edge Detection Selection + 10 + 2 + + EDGSELSelect + + NO_EVT_OUTPUT + No event output when using the resynchronized or synchronous path + 0x0 + + + RISING_EDGE + Event detection only on the rising edge of the signal from the event generator when using the resynchronized or synchronous path + 0x1 + + + FALLING_EDGE + Event detection only on the falling edge of the signal from the event generator when using the resynchronized or synchronous path + 0x2 + + + BOTH_EDGES + Event detection on rising and falling edges of the signal from the event generator when using the resynchronized or synchronous path + 0x3 + + + + + RUNSTDBY + Run in standby + 14 + 1 + + + ONDEMAND + Generic Clock On Demand + 15 + 1 + + + + + 32 + 0x8 + CHINTENCLR%s + Channel n Interrupt Enable Clear + 0x024 + 8 + + + OVR + Channel Overrun Interrupt Disable + 0 + 1 + + + EVD + Channel Event Detected Interrupt Disable + 1 + 1 + + + + + 32 + 0x8 + CHINTENSET%s + Channel n Interrupt Enable Set + 0x025 + 8 + + + OVR + Channel Overrun Interrupt Enable + 0 + 1 + + + EVD + Channel Event Detected Interrupt Enable + 1 + 1 + + + + + 32 + 0x8 + CHINTFLAG%s + Channel n Interrupt Flag Status and Clear + 0x026 + 8 + + + OVR + Channel Overrun + 0 + 1 + + + EVD + Channel Event Detected + 1 + 1 + + + + + 32 + 0x8 + CHSTATUS%s + Channel n Status + 0x027 + 8 + read-only + 0x01 + + + RDYUSR + Ready User + 0 + 1 + read-only + + + BUSYCH + Busy Channel + 1 + 1 + read-only + + + + + 67 + 0x4 + USER%s + User Multiplexer n + 0x120 + 32 + + + CHANNEL + Channel Event Selection + 0 + 6 + + + + + + + FREQM + 1.1.0 + Frequency Meter + FREQM + FREQM_ + 0x40002C00 + + 0 + 0x20 + registers + + + FREQM_INTREQ + 28 + + + + CTRLA + Control A Register + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + + + CTRLB + Control B Register + 0x01 + 8 + write-only + + + START + Start Measurement + 0 + 1 + write-only + + + + + CFGA + Config A register + 0x02 + 16 + + + REFNUM + Number of Reference Clock Cycles + 0 + 8 + + + + + INTENCLR + Interrupt Enable Clear Register + 0x08 + 8 + + + DONE + Measurement Done Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set Register + 0x09 + 8 + + + DONE + Measurement Done Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Register + 0x0A + 8 + + + DONE + Measurement Done + 0 + 1 + + + + + STATUS + Status Register + 0x0B + 8 + + + BUSY + FREQM Status + 0 + 1 + read-only + + + OVF + Sticky Count Value Overflow + 1 + 1 + + + + + SYNCBUSY + Synchronization Busy Register + 0x0C + 32 + read-only + + + SWRST + Software Reset + 0 + 1 + read-only + + + ENABLE + Enable + 1 + 1 + read-only + + + + + VALUE + Count Value Register + 0x10 + 32 + read-only + + + VALUE + Measurement Value + 0 + 24 + read-only + + + + + + + GCLK + 1.2.0 + Generic Clock Generator + GCLK + GCLK_ + 0x40001C00 + + 0 + 0x400 + registers + + + + CTRLA + Control + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x04 + 32 + read-only + + + SWRST + Software Reset Synchroniation Busy bit + 0 + 1 + read-only + + + GENCTRL0 + Generic Clock Generator Control 0 Synchronization Busy bits + 2 + 1 + read-only + + GENCTRL0Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL1 + Generic Clock Generator Control 1 Synchronization Busy bits + 3 + 1 + read-only + + GENCTRL1Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL2 + Generic Clock Generator Control 2 Synchronization Busy bits + 4 + 1 + read-only + + GENCTRL2Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL3 + Generic Clock Generator Control 3 Synchronization Busy bits + 5 + 1 + read-only + + GENCTRL3Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL4 + Generic Clock Generator Control 4 Synchronization Busy bits + 6 + 1 + read-only + + GENCTRL4Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL5 + Generic Clock Generator Control 5 Synchronization Busy bits + 7 + 1 + read-only + + GENCTRL5Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL6 + Generic Clock Generator Control 6 Synchronization Busy bits + 8 + 1 + read-only + + GENCTRL6Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL7 + Generic Clock Generator Control 7 Synchronization Busy bits + 9 + 1 + read-only + + GENCTRL7Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL8 + Generic Clock Generator Control 8 Synchronization Busy bits + 10 + 1 + read-only + + GENCTRL8Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL9 + Generic Clock Generator Control 9 Synchronization Busy bits + 11 + 1 + read-only + + GENCTRL9Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL10 + Generic Clock Generator Control 10 Synchronization Busy bits + 12 + 1 + read-only + + GENCTRL10Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + GENCTRL11 + Generic Clock Generator Control 11 Synchronization Busy bits + 13 + 1 + read-only + + GENCTRL11Select + + GCLK0 + Generic clock generator 0 + 0x1 + + + GCLK1 + Generic clock generator 1 + 0x2 + + + GCLK2 + Generic clock generator 2 + 0x4 + + + GCLK3 + Generic clock generator 3 + 0x8 + + + GCLK4 + Generic clock generator 4 + 0x10 + + + GCLK5 + Generic clock generator 5 + 0x20 + + + GCLK6 + Generic clock generator 6 + 0x40 + + + GCLK7 + Generic clock generator 7 + 0x80 + + + GCLK8 + Generic clock generator 8 + 0x100 + + + GCLK9 + Generic clock generator 9 + 0x200 + + + GCLK10 + Generic clock generator 10 + 0x400 + + + GCLK11 + Generic clock generator 11 + 0x800 + + + + + + + 12 + 0x4 + GENCTRL%s + Generic Clock Generator Control + 0x20 + 32 + + + SRC + Source Select + 0 + 4 + + SRCSelect + + XOSC0 + XOSC0 oscillator output + 0x0 + + + XOSC1 + XOSC1 oscillator output + 0x1 + + + GCLKIN + Generator input pad + 0x2 + + + GCLKGEN1 + Generic clock generator 1 output + 0x3 + + + OSCULP32K + OSCULP32K oscillator output + 0x4 + + + XOSC32K + XOSC32K oscillator output + 0x5 + + + DFLL + DFLL output + 0x6 + + + DPLL0 + DPLL0 output + 0x7 + + + DPLL1 + DPLL1 output + 0x8 + + + + + GENEN + Generic Clock Generator Enable + 8 + 1 + + + IDC + Improve Duty Cycle + 9 + 1 + + + OOV + Output Off Value + 10 + 1 + + + OE + Output Enable + 11 + 1 + + + DIVSEL + Divide Selection + 12 + 1 + + + RUNSTDBY + Run in Standby + 13 + 1 + + + DIV + Division Factor + 16 + 16 + + + + + 48 + 0x4 + PCHCTRL%s + Peripheral Clock Control + 0x80 + 32 + + + GEN + Generic Clock Generator + 0 + 4 + + GENSelect + + GCLK0 + Generic clock generator 0 + 0x0 + + + GCLK1 + Generic clock generator 1 + 0x1 + + + GCLK2 + Generic clock generator 2 + 0x2 + + + GCLK3 + Generic clock generator 3 + 0x3 + + + GCLK4 + Generic clock generator 4 + 0x4 + + + GCLK5 + Generic clock generator 5 + 0x5 + + + GCLK6 + Generic clock generator 6 + 0x6 + + + GCLK7 + Generic clock generator 7 + 0x7 + + + GCLK8 + Generic clock generator 8 + 0x8 + + + GCLK9 + Generic clock generator 9 + 0x9 + + + GCLK10 + Generic clock generator 10 + 0xa + + + GCLK11 + Generic clock generator 11 + 0xb + + + + + CHEN + Channel Enable + 6 + 1 + + + WRTLOCK + Write Lock + 7 + 1 + + + + + + + GMAC + 1.0.0 + Ethernet MAC + GMAC + GMAC_ + 0x42000800 + + 0 + 0x280 + registers + + + GMAC_INTREQ + 84 + + + + NCR + Network Control Register + 0x000 + 32 + + + LBL + Loop Back Local + 1 + 1 + + + RXEN + Receive Enable + 2 + 1 + + + TXEN + Transmit Enable + 3 + 1 + + + MPE + Management Port Enable + 4 + 1 + + + CLRSTAT + Clear Statistics Registers + 5 + 1 + + + INCSTAT + Increment Statistics Registers + 6 + 1 + + + WESTAT + Write Enable for Statistics Registers + 7 + 1 + + + BP + Back pressure + 8 + 1 + + + TSTART + Start Transmission + 9 + 1 + + + THALT + Transmit Halt + 10 + 1 + + + TXPF + Transmit Pause Frame + 11 + 1 + + + TXZQPF + Transmit Zero Quantum Pause Frame + 12 + 1 + + + SRTSM + Store Receive Time Stamp to Memory + 15 + 1 + + + ENPBPR + Enable PFC Priority-based Pause Reception + 16 + 1 + + + TXPBPF + Transmit PFC Priority-based Pause Frame + 17 + 1 + + + FNP + Flush Next Packet + 18 + 1 + + + LPI + Low Power Idle Enable + 19 + 1 + + + + + NCFGR + Network Configuration Register + 0x004 + 32 + 0x00080000 + + + SPD + Speed + 0 + 1 + + + FD + Full Duplex + 1 + 1 + + + DNVLAN + Discard Non-VLAN FRAMES + 2 + 1 + + + JFRAME + Jumbo Frame Size + 3 + 1 + + + CAF + Copy All Frames + 4 + 1 + + + NBC + No Broadcast + 5 + 1 + + + MTIHEN + Multicast Hash Enable + 6 + 1 + + + UNIHEN + Unicast Hash Enable + 7 + 1 + + + MAXFS + 1536 Maximum Frame Size + 8 + 1 + + + RTY + Retry Test + 12 + 1 + + + PEN + Pause Enable + 13 + 1 + + + RXBUFO + Receive Buffer Offset + 14 + 2 + + + LFERD + Length Field Error Frame Discard + 16 + 1 + + + RFCS + Remove FCS + 17 + 1 + + + CLK + MDC CLock Division + 18 + 3 + + + DBW + Data Bus Width + 21 + 2 + + + DCPF + Disable Copy of Pause Frames + 23 + 1 + + + RXCOEN + Receive Checksum Offload Enable + 24 + 1 + + + EFRHD + Enable Frames Received in Half Duplex + 25 + 1 + + + IRXFCS + Ignore RX FCS + 26 + 1 + + + IPGSEN + IP Stretch Enable + 28 + 1 + + + RXBP + Receive Bad Preamble + 29 + 1 + + + IRXER + Ignore IPG GRXER + 30 + 1 + + + + + NSR + Network Status Register + 0x008 + 32 + read-only + 0x00000004 + + + MDIO + MDIO Input Status + 1 + 1 + + + IDLE + PHY Management Logic Idle + 2 + 1 + + + + + UR + User Register + 0x00C + 32 + + + MII + MII Mode + 0 + 1 + + + + + DCFGR + DMA Configuration Register + 0x010 + 32 + 0x00020704 + + + FBLDO + Fixed Burst Length for DMA Data Operations: + 0 + 5 + + + ESMA + Endian Swap Mode Enable for Management Descriptor Accesses + 6 + 1 + + + ESPA + Endian Swap Mode Enable for Packet Data Accesses + 7 + 1 + + + RXBMS + Receiver Packet Buffer Memory Size Select + 8 + 2 + + + TXPBMS + Transmitter Packet Buffer Memory Size Select + 10 + 1 + + + TXCOEN + Transmitter Checksum Generation Offload Enable + 11 + 1 + + + DRBS + DMA Receive Buffer Size + 16 + 8 + + + DDRP + DMA Discard Receive Packets + 24 + 1 + + + + + TSR + Transmit Status Register + 0x014 + 32 + + + UBR + Used Bit Read + 0 + 1 + + + COL + Collision Occurred + 1 + 1 + + + RLE + Retry Limit Exceeded + 2 + 1 + + + TXGO + Transmit Go + 3 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 4 + 1 + + + TXCOMP + Transmit Complete + 5 + 1 + + + UND + Transmit Underrun + 6 + 1 + + + HRESP + HRESP Not OK + 8 + 1 + + + + + RBQB + Receive Buffer Queue Base Address + 0x018 + 32 + + + ADDR + Receive Buffer Queue Base Address + 2 + 30 + + + + + TBQB + Transmit Buffer Queue Base Address + 0x01C + 32 + + + ADDR + Transmit Buffer Queue Base Address + 2 + 30 + + + + + RSR + Receive Status Register + 0x020 + 32 + + + BNA + Buffer Not Available + 0 + 1 + + + REC + Frame Received + 1 + 1 + + + RXOVR + Receive Overrun + 2 + 1 + + + HNO + HRESP Not OK + 3 + 1 + + + + + ISR + Interrupt Status Register + 0x024 + 32 + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IER + Interrupt Enable Register + 0x028 + 32 + write-only + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded or Late Collision + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IDR + Interrupt Disable Register + 0x02C + 32 + write-only + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded or Late Collision + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On LAN + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + IMR + Interrupt Mask Register + 0x030 + 32 + read-only + 0x3FFFFFFF + + + MFS + Management Frame Sent + 0 + 1 + + + RCOMP + Receive Complete + 1 + 1 + + + RXUBR + RX Used Bit Read + 2 + 1 + + + TXUBR + TX Used Bit Read + 3 + 1 + + + TUR + Transmit Underrun + 4 + 1 + + + RLEX + Retry Limit Exceeded + 5 + 1 + + + TFC + Transmit Frame Corruption Due to AHB Error + 6 + 1 + + + TCOMP + Transmit Complete + 7 + 1 + + + ROVR + Receive Overrun + 10 + 1 + + + HRESP + HRESP Not OK + 11 + 1 + + + PFNZ + Pause Frame with Non-zero Pause Quantum Received + 12 + 1 + + + PTZ + Pause Time Zero + 13 + 1 + + + PFTR + Pause Frame Transmitted + 14 + 1 + + + EXINT + External Interrupt + 15 + 1 + + + DRQFR + PTP Delay Request Frame Received + 18 + 1 + + + SFR + PTP Sync Frame Received + 19 + 1 + + + DRQFT + PTP Delay Request Frame Transmitted + 20 + 1 + + + SFT + PTP Sync Frame Transmitted + 21 + 1 + + + PDRQFR + PDelay Request Frame Received + 22 + 1 + + + PDRSFR + PDelay Response Frame Received + 23 + 1 + + + PDRQFT + PDelay Request Frame Transmitted + 24 + 1 + + + PDRSFT + PDelay Response Frame Transmitted + 25 + 1 + + + SRI + TSU Seconds Register Increment + 26 + 1 + + + WOL + Wake On Lan + 28 + 1 + + + TSUCMP + Tsu timer comparison + 29 + 1 + + + + + MAN + PHY Maintenance Register + 0x034 + 32 + + + DATA + PHY Data + 0 + 16 + + + WTN + Write Ten + 16 + 2 + + + REGA + Register Address + 18 + 5 + + + PHYA + PHY Address + 23 + 5 + + + OP + Operation + 28 + 2 + + + CLTTO + Clause 22 Operation + 30 + 1 + + + WZO + Write ZERO + 31 + 1 + + + + + RPQ + Received Pause Quantum Register + 0x038 + 32 + read-only + + + RPQ + Received Pause Quantum + 0 + 16 + + + + + TPQ + Transmit Pause Quantum Register + 0x03C + 32 + 0x0000FFFF + + + TPQ + Transmit Pause Quantum + 0 + 16 + + + + + TPSF + TX partial store and forward Register + 0x040 + 32 + 0x000003FF + + + TPB1ADR + TX packet buffer address + 0 + 10 + + + ENTXP + Enable TX partial store and forward operation + 31 + 1 + + + + + RPSF + RX partial store and forward Register + 0x044 + 32 + 0x000003FF + + + RPB1ADR + RX packet buffer address + 0 + 10 + + + ENRXP + Enable RX partial store and forward operation + 31 + 1 + + + + + RJFML + RX Jumbo Frame Max Length Register + 0x048 + 32 + 0x00003FFF + + + FML + Frame Max Length + 0 + 14 + + + + + HRB + Hash Register Bottom [31:0] + 0x080 + 32 + + + ADDR + Hash Address + 0 + 32 + + + + + HRT + Hash Register Top [63:32] + 0x084 + 32 + + + ADDR + Hash Address + 0 + 32 + + + + + 4 + 0x8 + SAB%s + Specific Address Bottom [31:0] Register + 0x088 + 32 + + + ADDR + Specific Address 1 + 0 + 32 + + + + + 4 + 0x8 + SAT%s + Specific Address Top [47:32] Register + 0x08C + 32 + + + ADDR + Specific Address 1 + 0 + 16 + + + + + 4 + 0x4 + TIDM%s + Type ID Match Register + 0x0A8 + 32 + + + TID + Type ID Match 1 + 0 + 16 + + + + + WOL + Wake on LAN + 0x0B8 + 32 + + + IP + IP address + 0 + 16 + + + MAG + Event enable + 16 + 1 + + + ARP + LAN ARP req + 17 + 1 + + + SA1 + WOL specific address reg 1 + 18 + 1 + + + MTI + WOL LAN multicast + 19 + 1 + + + + + IPGS + IPG Stretch Register + 0x0BC + 32 + + + FL + Frame Length + 0 + 16 + + + + + SVLAN + Stacked VLAN Register + 0x0C0 + 32 + + + VLAN_TYPE + User Defined VLAN_TYPE Field + 0 + 16 + + + ESVLAN + Enable Stacked VLAN Processing Mode + 31 + 1 + + + + + TPFCP + Transmit PFC Pause Register + 0x0C4 + 32 + + + PEV + Priority Enable Vector + 0 + 8 + + + PQ + Pause Quantum + 8 + 8 + + + + + SAMB1 + Specific Address 1 Mask Bottom [31:0] Register + 0x0C8 + 32 + + + ADDR + Specific Address 1 Mask + 0 + 32 + + + + + SAMT1 + Specific Address 1 Mask Top [47:32] Register + 0x0CC + 32 + + + ADDR + Specific Address 1 Mask + 0 + 16 + + + + + NSC + Tsu timer comparison nanoseconds Register + 0x0DC + 32 + + + NANOSEC + 1588 Timer Nanosecond comparison value + 0 + 21 + + + + + SCL + Tsu timer second comparison Register + 0x0E0 + 32 + + + SEC + 1588 Timer Second comparison value + 0 + 32 + + + + + SCH + Tsu timer second comparison Register + 0x0E4 + 32 + + + SEC + 1588 Timer Second comparison value + 0 + 16 + + + + + EFTSH + PTP Event Frame Transmitted Seconds High Register + 0x0E8 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + EFRSH + PTP Event Frame Received Seconds High Register + 0x0EC + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + PEFTSH + PTP Peer Event Frame Transmitted Seconds High Register + 0x0F0 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + PEFRSH + PTP Peer Event Frame Received Seconds High Register + 0x0F4 + 32 + read-only + + + RUD + Register Update + 0 + 16 + + + + + OTLO + Octets Transmitted [31:0] Register + 0x100 + 32 + read-only + + + TXO + Transmitted Octets + 0 + 32 + + + + + OTHI + Octets Transmitted [47:32] Register + 0x104 + 32 + read-only + + + TXO + Transmitted Octets + 0 + 16 + + + + + FT + Frames Transmitted Register + 0x108 + 32 + read-only + + + FTX + Frames Transmitted without Error + 0 + 32 + + + + + BCFT + Broadcast Frames Transmitted Register + 0x10C + 32 + read-only + + + BFTX + Broadcast Frames Transmitted without Error + 0 + 32 + + + + + MFT + Multicast Frames Transmitted Register + 0x110 + 32 + read-only + + + MFTX + Multicast Frames Transmitted without Error + 0 + 32 + + + + + PFT + Pause Frames Transmitted Register + 0x114 + 32 + read-only + + + PFTX + Pause Frames Transmitted Register + 0 + 16 + + + + + BFT64 + 64 Byte Frames Transmitted Register + 0x118 + 32 + read-only + + + NFTX + 64 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT127 + 65 to 127 Byte Frames Transmitted Register + 0x11C + 32 + read-only + + + NFTX + 65 to 127 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT255 + 128 to 255 Byte Frames Transmitted Register + 0x120 + 32 + read-only + + + NFTX + 128 to 255 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT511 + 256 to 511 Byte Frames Transmitted Register + 0x124 + 32 + read-only + + + NFTX + 256 to 511 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT1023 + 512 to 1023 Byte Frames Transmitted Register + 0x128 + 32 + read-only + + + NFTX + 512 to 1023 Byte Frames Transmitted without Error + 0 + 32 + + + + + TBFT1518 + 1024 to 1518 Byte Frames Transmitted Register + 0x12C + 32 + read-only + + + NFTX + 1024 to 1518 Byte Frames Transmitted without Error + 0 + 32 + + + + + GTBFT1518 + Greater Than 1518 Byte Frames Transmitted Register + 0x130 + 32 + read-only + + + NFTX + Greater than 1518 Byte Frames Transmitted without Error + 0 + 32 + + + + + TUR + Transmit Underruns Register + 0x134 + 32 + read-only + + + TXUNR + Transmit Underruns + 0 + 10 + + + + + SCF + Single Collision Frames Register + 0x138 + 32 + read-only + + + SCOL + Single Collision + 0 + 18 + + + + + MCF + Multiple Collision Frames Register + 0x13C + 32 + read-only + + + MCOL + Multiple Collision + 0 + 18 + + + + + EC + Excessive Collisions Register + 0x140 + 32 + read-only + + + XCOL + Excessive Collisions + 0 + 10 + + + + + LC + Late Collisions Register + 0x144 + 32 + read-only + + + LCOL + Late Collisions + 0 + 10 + + + + + DTF + Deferred Transmission Frames Register + 0x148 + 32 + read-only + + + DEFT + Deferred Transmission + 0 + 18 + + + + + CSE + Carrier Sense Errors Register + 0x14C + 32 + read-only + + + CSR + Carrier Sense Error + 0 + 10 + + + + + ORLO + Octets Received [31:0] Received + 0x150 + 32 + read-only + + + RXO + Received Octets + 0 + 32 + + + + + ORHI + Octets Received [47:32] Received + 0x154 + 32 + read-only + + + RXO + Received Octets + 0 + 16 + + + + + FR + Frames Received Register + 0x158 + 32 + read-only + + + FRX + Frames Received without Error + 0 + 32 + + + + + BCFR + Broadcast Frames Received Register + 0x15C + 32 + read-only + + + BFRX + Broadcast Frames Received without Error + 0 + 32 + + + + + MFR + Multicast Frames Received Register + 0x160 + 32 + read-only + + + MFRX + Multicast Frames Received without Error + 0 + 32 + + + + + PFR + Pause Frames Received Register + 0x164 + 32 + read-only + + + PFRX + Pause Frames Received Register + 0 + 16 + + + + + BFR64 + 64 Byte Frames Received Register + 0x168 + 32 + read-only + + + NFRX + 64 Byte Frames Received without Error + 0 + 32 + + + + + TBFR127 + 65 to 127 Byte Frames Received Register + 0x16C + 32 + read-only + + + NFRX + 65 to 127 Byte Frames Received without Error + 0 + 32 + + + + + TBFR255 + 128 to 255 Byte Frames Received Register + 0x170 + 32 + read-only + + + NFRX + 128 to 255 Byte Frames Received without Error + 0 + 32 + + + + + TBFR511 + 256 to 511Byte Frames Received Register + 0x174 + 32 + read-only + + + NFRX + 256 to 511 Byte Frames Received without Error + 0 + 32 + + + + + TBFR1023 + 512 to 1023 Byte Frames Received Register + 0x178 + 32 + read-only + + + NFRX + 512 to 1023 Byte Frames Received without Error + 0 + 32 + + + + + TBFR1518 + 1024 to 1518 Byte Frames Received Register + 0x17C + 32 + read-only + + + NFRX + 1024 to 1518 Byte Frames Received without Error + 0 + 32 + + + + + TMXBFR + 1519 to Maximum Byte Frames Received Register + 0x180 + 32 + read-only + + + NFRX + 1519 to Maximum Byte Frames Received without Error + 0 + 32 + + + + + UFR + Undersize Frames Received Register + 0x184 + 32 + read-only + + + UFRX + Undersize Frames Received + 0 + 10 + + + + + OFR + Oversize Frames Received Register + 0x188 + 32 + read-only + + + OFRX + Oversized Frames Received + 0 + 10 + + + + + JR + Jabbers Received Register + 0x18C + 32 + read-only + + + JRX + Jabbers Received + 0 + 10 + + + + + FCSE + Frame Check Sequence Errors Register + 0x190 + 32 + read-only + + + FCKR + Frame Check Sequence Errors + 0 + 10 + + + + + LFFE + Length Field Frame Errors Register + 0x194 + 32 + read-only + + + LFER + Length Field Frame Errors + 0 + 10 + + + + + RSE + Receive Symbol Errors Register + 0x198 + 32 + read-only + + + RXSE + Receive Symbol Errors + 0 + 10 + + + + + AE + Alignment Errors Register + 0x19C + 32 + read-only + + + AER + Alignment Errors + 0 + 10 + + + + + RRE + Receive Resource Errors Register + 0x1A0 + 32 + read-only + + + RXRER + Receive Resource Errors + 0 + 18 + + + + + ROE + Receive Overrun Register + 0x1A4 + 32 + read-only + + + RXOVR + Receive Overruns + 0 + 10 + + + + + IHCE + IP Header Checksum Errors Register + 0x1A8 + 32 + read-only + + + HCKER + IP Header Checksum Errors + 0 + 8 + + + + + TCE + TCP Checksum Errors Register + 0x1AC + 32 + read-only + + + TCKER + TCP Checksum Errors + 0 + 8 + + + + + UCE + UDP Checksum Errors Register + 0x1B0 + 32 + read-only + + + UCKER + UDP Checksum Errors + 0 + 8 + + + + + TISUBN + 1588 Timer Increment [15:0] Sub-Nanoseconds Register + 0x1BC + 32 + + + LSBTIR + Lower Significant Bits of Timer Increment + 0 + 16 + + + + + TSH + 1588 Timer Seconds High [15:0] Register + 0x1C0 + 32 + + + TCS + Timer Count in Seconds + 0 + 16 + + + + + TSSSL + 1588 Timer Sync Strobe Seconds [31:0] Register + 0x1C8 + 32 + + + VTS + Value of Timer Seconds Register Capture + 0 + 32 + + + + + TSSN + 1588 Timer Sync Strobe Nanoseconds Register + 0x1CC + 32 + + + VTN + Value Timer Nanoseconds Register Capture + 0 + 30 + + + + + TSL + 1588 Timer Seconds [31:0] Register + 0x1D0 + 32 + + + TCS + Timer Count in Seconds + 0 + 32 + + + + + TN + 1588 Timer Nanoseconds Register + 0x1D4 + 32 + + + TNS + Timer Count in Nanoseconds + 0 + 30 + + + + + TA + 1588 Timer Adjust Register + 0x1D8 + 32 + write-only + + + ITDT + Increment/Decrement + 0 + 30 + + + ADJ + Adjust 1588 Timer + 31 + 1 + + + + + TI + 1588 Timer Increment Register + 0x1DC + 32 + + + CNS + Count Nanoseconds + 0 + 8 + + + ACNS + Alternative Count Nanoseconds + 8 + 8 + + + NIT + Number of Increments + 16 + 8 + + + + + EFTSL + PTP Event Frame Transmitted Seconds Low Register + 0x1E0 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + EFTN + PTP Event Frame Transmitted Nanoseconds + 0x1E4 + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + EFRSL + PTP Event Frame Received Seconds Low Register + 0x1E8 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + EFRN + PTP Event Frame Received Nanoseconds + 0x1EC + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + PEFTSL + PTP Peer Event Frame Transmitted Seconds Low Register + 0x1F0 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + PEFTN + PTP Peer Event Frame Transmitted Nanoseconds + 0x1F4 + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + PEFRSL + PTP Peer Event Frame Received Seconds Low Register + 0x1F8 + 32 + read-only + + + RUD + Register Update + 0 + 32 + + + + + PEFRN + PTP Peer Event Frame Received Nanoseconds + 0x1FC + 32 + read-only + + + RUD + Register Update + 0 + 30 + + + + + RLPITR + Receive LPI transition Register + 0x270 + 32 + read-only + + + RLPITR + Count number of times transition from rx normal idle to low power idle + 0 + 16 + + + + + RLPITI + Receive LPI Time Register + 0x274 + 32 + read-only + + + RLPITI + Increment once over 16 ahb clock when LPI indication bit 20 is set in rx mode + 0 + 24 + + + + + TLPITR + Receive LPI transition Register + 0x278 + 32 + read-only + + + TLPITR + Count number of times enable LPI tx bit 20 goes from low to high + 0 + 16 + + + + + TLPITI + Receive LPI Time Register + 0x27C + 32 + read-only + + + TLPITI + Increment once over 16 ahb clock when LPI indication bit 20 is set in tx mode + 0 + 24 + + + + + + + HMATRIX + 2.1.4 + HSB Matrix + HMATRIXB + HMATRIXB_ + 0x4100C000 + + 0 + 0x180 + registers + + + + 5 + 0x8 + PRAS%s + Priority A for Slave + 0x080 + 32 + + + 5 + 0x8 + PRBS%s + Priority B for Slave + 0x084 + 32 + + + + + ICM + 1.2.0 + Integrity Check Monitor + ICM + ICM_ + 0x42002C00 + + 0 + 0x80 + registers + + + ICM_INTREQ + 132 + + + + CFG + Configuration + 0x00 + 32 + + + WBDIS + Write Back Disable + 0 + 1 + + + EOMDIS + End of Monitoring Disable + 1 + 1 + + + SLBDIS + Secondary List Branching Disable + 2 + 1 + + + BBC + Bus Burden Control + 4 + 4 + + + ASCD + Automatic Switch To Compare Digest + 8 + 1 + + + DUALBUFF + Dual Input Buffer + 9 + 1 + + + UIHASH + User Initial Hash Value + 12 + 1 + + + UALGO + User SHA Algorithm + 13 + 3 + + UALGOSelect + + SHA1 + SHA1 Algorithm + 0x0 + + + SHA256 + SHA256 Algorithm + 0x1 + + + SHA224 + SHA224 Algorithm + 0x4 + + + + + HAPROT + Region Hash Area Protection + 16 + 6 + + + DAPROT + Region Descriptor Area Protection + 24 + 6 + + + + + CTRL + Control + 0x04 + 32 + write-only + + + ENABLE + ICM Enable + 0 + 1 + + + DISABLE + ICM Disable Register + 1 + 1 + + + SWRST + Software Reset + 2 + 1 + + + REHASH + Recompute Internal Hash + 4 + 4 + + + RMDIS + Region Monitoring Disable + 8 + 4 + + + RMEN + Region Monitoring Enable + 12 + 4 + + + + + SR + Status + 0x08 + 32 + read-only + + + ENABLE + ICM Controller Enable Register + 0 + 1 + + + RAWRMDIS + RAW Region Monitoring Disabled Status + 8 + 4 + + + RMDIS + Region Monitoring Disabled Status + 12 + 4 + + + + + IER + Interrupt Enable + 0x10 + 32 + write-only + + + RHC + Region Hash Completed Interrupt Enable + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Enable + 4 + 4 + + + RBE + Region Bus Error Interrupt Enable + 8 + 4 + + + RWC + Region Wrap Condition detected Interrupt Enable + 12 + 4 + + + REC + Region End bit Condition Detected Interrupt Enable + 16 + 4 + + + RSU + Region Status Updated Interrupt Disable + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Enable + 24 + 1 + + + + + IDR + Interrupt Disable + 0x14 + 32 + write-only + + + RHC + Region Hash Completed Interrupt Disable + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Disable + 4 + 4 + + + RBE + Region Bus Error Interrupt Disable + 8 + 4 + + + RWC + Region Wrap Condition Detected Interrupt Disable + 12 + 4 + + + REC + Region End bit Condition detected Interrupt Disable + 16 + 4 + + + RSU + Region Status Updated Interrupt Disable + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Disable + 24 + 1 + + + + + IMR + Interrupt Mask + 0x18 + 32 + read-only + + + RHC + Region Hash Completed Interrupt Mask + 0 + 4 + + + RDM + Region Digest Mismatch Interrupt Mask + 4 + 4 + + + RBE + Region Bus Error Interrupt Mask + 8 + 4 + + + RWC + Region Wrap Condition Detected Interrupt Mask + 12 + 4 + + + REC + Region End bit Condition Detected Interrupt Mask + 16 + 4 + + + RSU + Region Status Updated Interrupt Mask + 20 + 4 + + + URAD + Undefined Register Access Detection Interrupt Mask + 24 + 1 + + + + + ISR + Interrupt Status + 0x1C + 32 + read-only + + + RHC + Region Hash Completed + 0 + 4 + + + RDM + Region Digest Mismatch + 4 + 4 + + + RBE + Region Bus Error + 8 + 4 + + + RWC + Region Wrap Condition Detected + 12 + 4 + + + REC + Region End bit Condition Detected + 16 + 4 + + + RSU + Region Status Updated Detected + 20 + 4 + + + URAD + Undefined Register Access Detection Status + 24 + 1 + + + + + UASR + Undefined Access Status + 0x20 + 32 + read-only + + + URAT + Undefined Register Access Trace + 0 + 3 + + URATSelect + + UNSPEC_STRUCT_MEMBER + Unspecified structure member set to one detected when the descriptor is loaded + 0x0 + + + CFG_MODIFIED + CFG modified during active monitoring + 0x1 + + + DSCR_MODIFIED + DSCR modified during active monitoring + 0x2 + + + HASH_MODIFIED + HASH modified during active monitoring + 0x3 + + + READ_ACCESS + Write-only register read access + 0x4 + + + + + + + DSCR + Region Descriptor Area Start Address + 0x30 + 32 + + + DASA + Descriptor Area Start Address + 6 + 26 + + + + + HASH + Region Hash Area Start Address + 0x34 + 32 + + + HASA + Hash Area Start Address + 7 + 25 + + + + + 8 + 0x4 + UIHVAL%s + User Initial Hash Value n + 0x38 + 32 + write-only + + + VAL + Initial Hash Value + 0 + 32 + + + + + + + I2S + 2.0.0 + Inter-IC Sound Interface + I2S + I2S_ + 0x43002800 + + 0 + 0x40 + registers + + + I2S_INTREQ + 128 + + + + CTRLA + Control A + 0x00 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + CKEN0 + Clock Unit 0 Enable + 2 + 1 + + + CKEN1 + Clock Unit 1 Enable + 3 + 1 + + + TXEN + Tx Serializer Enable + 4 + 1 + + + RXEN + Rx Serializer Enable + 5 + 1 + + + + + 2 + 0x4 + CLKCTRL%s + Clock Unit n Control + 0x04 + 32 + + + SLOTSIZE + Slot Size + 0 + 2 + + SLOTSIZESelect + + 8 + 8-bit Slot for Clock Unit n + 0x0 + + + 16 + 16-bit Slot for Clock Unit n + 0x1 + + + 24 + 24-bit Slot for Clock Unit n + 0x2 + + + 32 + 32-bit Slot for Clock Unit n + 0x3 + + + + + NBSLOTS + Number of Slots in Frame + 2 + 3 + + + FSWIDTH + Frame Sync Width + 5 + 2 + + FSWIDTHSelect + + SLOT + Frame Sync Pulse is 1 Slot wide (default for I2S protocol) + 0x0 + + + HALF + Frame Sync Pulse is half a Frame wide + 0x1 + + + BIT + Frame Sync Pulse is 1 Bit wide + 0x2 + + + BURST + Clock Unit n operates in Burst mode, with a 1-bit wide Frame Sync pulse per Data sample, only when Data transfer is requested + 0x3 + + + + + BITDELAY + Data Delay from Frame Sync + 7 + 1 + + BITDELAYSelect + + LJ + Left Justified (0 Bit Delay) + 0x0 + + + I2S + I2S (1 Bit Delay) + 0x1 + + + + + FSSEL + Frame Sync Select + 8 + 1 + + FSSELSelect + + SCKDIV + Divided Serial Clock n is used as Frame Sync n source + 0x0 + + + FSPIN + FSn input pin is used as Frame Sync n source + 0x1 + + + + + FSINV + Frame Sync Invert + 9 + 1 + + + FSOUTINV + Frame Sync Output Invert + 10 + 1 + + + SCKSEL + Serial Clock Select + 11 + 1 + + SCKSELSelect + + MCKDIV + Divided Master Clock n is used as Serial Clock n source + 0x0 + + + SCKPIN + SCKn input pin is used as Serial Clock n source + 0x1 + + + + + SCKOUTINV + Serial Clock Output Invert + 12 + 1 + + + MCKSEL + Master Clock Select + 13 + 1 + + MCKSELSelect + + GCLK + GCLK_I2S_n is used as Master Clock n source + 0x0 + + + MCKPIN + MCKn input pin is used as Master Clock n source + 0x1 + + + + + MCKEN + Master Clock Enable + 14 + 1 + + + MCKOUTINV + Master Clock Output Invert + 15 + 1 + + + MCKDIV + Master Clock Division Factor + 16 + 6 + + + MCKOUTDIV + Master Clock Output Division Factor + 24 + 6 + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 16 + + + RXRDY0 + Receive Ready 0 Interrupt Enable + 0 + 1 + + + RXRDY1 + Receive Ready 1 Interrupt Enable + 1 + 1 + + + RXOR0 + Receive Overrun 0 Interrupt Enable + 4 + 1 + + + RXOR1 + Receive Overrun 1 Interrupt Enable + 5 + 1 + + + TXRDY0 + Transmit Ready 0 Interrupt Enable + 8 + 1 + + + TXRDY1 + Transmit Ready 1 Interrupt Enable + 9 + 1 + + + TXUR0 + Transmit Underrun 0 Interrupt Enable + 12 + 1 + + + TXUR1 + Transmit Underrun 1 Interrupt Enable + 13 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x10 + 16 + + + RXRDY0 + Receive Ready 0 Interrupt Enable + 0 + 1 + + + RXRDY1 + Receive Ready 1 Interrupt Enable + 1 + 1 + + + RXOR0 + Receive Overrun 0 Interrupt Enable + 4 + 1 + + + RXOR1 + Receive Overrun 1 Interrupt Enable + 5 + 1 + + + TXRDY0 + Transmit Ready 0 Interrupt Enable + 8 + 1 + + + TXRDY1 + Transmit Ready 1 Interrupt Enable + 9 + 1 + + + TXUR0 + Transmit Underrun 0 Interrupt Enable + 12 + 1 + + + TXUR1 + Transmit Underrun 1 Interrupt Enable + 13 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x14 + 16 + + + RXRDY0 + Receive Ready 0 + 0 + 1 + + + RXRDY1 + Receive Ready 1 + 1 + 1 + + + RXOR0 + Receive Overrun 0 + 4 + 1 + + + RXOR1 + Receive Overrun 1 + 5 + 1 + + + TXRDY0 + Transmit Ready 0 + 8 + 1 + + + TXRDY1 + Transmit Ready 1 + 9 + 1 + + + TXUR0 + Transmit Underrun 0 + 12 + 1 + + + TXUR1 + Transmit Underrun 1 + 13 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x18 + 16 + read-only + + + SWRST + Software Reset Synchronization Status + 0 + 1 + + + ENABLE + Enable Synchronization Status + 1 + 1 + + + CKEN0 + Clock Unit 0 Enable Synchronization Status + 2 + 1 + + + CKEN1 + Clock Unit 1 Enable Synchronization Status + 3 + 1 + + + TXEN + Tx Serializer Enable Synchronization Status + 4 + 1 + + + RXEN + Rx Serializer Enable Synchronization Status + 5 + 1 + + + TXDATA + Tx Data Synchronization Status + 8 + 1 + + + RXDATA + Rx Data Synchronization Status + 9 + 1 + + + + + TXCTRL + Tx Serializer Control + 0x20 + 32 + + + TXDEFAULT + Line Default Line when Slot Disabled + 2 + 2 + + TXDEFAULTSelect + + ZERO + Output Default Value is 0 + 0x0 + + + ONE + Output Default Value is 1 + 0x1 + + + HIZ + Output Default Value is high impedance + 0x3 + + + + + TXSAME + Transmit Data when Underrun + 4 + 1 + + TXSAMESelect + + ZERO + Zero data transmitted in case of underrun + 0x0 + + + SAME + Last data transmitted in case of underrun + 0x1 + + + + + SLOTADJ + Data Slot Formatting Adjust + 7 + 1 + + SLOTADJSelect + + RIGHT + Data is right adjusted in slot + 0x0 + + + LEFT + Data is left adjusted in slot + 0x1 + + + + + DATASIZE + Data Word Size + 8 + 3 + + DATASIZESelect + + 32 + 32 bits + 0x0 + + + 24 + 24 bits + 0x1 + + + 20 + 20 bits + 0x2 + + + 18 + 18 bits + 0x3 + + + 16 + 16 bits + 0x4 + + + 16C + 16 bits compact stereo + 0x5 + + + 8 + 8 bits + 0x6 + + + 8C + 8 bits compact stereo + 0x7 + + + + + WORDADJ + Data Word Formatting Adjust + 12 + 1 + + WORDADJSelect + + RIGHT + Data is right adjusted in word + 0x0 + + + LEFT + Data is left adjusted in word + 0x1 + + + + + EXTEND + Data Formatting Bit Extension + 13 + 2 + + EXTENDSelect + + ZERO + Extend with zeroes + 0x0 + + + ONE + Extend with ones + 0x1 + + + MSBIT + Extend with Most Significant Bit + 0x2 + + + LSBIT + Extend with Least Significant Bit + 0x3 + + + + + BITREV + Data Formatting Bit Reverse + 15 + 1 + + BITREVSelect + + MSBIT + Transfer Data Most Significant Bit (MSB) first (default for I2S protocol) + 0x0 + + + LSBIT + Transfer Data Least Significant Bit (LSB) first + 0x1 + + + + + SLOTDIS0 + Slot 0 Disabled for this Serializer + 16 + 1 + + + SLOTDIS1 + Slot 1 Disabled for this Serializer + 17 + 1 + + + SLOTDIS2 + Slot 2 Disabled for this Serializer + 18 + 1 + + + SLOTDIS3 + Slot 3 Disabled for this Serializer + 19 + 1 + + + SLOTDIS4 + Slot 4 Disabled for this Serializer + 20 + 1 + + + SLOTDIS5 + Slot 5 Disabled for this Serializer + 21 + 1 + + + SLOTDIS6 + Slot 6 Disabled for this Serializer + 22 + 1 + + + SLOTDIS7 + Slot 7 Disabled for this Serializer + 23 + 1 + + + MONO + Mono Mode + 24 + 1 + + MONOSelect + + STEREO + Normal mode + 0x0 + + + MONO + Left channel data is duplicated to right channel + 0x1 + + + + + DMA + Single or Multiple DMA Channels + 25 + 1 + + DMASelect + + SINGLE + Single DMA channel + 0x0 + + + MULTIPLE + One DMA channel per data channel + 0x1 + + + + + + + RXCTRL + Rx Serializer Control + 0x24 + 32 + + + SERMODE + Serializer Mode + 0 + 2 + + SERMODESelect + + RX + Receive + 0x0 + + + PDM2 + Receive one PDM data on each serial clock edge + 0x2 + + + + + CLKSEL + Clock Unit Selection + 5 + 1 + + CLKSELSelect + + CLK0 + Use Clock Unit 0 + 0x0 + + + CLK1 + Use Clock Unit 1 + 0x1 + + + + + SLOTADJ + Data Slot Formatting Adjust + 7 + 1 + + SLOTADJSelect + + RIGHT + Data is right adjusted in slot + 0x0 + + + LEFT + Data is left adjusted in slot + 0x1 + + + + + DATASIZE + Data Word Size + 8 + 3 + + DATASIZESelect + + 32 + 32 bits + 0x0 + + + 24 + 24 bits + 0x1 + + + 20 + 20 bits + 0x2 + + + 18 + 18 bits + 0x3 + + + 16 + 16 bits + 0x4 + + + 16C + 16 bits compact stereo + 0x5 + + + 8 + 8 bits + 0x6 + + + 8C + 8 bits compact stereo + 0x7 + + + + + WORDADJ + Data Word Formatting Adjust + 12 + 1 + + WORDADJSelect + + RIGHT + Data is right adjusted in word + 0x0 + + + LEFT + Data is left adjusted in word + 0x1 + + + + + EXTEND + Data Formatting Bit Extension + 13 + 2 + + EXTENDSelect + + ZERO + Extend with zeroes + 0x0 + + + ONE + Extend with ones + 0x1 + + + MSBIT + Extend with Most Significant Bit + 0x2 + + + LSBIT + Extend with Least Significant Bit + 0x3 + + + + + BITREV + Data Formatting Bit Reverse + 15 + 1 + + BITREVSelect + + MSBIT + Transfer Data Most Significant Bit (MSB) first (default for I2S protocol) + 0x0 + + + LSBIT + Transfer Data Least Significant Bit (LSB) first + 0x1 + + + + + SLOTDIS0 + Slot 0 Disabled for this Serializer + 16 + 1 + + + SLOTDIS1 + Slot 1 Disabled for this Serializer + 17 + 1 + + + SLOTDIS2 + Slot 2 Disabled for this Serializer + 18 + 1 + + + SLOTDIS3 + Slot 3 Disabled for this Serializer + 19 + 1 + + + SLOTDIS4 + Slot 4 Disabled for this Serializer + 20 + 1 + + + SLOTDIS5 + Slot 5 Disabled for this Serializer + 21 + 1 + + + SLOTDIS6 + Slot 6 Disabled for this Serializer + 22 + 1 + + + SLOTDIS7 + Slot 7 Disabled for this Serializer + 23 + 1 + + + MONO + Mono Mode + 24 + 1 + + MONOSelect + + STEREO + Normal mode + 0x0 + + + MONO + Left channel data is duplicated to right channel + 0x1 + + + + + DMA + Single or Multiple DMA Channels + 25 + 1 + + DMASelect + + SINGLE + Single DMA channel + 0x0 + + + MULTIPLE + One DMA channel per data channel + 0x1 + + + + + RXLOOP + Loop-back Test Mode + 26 + 1 + + + + + TXDATA + Tx Data + 0x30 + 32 + write-only + + + DATA + Sample Data + 0 + 32 + + + + + RXDATA + Rx Data + 0x34 + 32 + read-only + + + DATA + Sample Data + 0 + 32 + + + + + + + MCLK + 1.0.0 + Main Clock + MCLK + MCLK_ + 0x40000800 + + 0 + 0x80 + registers + + + MCLK_INTREQ + 1 + + + + INTENCLR + Interrupt Enable Clear + 0x01 + 8 + + + CKRDY + Clock Ready Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x02 + 8 + + + CKRDY + Clock Ready Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x03 + 8 + 0x01 + + + CKRDY + Clock Ready + 0 + 1 + + + + + HSDIV + HS Clock Division + 0x04 + 8 + read-only + 0x01 + + + DIV + CPU Clock Division Factor + 0 + 8 + + DIVSelect + + DIV1 + Divide by 1 + 0x1 + + + + + + + CPUDIV + CPU Clock Division + 0x05 + 8 + 0x01 + + + DIV + Low-Power Clock Division Factor + 0 + 8 + + DIVSelect + + DIV1 + Divide by 1 + 0x1 + + + DIV2 + Divide by 2 + 0x2 + + + DIV4 + Divide by 4 + 0x4 + + + DIV8 + Divide by 8 + 0x8 + + + DIV16 + Divide by 16 + 0x10 + + + DIV32 + Divide by 32 + 0x20 + + + DIV64 + Divide by 64 + 0x40 + + + DIV128 + Divide by 128 + 0x80 + + + + + + + AHBMASK + AHB Mask + 0x10 + 32 + 0x00FFFFFF + + + HPB0_ + HPB0 AHB Clock Mask + 0 + 1 + + + HPB1_ + HPB1 AHB Clock Mask + 1 + 1 + + + HPB2_ + HPB2 AHB Clock Mask + 2 + 1 + + + HPB3_ + HPB3 AHB Clock Mask + 3 + 1 + + + DSU_ + DSU AHB Clock Mask + 4 + 1 + + + HMATRIX_ + HMATRIX AHB Clock Mask + 5 + 1 + + + NVMCTRL_ + NVMCTRL AHB Clock Mask + 6 + 1 + + + HSRAM_ + HSRAM AHB Clock Mask + 7 + 1 + + + CMCC_ + CMCC AHB Clock Mask + 8 + 1 + + + DMAC_ + DMAC AHB Clock Mask + 9 + 1 + + + USB_ + USB AHB Clock Mask + 10 + 1 + + + BKUPRAM_ + BKUPRAM AHB Clock Mask + 11 + 1 + + + PAC_ + PAC AHB Clock Mask + 12 + 1 + + + QSPI_ + QSPI AHB Clock Mask + 13 + 1 + + + GMAC_ + GMAC AHB Clock Mask + 14 + 1 + + + SDHC0_ + SDHC0 AHB Clock Mask + 15 + 1 + + + SDHC1_ + SDHC1 AHB Clock Mask + 16 + 1 + + + CAN0_ + CAN0 AHB Clock Mask + 17 + 1 + + + CAN1_ + CAN1 AHB Clock Mask + 18 + 1 + + + ICM_ + ICM AHB Clock Mask + 19 + 1 + + + PUKCC_ + PUKCC AHB Clock Mask + 20 + 1 + + + QSPI_2X_ + QSPI_2X AHB Clock Mask + 21 + 1 + + + NVMCTRL_SMEEPROM_ + NVMCTRL_SMEEPROM AHB Clock Mask + 22 + 1 + + + NVMCTRL_CACHE_ + NVMCTRL_CACHE AHB Clock Mask + 23 + 1 + + + + + APBAMASK + APBA Mask + 0x14 + 32 + 0x000007FF + + + PAC_ + PAC APB Clock Enable + 0 + 1 + + + PM_ + PM APB Clock Enable + 1 + 1 + + + MCLK_ + MCLK APB Clock Enable + 2 + 1 + + + RSTC_ + RSTC APB Clock Enable + 3 + 1 + + + OSCCTRL_ + OSCCTRL APB Clock Enable + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL APB Clock Enable + 5 + 1 + + + SUPC_ + SUPC APB Clock Enable + 6 + 1 + + + GCLK_ + GCLK APB Clock Enable + 7 + 1 + + + WDT_ + WDT APB Clock Enable + 8 + 1 + + + RTC_ + RTC APB Clock Enable + 9 + 1 + + + EIC_ + EIC APB Clock Enable + 10 + 1 + + + FREQM_ + FREQM APB Clock Enable + 11 + 1 + + + SERCOM0_ + SERCOM0 APB Clock Enable + 12 + 1 + + + SERCOM1_ + SERCOM1 APB Clock Enable + 13 + 1 + + + TC0_ + TC0 APB Clock Enable + 14 + 1 + + + TC1_ + TC1 APB Clock Enable + 15 + 1 + + + + + APBBMASK + APBB Mask + 0x18 + 32 + 0x00018056 + + + USB_ + USB APB Clock Enable + 0 + 1 + + + DSU_ + DSU APB Clock Enable + 1 + 1 + + + NVMCTRL_ + NVMCTRL APB Clock Enable + 2 + 1 + + + PORT_ + PORT APB Clock Enable + 4 + 1 + + + HMATRIX_ + HMATRIX APB Clock Enable + 6 + 1 + + + EVSYS_ + EVSYS APB Clock Enable + 7 + 1 + + + SERCOM2_ + SERCOM2 APB Clock Enable + 9 + 1 + + + SERCOM3_ + SERCOM3 APB Clock Enable + 10 + 1 + + + TCC0_ + TCC0 APB Clock Enable + 11 + 1 + + + TCC1_ + TCC1 APB Clock Enable + 12 + 1 + + + TC2_ + TC2 APB Clock Enable + 13 + 1 + + + TC3_ + TC3 APB Clock Enable + 14 + 1 + + + TAL_ + TAL APB Clock Enable + 15 + 1 + + + RAMECC_ + RAMECC APB Clock Enable + 16 + 1 + + + + + APBCMASK + APBC Mask + 0x1C + 32 + 0x00002000 + + + GMAC_ + GMAC APB Clock Enable + 2 + 1 + + + TCC2_ + TCC2 APB Clock Enable + 3 + 1 + + + TCC3_ + TCC3 APB Clock Enable + 4 + 1 + + + TC4_ + TC4 APB Clock Enable + 5 + 1 + + + TC5_ + TC5 APB Clock Enable + 6 + 1 + + + PDEC_ + PDEC APB Clock Enable + 7 + 1 + + + AC_ + AC APB Clock Enable + 8 + 1 + + + AES_ + AES APB Clock Enable + 9 + 1 + + + TRNG_ + TRNG APB Clock Enable + 10 + 1 + + + ICM_ + ICM APB Clock Enable + 11 + 1 + + + QSPI_ + QSPI APB Clock Enable + 13 + 1 + + + CCL_ + CCL APB Clock Enable + 14 + 1 + + + + + APBDMASK + APBD Mask + 0x20 + 32 + + + SERCOM4_ + SERCOM4 APB Clock Enable + 0 + 1 + + + SERCOM5_ + SERCOM5 APB Clock Enable + 1 + 1 + + + SERCOM6_ + SERCOM6 APB Clock Enable + 2 + 1 + + + SERCOM7_ + SERCOM7 APB Clock Enable + 3 + 1 + + + TCC4_ + TCC4 APB Clock Enable + 4 + 1 + + + TC6_ + TC6 APB Clock Enable + 5 + 1 + + + TC7_ + TC7 APB Clock Enable + 6 + 1 + + + ADC0_ + ADC0 APB Clock Enable + 7 + 1 + + + ADC1_ + ADC1 APB Clock Enable + 8 + 1 + + + DAC_ + DAC APB Clock Enable + 9 + 1 + + + I2S_ + I2S APB Clock Enable + 10 + 1 + + + PCC_ + PCC APB Clock Enable + 11 + 1 + + + + + + + NVMCTRL + 1.0.0 + Non-Volatile Memory Controller + NVMCTRL + NVMCTRL_ + 0x41004000 + + 0 + 0x80 + registers + + + NVMCTRL_INTREQ_0 + 29 + + + NVMCTRL_INTREQ_1 + 30 + + + + CTRLA + Control A + 0x00 + 16 + 0x0004 + + + AUTOWS + Auto Wait State Enable + 2 + 1 + + + SUSPEN + Suspend Enable + 3 + 1 + + + WMODE + Write Mode + 4 + 2 + + WMODESelect + + MAN + Manual Write + 0x0 + + + ADW + Automatic Double Word Write + 0x1 + + + AQW + Automatic Quad Word + 0x2 + + + AP + Automatic Page Write + 0x3 + + + + + PRM + Power Reduction Mode during Sleep + 6 + 2 + + PRMSelect + + SEMIAUTO + NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access. + 0x0 + + + FULLAUTO + NVM block enters low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode when system is not in standby mode. + 0x1 + + + MANUAL + NVM block does not enter low-power mode when entering standby mode. NVM block enters low-power mode when SPRM command is issued. NVM block exits low-power mode upon first access. + 0x3 + + + + + RWS + NVM Read Wait States + 8 + 4 + + + AHBNS0 + Force AHB0 access to NONSEQ, burst transfers are continuously rearbitrated + 12 + 1 + + + AHBNS1 + Force AHB1 access to NONSEQ, burst transfers are continuously rearbitrated + 13 + 1 + + + CACHEDIS0 + AHB0 Cache Disable + 14 + 1 + + + CACHEDIS1 + AHB1 Cache Disable + 15 + 1 + + + + + CTRLB + Control B + 0x04 + 16 + write-only + + + CMD + Command + 0 + 7 + write-only + + CMDSelect + + EP + Erase Page - Only supported in the USER and AUX pages. + 0x0 + + + EB + Erase Block - Erases the block addressed by the ADDR register, not supported in the user page + 0x1 + + + WP + Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register, not supported in the user page + 0x3 + + + WQW + Write Quad Word - Writes a 128-bit word at the location addressed by the ADDR register. + 0x4 + + + SWRST + Software Reset - Power-Cycle the NVM memory and replay the device automatic calibration procedure and resets the module configuration registers + 0x10 + + + LR + Lock Region - Locks the region containing the address location in the ADDR register. + 0x11 + + + UR + Unlock Region - Unlocks the region containing the address location in the ADDR register. + 0x12 + + + SPRM + Sets the power reduction mode. + 0x13 + + + CPRM + Clears the power reduction mode. + 0x14 + + + PBC + Page Buffer Clear - Clears the page buffer. + 0x15 + + + SSB + Set Security Bit + 0x16 + + + BKSWRST + Bank swap and system reset, if SMEE is used also reallocate SMEE data into the opposite BANK + 0x17 + + + CELCK + Chip Erase Lock - DSU.CE command is not available + 0x18 + + + CEULCK + Chip Erase Unlock - DSU.CE command is available + 0x19 + + + SBPDIS + Sets STATUS.BPDIS, Boot loader protection is discarded until CBPDIS is issued or next start-up sequence + 0x1a + + + CBPDIS + Clears STATUS.BPDIS, Boot loader protection is not discarded + 0x1b + + + ASEES0 + Activate SmartEEPROM Sector 0, deactivate Sector 1 + 0x30 + + + ASEES1 + Activate SmartEEPROM Sector 1, deactivate Sector 0 + 0x31 + + + SEERALOC + Starts SmartEEPROM sector reallocation algorithm + 0x32 + + + SEEFLUSH + Flush SMEE data when in buffered mode + 0x33 + + + LSEE + Lock access to SmartEEPROM data from any mean + 0x34 + + + USEE + Unlock access to SmartEEPROM data + 0x35 + + + LSEER + Lock access to the SmartEEPROM Register Address Space (above 64KB) + 0x36 + + + USEER + Unlock access to the SmartEEPROM Register Address Space (above 64KB) + 0x37 + + + + + CMDEX + Command Execution + 8 + 8 + write-only + + CMDEXSelect + + KEY + Execution Key + 0xa5 + + + + + + + PARAM + NVM Parameter + 0x08 + 32 + read-only + 0x00060000 + + + NVMP + NVM Pages + 0 + 16 + read-only + + + PSZ + Page Size + 16 + 3 + read-only + + PSZSelect + + 8 + 8 bytes + 0x0 + + + 16 + 16 bytes + 0x1 + + + 32 + 32 bytes + 0x2 + + + 64 + 64 bytes + 0x3 + + + 128 + 128 bytes + 0x4 + + + 256 + 256 bytes + 0x5 + + + 512 + 512 bytes + 0x6 + + + 1024 + 1024 bytes + 0x7 + + + + + SEE + SmartEEPROM Supported + 31 + 1 + read-only + + + + + INTENCLR + Interrupt Enable Clear + 0x0C + 16 + + + DONE + Command Done Interrupt Clear + 0 + 1 + + + ADDRE + Address Error + 1 + 1 + + + PROGE + Programming Error Interrupt Clear + 2 + 1 + + + LOCKE + Lock Error Interrupt Clear + 3 + 1 + + + ECCSE + ECC Single Error Interrupt Clear + 4 + 1 + + + ECCDE + ECC Dual Error Interrupt Clear + 5 + 1 + + + NVME + NVM Error Interrupt Clear + 6 + 1 + + + SUSP + Suspended Write Or Erase Interrupt Clear + 7 + 1 + + + SEESFULL + Active SEES Full Interrupt Clear + 8 + 1 + + + SEESOVF + Active SEES Overflow Interrupt Clear + 9 + 1 + + + SEEWRC + SEE Write Completed Interrupt Clear + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x0E + 16 + + + DONE + Command Done Interrupt Enable + 0 + 1 + + + ADDRE + Address Error Interrupt Enable + 1 + 1 + + + PROGE + Programming Error Interrupt Enable + 2 + 1 + + + LOCKE + Lock Error Interrupt Enable + 3 + 1 + + + ECCSE + ECC Single Error Interrupt Enable + 4 + 1 + + + ECCDE + ECC Dual Error Interrupt Enable + 5 + 1 + + + NVME + NVM Error Interrupt Enable + 6 + 1 + + + SUSP + Suspended Write Or Erase Interrupt Enable + 7 + 1 + + + SEESFULL + Active SEES Full Interrupt Enable + 8 + 1 + + + SEESOVF + Active SEES Overflow Interrupt Enable + 9 + 1 + + + SEEWRC + SEE Write Completed Interrupt Enable + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x10 + 16 + + + DONE + Command Done + 0 + 1 + + + ADDRE + Address Error + 1 + 1 + + + PROGE + Programming Error + 2 + 1 + + + LOCKE + Lock Error + 3 + 1 + + + ECCSE + ECC Single Error + 4 + 1 + read-only + + + ECCDE + ECC Dual Error + 5 + 1 + read-only + + + NVME + NVM Error + 6 + 1 + + + SUSP + Suspended Write Or Erase Operation + 7 + 1 + + + SEESFULL + Active SEES Full + 8 + 1 + + + SEESOVF + Active SEES Overflow + 9 + 1 + + + SEEWRC + SEE Write Completed + 10 + 1 + + + + + STATUS + Status + 0x12 + 16 + read-only + + + READY + Ready to accept a command + 0 + 1 + read-only + + + PRM + Power Reduction Mode + 1 + 1 + read-only + + + LOAD + NVM Page Buffer Active Loading + 2 + 1 + read-only + + + SUSP + NVM Write Or Erase Operation Is Suspended + 3 + 1 + read-only + + + AFIRST + BANKA First + 4 + 1 + read-only + + + BPDIS + Boot Loader Protection Disable + 5 + 1 + read-only + + + BOOTPROT + Boot Loader Protection Size + 8 + 4 + read-only + + + + + ADDR + Address + 0x14 + 32 + + + ADDR + NVM Address + 0 + 24 + + + + + RUNLOCK + Lock Section + 0x18 + 32 + read-only + + + RUNLOCK + Region Un-Lock Bits + 0 + 32 + read-only + + + + + 2 + 0x4 + PBLDATA%s + Page Buffer Load Data x + 0x1C + 32 + read-only + 0xFFFFFFFF + + + DATA + Page Buffer Data + 0 + 32 + read-only + + + + + ECCERR + ECC Error Status Register + 0x24 + 32 + read-only + + + ADDR + Error Address + 0 + 24 + read-only + + + TYPEL + Low Double-Word Error Type + 28 + 2 + read-only + + TYPELSelect + + None + No Error Detected Since Last Read + 0x0 + + + Single + At Least One Single Error Detected Since last Read + 0x1 + + + Dual + At Least One Dual Error Detected Since Last Read + 0x2 + + + + + TYPEH + High Double-Word Error Type + 30 + 2 + read-only + + TYPEHSelect + + None + No Error Detected Since Last Read + 0x0 + + + Single + At Least One Single Error Detected Since last Read + 0x1 + + + Dual + At Least One Dual Error Detected Since Last Read + 0x2 + + + + + + + DBGCTRL + Debug Control + 0x28 + 8 + + + ECCDIS + Debugger ECC Read Disable + 0 + 1 + + + ECCELOG + Debugger ECC Error Tracking Mode + 1 + 1 + + + + + SEECFG + SmartEEPROM Configuration Register + 0x2A + 8 + + + WMODE + Write Mode + 0 + 1 + + WMODESelect + + UNBUFFERED + A NVM write command is issued after each write in the pagebuffer + 0x0 + + + BUFFERED + A NVM write command is issued when a write to a new page is requested + 0x1 + + + + + APRDIS + Automatic Page Reallocation Disable + 1 + 1 + + + + + SEESTAT + SmartEEPROM Status Register + 0x2C + 32 + read-only + + + ASEES + Active SmartEEPROM Sector + 0 + 1 + read-only + + + LOAD + Page Buffer Loaded + 1 + 1 + read-only + + + BUSY + Busy + 2 + 1 + read-only + + + LOCK + SmartEEPROM Write Access Is Locked + 3 + 1 + read-only + + + RLOCK + SmartEEPROM Write Access To Register Address Space Is Locked + 4 + 1 + read-only + + + SBLK + Blocks Number In a Sector + 8 + 4 + read-only + + + PSZ + SmartEEPROM Page Size + 16 + 3 + read-only + + + + + + + OSCCTRL + 1.0.0 + Oscillators Control + OSCCTRL + OSCCTRL_ + 0x40001000 + + 0 + 0x100 + registers + + + OSCCTRL_INTREQ_0 + 2 + + + OSCCTRL_INTREQ_1 + 3 + + + OSCCTRL_INTREQ_2 + 4 + + + OSCCTRL_INTREQ_3 + 5 + + + OSCCTRL_INTREQ_4 + 6 + + + + EVCTRL + Event Control + 0x00 + 8 + + + CFDEO0 + Clock 0 Failure Detector Event Output Enable + 0 + 1 + + + CFDEO1 + Clock 1 Failure Detector Event Output Enable + 1 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 32 + + + XOSCRDY0 + XOSC 0 Ready Interrupt Enable + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready Interrupt Enable + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector Interrupt Enable + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector Interrupt Enable + 3 + 1 + + + DFLLRDY + DFLL Ready Interrupt Enable + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds Interrupt Enable + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine Interrupt Enable + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse Interrupt Enable + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped Interrupt Enable + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise Interrupt Enable + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall Interrupt Enable + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout Interrupt Enable + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete Interrupt Enable + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise Interrupt Enable + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall Interrupt Enable + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout Interrupt Enable + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete Interrupt Enable + 27 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x08 + 32 + + + XOSCRDY0 + XOSC 0 Ready Interrupt Enable + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready Interrupt Enable + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector Interrupt Enable + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector Interrupt Enable + 3 + 1 + + + DFLLRDY + DFLL Ready Interrupt Enable + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds Interrupt Enable + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine Interrupt Enable + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse Interrupt Enable + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped Interrupt Enable + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise Interrupt Enable + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall Interrupt Enable + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout Interrupt Enable + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete Interrupt Enable + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise Interrupt Enable + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall Interrupt Enable + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout Interrupt Enable + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete Interrupt Enable + 27 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0C + 32 + + + XOSCRDY0 + XOSC 0 Ready + 0 + 1 + + + XOSCRDY1 + XOSC 1 Ready + 1 + 1 + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector + 2 + 1 + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector + 3 + 1 + + + DFLLRDY + DFLL Ready + 8 + 1 + + + DFLLOOB + DFLL Out Of Bounds + 9 + 1 + + + DFLLLCKF + DFLL Lock Fine + 10 + 1 + + + DFLLLCKC + DFLL Lock Coarse + 11 + 1 + + + DFLLRCS + DFLL Reference Clock Stopped + 12 + 1 + + + DPLL0LCKR + DPLL0 Lock Rise + 16 + 1 + + + DPLL0LCKF + DPLL0 Lock Fall + 17 + 1 + + + DPLL0LTO + DPLL0 Lock Timeout + 18 + 1 + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete + 19 + 1 + + + DPLL1LCKR + DPLL1 Lock Rise + 24 + 1 + + + DPLL1LCKF + DPLL1 Lock Fall + 25 + 1 + + + DPLL1LTO + DPLL1 Lock Timeout + 26 + 1 + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete + 27 + 1 + + + + + STATUS + Status + 0x10 + 32 + read-only + + + XOSCRDY0 + XOSC 0 Ready + 0 + 1 + read-only + + + XOSCRDY1 + XOSC 1 Ready + 1 + 1 + read-only + + + XOSCFAIL0 + XOSC 0 Clock Failure Detector + 2 + 1 + read-only + + + XOSCFAIL1 + XOSC 1 Clock Failure Detector + 3 + 1 + read-only + + + XOSCCKSW0 + XOSC 0 Clock Switch + 4 + 1 + read-only + + + XOSCCKSW1 + XOSC 1 Clock Switch + 5 + 1 + read-only + + + DFLLRDY + DFLL Ready + 8 + 1 + read-only + + + DFLLOOB + DFLL Out Of Bounds + 9 + 1 + read-only + + + DFLLLCKF + DFLL Lock Fine + 10 + 1 + read-only + + + DFLLLCKC + DFLL Lock Coarse + 11 + 1 + read-only + + + DFLLRCS + DFLL Reference Clock Stopped + 12 + 1 + read-only + + + DPLL0LCKR + DPLL0 Lock Rise + 16 + 1 + read-only + + + DPLL0LCKF + DPLL0 Lock Fall + 17 + 1 + read-only + + + DPLL0TO + DPLL0 Timeout + 18 + 1 + read-only + + + DPLL0LDRTO + DPLL0 Loop Divider Ratio Update Complete + 19 + 1 + read-only + + + DPLL1LCKR + DPLL1 Lock Rise + 24 + 1 + read-only + + + DPLL1LCKF + DPLL1 Lock Fall + 25 + 1 + read-only + + + DPLL1TO + DPLL1 Timeout + 26 + 1 + read-only + + + DPLL1LDRTO + DPLL1 Loop Divider Ratio Update Complete + 27 + 1 + read-only + + + + + 2 + 0x4 + XOSCCTRL%s + External Multipurpose Crystal Oscillator Control + 0x14 + 32 + 0x00000080 + + + ENABLE + Oscillator Enable + 1 + 1 + + + XTALEN + Crystal Oscillator Enable + 2 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + LOWBUFGAIN + Low Buffer Gain Enable + 8 + 1 + + + IPTAT + Oscillator Current Reference + 9 + 2 + + + IMULT + Oscillator Current Multiplier + 11 + 4 + + + ENALC + Automatic Loop Control Enable + 15 + 1 + + + CFDEN + Clock Failure Detector Enable + 16 + 1 + + + SWBEN + Xosc Clock Switch Enable + 17 + 1 + + + STARTUP + Start-Up Time + 20 + 4 + + + CFDPRESC + Clock Failure Detector Prescaler + 24 + 4 + + + + + DFLLCTRLA + DFLL48M Control A + 0x1C + 8 + 0x82 + + + ENABLE + DFLL Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + + + DFLLCTRLB + DFLL48M Control B + 0x20 + 8 + + + MODE + Operating Mode Selection + 0 + 1 + + + STABLE + Stable DFLL Frequency + 1 + 1 + + + LLAW + Lose Lock After Wake + 2 + 1 + + + USBCRM + USB Clock Recovery Mode + 3 + 1 + + + CCDIS + Chill Cycle Disable + 4 + 1 + + + QLDIS + Quick Lock Disable + 5 + 1 + + + BPLCKC + Bypass Coarse Lock + 6 + 1 + + + WAITLOCK + Wait Lock + 7 + 1 + + + + + DFLLVAL + DFLL48M Value + 0x24 + 32 + + + FINE + Fine Value + 0 + 8 + + + COARSE + Coarse Value + 10 + 6 + + + DIFF + Multiplication Ratio Difference + 16 + 16 + read-only + + + + + DFLLMUL + DFLL48M Multiplier + 0x28 + 32 + + + MUL + DFLL Multiply Factor + 0 + 16 + + + FSTEP + Fine Maximum Step + 16 + 8 + + + CSTEP + Coarse Maximum Step + 26 + 6 + + + + + DFLLSYNC + DFLL48M Synchronization + 0x2C + 8 + + + ENABLE + ENABLE Synchronization Busy + 1 + 1 + read-only + + + DFLLCTRLB + DFLLCTRLB Synchronization Busy + 2 + 1 + read-only + + + DFLLVAL + DFLLVAL Synchronization Busy + 3 + 1 + read-only + + + DFLLMUL + DFLLMUL Synchronization Busy + 4 + 1 + read-only + + + + + 2 + 0x14 + DPLLCTRLA%s + DPLL Control A + 0x30 + 8 + 0x80 + + + ENABLE + DPLL Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + + + 2 + 0x14 + DPLLRATIO%s + DPLL Ratio Control + 0x34 + 32 + + + LDR + Loop Divider Ratio + 0 + 13 + + + LDRFRAC + Loop Divider Ratio Fractional Part + 16 + 5 + + + + + 2 + 0x14 + DPLLCTRLB%s + DPLL Control B + 0x38 + 32 + 0x00000020 + + + FILTER + Proportional Integral Filter Selection + 0 + 4 + + + WUF + Wake Up Fast + 4 + 1 + + + REFCLK + Reference Clock Selection + 5 + 3 + + REFCLKSelect + + GCLK + Dedicated GCLK clock reference + 0x0 + + + XOSC32 + XOSC32K clock reference + 0x1 + + + XOSC0 + XOSC0 clock reference + 0x2 + + + XOSC1 + XOSC1 clock reference + 0x3 + + + + + LTIME + Lock Time + 8 + 3 + + LTIMESelect + + DEFAULT + No time-out. Automatic lock + 0x0 + + + 800US + Time-out if no lock within 800us + 0x4 + + + 900US + Time-out if no lock within 900us + 0x5 + + + 1MS + Time-out if no lock within 1ms + 0x6 + + + 1P1MS + Time-out if no lock within 1.1ms + 0x7 + + + + + LBYPASS + Lock Bypass + 11 + 1 + + + DCOFILTER + Sigma-Delta DCO Filter Selection + 12 + 3 + + + DCOEN + DCO Filter Enable + 15 + 1 + + + DIV + Clock Divider + 16 + 11 + + + + + 2 + 0x14 + DPLLSYNCBUSY%s + DPLL Synchronization Busy + 0x3C + 32 + read-only + + + ENABLE + DPLL Enable Synchronization Status + 1 + 1 + read-only + + + DPLLRATIO + DPLL Loop Divider Ratio Synchronization Status + 2 + 1 + read-only + + + + + 2 + 0x14 + DPLLSTATUS%s + DPLL Status + 0x40 + 32 + read-only + + + LOCK + DPLL Lock Status + 0 + 1 + read-only + + + CLKRDY + DPLL Clock Ready + 1 + 1 + read-only + + + + + + + OSC32KCTRL + 1.0.0 + 32kHz Oscillators Control + OSC32KCTRL + OSC32KCTRL_ + 0x40001400 + + 0 + 0x40 + registers + + + OSC32KCTRL_INTREQ + 7 + + + + INTENCLR + Interrupt Enable Clear + 0x00 + 32 + + + XOSC32KRDY + XOSC32K Ready Interrupt Enable + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector Interrupt Enable + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x04 + 32 + + + XOSC32KRDY + XOSC32K Ready Interrupt Enable + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector Interrupt Enable + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x08 + 32 + + + XOSC32KRDY + XOSC32K Ready + 0 + 1 + + + XOSC32KFAIL + XOSC32K Clock Failure Detector + 2 + 1 + + + + + STATUS + Power and Clocks Status + 0x0C + 32 + read-only + + + XOSC32KRDY + XOSC32K Ready + 0 + 1 + read-only + + + XOSC32KFAIL + XOSC32K Clock Failure Detector + 2 + 1 + read-only + + + XOSC32KSW + XOSC32K Clock switch + 3 + 1 + read-only + + + + + RTCCTRL + RTC Clock Selection + 0x10 + 8 + + + RTCSEL + RTC Clock Selection + 0 + 3 + + RTCSELSelect + + ULP1K + 1.024kHz from 32kHz internal ULP oscillator + 0x0 + + + ULP32K + 32.768kHz from 32kHz internal ULP oscillator + 0x1 + + + XOSC1K + 1.024kHz from 32.768kHz internal oscillator + 0x4 + + + XOSC32K + 32.768kHz from 32.768kHz external crystal oscillator + 0x5 + + + + + + + XOSC32K + 32kHz External Crystal Oscillator (XOSC32K) Control + 0x14 + 16 + 0x2080 + + + ENABLE + Oscillator Enable + 1 + 1 + + + XTALEN + Crystal Oscillator Enable + 2 + 1 + + + EN32K + 32kHz Output Enable + 3 + 1 + + + EN1K + 1kHz Output Enable + 4 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + ONDEMAND + On Demand Control + 7 + 1 + + + STARTUP + Oscillator Start-Up Time + 8 + 3 + + + WRTLOCK + Write Lock + 12 + 1 + + + CGM + Control Gain Mode + 13 + 2 + + CGMSelect + + XT + Standard mode + 0x1 + + + HS + High Speed mode + 0x2 + + + + + + + CFDCTRL + Clock Failure Detector Control + 0x16 + 8 + + + CFDEN + Clock Failure Detector Enable + 0 + 1 + + + SWBACK + Clock Switch Back + 1 + 1 + + + CFDPRESC + Clock Failure Detector Prescaler + 2 + 1 + + + + + EVCTRL + Event Control + 0x17 + 8 + + + CFDEO + Clock Failure Detector Event Output Enable + 0 + 1 + + + + + OSCULP32K + 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control + 0x1C + 32 + + + EN32K + Enable Out 32k + 1 + 1 + + + EN1K + Enable Out 1k + 2 + 1 + + + CALIB + Oscillator Calibration + 8 + 6 + + + WRTLOCK + Write Lock + 15 + 1 + + + + + + + PAC + 1.2.0 + Peripheral Access Controller + PAC + PAC_ + 0x40000000 + + 0 + 0x80 + registers + + + PAC_INTREQ + 41 + + + + WRCTRL + Write control + 0x00 + 32 + + + PERID + Peripheral identifier + 0 + 16 + + + KEY + Peripheral access control key + 16 + 8 + + KEYSelect + + OFF + No action + 0x0 + + + CLR + Clear protection + 0x1 + + + SET + Set protection + 0x2 + + + SETLCK + Set and lock protection + 0x3 + + + + + + + EVCTRL + Event control + 0x04 + 8 + + + ERREO + Peripheral acess error event output + 0 + 1 + + + + + INTENCLR + Interrupt enable clear + 0x08 + 8 + + + ERR + Peripheral access error interrupt disable + 0 + 1 + + + + + INTENSET + Interrupt enable set + 0x09 + 8 + + + ERR + Peripheral access error interrupt enable + 0 + 1 + + + + + INTFLAGAHB + Bridge interrupt flag status + 0x10 + 32 + + + FLASH_ + FLASH + 0 + 1 + + + FLASH_ALT_ + FLASH_ALT + 1 + 1 + + + SEEPROM_ + SEEPROM + 2 + 1 + + + RAMCM4S_ + RAMCM4S + 3 + 1 + + + RAMPPPDSU_ + RAMPPPDSU + 4 + 1 + + + RAMDMAWR_ + RAMDMAWR + 5 + 1 + + + RAMDMACICM_ + RAMDMACICM + 6 + 1 + + + HPB0_ + HPB0 + 7 + 1 + + + HPB1_ + HPB1 + 8 + 1 + + + HPB2_ + HPB2 + 9 + 1 + + + HPB3_ + HPB3 + 10 + 1 + + + PUKCC_ + PUKCC + 11 + 1 + + + SDHC0_ + SDHC0 + 12 + 1 + + + SDHC1_ + SDHC1 + 13 + 1 + + + QSPI_ + QSPI + 14 + 1 + + + BKUPRAM_ + BKUPRAM + 15 + 1 + + + + + INTFLAGA + Peripheral interrupt flag status - Bridge A + 0x14 + 32 + + + PAC_ + PAC + 0 + 1 + + + PM_ + PM + 1 + 1 + + + MCLK_ + MCLK + 2 + 1 + + + RSTC_ + RSTC + 3 + 1 + + + OSCCTRL_ + OSCCTRL + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL + 5 + 1 + + + SUPC_ + SUPC + 6 + 1 + + + GCLK_ + GCLK + 7 + 1 + + + WDT_ + WDT + 8 + 1 + + + RTC_ + RTC + 9 + 1 + + + EIC_ + EIC + 10 + 1 + + + FREQM_ + FREQM + 11 + 1 + + + SERCOM0_ + SERCOM0 + 12 + 1 + + + SERCOM1_ + SERCOM1 + 13 + 1 + + + TC0_ + TC0 + 14 + 1 + + + TC1_ + TC1 + 15 + 1 + + + + + INTFLAGB + Peripheral interrupt flag status - Bridge B + 0x18 + 32 + + + USB_ + USB + 0 + 1 + + + DSU_ + DSU + 1 + 1 + + + NVMCTRL_ + NVMCTRL + 2 + 1 + + + CMCC_ + CMCC + 3 + 1 + + + PORT_ + PORT + 4 + 1 + + + DMAC_ + DMAC + 5 + 1 + + + HMATRIX_ + HMATRIX + 6 + 1 + + + EVSYS_ + EVSYS + 7 + 1 + + + SERCOM2_ + SERCOM2 + 9 + 1 + + + SERCOM3_ + SERCOM3 + 10 + 1 + + + TCC0_ + TCC0 + 11 + 1 + + + TCC1_ + TCC1 + 12 + 1 + + + TC2_ + TC2 + 13 + 1 + + + TC3_ + TC3 + 14 + 1 + + + TAL_ + TAL + 15 + 1 + + + RAMECC_ + RAMECC + 16 + 1 + + + + + INTFLAGC + Peripheral interrupt flag status - Bridge C + 0x1C + 32 + + + CAN0_ + CAN0 + 0 + 1 + + + CAN1_ + CAN1 + 1 + 1 + + + GMAC_ + GMAC + 2 + 1 + + + TCC2_ + TCC2 + 3 + 1 + + + TCC3_ + TCC3 + 4 + 1 + + + TC4_ + TC4 + 5 + 1 + + + TC5_ + TC5 + 6 + 1 + + + PDEC_ + PDEC + 7 + 1 + + + AC_ + AC + 8 + 1 + + + AES_ + AES + 9 + 1 + + + TRNG_ + TRNG + 10 + 1 + + + ICM_ + ICM + 11 + 1 + + + PUKCC_ + PUKCC + 12 + 1 + + + QSPI_ + QSPI + 13 + 1 + + + CCL_ + CCL + 14 + 1 + + + + + INTFLAGD + Peripheral interrupt flag status - Bridge D + 0x20 + 32 + + + SERCOM4_ + SERCOM4 + 0 + 1 + + + SERCOM5_ + SERCOM5 + 1 + 1 + + + SERCOM6_ + SERCOM6 + 2 + 1 + + + SERCOM7_ + SERCOM7 + 3 + 1 + + + TCC4_ + TCC4 + 4 + 1 + + + TC6_ + TC6 + 5 + 1 + + + TC7_ + TC7 + 6 + 1 + + + ADC0_ + ADC0 + 7 + 1 + + + ADC1_ + ADC1 + 8 + 1 + + + DAC_ + DAC + 9 + 1 + + + I2S_ + I2S + 10 + 1 + + + PCC_ + PCC + 11 + 1 + + + + + STATUSA + Peripheral write protection status - Bridge A + 0x34 + 32 + read-only + 0x00010000 + + + PAC_ + PAC APB Protect Enable + 0 + 1 + + + PM_ + PM APB Protect Enable + 1 + 1 + + + MCLK_ + MCLK APB Protect Enable + 2 + 1 + + + RSTC_ + RSTC APB Protect Enable + 3 + 1 + + + OSCCTRL_ + OSCCTRL APB Protect Enable + 4 + 1 + + + OSC32KCTRL_ + OSC32KCTRL APB Protect Enable + 5 + 1 + + + SUPC_ + SUPC APB Protect Enable + 6 + 1 + + + GCLK_ + GCLK APB Protect Enable + 7 + 1 + + + WDT_ + WDT APB Protect Enable + 8 + 1 + + + RTC_ + RTC APB Protect Enable + 9 + 1 + + + EIC_ + EIC APB Protect Enable + 10 + 1 + + + FREQM_ + FREQM APB Protect Enable + 11 + 1 + + + SERCOM0_ + SERCOM0 APB Protect Enable + 12 + 1 + + + SERCOM1_ + SERCOM1 APB Protect Enable + 13 + 1 + + + TC0_ + TC0 APB Protect Enable + 14 + 1 + + + TC1_ + TC1 APB Protect Enable + 15 + 1 + + + + + STATUSB + Peripheral write protection status - Bridge B + 0x38 + 32 + read-only + 0x00000002 + + + USB_ + USB APB Protect Enable + 0 + 1 + + + DSU_ + DSU APB Protect Enable + 1 + 1 + + + NVMCTRL_ + NVMCTRL APB Protect Enable + 2 + 1 + + + CMCC_ + CMCC APB Protect Enable + 3 + 1 + + + PORT_ + PORT APB Protect Enable + 4 + 1 + + + DMAC_ + DMAC APB Protect Enable + 5 + 1 + + + HMATRIX_ + HMATRIX APB Protect Enable + 6 + 1 + + + EVSYS_ + EVSYS APB Protect Enable + 7 + 1 + + + SERCOM2_ + SERCOM2 APB Protect Enable + 9 + 1 + + + SERCOM3_ + SERCOM3 APB Protect Enable + 10 + 1 + + + TCC0_ + TCC0 APB Protect Enable + 11 + 1 + + + TCC1_ + TCC1 APB Protect Enable + 12 + 1 + + + TC2_ + TC2 APB Protect Enable + 13 + 1 + + + TC3_ + TC3 APB Protect Enable + 14 + 1 + + + TAL_ + TAL APB Protect Enable + 15 + 1 + + + RAMECC_ + RAMECC APB Protect Enable + 16 + 1 + + + + + STATUSC + Peripheral write protection status - Bridge C + 0x3C + 32 + read-only + + + CAN0_ + CAN0 APB Protect Enable + 0 + 1 + + + CAN1_ + CAN1 APB Protect Enable + 1 + 1 + + + GMAC_ + GMAC APB Protect Enable + 2 + 1 + + + TCC2_ + TCC2 APB Protect Enable + 3 + 1 + + + TCC3_ + TCC3 APB Protect Enable + 4 + 1 + + + TC4_ + TC4 APB Protect Enable + 5 + 1 + + + TC5_ + TC5 APB Protect Enable + 6 + 1 + + + PDEC_ + PDEC APB Protect Enable + 7 + 1 + + + AC_ + AC APB Protect Enable + 8 + 1 + + + AES_ + AES APB Protect Enable + 9 + 1 + + + TRNG_ + TRNG APB Protect Enable + 10 + 1 + + + ICM_ + ICM APB Protect Enable + 11 + 1 + + + PUKCC_ + PUKCC APB Protect Enable + 12 + 1 + + + QSPI_ + QSPI APB Protect Enable + 13 + 1 + + + CCL_ + CCL APB Protect Enable + 14 + 1 + + + + + STATUSD + Peripheral write protection status - Bridge D + 0x40 + 32 + read-only + + + SERCOM4_ + SERCOM4 APB Protect Enable + 0 + 1 + + + SERCOM5_ + SERCOM5 APB Protect Enable + 1 + 1 + + + SERCOM6_ + SERCOM6 APB Protect Enable + 2 + 1 + + + SERCOM7_ + SERCOM7 APB Protect Enable + 3 + 1 + + + TCC4_ + TCC4 APB Protect Enable + 4 + 1 + + + TC6_ + TC6 APB Protect Enable + 5 + 1 + + + TC7_ + TC7 APB Protect Enable + 6 + 1 + + + ADC0_ + ADC0 APB Protect Enable + 7 + 1 + + + ADC1_ + ADC1 APB Protect Enable + 8 + 1 + + + DAC_ + DAC APB Protect Enable + 9 + 1 + + + I2S_ + I2S APB Protect Enable + 10 + 1 + + + PCC_ + PCC APB Protect Enable + 11 + 1 + + + + + + + PCC + 1.1.0 + Parallel Capture Controller + PCC + PCC_ + 0x43002C00 + + 0 + 0x100 + registers + + + PCC_INTREQ + 129 + + + + MR + Mode Register + 0x00 + 32 + + + PCEN + Parallel Capture Enable + 0 + 1 + + + DSIZE + Data size + 4 + 2 + + + SCALE + Scale data + 8 + 1 + + + ALWYS + Always Sampling + 9 + 1 + + + HALFS + Half Sampling + 10 + 1 + + + FRSTS + First sample + 11 + 1 + + + ISIZE + Input Data Size + 16 + 3 + + + CID + Clear If Disabled + 30 + 2 + + + + + IER + Interrupt Enable Register + 0x04 + 32 + write-only + + + DRDY + Data Ready Interrupt Enable + 0 + 1 + + + OVRE + Overrun Error Interrupt Enable + 1 + 1 + + + + + IDR + Interrupt Disable Register + 0x08 + 32 + write-only + + + DRDY + Data Ready Interrupt Disable + 0 + 1 + + + OVRE + Overrun Error Interrupt Disable + 1 + 1 + + + + + IMR + Interrupt Mask Register + 0x0C + 32 + read-only + + + DRDY + Data Ready Interrupt Mask + 0 + 1 + + + OVRE + Overrun Error Interrupt Mask + 1 + 1 + + + + + ISR + Interrupt Status Register + 0x10 + 32 + read-only + + + DRDY + Data Ready Interrupt Status + 0 + 1 + + + OVRE + Overrun Error Interrupt Status + 1 + 1 + + + + + RHR + Reception Holding Register + 0x14 + 32 + read-only + + + RDATA + Reception Data + 0 + 32 + + + + + WPMR + Write Protection Mode Register + 0xE0 + 32 + + + WPEN + Write Protection Enable + 0 + 1 + + + WPKEY + Write Protection Key + 8 + 24 + + + + + WPSR + Write Protection Status Register + 0xE4 + 32 + read-only + + + WPVS + Write Protection Violation Source + 0 + 1 + + + WPVSRC + Write Protection Violation Status + 8 + 16 + + + + + + + PDEC + 1.0.0 + Quadrature Decodeur + PDEC + PDEC_ + 0x42001C00 + + 0 + 0x40 + registers + + + PDEC_INTREQ_0 + 115 + + + PDEC_INTREQ_1 + 116 + + + PDEC_INTREQ_2 + 117 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operation Mode + 2 + 2 + + MODESelect + + QDEC + QDEC operating mode + 0x0 + + + HALL + HALL operating mode + 0x1 + + + COUNTER + COUNTER operating mode + 0x2 + + + + + RUNSTDBY + Run in Standby + 6 + 1 + + + CONF + PDEC Configuration + 8 + 3 + + CONFSelect + + X4 + Quadrature decoder direction + 0x0 + + + X4S + Secure Quadrature decoder direction + 0x1 + + + X2 + Decoder direction + 0x2 + + + X2S + Secure decoder direction + 0x3 + + + AUTOC + Auto correction mode + 0x4 + + + + + ALOCK + Auto Lock + 11 + 1 + + + SWAP + PDEC Phase A and B Swap + 14 + 1 + + + PEREN + Period Enable + 15 + 1 + + + PINEN0 + PDEC Input From Pin 0 Enable + 16 + 1 + + + PINEN1 + PDEC Input From Pin 1 Enable + 17 + 1 + + + PINEN2 + PDEC Input From Pin 2 Enable + 18 + 1 + + + PINVEN0 + IO Pin 0 Invert Enable + 20 + 1 + + + PINVEN1 + IO Pin 1 Invert Enable + 21 + 1 + + + PINVEN2 + IO Pin 2 Invert Enable + 22 + 1 + + + ANGULAR + Angular Counter Length + 24 + 3 + + + MAXCMP + Maximum Consecutive Missing Pulses + 28 + 4 + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + LUPD + Lock Update + 1 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a counter restart or retrigger + 0x1 + + + UPDATE + Force update of double buffered registers + 0x2 + + + READSYNC + Force a read synchronization of COUNT + 0x3 + + + START + Start QDEC/HALL + 0x4 + + + STOP + Stop QDEC/HALL + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + LUPD + Lock Update + 1 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a counter restart or retrigger + 0x1 + + + UPDATE + Force update of double buffered registers + 0x2 + + + READSYNC + Force a read synchronization of COUNT + 0x3 + + + Start + Start QDEC/HALL + 0x4 + + + Stop + Stop QDEC/HALL + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 2 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger on event + 0x1 + + + COUNT + Count on event + 0x2 + + + + + EVINV + Inverted Event Input Enable + 2 + 3 + + + EVEI + Event Input Enable + 5 + 3 + + + OVFEO + Overflow/Underflow Output Event Enable + 8 + 1 + + + ERREO + Error Output Event Enable + 9 + 1 + + + DIREO + Direction Output Event Enable + 10 + 1 + + + VLCEO + Velocity Output Event Enable + 11 + 1 + + + MCEO0 + Match Channel 0 Event Output Enable + 12 + 1 + + + MCEO1 + Match Channel 1 Event Output Enable + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + Overflow/Underflow Interrupt Disable + 0 + 1 + + + ERR + Error Interrupt Disable + 1 + 1 + + + DIR + Direction Interrupt Disable + 2 + 1 + + + VLC + Velocity Interrupt Disable + 3 + 1 + + + MC0 + Channel 0 Compare Match Disable + 4 + 1 + + + MC1 + Channel 1 Compare Match Disable + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + Overflow/Underflow Interrupt Enable + 0 + 1 + + + ERR + Error Interrupt Enable + 1 + 1 + + + DIR + Direction Interrupt Enable + 2 + 1 + + + VLC + Velocity Interrupt Enable + 3 + 1 + + + MC0 + Channel 0 Compare Match Enable + 4 + 1 + + + MC1 + Channel 1 Compare Match Enable + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + Overflow/Underflow + 0 + 1 + + + ERR + Error + 1 + 1 + + + DIR + Direction Change + 2 + 1 + + + VLC + Velocity + 3 + 1 + + + MC0 + Channel 0 Compare Match + 4 + 1 + + + MC1 + Channel 1 Compare Match + 5 + 1 + + + + + STATUS + Status + 0x0C + 16 + 0x0040 + + + QERR + Quadrature Error Flag + 0 + 1 + + + IDXERR + Index Error Flag + 1 + 1 + + + MPERR + Missing Pulse Error flag + 2 + 1 + + + WINERR + Window Error Flag + 4 + 1 + + + HERR + Hall Error Flag + 5 + 1 + + + STOP + Stop + 6 + 1 + read-only + + + DIR + Direction Status Flag + 7 + 1 + read-only + + + PRESCBUFV + Prescaler Buffer Valid + 8 + 1 + read-only + + + FILTERBUFV + Filter Buffer Valid + 9 + 1 + read-only + + + CCBUFV0 + Compare Channel 0 Buffer Valid + 12 + 1 + read-only + + + CCBUFV1 + Compare Channel 1 Buffer Valid + 13 + 1 + read-only + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Debug Run Mode + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + + + ENABLE + Enable Synchronization Busy + 1 + 1 + + + CTRLB + Control B Synchronization Busy + 2 + 1 + + + STATUS + Status Synchronization Busy + 3 + 1 + + + PRESC + Prescaler Synchronization Busy + 4 + 1 + + + FILTER + Filter Synchronization Busy + 5 + 1 + + + COUNT + Count Synchronization Busy + 6 + 1 + + + CC0 + Compare Channel 0 Synchronization Busy + 7 + 1 + + + CC1 + Compare Channel 1 Synchronization Busy + 8 + 1 + + + + + PRESC + Prescaler Value + 0x14 + 8 + + + PRESC + Prescaler Value + 0 + 4 + + PRESCSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV32 + Divide by 32 + 0x5 + + + DIV64 + Divide by 64 + 0x6 + + + DIV128 + Divide by 128 + 0x7 + + + DIV256 + Divide by 256 + 0x8 + + + DIV512 + Divide by 512 + 0x9 + + + DIV1024 + Divide by 1024 + 0xa + + + + + + + FILTER + Filter Value + 0x15 + 8 + + + FILTER + Filter Value + 0 + 8 + + + + + PRESCBUF + Prescaler Buffer Value + 0x18 + 8 + + + PRESCBUF + Prescaler Buffer Value + 0 + 4 + + PRESCBUFSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV32 + Divide by 32 + 0x5 + + + DIV64 + Divide by 64 + 0x6 + + + DIV128 + Divide by 128 + 0x7 + + + DIV256 + Divide by 256 + 0x8 + + + DIV512 + Divide by 512 + 0x9 + + + DIV1024 + Divide by 1024 + 0xa + + + + + + + FILTERBUF + Filter Buffer Value + 0x19 + 8 + + + FILTERBUF + Filter Buffer Value + 0 + 8 + + + + + COUNT + Counter Value + 0x1C + 32 + + + COUNT + Counter Value + 0 + 16 + + + + + 2 + 0x4 + CC%s + Channel n Compare Value + 0x20 + 32 + + + CC + Channel Compare Value + 0 + 16 + + + + + 2 + 0x4 + CCBUF%s + Channel Compare Buffer Value + 0x30 + 32 + + + CCBUF + Channel Compare Buffer Value + 0 + 16 + + + + + + + PM + 1.0.0 + Power Manager + PM + PM_ + 0x40000400 + + 0 + 0x40 + registers + + + PM_INTREQ + 0 + + + + CTRLA + Control A + 0x00 + 8 + + + IORET + I/O Retention + 2 + 1 + + + + + SLEEPCFG + Sleep Configuration + 0x01 + 8 + 0x02 + + + SLEEPMODE + Sleep Mode + 0 + 3 + + SLEEPMODESelect + + IDLE0 + CPU clock is OFF + 0x0 + + + IDLE1 + AHB clock is OFF + 0x1 + + + IDLE2 + APB clock are OFF + 0x2 + + + STANDBY + All Clocks are OFF + 0x4 + + + HIBERNATE + Backup domain is ON as well as some PDRAMs + 0x5 + + + BACKUP + Only Backup domain is powered ON + 0x6 + + + OFF + All power domains are powered OFF + 0x7 + + + + + + + INTENCLR + Interrupt Enable Clear + 0x04 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready Enable + 0 + 1 + write-only + + + + + INTENSET + Interrupt Enable Set + 0x05 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x06 + 8 + + + SLEEPRDY + Sleep Mode Entry Ready + 0 + 1 + + + + + STDBYCFG + Standby Configuration + 0x08 + 8 + + + RAMCFG + Ram Configuration + 0 + 2 + + RAMCFGSelect + + RET + All the RAMs are retained + 0x0 + + + PARTIAL + Only the first 32K bytes are retained + 0x1 + + + OFF + All the RAMs are OFF + 0x2 + + + + + FASTWKUP + Fast Wakeup + 4 + 2 + + + + + HIBCFG + Hibernate Configuration + 0x09 + 8 + + + RAMCFG + Ram Configuration + 0 + 2 + + + BRAMCFG + Backup Ram Configuration + 2 + 2 + + + + + BKUPCFG + Backup Configuration + 0x0A + 8 + + + BRAMCFG + Ram Configuration + 0 + 2 + + + + + PWSAKDLY + Power Switch Acknowledge Delay + 0x12 + 8 + + + DLYVAL + Delay Value + 0 + 7 + + + IGNACK + Ignore Acknowledge + 7 + 1 + + + + + + + PORT + 2.2.0 + Port Module + PORT + PORT_ + 0x41008000 + + 0 + 0x200 + registers + + + + 4 + 0x80 + DIR%s + Data Direction + 0x00 + 32 + + + DIR + Port Data Direction + 0 + 32 + + + + + 4 + 0x80 + DIRCLR%s + Data Direction Clear + 0x04 + 32 + + + DIRCLR + Port Data Direction Clear + 0 + 32 + + + + + 4 + 0x80 + DIRSET%s + Data Direction Set + 0x08 + 32 + + + DIRSET + Port Data Direction Set + 0 + 32 + + + + + 4 + 0x80 + DIRTGL%s + Data Direction Toggle + 0x0C + 32 + + + DIRTGL + Port Data Direction Toggle + 0 + 32 + + + + + 4 + 0x80 + OUT%s + Data Output Value + 0x10 + 32 + + + OUT + PORT Data Output Value + 0 + 32 + + + + + 4 + 0x80 + OUTCLR%s + Data Output Value Clear + 0x14 + 32 + + + OUTCLR + PORT Data Output Value Clear + 0 + 32 + + + + + 4 + 0x80 + OUTSET%s + Data Output Value Set + 0x18 + 32 + + + OUTSET + PORT Data Output Value Set + 0 + 32 + + + + + 4 + 0x80 + OUTTGL%s + Data Output Value Toggle + 0x1C + 32 + + + OUTTGL + PORT Data Output Value Toggle + 0 + 32 + + + + + 4 + 0x80 + IN%s + Data Input Value + 0x20 + 32 + read-only + + + IN + PORT Data Input Value + 0 + 32 + read-only + + + + + 4 + 0x80 + CTRL%s + Control + 0x24 + 32 + + + SAMPLING + Input Sampling Mode + 0 + 32 + write-only + + + + + 4 + 0x80 + WRCONFIG%s + Write Configuration + 0x28 + 32 + write-only + + + PINMASK + Pin Mask for Multiple Pin Configuration + 0 + 16 + write-only + + + PMUXEN + Peripheral Multiplexer Enable + 16 + 1 + write-only + + + INEN + Input Enable + 17 + 1 + write-only + + + PULLEN + Pull Enable + 18 + 1 + write-only + + + DRVSTR + Output Driver Strength Selection + 22 + 1 + write-only + + + PMUX + Peripheral Multiplexing + 24 + 4 + write-only + + + WRPMUX + Write PMUX + 28 + 1 + write-only + + + WRPINCFG + Write PINCFG + 30 + 1 + write-only + + + HWSEL + Half-Word Select + 31 + 1 + write-only + + + + + 4 + 0x80 + EVCTRL%s + Event Input Control + 0x2C + 32 + + + PID0 + PORT Event Pin Identifier 0 + 0 + 5 + + + EVACT0 + PORT Event Action 0 + 5 + 2 + + EVACT0Select + + OUT + Event output to pin + 0x0 + + + SET + Set output register of pin on event + 0x1 + + + CLR + Clear output register of pin on event + 0x2 + + + TGL + Toggle output register of pin on event + 0x3 + + + + + PORTEI0 + PORT Event Input Enable 0 + 7 + 1 + + + PID1 + PORT Event Pin Identifier 1 + 8 + 5 + + + EVACT1 + PORT Event Action 1 + 13 + 2 + + + PORTEI1 + PORT Event Input Enable 1 + 15 + 1 + + + PID2 + PORT Event Pin Identifier 2 + 16 + 5 + + + EVACT2 + PORT Event Action 2 + 21 + 2 + + + PORTEI2 + PORT Event Input Enable 2 + 23 + 1 + + + PID3 + PORT Event Pin Identifier 3 + 24 + 5 + + + EVACT3 + PORT Event Action 3 + 29 + 2 + + + PORTEI3 + PORT Event Input Enable 3 + 31 + 1 + + + + + 16 + 0x1 + PMUX0_%s + Peripheral Multiplexing - Group 0 + 0x30 + 8 + + + PMUXE + Peripheral Multiplexing for Even-Numbered Pin + 0 + 4 + + + PMUXO + Peripheral Multiplexing for Odd-Numbered Pin + 4 + 4 + + + + + 16 + 0x1 + PMUX1_%s + Peripheral Multiplexing - Group 1 + 0xb0 + + + 16 + 0x1 + PMUX2_%s + Peripheral Multiplexing - Group 2 + 0x130 + + + 16 + 0x1 + PMUX3_%s + Peripheral Multiplexing - Group 3 + 0x1b0 + + + 32 + 0x1 + PINCFG0_%s + Pin Configuration - Group 0 + 0x40 + 8 + + + PMUXEN + Peripheral Multiplexer Enable + 0 + 1 + + + INEN + Input Enable + 1 + 1 + + + PULLEN + Pull Enable + 2 + 1 + + + DRVSTR + Output Driver Strength Selection + 6 + 1 + + + + + 32 + 0x1 + PINCFG1_%s + Pin Configuration - Group 1 + 0xc0 + + + 32 + 0x1 + PINCFG2_%s + Pin Configuration - Group 2 + 0x140 + + + 32 + 0x1 + PINCFG3_%s + Pin Configuration - Group 3 + 0x1c0 + + + + + QSPI + 1.6.3 + Quad SPI interface + QSPI + QSPI_ + 0x42003400 + + 0 + 0x80 + registers + + + QSPI_INTREQ + 134 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + LASTXFER + Last Transfer + 24 + 1 + write-only + + + + + CTRLB + Control B + 0x04 + 32 + + + MODE + Serial Memory Mode + 0 + 1 + + MODESelect + + SPI + SPI operating mode + 0x0 + + + MEMORY + Serial Memory operating mode + 0x1 + + + + + LOOPEN + Local Loopback Enable + 1 + 1 + + + WDRBT + Wait Data Read Before Transfer + 2 + 1 + + + SMEMREG + Serial Memory reg + 3 + 1 + + + CSMODE + Chip Select Mode + 4 + 2 + + CSMODESelect + + NORELOAD + The chip select is deasserted if TD has not been reloaded before the end of the current transfer. + 0x0 + + + LASTXFER + The chip select is deasserted when the bit LASTXFER is written at 1 and the character written in TD has been transferred. + 0x1 + + + SYSTEMATICALLY + The chip select is deasserted systematically after each transfer. + 0x2 + + + + + DATALEN + Data Length + 8 + 4 + + DATALENSelect + + 8BITS + 8-bits transfer + 0x0 + + + 9BITS + 9 bits transfer + 0x1 + + + 10BITS + 10-bits transfer + 0x2 + + + 11BITS + 11-bits transfer + 0x3 + + + 12BITS + 12-bits transfer + 0x4 + + + 13BITS + 13-bits transfer + 0x5 + + + 14BITS + 14-bits transfer + 0x6 + + + 15BITS + 15-bits transfer + 0x7 + + + 16BITS + 16-bits transfer + 0x8 + + + + + DLYBCT + Delay Between Consecutive Transfers + 16 + 8 + + + DLYCS + Minimum Inactive CS Delay + 24 + 8 + + + + + BAUD + Baud Rate + 0x08 + 32 + + + CPOL + Clock Polarity + 0 + 1 + + + CPHA + Clock Phase + 1 + 1 + + + BAUD + Serial Clock Baud Rate + 8 + 8 + + + DLYBS + Delay Before SCK + 16 + 8 + + + + + RXDATA + Receive Data + 0x0C + 32 + read-only + + + DATA + Receive Data + 0 + 16 + read-only + + + + + TXDATA + Transmit Data + 0x10 + 32 + write-only + + + DATA + Transmit Data + 0 + 16 + write-only + + + + + INTENCLR + Interrupt Enable Clear + 0x14 + 32 + + + RXC + Receive Data Register Full Interrupt Disable + 0 + 1 + + + DRE + Transmit Data Register Empty Interrupt Disable + 1 + 1 + + + TXC + Transmission Complete Interrupt Disable + 2 + 1 + + + ERROR + Overrun Error Interrupt Disable + 3 + 1 + + + CSRISE + Chip Select Rise Interrupt Disable + 8 + 1 + + + INSTREND + Instruction End Interrupt Disable + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x18 + 32 + + + RXC + Receive Data Register Full Interrupt Enable + 0 + 1 + + + DRE + Transmit Data Register Empty Interrupt Enable + 1 + 1 + + + TXC + Transmission Complete Interrupt Enable + 2 + 1 + + + ERROR + Overrun Error Interrupt Enable + 3 + 1 + + + CSRISE + Chip Select Rise Interrupt Enable + 8 + 1 + + + INSTREND + Instruction End Interrupt Enable + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x1C + 32 + + + RXC + Receive Data Register Full + 0 + 1 + + + DRE + Transmit Data Register Empty + 1 + 1 + + + TXC + Transmission Complete + 2 + 1 + + + ERROR + Overrun Error + 3 + 1 + + + CSRISE + Chip Select Rise + 8 + 1 + + + INSTREND + Instruction End + 10 + 1 + + + + + STATUS + Status Register + 0x20 + 32 + read-only + 0x00000200 + + + ENABLE + Enable + 1 + 1 + read-only + + + CSSTATUS + Chip Select + 9 + 1 + read-only + + + + + INSTRADDR + Instruction Address + 0x30 + 32 + + + ADDR + Instruction Address + 0 + 32 + + + + + INSTRCTRL + Instruction Code + 0x34 + 32 + + + INSTR + Instruction Code + 0 + 8 + + + OPTCODE + Option Code + 16 + 8 + + + + + INSTRFRAME + Instruction Frame + 0x38 + 32 + + + WIDTH + Instruction Code, Address, Option Code and Data Width + 0 + 3 + + WIDTHSelect + + SINGLE_BIT_SPI + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Single-bit SPI + 0x0 + + + DUAL_OUTPUT + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Dual SPI + 0x1 + + + QUAD_OUTPUT + Instruction: Single-bit SPI / Address-Option: Single-bit SPI / Data: Quad SPI + 0x2 + + + DUAL_IO + Instruction: Single-bit SPI / Address-Option: Dual SPI / Data: Dual SPI + 0x3 + + + QUAD_IO + Instruction: Single-bit SPI / Address-Option: Quad SPI / Data: Quad SPI + 0x4 + + + DUAL_CMD + Instruction: Dual SPI / Address-Option: Dual SPI / Data: Dual SPI + 0x5 + + + QUAD_CMD + Instruction: Quad SPI / Address-Option: Quad SPI / Data: Quad SPI + 0x6 + + + + + INSTREN + Instruction Enable + 4 + 1 + + + ADDREN + Address Enable + 5 + 1 + + + OPTCODEEN + Option Enable + 6 + 1 + + + DATAEN + Data Enable + 7 + 1 + + + OPTCODELEN + Option Code Length + 8 + 2 + + OPTCODELENSelect + + 1BIT + 1-bit length option code + 0x0 + + + 2BITS + 2-bits length option code + 0x1 + + + 4BITS + 4-bits length option code + 0x2 + + + 8BITS + 8-bits length option code + 0x3 + + + + + ADDRLEN + Address Length + 10 + 1 + + ADDRLENSelect + + 24BITS + 24-bits address length + 0x0 + + + 32BITS + 32-bits address length + 0x1 + + + + + TFRTYPE + Data Transfer Type + 12 + 2 + + TFRTYPESelect + + READ + Read transfer from the serial memory.Scrambling is not performed.Read at random location (fetch) in the serial flash memory is not possible. + 0x0 + + + READMEMORY + Read data transfer from the serial memory.If enabled, scrambling is performed.Read at random location (fetch) in the serial flash memory is possible. + 0x1 + + + WRITE + Write transfer into the serial memory.Scrambling is not performed. + 0x2 + + + WRITEMEMORY + Write data transfer into the serial memory.If enabled, scrambling is performed. + 0x3 + + + + + CRMODE + Continuous Read Mode + 14 + 1 + + + DDREN + Double Data Rate Enable + 15 + 1 + + + DUMMYLEN + Dummy Cycles Length + 16 + 5 + + + + + SCRAMBCTRL + Scrambling Mode + 0x40 + 32 + + + ENABLE + Scrambling/Unscrambling Enable + 0 + 1 + + + RANDOMDIS + Scrambling/Unscrambling Random Value Disable + 1 + 1 + + + + + SCRAMBKEY + Scrambling Key + 0x44 + 32 + write-only + + + KEY + Scrambling User Key + 0 + 32 + write-only + + + + + + + RAMECC + 1.0.0 + RAM ECC + RAMECC + RAMECC_ + 0x41020000 + + 0 + 0x10 + registers + + + RAMECC_INTREQ + 45 + + + + INTENCLR + Interrupt Enable Clear + 0x0 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt Enable Clear + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt Enable Clear + 1 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x1 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt Enable Set + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt Enable Set + 1 + 1 + + + + + INTFLAG + Interrupt Flag + 0x2 + 8 + + + SINGLEE + Single Bit ECC Error Interrupt + 0 + 1 + + + DUALE + Dual Bit ECC Error Interrupt + 1 + 1 + + + + + STATUS + Status + 0x3 + 8 + read-only + + + ECCDIS + ECC Disable + 0 + 1 + read-only + + + + + ERRADDR + Error Address + 0x4 + 32 + read-only + + + ERRADDR + Error Address + 0 + 17 + read-only + + + + + DBGCTRL + Debug Control + 0xF + 8 + + + ECCDIS + ECC Disable + 0 + 1 + + + ECCELOG + ECC Error Log + 1 + 1 + + + + + + + RSTC + 4.0.0 + Reset Controller + RSTC + RSTC_ + 0x40000C00 + + 0 + 0x20 + registers + + + + RCAUSE + Reset Cause + 0x00 + 8 + read-only + + + POR + Power On Reset + 0 + 1 + + + BODCORE + Brown Out CORE Detector Reset + 1 + 1 + + + BODVDD + Brown Out VDD Detector Reset + 2 + 1 + + + NVM + NVM Reset + 3 + 1 + + + EXT + External Reset + 4 + 1 + + + WDT + Watchdog Reset + 5 + 1 + + + SYST + System Reset Request + 6 + 1 + + + BACKUP + Backup Reset + 7 + 1 + + + + + BKUPEXIT + Backup Exit Source + 0x02 + 8 + read-only + + + RTC + Real Timer Counter Interrupt + 1 + 1 + read-only + + + BBPS + Battery Backup Power Switch + 2 + 1 + read-only + + + HIB + Hibernate + 7 + 1 + read-only + + + + + + + RTC + 2.1.0 + Real-Time Counter + RTC + RTC_ + 0x40002400 + + 0 + 0x100 + registers + + + RTC_INTREQ + 11 + + + + MODE0 + 32-bit Counter with Single 32-bit Compare + RtcMode0 + 0x0 + + CTRLA + MODE0 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + MATCHCLR + Clear on Match + 7 + 1 + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + COUNTSYNC + Count Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE0 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE0 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + CMPEO0 + Compare 0 Event Output Enable + 8 + 1 + + + CMPEO1 + Compare 1 Event Output Enable + 9 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE0 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + write-only + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + write-only + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + write-only + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + write-only + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + write-only + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + write-only + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + write-only + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + write-only + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE0 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE0 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + CMP0 + Compare 0 + 8 + 1 + + + CMP1 + Compare 1 + 9 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE0 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + COUNT + COUNT Register Busy + 3 + 1 + read-only + + + COMP0 + COMP 0 Register Busy + 5 + 1 + read-only + + + COMP1 + COMP 1 Register Busy + 6 + 1 + read-only + + + COUNTSYNC + Count Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + COUNT + MODE0 Counter Value + 0x18 + 32 + + + COUNT + Counter Value + 0 + 32 + + + + + 2 + 0x4 + COMP%s + MODE0 Compare n Value + 0x20 + 32 + + + COMP + Compare Value + 0 + 32 + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE0 Timestamp + 0x64 + 32 + read-only + + + COUNT + Count Timestamp Value + 0 + 32 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + MODE1 + 16-bit Counter with Two 16-bit Compares + MODE0 + RtcMode1 + 0x0 + + CTRLA + MODE1 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + COUNTSYNC + Count Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE1 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE1 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + CMPEO0 + Compare 0 Event Output Enable + 8 + 1 + + + CMPEO1 + Compare 1 Event Output Enable + 9 + 1 + + + CMPEO2 + Compare 2 Event Output Enable + 10 + 1 + + + CMPEO3 + Compare 3 Event Output Enable + 11 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE1 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + CMP2 + Compare 2 Interrupt Enable + 10 + 1 + + + CMP3 + Compare 3 Interrupt Enable + 11 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE1 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + CMP0 + Compare 0 Interrupt Enable + 8 + 1 + + + CMP1 + Compare 1 Interrupt Enable + 9 + 1 + + + CMP2 + Compare 2 Interrupt Enable + 10 + 1 + + + CMP3 + Compare 3 Interrupt Enable + 11 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE1 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + CMP0 + Compare 0 + 8 + 1 + + + CMP1 + Compare 1 + 9 + 1 + + + CMP2 + Compare 2 + 10 + 1 + + + CMP3 + Compare 3 + 11 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE1 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Bit Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + COUNT + COUNT Register Busy + 3 + 1 + read-only + + + PER + PER Register Busy + 4 + 1 + read-only + + + COMP0 + COMP 0 Register Busy + 5 + 1 + read-only + + + COMP1 + COMP 1 Register Busy + 6 + 1 + read-only + + + COMP2 + COMP 2 Register Busy + 7 + 1 + read-only + + + COMP3 + COMP 3 Register Busy + 8 + 1 + read-only + + + COUNTSYNC + Count Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + COUNT + MODE1 Counter Value + 0x18 + 16 + + + COUNT + Counter Value + 0 + 16 + + + + + PER + MODE1 Counter Period + 0x1C + 16 + + + PER + Counter Period + 0 + 16 + + + + + 4 + 0x2 + COMP%s + MODE1 Compare n Value + 0x20 + 16 + + + COMP + Compare Value + 0 + 16 + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE1 Timestamp + 0x64 + 32 + read-only + + + COUNT + Count Timestamp Value + 0 + 16 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + MODE2 + Clock/Calendar with Alarm + MODE0 + RtcMode2 + 0x0 + + CTRLA + MODE2 Control A + 0x00 + 16 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 2 + + MODESelect + + COUNT32 + Mode 0: 32-bit Counter + 0x0 + + + COUNT16 + Mode 1: 16-bit Counter + 0x1 + + + CLOCK + Mode 2: Clock/Calendar + 0x2 + + + + + CLKREP + Clock Representation + 6 + 1 + + + MATCHCLR + Clear on Match + 7 + 1 + + + PRESCALER + Prescaler + 8 + 4 + + PRESCALERSelect + + OFF + CLK_RTC_CNT = GCLK_RTC/1 + 0x0 + + + DIV1 + CLK_RTC_CNT = GCLK_RTC/1 + 0x1 + + + DIV2 + CLK_RTC_CNT = GCLK_RTC/2 + 0x2 + + + DIV4 + CLK_RTC_CNT = GCLK_RTC/4 + 0x3 + + + DIV8 + CLK_RTC_CNT = GCLK_RTC/8 + 0x4 + + + DIV16 + CLK_RTC_CNT = GCLK_RTC/16 + 0x5 + + + DIV32 + CLK_RTC_CNT = GCLK_RTC/32 + 0x6 + + + DIV64 + CLK_RTC_CNT = GCLK_RTC/64 + 0x7 + + + DIV128 + CLK_RTC_CNT = GCLK_RTC/128 + 0x8 + + + DIV256 + CLK_RTC_CNT = GCLK_RTC/256 + 0x9 + + + DIV512 + CLK_RTC_CNT = GCLK_RTC/512 + 0xa + + + DIV1024 + CLK_RTC_CNT = GCLK_RTC/1024 + 0xb + + + + + BKTRST + BKUP Registers Reset On Tamper Enable + 13 + 1 + + + GPTRST + GP Registers Reset On Tamper Enable + 14 + 1 + + + CLOCKSYNC + Clock Read Synchronization Enable + 15 + 1 + + + + + CTRLB + MODE2 Control B + 0x02 + 16 + + + GP0EN + General Purpose 0 Enable + 0 + 1 + + + GP2EN + General Purpose 2 Enable + 1 + 1 + + + DEBMAJ + Debouncer Majority Enable + 4 + 1 + + + DEBASYNC + Debouncer Asynchronous Enable + 5 + 1 + + + RTCOUT + RTC Output Enable + 6 + 1 + + + DMAEN + DMA Enable + 7 + 1 + + + DEBF + Debounce Freqnuency + 8 + 3 + + DEBFSelect + + DIV2 + CLK_RTC_DEB = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_DEB = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_DEB = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_DEB = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_DEB = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_DEB = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_DEB = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_DEB = CLK_RTC/256 + 0x7 + + + + + ACTF + Active Layer Freqnuency + 12 + 3 + + ACTFSelect + + DIV2 + CLK_RTC_OUT = CLK_RTC/2 + 0x0 + + + DIV4 + CLK_RTC_OUT = CLK_RTC/4 + 0x1 + + + DIV8 + CLK_RTC_OUT = CLK_RTC/8 + 0x2 + + + DIV16 + CLK_RTC_OUT = CLK_RTC/16 + 0x3 + + + DIV32 + CLK_RTC_OUT = CLK_RTC/32 + 0x4 + + + DIV64 + CLK_RTC_OUT = CLK_RTC/64 + 0x5 + + + DIV128 + CLK_RTC_OUT = CLK_RTC/128 + 0x6 + + + DIV256 + CLK_RTC_OUT = CLK_RTC/256 + 0x7 + + + + + + + EVCTRL + MODE2 Event Control + 0x04 + 32 + + + PEREO0 + Periodic Interval 0 Event Output Enable + 0 + 1 + + + PEREO1 + Periodic Interval 1 Event Output Enable + 1 + 1 + + + PEREO2 + Periodic Interval 2 Event Output Enable + 2 + 1 + + + PEREO3 + Periodic Interval 3 Event Output Enable + 3 + 1 + + + PEREO4 + Periodic Interval 4 Event Output Enable + 4 + 1 + + + PEREO5 + Periodic Interval 5 Event Output Enable + 5 + 1 + + + PEREO6 + Periodic Interval 6 Event Output Enable + 6 + 1 + + + PEREO7 + Periodic Interval 7 Event Output Enable + 7 + 1 + + + ALARMEO0 + Alarm 0 Event Output Enable + 8 + 1 + + + ALARMEO1 + Alarm 1 Event Output Enable + 9 + 1 + + + TAMPEREO + Tamper Event Output Enable + 14 + 1 + + + OVFEO + Overflow Event Output Enable + 15 + 1 + + + TAMPEVEI + Tamper Event Input Enable + 16 + 1 + + + + + INTENCLR + MODE2 Interrupt Enable Clear + 0x08 + 16 + + + PER0 + Periodic Interval 0 Interrupt Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Interrupt Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Interrupt Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Interrupt Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Interrupt Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Interrupt Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Interrupt Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Interrupt Enable + 7 + 1 + + + ALARM0 + Alarm 0 Interrupt Enable + 8 + 1 + + + ALARM1 + Alarm 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTENSET + MODE2 Interrupt Enable Set + 0x0A + 16 + + + PER0 + Periodic Interval 0 Enable + 0 + 1 + + + PER1 + Periodic Interval 1 Enable + 1 + 1 + + + PER2 + Periodic Interval 2 Enable + 2 + 1 + + + PER3 + Periodic Interval 3 Enable + 3 + 1 + + + PER4 + Periodic Interval 4 Enable + 4 + 1 + + + PER5 + Periodic Interval 5 Enable + 5 + 1 + + + PER6 + Periodic Interval 6 Enable + 6 + 1 + + + PER7 + Periodic Interval 7 Enable + 7 + 1 + + + ALARM0 + Alarm 0 Interrupt Enable + 8 + 1 + + + ALARM1 + Alarm 1 Interrupt Enable + 9 + 1 + + + TAMPER + Tamper Enable + 14 + 1 + + + OVF + Overflow Interrupt Enable + 15 + 1 + + + + + INTFLAG + MODE2 Interrupt Flag Status and Clear + 0x0C + 16 + + + PER0 + Periodic Interval 0 + 0 + 1 + + + PER1 + Periodic Interval 1 + 1 + 1 + + + PER2 + Periodic Interval 2 + 2 + 1 + + + PER3 + Periodic Interval 3 + 3 + 1 + + + PER4 + Periodic Interval 4 + 4 + 1 + + + PER5 + Periodic Interval 5 + 5 + 1 + + + PER6 + Periodic Interval 6 + 6 + 1 + + + PER7 + Periodic Interval 7 + 7 + 1 + + + ALARM0 + Alarm 0 + 8 + 1 + + + ALARM1 + Alarm 1 + 9 + 1 + + + TAMPER + Tamper + 14 + 1 + + + OVF + Overflow + 15 + 1 + + + + + DBGCTRL + Debug Control + 0x0E + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + MODE2 Synchronization Busy Status + 0x10 + 32 + read-only + + + SWRST + Software Reset Bit Busy + 0 + 1 + read-only + + + ENABLE + Enable Bit Busy + 1 + 1 + read-only + + + FREQCORR + FREQCORR Register Busy + 2 + 1 + read-only + + + CLOCK + CLOCK Register Busy + 3 + 1 + read-only + + + ALARM0 + ALARM 0 Register Busy + 5 + 1 + read-only + + + ALARM1 + ALARM 1 Register Busy + 6 + 1 + read-only + + + MASK0 + MASK 0 Register Busy + 11 + 1 + read-only + + + MASK1 + MASK 1 Register Busy + 12 + 1 + read-only + + + CLOCKSYNC + Clock Synchronization Enable Bit Busy + 15 + 1 + read-only + + + GP0 + General Purpose 0 Register Busy + 16 + 1 + read-only + + + GP1 + General Purpose 1 Register Busy + 17 + 1 + read-only + + + GP2 + General Purpose 2 Register Busy + 18 + 1 + read-only + + + GP3 + General Purpose 3 Register Busy + 19 + 1 + read-only + + + + + FREQCORR + Frequency Correction + 0x14 + 8 + + + VALUE + Correction Value + 0 + 7 + + + SIGN + Correction Sign + 7 + 1 + + + + + CLOCK + MODE2 Clock Value + 0x18 + 32 + + + SECOND + Second + 0 + 6 + + + MINUTE + Minute + 6 + 6 + + + HOUR + Hour + 12 + 5 + + HOURSelect + + AM + AM when CLKREP in 12-hour + 0x0 + + + PM + PM when CLKREP in 12-hour + 0x10 + + + + + DAY + Day + 17 + 5 + + + MONTH + Month + 22 + 4 + + + YEAR + Year + 26 + 6 + + + + + 2 + 0x8 + ALARM%s + MODE2 Alarm n Value + 0x20 + 32 + + + SECOND + Second + 0 + 6 + + + MINUTE + Minute + 6 + 6 + + + HOUR + Hour + 12 + 5 + + HOURSelect + + AM + Morning hour + 0x0 + + + PM + Afternoon hour + 0x10 + + + + + DAY + Day + 17 + 5 + + + MONTH + Month + 22 + 4 + + + YEAR + Year + 26 + 6 + + + + + 2 + 0x8 + MASK%s + MODE2 Alarm n Mask + 0x24 + 8 + + + SEL + Alarm Mask Selection + 0 + 3 + + SELSelect + + OFF + Alarm Disabled + 0x0 + + + SS + Match seconds only + 0x1 + + + MMSS + Match seconds and minutes only + 0x2 + + + HHMMSS + Match seconds, minutes, and hours only + 0x3 + + + DDHHMMSS + Match seconds, minutes, hours, and days only + 0x4 + + + MMDDHHMMSS + Match seconds, minutes, hours, days, and months only + 0x5 + + + YYMMDDHHMMSS + Match seconds, minutes, hours, days, months, and years + 0x6 + + + + + + + 4 + 0x4 + GP%s + General Purpose + 0x40 + 32 + + + GP + General Purpose + 0 + 32 + + + + + TAMPCTRL + Tamper Control + 0x60 + 32 + + + IN0ACT + Tamper Input 0 Action + 0 + 2 + + IN0ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN0 to OUT + 0x3 + + + + + IN1ACT + Tamper Input 1 Action + 2 + 2 + + IN1ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN1 to OUT + 0x3 + + + + + IN2ACT + Tamper Input 2 Action + 4 + 2 + + IN2ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN2 to OUT + 0x3 + + + + + IN3ACT + Tamper Input 3 Action + 6 + 2 + + IN3ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN3 to OUT + 0x3 + + + + + IN4ACT + Tamper Input 4 Action + 8 + 2 + + IN4ACTSelect + + OFF + Off (Disabled) + 0x0 + + + WAKE + Wake without timestamp + 0x1 + + + CAPTURE + Capture timestamp + 0x2 + + + ACTL + Compare IN4 to OUT + 0x3 + + + + + TAMLVL0 + Tamper Level Select 0 + 16 + 1 + + + TAMLVL1 + Tamper Level Select 1 + 17 + 1 + + + TAMLVL2 + Tamper Level Select 2 + 18 + 1 + + + TAMLVL3 + Tamper Level Select 3 + 19 + 1 + + + TAMLVL4 + Tamper Level Select 4 + 20 + 1 + + + DEBNC0 + Debouncer Enable 0 + 24 + 1 + + + DEBNC1 + Debouncer Enable 1 + 25 + 1 + + + DEBNC2 + Debouncer Enable 2 + 26 + 1 + + + DEBNC3 + Debouncer Enable 3 + 27 + 1 + + + DEBNC4 + Debouncer Enable 4 + 28 + 1 + + + + + TIMESTAMP + MODE2 Timestamp + 0x64 + 32 + read-only + + + SECOND + Second Timestamp Value + 0 + 6 + read-only + + + MINUTE + Minute Timestamp Value + 6 + 6 + read-only + + + HOUR + Hour Timestamp Value + 12 + 5 + read-only + + HOURSelect + + AM + AM when CLKREP in 12-hour + 0x0 + + + PM + PM when CLKREP in 12-hour + 0x10 + + + + + DAY + Day Timestamp Value + 17 + 5 + read-only + + + MONTH + Month Timestamp Value + 22 + 4 + read-only + + + YEAR + Year Timestamp Value + 26 + 6 + read-only + + + + + TAMPID + Tamper ID + 0x68 + 32 + + + TAMPID0 + Tamper Input 0 Detected + 0 + 1 + + + TAMPID1 + Tamper Input 1 Detected + 1 + 1 + + + TAMPID2 + Tamper Input 2 Detected + 2 + 1 + + + TAMPID3 + Tamper Input 3 Detected + 3 + 1 + + + TAMPID4 + Tamper Input 4 Detected + 4 + 1 + + + TAMPEVT + Tamper Event Detected + 31 + 1 + + + + + 8 + 0x4 + BKUP%s + Backup + 0x80 + 32 + + + BKUP + Backup + 0 + 32 + + + + + + + + SDHC0 + 1.8.3 + SD/MMC Host Controller 0 + SDHC + SDHC_ + 0x45000000 + + 0 + 0x00000C00 + registers + + + SDHC0_INTREQ + 135 + + + + SSAR + SDMA System Address / Argument 2 + 0x000 + 32 + + + ADDR + SDMA System Address + 0 + 32 + + + + + SSAR_CMD23 + SDMA System Address / Argument 2 + SSAR + 0x000 + 32 + + + ARG2 + Argument 2 + 0 + 32 + + + + + BSR + Block Size + 0x004 + 16 + + + BLOCKSIZE + Transfer Block Size + 0 + 10 + + + BOUNDARY + SDMA Buffer Boundary + 12 + 3 + + BOUNDARYSelect + + 4K + 4k bytes + 0x0 + + + 8K + 8k bytes + 0x1 + + + 16K + 16k bytes + 0x2 + + + 32K + 32k bytes + 0x3 + + + 64K + 64k bytes + 0x4 + + + 128K + 128k bytes + 0x5 + + + 256K + 256k bytes + 0x6 + + + 512K + 512k bytes + 0x7 + + + + + + + BCR + Block Count + 0x006 + 16 + + + BCNT + Blocks Count for Current Transfer + 0 + 16 + + + + + ARG1R + Argument 1 + 0x008 + 32 + + + ARG + Argument 1 + 0 + 32 + + + + + TMR + Transfer Mode + 0x00C + 16 + + + DMAEN + DMA Enable + 0 + 1 + + DMAENSelect + + DISABLE + No data transfer or Non DMA data transfer + 0x0 + + + ENABLE + DMA data transfer + 0x1 + + + + + BCEN + Block Count Enable + 1 + 1 + + BCENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + ACMDEN + Auto Command Enable + 2 + 2 + + ACMDENSelect + + DISABLED + Auto Command Disabled + 0x0 + + + CMD12 + Auto CMD12 Enable + 0x1 + + + CMD23 + Auto CMD23 Enable + 0x2 + + + + + DTDSEL + Data Transfer Direction Selection + 4 + 1 + + DTDSELSelect + + WRITE + Write (Host to Card) + 0x0 + + + READ + Read (Card to Host) + 0x1 + + + + + MSBSEL + Multi/Single Block Selection + 5 + 1 + + MSBSELSelect + + SINGLE + Single Block + 0x0 + + + MULTIPLE + Multiple Block + 0x1 + + + + + + + CR + Command + 0x00E + 16 + + + RESPTYP + Response Type + 0 + 2 + + RESPTYPSelect + + NONE + No response + 0x0 + + + 136_BIT + 136-bit response + 0x1 + + + 48_BIT + 48-bit response + 0x2 + + + 48_BIT_BUSY + 48-bit response check busy after response + 0x3 + + + + + CMDCCEN + Command CRC Check Enable + 3 + 1 + + CMDCCENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + CMDICEN + Command Index Check Enable + 4 + 1 + + CMDICENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + DPSEL + Data Present Select + 5 + 1 + + DPSELSelect + + NO_DATA + No Data Present + 0x0 + + + DATA + Data Present + 0x1 + + + + + CMDTYP + Command Type + 6 + 2 + + CMDTYPSelect + + NORMAL + Other commands + 0x0 + + + SUSPEND + CMD52 for writing Bus Suspend in CCCR + 0x1 + + + RESUME + CMD52 for writing Function Select in CCCR + 0x2 + + + ABORT + CMD12, CMD52 for writing I/O Abort in CCCR + 0x3 + + + + + CMDIDX + Command Index + 8 + 6 + + + + + 4 + 0x4 + RR%s + Response + 0x010 + 32 + read-only + + + CMDRESP + Command Response + 0 + 32 + + + + + BDPR + Buffer Data Port + 0x020 + 32 + + + BUFDATA + Buffer Data + 0 + 32 + + + + + PSR + Present State + 0x024 + 32 + read-only + 0x00F80000 + + + CMDINHC + Command Inhibit (CMD) + 0 + 1 + + CMDINHCSelect + + CAN + Can issue command using only CMD line + 0x0 + + + CANNOT + Cannot issue command + 0x1 + + + + + CMDINHD + Command Inhibit (DAT) + 1 + 1 + + CMDINHDSelect + + CAN + Can issue command which uses the DAT line + 0x0 + + + CANNOT + Cannot issue command which uses the DAT line + 0x1 + + + + + DLACT + DAT Line Active + 2 + 1 + + DLACTSelect + + INACTIVE + DAT Line Inactive + 0x0 + + + ACTIVE + DAT Line Active + 0x1 + + + + + RTREQ + Re-Tuning Request + 3 + 1 + + RTREQSelect + + OK + Fixed or well-tuned sampling clock + 0x0 + + + REQUIRED + Sampling clock needs re-tuning + 0x1 + + + + + WTACT + Write Transfer Active + 8 + 1 + + WTACTSelect + + NO + No valid data + 0x0 + + + YES + Transferring data + 0x1 + + + + + RTACT + Read Transfer Active + 9 + 1 + + RTACTSelect + + NO + No valid data + 0x0 + + + YES + Transferring data + 0x1 + + + + + BUFWREN + Buffer Write Enable + 10 + 1 + + BUFWRENSelect + + DISABLE + Write disable + 0x0 + + + ENABLE + Write enable + 0x1 + + + + + BUFRDEN + Buffer Read Enable + 11 + 1 + + BUFRDENSelect + + DISABLE + Read disable + 0x0 + + + ENABLE + Read enable + 0x1 + + + + + CARDINS + Card Inserted + 16 + 1 + + CARDINSSelect + + NO + Reset or Debouncing or No Card + 0x0 + + + YES + Card inserted + 0x1 + + + + + CARDSS + Card State Stable + 17 + 1 + + CARDSSSelect + + NO + Reset or Debouncing + 0x0 + + + YES + No Card or Insered + 0x1 + + + + + CARDDPL + Card Detect Pin Level + 18 + 1 + + CARDDPLSelect + + NO + No card present (SDCD#=1) + 0x0 + + + YES + Card present (SDCD#=0) + 0x1 + + + + + WRPPL + Write Protect Pin Level + 19 + 1 + + WRPPLSelect + + PROTECTED + Write protected (SDWP#=0) + 0x0 + + + ENABLED + Write enabled (SDWP#=1) + 0x1 + + + + + DATLL + DAT[3:0] Line Level + 20 + 4 + + + CMDLL + CMD Line Level + 24 + 1 + + + + + HC1R + Host Control 1 + 0x028 + 8 + 0xE00 + + + LEDCTRL + LED Control + 0 + 1 + + LEDCTRLSelect + + OFF + LED off + 0x0 + + + ON + LED on + 0x1 + + + + + DW + Data Width + 1 + 1 + + DWSelect + + 1BIT + 1-bit mode + 0x0 + + + 4BIT + 4-bit mode + 0x1 + + + + + HSEN + High Speed Enable + 2 + 1 + + HSENSelect + + NORMAL + Normal Speed mode + 0x0 + + + HIGH + High Speed mode + 0x1 + + + + + DMASEL + DMA Select + 3 + 2 + + DMASELSelect + + SDMA + SDMA is selected + 0x0 + + + 32BIT + 32-bit Address ADMA2 is selected + 0x2 + + + + + CARDDTL + Card Detect Test Level + 6 + 1 + + CARDDTLSelect + + NO + No Card + 0x0 + + + YES + Card Inserted + 0x1 + + + + + CARDDSEL + Card Detect Signal Selection + 7 + 1 + + CARDDSELSelect + + NORMAL + SDCD# is selected (for normal use) + 0x0 + + + TEST + The Card Select Test Level is selected (for test purpose) + 0x1 + + + + + + + HC1R_EMMC + Host Control 1 + HC1R + 0x028 + 8 + 0xE00 + + + DW + Data Width + 1 + 1 + + DWSelect + + 1BIT + 1-bit mode + 0x0 + + + 4BIT + 4-bit mode + 0x1 + + + + + HSEN + High Speed Enable + 2 + 1 + + HSENSelect + + NORMAL + Normal Speed mode + 0x0 + + + HIGH + High Speed mode + 0x1 + + + + + DMASEL + DMA Select + 3 + 2 + + DMASELSelect + + SDMA + SDMA is selected + 0x0 + + + 32BIT + 32-bit Address ADMA2 is selected + 0x2 + + + + + + + PCR + Power Control + 0x029 + 8 + 0x0E + + + SDBPWR + SD Bus Power + 0 + 1 + + SDBPWRSelect + + OFF + Power off + 0x0 + + + ON + Power on + 0x1 + + + + + SDBVSEL + SD Bus Voltage Select + 1 + 3 + + SDBVSELSelect + + 1V8 + 1.8V (Typ.) + 0x5 + + + 3V0 + 3.0V (Typ.) + 0x6 + + + 3V3 + 3.3V (Typ.) + 0x7 + + + + + + + BGCR + Block Gap Control + 0x02A + 8 + + + STPBGR + Stop at Block Gap Request + 0 + 1 + + STPBGRSelect + + TRANSFER + Transfer + 0x0 + + + STOP + Stop + 0x1 + + + + + CONTR + Continue Request + 1 + 1 + + CONTRSelect + + GO_ON + Not affected + 0x0 + + + RESTART + Restart + 0x1 + + + + + RWCTRL + Read Wait Control + 2 + 1 + + RWCTRLSelect + + DISABLE + Disable Read Wait Control + 0x0 + + + ENABLE + Enable Read Wait Control + 0x1 + + + + + INTBG + Interrupt at Block Gap + 3 + 1 + + INTBGSelect + + DISABLED + Disabled + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + BGCR_EMMC + Block Gap Control + BGCR + 0x02A + 8 + + + STPBGR + Stop at Block Gap Request + 0 + 1 + + STPBGRSelect + + TRANSFER + Transfer + 0x0 + + + STOP + Stop + 0x1 + + + + + CONTR + Continue Request + 1 + 1 + + CONTRSelect + + GO_ON + Not affected + 0x0 + + + RESTART + Restart + 0x1 + + + + + + + WCR + Wakeup Control + 0x02B + 8 + + + WKENCINT + Wakeup Event Enable on Card Interrupt + 0 + 1 + + WKENCINTSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + WKENCINS + Wakeup Event Enable on Card Insertion + 1 + 1 + + WKENCINSSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + WKENCREM + Wakeup Event Enable on Card Removal + 2 + 1 + + WKENCREMSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + + + CCR + Clock Control + 0x02C + 16 + + + INTCLKEN + Internal Clock Enable + 0 + 1 + + INTCLKENSelect + + OFF + Stop + 0x0 + + + ON + Oscillate + 0x1 + + + + + INTCLKS + Internal Clock Stable + 1 + 1 + read-only + + INTCLKSSelect + + NOT_READY + Not Ready + 0x0 + + + READY + Ready + 0x1 + + + + + SDCLKEN + SD Clock Enable + 2 + 1 + + SDCLKENSelect + + DISABLE + Disable + 0x0 + + + ENABLE + Enable + 0x1 + + + + + CLKGSEL + Clock Generator Select + 5 + 1 + + CLKGSELSelect + + DIV + Divided Clock Mode + 0x0 + + + PROG + Programmable Clock Mode + 0x1 + + + + + USDCLKFSEL + Upper Bits of SDCLK Frequency Select + 6 + 2 + + + SDCLKFSEL + SDCLK Frequency Select + 8 + 8 + + + + + TCR + Timeout Control + 0x02E + 8 + + + DTCVAL + Data Timeout Counter Value + 0 + 4 + + + + + SRR + Software Reset + 0x02F + 8 + + + SWRSTALL + Software Reset For All + 0 + 1 + + SWRSTALLSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + SWRSTCMD + Software Reset For CMD Line + 1 + 1 + + SWRSTCMDSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + SWRSTDAT + Software Reset For DAT Line + 2 + 1 + + SWRSTDATSelect + + WORK + Work + 0x0 + + + RESET + Reset + 0x1 + + + + + + + NISTR + Normal Interrupt Status + 0x030 + 16 + + + CMDC + Command Complete + 0 + 1 + + CMDCSelect + + NO + No command complete + 0x0 + + + YES + Command complete + 0x1 + + + + + TRFC + Transfer Complete + 1 + 1 + + TRFCSelect + + NO + Not complete + 0x0 + + + YES + Command execution is completed + 0x1 + + + + + BLKGE + Block Gap Event + 2 + 1 + + BLKGESelect + + NO + No Block Gap Event + 0x0 + + + STOP + Transaction stopped at block gap + 0x1 + + + + + DMAINT + DMA Interrupt + 3 + 1 + + DMAINTSelect + + NO + No DMA Interrupt + 0x0 + + + YES + DMA Interrupt is generated + 0x1 + + + + + BWRRDY + Buffer Write Ready + 4 + 1 + + BWRRDYSelect + + NO + Not ready to write buffer + 0x0 + + + YES + Ready to write buffer + 0x1 + + + + + BRDRDY + Buffer Read Ready + 5 + 1 + + BRDRDYSelect + + NO + Not ready to read buffer + 0x0 + + + YES + Ready to read buffer + 0x1 + + + + + CINS + Card Insertion + 6 + 1 + + CINSSelect + + NO + Card state stable or Debouncing + 0x0 + + + YES + Card inserted + 0x1 + + + + + CREM + Card Removal + 7 + 1 + + CREMSelect + + NO + Card state stable or Debouncing + 0x0 + + + YES + Card Removed + 0x1 + + + + + CINT + Card Interrupt + 8 + 1 + read-only + + CINTSelect + + NO + No Card Interrupt + 0x0 + + + YES + Generate Card Interrupt + 0x1 + + + + + ERRINT + Error Interrupt + 15 + 1 + read-only + + ERRINTSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + NISTR_EMMC + Normal Interrupt Status + NISTR + 0x030 + 16 + + + CMDC + Command Complete + 0 + 1 + + CMDCSelect + + NO + No command complete + 0x0 + + + YES + Command complete + 0x1 + + + + + TRFC + Transfer Complete + 1 + 1 + + TRFCSelect + + NO + Not complete + 0x0 + + + YES + Command execution is completed + 0x1 + + + + + BLKGE + Block Gap Event + 2 + 1 + + BLKGESelect + + NO + No Block Gap Event + 0x0 + + + STOP + Transaction stopped at block gap + 0x1 + + + + + DMAINT + DMA Interrupt + 3 + 1 + + DMAINTSelect + + NO + No DMA Interrupt + 0x0 + + + YES + DMA Interrupt is generated + 0x1 + + + + + BWRRDY + Buffer Write Ready + 4 + 1 + + BWRRDYSelect + + NO + Not ready to write buffer + 0x0 + + + YES + Ready to write buffer + 0x1 + + + + + BRDRDY + Buffer Read Ready + 5 + 1 + + BRDRDYSelect + + NO + Not ready to read buffer + 0x0 + + + YES + Ready to read buffer + 0x1 + + + + + BOOTAR + Boot Acknowledge Received + 14 + 1 + + + ERRINT + Error Interrupt + 15 + 1 + read-only + + ERRINTSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + EISTR + Error Interrupt Status + 0x032 + 16 + + + CMDTEO + Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + CMDCRC + Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + CMDEND + Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + CMDIDX + Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATTEO + Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + DATCRC + Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATEND + Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + CURLIM + Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Error + 0x0 + + + YES + Power Fail + 0x1 + + + + + ACMD + Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + ADMA + ADMA Error + 9 + 1 + + ADMASelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + EISTR_EMMC + Error Interrupt Status + EISTR + 0x032 + 16 + + + CMDTEO + Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + CMDCRC + Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + CMDEND + Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + CMDIDX + Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATTEO + Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Error + 0x0 + + + YES + Timeout + 0x1 + + + + + DATCRC + Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + DATEND + Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + CURLIM + Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Error + 0x0 + + + YES + Power Fail + 0x1 + + + + + ACMD + Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + ADMA + ADMA Error + 9 + 1 + + ADMASelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + BOOTAE + Boot Acknowledge Error + 12 + 1 + + BOOTAESelect + + 0 + FIFO contains at least one byte + 0x0 + + + 1 + FIFO is empty + 0x1 + + + + + + + NISTER + Normal Interrupt Status Enable + 0x034 + 16 + + + CMDC + Command Complete Status Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Status Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Status Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Status Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Status Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Status Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINS + Card Insertion Status Enable + 6 + 1 + + CINSSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CREM + Card Removal Status Enable + 7 + 1 + + CREMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINT + Card Interrupt Status Enable + 8 + 1 + + CINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + NISTER_EMMC + Normal Interrupt Status Enable + NISTER + 0x034 + 16 + + + CMDC + Command Complete Status Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Status Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Status Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Status Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Status Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Status Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAR + Boot Acknowledge Received Status Enable + 14 + 1 + + + + + EISTER + Error Interrupt Status Enable + 0x036 + 16 + + + CMDTEO + Command Timeout Error Status Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Status Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Status Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Status Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Status Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Status Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Status Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Status Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Status Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Status Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + EISTER_EMMC + Error Interrupt Status Enable + EISTER + 0x036 + 16 + + + CMDTEO + Command Timeout Error Status Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Status Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Status Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Status Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Status Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Status Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Status Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Status Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Status Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Status Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAE + Boot Acknowledge Error Status Enable + 12 + 1 + + + + + NISIER + Normal Interrupt Signal Enable + 0x038 + 16 + + + CMDC + Command Complete Signal Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Signal Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Signal Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Signal Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Signal Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Signal Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINS + Card Insertion Signal Enable + 6 + 1 + + CINSSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CREM + Card Removal Signal Enable + 7 + 1 + + CREMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CINT + Card Interrupt Signal Enable + 8 + 1 + + CINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + NISIER_EMMC + Normal Interrupt Signal Enable + NISIER + 0x038 + 16 + + + CMDC + Command Complete Signal Enable + 0 + 1 + + CMDCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + TRFC + Transfer Complete Signal Enable + 1 + 1 + + TRFCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BLKGE + Block Gap Event Signal Enable + 2 + 1 + + BLKGESelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DMAINT + DMA Interrupt Signal Enable + 3 + 1 + + DMAINTSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BWRRDY + Buffer Write Ready Signal Enable + 4 + 1 + + BWRRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BRDRDY + Buffer Read Ready Signal Enable + 5 + 1 + + BRDRDYSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAR + Boot Acknowledge Received Signal Enable + 14 + 1 + + + + + EISIER + Error Interrupt Signal Enable + 0x03A + 16 + + + CMDTEO + Command Timeout Error Signal Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Signal Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Signal Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Signal Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Signal Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Signal Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Signal Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Signal Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Signal Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Signal Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + + + EISIER_EMMC + Error Interrupt Signal Enable + EISIER + 0x03A + 16 + + + CMDTEO + Command Timeout Error Signal Enable + 0 + 1 + + CMDTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDCRC + Command CRC Error Signal Enable + 1 + 1 + + CMDCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDEND + Command End Bit Error Signal Enable + 2 + 1 + + CMDENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CMDIDX + Command Index Error Signal Enable + 3 + 1 + + CMDIDXSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATTEO + Data Timeout Error Signal Enable + 4 + 1 + + DATTEOSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATCRC + Data CRC Error Signal Enable + 5 + 1 + + DATCRCSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + DATEND + Data End Bit Error Signal Enable + 6 + 1 + + DATENDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + CURLIM + Current Limit Error Signal Enable + 7 + 1 + + CURLIMSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ACMD + Auto CMD Error Signal Enable + 8 + 1 + + ACMDSelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + ADMA + ADMA Error Signal Enable + 9 + 1 + + ADMASelect + + MASKED + Masked + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + BOOTAE + Boot Acknowledge Error Signal Enable + 12 + 1 + + + + + ACESR + Auto CMD Error Status + 0x03C + 16 + read-only + + + ACMD12NE + Auto CMD12 Not Executed + 0 + 1 + read-only + + ACMD12NESelect + + EXEC + Executed + 0x0 + + + NOT_EXEC + Not executed + 0x1 + + + + + ACMDTEO + Auto CMD Timeout Error + 1 + 1 + read-only + + ACMDTEOSelect + + NO + No error + 0x0 + + + YES + Timeout + 0x1 + + + + + ACMDCRC + Auto CMD CRC Error + 2 + 1 + read-only + + ACMDCRCSelect + + NO + No error + 0x0 + + + YES + CRC Error Generated + 0x1 + + + + + ACMDEND + Auto CMD End Bit Error + 3 + 1 + read-only + + ACMDENDSelect + + NO + No error + 0x0 + + + YES + End Bit Error Generated + 0x1 + + + + + ACMDIDX + Auto CMD Index Error + 4 + 1 + read-only + + ACMDIDXSelect + + NO + No error + 0x0 + + + YES + Error + 0x1 + + + + + CMDNI + Command not Issued By Auto CMD12 Error + 7 + 1 + read-only + + CMDNISelect + + OK + No error + 0x0 + + + NOT_ISSUED + Not Issued + 0x1 + + + + + + + HC2R + Host Control 2 + 0x03E + 16 + + + UHSMS + UHS Mode Select + 0 + 3 + + UHSMSSelect + + SDR12 + SDR12 + 0x0 + + + SDR25 + SDR25 + 0x1 + + + SDR50 + SDR50 + 0x2 + + + SDR104 + SDR104 + 0x3 + + + DDR50 + DDR50 + 0x4 + + + + + VS18EN + 1.8V Signaling Enable + 3 + 1 + + VS18ENSelect + + S33V + 3.3V Signaling + 0x0 + + + S18V + 1.8V Signaling + 0x1 + + + + + DRVSEL + Driver Strength Select + 4 + 2 + + DRVSELSelect + + B + Driver Type B is Selected (Default) + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + EXTUN + Execute Tuning + 6 + 1 + + EXTUNSelect + + NO + Not Tuned or Tuning Completed + 0x0 + + + REQUESTED + Execute Tuning + 0x1 + + + + + SLCKSEL + Sampling Clock Select + 7 + 1 + + SLCKSELSelect + + FIXED + Fixed clock is used to sample data + 0x0 + + + TUNED + Tuned clock is used to sample data + 0x1 + + + + + ASINTEN + Asynchronous Interrupt Enable + 14 + 1 + + ASINTENSelect + + DISABLED + Disabled + 0x0 + + + ENABLED + Enabled + 0x1 + + + + + PVALEN + Preset Value Enable + 15 + 1 + + PVALENSelect + + HOST + SDCLK and Driver Strength are controlled by Host Controller + 0x0 + + + AUTO + Automatic Selection by Preset Value is Enabled + 0x1 + + + + + + + HC2R_EMMC + Host Control 2 + HC2R + 0x03E + 16 + + + HS200EN + HS200 Mode Enable + 0 + 4 + + HS200ENSelect + + SDR12 + SDR12 + 0x0 + + + SDR25 + SDR25 + 0x1 + + + SDR50 + SDR50 + 0x2 + + + SDR104 + SDR104 + 0x3 + + + DDR50 + DDR50 + 0x4 + + + + + DRVSEL + Driver Strength Select + 4 + 2 + + DRVSELSelect + + B + Driver Type B is Selected (Default) + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + EXTUN + Execute Tuning + 6 + 1 + + EXTUNSelect + + NO + Not Tuned or Tuning Completed + 0x0 + + + REQUESTED + Execute Tuning + 0x1 + + + + + SLCKSEL + Sampling Clock Select + 7 + 1 + + SLCKSELSelect + + FIXED + Fixed clock is used to sample data + 0x0 + + + TUNED + Tuned clock is used to sample data + 0x1 + + + + + PVALEN + Preset Value Enable + 15 + 1 + + PVALENSelect + + HOST + SDCLK and Driver Strength are controlled by Host Controller + 0x0 + + + AUTO + Automatic Selection by Preset Value is Enabled + 0x1 + + + + + + + CA0R + Capabilities 0 + 0x040 + 32 + read-only + 0x27E80080 + + + TEOCLKF + Timeout Clock Frequency + 0 + 6 + + TEOCLKFSelect + + OTHER + Get information via another method + 0x0 + + + + + TEOCLKU + Timeout Clock Unit + 7 + 1 + + TEOCLKUSelect + + KHZ + kHz + 0x0 + + + MHZ + MHz + 0x1 + + + + + BASECLKF + Base Clock Frequency + 8 + 8 + + BASECLKFSelect + + OTHER + Get information via another method + 0x0 + + + + + MAXBLKL + Max Block Length + 16 + 2 + + MAXBLKLSelect + + 512 + 512 bytes + 0x0 + + + 1024 + 1024 bytes + 0x1 + + + 2048 + 2048 bytes + 0x2 + + + + + ED8SUP + 8-bit Support for Embedded Device + 18 + 1 + + ED8SUPSelect + + NO + 8-bit Bus Width not Supported + 0x0 + + + YES + 8-bit Bus Width Supported + 0x1 + + + + + ADMA2SUP + ADMA2 Support + 19 + 1 + + ADMA2SUPSelect + + NO + ADMA2 not Supported + 0x0 + + + YES + ADMA2 Supported + 0x1 + + + + + HSSUP + High Speed Support + 21 + 1 + + HSSUPSelect + + NO + High Speed not Supported + 0x0 + + + YES + High Speed Supported + 0x1 + + + + + SDMASUP + SDMA Support + 22 + 1 + + SDMASUPSelect + + NO + SDMA not Supported + 0x0 + + + YES + SDMA Supported + 0x1 + + + + + SRSUP + Suspend/Resume Support + 23 + 1 + + SRSUPSelect + + NO + Suspend/Resume not Supported + 0x0 + + + YES + Suspend/Resume Supported + 0x1 + + + + + V33VSUP + Voltage Support 3.3V + 24 + 1 + + V33VSUPSelect + + NO + 3.3V Not Supported + 0x0 + + + YES + 3.3V Supported + 0x1 + + + + + V30VSUP + Voltage Support 3.0V + 25 + 1 + + V30VSUPSelect + + NO + 3.0V Not Supported + 0x0 + + + YES + 3.0V Supported + 0x1 + + + + + V18VSUP + Voltage Support 1.8V + 26 + 1 + + V18VSUPSelect + + NO + 1.8V Not Supported + 0x0 + + + YES + 1.8V Supported + 0x1 + + + + + SB64SUP + 64-Bit System Bus Support + 28 + 1 + + SB64SUPSelect + + NO + 32-bit Address Descriptors and System Bus + 0x0 + + + YES + 64-bit Address Descriptors and System Bus + 0x1 + + + + + ASINTSUP + Asynchronous Interrupt Support + 29 + 1 + + ASINTSUPSelect + + NO + Asynchronous Interrupt not Supported + 0x0 + + + YES + Asynchronous Interrupt supported + 0x1 + + + + + SLTYPE + Slot Type + 30 + 2 + + SLTYPESelect + + REMOVABLE + Removable Card Slot + 0x0 + + + EMBEDDED + Embedded Slot for One Device + 0x1 + + + + + + + CA1R + Capabilities 1 + 0x044 + 32 + read-only + 0x00000070 + + + SDR50SUP + SDR50 Support + 0 + 1 + + SDR50SUPSelect + + NO + SDR50 is Not Supported + 0x0 + + + YES + SDR50 is Supported + 0x1 + + + + + SDR104SUP + SDR104 Support + 1 + 1 + + SDR104SUPSelect + + NO + SDR104 is Not Supported + 0x0 + + + YES + SDR104 is Supported + 0x1 + + + + + DDR50SUP + DDR50 Support + 2 + 1 + + DDR50SUPSelect + + NO + DDR50 is Not Supported + 0x0 + + + YES + DDR50 is Supported + 0x1 + + + + + DRVASUP + Driver Type A Support + 4 + 1 + + DRVASUPSelect + + NO + Driver Type A is Not Supported + 0x0 + + + YES + Driver Type A is Supported + 0x1 + + + + + DRVCSUP + Driver Type C Support + 5 + 1 + + DRVCSUPSelect + + NO + Driver Type C is Not Supported + 0x0 + + + YES + Driver Type C is Supported + 0x1 + + + + + DRVDSUP + Driver Type D Support + 6 + 1 + + DRVDSUPSelect + + NO + Driver Type D is Not Supported + 0x0 + + + YES + Driver Type D is Supported + 0x1 + + + + + TCNTRT + Timer Count for Re-Tuning + 8 + 4 + + TCNTRTSelect + + DISABLED + Re-Tuning Timer disabled + 0x0 + + + 1S + 1 second + 0x1 + + + 2S + 2 seconds + 0x2 + + + 4S + 4 seconds + 0x3 + + + 8S + 8 seconds + 0x4 + + + 16S + 16 seconds + 0x5 + + + 32S + 32 seconds + 0x6 + + + 64S + 64 seconds + 0x7 + + + 128S + 128 seconds + 0x8 + + + 256S + 256 seconds + 0x9 + + + 512S + 512 seconds + 0xa + + + 1024S + 1024 seconds + 0xb + + + OTHER + Get information from other source + 0xf + + + + + TSDR50 + Use Tuning for SDR50 + 13 + 1 + + TSDR50Select + + NO + SDR50 does not require tuning + 0x0 + + + YES + SDR50 requires tuning + 0x1 + + + + + CLKMULT + Clock Multiplier + 16 + 8 + + CLKMULTSelect + + NO + Clock Multiplier is Not Supported + 0x0 + + + + + + + MCCAR + Maximum Current Capabilities + 0x048 + 32 + read-only + + + MAXCUR33V + Maximum Current for 3.3V + 0 + 8 + + MAXCUR33VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + MAXCUR30V + Maximum Current for 3.0V + 8 + 8 + + MAXCUR30VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + MAXCUR18V + Maximum Current for 1.8V + 16 + 8 + + MAXCUR18VSelect + + OTHER + Get information via another method + 0x0 + + + 4MA + 4mA + 0x1 + + + 8MA + 8mA + 0x2 + + + 12MA + 12mA + 0x3 + + + + + + + FERACES + Force Event for Auto CMD Error Status + 0x050 + 16 + write-only + + + ACMD12NE + Force Event for Auto CMD12 Not Executed + 0 + 1 + + ACMD12NESelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDTEO + Force Event for Auto CMD Timeout Error + 1 + 1 + + ACMDTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDCRC + Force Event for Auto CMD CRC Error + 2 + 1 + + ACMDCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDEND + Force Event for Auto CMD End Bit Error + 3 + 1 + + ACMDENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMDIDX + Force Event for Auto CMD Index Error + 4 + 1 + + ACMDIDXSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDNI + Force Event for Command Not Issued By Auto CMD12 Error + 7 + 1 + + CMDNISelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + + + FEREIS + Force Event for Error Interrupt Status + 0x052 + 16 + write-only + + + CMDTEO + Force Event for Command Timeout Error + 0 + 1 + + CMDTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDCRC + Force Event for Command CRC Error + 1 + 1 + + CMDCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDEND + Force Event for Command End Bit Error + 2 + 1 + + CMDENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CMDIDX + Force Event for Command Index Error + 3 + 1 + + CMDIDXSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATTEO + Force Event for Data Timeout Error + 4 + 1 + + DATTEOSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATCRC + Force Event for Data CRC Error + 5 + 1 + + DATCRCSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + DATEND + Force Event for Data End Bit Error + 6 + 1 + + DATENDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + CURLIM + Force Event for Current Limit Error + 7 + 1 + + CURLIMSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ACMD + Force Event for Auto CMD Error + 8 + 1 + + ACMDSelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + ADMA + Force Event for ADMA Error + 9 + 1 + + ADMASelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + BOOTAE + Force Event for Boot Acknowledge Error + 12 + 1 + + BOOTAESelect + + NO + No Interrupt + 0x0 + + + YES + Interrupt is generated + 0x1 + + + + + + + AESR + ADMA Error Status + 0x054 + 8 + read-only + + + ERRST + ADMA Error State + 0 + 2 + + ERRSTSelect + + STOP + ST_STOP (Stop DMA) + 0x0 + + + FDS + ST_FDS (Fetch Descriptor) + 0x1 + + + TFR + ST_TFR (Transfer Data) + 0x3 + + + + + LMIS + ADMA Length Mismatch Error + 2 + 1 + + LMISSelect + + NO + No Error + 0x0 + + + YES + Error + 0x1 + + + + + + + 1 + 0x4 + ASAR%s + ADMA System Address n + 0x058 + 32 + + + ADMASA + ADMA System Address + 0 + 32 + + + + + 8 + 0x2 + PVR%s + Preset Value n + 0x060 + 16 + + + SDCLKFSEL + SDCLK Frequency Select Value for Initialization + 0 + 10 + + + CLKGSEL + Clock Generator Select Value for Initialization + 10 + 1 + + CLKGSELSelect + + DIV + Host Controller Ver2.00 Compatible Clock Generator (Divider) + 0x0 + + + PROG + Programmable Clock Generator + 0x1 + + + + + DRVSEL + Driver Strength Select Value for Initialization + 14 + 2 + + DRVSELSelect + + B + Driver Type B is Selected + 0x0 + + + A + Driver Type A is Selected + 0x1 + + + C + Driver Type C is Selected + 0x2 + + + D + Driver Type D is Selected + 0x3 + + + + + + + SISR + Slot Interrupt Status + 0x0FC + 16 + read-only + 0x20000 + + + INTSSL + Interrupt Signal for Each Slot + 0 + 1 + + + + + HCVR + Host Controller Version + 0x0FE + 16 + read-only + 0x1802 + + + SVER + Spec Version + 0 + 8 + + + VVER + Vendor Version + 8 + 8 + + + + + MC1R + MMC Control 1 + 0x204 + 8 + + + CMDTYP + e.MMC Command Type + 0 + 2 + + CMDTYPSelect + + NORMAL + Not a MMC specific command + 0x0 + + + WAITIRQ + Wait IRQ Command + 0x1 + + + STREAM + Stream Command + 0x2 + + + BOOT + Boot Command + 0x3 + + + + + DDR + e.MMC HSDDR Mode + 3 + 1 + + + OPD + e.MMC Open Drain Mode + 4 + 1 + + + BOOTA + e.MMC Boot Acknowledge Enable + 5 + 1 + + + RSTN + e.MMC Reset Signal + 6 + 1 + + + FCD + e.MMC Force Card Detect + 7 + 1 + + + + + MC2R + MMC Control 2 + 0x205 + 8 + write-only + + + SRESP + e.MMC Abort Wait IRQ + 0 + 1 + + + ABOOT + e.MMC Abort Boot + 1 + 1 + + + + + ACR + AHB Control + 0x208 + 32 + + + BMAX + AHB Maximum Burst + 0 + 2 + + BMAXSelect + + INCR16 + 0x0 + + + INCR8 + 0x1 + + + INCR4 + 0x2 + + + SINGLE + 0x3 + + + + + + + CC2R + Clock Control 2 + 0x20C + 32 + + + FSDCLKD + Force SDCK Disabled + 0 + 1 + + FSDCLKDSelect + + NOEFFECT + No effect + 0x0 + + + DISABLE + SDCLK can be stopped at any time after DATA transfer.SDCLK enable forcing for 8 SDCLK cycles is disabled + 0x1 + + + + + + + CACR + Capabilities Control + 0x230 + 32 + + + CAPWREN + Capabilities Registers Write Enable (Required to write the correct frequencies in the Capabilities Registers) + 0 + 1 + + + KEY + Key (0x46) + 8 + 8 + + + + + DBGR + Debug + 0x234 + 8 + + + NIDBG + Non-intrusive debug enable + 0 + 1 + + NIDBGSelect + + IDBG + Debugging is intrusive (reads of BDPR from debugger are considered and increment the internal buffer pointer) + 0x0 + + + NIDBG + Debugging is not intrusive (reads of BDPR from debugger are discarded and do not increment the internal buffer pointer) + 0x1 + + + + + + + + + SDHC1 + SD/MMC Host Controller 1 + 0x46000000 + + SDHC1_INTREQ + 136 + + + + SERCOM0 + 5.0.0 + Serial Communication Interface 0 + SERCOM + SERCOM_ + 0x40003000 + + 0 + 0x40 + registers + + + SERCOM0_INTREQ_0 + 46 + + + SERCOM0_INTREQ_1 + 47 + + + SERCOM0_INTREQ_2 + 48 + + + SERCOM0_INTREQ_3 + 49 + + + + I2CM + I2C Master Mode + SercomI2cm + 0x0 + + CTRLA + I2CM Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run in Standby + 7 + 1 + + + PINOUT + Pin Usage + 16 + 1 + + + SDAHOLD + SDA Hold Time + 20 + 2 + + + MEXTTOEN + Master SCL Low Extend Timeout + 22 + 1 + + + SEXTTOEN + Slave SCL Low Extend Timeout + 23 + 1 + + + SPEED + Transfer Speed + 24 + 2 + + + SCLSM + SCL Clock Stretch Mode + 27 + 1 + + + INACTOUT + Inactive Time-Out + 28 + 2 + + + LOWTOUTEN + SCL Low Timeout Enable + 30 + 1 + + + + + CTRLB + I2CM Control B + 0x04 + 32 + + + SMEN + Smart Mode Enable + 8 + 1 + + + QCEN + Quick Command Enable + 9 + 1 + + + CMD + Command + 16 + 2 + write-only + + + ACKACT + Acknowledge Action + 18 + 1 + + + + + CTRLC + I2CM Control C + 0x08 + 32 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + BAUD + I2CM Baud Rate + 0x0C + 32 + + + BAUD + Baud Rate Value + 0 + 8 + + + BAUDLOW + Baud Rate Value Low + 8 + 8 + + + HSBAUD + High Speed Baud Rate Value + 16 + 8 + + + HSBAUDLOW + High Speed Baud Rate Value Low + 24 + 8 + + + + + INTENCLR + I2CM Interrupt Enable Clear + 0x14 + 8 + + + MB + Master On Bus Interrupt Disable + 0 + 1 + + + SB + Slave On Bus Interrupt Disable + 1 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + I2CM Interrupt Enable Set + 0x16 + 8 + + + MB + Master On Bus Interrupt Enable + 0 + 1 + + + SB + Slave On Bus Interrupt Enable + 1 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + I2CM Interrupt Flag Status and Clear + 0x18 + 8 + + + MB + Master On Bus Interrupt + 0 + 1 + + + SB + Slave On Bus Interrupt + 1 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + I2CM Status + 0x1A + 16 + + + BUSERR + Bus Error + 0 + 1 + + + ARBLOST + Arbitration Lost + 1 + 1 + + + RXNACK + Received Not Acknowledge + 2 + 1 + read-only + + + BUSSTATE + Bus State + 4 + 2 + + + LOWTOUT + SCL Low Timeout + 6 + 1 + + + CLKHOLD + Clock Hold + 7 + 1 + read-only + + + MEXTTOUT + Master SCL Low Extend Timeout + 8 + 1 + + + SEXTTOUT + Slave SCL Low Extend Timeout + 9 + 1 + + + LENERR + Length Error + 10 + 1 + + + + + SYNCBUSY + I2CM Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + SYSOP + System Operation Synchronization Busy + 2 + 1 + read-only + + + LENGTH + Length Synchronization Busy + 4 + 1 + read-only + + + + + ADDR + I2CM Address + 0x24 + 32 + + + ADDR + Address Value + 0 + 11 + + + LENEN + Length Enable + 13 + 1 + + + HS + High Speed Mode + 14 + 1 + + + TENBITEN + Ten Bit Addressing Enable + 15 + 1 + + + LEN + Length + 16 + 8 + + + + + DATA + I2CM Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + I2CM Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + I2CS + I2C Slave Mode + I2CM + SercomI2cs + 0x0 + + CTRLA + I2CS Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + PINOUT + Pin Usage + 16 + 1 + + + SDAHOLD + SDA Hold Time + 20 + 2 + + + SEXTTOEN + Slave SCL Low Extend Timeout + 23 + 1 + + + SPEED + Transfer Speed + 24 + 2 + + + SCLSM + SCL Clock Stretch Mode + 27 + 1 + + + LOWTOUTEN + SCL Low Timeout Enable + 30 + 1 + + + + + CTRLB + I2CS Control B + 0x04 + 32 + + + SMEN + Smart Mode Enable + 8 + 1 + + + GCMD + PMBus Group Command + 9 + 1 + + + AACKEN + Automatic Address Acknowledge + 10 + 1 + + + AMODE + Address Mode + 14 + 2 + + + CMD + Command + 16 + 2 + write-only + + + ACKACT + Acknowledge Action + 18 + 1 + + + + + CTRLC + I2CS Control C + 0x08 + 32 + + + SDASETUP + SDA Setup Time + 0 + 4 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + INTENCLR + I2CS Interrupt Enable Clear + 0x14 + 8 + + + PREC + Stop Received Interrupt Disable + 0 + 1 + + + AMATCH + Address Match Interrupt Disable + 1 + 1 + + + DRDY + Data Interrupt Disable + 2 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + I2CS Interrupt Enable Set + 0x16 + 8 + + + PREC + Stop Received Interrupt Enable + 0 + 1 + + + AMATCH + Address Match Interrupt Enable + 1 + 1 + + + DRDY + Data Interrupt Enable + 2 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + I2CS Interrupt Flag Status and Clear + 0x18 + 8 + + + PREC + Stop Received Interrupt + 0 + 1 + + + AMATCH + Address Match Interrupt + 1 + 1 + + + DRDY + Data Interrupt + 2 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + I2CS Status + 0x1A + 16 + + + BUSERR + Bus Error + 0 + 1 + + + COLL + Transmit Collision + 1 + 1 + + + RXNACK + Received Not Acknowledge + 2 + 1 + read-only + + + DIR + Read/Write Direction + 3 + 1 + read-only + + + SR + Repeated Start + 4 + 1 + read-only + + + LOWTOUT + SCL Low Timeout + 6 + 1 + + + CLKHOLD + Clock Hold + 7 + 1 + read-only + + + SEXTTOUT + Slave SCL Low Extend Timeout + 9 + 1 + + + HS + High Speed + 10 + 1 + + + LENERR + Transaction Length Error + 11 + 1 + + + + + SYNCBUSY + I2CS Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + LENGTH + Length Synchronization Busy + 4 + 1 + read-only + + + + + LENGTH + I2CS Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 1 + + + + + ADDR + I2CS Address + 0x24 + 32 + + + GENCEN + General Call Address Enable + 0 + 1 + + + ADDR + Address Value + 1 + 10 + + + TENBITEN + Ten Bit Addressing Enable + 15 + 1 + + + ADDRMASK + Address Mask + 17 + 10 + + + + + DATA + I2CS Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + + SPI + SPI Mode + I2CM + SercomSpi + 0x0 + + CTRLA + SPI Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + IBON + Immediate Buffer Overflow Notification + 8 + 1 + + + DOPO + Data Out Pinout + 16 + 2 + + + DIPO + Data In Pinout + 20 + 2 + + + FORM + Frame Format + 24 + 4 + + + CPHA + Clock Phase + 28 + 1 + + + CPOL + Clock Polarity + 29 + 1 + + + DORD + Data Order + 30 + 1 + + + + + CTRLB + SPI Control B + 0x04 + 32 + + + CHSIZE + Character Size + 0 + 3 + + + PLOADEN + Data Preload Enable + 6 + 1 + + + SSDE + Slave Select Low Detect Enable + 9 + 1 + + + MSSEN + Master Slave Select Enable + 13 + 1 + + + AMODE + Address Mode + 14 + 2 + + + RXEN + Receiver Enable + 17 + 1 + + + + + CTRLC + SPI Control C + 0x08 + 32 + + + ICSPACE + Inter-Character Spacing + 0 + 6 + + + DATA32B + Data 32 Bit + 24 + 1 + + + + + BAUD + SPI Baud Rate + 0x0C + 8 + + + BAUD + Baud Rate Value + 0 + 8 + + + + + INTENCLR + SPI Interrupt Enable Clear + 0x14 + 8 + + + DRE + Data Register Empty Interrupt Disable + 0 + 1 + + + TXC + Transmit Complete Interrupt Disable + 1 + 1 + + + RXC + Receive Complete Interrupt Disable + 2 + 1 + + + SSL + Slave Select Low Interrupt Disable + 3 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + SPI Interrupt Enable Set + 0x16 + 8 + + + DRE + Data Register Empty Interrupt Enable + 0 + 1 + + + TXC + Transmit Complete Interrupt Enable + 1 + 1 + + + RXC + Receive Complete Interrupt Enable + 2 + 1 + + + SSL + Slave Select Low Interrupt Enable + 3 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + SPI Interrupt Flag Status and Clear + 0x18 + 8 + + + DRE + Data Register Empty Interrupt + 0 + 1 + read-only + + + TXC + Transmit Complete Interrupt + 1 + 1 + + + RXC + Receive Complete Interrupt + 2 + 1 + read-only + + + SSL + Slave Select Low Interrupt Flag + 3 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + SPI Status + 0x1A + 16 + + + BUFOVF + Buffer Overflow + 2 + 1 + + + LENERR + Transaction Length Error + 11 + 1 + + + + + SYNCBUSY + SPI Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + CTRLB + CTRLB Synchronization Busy + 2 + 1 + read-only + + + LENGTH + LENGTH Synchronization Busy + 4 + 1 + read-only + + + + + LENGTH + SPI Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 1 + + + + + ADDR + SPI Address + 0x24 + 32 + + + ADDR + Address Value + 0 + 8 + + + ADDRMASK + Address Mask + 16 + 8 + + + + + DATA + SPI Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + SPI Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + USART + USART Mode + I2CM + SercomUsart + 0x0 + + CTRLA + USART Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + MODE + Operating Mode + 2 + 3 + + + RUNSTDBY + Run during Standby + 7 + 1 + + + IBON + Immediate Buffer Overflow Notification + 8 + 1 + + + TXINV + Transmit Data Invert + 9 + 1 + + + RXINV + Receive Data Invert + 10 + 1 + + + SAMPR + Sample + 13 + 3 + + + TXPO + Transmit Data Pinout + 16 + 2 + + + RXPO + Receive Data Pinout + 20 + 2 + + + SAMPA + Sample Adjustment + 22 + 2 + + + FORM + Frame Format + 24 + 4 + + + CMODE + Communication Mode + 28 + 1 + + + CPOL + Clock Polarity + 29 + 1 + + + DORD + Data Order + 30 + 1 + + + + + CTRLB + USART Control B + 0x04 + 32 + + + CHSIZE + Character Size + 0 + 3 + + + SBMODE + Stop Bit Mode + 6 + 1 + + + COLDEN + Collision Detection Enable + 8 + 1 + + + SFDE + Start of Frame Detection Enable + 9 + 1 + + + ENC + Encoding Format + 10 + 1 + + + PMODE + Parity Mode + 13 + 1 + + + TXEN + Transmitter Enable + 16 + 1 + + + RXEN + Receiver Enable + 17 + 1 + + + LINCMD + LIN Command + 24 + 2 + write-only + + + + + CTRLC + USART Control C + 0x08 + 32 + + + GTIME + Guard Time + 0 + 3 + + + BRKLEN + LIN Master Break Length + 8 + 2 + + + HDRDLY + LIN Master Header Delay + 10 + 2 + + + INACK + Inhibit Not Acknowledge + 16 + 1 + + + DSNACK + Disable Successive NACK + 17 + 1 + + + MAXITER + Maximum Iterations + 20 + 3 + + + DATA32B + Data 32 Bit + 24 + 2 + + + + + BAUD + USART Baud Rate + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 16 + + + + + BAUD_FRAC_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 13 + + + FP + Fractional Part + 13 + 3 + + + + + BAUD_FRACFP_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 13 + + + FP + Fractional Part + 13 + 3 + + + + + BAUD_USARTFP_MODE + USART Baud Rate + BAUD + 0x0C + 16 + + + BAUD + Baud Rate Value + 0 + 16 + + + + + RXPL + USART Receive Pulse Length + 0x0E + 8 + + + RXPL + Receive Pulse Length + 0 + 8 + + + + + INTENCLR + USART Interrupt Enable Clear + 0x14 + 8 + + + DRE + Data Register Empty Interrupt Disable + 0 + 1 + + + TXC + Transmit Complete Interrupt Disable + 1 + 1 + + + RXC + Receive Complete Interrupt Disable + 2 + 1 + + + RXS + Receive Start Interrupt Disable + 3 + 1 + + + CTSIC + Clear To Send Input Change Interrupt Disable + 4 + 1 + + + RXBRK + Break Received Interrupt Disable + 5 + 1 + + + ERROR + Combined Error Interrupt Disable + 7 + 1 + + + + + INTENSET + USART Interrupt Enable Set + 0x16 + 8 + + + DRE + Data Register Empty Interrupt Enable + 0 + 1 + + + TXC + Transmit Complete Interrupt Enable + 1 + 1 + + + RXC + Receive Complete Interrupt Enable + 2 + 1 + + + RXS + Receive Start Interrupt Enable + 3 + 1 + + + CTSIC + Clear To Send Input Change Interrupt Enable + 4 + 1 + + + RXBRK + Break Received Interrupt Enable + 5 + 1 + + + ERROR + Combined Error Interrupt Enable + 7 + 1 + + + + + INTFLAG + USART Interrupt Flag Status and Clear + 0x18 + 8 + + + DRE + Data Register Empty Interrupt + 0 + 1 + read-only + + + TXC + Transmit Complete Interrupt + 1 + 1 + + + RXC + Receive Complete Interrupt + 2 + 1 + read-only + + + RXS + Receive Start Interrupt + 3 + 1 + write-only + + + CTSIC + Clear To Send Input Change Interrupt + 4 + 1 + + + RXBRK + Break Received Interrupt + 5 + 1 + + + ERROR + Combined Error Interrupt + 7 + 1 + + + + + STATUS + USART Status + 0x1A + 16 + + + PERR + Parity Error + 0 + 1 + + + FERR + Frame Error + 1 + 1 + + + BUFOVF + Buffer Overflow + 2 + 1 + + + CTS + Clear To Send + 3 + 1 + read-only + + + ISF + Inconsistent Sync Field + 4 + 1 + + + COLL + Collision Detected + 5 + 1 + + + TXE + Transmitter Empty + 6 + 1 + read-only + + + ITER + Maximum Number of Repetitions Reached + 7 + 1 + + + + + SYNCBUSY + USART Synchronization Busy + 0x1C + 32 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + SERCOM Enable Synchronization Busy + 1 + 1 + read-only + + + CTRLB + CTRLB Synchronization Busy + 2 + 1 + read-only + + + RXERRCNT + RXERRCNT Synchronization Busy + 3 + 1 + read-only + + + LENGTH + LENGTH Synchronization Busy + 4 + 1 + read-only + + + + + RXERRCNT + USART Receive Error Count + 0x20 + 8 + read-only + + + LENGTH + USART Length + 0x22 + 16 + + + LEN + Data Length + 0 + 8 + + + LENEN + Data Length Enable + 8 + 2 + + + + + DATA + USART Data + 0x28 + 32 + + + DATA + Data Value + 0 + 32 + + + + + DBGCTRL + USART Debug Control + 0x30 + 8 + + + DBGSTOP + Debug Mode + 0 + 1 + + + + + + + + SERCOM1 + Serial Communication Interface 1 + 0x40003400 + + SERCOM1_INTREQ_0 + 50 + + + SERCOM1_INTREQ_1 + 51 + + + SERCOM1_INTREQ_2 + 52 + + + SERCOM1_INTREQ_3 + 53 + + + + SERCOM2 + Serial Communication Interface 2 + 0x41012000 + + SERCOM2_INTREQ_0 + 54 + + + SERCOM2_INTREQ_1 + 55 + + + SERCOM2_INTREQ_2 + 56 + + + SERCOM2_INTREQ_3 + 57 + + + + SERCOM3 + Serial Communication Interface 3 + 0x41014000 + + SERCOM3_INTREQ_0 + 58 + + + SERCOM3_INTREQ_1 + 59 + + + SERCOM3_INTREQ_2 + 60 + + + SERCOM3_INTREQ_3 + 61 + + + + SERCOM4 + Serial Communication Interface 4 + 0x43000000 + + SERCOM4_INTREQ_0 + 62 + + + SERCOM4_INTREQ_1 + 63 + + + SERCOM4_INTREQ_2 + 64 + + + SERCOM4_INTREQ_3 + 65 + + + + SERCOM5 + Serial Communication Interface 5 + 0x43000400 + + SERCOM5_INTREQ_0 + 66 + + + SERCOM5_INTREQ_1 + 67 + + + SERCOM5_INTREQ_2 + 68 + + + SERCOM5_INTREQ_3 + 69 + + + + SERCOM6 + Serial Communication Interface 6 + 0x43000800 + + SERCOM6_INTREQ_0 + 70 + + + SERCOM6_INTREQ_1 + 71 + + + SERCOM6_INTREQ_2 + 72 + + + SERCOM6_INTREQ_3 + 73 + + + + SERCOM7 + Serial Communication Interface 7 + 0x43000C00 + + SERCOM7_INTREQ_0 + 74 + + + SERCOM7_INTREQ_1 + 75 + + + SERCOM7_INTREQ_2 + 76 + + + SERCOM7_INTREQ_3 + 77 + + + + SUPC + 1.0.0 + Supply Controller + SUPC + SUPC_ + 0x40001800 + + 0 + 0x80 + registers + + + SUPC_INTREQ_0 + 8 + + + SUPC_INTREQ_1 + 9 + + + + INTENCLR + Interrupt Enable Clear + 0x00 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x04 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x08 + 32 + + + BOD33RDY + BOD33 Ready + 0 + 1 + + + BOD33DET + BOD33 Detection + 1 + 1 + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + + + BOD12RDY + BOD12 Ready + 3 + 1 + + + BOD12DET + BOD12 Detection + 4 + 1 + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + + + VCORERDY + VDDCORE Ready + 10 + 1 + + + + + STATUS + Power and Clocks Status + 0x0C + 32 + read-only + + + BOD33RDY + BOD33 Ready + 0 + 1 + read-only + + + BOD33DET + BOD33 Detection + 1 + 1 + read-only + + + B33SRDY + BOD33 Synchronization Ready + 2 + 1 + read-only + + + BOD12RDY + BOD12 Ready + 3 + 1 + read-only + + + BOD12DET + BOD12 Detection + 4 + 1 + read-only + + + B12SRDY + BOD12 Synchronization Ready + 5 + 1 + read-only + + + VREGRDY + Voltage Regulator Ready + 8 + 1 + read-only + + + VCORERDY + VDDCORE Ready + 10 + 1 + read-only + + + + + BOD33 + BOD33 Control + 0x10 + 32 + + + ENABLE + Enable + 1 + 1 + + + ACTION + Action when Threshold Crossed + 2 + 2 + + ACTIONSelect + + NONE + No action + 0x0 + + + RESET + The BOD33 generates a reset + 0x1 + + + INT + The BOD33 generates an interrupt + 0x2 + + + BKUP + The BOD33 puts the device in backup sleep mode + 0x3 + + + + + STDBYCFG + Configuration in Standby mode + 4 + 1 + + + RUNSTDBY + Run in Standby mode + 5 + 1 + + + RUNHIB + Run in Hibernate mode + 6 + 1 + + + RUNBKUP + Run in Backup mode + 7 + 1 + + + HYST + Hysteresis value + 8 + 4 + + + PSEL + Prescaler Select + 12 + 3 + + PSELSelect + + NODIV + Not divided + 0x0 + + + DIV4 + Divide clock by 4 + 0x1 + + + DIV8 + Divide clock by 8 + 0x2 + + + DIV16 + Divide clock by 16 + 0x3 + + + DIV32 + Divide clock by 32 + 0x4 + + + DIV64 + Divide clock by 64 + 0x5 + + + DIV128 + Divide clock by 128 + 0x6 + + + DIV256 + Divide clock by 256 + 0x7 + + + + + LEVEL + Threshold Level for VDD + 16 + 8 + + + VBATLEVEL + Threshold Level in battery backup sleep mode for VBAT + 24 + 8 + + + + + BOD12 + BOD12 Control + 0x14 + 32 + + + ENABLE + Enable + 1 + 1 + + + HYST + Hysteresis Enable + 2 + 1 + + + ACTION + Action when Threshold Crossed + 3 + 2 + + ACTIONSelect + + NONE + No action + 0x0 + + + RESET + The BOD12 generates a reset + 0x1 + + + INT + The BOD12 generates an interrupt + 0x2 + + + + + STDBYCFG + Configuration in Standby mode + 5 + 1 + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ACTCFG + Configuration in Active mode + 8 + 1 + + + PSEL + Prescaler Select + 12 + 4 + + PSELSelect + + DIV2 + Divide clock by 2 + 0x0 + + + DIV4 + Divide clock by 4 + 0x1 + + + DIV8 + Divide clock by 8 + 0x2 + + + DIV16 + Divide clock by 16 + 0x3 + + + DIV32 + Divide clock by 32 + 0x4 + + + DIV64 + Divide clock by 64 + 0x5 + + + DIV128 + Divide clock by 128 + 0x6 + + + DIV256 + Divide clock by 256 + 0x7 + + + DIV512 + Divide clock by 512 + 0x8 + + + DIV1024 + Divide clock by 1024 + 0x9 + + + DIV2048 + Divide clock by 2048 + 0xa + + + DIV4096 + Divide clock by 4096 + 0xb + + + DIV8192 + Divide clock by 8192 + 0xc + + + DIV16384 + Divide clock by 16384 + 0xd + + + DIV32768 + Divide clock by 32768 + 0xe + + + DIV65536 + Divide clock by 65536 + 0xf + + + + + LEVEL + Threshold Level + 16 + 6 + + + + + VREG + VREG Control + 0x18 + 32 + 0x00000002 + + + ENABLE + Enable + 1 + 1 + + + SEL + Voltage Regulator Selection + 2 + 1 + + SELSelect + + LDO + LDO selection + 0x0 + + + BUCK + Buck selection + 0x1 + + + + + RUNBKUP + Run in Backup mode + 7 + 1 + + + VSEN + Voltage Scaling Enable + 16 + 1 + + + VSPER + Voltage Scaling Period + 24 + 3 + + + + + VREF + VREF Control + 0x1C + 32 + + + TSEN + Temperature Sensor Output Enable + 1 + 1 + + + VREFOE + Voltage Reference Output Enable + 2 + 1 + + + TSSEL + Temperature Sensor Selection + 3 + 1 + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + On Demand Contrl + 7 + 1 + + + SEL + Voltage Reference Selection + 16 + 4 + + SELSelect + + 1V0 + 1.0V voltage reference typical value + 0x0 + + + 1V1 + 1.1V voltage reference typical value + 0x1 + + + 1V2 + 1.2V voltage reference typical value + 0x2 + + + 1V25 + 1.25V voltage reference typical value + 0x3 + + + 2V0 + 2.0V voltage reference typical value + 0x4 + + + 2V2 + 2.2V voltage reference typical value + 0x5 + + + 2V4 + 2.4V voltage reference typical value + 0x6 + + + 2V5 + 2.5V voltage reference typical value + 0x7 + + + + + + + BBPS + Battery Backup Power Switch + 0x20 + 32 + + + CONF + Battery Backup Configuration + 0 + 1 + + CONFSelect + + BOD33 + The power switch is handled by the BOD33 + 0x0 + + + FORCED + In Backup Domain, the backup domain is always supplied by battery backup power + 0x1 + + + + + WAKEEN + Wake Enable + 2 + 1 + + + + + BKOUT + Backup Output Control + 0x24 + 32 + + + EN + Enable Output + 0 + 2 + + + CLR + Clear Output + 8 + 2 + write-only + + + SET + Set Output + 16 + 2 + write-only + + + RTCTGL + RTC Toggle Output + 24 + 2 + + + + + BKIN + Backup Input Control + 0x28 + 32 + read-only + + + BKIN + Backup Input Value + 0 + 8 + read-only + + + + + + + TAL + 2.0.0 + Trigger Allocator + TAL + TAL_ + 0x4101E000 + + 0 + 0x400 + registers + + + TAL_INTREQ_0 + 42 + + + TAL_INTREQ_1 + 43 + + + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + + + EXTCTRL + External Break Control + 0x001 + 8 + + + ENABLE + Enable BRK Pin + 0 + 1 + + + INV + Invert BRK Pin + 1 + 1 + + + + + EVCTRL + Event Control + 0x004 + 16 + + + BRKEI + Break Input Event Enable + 0 + 1 + + + BRKEO + Break Output Event Enable + 1 + 1 + + + IRQMONEO0 + Interrupt Request Monitor 0 Output Event Enable + 2 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x008 + 8 + + + BRK + Break Interrupt Enable + 0 + 1 + + + IPS0 + Inter-Processor Signal Interrupt Enable for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal Interrupt Enable for CPU 1 + 2 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x009 + 8 + + + BRK + Break Interrupt Enable + 0 + 1 + + + IPS0 + Inter-Processor Signal Interrupt Enable for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal Interrupt Enable for CPU 1 + 2 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x00A + 8 + + + BRK + Break + 0 + 1 + + + IPS0 + Inter-Processor Signal for CPU 0 + 1 + 1 + + + IPS1 + Inter-Processor Signal for CPU 1 + 2 + 1 + + + + + GLOBMASK + Global Break Requests Mask + 0x00B + 8 + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + HALT + Debug Halt Request + 0x00C + 8 + write-only + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + RESTART + Debug Restart Request + 0x00D + 8 + write-only + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + BRKSTATUS + Break Request Status + 0x00E + 16 + read-only + + + CPU0 + CPU 0 Break Request + 0 + 2 + + + CPU1 + CPU 1 Break Request + 2 + 2 + + + EVBRK + Event Break Request + 12 + 2 + + + EXTBRK + External Break Request + 14 + 2 + + + + + 4 + 0x2 + CTICTRLA%s + Cross-Trigger Interface n Control A + 0x010 + 8 + + + BRK + Action when global break issued + 0 + 2 + + BRKSelect + + BREAK + Break when requested + 0x0 + + + INTERRUPT + Trigger DBG interrupt instead of break + 0x1 + + + IGNORE + Ignore break request + 0x2 + + + + + RESTART + Action when global restart issued + 2 + 1 + + RESTARTSelect + + RESTART + Restart when requested + 0x0 + + + IGNORE + Ignore restart request + 0x1 + + + + + IPS + Action when inter-process resource freed + 3 + 1 + + IPSSelect + + EVENT + Generate CPU Event when awaited resource is freed. + 0x0 + + + INTERRUPT + Generate Interrupt when awaited resource is freed. + 0x1 + + + + + + + 4 + 0x2 + CTIMASK%s + Cross-Trigger Interface n Mask + 0x011 + 8 + + + CPU0 + CPU 0 Break Master + 0 + 1 + + + CPU1 + CPU 1 Break Master + 1 + 1 + + + EVBRK + Event Break Master + 6 + 1 + + + EXTBRK + External Break Master + 7 + 1 + + + + + 137 + 0x1 + INTSTATUS%s + Interrupt n Status + 0x020 + 8 + read-only + + + IRQ0 + Interrupt Status for Interrupt Request 0 within Interrupt n + 0 + 1 + + + IRQ1 + Interrupt Status for Interrupt Request 1 within Interrupt n + 1 + 1 + + + IRQ2 + Interrupt Status for Interrupt Request 2 within Interrupt n + 2 + 1 + + + IRQ3 + Interrupt Status for Interrupt Request 3 within Interrupt n + 3 + 1 + + + IRQ4 + Interrupt Status for Interrupt Request 4 within Interrupt n + 4 + 1 + + + IRQ5 + Interrupt Status for Interrupt Request 5 within Interrupt n + 5 + 1 + + + IRQ6 + Interrupt Status for Interrupt Request 6 within Interrupt n + 6 + 1 + + + IRQ7 + Interrupt Status for Interrupt Request 7 within Interrupt n + 7 + 1 + + + + + DMACPUSEL0 + DMA Channel Interrupts CPU Select 0 + 0x110 + 32 + + + CH0 + DMA Channel 0 Interrupt CPU Select + 0 + 1 + + + CH1 + DMA Channel 1 Interrupt CPU Select + 2 + 1 + + + CH2 + DMA Channel 2 Interrupt CPU Select + 4 + 1 + + + CH3 + DMA Channel 3 Interrupt CPU Select + 6 + 1 + + + CH4 + DMA Channel 4 Interrupt CPU Select + 8 + 1 + + + CH5 + DMA Channel 5 Interrupt CPU Select + 10 + 1 + + + CH6 + DMA Channel 6 Interrupt CPU Select + 12 + 1 + + + CH7 + DMA Channel 7 Interrupt CPU Select + 14 + 1 + + + CH8 + DMA Channel 8 Interrupt CPU Select + 16 + 1 + + + CH9 + DMA Channel 9 Interrupt CPU Select + 18 + 1 + + + CH10 + DMA Channel 10 Interrupt CPU Select + 20 + 1 + + + CH11 + DMA Channel 11 Interrupt CPU Select + 22 + 1 + + + CH12 + DMA Channel 12 Interrupt CPU Select + 24 + 1 + + + CH13 + DMA Channel 13 Interrupt CPU Select + 26 + 1 + + + CH14 + DMA Channel 14 Interrupt CPU Select + 28 + 1 + + + CH15 + DMA Channel 15 Interrupt CPU Select + 30 + 1 + + + + + DMACPUSEL1 + DMA Channel Interrupts CPU Select 1 + 0x114 + 32 + + + CH16 + DMA Channel 16 Interrupt CPU Select + 0 + 1 + + + CH17 + DMA Channel 17 Interrupt CPU Select + 2 + 1 + + + CH18 + DMA Channel 18 Interrupt CPU Select + 4 + 1 + + + CH19 + DMA Channel 19 Interrupt CPU Select + 6 + 1 + + + CH20 + DMA Channel 20 Interrupt CPU Select + 8 + 1 + + + CH21 + DMA Channel 21 Interrupt CPU Select + 10 + 1 + + + CH22 + DMA Channel 22 Interrupt CPU Select + 12 + 1 + + + CH23 + DMA Channel 23 Interrupt CPU Select + 14 + 1 + + + CH24 + DMA Channel 24 Interrupt CPU Select + 16 + 1 + + + CH25 + DMA Channel 25 Interrupt CPU Select + 18 + 1 + + + CH26 + DMA Channel 26 Interrupt CPU Select + 20 + 1 + + + CH27 + DMA Channel 27 Interrupt CPU Select + 22 + 1 + + + CH28 + DMA Channel 28 Interrupt CPU Select + 24 + 1 + + + CH29 + DMA Channel 29 Interrupt CPU Select + 26 + 1 + + + CH30 + DMA Channel 30 Interrupt CPU Select + 28 + 1 + + + CH31 + DMA Channel 31 Interrupt CPU Select + 30 + 1 + + + + + EVCPUSEL0 + EVSYS Channel Interrupts CPU Select 0 + 0x118 + 32 + + + CH0 + Event Channel 0 Interrupt CPU Select + 0 + 1 + + + CH1 + Event Channel 1 Interrupt CPU Select + 2 + 1 + + + CH2 + Event Channel 2 Interrupt CPU Select + 4 + 1 + + + CH3 + Event Channel 3 Interrupt CPU Select + 6 + 1 + + + CH4 + Event Channel 4 Interrupt CPU Select + 8 + 1 + + + CH5 + Event Channel 5 Interrupt CPU Select + 10 + 1 + + + CH6 + Event Channel 6 Interrupt CPU Select + 12 + 1 + + + CH7 + Event Channel 7 Interrupt CPU Select + 14 + 1 + + + CH8 + Event Channel 8 Interrupt CPU Select + 16 + 1 + + + CH9 + Event Channel 9 Interrupt CPU Select + 18 + 1 + + + CH10 + Event Channel 10 Interrupt CPU Select + 20 + 1 + + + CH11 + Event Channel 11 Interrupt CPU Select + 22 + 1 + + + + + EICCPUSEL0 + EIC External Interrupts CPU Select 0 + 0x120 + 32 + + + EXTINT0 + External Interrupt 0 CPU Select + 0 + 1 + + + EXTINT1 + External Interrupt 1 CPU Select + 2 + 1 + + + EXTINT2 + External Interrupt 2 CPU Select + 4 + 1 + + + EXTINT3 + External Interrupt 3 CPU Select + 6 + 1 + + + EXTINT4 + External Interrupt 4 CPU Select + 8 + 1 + + + EXTINT5 + External Interrupt 5 CPU Select + 10 + 1 + + + EXTINT6 + External Interrupt 6 CPU Select + 12 + 1 + + + EXTINT7 + External Interrupt 7 CPU Select + 14 + 1 + + + EXTINT8 + External Interrupt 8 CPU Select + 16 + 1 + + + EXTINT9 + External Interrupt 9 CPU Select + 18 + 1 + + + EXTINT10 + External Interrupt 10 CPU Select + 20 + 1 + + + EXTINT11 + External Interrupt 11 CPU Select + 22 + 1 + + + EXTINT12 + External Interrupt 12 CPU Select + 24 + 1 + + + EXTINT13 + External Interrupt 13 CPU Select + 26 + 1 + + + EXTINT14 + External Interrupt 14 CPU Select + 28 + 1 + + + EXTINT15 + External Interrupt 15 CPU Select + 30 + 1 + + + + + INTCPUSEL0 + Interrupts CPU Select 0 + 0x128 + 32 + + + PAC + PAC Interrupt CPU Select + 0 + 1 + + + PM + PM Interrupt CPU Select + 2 + 1 + + + MCLK + MCLK Interrupt CPU Select + 4 + 1 + + + OSCCTRL + OSCCTRL Interrupt CPU Select + 8 + 1 + + + OSC32KCTRL + OSC32KCTRL Interrupt CPU Select + 10 + 1 + + + SUPC + SUPC Interrupt CPU Select + 12 + 1 + + + WDT + WDT Interrupt CPU Select + 16 + 1 + + + RTC + RTC Interrupt CPU Select + 18 + 1 + + + EIC + EIC Interrupt CPU Select + 20 + 1 + + + FREQM + FREQM Interrupt CPU Select + 22 + 1 + + + SERCOM0 + SERCOM0 Interrupt CPU Select + 24 + 1 + + + SERCOM1 + SERCOM1 Interrupt CPU Select + 26 + 1 + + + TC0 + TC0 Interrupt CPU Select + 28 + 1 + + + TC1 + TC1 Interrupt CPU Select + 30 + 1 + + + + + INTCPUSEL1 + Interrupts CPU Select 1 + 0x12C + 32 + + + INTCPUSEL2 + Interrupts CPU Select 2 + 0x130 + 32 + + + USB + USB Interrupt CPU Select + 0 + 1 + + + NVMCTRL + NVMCTRL Interrupt CPU Select + 4 + 1 + + + DMAC + DMAC Interrupt CPU Select + 10 + 1 + + + EVSYS + EVSYS Interrupt CPU Select + 14 + 1 + + + PICOP + PICOP Interrupt CPU Select + 16 + 1 + + + SERCOM2 + SERCOM2 Interrupt CPU Select + 18 + 1 + + + SERCOM3 + SERCOM3 Interrupt CPU Select + 20 + 1 + + + TCC0 + TCC0 Interrupt CPU Select + 22 + 1 + + + TCC1 + TCC1 Interrupt CPU Select + 24 + 1 + + + TC2 + TC2 Interrupt CPU Select + 26 + 1 + + + TC3 + TC3 Interrupt CPU Select + 28 + 1 + + + TAL + TAL Interrupt CPU Select + 30 + 1 + + + + + INTCPUSEL3 + Interrupts CPU Select 3 + 0x134 + 32 + + + RAMECC + RAMECC Interrupt CPU Select + 0 + 1 + + + + + INTCPUSEL4 + Interrupts CPU Select 4 + 0x138 + 32 + + + CAN0 + CAN0 Interrupt CPU Select + 0 + 1 + + + CAN1 + CAN1 Interrupt CPU Select + 2 + 1 + + + GMAC + GMAC Interrupt CPU Select + 4 + 1 + + + TCC2 + TCC2 Interrupt CPU Select + 6 + 1 + + + TCC3 + TCC3 Interrupt CPU Select + 8 + 1 + + + TC4 + TC4 Interrupt CPU Select + 10 + 1 + + + TC5 + TC5 Interrupt CPU Select + 12 + 1 + + + PDEC + PDEC Interrupt CPU Select + 14 + 1 + + + AC + AC Interrupt CPU Select + 16 + 1 + + + AES + AES Interrupt CPU Select + 18 + 1 + + + TRNG + TRNG Interrupt CPU Select + 20 + 1 + + + ICM + ICM Interrupt CPU Select + 22 + 1 + + + PUKCC + PUKCC Interrupt CPU Select + 24 + 1 + + + QSPI + QSPI Interrupt CPU Select + 26 + 1 + + + + + INTCPUSEL5 + Interrupts CPU Select 5 + 0x13C + 32 + + + INTCPUSEL6 + Interrupts CPU Select 6 + 0x140 + 32 + + + SERCOM4 + SERCOM4 Interrupt CPU Select + 0 + 1 + + + SERCOM5 + SERCOM5 Interrupt CPU Select + 2 + 1 + + + SERCOM6 + SERCOM6 Interrupt CPU Select + 4 + 1 + + + SERCOM7 + SERCOM7 Interrupt CPU Select + 6 + 1 + + + TCC4 + TCC4 Interrupt CPU Select + 8 + 1 + + + TC6 + TC6 Interrupt CPU Select + 10 + 1 + + + TC7 + TC7 Interrupt CPU Select + 12 + 1 + + + ADC0 + ADC0 Interrupt CPU Select + 14 + 1 + + + ADC1 + ADC1 Interrupt CPU Select + 16 + 1 + + + DAC + DAC Interrupt CPU Select + 18 + 1 + + + I2S + I2S Interrupt CPU Select + 20 + 1 + + + PCC + PCC Interrupt CPU Select + 22 + 1 + + + + + INTCPUSEL7 + Interrupts CPU Select 7 + 0x144 + 32 + + + INTCPUSEL8 + Interrupts CPU Select 8 + 0x148 + 32 + + + SDHC0 + SDHC0 Interrupt CPU Select + 0 + 1 + + + SDHC1 + SDHC1 Interrupt CPU Select + 2 + 1 + + + + + IRQTRIG + Interrupt Trigger + 0x164 + 32 + + + ENABLE + Trigger Enable + 0 + 1 + + + IRQNUM + Interrupt Request Number + 8 + 8 + + + OVERRIDE + Interrupt Request Override Value + 16 + 8 + + + + + 1 + 0x2 + IRQMON%s + Interrupt Monitor Select + 0x168 + 16 + + + EXTEND + Extended Interrupt Request + 0 + 1 + + EXTENDSelect + + NO + Event is Interrupt Request signal + 0x0 + + + YES + Event is Interrupt Request signal extended until end of Interrupt Handler + 0x1 + + + + + DROP + Drop Shortened Events + 1 + 1 + + + CPUID + ID of CPU currently servicing this IRQ + 2 + 1 + + + IRQNUM + Interrupt Request Number + 8 + 8 + + + + + 5 + 0x4 + CPUIRQS0_%s + Interrupt Status m for CPU n - Group 0 + 0x180 + 32 + read-only + + + CPUIRQS + Interrupt Requests for CPU n + 0 + 32 + + + + + 5 + 0x4 + CPUIRQS1_%s + Interrupt Status m for CPU n - Group 1 + 0x1a0 + + + 2 + 0x4 + SMASK0_%s + Inter-Process Signal Mask m for CPU n - Group 0 + 0x200 + 32 + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SMASK1_%s + Inter-Process Signal Mask m for CPU n - Group 1 + 0x208 + + + 2 + 0x4 + SFLAGCLR%s + Inter-Process Signal Flag Clear + 0x220 + 32 + write-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SFLAGSET%s + Inter-Process Signal Flag Set + 0x228 + 32 + write-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 2 + 0x4 + SFLAG%s + Inter-Process Signal Flag + 0x230 + 32 + read-only + + + IPS0 + Inter-Process Signal 0 + 0 + 1 + + + IPS1 + Inter-Process Signal 1 + 1 + 1 + + + IPS2 + Inter-Process Signal 2 + 2 + 1 + + + IPS3 + Inter-Process Signal 3 + 3 + 1 + + + IPS4 + Inter-Process Signal 4 + 4 + 1 + + + IPS5 + Inter-Process Signal 5 + 5 + 1 + + + IPS6 + Inter-Process Signal 6 + 6 + 1 + + + IPS7 + Inter-Process Signal 7 + 7 + 1 + + + IPS8 + Inter-Process Signal 8 + 8 + 1 + + + IPS9 + Inter-Process Signal 9 + 9 + 1 + + + IPS10 + Inter-Process Signal 10 + 10 + 1 + + + IPS11 + Inter-Process Signal 11 + 11 + 1 + + + IPS12 + Inter-Process Signal 12 + 12 + 1 + + + IPS13 + Inter-Process Signal 13 + 13 + 1 + + + IPS14 + Inter-Process Signal 14 + 14 + 1 + + + IPS15 + Inter-Process Signal 15 + 15 + 1 + + + IPS16 + Inter-Process Signal 16 + 16 + 1 + + + IPS17 + Inter-Process Signal 17 + 17 + 1 + + + IPS18 + Inter-Process Signal 18 + 18 + 1 + + + IPS19 + Inter-Process Signal 19 + 19 + 1 + + + IPS20 + Inter-Process Signal 20 + 20 + 1 + + + IPS21 + Inter-Process Signal 21 + 21 + 1 + + + IPS22 + Inter-Process Signal 22 + 22 + 1 + + + IPS23 + Inter-Process Signal 23 + 23 + 1 + + + IPS24 + Inter-Process Signal 24 + 24 + 1 + + + IPS25 + Inter-Process Signal 25 + 25 + 1 + + + IPS26 + Inter-Process Signal 26 + 26 + 1 + + + IPS27 + Inter-Process Signal 27 + 27 + 1 + + + IPS28 + Inter-Process Signal 28 + 28 + 1 + + + IPS29 + Inter-Process Signal 29 + 29 + 1 + + + IPS30 + Inter-Process Signal 30 + 30 + 1 + + + IPS31 + Inter-Process Signal 31 + 31 + 1 + + + + + 64 + 0x1 + SFLAGCLRR%s + Inter-Process Signal Flag Bit n + 0x300 + 8 + + + IPS + Inter-Process Signal n + 0 + 1 + + + + + + + TC0 + 3.0.0 + Basic Timer Counter 0 + TC + TC_ + 0x40003800 + + 0 + 0x40 + registers + + + TC0_INTREQ + 107 + + + + COUNT8 + 8-bit Counter Mode + TcCount8 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT8 Count + 0x14 + 8 + + + COUNT + Counter Value + 0 + 8 + + + + + PER + COUNT8 Period + 0x1B + 8 + 0xFF + + + PER + Period Value + 0 + 8 + + + + + 2 + 0x1 + CC%s + COUNT8 Compare and Capture + 0x1C + 8 + + + CC + Counter/Compare Value + 0 + 8 + + + + + PERBUF + COUNT8 Period Buffer + 0x2F + 8 + 0xFF + + + PERBUF + Period Buffer Value + 0 + 8 + + + + + 2 + 0x1 + CCBUF%s + COUNT8 Compare and Capture Buffer + 0x30 + 8 + + + CCBUF + Counter/Compare Buffer Value + 0 + 8 + + + + + + COUNT16 + 16-bit Counter Mode + COUNT8 + TcCount16 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT16 Count + 0x14 + 16 + + + COUNT + Counter Value + 0 + 16 + + + + + 2 + 0x2 + CC%s + COUNT16 Compare and Capture + 0x1C + 16 + + + CC + Counter/Compare Value + 0 + 16 + + + + + 2 + 0x2 + CCBUF%s + COUNT16 Compare and Capture Buffer + 0x30 + 16 + + + CCBUF + Counter/Compare Buffer Value + 0 + 16 + + + + + + COUNT32 + 32-bit Counter Mode + COUNT8 + TcCount32 + 0x0 + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + write-only + + + ENABLE + Enable + 1 + 1 + + + MODE + Timer Counter Mode + 2 + 2 + + MODESelect + + COUNT16 + Counter in 16-bit mode + 0x0 + + + COUNT8 + Counter in 8-bit mode + 0x1 + + + COUNT32 + Counter in 32-bit mode + 0x2 + + + + + PRESCSYNC + Prescaler and Counter Synchronization + 4 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset the counter on next generic clock + 0x0 + + + PRESC + Reload or reset the counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset the counter on next generic clock and reset the prescaler counter + 0x2 + + + + + RUNSTDBY + Run during Standby + 6 + 1 + + + ONDEMAND + Clock On Demand + 7 + 1 + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + Prescaler: GCLK_TC + 0x0 + + + DIV2 + Prescaler: GCLK_TC/2 + 0x1 + + + DIV4 + Prescaler: GCLK_TC/4 + 0x2 + + + DIV8 + Prescaler: GCLK_TC/8 + 0x3 + + + DIV16 + Prescaler: GCLK_TC/16 + 0x4 + + + DIV64 + Prescaler: GCLK_TC/64 + 0x5 + + + DIV256 + Prescaler: GCLK_TC/256 + 0x6 + + + DIV1024 + Prescaler: GCLK_TC/1024 + 0x7 + + + + + ALOCK + Auto Lock + 11 + 1 + + + CAPTEN0 + Capture Channel 0 Enable + 16 + 1 + + + CAPTEN1 + Capture Channel 1 Enable + 17 + 1 + + + COPEN0 + Capture On Pin 0 Enable + 20 + 1 + + + COPEN1 + Capture On Pin 1 Enable + 21 + 1 + + + CAPTMODE0 + Capture Mode Channel 0 + 24 + 2 + + CAPTMODE0Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + CAPTMODE1 + Capture mode Channel 1 + 27 + 2 + + CAPTMODE1Select + + DEFAULT + Default capture + 0x0 + + + CAPTMIN + Minimum capture + 0x1 + + + CAPTMAX + Maximum capture + 0x2 + + + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot on Counter + 2 + 1 + + + CMD + Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Force a start, restart or retrigger + 0x1 + + + STOP + Force a stop + 0x2 + + + UPDATE + Force update of double-buffered register + 0x3 + + + READSYNC + Force a read synchronization of COUNT + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + EVCTRL + Event Control + 0x06 + 16 + + + EVACT + Event Action + 0 + 3 + + EVACTSelect + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or retrigger TC on event + 0x1 + + + COUNT + Count on event + 0x2 + + + START + Start TC on event + 0x3 + + + STAMP + Time stamp capture + 0x4 + + + PPW + Period catured in CC0, pulse width in CC1 + 0x5 + + + PWP + Period catured in CC1, pulse width in CC0 + 0x6 + + + PW + Pulse width capture + 0x7 + + + + + TCINV + TC Event Input Polarity + 4 + 1 + + + TCEI + TC Event Enable + 5 + 1 + + + OVFEO + Event Output Enable + 8 + 1 + + + MCEO0 + MC Event Output Enable 0 + 12 + 1 + + + MCEO1 + MC Event Output Enable 1 + 13 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + OVF + OVF Interrupt Disable + 0 + 1 + + + ERR + ERR Interrupt Disable + 1 + 1 + + + MC0 + MC Interrupt Disable 0 + 4 + 1 + + + MC1 + MC Interrupt Disable 1 + 5 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + OVF + OVF Interrupt Enable + 0 + 1 + + + ERR + ERR Interrupt Enable + 1 + 1 + + + MC0 + MC Interrupt Enable 0 + 4 + 1 + + + MC1 + MC Interrupt Enable 1 + 5 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + OVF + OVF Interrupt Flag + 0 + 1 + + + ERR + ERR Interrupt Flag + 1 + 1 + + + MC0 + MC Interrupt Flag 0 + 4 + 1 + + + MC1 + MC Interrupt Flag 1 + 5 + 1 + + + + + STATUS + Status + 0x0B + 8 + 0x01 + + + STOP + Stop Status Flag + 0 + 1 + read-only + + + SLAVE + Slave Status Flag + 1 + 1 + read-only + + + PERBUFV + Synchronization Busy Status + 3 + 1 + + + CCBUFV0 + Compare channel buffer 0 valid + 4 + 1 + + + CCBUFV1 + Compare channel buffer 1 valid + 5 + 1 + + + + + WAVE + Waveform Generation Control + 0x0C + 8 + + + WAVEGEN + Waveform Generation Mode + 0 + 2 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + MPWM + Match PWM + 0x3 + + + + + + + DRVCTRL + Control C + 0x0D + 8 + + + INVEN0 + Output Waveform Invert Enable 0 + 0 + 1 + + + INVEN1 + Output Waveform Invert Enable 1 + 1 + 1 + + + + + DBGCTRL + Debug Control + 0x0F + 8 + + + DBGRUN + Run During Debug + 0 + 1 + + + + + SYNCBUSY + Synchronization Status + 0x10 + 32 + read-only + + + SWRST + swrst + 0 + 1 + + + ENABLE + enable + 1 + 1 + + + CTRLB + CTRLB + 2 + 1 + + + STATUS + STATUS + 3 + 1 + + + COUNT + Counter + 4 + 1 + + + PER + Period + 5 + 1 + + + CC0 + Compare Channel 0 + 6 + 1 + + + CC1 + Compare Channel 1 + 7 + 1 + + + + + COUNT + COUNT32 Count + 0x14 + 32 + + + COUNT + Counter Value + 0 + 32 + + + + + 2 + 0x4 + CC%s + COUNT32 Compare and Capture + 0x1C + 32 + + + CC + Counter/Compare Value + 0 + 32 + + + + + 2 + 0x4 + CCBUF%s + COUNT32 Compare and Capture Buffer + 0x30 + 32 + + + CCBUF + Counter/Compare Buffer Value + 0 + 32 + + + + + + + + TC1 + Basic Timer Counter 1 + 0x40003C00 + + TC1_INTREQ + 108 + + + + TC2 + Basic Timer Counter 2 + 0x4101A000 + + TC2_INTREQ + 109 + + + + TC3 + Basic Timer Counter 3 + 0x4101C000 + + TC3_INTREQ + 110 + + + + TC4 + Basic Timer Counter 4 + 0x42001400 + + TC4_INTREQ + 111 + + + + TC5 + Basic Timer Counter 5 + 0x42001800 + + TC5_INTREQ + 112 + + + + TC6 + Basic Timer Counter 6 + 0x43001400 + + TC6_INTREQ + 113 + + + + TC7 + Basic Timer Counter 7 + 0x43001800 + + TC7_INTREQ + 114 + + + + TCC0 + 3.1.0 + Timer Counter Control 0 + TCC + TCC_ + 0x41016000 + + 0 + 0x090 + registers + + + TCC0_INTREQ_0 + 85 + + + TCC0_INTREQ_1 + 86 + + + TCC0_INTREQ_2 + 87 + + + TCC0_INTREQ_3 + 88 + + + TCC0_INTREQ_4 + 89 + + + TCC0_INTREQ_5 + 90 + + + TCC0_INTREQ_6 + 91 + + + + CTRLA + Control A + 0x00 + 32 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RESOLUTION + Enhanced Resolution + 5 + 2 + + RESOLUTIONSelect + + NONE + Dithering is disabled + 0x0 + + + DITH4 + Dithering is done every 16 PWM frames + 0x1 + + + DITH5 + Dithering is done every 32 PWM frames + 0x2 + + + DITH6 + Dithering is done every 64 PWM frames + 0x3 + + + + + PRESCALER + Prescaler + 8 + 3 + + PRESCALERSelect + + DIV1 + No division + 0x0 + + + DIV2 + Divide by 2 + 0x1 + + + DIV4 + Divide by 4 + 0x2 + + + DIV8 + Divide by 8 + 0x3 + + + DIV16 + Divide by 16 + 0x4 + + + DIV64 + Divide by 64 + 0x5 + + + DIV256 + Divide by 256 + 0x6 + + + DIV1024 + Divide by 1024 + 0x7 + + + + + RUNSTDBY + Run in Standby + 11 + 1 + + + PRESCSYNC + Prescaler and Counter Synchronization Selection + 12 + 2 + + PRESCSYNCSelect + + GCLK + Reload or reset counter on next GCLK + 0x0 + + + PRESC + Reload or reset counter on next prescaler clock + 0x1 + + + RESYNC + Reload or reset counter on next GCLK and reset prescaler counter + 0x2 + + + + + ALOCK + Auto Lock + 14 + 1 + + + MSYNC + Master Synchronization (only for TCC Slave Instance) + 15 + 1 + + + DMAOS + DMA One-shot Trigger Mode + 23 + 1 + + + CPTEN0 + Capture Channel 0 Enable + 24 + 1 + + + CPTEN1 + Capture Channel 1 Enable + 25 + 1 + + + CPTEN2 + Capture Channel 2 Enable + 26 + 1 + + + CPTEN3 + Capture Channel 3 Enable + 27 + 1 + + + CPTEN4 + Capture Channel 4 Enable + 28 + 1 + + + CPTEN5 + Capture Channel 5 Enable + 29 + 1 + + + + + CTRLBCLR + Control B Clear + 0x04 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot + 2 + 1 + + + IDXCMD + Ramp Index Command + 3 + 2 + + IDXCMDSelect + + DISABLE + Command disabled: Index toggles between cycles A and B + 0x0 + + + SET + Set index: cycle B will be forced in the next cycle + 0x1 + + + CLEAR + Clear index: cycle A will be forced in the next cycle + 0x2 + + + HOLD + Hold index: the next cycle will be the same as the current cycle + 0x3 + + + + + CMD + TCC Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Clear start, restart or retrigger + 0x1 + + + STOP + Force stop + 0x2 + + + UPDATE + Force update or double buffered registers + 0x3 + + + READSYNC + Force COUNT read synchronization + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + CTRLBSET + Control B Set + 0x05 + 8 + + + DIR + Counter Direction + 0 + 1 + + + LUPD + Lock Update + 1 + 1 + + + ONESHOT + One-Shot + 2 + 1 + + + IDXCMD + Ramp Index Command + 3 + 2 + + IDXCMDSelect + + DISABLE + Command disabled: Index toggles between cycles A and B + 0x0 + + + SET + Set index: cycle B will be forced in the next cycle + 0x1 + + + CLEAR + Clear index: cycle A will be forced in the next cycle + 0x2 + + + HOLD + Hold index: the next cycle will be the same as the current cycle + 0x3 + + + + + CMD + TCC Command + 5 + 3 + + CMDSelect + + NONE + No action + 0x0 + + + RETRIGGER + Clear start, restart or retrigger + 0x1 + + + STOP + Force stop + 0x2 + + + UPDATE + Force update or double buffered registers + 0x3 + + + READSYNC + Force COUNT read synchronization + 0x4 + + + DMAOS + One-shot DMA trigger + 0x5 + + + + + + + SYNCBUSY + Synchronization Busy + 0x08 + 32 + read-only + + + SWRST + Swrst Busy + 0 + 1 + + + ENABLE + Enable Busy + 1 + 1 + + + CTRLB + Ctrlb Busy + 2 + 1 + + + STATUS + Status Busy + 3 + 1 + + + COUNT + Count Busy + 4 + 1 + + + PATT + Pattern Busy + 5 + 1 + + + WAVE + Wave Busy + 6 + 1 + + + PER + Period Busy + 7 + 1 + + + CC0 + Compare Channel 0 Busy + 8 + 1 + + + CC1 + Compare Channel 1 Busy + 9 + 1 + + + CC2 + Compare Channel 2 Busy + 10 + 1 + + + CC3 + Compare Channel 3 Busy + 11 + 1 + + + CC4 + Compare Channel 4 Busy + 12 + 1 + + + CC5 + Compare Channel 5 Busy + 13 + 1 + + + + + FCTRLA + Recoverable Fault A Configuration + 0x0C + 32 + + + SRC + Fault A Source + 0 + 2 + + SRCSelect + + DISABLE + Fault input disabled + 0x0 + + + ENABLE + MCEx (x=0,1) event input + 0x1 + + + INVERT + Inverted MCEx (x=0,1) event input + 0x2 + + + ALTFAULT + Alternate fault (A or B) state at the end of the previous period + 0x3 + + + + + KEEP + Fault A Keeper + 3 + 1 + + + QUAL + Fault A Qualification + 4 + 1 + + + BLANK + Fault A Blanking Mode + 5 + 2 + + BLANKSelect + + START + Blanking applied from start of the ramp + 0x0 + + + RISE + Blanking applied from rising edge of the output waveform + 0x1 + + + FALL + Blanking applied from falling edge of the output waveform + 0x2 + + + BOTH + Blanking applied from each toggle of the output waveform + 0x3 + + + + + RESTART + Fault A Restart + 7 + 1 + + + HALT + Fault A Halt Mode + 8 + 2 + + HALTSelect + + DISABLE + Halt action disabled + 0x0 + + + HW + Hardware halt action + 0x1 + + + SW + Software halt action + 0x2 + + + NR + Non-recoverable fault + 0x3 + + + + + CHSEL + Fault A Capture Channel + 10 + 2 + + CHSELSelect + + CC0 + Capture value stored in channel 0 + 0x0 + + + CC1 + Capture value stored in channel 1 + 0x1 + + + CC2 + Capture value stored in channel 2 + 0x2 + + + CC3 + Capture value stored in channel 3 + 0x3 + + + + + CAPTURE + Fault A Capture Action + 12 + 3 + + CAPTURESelect + + DISABLE + No capture + 0x0 + + + CAPT + Capture on fault + 0x1 + + + CAPTMIN + Minimum capture + 0x2 + + + CAPTMAX + Maximum capture + 0x3 + + + LOCMIN + Minimum local detection + 0x4 + + + LOCMAX + Maximum local detection + 0x5 + + + DERIV0 + Minimum and maximum local detection + 0x6 + + + CAPTMARK + Capture with ramp index as MSB value + 0x7 + + + + + BLANKPRESC + Fault A Blanking Prescaler + 15 + 1 + + + BLANKVAL + Fault A Blanking Time + 16 + 8 + + + FILTERVAL + Fault A Filter Value + 24 + 4 + + + + + FCTRLB + Recoverable Fault B Configuration + 0x10 + 32 + + + SRC + Fault B Source + 0 + 2 + + SRCSelect + + DISABLE + Fault input disabled + 0x0 + + + ENABLE + MCEx (x=0,1) event input + 0x1 + + + INVERT + Inverted MCEx (x=0,1) event input + 0x2 + + + ALTFAULT + Alternate fault (A or B) state at the end of the previous period + 0x3 + + + + + KEEP + Fault B Keeper + 3 + 1 + + + QUAL + Fault B Qualification + 4 + 1 + + + BLANK + Fault B Blanking Mode + 5 + 2 + + BLANKSelect + + START + Blanking applied from start of the ramp + 0x0 + + + RISE + Blanking applied from rising edge of the output waveform + 0x1 + + + FALL + Blanking applied from falling edge of the output waveform + 0x2 + + + BOTH + Blanking applied from each toggle of the output waveform + 0x3 + + + + + RESTART + Fault B Restart + 7 + 1 + + + HALT + Fault B Halt Mode + 8 + 2 + + HALTSelect + + DISABLE + Halt action disabled + 0x0 + + + HW + Hardware halt action + 0x1 + + + SW + Software halt action + 0x2 + + + NR + Non-recoverable fault + 0x3 + + + + + CHSEL + Fault B Capture Channel + 10 + 2 + + CHSELSelect + + CC0 + Capture value stored in channel 0 + 0x0 + + + CC1 + Capture value stored in channel 1 + 0x1 + + + CC2 + Capture value stored in channel 2 + 0x2 + + + CC3 + Capture value stored in channel 3 + 0x3 + + + + + CAPTURE + Fault B Capture Action + 12 + 3 + + CAPTURESelect + + DISABLE + No capture + 0x0 + + + CAPT + Capture on fault + 0x1 + + + CAPTMIN + Minimum capture + 0x2 + + + CAPTMAX + Maximum capture + 0x3 + + + LOCMIN + Minimum local detection + 0x4 + + + LOCMAX + Maximum local detection + 0x5 + + + DERIV0 + Minimum and maximum local detection + 0x6 + + + CAPTMARK + Capture with ramp index as MSB value + 0x7 + + + + + BLANKPRESC + Fault B Blanking Prescaler + 15 + 1 + + + BLANKVAL + Fault B Blanking Time + 16 + 8 + + + FILTERVAL + Fault B Filter Value + 24 + 4 + + + + + WEXCTRL + Waveform Extension Configuration + 0x14 + 32 + + + OTMX + Output Matrix + 0 + 2 + + + DTIEN0 + Dead-time Insertion Generator 0 Enable + 8 + 1 + + + DTIEN1 + Dead-time Insertion Generator 1 Enable + 9 + 1 + + + DTIEN2 + Dead-time Insertion Generator 2 Enable + 10 + 1 + + + DTIEN3 + Dead-time Insertion Generator 3 Enable + 11 + 1 + + + DTLS + Dead-time Low Side Outputs Value + 16 + 8 + + + DTHS + Dead-time High Side Outputs Value + 24 + 8 + + + + + DRVCTRL + Driver Control + 0x18 + 32 + + + NRE0 + Non-Recoverable State 0 Output Enable + 0 + 1 + + + NRE1 + Non-Recoverable State 1 Output Enable + 1 + 1 + + + NRE2 + Non-Recoverable State 2 Output Enable + 2 + 1 + + + NRE3 + Non-Recoverable State 3 Output Enable + 3 + 1 + + + NRE4 + Non-Recoverable State 4 Output Enable + 4 + 1 + + + NRE5 + Non-Recoverable State 5 Output Enable + 5 + 1 + + + NRE6 + Non-Recoverable State 6 Output Enable + 6 + 1 + + + NRE7 + Non-Recoverable State 7 Output Enable + 7 + 1 + + + NRV0 + Non-Recoverable State 0 Output Value + 8 + 1 + + + NRV1 + Non-Recoverable State 1 Output Value + 9 + 1 + + + NRV2 + Non-Recoverable State 2 Output Value + 10 + 1 + + + NRV3 + Non-Recoverable State 3 Output Value + 11 + 1 + + + NRV4 + Non-Recoverable State 4 Output Value + 12 + 1 + + + NRV5 + Non-Recoverable State 5 Output Value + 13 + 1 + + + NRV6 + Non-Recoverable State 6 Output Value + 14 + 1 + + + NRV7 + Non-Recoverable State 7 Output Value + 15 + 1 + + + INVEN0 + Output Waveform 0 Inversion + 16 + 1 + + + INVEN1 + Output Waveform 1 Inversion + 17 + 1 + + + INVEN2 + Output Waveform 2 Inversion + 18 + 1 + + + INVEN3 + Output Waveform 3 Inversion + 19 + 1 + + + INVEN4 + Output Waveform 4 Inversion + 20 + 1 + + + INVEN5 + Output Waveform 5 Inversion + 21 + 1 + + + INVEN6 + Output Waveform 6 Inversion + 22 + 1 + + + INVEN7 + Output Waveform 7 Inversion + 23 + 1 + + + FILTERVAL0 + Non-Recoverable Fault Input 0 Filter Value + 24 + 4 + + + FILTERVAL1 + Non-Recoverable Fault Input 1 Filter Value + 28 + 4 + + + + + DBGCTRL + Debug Control + 0x1E + 8 + + + DBGRUN + Debug Running Mode + 0 + 1 + + + FDDBD + Fault Detection on Debug Break Detection + 2 + 1 + + + + + EVCTRL + Event Control + 0x20 + 32 + + + EVACT0 + Timer/counter Input Event0 Action + 0 + 3 + + EVACT0Select + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Start, restart or re-trigger counter on event + 0x1 + + + COUNTEV + Count on event + 0x2 + + + START + Start counter on event + 0x3 + + + INC + Increment counter on event + 0x4 + + + COUNT + Count on active state of asynchronous event + 0x5 + + + STAMP + Stamp capture + 0x6 + + + FAULT + Non-recoverable fault + 0x7 + + + + + EVACT1 + Timer/counter Input Event1 Action + 3 + 3 + + EVACT1Select + + OFF + Event action disabled + 0x0 + + + RETRIGGER + Re-trigger counter on event + 0x1 + + + DIR + Direction control + 0x2 + + + STOP + Stop counter on event + 0x3 + + + DEC + Decrement counter on event + 0x4 + + + PPW + Period capture value in CC0 register, pulse width capture value in CC1 register + 0x5 + + + PWP + Period capture value in CC1 register, pulse width capture value in CC0 register + 0x6 + + + FAULT + Non-recoverable fault + 0x7 + + + + + CNTSEL + Timer/counter Output Event Mode + 6 + 2 + + CNTSELSelect + + START + An interrupt/event is generated when a new counter cycle starts + 0x0 + + + END + An interrupt/event is generated when a counter cycle ends + 0x1 + + + BETWEEN + An interrupt/event is generated when a counter cycle ends, except for the first and last cycles + 0x2 + + + BOUNDARY + An interrupt/event is generated when a new counter cycle starts or a counter cycle ends + 0x3 + + + + + OVFEO + Overflow/Underflow Output Event Enable + 8 + 1 + + + TRGEO + Retrigger Output Event Enable + 9 + 1 + + + CNTEO + Timer/counter Output Event Enable + 10 + 1 + + + TCINV0 + Inverted Event 0 Input Enable + 12 + 1 + + + TCINV1 + Inverted Event 1 Input Enable + 13 + 1 + + + TCEI0 + Timer/counter Event 0 Input Enable + 14 + 1 + + + TCEI1 + Timer/counter Event 1 Input Enable + 15 + 1 + + + MCEI0 + Match or Capture Channel 0 Event Input Enable + 16 + 1 + + + MCEI1 + Match or Capture Channel 1 Event Input Enable + 17 + 1 + + + MCEI2 + Match or Capture Channel 2 Event Input Enable + 18 + 1 + + + MCEI3 + Match or Capture Channel 3 Event Input Enable + 19 + 1 + + + MCEI4 + Match or Capture Channel 4 Event Input Enable + 20 + 1 + + + MCEI5 + Match or Capture Channel 5 Event Input Enable + 21 + 1 + + + MCEO0 + Match or Capture Channel 0 Event Output Enable + 24 + 1 + + + MCEO1 + Match or Capture Channel 1 Event Output Enable + 25 + 1 + + + MCEO2 + Match or Capture Channel 2 Event Output Enable + 26 + 1 + + + MCEO3 + Match or Capture Channel 3 Event Output Enable + 27 + 1 + + + MCEO4 + Match or Capture Channel 4 Event Output Enable + 28 + 1 + + + MCEO5 + Match or Capture Channel 5 Event Output Enable + 29 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x24 + 32 + + + OVF + Overflow Interrupt Enable + 0 + 1 + + + TRG + Retrigger Interrupt Enable + 1 + 1 + + + CNT + Counter Interrupt Enable + 2 + 1 + + + ERR + Error Interrupt Enable + 3 + 1 + + + UFS + Non-Recoverable Update Fault Interrupt Enable + 10 + 1 + + + DFS + Non-Recoverable Debug Fault Interrupt Enable + 11 + 1 + + + FAULTA + Recoverable Fault A Interrupt Enable + 12 + 1 + + + FAULTB + Recoverable Fault B Interrupt Enable + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 Interrupt Enable + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 Interrupt Enable + 15 + 1 + + + MC0 + Match or Capture Channel 0 Interrupt Enable + 16 + 1 + + + MC1 + Match or Capture Channel 1 Interrupt Enable + 17 + 1 + + + MC2 + Match or Capture Channel 2 Interrupt Enable + 18 + 1 + + + MC3 + Match or Capture Channel 3 Interrupt Enable + 19 + 1 + + + MC4 + Match or Capture Channel 4 Interrupt Enable + 20 + 1 + + + MC5 + Match or Capture Channel 5 Interrupt Enable + 21 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x28 + 32 + + + OVF + Overflow Interrupt Enable + 0 + 1 + + + TRG + Retrigger Interrupt Enable + 1 + 1 + + + CNT + Counter Interrupt Enable + 2 + 1 + + + ERR + Error Interrupt Enable + 3 + 1 + + + UFS + Non-Recoverable Update Fault Interrupt Enable + 10 + 1 + + + DFS + Non-Recoverable Debug Fault Interrupt Enable + 11 + 1 + + + FAULTA + Recoverable Fault A Interrupt Enable + 12 + 1 + + + FAULTB + Recoverable Fault B Interrupt Enable + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 Interrupt Enable + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 Interrupt Enable + 15 + 1 + + + MC0 + Match or Capture Channel 0 Interrupt Enable + 16 + 1 + + + MC1 + Match or Capture Channel 1 Interrupt Enable + 17 + 1 + + + MC2 + Match or Capture Channel 2 Interrupt Enable + 18 + 1 + + + MC3 + Match or Capture Channel 3 Interrupt Enable + 19 + 1 + + + MC4 + Match or Capture Channel 4 Interrupt Enable + 20 + 1 + + + MC5 + Match or Capture Channel 5 Interrupt Enable + 21 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x2C + 32 + + + OVF + Overflow + 0 + 1 + + + TRG + Retrigger + 1 + 1 + + + CNT + Counter + 2 + 1 + + + ERR + Error + 3 + 1 + + + UFS + Non-Recoverable Update Fault + 10 + 1 + + + DFS + Non-Recoverable Debug Fault + 11 + 1 + + + FAULTA + Recoverable Fault A + 12 + 1 + + + FAULTB + Recoverable Fault B + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 + 15 + 1 + + + MC0 + Match or Capture 0 + 16 + 1 + + + MC1 + Match or Capture 1 + 17 + 1 + + + MC2 + Match or Capture 2 + 18 + 1 + + + MC3 + Match or Capture 3 + 19 + 1 + + + MC4 + Match or Capture 4 + 20 + 1 + + + MC5 + Match or Capture 5 + 21 + 1 + + + + + STATUS + Status + 0x30 + 32 + 0x00000001 + + + STOP + Stop + 0 + 1 + read-only + + + IDX + Ramp + 1 + 1 + read-only + + + UFS + Non-recoverable Update Fault State + 2 + 1 + + + DFS + Non-Recoverable Debug Fault State + 3 + 1 + + + SLAVE + Slave + 4 + 1 + read-only + + + PATTBUFV + Pattern Buffer Valid + 5 + 1 + + + PERBUFV + Period Buffer Valid + 7 + 1 + + + FAULTAIN + Recoverable Fault A Input + 8 + 1 + read-only + + + FAULTBIN + Recoverable Fault B Input + 9 + 1 + read-only + + + FAULT0IN + Non-Recoverable Fault0 Input + 10 + 1 + read-only + + + FAULT1IN + Non-Recoverable Fault1 Input + 11 + 1 + read-only + + + FAULTA + Recoverable Fault A State + 12 + 1 + + + FAULTB + Recoverable Fault B State + 13 + 1 + + + FAULT0 + Non-Recoverable Fault 0 State + 14 + 1 + + + FAULT1 + Non-Recoverable Fault 1 State + 15 + 1 + + + CCBUFV0 + Compare Channel 0 Buffer Valid + 16 + 1 + + + CCBUFV1 + Compare Channel 1 Buffer Valid + 17 + 1 + + + CCBUFV2 + Compare Channel 2 Buffer Valid + 18 + 1 + + + CCBUFV3 + Compare Channel 3 Buffer Valid + 19 + 1 + + + CCBUFV4 + Compare Channel 4 Buffer Valid + 20 + 1 + + + CCBUFV5 + Compare Channel 5 Buffer Valid + 21 + 1 + + + CMP0 + Compare Channel 0 Value + 24 + 1 + read-only + + + CMP1 + Compare Channel 1 Value + 25 + 1 + read-only + + + CMP2 + Compare Channel 2 Value + 26 + 1 + read-only + + + CMP3 + Compare Channel 3 Value + 27 + 1 + read-only + + + CMP4 + Compare Channel 4 Value + 28 + 1 + read-only + + + CMP5 + Compare Channel 5 Value + 29 + 1 + read-only + + + + + COUNT + Count + 0x34 + 32 + + + COUNT + Counter Value + 0 + 24 + + + + + COUNT_DITH4 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 4 + 20 + + + + + COUNT_DITH5 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 5 + 19 + + + + + COUNT_DITH6 + Count + COUNT + 0x34 + 32 + + + COUNT + Counter Value + 6 + 18 + + + + + PATT + Pattern + 0x38 + 16 + + + PGE0 + Pattern Generator 0 Output Enable + 0 + 1 + + + PGE1 + Pattern Generator 1 Output Enable + 1 + 1 + + + PGE2 + Pattern Generator 2 Output Enable + 2 + 1 + + + PGE3 + Pattern Generator 3 Output Enable + 3 + 1 + + + PGE4 + Pattern Generator 4 Output Enable + 4 + 1 + + + PGE5 + Pattern Generator 5 Output Enable + 5 + 1 + + + PGE6 + Pattern Generator 6 Output Enable + 6 + 1 + + + PGE7 + Pattern Generator 7 Output Enable + 7 + 1 + + + PGV0 + Pattern Generator 0 Output Value + 8 + 1 + + + PGV1 + Pattern Generator 1 Output Value + 9 + 1 + + + PGV2 + Pattern Generator 2 Output Value + 10 + 1 + + + PGV3 + Pattern Generator 3 Output Value + 11 + 1 + + + PGV4 + Pattern Generator 4 Output Value + 12 + 1 + + + PGV5 + Pattern Generator 5 Output Value + 13 + 1 + + + PGV6 + Pattern Generator 6 Output Value + 14 + 1 + + + PGV7 + Pattern Generator 7 Output Value + 15 + 1 + + + + + WAVE + Waveform Control + 0x3C + 32 + + + WAVEGEN + Waveform Generation + 0 + 3 + + WAVEGENSelect + + NFRQ + Normal frequency + 0x0 + + + MFRQ + Match frequency + 0x1 + + + NPWM + Normal PWM + 0x2 + + + DSCRITICAL + Dual-slope critical + 0x4 + + + DSBOTTOM + Dual-slope with interrupt/event condition when COUNT reaches ZERO + 0x5 + + + DSBOTH + Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP + 0x6 + + + DSTOP + Dual-slope with interrupt/event condition when COUNT reaches TOP + 0x7 + + + + + RAMP + Ramp Mode + 4 + 2 + + RAMPSelect + + RAMP1 + RAMP1 operation + 0x0 + + + RAMP2A + Alternative RAMP2 operation + 0x1 + + + RAMP2 + RAMP2 operation + 0x2 + + + RAMP2C + Critical RAMP2 operation + 0x3 + + + + + CIPEREN + Circular period Enable + 7 + 1 + + + CICCEN0 + Circular Channel 0 Enable + 8 + 1 + + + CICCEN1 + Circular Channel 1 Enable + 9 + 1 + + + CICCEN2 + Circular Channel 2 Enable + 10 + 1 + + + CICCEN3 + Circular Channel 3 Enable + 11 + 1 + + + POL0 + Channel 0 Polarity + 16 + 1 + + + POL1 + Channel 1 Polarity + 17 + 1 + + + POL2 + Channel 2 Polarity + 18 + 1 + + + POL3 + Channel 3 Polarity + 19 + 1 + + + POL4 + Channel 4 Polarity + 20 + 1 + + + POL5 + Channel 5 Polarity + 21 + 1 + + + SWAP0 + Swap DTI Output Pair 0 + 24 + 1 + + + SWAP1 + Swap DTI Output Pair 1 + 25 + 1 + + + SWAP2 + Swap DTI Output Pair 2 + 26 + 1 + + + SWAP3 + Swap DTI Output Pair 3 + 27 + 1 + + + + + PER + Period + 0x40 + 32 + 0xFFFFFFFF + + + PER + Period Value + 0 + 24 + + + + + PER_DITH4 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 4 + + + PER + Period Value + 4 + 20 + + + + + PER_DITH5 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 5 + + + PER + Period Value + 5 + 19 + + + + + PER_DITH6 + Period + PER + 0x40 + 32 + 0xFFFFFFFF + + + DITHER + Dithering Cycle Number + 0 + 6 + + + PER + Period Value + 6 + 18 + + + + + 6 + 0x4 + CC%s + Compare and Capture + 0x44 + 32 + + + CC + Channel Compare/Capture Value + 0 + 24 + + + + + 6 + 0x4 + CC%s_DITH4 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 4 + + + CC + Channel Compare/Capture Value + 4 + 20 + + + + + 6 + 0x4 + CC%s_DITH5 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 5 + + + CC + Channel Compare/Capture Value + 5 + 19 + + + + + 6 + 0x4 + CC%s_DITH6 + Compare and Capture + CC%s + 0x44 + 32 + + + DITHER + Dithering Cycle Number + 0 + 6 + + + CC + Channel Compare/Capture Value + 6 + 18 + + + + + PATTBUF + Pattern Buffer + 0x64 + 16 + + + PGEB0 + Pattern Generator 0 Output Enable Buffer + 0 + 1 + + + PGEB1 + Pattern Generator 1 Output Enable Buffer + 1 + 1 + + + PGEB2 + Pattern Generator 2 Output Enable Buffer + 2 + 1 + + + PGEB3 + Pattern Generator 3 Output Enable Buffer + 3 + 1 + + + PGEB4 + Pattern Generator 4 Output Enable Buffer + 4 + 1 + + + PGEB5 + Pattern Generator 5 Output Enable Buffer + 5 + 1 + + + PGEB6 + Pattern Generator 6 Output Enable Buffer + 6 + 1 + + + PGEB7 + Pattern Generator 7 Output Enable Buffer + 7 + 1 + + + PGVB0 + Pattern Generator 0 Output Enable + 8 + 1 + + + PGVB1 + Pattern Generator 1 Output Enable + 9 + 1 + + + PGVB2 + Pattern Generator 2 Output Enable + 10 + 1 + + + PGVB3 + Pattern Generator 3 Output Enable + 11 + 1 + + + PGVB4 + Pattern Generator 4 Output Enable + 12 + 1 + + + PGVB5 + Pattern Generator 5 Output Enable + 13 + 1 + + + PGVB6 + Pattern Generator 6 Output Enable + 14 + 1 + + + PGVB7 + Pattern Generator 7 Output Enable + 15 + 1 + + + + + PERBUF + Period Buffer + 0x6C + 32 + 0xFFFFFFFF + + + PERBUF + Period Buffer Value + 0 + 24 + + + + + PERBUF_DITH4 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 4 + + + PERBUF + Period Buffer Value + 4 + 20 + + + + + PERBUF_DITH5 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 5 + + + PERBUF + Period Buffer Value + 5 + 19 + + + + + PERBUF_DITH6 + Period Buffer + PERBUF + 0x6C + 32 + 0xFFFFFFFF + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 6 + + + PERBUF + Period Buffer Value + 6 + 18 + + + + + 6 + 0x4 + CCBUF%s + Compare and Capture Buffer + 0x70 + 32 + + + CCBUF + Channel Compare/Capture Buffer Value + 0 + 24 + + + + + 6 + 0x4 + CCBUF%s_DITH4 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + CCBUF + Channel Compare/Capture Buffer Value + 0 + 4 + + + DITHERBUF + Dithering Buffer Cycle Number + 4 + 20 + + + + + 6 + 0x4 + CCBUF%s_DITH5 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 5 + + + CCBUF + Channel Compare/Capture Buffer Value + 5 + 19 + + + + + 6 + 0x4 + CCBUF%s_DITH6 + Compare and Capture Buffer + CCBUF%s + 0x70 + 32 + + + DITHERBUF + Dithering Buffer Cycle Number + 0 + 6 + + + CCBUF + Channel Compare/Capture Buffer Value + 6 + 18 + + + + + + + TCC1 + Timer Counter Control 1 + 0x41018000 + + TCC1_INTREQ_0 + 92 + + + TCC1_INTREQ_1 + 93 + + + TCC1_INTREQ_2 + 94 + + + TCC1_INTREQ_3 + 95 + + + TCC1_INTREQ_4 + 96 + + + + TCC2 + Timer Counter Control 2 + 0x42000C00 + + TCC2_INTREQ_0 + 97 + + + TCC2_INTREQ_1 + 98 + + + TCC2_INTREQ_2 + 99 + + + TCC2_INTREQ_3 + 100 + + + + TCC3 + Timer Counter Control 3 + 0x42001000 + + TCC3_INTREQ_0 + 101 + + + TCC3_INTREQ_1 + 102 + + + TCC3_INTREQ_2 + 103 + + + + TCC4 + Timer Counter Control 4 + 0x43001000 + + TCC4_INTREQ_0 + 104 + + + TCC4_INTREQ_1 + 105 + + + TCC4_INTREQ_2 + 106 + + + + TRNG + 1.1.0 + True Random Generator + TRNG + TRNG_ + 0x42002800 + + 0 + 0x40 + registers + + + TRNG_INTREQ + 131 + + + + CTRLA + Control A + 0x00 + 8 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby + 6 + 1 + + + + + EVCTRL + Event Control + 0x04 + 8 + + + DATARDYEO + Data Ready Event Output + 0 + 1 + + + + + INTENCLR + Interrupt Enable Clear + 0x08 + 8 + + + DATARDY + Data Ready Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x09 + 8 + + + DATARDY + Data Ready Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x0A + 8 + + + DATARDY + Data Ready Interrupt Flag + 0 + 1 + + + + + DATA + Output Data + 0x20 + 32 + read-only + + + DATA + Output Data + 0 + 32 + read-only + + + + + + + USB + 1.2.0 + Universal Serial Bus + USB + USB_ + 0x41000000 + + 0 + 0x400 + registers + + + USB_INTREQ_0 + 80 + + + USB_INTREQ_1 + 81 + + + USB_INTREQ_2 + 82 + + + USB_INTREQ_3 + 83 + + + + DEVICE + USB is Device + UsbDevice + 0x0 + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby Mode + 2 + 1 + + + MODE + Operating Mode + 7 + 1 + + MODESelect + + DEVICE + Device Mode + 0x0 + + + HOST + Host Mode + 0x1 + + + + + + + SYNCBUSY + Synchronization Busy + 0x002 + 8 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + + + QOSCTRL + USB Quality Of Service + 0x003 + 8 + 0x0F + + + CQOS + Configuration Quality of Service + 0 + 2 + + + DQOS + Data Quality of Service + 2 + 2 + + + + + CTRLB + DEVICE Control B + 0x008 + 16 + 0x0001 + + + DETACH + Detach + 0 + 1 + + + UPRSM + Upstream Resume + 1 + 1 + + + SPDCONF + Speed Configuration + 2 + 2 + + SPDCONFSelect + + FS + FS : Full Speed + 0x0 + + + LS + LS : Low Speed + 0x1 + + + HS + HS : High Speed capable + 0x2 + + + HSTM + HSTM: High Speed Test Mode (force high-speed mode for test mode) + 0x3 + + + + + NREPLY + No Reply + 4 + 1 + + + TSTJ + Test mode J + 5 + 1 + + + TSTK + Test mode K + 6 + 1 + + + TSTPCKT + Test packet mode + 7 + 1 + + + OPMODE2 + Specific Operational Mode + 8 + 1 + + + GNAK + Global NAK + 9 + 1 + + + LPMHDSK + Link Power Management Handshake + 10 + 2 + + LPMHDSKSelect + + NO + No handshake. LPM is not supported + 0x0 + + + ACK + ACK + 0x1 + + + NYET + NYET + 0x2 + + + STALL + STALL + 0x3 + + + + + + + DADD + DEVICE Device Address + 0x00A + 8 + + + DADD + Device Address + 0 + 7 + + + ADDEN + Device Address Enable + 7 + 1 + + + + + STATUS + DEVICE Status + 0x00C + 8 + read-only + 0x40 + + + SPEED + Speed Status + 2 + 2 + read-only + + SPEEDSelect + + FS + Full-speed mode + 0x0 + + + LS + Low-speed mode + 0x1 + + + HS + High-speed mode + 0x2 + + + + + LINESTATE + USB Line State Status + 6 + 2 + read-only + + LINESTATESelect + + 0 + SE0/RESET + 0x0 + + + 1 + FS-J or LS-K State + 0x1 + + + 2 + FS-K or LS-J State + 0x2 + + + + + + + FSMSTATUS + Finite State Machine Status + 0x00D + 8 + read-only + 0x01 + + + FSMSTATE + Fine State Machine Status + 0 + 7 + read-only + + FSMSTATESelect + + OFF + OFF (L3). It corresponds to the powered-off, disconnected, and disabled state + 0x1 + + + ON + ON (L0). It corresponds to the Idle and Active states + 0x2 + + + SUSPEND + SUSPEND (L2) + 0x4 + + + SLEEP + SLEEP (L1) + 0x8 + + + DNRESUME + DNRESUME. Down Stream Resume. + 0x10 + + + UPRESUME + UPRESUME. Up Stream Resume. + 0x20 + + + RESET + RESET. USB lines Reset. + 0x40 + + + + + + + FNUM + DEVICE Device Frame Number + 0x010 + 16 + read-only + + + MFNUM + Micro Frame Number + 0 + 3 + read-only + + + FNUM + Frame Number + 3 + 11 + read-only + + + FNCERR + Frame Number CRC Error + 15 + 1 + read-only + + + + + INTENCLR + DEVICE Device Interrupt Enable Clear + 0x014 + 16 + + + SUSPEND + Suspend Interrupt Enable + 0 + 1 + + + MSOF + Micro Start of Frame Interrupt Enable in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame Interrupt Enable + 2 + 1 + + + EORST + End of Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + EORSM + End Of Resume Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + LPMNYET + Link Power Management Not Yet Interrupt Enable + 8 + 1 + + + LPMSUSP + Link Power Management Suspend Interrupt Enable + 9 + 1 + + + + + INTENSET + DEVICE Device Interrupt Enable Set + 0x018 + 16 + + + SUSPEND + Suspend Interrupt Enable + 0 + 1 + + + MSOF + Micro Start of Frame Interrupt Enable in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame Interrupt Enable + 2 + 1 + + + EORST + End of Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + EORSM + End Of Resume Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + LPMNYET + Link Power Management Not Yet Interrupt Enable + 8 + 1 + + + LPMSUSP + Link Power Management Suspend Interrupt Enable + 9 + 1 + + + + + INTFLAG + DEVICE Device Interrupt Flag + 0x01C + 16 + + + SUSPEND + Suspend + 0 + 1 + + + MSOF + Micro Start of Frame in High Speed Mode + 1 + 1 + + + SOF + Start Of Frame + 2 + 1 + + + EORST + End of Reset + 3 + 1 + + + WAKEUP + Wake Up + 4 + 1 + + + EORSM + End Of Resume + 5 + 1 + + + UPRSM + Upstream Resume + 6 + 1 + + + RAMACER + Ram Access + 7 + 1 + + + LPMNYET + Link Power Management Not Yet + 8 + 1 + + + LPMSUSP + Link Power Management Suspend + 9 + 1 + + + + + EPINTSMRY + DEVICE End Point Interrupt Summary + 0x020 + 16 + read-only + + + EPINT0 + End Point 0 Interrupt + 0 + 1 + read-only + + + EPINT1 + End Point 1 Interrupt + 1 + 1 + read-only + + + EPINT2 + End Point 2 Interrupt + 2 + 1 + read-only + + + EPINT3 + End Point 3 Interrupt + 3 + 1 + read-only + + + EPINT4 + End Point 4 Interrupt + 4 + 1 + read-only + + + EPINT5 + End Point 5 Interrupt + 5 + 1 + read-only + + + EPINT6 + End Point 6 Interrupt + 6 + 1 + read-only + + + EPINT7 + End Point 7 Interrupt + 7 + 1 + read-only + + + + + DESCADD + Descriptor Address + 0x024 + 32 + + + DESCADD + Descriptor Address Value + 0 + 32 + + + + + PADCAL + USB PAD Calibration + 0x028 + 16 + + + TRANSP + USB Pad Transp calibration + 0 + 5 + + + TRANSN + USB Pad Transn calibration + 6 + 5 + + + TRIM + USB Pad Trim calibration + 12 + 3 + + + + + 8 + 0x20 + EPCFG%s + DEVICE End Point Configuration + 0x100 + 8 + + + EPTYPE0 + End Point Type0 + 0 + 3 + + + EPTYPE1 + End Point Type1 + 4 + 3 + + + NYETDIS + NYET Token Disable + 7 + 1 + + + + + 8 + 0x20 + EPSTATUSCLR%s + DEVICE End Point Pipe Status Clear + 0x104 + 8 + write-only + + + DTGLOUT + Data Toggle OUT Clear + 0 + 1 + write-only + + + DTGLIN + Data Toggle IN Clear + 1 + 1 + write-only + + + CURBK + Current Bank Clear + 2 + 1 + write-only + + + STALLRQ0 + Stall 0 Request Clear + 4 + 1 + write-only + + + STALLRQ1 + Stall 1 Request Clear + 5 + 1 + write-only + + + BK0RDY + Bank 0 Ready Clear + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Clear + 7 + 1 + write-only + + + + + 8 + 0x20 + EPSTATUSSET%s + DEVICE End Point Pipe Status Set + 0x105 + 8 + write-only + + + DTGLOUT + Data Toggle OUT Set + 0 + 1 + write-only + + + DTGLIN + Data Toggle IN Set + 1 + 1 + write-only + + + CURBK + Current Bank Set + 2 + 1 + write-only + + + STALLRQ0 + Stall 0 Request Set + 4 + 1 + write-only + + + STALLRQ1 + Stall 1 Request Set + 5 + 1 + write-only + + + BK0RDY + Bank 0 Ready Set + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Set + 7 + 1 + write-only + + + + + 8 + 0x20 + EPSTATUS%s + DEVICE End Point Pipe Status + 0x106 + 8 + read-only + + + DTGLOUT + Data Toggle Out + 0 + 1 + read-only + + + DTGLIN + Data Toggle In + 1 + 1 + read-only + + + CURBK + Current Bank + 2 + 1 + read-only + + + STALLRQ0 + Stall 0 Request + 4 + 1 + read-only + + + STALLRQ1 + Stall 1 Request + 5 + 1 + read-only + + + BK0RDY + Bank 0 ready + 6 + 1 + read-only + + + BK1RDY + Bank 1 ready + 7 + 1 + read-only + + + + + 8 + 0x20 + EPINTFLAG%s + DEVICE End Point Interrupt Flag + 0x107 + 8 + + + TRCPT0 + Transfer Complete 0 + 0 + 1 + + + TRCPT1 + Transfer Complete 1 + 1 + 1 + + + TRFAIL0 + Error Flow 0 + 2 + 1 + + + TRFAIL1 + Error Flow 1 + 3 + 1 + + + RXSTP + Received Setup + 4 + 1 + + + STALL0 + Stall 0 In/out + 5 + 1 + + + STALL1 + Stall 1 In/out + 6 + 1 + + + + + 8 + 0x20 + EPINTENCLR%s + DEVICE End Point Interrupt Clear Flag + 0x108 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Disable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Disable + 1 + 1 + + + TRFAIL0 + Error Flow 0 Interrupt Disable + 2 + 1 + + + TRFAIL1 + Error Flow 1 Interrupt Disable + 3 + 1 + + + RXSTP + Received Setup Interrupt Disable + 4 + 1 + + + STALL0 + Stall 0 In/Out Interrupt Disable + 5 + 1 + + + STALL1 + Stall 1 In/Out Interrupt Disable + 6 + 1 + + + + + 8 + 0x20 + EPINTENSET%s + DEVICE End Point Interrupt Set Flag + 0x109 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Enable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Enable + 1 + 1 + + + TRFAIL0 + Error Flow 0 Interrupt Enable + 2 + 1 + + + TRFAIL1 + Error Flow 1 Interrupt Enable + 3 + 1 + + + RXSTP + Received Setup Interrupt Enable + 4 + 1 + + + STALL0 + Stall 0 In/out Interrupt enable + 5 + 1 + + + STALL1 + Stall 1 In/out Interrupt enable + 6 + 1 + + + + + + HOST + USB is Host + DEVICE + UsbHost + 0x0 + + CTRLA + Control A + 0x000 + 8 + + + SWRST + Software Reset + 0 + 1 + + + ENABLE + Enable + 1 + 1 + + + RUNSTDBY + Run in Standby Mode + 2 + 1 + + + MODE + Operating Mode + 7 + 1 + + MODESelect + + DEVICE + Device Mode + 0x0 + + + HOST + Host Mode + 0x1 + + + + + + + SYNCBUSY + Synchronization Busy + 0x002 + 8 + read-only + + + SWRST + Software Reset Synchronization Busy + 0 + 1 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + + + QOSCTRL + USB Quality Of Service + 0x003 + 8 + 0x0F + + + CQOS + Configuration Quality of Service + 0 + 2 + + + DQOS + Data Quality of Service + 2 + 2 + + + + + CTRLB + HOST Control B + 0x008 + 16 + + + RESUME + Send USB Resume + 1 + 1 + + + SPDCONF + Speed Configuration for Host + 2 + 2 + + SPDCONFSelect + + NORMAL + Normal mode: the host starts in full-speed mode and performs a high-speed reset to switch to the high speed mode if the downstream peripheral is high-speed capable. + 0x0 + + + FS + Full-speed: the host remains in full-speed mode whatever is the peripheral speed capability. Relevant in UTMI mode only. + 0x3 + + + + + AUTORESUME + Auto Resume Enable + 4 + 1 + + + TSTJ + Test mode J + 5 + 1 + + + TSTK + Test mode K + 6 + 1 + + + SOFE + Start of Frame Generation Enable + 8 + 1 + + + BUSRESET + Send USB Reset + 9 + 1 + + + VBUSOK + VBUS is OK + 10 + 1 + + + L1RESUME + Send L1 Resume + 11 + 1 + + + + + HSOFC + HOST Host Start Of Frame Control + 0x00A + 8 + + + FLENC + Frame Length Control + 0 + 4 + + + FLENCE + Frame Length Control Enable + 7 + 1 + + + + + STATUS + HOST Status + 0x00C + 8 + + + SPEED + Speed Status + 2 + 2 + + + LINESTATE + USB Line State Status + 6 + 2 + read-only + + + + + FSMSTATUS + Finite State Machine Status + 0x00D + 8 + read-only + 0x01 + + + FSMSTATE + Fine State Machine Status + 0 + 7 + read-only + + FSMSTATESelect + + OFF + OFF (L3). It corresponds to the powered-off, disconnected, and disabled state + 0x1 + + + ON + ON (L0). It corresponds to the Idle and Active states + 0x2 + + + SUSPEND + SUSPEND (L2) + 0x4 + + + SLEEP + SLEEP (L1) + 0x8 + + + DNRESUME + DNRESUME. Down Stream Resume. + 0x10 + + + UPRESUME + UPRESUME. Up Stream Resume. + 0x20 + + + RESET + RESET. USB lines Reset. + 0x40 + + + + + + + FNUM + HOST Host Frame Number + 0x010 + 16 + + + MFNUM + Micro Frame Number + 0 + 3 + + + FNUM + Frame Number + 3 + 11 + + + + + FLENHIGH + HOST Host Frame Length + 0x012 + 8 + read-only + + + FLENHIGH + Frame Length + 0 + 8 + read-only + + + + + INTENCLR + HOST Host Interrupt Enable Clear + 0x014 + 16 + + + HSOF + Host Start Of Frame Interrupt Disable + 2 + 1 + + + RST + BUS Reset Interrupt Disable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Disable + 4 + 1 + + + DNRSM + DownStream to Device Interrupt Disable + 5 + 1 + + + UPRSM + Upstream Resume from Device Interrupt Disable + 6 + 1 + + + RAMACER + Ram Access Interrupt Disable + 7 + 1 + + + DCONN + Device Connection Interrupt Disable + 8 + 1 + + + DDISC + Device Disconnection Interrupt Disable + 9 + 1 + + + + + INTENSET + HOST Host Interrupt Enable Set + 0x018 + 16 + + + HSOF + Host Start Of Frame Interrupt Enable + 2 + 1 + + + RST + Bus Reset Interrupt Enable + 3 + 1 + + + WAKEUP + Wake Up Interrupt Enable + 4 + 1 + + + DNRSM + DownStream to the Device Interrupt Enable + 5 + 1 + + + UPRSM + Upstream Resume fromthe device Interrupt Enable + 6 + 1 + + + RAMACER + Ram Access Interrupt Enable + 7 + 1 + + + DCONN + Link Power Management Interrupt Enable + 8 + 1 + + + DDISC + Device Disconnection Interrupt Enable + 9 + 1 + + + + + INTFLAG + HOST Host Interrupt Flag + 0x01C + 16 + + + HSOF + Host Start Of Frame + 2 + 1 + + + RST + Bus Reset + 3 + 1 + + + WAKEUP + Wake Up + 4 + 1 + + + DNRSM + Downstream + 5 + 1 + + + UPRSM + Upstream Resume from the Device + 6 + 1 + + + RAMACER + Ram Access + 7 + 1 + + + DCONN + Device Connection + 8 + 1 + + + DDISC + Device Disconnection + 9 + 1 + + + + + PINTSMRY + HOST Pipe Interrupt Summary + 0x020 + 16 + read-only + + + EPINT0 + Pipe 0 Interrupt + 0 + 1 + read-only + + + EPINT1 + Pipe 1 Interrupt + 1 + 1 + read-only + + + EPINT2 + Pipe 2 Interrupt + 2 + 1 + read-only + + + EPINT3 + Pipe 3 Interrupt + 3 + 1 + read-only + + + EPINT4 + Pipe 4 Interrupt + 4 + 1 + read-only + + + EPINT5 + Pipe 5 Interrupt + 5 + 1 + read-only + + + EPINT6 + Pipe 6 Interrupt + 6 + 1 + read-only + + + EPINT7 + Pipe 7 Interrupt + 7 + 1 + read-only + + + + + DESCADD + Descriptor Address + 0x024 + 32 + + + DESCADD + Descriptor Address Value + 0 + 32 + + + + + PADCAL + USB PAD Calibration + 0x028 + 16 + + + TRANSP + USB Pad Transp calibration + 0 + 5 + + + TRANSN + USB Pad Transn calibration + 6 + 5 + + + TRIM + USB Pad Trim calibration + 12 + 3 + + + + + 8 + 0x20 + PCFG%s + HOST End Point Configuration + 0x100 + 8 + + + PTOKEN + Pipe Token + 0 + 2 + + + BK + Pipe Bank + 2 + 1 + + + PTYPE + Pipe Type + 3 + 3 + + + + + 8 + 0x20 + BINTERVAL%s + HOST Bus Access Period of Pipe + 0x103 + 8 + + + BITINTERVAL + Bit Interval + 0 + 8 + + + + + 8 + 0x20 + PSTATUSCLR%s + HOST End Point Pipe Status Clear + 0x104 + 8 + write-only + + + DTGL + Data Toggle clear + 0 + 1 + read-only + + + CURBK + Curren Bank clear + 2 + 1 + write-only + + + PFREEZE + Pipe Freeze Clear + 4 + 1 + write-only + + + BK0RDY + Bank 0 Ready Clear + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Clear + 7 + 1 + write-only + + + + + 8 + 0x20 + PSTATUSSET%s + HOST End Point Pipe Status Set + 0x105 + 8 + write-only + + + DTGL + Data Toggle Set + 0 + 1 + write-only + + + CURBK + Current Bank Set + 2 + 1 + write-only + + + PFREEZE + Pipe Freeze Set + 4 + 1 + write-only + + + BK0RDY + Bank 0 Ready Set + 6 + 1 + write-only + + + BK1RDY + Bank 1 Ready Set + 7 + 1 + write-only + + + + + 8 + 0x20 + PSTATUS%s + HOST End Point Pipe Status + 0x106 + 8 + read-only + + + DTGL + Data Toggle + 0 + 1 + read-only + + + CURBK + Current Bank + 2 + 1 + read-only + + + PFREEZE + Pipe Freeze + 4 + 1 + read-only + + + BK0RDY + Bank 0 ready + 6 + 1 + read-only + + + BK1RDY + Bank 1 ready + 7 + 1 + read-only + + + + + 8 + 0x20 + PINTFLAG%s + HOST Pipe Interrupt Flag + 0x107 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Flag + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Flag + 1 + 1 + + + TRFAIL + Error Flow Interrupt Flag + 2 + 1 + + + PERR + Pipe Error Interrupt Flag + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Flag + 4 + 1 + + + STALL + Stall Interrupt Flag + 5 + 1 + + + + + 8 + 0x20 + PINTENCLR%s + HOST Pipe Interrupt Flag Clear + 0x108 + 8 + + + TRCPT0 + Transfer Complete 0 Disable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Disable + 1 + 1 + + + TRFAIL + Error Flow Interrupt Disable + 2 + 1 + + + PERR + Pipe Error Interrupt Disable + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Disable + 4 + 1 + + + STALL + Stall Inetrrupt Disable + 5 + 1 + + + + + 8 + 0x20 + PINTENSET%s + HOST Pipe Interrupt Flag Set + 0x109 + 8 + + + TRCPT0 + Transfer Complete 0 Interrupt Enable + 0 + 1 + + + TRCPT1 + Transfer Complete 1 Interrupt Enable + 1 + 1 + + + TRFAIL + Error Flow Interrupt Enable + 2 + 1 + + + PERR + Pipe Error Interrupt Enable + 3 + 1 + + + TXSTP + Transmit Setup Interrupt Enable + 4 + 1 + + + STALL + Stall Interrupt Enable + 5 + 1 + + + + + + + + WDT + 1.1.0 + Watchdog Timer + WDT + WDT_ + 0x40002000 + + 0 + 0x10 + registers + + + WDT_INTREQ + 10 + + + + CTRLA + Control + 0x0 + 8 + + + ENABLE + Enable + 1 + 1 + + + WEN + Watchdog Timer Window Mode Enable + 2 + 1 + + + ALWAYSON + Always-On + 7 + 1 + + + + + CONFIG + Configuration + 0x1 + 8 + 0xBB + + + PER + Time-Out Period + 0 + 4 + + PERSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + WINDOW + Window Mode Time-Out Period + 4 + 4 + + WINDOWSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + + + EWCTRL + Early Warning Interrupt Control + 0x2 + 8 + 0x0B + + + EWOFFSET + Early Warning Interrupt Time Offset + 0 + 4 + + EWOFFSETSelect + + CYC8 + 8 clock cycles + 0x0 + + + CYC16 + 16 clock cycles + 0x1 + + + CYC32 + 32 clock cycles + 0x2 + + + CYC64 + 64 clock cycles + 0x3 + + + CYC128 + 128 clock cycles + 0x4 + + + CYC256 + 256 clock cycles + 0x5 + + + CYC512 + 512 clock cycles + 0x6 + + + CYC1024 + 1024 clock cycles + 0x7 + + + CYC2048 + 2048 clock cycles + 0x8 + + + CYC4096 + 4096 clock cycles + 0x9 + + + CYC8192 + 8192 clock cycles + 0xa + + + CYC16384 + 16384 clock cycles + 0xb + + + + + + + INTENCLR + Interrupt Enable Clear + 0x4 + 8 + + + EW + Early Warning Interrupt Enable + 0 + 1 + + + + + INTENSET + Interrupt Enable Set + 0x5 + 8 + + + EW + Early Warning Interrupt Enable + 0 + 1 + + + + + INTFLAG + Interrupt Flag Status and Clear + 0x6 + 8 + + + EW + Early Warning + 0 + 1 + + + + + SYNCBUSY + Synchronization Busy + 0x8 + 32 + read-only + + + ENABLE + Enable Synchronization Busy + 1 + 1 + read-only + + + WEN + Window Enable Synchronization Busy + 2 + 1 + read-only + + + ALWAYSON + Always-On Synchronization Busy + 3 + 1 + read-only + + + CLEAR + Clear Synchronization Busy + 4 + 1 + read-only + + + + + CLEAR + Clear + 0xC + 8 + write-only + + + CLEAR + Watchdog Clear + 0 + 8 + write-only + + CLEARSelect + + KEY + Clear Key + 0xa5 + + + + + + + + + diff --git a/lib/same54/templates/library.c b/lib/same54/templates/library.c new file mode 100644 index 00000000..e9780854 --- /dev/null +++ b/lib/same54/templates/library.c @@ -0,0 +1,15 @@ +/* + * $projectname$.c + * + * Created: $date$ + * Author : $user$ + */ + +#include "sam.h" + + +/* Replace with your library code */ +int myfunc(void) +{ + return 0; +} diff --git a/lib/same54/templates/library.cpp b/lib/same54/templates/library.cpp new file mode 100644 index 00000000..ea4a55a2 --- /dev/null +++ b/lib/same54/templates/library.cpp @@ -0,0 +1,15 @@ +/* + * $projectname$.cpp + * + * Created: $date$ + * Author : $user$ + */ + +#include "sam.h" + + +/* Replace with your library code */ +int myfunc(void) +{ + return 0; +} diff --git a/lib/same54/templates/main.c b/lib/same54/templates/main.c new file mode 100644 index 00000000..f718b447 --- /dev/null +++ b/lib/same54/templates/main.c @@ -0,0 +1,21 @@ +/* + * $projectname$.c + * + * Created: $date$ + * Author : $user$ + */ + + +#include "sam.h" + + +int main(void) +{ + /* Initialize the SAM system */ + SystemInit(); + + /* Replace with your application code */ + while (1) + { + } +} diff --git a/lib/same54/templates/main.cpp b/lib/same54/templates/main.cpp new file mode 100644 index 00000000..ce48c3c3 --- /dev/null +++ b/lib/same54/templates/main.cpp @@ -0,0 +1,21 @@ +/* + * $projectname$.cpp + * + * Created: $date$ + * Author : $user$ + */ + + +#include "sam.h" + + +int main(void) +{ + /* Initialize the SAM system */ + SystemInit(); + + /* Replace with your application code */ + while (1) + { + } +} diff --git a/src/startup_samd51.c b/src/startup_samd51.c index 07caca73..190677c8 100644 --- a/src/startup_samd51.c +++ b/src/startup_samd51.c @@ -27,7 +27,7 @@ * */ -#include "samd51.h" +#include "sam.h" /* Initialize segments */ extern uint32_t _sfixed;